内容发布更新时间 : 2024/12/22 21:58:20星期一 下面是文章的全部内容请认真阅读。
基于TEA5767模块的数字FM收音机设计
4.3 工作原理:
由于TEA5767收音机模块,必须要由单片机通过控制总线向芯片内的寄存器
写入控制字才能正常工作。而TEA5767收音机模块的控制总线有I2C和3-wire两种。在设计过程中,我们把模块的8脚(MODE)接地,因此,我们采用I2C总线方式。
我们通过往单片机写入相关程序,然后通过I2C总线,实现单片机与TEA5767模块之间的双向转。利用不同的按键操作,实现频率的各种改变。在手动搜索模式下,通过按键的操作,增加(减少)频率值,然后通过I2C总线,传送数组到模块的寄存器中,转化为内PLL值。而在自动搜索模式中,我们通过按键控制模块内部PLL值的增加(减少),然后通过读取模块内部的数组,通过计算,得出频率值,显示在数码管上,以带动蜂鸣器的工作。 4.3.1.串行总线工作模式:
串行总线在传送数据过程中共有三种类型信号,它们分别是:开始信号,结束信号和应答信号。
开始信号:CLOCK为高电平时,DATA由高电平向低电平跳变,开始传送数据; 结束信号:CLOCK为高电平时,DATA由低电平向高电平跳变,结束传送数据; 应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。 4.3.2 串行总线基本操作:
⑴串行规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟 CLOCK 控制总线传输方向,并产生起始条件和停止条件。DATA线上的数据状态仅在CLOCK为低电平的期间才能改变,CLOCK为高电平的期间,DATA状态的改变被用来表示起始和停止条件。
参见下图:
⑵控制字节: 在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符接着三位为片选位,前7位结合起来表示芯片地址位(CS3667 地址固定为
9
基于TEA5767模块的数字FM收音机设计
1100000),最后一位为读写位,当为1时为读操作,为0时为写操作。
如下图所示:
⑶写入模式:
写入多个字节时,收到每个字节后发出一应答信号(一个时钟长度低电平脉冲)。控制器收到应答信号后,根据实际情况作出是否继续传递信号的判断(也就是说是否发出传输停止信号)。若未收到应答信号,由判断为受控单元出现故障。写入模式时,应答信号都由被接收数据IC发出。
⑷读取模式
读取模式时,当IC接受到控制器发送的地址和读操作后产生一低电平脉冲应答信号后,被读IC发送第1字节数据,发送完,等待由控制芯片发出低电平脉冲应答信号,收到后继续发送第2字节数据……,在最后一个字节读操作的第9个周期,为了结束读操作,控制器必须在第9个周期时发出停止条件者在第9
10
基于TEA5767模块的数字FM收音机设计
个始终周期内保持DATA为高电平,然后发出停止条件。 4.3.3数据传送:
数据序列:address,byte1,byte2,byte3,byte4,byte5
address中Bit0(LSB)=0表示对CS3667的写操作,Bit7为每字节的最高位(MSB),做为传输每字节第一位。
每位数据在CLOCK下跳沿产生,一直稳定到CLOCK上升沿后,任何一个字节后发出的停止条件可以缩短传输时间。 当写入数据时,在还没完成所有字节传送之前发出停止条件:
1)还未被写入的字节将保持原值。
2)如果第一个数据字节没有被写完,则已写位被写入值覆盖,但不执行新的锁台信息。
4.3.4、三线总线工作模式:
三线总线通过控制 W/R,CLOCK,DATA 三信号线进行操作。最大工作时钟频率为400kHz。 ⑴数据传送
数据序列:byte1,byte2,byte3,byte4,byte5
写入信号:CLOCK为低电平时,W/R由低电平向高电平跳变,开始写入数据。 读取信号:CLOCK为低电平时,W/R由高电平向低电平跳变,结束读取数据当CLOCK为低电平时,W/R由低电平向高电平跳变,开始写入数据。数据在CLOCK上升沿时必须稳定,数据可以在CLOCK低电平时变化,在紧接着的CLOCK上升沿数据被写入。更换锁台信息,在新锁台数据的前两字节传送完后,或其后字节传完后可以发出传输停止条件。
当CLOCK为低电平时,W/R由高电平向低电平跳变,结束读取数据。伴随着下跳沿,BYTE1的最高位已经被读取到DATA上,被读取数据在每个CLOCK下跳沿产生,在CLOCK上升沿从总线上被读走。
11
基于TEA5767模块的数字FM收音机设计
如果做连续的写入或者读取操作,PIN W/R至少要被触发一个时钟周期。
五.系统软件设计
按照总体设计,收音机的控制器使用STC公司生产的单片机,因为在程序中不需要涉及精确实时操作,所以我们使用C语言进行软件编写,这样可以大大提高程序编写时的效率。
程序主要是单片机主控制程序,通过不同按键的操作,经过单片机的编译、识别,来实现收音机不同功能的操作。
我们设计可调频收音机时采用Keil uvision4来编译程序,再借助于串口线,下载编译完成的
5.1 主程序设计 :
定义按键控制端口:
按键控制端口:P2.0~P2.5 P2.0=1时 P2.1=1时 P2.2=1时 P2.3=1时 P2.4=1时
自动向上搜索频率 自动向下搜索频率 以0.01MHZ的频率增加 以0.01MHZ的频率减少 电平转换 12