广告

如何设计数字调频收音机

2013-08-12 00:00:00 赛普拉斯半导体公司Gautam Das和Udayan Umapathi 阅读:
一款微型插件连接到手机等移动设备后,能为它们带来调频收音机功能。这种即插即用FM接收器可用带微控制器或SOC的FM接收器芯片构建。由总线供电的即插即用FM接收器配件可接收本地FM频道,而其耗电量远低于移动宽带收音机。
我们正在目睹个人计算领域的快速发展。手机和平板电脑等移动设备即将取代传统的电脑。调频收音机(FM Radio)是在发展中国家深受欢迎的一种娱乐方式,但这个事实往往被人们所忽略,外加因特网收音机的出现,可能会导致调频收音机难以继续存在下去。OEM厂商通常不会考虑在平板电脑或移动设备上配备调频收音机。然而,许多大城市现在仍然有FM广播电台,而且近期也不会被淘汰掉。 一款微型插件在连接到手机或平板电脑后,能为这些移动设备带来调频收音机功能。这种即插即用的FM接收器可用带微控制器或SOC(片上系统)的FM接收器芯片构建。微控制器与平板电脑/移动设备上的USB主机进行通信时相当于一个USB器件,能够接收频道扫描、更换频道或设置输出功率等操作的指令。这种由总线供电的即插即用型FM接收器配件可接收本地FM频道,而其耗电量远远低于移动宽带收音机(因特网收音机)。 调频收音机的接收器 调频收音机的接收器芯片工作在70MHz到108MHz之间,能满足全球频段要求,包括欧美的87.5-108MHz,日本的76-90MHz和中国的76-108MHz。一般说来,调频收音机接收器能以50kHz、100kHz或200kHz步进的方式调谐频率。另外,调频收音机还能支持无限的数据系统(RDS)/无线电广播数据系统(RBDS)功能,完全能由主机进行编程。 除了发送音频之外,RDS还用来接收文本信息。这些文本可能包括歌曲名称、广播节目名称以及flash新闻等可供显示的内容。如果发生紧急情况,RDS还可用来发送危急信息。 频道扫描是指调频收音机芯片扫描整个FM频段并寻找可用的无线电频道的过程。收音机将最强的频道频率存储在其内部存储器中,可供主机控制器或SOC读取。 存储频道后,可通过三种方法调谐到特定频道: 预设调谐:这种方法是将FM接收器的调谐频率设为主机定义的特定频道。 搜索调谐:这种方法是指接收器通过频率增加(上搜)或降低(下搜)的方法自动搜索下一个可用的有效频道。 步进调谐:这种方法是指接收器通过频率序号的增加(渐进)或降低(渐降)选择下一个频道。 目前可用的大多数收音机接收器芯片都用I2C和SPI等标准协议与主机进行通信。此外,收音机接收器芯片还会通过生成关键事件中断的方式提醒主机注意,这些事件包括: ● 当接收信号强度指示器(RSSI)的值降到阈值水平以下时,信号质量低 ● 单声道转为立体声(反之亦然) ● 需要RDS同步 ● RDS同步丢失 ● RDS缓冲区已满 由于这种嵌入式系统运行在电池供电的设备上,因此高效电源管理至关重要。收音机接收器芯片支持多种不同电源模式,由SOC控制,以延长电池使用寿命。因此,接收器芯片支持以下电源模式: 关机:在此模式下,电源关闭,所有内部稳压器被禁用。断电:电源打开,但内部稳压器仍被禁用。 待机:稳压器发挥作用,收音机模式保持。 上电:这是正常工作模式,所有稳压器被启用且收音机全面工作。

0Nsednc

第一阶段是模拟信号处理阶段,负责将RF天线信号转换为一个较低的中频(IF)数字信号。自动增益控制(AGC)单元将低噪声放大器(LNA)保持在其线性工作范围内。混频器用于将接收到的RF信号下变频为较低的IF信号。ADC将信号转换为数字格式。在数字域内完成FM解调。此外,数字信号处理器也用于处理RDS数据。

