新型MCU实现带DRM的单芯片数字音频解码器
扫描二维码
随时随地手机看文章
传统解决方案
有些厂商试图将计算机的一些组件用于音频或多媒体播放器。尽管这些组件在一台多任务计算机上完成其目标任务时性能优异,但由于任务间切换相对较慢、较难预测且实时性较差,音频工程师在用它们进行设计时面临着一些比较艰巨的挑战。这些系统的缺点在于功耗高,并且需要占用大量CPU速度开销才能保证不中断的回放。此外,集成度也较低,大多数系统中仍需要包括MPU、SDRAM、NAND闪存和音频编解码器在内的3到4块芯片。由于当前的工艺技术不允许在同一裸片上同时实现这些芯片的功能,因此进一步缩减芯片数目前还不大可能。
也有些厂商采用了单片ASIC的方案。因为传统微控制器只能提供解码数字音频内容所需的一部分处理能力,所以往往需要在现有微处理器之外另加一块消费类MP3或类似的解码器。这一方案一直为便携式音频播放器制造商所青睐,因为单IC方案就意味着设计时可以使用更小的电路板。此外,该方案还有低功耗的优点,因而允许使用更小的电池。它之所以能实现低功耗,部分是因为其DSP所需的系统时钟频率较低,而且系统中也无需外部存储器总线。尽管该方案因体积小、功耗低而倍受青睐,但事实证明采用它也要冒很大风险。因为新标准的出现和消费者期望值的飞速变化意味着一个新产品可能在第一款刚准备登上货架之前就可能已经过时。
图1:AT32UC3A3架构框图。
图2:AT32UC3A3架构框图。
理想的音频解码器
显然,理想的方案是联合运用现有的微控制器与一块运算能力在不需定制音频解码器的情况下就足以实现音频内容解码的CPU。这种方案具备单片ASIC方案的所有优点,而且其中没有可能会过时的硬件,因此也能保证搭建的平台在适应让人难以预料的客户需求变化时具备足够的灵活性。
当然,有需求就会有解决方案。Atmel公司最新的32位微控制器AT32UC3A3不但具备了实现该方案所需的性能,还提供了一些非常新颖的DMA方案。这就意味着它能实现一款可达到很高音频品质级别并且可预见性较高的音频解码器。Atmel并为此设计了一套完整的参考设计,该设计在转化为可生产的项目之前只需要很小的改动。
AVR32微控制器的核心是AVR32 CPU内核,其特点是提供了一系列覆盖面较广、往往只在高端CPU和DSP上才有的指令。因为具备这样的高性能,所以它不再需要定制音频解码器硬件,它能以稍高于20MHz的运算能力解码立体声MP3音频流。由于其最高速度可达72MHz,因而其CPU还留有足够的性能裕量来处理AAC和AAC+等“负荷较重”的音频格式。而剩余的性能裕量还可以运行操作系统和完成必须的文件存储和通信功能。
为了适应加密音频格式的回放要求,Atmel在其AT32UC3A3系列中还提供了一种内置256位AES加密单元的款型。该加密单元将大大加快加密数字音频信号的解密速度。但受美国出口限制影响,包含这一AES加密单元的产品将不能作为传统消费类音频器件对国际市场开放。
图3:AVR32内部结构。
高保真回放和文件存储
数字音频信号在解压之后,必须转换为模拟音频才能通过一组扬声器播放出来。AVR32提供了一个Hi-Fi立体声16位DAC用于立体声输出。因此,它只需要一个很小的外部功放来产生线路输出、耳机输出或外部扬声器所需的输出电平。4声道音频播放或全环绕声播放则需要通过微控制器的I2S接口外连一个音频编解码器。
虽然AVR32微控制器中的闪存和SRAM足以存储用户固件、解码音频和缓冲通信数据,但片上存储器的大小并不足以缓冲几秒以上的音频内容。不过AVR32的可选存储器范围很宽,其中三种最受欢迎的就是SD/MMC卡、USB大容量存储器和NAND闪存。AVR32可以任意组合这几种存储器用于存储音频内容。其中,SD卡接口支持高达2GB的高速大容量SD卡;USB主机接口能连接常规USB记忆棒,也可用于接入一个带USB插头的媒体播放器、相机或手机。NAND闪存接口最多可支持两块芯片,而且能提供对单层(SLC)和多层单元(MLC)ECC的硬件支持。对只需要几秒音频缓冲的纯数据流应用而言,片上SRAM已足够大,不需再外接存储器。
高速通信与双端口SRAM
衡量数字音频器件优劣的另一个十分重要的特性是看它能以多快的速度将音乐和其他数字内容通过系统。处理单声道的数字码流只需要200kbit/s甚至更低的带宽,但对于那些具备大容量音频库存储器的应用而言,客户就要求通信速度更快,以便对一个很庞大的音乐库进行快速同步。为此,AVR32系列器件中的AT32UC3A3提供了一个高速USB接口和一个支持WLAN over SDIO的MMC/SD端口。该系列的其他型号,例如AT32UC3A0 和AT32UC3A1,还支持一个全速USB和一个100 Mbit/s的以太网端口。显然,AVR32系列器件在设计时考虑到的并不只是用作主流消费设备,因为它提供了包括传统USART、SPI和I2C在内的很宽的接口选择范围,也提供了足够多的定时器,能够实现直流和步进电机应用。
AVR32微控制器提供了许多高速通信接口,因而单片SRAM的配置很快就会成为系统的瓶颈。考虑到这一情况,Atmel已在AT32UC3A3中增加了不少于4个SRAM模块,其中的两块甚至为了今后能提高通信速度并避免通信冲突而支持双端口访问。这就保证了SRAM带宽永远不会成为系统中限制传输速度的因素。而且最重要的是,这还保证了在系统后台进行高速通信时决不会损害音频播放质量。
AVR32系列微控制器的主干是多层高速总线,它允许CPU和外设通过在多个主器件和从器件之间进行同时访问来实现每个指令周期能共享更多数据。
通过研究这种多层总线的潜力,Atmel的工程师将AT32UC3A3内总容量为128K字节的SRAM分为三块,每一块赋予其独立的与总线相连的存储器接口,从而很轻松地实现了3个能够不等待数据而同时访问SRAM的通信接口。SRAM中有一半属于高速SRAM,内嵌在CPU中,具备双端口访问性能。另一半是低功耗SRAM,这部分SRAM的带宽由CPU和外设共享。最后,该设计的高速USB接口还配备了自己的1.5K字节双端口SRAM,以确保数据包能够完整地传输,而无需承担任何数据被主系统扰乱的风险。另外,AVR32系列的功耗不到2.0mW/MHz,因而只需两块AA电池,就能持续150小时的音频播放。而在只有实时时钟运行的待机模式下,同样的电池可维持9年多的时间。
图4:AT32UC3A3测试板。
图5:AT32UC3A3参考设计。
其他
为了缩短产品上市时间,Atmel提供了两个参考设计。参考设计可以从USB大容量存储设备、SD卡或NAND闪存上读取数据后播放,也可以从PC机上通过USB接口下载音乐流。这些参考设计还包括在收购Quantum Research Group的技术基础上开发的容性触摸方案。Atmel还计划推出一款增加WLAN、蓝牙和zigbee射频连接能力的升级套件。
另外,市场上售出的 iPod和iPhone设备已超过1亿台,而消费者和汽车音频设备制造商也一直在尝试在其现有设备中增加iPod接口。由于苹果公司的接口采用专有协议,因此只有获得了苹果公司这种技术合法许可后才能实现这一功能。Atmel会为该技术的注册用户提供EVK1104和 EVK1105的 iPod对接扩展套件,其中包括了通过USB端口访问和控制iPod 和iPhone所需的固件与源代码。