用收音模块制作可显示频率的FM收音机相关文件.doc

上传人:laozhun 文档编号:4143391 上传时间:2023-04-07 格式:DOC 页数:7 大小:109KB
返回 下载 相关 举报
用收音模块制作可显示频率的FM收音机相关文件.doc_第1页
第1页 / 共7页
用收音模块制作可显示频率的FM收音机相关文件.doc_第2页
第2页 / 共7页
用收音模块制作可显示频率的FM收音机相关文件.doc_第3页
第3页 / 共7页
用收音模块制作可显示频率的FM收音机相关文件.doc_第4页
第4页 / 共7页
用收音模块制作可显示频率的FM收音机相关文件.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《用收音模块制作可显示频率的FM收音机相关文件.doc》由会员分享,可在线阅读,更多相关《用收音模块制作可显示频率的FM收音机相关文件.doc(7页珍藏版)》请在三一办公上搜索。

1、TEA5767的总线接口和控制寄存器可编程芯片必须要由单片机通过控制总线向芯片内的寄存器写入控制字才能正常工作。TEA5767的控制总线有I2C和3-wire两种,引脚BUSMODE为低时选用I2C总线,引脚BUSMODE为高时选用3-wire总线。这里以I2C总线为例说明控制字的写入和读出。1. TEA5767的I2C总线TEA5767 I2C总线的地址是CO,是可收发的从器件结构,无内部地址。最大低电平是0.2 VCCD,最大高电平是0.45VCCD。向TEA5767 写入数据时,地址的最低位是0,即写地址是C0。读出数据时地址的最低位是1,即读地址是C1。TEA5767的控制寄存器要写入

2、5个字节,每次写入数据时必须严格按照下列顺序进行:地址、字节1、字节2、字节3、字节4、字节5。每个字节的最高位首先发送。在时钟的下降沿后写入的数据生效。上电复位后,设置为静音,所有其它位均被置低,必须写入控制字初始化芯片。表1 I2C写模式开始写地址应答位数据字节应答位停止表2 I2C读模式开始读地址应答位数据字节1TEA5767遵守通用的I2C总线通信协议,写模式和读模式的格式分别见表1和表2。2.写数据TEA5767内部有一个5个字节的控制寄存器,在IC上电复位后必须通过总线接口向其中写入适当的控制字,它才能够正常工作。每个数据字节各位的功能含义见表4到表14。 表3 写模式数据序列数据

3、字节1数据字节2数据字节3数据字节4数据字节5表4数据字节1的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)MUTESMPLL13PLL12PLL11PLL10PLL9PLL8表5数据字节1各位的说明BITSYMBOL说明7MUTE若MUTE=1 左右声道静音;若 MUTE=0 左右声道非静音6SM搜索模式;若SM=1 搜索模式;若 SM=0 非搜索模式5 to 0PLL(13:8)预置或搜索电台的频率数据高6位表6数据字节2的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)PLL7PLL6PLL5PLL4PLL

4、3PLL2PLL1PLL0表7数据字节2各位的说明BITSYMBOL说明7 to 0PLL(7:0)预置或搜索电台的频率数据低8位表8数据字节3的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)SUDSSL1SSL0HLSIMS MLMRSWP1表9数据字节3各位的说明BITSYMBOL说明7SUD上下搜索:若 SUD=1 向上搜索; 若 SUD=0 向下搜索6 and 5SSL1:0搜索停止电平:见表10-114HLSI高低本振:若 HLSI=1 高端本振注入;若 HLSI=0 低端本振注入3MS单声道到立体声:若 MS=1 强制单声道; 若 MS=0

5、 开立体声2ML左静音: 若 ML=1 左声道静音强制单声道;若 ML=0 左声道非静音1MR右静音: 若 MR=1 右声道静音强制单声道;若 MR=0 右声道非静音0SWP1软件可编程输出口1:若 SWP1=1 SWPOR1为高; 若 SWP1=0 SWPOR1为低表10 搜索停止电平设定SSL1SSL0搜索停止电平00不搜索01低电平 ADC output=510中电平ADC output=711高电平ADC output=10表11数据字节4的格式 BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)SWP2STBYBLXTALSMUTEHCCSNCSI表

6、12数据字节4各位的说明BITSYMBOL说明7SWP2软件可编程输出口2:若 SWP2=1 口2为高; 若 SWP2=0口2为低6STBY待机:若 STBY=1 待机模式;若 STBY=0 非待机模式5BL波段制式:若 BL=1 日本FM波段;若 BL=0 美/欧 FM 波段4XTAL若 XTAL=1 fxtal=32.768KHz; 若 XTAL=0 fxtal=13MHz3SMUTE软件静音:若SMUTE=1 软件静音开;若 MUTE=0 软件静音关2HCC高音切割控制:若 HCC=1高音切割开; 若 HCC=0高音切割关1SNC立体声噪声消除: 若 SNC =1立体声噪声消除开; 若

7、SNC=0立体声噪声消除关0SI搜索指示: 若SI=1 引脚SWPORT1 作ready flag输出标志; 若 SI=0 引脚SWOPRT1 作软件可编程输出口表13数据字节5的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)PLLREFDTC-表14数据字节5各位的说明BITSYMBOL说明7PLLREF若 PLLREF=1 则6.5 MHz 参考频率 PLL可用; 若 PLLREF=0 则6.5 MHz参考频率 PLL不可用6DTC若DTC=1 the 去加重时间常数为75s; 若 DTC=0 the 去加重时间常数为50s5 to 0-没有用3.