分页导航0Nsednc

第1页:调频收音机的接收器

第2页:调频收音机配件的实施

第3页:主机应用0Nsednc


《电子技术设计》网站版权所有,谢绝转载 {pagination} 调频收音机配件的实施 下图显示了采用通用调频收音机芯片的完整调频系统的简单实施方框图。随着现代可编程SOC的到来,实施完整设计除了一些无源器件外无需额外的外部元件。SOC可以发送指令并通过I2C端口从调频收音机芯片接收状态消息。SOC通过已有的USB接口与平板电脑相连。平板电脑上的前端应用可以访问调频收音机信息,用于进行频道扫描和选择。

0Nsednc

一旦调频收音机接收到锁定特定频率的命令,它会在特定引脚上输出模拟音频。调频收音机接收器的模拟输出由SOC进一步处理,得到的数字音频则通过USB传输到平板电脑。调频收音机芯片的工作电源由USB总线提供。大多数调频收音机芯片所需的电流通常只有几毫安,电压甚至不到1.8V。这完全在USB总线的能力所及以内,而且这种功耗对便携式设备来说完全可以接受。 在SOC中实施收音机配件需要以下资源: ● 放大器 ● 模数转换器(ADC) ● 通讯协议(I2C/SPI) ● USB接口 ● 滤波器模块 一般说来,调频收音机芯片的输出音频信号强度在100mV的水平,放大器用于放大FM接收器的模拟音频信号,随后将信号提供给SOC中的ADC。模拟音频输出的强度在通过可编程增益放大器(PGA)后得到了提高,如方框图所示。这就能确保整个ADC输入范围都能得到利用,而且能在调频收音机芯片输出段真实地复制音频。此外,我们也能采用更小输入范围的ADC对信号进行数字化,不过信号强度越低,就越容易受到系统噪声影响。 模数转换器 模数转换器(ADC)以44.1kHz的频率采样放大器的模拟输出,并将其转换为16位数字值。采样率设为44.1kHz是为了满足Nyquist原理,该原理要求采样频率必须至少为最大工作频率的两倍。 通讯协议 是标准协议,如I2C或SPI,可用于连接SOC和FM接收器。如果使用I2C,则SOC将作为主机,收音机接收器芯片将作为从机,数据速率为100/400kHz。改变频道或扫描FM频带的命令可由I2C主机通过I2C总线发送给FM接收芯片。FM接收器芯片能够解码预定义的命令,从而执行多种任务。如果使用RDS协议,则接收的数字信息可由控制器通过I2C接口从FM接收器读取。我们也能读取其它状态信息(如调频收音机接收器通过I2C接收到的信号强度指示(RSSI)信息),并在平板电脑或PC上显示出来。 直接存储器存取(DMA) 在许多微控制器中,DMA是一种强大的特性,有助于减轻存储器不同位置之间的数据传输任务,从而提高性能。DMA可用来将经过转换的数字信息从ADC传输到存储器或直接传输到USB,从而使CPU处理其他关键任务。 USB 是主机平板电脑与SOC之间的接口。USB中断端点用来接收主机发送的各种指令,如频道扫描、频道加减等。请注意,如果指令数据较小,USB设备上的控制端点也可用来传输指令。我们可以用控制端点来发送指令。指令可作为厂商定义的指令发送;但在控制端点上,一个USB数据包最多包含8个字节的数据内容。ADC获得的44.1kHz数据通过同步USB传输模式发送给主机。同步传输在这里是最理想的传输模式,能通过延迟确保、总线带宽分配并且没有错误校正和信息交换来保持交付时间一致性。请注意,CRC字段可以检测到错误但并不校正。人耳无法听出偶然的数据错误或传输丢失,除非是频繁的中断才会引起注意。由于没有错误校正,因此即便数据包有错误也不会中断数据传输。对于同步端点来说,微控制器支持的最大数据包尺寸为1023字节。 提高音质 在移动操作系统(OS)中,通常采用专用的媒体服务器或媒体引擎来播放音频。如果用户需要,该媒体引擎也可用来增强或修改音频特性。在某些移动处理器中,则有专门的DSP硬件来实现这一目的。 使用媒体引擎或DSP会消耗额外的电量,降低性能,也可能对用户体验造成不利影响。另一种可选的方法是在SOC中处理音频,并通过USB将处理后的音频流发送到主机平板电脑。平板电脑需要做的只是用喇叭播放音频。 利用SPC中的资源还能实现低音、高音等控制功能,为用户带来更精细的音质控制。这一功能可通过赛普拉斯生产的PSoC 3等器件中的数字滤波器模块(DFB)实现。DFB模块接收数字输入数据并输出处理后的数字数据。在本应用中,数据流通过DMA进入DFB,按照音质要求加以过滤,并通过USB发送至终端进行播放。 音频所需的音质可通过图形用户界面(GUI)控制。GUI将提供类似于音乐播放器均衡器的界面。整个音频范围可被分为多个多个分立频段。通过改变GUI上的控件位置,可以向DFB上加载一套新的系数,这些系数将修改每个频带的增益,从而改变输出音质。

