在第15届全国大学生智能车竞赛中,有一道比赛项目组别是声音信标。在信标发送的导航信号中包括有声音、无线调频信号两种。在无线调频信号中包括有和发送的声音信号同步的调制信号。为了方便解调出该信号,可以使用集成的调频收音机模块来完成。
在博文“单片调频收音机[4]”介绍了基于RDA5807集成调频收音机模块。并通过该模块来接受声音信号以及无线调频信号的强度信号。
TEA5767模块是同学在公众号留言询问的是否允许使用的调频收音模块,这也是允许使用的。
这两款调频模块模组都可以在购买到体积为小封装表贴模组,相对来讲,RDA5807的价格低一些,外部电路非常简单。T RDA5807模块的外部接口定义可以参见博文“RDA5807 FM收音机模块[5]”,相关实验电路板参见博文“小型化RDA5807调频收音模块实验板”。
TEA5767模块的外部接口见下图所示:
频率范围从76—108MHZ自动数字调谐。高灵敏度,高稳定性,低噪音,收音模块。一片低功耗电调谐调频立体声收音机电路,其内部集成了中频选频和解调网络,可以做到完全免调。
在本文实验中的电路板是已经集成了TEA5767调频专用模组的电路模块。其中集成了音频功放(TDA1308),3.5MM音频接口,可以直接接耳机、功放;天线接口,以及四针100mil的插针接口。因此无需再制作接口电路板,可以直接与单片机相连,完成测试。
模块的接口定义为:
序号 | 符号 | 功能 |
---|---|---|
1 | VCC | 电源 +5V |
2 | SDA | I2C总线的数据线 |
3 | SCL | I2C总线的时钟线 |
4 | GND | 电源地 |
天线可以选择:(根据自己喜好选择 配送的天线)天线可以选择 A (天线拉杆)型 或者 B(30CM导线)型(在 我们实际测试中,B(30CM导线)型 天线效果更好, 不推荐"拉杆型"个人感觉徒有外表。)
该模块的详细资料下载地址为:https://pan.baidu.com/s/17_1JqM5q7qzktZ15Ppcx6g
由于模块需要使用I2C总线完成接收频率设置以及其他的功能。采用STC8G1K08-SOP8单片机作为模块I2C总结接口,同时该单片机通过UART与计算机相连,完成程序的ISP更新与测试数据的传送。
电路的功能包括:
实验电路板如下图所示:
通过快速制版,获得实验电路如下。通过100mil的排针可以方便与TEA5767模块在面包板上连接实验。
对于STC单片机的串口下载电路板,可以参见博文“STC单片机自动下载调试器设计[6]” 。
通过设置TEA5767中的锁相环(PLL)频率来选择调频接收频道。PLL的计算公式如下:
:PLL设置十进制参数,写入TEA5767内部寄存器的数值; :调频电台的频率数值,单位Hz。 :中频频率,在实验模块中,中频频率为225000Hz。 :参考频率,在实验模块中,该频率为32768。
TEA5767通过I2C总线来读取和写入IC中的控制寄存器,寄存器总共有五个字节,其中前面两个是用来设置PLL参数,其它的数据为功能控制。
设置频率子程序如下:
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);
}
其中函数TEA5767WriteByte是将5个字节的数据连续写入TEA5767内部。
在读取TEA5767内部的5个寄存器数值中,在第4个字节的高四位反映了模块接收到的信号的强度。下面函数反映读取TEA5767信号RSSI的过程。
unsigned char TEA5767ReadRSSI(void) {
TEA5767ReadByte(g_ucTEA5767ReadData);
return g_ucTEA5767ReadData[3] >> 4;
}
芯片内部的RSSI数值只有四位,与输入RF强度之间的关系如下图所示。
对照RDA5807模块,其内部的RSSI数值为6bit,相对所获得的精度数值比TEA5767要高,具体可以参见博文“利用 RDA5807的RSSI测量RF强度[7]”。
使用面包板将单片机测试版与TEA5767模块连接起来如下图所示。工作电压为5V。
通过软件设置TEA5767接收频率,频率范围从85.0MHz到108.0MHz,每隔0.1MHz修改频率。读取信号强度数值反映了当地调频广播的分布情况。如下图所示:
读取的实验数据如下:
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]
在实验中,信号板发送的调频频率为95MHz,设置TEA5767接收频率为95MHz,在模块的音频输出便可以观察到有信号板发送的Chirp信号。
下图是将接收到的Chirp信号展开之后对应的波形。该信号耦合到单片机AD转换器输入端,便可以用于和麦克风信号进行相关计算,获得声源延迟信息。
TEA5767本身还有很多其它的辅助功能,比如可以自动搜索调频电台,软件静音控制等。在智能车竞赛中,只是应用了它的调频接收的功能。
TEA5767的信号强度分辨率只有4bit,分辨率比较低。使用该信号来判断距离信标的远近误差太大。相比较而言,RDA5807接收模块的分辨精度则会很高。但是RDA5807的RSSI的信号强度具有很低的带宽,对于信号强度变化有比较大的滞后。
信标的信号: https://zhuoqing.blog.csdn.net/article/details/105575349
[2]声音信标长啥样子?: https://zhuoqing.blog.csdn.net/article/details/105207528
[3]声音信标调试: https://zhuoqing.blog.csdn.net/article/details/105004283
[4]单片调频收音机: https://zhuoqing.blog.csdn.net/article/details/104131905
[5]RDA5807 FM收音机模块: 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单片机自动下载调试器设计: https://zhuoqing.blog.csdn.net/article/details/105543574
[7]利用 RDA5807的RSSI测量RF强度: https://zhuoqing.blog.csdn.net/article/details/104122851