8、读数据和写数据类似,从TEA5767 读出数据时,也要按照“地址、字节1、字节2、字节3、字节4、字节5”这样的顺序读出,读地址是C1。读出的5个字节的含义见表16到表25中的说明。表15 读模式数据字节1数据字节2数据字节3数据字节4数据字节5表16 字节1的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)RFBLFPLL13PLL12PLL11PLL10PLL9PLL8表17 字节1的说明BITSYMBOL说明7RFReady 标志: 若RF=1 则发现了一个电台或搜索到头;若 RF=0 未找到电台6BLF波段到头标志: 若BLF=1 搜索到头;若

9、BLF=0 未搜索到头5 to 0PLL13:8搜索或预置的电台频率值的高6位(需换算)表18 字节2的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)PLL7PLL6PLL5PLL4PLL3PLL2PLL1PLL0表19 字节2的说明BITSYMBOL说明7 to 0PLL7:0搜索或预置的电台频率值的低8位(需换算)表20 字节3的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)STEREOIF6IF5IF4IF3IF2IF1IF0表21 字节3的说明BITSYMBOL说明7STEREO立体声标志;若 STER

10、EO=1 为立体声;若 STEREO=0 为单声道6 to 0PLL13:8中频计数结果表22 字节4的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)LEV3LEV2LEV1LEV0CI3CI2CI10表23 字节4的说明BITSYMBOL说明7 to 4LEV3:0信号电平ADC 输出3 to 1CI3:1芯片标记; 这些位必须设置为00-该位为 0表24 字节5的格式BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)00000000表25 字节5的说明BITSYMBOL说明7 to 0-供以后备用的字节;设置为0下

11、面是用来计算PLL控制字的C语言程序:static void AssembleFrequencyWord(void) UINT16 twPLL =0; /Dec UINT32 tdwPresetVCO =gdwPresetVCO; /Khz BYTE tbTmp1; BYTE tbTmp2; / calcu1ate frequency dataword bits from given station frequency BCD: if(FlagHighInjection) twPLL =(unsigned int)(float)(tdwPresetVCO+225)*4)/(float)REFE

12、RENCE_FREQ); else twPLL=(unsigned int)(float)(tdwPresetVCO -225)*4)/(float)REFERENCE_FREQ); /convert word to byte f. tbTmp1 =(unsigned char)(twPLL%256); /6789=Hex1A85 -133=Hex85 tbTmp2 =(unsigned char)(twPLL/256); / -26=Hex1A WriteDataWord0=tbTmp2; /high block WriteDataWord1=tbTmp1; 其中频率的单位均为KHz,计算的

13、结果是2字节的二进制数。根据上面的算法,以89.6的陕西经济台为例,它的PLL word为2A9EH,第一个字节的BIT7=0非静音,BIT6=0不搜索,第三个字节的BIT4=0低本振,第四个字节的BIT5=0欧美制式,BIT4=1用32768晶振,其余位的设置无所谓,可任意。各字节值见表2731。表27字节1:0x2ABIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)MUTESMPLL13PLL12PLL11PLL10PLL9PLL800101010非静音非搜索2A表28字节2: 0x9EBIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BI

14、T0(LSB)PLL7PLL6PLL5PLL4PLL3PLL2PLL1PLL0100111109E表29字节3: 0xC0BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)SUDSSL1SSL0HLSIMS MLMRSWP111000000向上搜索搜索停止中电平低本振立体声非静音任意(不用)表30字节4:0x17BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)SWP2STBYBLXTALSMUTEHCCSNCSI00010111任意(不用)非待机欧美32768非软件静音高音切割除噪声SWP1=RF表31字节5: 0x00BI

15、T7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)PLLREFDTC-00000000不用6.5M50s据此给出的控制字是:0x2A,0x9E,0xC0,0x17,0x00,将这个控制字写入TEA5767就可以收到89.6MHz的陕西经济台。下面是写入控制字的汇编程序。;=;Given station frequency is 89600KHz=Hex2A9E;0x2A,0x9E,0xC0,0x17,0x00SET896:MOV MTD, #2AH;设定89600KHzMOV MTD+1,#9EH;2A9EMOV MTD+2,#C0H;MOV MTD+3,#17H

16、;MOV MTD+4,#00HLCALL FM_WTRET;-;TEA5767HN写入FM_WT:MOV SLA,#0C0H;取写器件地址MOV NUMBYT,#5;写字节数LCALL WRNBYT;5个字节写入TEA5767RET;=;IIC总线操作子程序包STAR:SETB SDA;启动IIC总线SETB SCLNOPNOPCLR SDANOPNOPCLR SCLRETSTOP: CLR SDA ;停止IIC总线数据传送SETB SCLNOPNOPSETB SDANOPNOPCLR SDACLR SCLRETMACK: CLR SDA ;发送应答位SETB SCLNOPNOPCLR SCL

17、SETB SDARETMNACK: SETB SDA ;发送非应答位SETB SCLNOPNOPCLR SCLCLR SDARETCACK: SETB SDA ;应答位检查SETB SCLCLR F0MOV C,SDAJNC CENDSETB F0 CEND: CLR SCLRETWRBYT: MOV R0,#08H ;向SDA线上发送1个数据字节WLP: RLC AJC WR1AJMP WR00 WLP1: DJNZ R0,WLPRET WR1: SETB SDASETB SCLNOPNOPCLR SCLCLR SDAAJMP WLP1 WR00: CLR SDASETB SCLNOPNOPCLR SCLAJMP WLP1WRNBYT: MOV R3,NUMBYT ;向IIC总线发送n个字节数据LCALL STARMOV A,SLA;取写器件地址LCALL WRBYT;写入写器件地址LCALL CACKJB F0,WRNBYTMOV R1,#MTD ;写入数据缓存首地址WRDA: MOV A,R1LCALL WRBYTLCALL CACKJB F0,WRNBYTINC R1DJNZ R3,WRDALCALL STOPRET

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号