手持设备中的FM功能设计与实现
本文介绍如何在嵌入式系统中实现调频收音功能,重点阐述FM芯片TEA5760的工作原理、硬软件设计及要点,并给出了测试结果。该方案具有高性能、低成本、体积小、控制方便等优点,适合应用于手机等便携式设备中。 关键词 调频收音 TEA5760 便携式设备 随着手机、PDA、MP3播放器等便携式设备得到广泛应用,将调频收音功能集成到其中也受到了消费者的青眯。本文利用芯片TEA5760设计并实现了集成于手持设备的调频收音功能。
1 TEA5760工作原理 TEA5760收音机芯片,具有高性能、低成本、外围器件少等优点,I2C总线控制简单。TEA5760工作原理框图如图1所示。
图1 TEA5760工作原理框图 低噪放大器的输入阻抗和外接的LC调频信号输入电路组成了一个76~108 MHz的带通滤波器。低噪放大器的增益受自动增益电路AGC控制,AGC的作用是稳定接收信号幅度,抑制邻近电台信号产生的交叉调制部分。放大后的FM信号进入正交混频(IQ_MIXER)与本振信号进行混频,产生中频(IF)信号。与传统超外差式收音机固定中频为 10.7 MHz不同,其固定中频为225 kHz,有助于降低芯片功耗和成本。然后,对中频信号进行放大限幅等信号处理,抑制干扰信号,消除寄生调幅。中频信号经过解调器解调得到立体声调制信号,最后经过静噪处理进行立体声解调,还原出被调制的立体声音频信号输出。其中,本振信号由锁相环(PLL)频率合成数字调频系统产生,CPU通过I2C总线对可编程分频器的分频系统进行调节,使压控振荡器(VCO)输出本振频率变化(150~217 MHz),从而达到数字化调台的目的。
2 硬件设计 2.1 系统简介 系统采用CDMA手机平台,在该平台上实现“Camera+MP3+FM”功能,系统原理框图如图2所示。
图2 系统原理框图 系统基带芯片以ARM7TDMI为控制核心,辅以2个DSP核处理调制解调功能和音频编解码功能。芯片内嵌MP3解码器,通过I2S接口输出解码后数字信号至音频DAC WM8976。WM8976内置输出功率为900 mW外放功放和40 mW耳机功放,可直接驱动手机外部扬声器和耳机。FM部分则通过耳机线作天线,RF信号通过耳机线进入TEA5760,基带芯片通过I2C总线向TEA5760写控制字来实现手动或自动调台,并从TEA5760的状态字读取信息以实现电台存储。输出的R、L音频信号比较微弱,无法直接驱动耳机,通过WM8976的模拟输入通道AUXR、AUXL,可通过对音频DAC的控制,实现该信号切换至扬声器或耳机,实现了对信号的功率放大。同时,因为TEA5760本身不带音量控制功能,而WM8976可调节音量,这样也可实现对FM音频音量进行调节。Camera则由MV3019实现对130万像素图像的JPEG编解码,显示屏为120×160像素260K色TFT LCD,外扩512 Mb NAND Flash则用于对图片和MP3歌曲的存放。电源管理部分PMU负责对整个系统供电的LDO,DC/DC以及锂电池的充电进行管理。 2.2 硬件设计 调频收音部分电路原理图如图3所示。
图3 调频收音部分电路原理图 由系统分析可知,该部分由基带IC、收音芯片TEA5760和音频DAC芯片WM8976组成。射频信号从耳机地线引入,进入LC输入回路组成的76~108 MHz的带通滤波器。其中,电感L2采用高精度、高Q值、低噪声电感(Murata公司的LQW15ANR12J00),从而使输入回路具有良好的选择性和较高的传输系数。图中,耳机地线经过LC并联电路接地,起隔离作用,这样FM信号可以损耗很小地进入芯片。供电由LDO 3.0 V提供,因与系统其他部分共用,在设计中用磁珠隔离。系统时钟由BBIC的CG_CK端输出,即为32.768 kHz,2个10 kΩ分压电阻用于减小输入TEA5760的时钟电压幅度。在本振回路中,电感L1采用高精度、高Q值、低噪声电感(Murata公司的LQW15AN47NJ00)。基带IC通过I2C接口对TEA5760进行控制,GPIO[23]连接BUSEN用于控制总线的使能。由于在设计中使用查询方式,中断线INTX未接。TEA5760 VAFL、VAFR输出的左右声道音频信号,经过隔直电容输入WM8976的模拟通道AUXL、AUXR,最后输出至耳机与扬声器。 由于牵涉到高频电路等特殊性,在设计中尤为注意: ① 电路对整个参考时钟的要求比较高,频偏为±20×10-6,幅度为1.15~1.95 V,否则VCO等部分无法正常工作,从而导致搜台失败。
② 在多层板设计中,调频收音部分电路下方不要走高速线;特别是在VCO电路部分,如果无法回避则需要有地层隔离,避免干扰。
③ 系统设计布局中,尽量远离DC/DC电源等干扰性比较强的电路。在收音工作时,尽量关闭其他工作电源,使对其影响降到最低。
④ 与芯片引脚相连的分立器件尽量靠近引脚,参考时钟到芯片的距离尽量短而粗。
⑤ 耳机旁的隔离电感应该在电路板上紧靠耳机接口放置以增加接收的灵敏度,并且电感的直流阻抗应当尽量小,以降低音频的功率损耗。
3 软件设计 平台采用Nucleus Plus操作系统,调频收音功能的实现主要体现在对TEA5760驱动程序的设计,然后再由应用层来调用。驱动程序主要完成预置NxpFmPreset(void)、自动搜索NxpFmAutosearch(void)以及手动搜索NxpFmHandsearch(void)等几个功能函数的设计。芯片内部带有6字节的控制寄存器和16字节的状态寄存器,基带IC通过I2C总线向TEA5760写控制字来实现手动或自动调台等操作,同时读TEA5760的状态字并实现台存储。 其中自动搜索主要包括搜索频率的设定、信号强度level的读取、中频计数器的读取、有效频道的判别等过程,其工作流程如图4所示。 设定起始频率为Blandlimitlow,取step为100 kHz,根据频率锁相环转换计算公式推出PLL值。
式中: NDEC为PLL十进制数值;FRF为想要调的电台的频率;FIF为中频频率225 kHz;FREFS为参考频率32.768 kHz。然后,通过设置控制寄存器设定信号强度阈值SSL_threshold、Auto向上搜索模式等;等待自动调谐完成标志位FRRF置位,并通过查询位BLF判断是否已频率越界,若在频率范围内则通过读取中频计数器的值来判断是否为有效电台;最后需要对频道进行High/Low InjecTIon的优化选择。手动搜索则相当于自动搜索的一个步进频率的搜索过程。
图4 自动搜索工作流程 在软件设计时需要注意的是: ① 芯片I2C通信协议不支持sub address,当需要读取/更改比较靠后的状态/命令字节时,前面的字节都必须一并读取/写入。
② 在自动搜台中采用比较优化的算法,需要先把信号强度阈值设定为最高,全程搜索并保存;然后,降低信号强度阈值至中等,并且再次全程搜索并保存(同时需要去掉上次已收到的相同电台);最后,降低信号强度阈值至最低,再次重复搜索。
4 测试结果 经过对平台FM功能模块的指标测试,在SNR=26 dB、最大频偏为22.5 kHz条件下,接收灵敏度为1.5 μVemf,立体声隔离度为35 dB,单声道信噪比为55 dB,立体声信噪比为50 dB,工作电流约14 mA。本文采用TEA5760在手机平台上实现了调频收音功能,该方案外围器件少,控制简单,性价比较高,在便携式设备中有一定的推广价值。
|