分页导航0Nsednc

第1页:调频收音机的接收器

第2页:调频收音机配件的实施

第3页:主机应用0Nsednc


《电子技术设计》网站版权所有,谢绝转载 {pagination} 主机应用 主机运行一个用于控制音频接收器的前端应用。如果主机运行的是Android操作系统,可用标准的Java和Android库创建简单的GUI。如果是Windows平板电脑,简单的C# GUI可完成的同样的工作。用户通过按钮等控制对象能够实现频道选择、加减频道等操作。 Microsoft Windows操作系统的DirectSound驱动程序与USB的同步传输模式配合使用,可将音频流传输到扬声器。该功能在Windows 7操作系统中同样适用。专为平板电脑打造的Windows 8操作系统也支持GUI和音频驱动器,而且无需任何修改。Android平板电脑目前还不支持同步传输。Apple的iPad和少数其他iOS设备具有内置的USB主机和同步传输模式,可用于音频播放。 前端主机应用或Windows Form应用可根据用户的以下请求生成事件: ● 频道扫描请求 ● 频道上调请求 ● 频道下调请求 ● 从接收器请求RSSI 就Windows而言,可用Visual Studio的C#开发应用。USB设备及其端点可用标准库或SOC制造商提供的定制库来进行访问。库提供了通过USB接口访问SOC方法和对象。我们可创建Windows Form来发送指令并显示状态信息,如下所示。

0Nsednc

可添加按钮等控制对象,用来实施频道扫描、下一频道、上一频道和音量控制等不同操作。除此之外,我们还能将数字音频录制为.WAV文件。也可针对Android操作系统和Apple的iOS开发类似的应用。 PSoC 3等现代SOC可通过单芯片的方式实现即插即用型调频收音机配件。模拟音频放大、数字化、滤波、向主机传输音频流以及FM接收器等操作都可实现高效处理。当不工作时,这种由总线供电的设备可以使FM接收器和SOC在待机和断电等低功耗模式下运行,因此它在平板电脑等电池供电的主机中使用时具有很高的能效。 随着平板电脑计算时代的来临,上述微型配件将利用现有计算设备中的已有资源实现巨大的价值。 作者简介 Gautam Das是赛普拉斯半导体公司的应用工程师。他获得RV工程学院工程学士学位。他的爱好包括模拟电路设计和嵌入式系统等。 Udayan Umapathi是赛普拉斯半导体公司的应用工程师。他从RV工程学院获得电子与通讯工程学士学位。他的专长包括电路设计、嵌入式系统设计和微控制器等。

分页导航0Nsednc

第1页:调频收音机的接收器

第2页:调频收音机配件的实施

第3页:主机应用0Nsednc


《电子技术设计》网站版权所有,谢绝转载
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了