在第 15 屆全國大學(xué)生智能車競賽中,有一道比賽項(xiàng)目組別是聲音信標(biāo)。在信標(biāo)發(fā)送的導(dǎo)航信號中包括有聲音、無線調(diào)頻信號兩種。在無線調(diào)頻信號中包括有和發(fā)送的聲音信號同步的調(diào)制信號。為了方便解調(diào)出該信號,可以使用集成的調(diào)頻收音機(jī)模塊來完成。?
在博文“單片調(diào)頻收音機(jī)[4]”介紹了基于 RDA5807 集成調(diào)頻收音機(jī)模塊。并通過該模塊來接受聲音信號以及無線調(diào)頻信號的強(qiáng)度信號。
TEA5767 模塊是同學(xué)在公眾號留言詢問的是否允許使用的調(diào)頻收音模塊,這也是允許使用的。
▲ 兩款調(diào)頻接收模組
?
這兩款調(diào)頻模塊模組都可以在購買到體積為小封裝表貼模組,相對來講,RDA5807 的價(jià)格低一些,外部電路非常簡單。T RDA5807 模塊的外部接口定義可以參見博文“RDA5807 FM 收音機(jī)模塊[5]”,相關(guān)實(shí)驗(yàn)電路板參見博文“小型化 RDA5807 調(diào)頻收音模塊實(shí)驗(yàn)板”。
TEA5767 模塊的外部接口見下圖所示:
▲ TEA5767 模組外部接口定義
▲ TEA5767 模組尺寸
?
模塊簡介
頻率范圍從 76—108MHZ 自動(dòng)數(shù)字調(diào)諧。高靈敏度,高穩(wěn)定性,低噪音,收音模塊。一片低功耗電調(diào)諧調(diào)頻立體聲收音機(jī)電路,其內(nèi)部集成了中頻選頻和解調(diào)網(wǎng)絡(luò),可以做到完全免調(diào)。
在本文實(shí)驗(yàn)中的電路板是已經(jīng)集成了 TEA5767 調(diào)頻專用模組的電路模塊。其中集成了音頻功放(TDA1308),3.5MM 音頻接口,可以直接接耳機(jī)、功放;天線接口,以及四針 100mil 的插針接口。因此無需再制作接口電路板,可以直接與單片機(jī)相連,完成測試。
▲ TEA5767 收音機(jī)模塊
?
模塊的接口定義為:
序號 | 符號 | 功能 |
---|---|---|
1 | VCC | 電源 +5V |
2 | SDA | I2C 總線的數(shù)據(jù)線 |
3 | SCL | I2C 總線的時(shí)鐘線 |
4 | GND | 電源地 |
天線可以選擇:(根據(jù)自己喜好選擇 配送的天線)天線可以選擇 A (天線拉桿)型 ?或者 ?B(30CM 導(dǎo)線)型(在 我們實(shí)際測試中,B(30CM 導(dǎo)線)型 天線效果更好, 不推薦"拉桿型"個(gè)人感覺徒有外表。)
▲ 電路板配套的天線
?
該模塊的詳細(xì)資料下載地址為:https://pan.baidu.com/s/17_1JqM5q7qzktZ15Ppcx6g
實(shí)驗(yàn)電路板
由于模塊需要使用 I2C 總線完成接收頻率設(shè)置以及其他的功能。采用 STC8G1K08-SOP8 單片機(jī)作為模塊 I2C 總結(jié)接口,同時(shí)該單片機(jī)通過 UART 與計(jì)算機(jī)相連,完成程序的 ISP 更新與測試數(shù)據(jù)的傳送。
電路的功能包括:
- 通過 I2C 總線對 TEA5867 模塊進(jìn)行控制;通過 ADC 讀取外部分壓電阻上的電壓,確定在單獨(dú)工作的情況下設(shè)置 TEA5767 的三個(gè)頻率點(diǎn):85MHz,95MHz,110MHz。通過 UART 串口與計(jì)算機(jī)相連。
實(shí)驗(yàn)電路板如下圖所示:
▲ 電路板的原理圖
?
通過快速制版,獲得實(shí)驗(yàn)電路如下。通過 100mil 的排針可以方便與 TEA5767 模塊在面包板上連接實(shí)驗(yàn)。
▲ 電路實(shí)驗(yàn)電路板
對于 STC 單片機(jī)的串口下載電路板,可以參見博文“STC 單片機(jī)自動(dòng)下載調(diào)試器設(shè)計(jì)[6]” 。
實(shí)驗(yàn)程序
1. TEA5767 設(shè)置協(xié)議
通過設(shè)置 TEA5767 中的鎖相環(huán)(PLL)頻率來選擇調(diào)頻接收頻道。PLL 的計(jì)算公式如下:
PLL 設(shè)置十進(jìn)制參數(shù),寫入 TEA5767 內(nèi)部寄存器的數(shù)值;:調(diào)頻電臺的頻率數(shù)值,單位 Hz。:中頻頻率,在實(shí)驗(yàn)?zāi)K中,中頻頻率為 225000Hz。:參考頻率,在實(shí)驗(yàn)?zāi)K中,該頻率為 32768。
2. I2C 總線傳輸數(shù)據(jù)幀
TEA5767 通過 I2C 總線來讀取和寫入 IC 中的控制寄存器,寄存器總共有五個(gè)字節(jié),其中前面兩個(gè)是用來設(shè)置 PLL 參數(shù),其它的數(shù)據(jù)為功能控制。
設(shè)置頻率子程序如下:
void?TEA5767SetFrequency(float?fFrequency)?{
????unsigned?int?nFrequency;
????
????nFrequency?=?(unsigned?int)((fFrequency?*?1000000?+?225000)?/?32768?*?4);
????g_ucTEA5767WriteData0[](unsigned?char?"0")(nFrequency?>>?8);
????g_ucTEA5767WriteData1[](unsigned?char?"1")(nFrequency?&?0xff);
????g_ucTEA5767WriteData[2]?=?0xb0;
????g_ucTEA5767WriteData[3]?=?0x10;
????g_ucTEA5767WriteData[4]?=?0x0;
????
????TEA5767WriteByte(g_ucTEA5767WriteData);????
}
其中函數(shù) TEA5767WriteByte 是將 5 個(gè)字節(jié)的數(shù)據(jù)連續(xù)寫入 TEA5767 內(nèi)部。
在讀取 TEA5767 內(nèi)部的 5 個(gè)寄存器數(shù)值中,在第 4 個(gè)字節(jié)的高四位反映了模塊接收到的信號的強(qiáng)度。下面函數(shù)反映讀取 TEA5767 信號 RSSI 的過程。
unsigned?char?TEA5767ReadRSSI(void)?{
????TEA5767ReadByte(g_ucTEA5767ReadData);
????return?g_ucTEA5767ReadData[3]?>>?4;
}
芯片內(nèi)部的 RSSI 數(shù)值只有四位,與輸入 RF 強(qiáng)度之間的關(guān)系如下圖所示。
▲ RF 強(qiáng)度與芯片強(qiáng)度數(shù)值之間的關(guān)系
對照 RDA5807 模塊,其內(nèi)部的 RSSI 數(shù)值為 6bit,相對所獲得的精度數(shù)值比 TEA5767 要高,具體可以參見博文“利用 RDA5807 的 RSSI 測量 RF 強(qiáng)度[7]”。
測試結(jié)果
1. 實(shí)驗(yàn)系統(tǒng)
使用面包板將單片機(jī)測試版與 TEA5767 模塊連接起來如下圖所示。工作電壓為 5V。
▲ 實(shí)驗(yàn)電路板
?
2. 讀取 TEA5767 信號強(qiáng)度數(shù)值
通過軟件設(shè)置 TEA5767 接收頻率,頻率范圍從 85.0MHz 到 108.0MHz,每隔 0.1MHz 修改頻率。讀取信號強(qiáng)度數(shù)值反映了當(dāng)?shù)卣{(diào)頻廣播的分布情況。如下圖所示:
?
▲ 讀取 TEA5767 無線信號強(qiáng)度數(shù)值
讀取的實(shí)驗(yàn)數(shù)據(jù)如下:
fdim=[85.00,85.10,85.20,85.30,85.40,85.50,85.60,85.70,85.80,85.90,86.00,86.10,86.20,86.30,86.40,86.50,86.60,86.70,86.80,86.90,87.00,87.10,87.20,87.30,87.40,87.50,87.60,87.70,87.80,87.90,88.00,88.10,88.20,88.30,88.40,88.50,88.60,88.70,88.80,88.90,89.00,89.10,89.20,89.30,89.40,89.50,89.60,89.70,89.80,89.90,90.00,90.10,90.20,90.30,90.40,90.50,90.60,90.70,90.80,90.90,91.00,91.10,91.20,91.30,91.40,91.50,91.60,91.70,91.80,91.90,92.00,92.10,92.20,92.30,92.40,92.50,92.60,92.70,92.80,92.90,93.00,93.10,93.20,93.30,93.40,93.50,93.60,93.70,93.80,93.90,94.00,94.10,94.20,94.30,94.40,94.50,94.60,94.70,94.80,94.90,95.00,95.10,95.20,95.30,95.40,95.50,95.60,95.70,95.80,95.90,96.00,96.10,96.20,96.30,96.40,96.50,96.60,96.70,96.80,96.90,97.00,97.10,97.20,97.30,97.40,97.50,97.60,97.70,97.80,97.90,98.00,98.10,98.20,98.30,98.40,98.50,98.60,98.70,98.80,98.90,99.00,99.10,99.20,99.30,99.40,99.50,99.60,99.70,99.80,99.90,100.00,100.10,100.20,100.30,100.40,100.50,100.60,100.70,100.80,100.90,101.00,101.10,101.20,101.30,101.40,101.50,101.60,101.70,101.80,101.90,102.00,102.10,102.20,102.30,102.40,102.50,102.60,102.70,102.80,102.90,103.00,103.10,103.20,103.30,103.40,103.50,103.60,103.70,103.80,103.90,104.00,104.10,104.20,104.30,104.40,104.50,104.60,104.70,104.80,104.90,105.00,105.10,105.20,105.30,105.40,105.50,105.60,105.70,105.80,105.90,106.00,106.10,106.20,106.30,106.40,106.50,106.60,106.70,106.80,106.90,107.00,107.10,107.20,107.30,107.40,107.50,107.60,107.70,107.80,107.90]
leveldim=[4.00,5.00,6.00,5.00,5.00,5.00,5.00,5.00,5.00,6.00,11.00,8.00,6.00,5.00,5.00,6.00,6.00,5.00,4.00,6.00,5.00,5.00,5.00,5.00,5.00,6.00,12.00,6.00,6.00,5.00,5.00,5.00,5.00,8.00,7.00,5.00,6.00,9.00,6.00,6.00,5.00,5.00,5.00,5.00,5.00,5.00,4.00,4.00,4.00,5.00,9.00,5.00,5.00,5.00,5.00,6.00,6.00,5.00,4.00,5.00,9.00,5.00,5.00,5.00,6.00,8.00,6.00,5.00,4.00,4.00,6.00,6.00,6.00,8.00,7.00,6.00,5.00,4.00,5.00,5.00,6.00,6.00,5.00,5.00,5.00,6.00,5.00,5.00,6.00,5.00,6.00,6.00,7.00,6.00,8.00,12.00,14.00,13.00,11.00,7.00,6.00,6.00,5.00,8.00,10.00,8.00,5.00,4.00,6.00,6.00,9.00,12.00,8.00,8.00,5.00,8.00,11.00,8.00,6.00,5.00,6.00,6.00,5.00,7.00,12.00,5.00,6.00,7.00,6.00,7.00,6.00,8.00,10.00,9.00,6.00,6.00,5.00,7.00,7.00,6.00,6.00,6.00,6.00,7.00,6.00,7.00,11.00,7.00,6.00,6.00,10.00,7.00,6.00,6.00,6.00,9.00,13.00,10.00,6.00,6.00,6.00,5.00,6.00,5.00,6.00,5.00,5.00,6.00,7.00,7.00,6.00,7.00,7.00,6.00,11.00,12.00,9.00,6.00,7.00,6.00,6.00,7.00,6.00,6.00,6.00,5.00,6.00,6.00,6.00,11.00,9.00,5.00,5.00,6.00,6.00,6.00,5.00,7.00,6.00,6.00,7.00,6.00,5.00,6.00,7.00,7.00,6.00,6.00,7.00,7.00,6.00,10.00,7.00,7.00,7.00,7.00,8.00,7.00,7.00,7.00,6.00,5.00,10.00,13.00,11.00,8.00,6.00,7.00,7.00,7.00]
3. 接收到 Chirp 信號波形
在實(shí)驗(yàn)中,信號板發(fā)送的調(diào)頻頻率為 95MHz,設(shè)置 TEA5767 接收頻率為 95MHz,在模塊的音頻輸出便可以觀察到有信號板發(fā)送的 Chirp 信號。
?
▲ 通過示波器接觀察接收到的的 Chirp 信號
下圖是將接收到的 Chirp 信號展開之后對應(yīng)的波形。該信號耦合到單片機(jī) AD 轉(zhuǎn)換器輸入端,便可以用于和麥克風(fēng)信號進(jìn)行相關(guān)計(jì)算,獲得聲源延遲信息。
▲ 接收到的 Chirp 信號
?
結(jié)論
TEA5767 本身還有很多其它的輔助功能,比如可以自動(dòng)搜索調(diào)頻電臺,軟件靜音控制等。在智能車競賽中,只是應(yīng)用了它的調(diào)頻接收的功能。
TEA5767 的信號強(qiáng)度分辨率只有 4bit,分辨率比較低。使用該信號來判斷距離信標(biāo)的遠(yuǎn)近誤差太大。相比較而言,RDA5807 接收模塊的分辨精度則會(huì)很高。但是 RDA5807 的 RSSI 的信號強(qiáng)度具有很低的帶寬,對于信號強(qiáng)度變化有比較大的滯后。
參考資料
[1]信標(biāo)的信號: https://zhuoqing.blog.csdn.net/article/details/105575349
[2]聲音信標(biāo)長啥樣子?: https://zhuoqing.blog.csdn.net/article/details/105207528
[3]聲音信標(biāo)調(diào)試: https://zhuoqing.blog.csdn.net/article/details/105004283
[4]單片調(diào)頻收音機(jī): https://zhuoqing.blog.csdn.net/article/details/104131905
[5]RDA5807 FM 收音機(jī)模塊: https://blog.csdn.net/zhuoqingjoking97298/article/details/104116006?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3
[6]STC 單片機(jī)自動(dòng)下載調(diào)試器設(shè)計(jì): https://zhuoqing.blog.csdn.net/article/details/105543574
[7]利用 RDA5807 的 RSSI 測量 RF 強(qiáng)度: https://zhuoqing.blog.csdn.net/article/details/104122851