利用PLL(LM567)做頻率解調(diào)的實(shí)例
條件限定為:一個(gè)MONO的藍(lán)牙音頻模塊,把它做成藍(lán)牙遙控器,而且,控制的時(shí)候還要播放主機(jī)走藍(lán)牙過(guò)來(lái)的聲音。
同時(shí),這個(gè)藍(lán)牙模塊沒(méi)有數(shù)據(jù)片可以走,直接輸出載著直流的音頻差分信號(hào)。
討論的結(jié)果就是,在要播放的聲音里混音進(jìn)人耳聽(tīng)不到的頻率部分,然后在藍(lán)牙音頻模塊輸出端把數(shù)據(jù)解調(diào)出來(lái)。
解調(diào)部分
核心部分就是LM567的解調(diào)端,中心頻率設(shè)定在人耳基本聽(tīng)不到的18.5Khz
核心的部分是音調(diào)檢測(cè),用了一款NS家很老的專(zhuān)門(mén)做音調(diào)檢測(cè)的LM567。
其原理就是利用本地RC震蕩產(chǎn)生一個(gè)頻率,與輸入頻率進(jìn)行鑒頻,8腳是專(zhuān)門(mén)做鑒頻輸出用。
f0的公式電容用uF,電阻用KOmh,頻率為kHz
本文引用地址:http://butianyuan.cn/article/201611/323455.htm算出來(lái)18.5Khz下
Cx=6.8nF
Rx=7.5K
但實(shí)際調(diào)試的時(shí)候RX建議用10K的微調(diào)電阻,因?yàn)槠渌骷赡軙?huì)有誤差
帶寬跟C2和輸入信號(hào)的有效值有關(guān)。
Vi是直接取藍(lán)牙輸出的還沒(méi)過(guò)功放的小信號(hào),振幅很小,所以實(shí)際上電路的帶寬會(huì)很小,這是有利于做頻率辨識(shí)的,以防諧波以及聲音文件里夾雜的各種頻率信號(hào)的干擾。
這里C2用的0.1uF,C3用的10uF。測(cè)量出來(lái)帶寬在500~1kHz左右。
電源用5V,跟后端解碼的單片機(jī)電壓一致。
有18.5Khz輸入的時(shí)候,8腳輸出低電平。
焊好的板子如下~
聲音部分
首先用一個(gè)叫做SweepGen的軟件來(lái)做音頻發(fā)生,用Total Recorder的虛擬聲卡映射把生成的聲音捕捉下來(lái)。
注意SweepGen和Total Recoder默認(rèn)的電平和音量不是0db,記得調(diào)節(jié)到0db的原始聲音狀態(tài)。
在SweepGen里面記得把波形設(shè)置成正弦,因?yàn)?8.5Khz的方波的諧波能聽(tīng)出來(lái)。
編輯聲音妥妥的就得靠Adobe Audition了,cool edit是它的前身。其實(shí)聲音生產(chǎn)也可以用它,只是我沒(méi)找到在哪生成正弦波形。
在Audition里面可以看到,剪輯的聲音頻譜落點(diǎn)很明顯。
解調(diào)部分
因?yàn)椴シ牌髟诓シ诺臅r(shí)候可能會(huì)淡出淡入,以及藍(lán)牙模塊剛開(kāi)始播放的時(shí)候會(huì)開(kāi)啟內(nèi)部codec所以正式的編碼數(shù)據(jù)前要加一段靜音。
經(jīng)過(guò)測(cè)試,18.5Khz的信號(hào)要維持50ms以上,LM567的輸出低電平才跟著18.5Khz的持續(xù)時(shí)間接近,所以一幀數(shù)據(jù)長(zhǎng)度暫時(shí)設(shè)置為50ms。
由于無(wú)輸入的時(shí)候解調(diào)部分輸出為高,所以同步頭用一個(gè)低電平來(lái)做下降沿觸發(fā),在觸發(fā)MCU這邊的中斷后對(duì)IO進(jìn)行采樣,1ms采樣一次,50ms為一個(gè)幀,算上采樣內(nèi)執(zhí)行延時(shí),一幀共采樣32次,超過(guò)16次為低就認(rèn)為是0。
MCU用的是8051核的新塘N79E8132,2塊錢(qián)一顆的單片機(jī)
采樣的代碼段:
for (cntbit=0;cntbit<8;cntbit++)
{
sample=0;
for(samcnt=0;samcnt<32;samcnt++)
{
sample=sample+(P0&0X1); //
Delay1ms(1); //read process
}//
//printf("sample%d = %d ",cntbit,sample);
if(sample <16) //HIGH/LOW LEVEL SET
{
state_t=state_t | (0x1<
}
}
這里的delay是新塘的bsp包里用定時(shí)器標(biāo)志位來(lái)做的,并且用一個(gè)IO反轉(zhuǎn)測(cè)過(guò)執(zhí)行延時(shí)才得出32次循環(huán)50ms的結(jié)果。
RC的頻率是22M。
同步頭設(shè)定為0101,后面四位作為命令位
關(guān)鍵詞:
PLLLM567頻率解
相關(guān)推薦
技術(shù)專(zhuān)區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車(chē)電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論