用收音模块制作可显示频率的FM收音机相关文件.doc_第1页
用收音模块制作可显示频率的FM收音机相关文件.doc_第2页
用收音模块制作可显示频率的FM收音机相关文件.doc_第3页
用收音模块制作可显示频率的FM收音机相关文件.doc_第4页
用收音模块制作可显示频率的FM收音机相关文件.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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的控制寄存器要写入5个字节,每次写入数据时必须严格按照下列顺序进行:地址、字节1、字节2、字节3、字节4、字节5。每个字节的最高位首先发送。在时钟的下降沿后写入的数据生效。上电复位后,设置为静音,所有其它位均被置低,必须写入控制字初始化芯片。表1 i2c写模式开始写地址应答位数据字节应答位停止表2 i2c读模式开始读地址应答位数据字节1tea5767遵守通用的i2c总线通信协议,写模式和读模式的格式分别见表1和表2。2.写数据tea5767内部有一个5个字节的控制寄存器,在ic上电复位后必须通过总线接口向其中写入适当的控制字,它才能够正常工作。每个数据字节各位的功能含义见表4到表14。 表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)pll7pll6pll5pll4pll3pll2pll1pll0表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 开立体声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表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立体声噪声消除开; 若 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.读数据和写数据类似,从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 搜索到头;若 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立体声标志;若 stereo=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下面是用来计算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)reference_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,计算的结果是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)bit6bit5bit4bit3bit2bit1bit0(lsb)pll7pll6pll5pll4pll3pll2pll1pll0100111109e表29字节3: 0xc0bit7(msb)bit6bit5bit4bit3bit2bit1bit0(lsb)sudssl1ssl0hlsims mlmrswp111000000向上搜索搜索停止中电平低本振立体声非静音任意(不用)表30字节4:0x17bit7(msb)bit6bit5bit4bit3bit2bit1bit0(lsb)swp2stbyblxtalsmutehccsncsi00010111任意(不用)非待机欧美32768非软件静音高音切割除噪声swp1=rf表31字节5: 0x00bit7(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;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 sclsetb 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 s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论