使用TEA5767和stm32制作一台数字FM收音机 |
您所在的位置:网站首页 › 高端收音机芯片汇总 › 使用TEA5767和stm32制作一台数字FM收音机 |
本节我们来使用stm32控制一款集成收音机芯片TEA5767,来制作一台FM收音机。 TEA5767是一款低功耗立体声收音IC,接收频率76MHz~108MHz(适应日本/美国/欧洲各FM频段选择)并可以使用软件进行静音和消除噪音。 主要电性能指标:工作电压:2.5V~5.0V,工作电流10mA,立体声分离度30dB,信噪比60dB,输出信号电平75mV。支持I2C总线通信、3-wire总线。 1)硬件设计TEA5767芯片外围需要搭配较多的电阻、电容、电感、晶振等器件,而且高频电路的PCB设计是有一定难度的,稍不注意可能会造成很大干扰。 实际设计电路时,我们可以使用如下这种TEA5767的模块,它已经把芯片外围一些必要的器件集成到一个小电路板上了,这样可以省去这部分难度较大的PCB设计,只用关注单片机和模块的接口。 相关的电路图如下所示: 供电直接使用和单片机一致的3.3V,建议串联一个磁珠,以滤除数字电路对收音机芯片的干扰(这个图里没有画); 天线处需要连接较长的导线,否则信号质量会变差(一般在70~80cm,也不严格要求); 模块的输出是L和R两个喇叭,具有左右声道分别输出;由于芯片输出的音量有限,只能接到耳机输出,如果有兴趣,可以在后端增加功率放大器,连接喇叭; 第3引脚接地,选择使用I2C总线进行通信; 模块与stm32的接口只需要连接I2C总线。 2)软件设计TEA5767有5个字节的控制寄存器,通过向寄存器写入控制字,它才能正常工作。这5个控制字中,只有前两个字节中的PLL字段与设置FM频率有关,所以,我们在写入控制字时,可以只修改前两个字节。 依据以下公式计算,将频率转换为PLL: HLSI=1时:(frequencry+225000)*4/32768(HZ) HLSI=0时:(frequencry-225000)*4/32768(HZ) HLSI是第3个控制字中的bit4,用于选择高端/低端本振输入,如果我们固定后面的控制字不改变,则换算PLL值的公式也是固定的。 假如固定选择低端本振输入,我们要把频率设置为107.8MHz,则如下计算: PLL = (107.8*10^6-225000)*4/32768 = 13132 = 0x334B 这样,我们需要写入TEA5767的5个字节为:0x33、0x4B、0xC0、0x17、0x00。具体的解释见下面几个表: 第一字节: BIT7(MSB) BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB) MUTE SM PLL13 PLL12 PLL11 PLL10 PLL9 PLL8 0 0 1 1 0 0 1 1 非静音 非搜索 3 3 第二字节: BIT7(MSB) BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB) PLL7 PLL6 PLL5 PLL4 PLL3 PLL2 PLL1 PLL0 0 1 0 0 1 0 1 1 4 B 第三字节: BIT7(MSB) BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB) SUD SSL1 SSL0 HLSI MS ML MR SWP1 1 1 0 0 0 0 0 0 向上搜索 搜索停止电平 低本振 立体声 非静音 随便 第四字节: BIT7(MSB) BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB) SWP2 STBY BL XTAL SMUTE HCC SNC SI 0 0 0 1 0 1 1 1 不使用 非待机 欧美 32768 非软件静音 高音切割 除噪声 SWP1=RF 第五字节:: BIT7(MSB) BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB) PLLREF DTC - - - - - - 0 0 0 0 0 0 0 0 使用I2C写入时,TEA5767的地址为0xC0,读出时地址为0xC1; 这里我们只需要用到写入,先写地址,再依次写入5个字节的控制字即可,写寄存器write_TEA5767函数实现的代码如下所示: 其中调用的I2C操作的相关函数都是使用的软件模拟I2C,实现如下: Main函数中,我们使用串口来接收数据,调用write_TEA5767函数设置频率: 我们需要修改的只有前两个字节,后面的可以不改变: 程序实现的是,用户通过串口按此格式发送:FM107.58,可以设置收音频率为107.58MHz。 这样,我们的收音机的基本功能就做好了。 3)更加完善的设计要想更加完善地设计出一个收音机,我们还需要考虑增加很多功能。 这里开源一个小白白已经实现的收音机的全套资料,包括原理图、PCB以及软件实现代码,可以关注文末的公众号获取。 原理图如下所示,实现了:锂电池的充电、供电,显示频段、电量,按键调节频率,存储默认频道,音频放大输出等功能。 PCB图如下: 资料目录: 欢迎关注我的微信公众号“小白白学电子”,可留言“资料”获取所有电路、源码和参考资料:
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |