多功能收音机原理与测试说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“多功能收音机”原理与测试说明
1 程序设计目标及程序运行效果说明
程序设计目标:总和以前所学知识,在前一个案例的基础上做一个功能更多的收音机,能够实现手动调台,调音,保存电台以及音量的功能。
程序运行效果说明:本程序具有手动调台,调音,自己设置并保存频道,频道音量调节与保存等功能。
按下导航按键左右键分别表示向减频调台与增频调台并保存当前频道编号,按下导航中键可以讲相应电台的频率与频道号关联并保存到EEPROM中去,按下导航上下键分别以增频道编号、减频道编号的方式收听电台,按下按键2,1可以增大和调小音量并且将当前频道的音量值保存。
2 程序相关电路及工作原理说明
2.1使用到的引脚示意图
图1 FM收音机测试案例使用到的总引脚说明图
2.2 RDA5807P芯片原理
2.2.1 RDA5807P芯片外部封装
图3 RDA5807P芯片封装图
其具体引脚功能可参见相关文档。
2.2.2 RDA5807P芯片的工作模式
RDA5807P芯片提供两种不同的软件控制模式:RDA5807P Mode和TEA5767 Mode。
在TEA5767 Mode下控制接口为I2C;在RDA5807P Mode下控制接口为I2C 和SPI,在PIN7:MODE上设置高低电平来选择。
MODE:0为I2C;MODE:1 为SPI。
当控制接口为I2C 时用CHIP ID来区分工作模式:
TEA5767 MODE CHIP ID = 1100000B;
RDA5807P MODE CHIP ID = 0010000B.
我们现在使用的是RDA5807P模式,因此接下来主要介绍RDA5807P模式,想具体了解TEA5767模式可参考“参考资料”文件夹内的相关文档
2.2.3 RDA5807P模式
2.2.
3.1 I2C接口模式
(1)I2C接口工作原理
将MODE引脚接低电平,即进入I2C接口模式。
RDA5807P的5807P Mode中I2C 接口与I2C-Bus Specification 2.1兼容,包含2个信号:SCLK和SDIO。
I2C接口是由START,命令字节,数据字节,及每个字节后的ACK或NACK比特,和STOP组成。
命令字节包括一个7比特的chip地址(0010000b)和一个读写r/w命令比特。
ACK(或NACK)由接收器发出。
5807P Mode的I2C接口中寄存器的地址是不可见的。
RDA5807P Mode的I2C接口有一个固定的起始寄存器地址(写操作时为02H,读操作时为0AH),并有一个内部递增计数器。
对RDA5807P Mode进行写操作时,MCU写入寄存器的顺序如下:02H的高字节,02H的低字节,03H的高字节,……,直到结束。
RDA5807P Mode在MCU写入每个字节后都会返回一个ACK。
MCU会给出STOP
来结束操作。
对RDA5807P Mode进行读操作时,在MCU给出命令字节后,RDA5807P Mode会送出数据字节,顺序如下:0AH高字节,0AH低字节,0BH高字节,……,直到RDA5807P Mode接收到从MCU发出的NACK,MCU送出STOP,读操作结束。
除了最后一个字节,MCU在读到每个字节后都要给出ACK,在读到最后一个字节后,MCU给出NACK,使RDA5807P Mode把总线交给MCU,然后MCU发出STOP,结束整个操作。
(2)I2C接口模式通信时序图
(3)I2C接口模式通信时隙特点
2 .2.3.2 SPI3线接口
(1)SPI3线接口工作原理
将MODE引脚接高电平,即进入3线接口模式。
每次寄存器写操作要25比特长
度,由高到低依次包括4比特的寄存器高位地址,1比特r/w,4比特的寄存器地位地址和16比特数据(高比特先写)。
RDA5807P Mode在SCLK的上升沿对命令字节和数据字进行采样。
每次寄存器读操作也需要25比特长度,由高到低依次包括4比特的寄存器高位地址,1比特r/w,4比特寄存器低位地址和16比特数据(高比特先读)。
在MCU写入命令字节和从RDA5807P Mode开始读出数据之间有半个SCLK的间隙。
RDA5807P Mode在SCLK的上升沿对命令字节进行采样,也在SCLK的上升沿向MCU输出数据。
(2)SPI3线接口模式通信时序图
(3)SPI3线接口模式通信时隙特点
2.2.
3.4 相关寄存器功能说明(02H~05H为写寄存器,0A,0BH为读寄存器)
2.3 按键电路模块
图12 按键电路原理图
功能键工作:通过A/D获取键值并进行判断,以区别“左”、“右”、键。
监听到“左”键:手动搜索电台(减);监听到“右”键:手动搜索电台(加)。
2.4 数码管电路模块
图13 数码管电路原理图
在本程序中使用了第1、2号数码管显示音量,第5、6、7号数码管来显示电台频率。
2.5 I2C模块
该模块原理请参考“非易失性存储器”案例。
3测试方式
(1)用STC ISP,打开工程中的HEX并下载。
(2)下载后观察自动读取保存好的频道,并播放。
(3)按下按键key2(音量加),key1(音量减)调节音量大小并保存当前频道音量。
调节导航按键的上下键选择已经保存的列表中的电台,分别表示上下切换频道。
(4)调节导航按键的左右键可以手动调节频率,加或者减,调到想要的频率电台后,按下导航键的确认键(往里按),将该频率保存到显示的列表序号中。
、(5)整个过程中数码管1显示台号,数码管3,4显示音量,数码管6,7,8显示电台频
率。