MCU实现带DRM的单芯片数字音频解码器

发布者:本人在最新更新时间:2008-12-11 来源: 互联网关键字:MCU  音频解码器 手机看文章 扫描二维码
随时随地手机看文章

 

     近几年,数字音频市场发展非常迅速。独立式音频与多媒体播放器近几年已成为数字音频市场的主流。数以百万计的消费者都在想办法将其便携式播放器与家用音响和车载立体声音响进行最佳连接。这激励着目前的家用和车载音频设备厂商为迎接数字时代的到来而开始准备他们的HiFi系统。为了满足人们对播放器不断提高的要求,市场上也出现了大量芯片或芯片组。但这些进入数字音频市场的芯片往往有很多缺陷,问题就出在合适处理硬件的选择方面。

  传统解决方案

  有些厂商试图将计算机的一些组件用于音频或多媒体播放器。尽管这些组件在一台多任务计算机上完成其目标任务时性能优异,但由于任务间切换相对较慢、较难预测且实时性较差,音频工程师在用它们进行设计时面临着一些比较艰巨的挑战。这些系统的缺点在于功耗高,并且需要占用大量CPU速度开销才能保证不中断的回放。此外,集成度也较低,大多数系统中仍需要包括MPU、SDRAM、NAND闪存和音频编解码器在内的3到4块芯片。由于当前的工艺技术不允许在同一裸片上同时实现这些芯片的功能,因此进一步缩减芯片数目前还不大可能。

  也有些厂商采用了单片ASIC的方案。因为传统微控制器只能提供解码数字音频内容所需的一部分处理能力,所以往往需要在现有微处理器之外另加一块消费类MP3或类似的解码器。这一方案一直为便携式音频播放器制造商所青睐,因为单IC方案就意味着设计时可以使用更小的电路板。此外,该方案还有低功耗的优点,因而允许使用更小的电池。它之所以能实现低功耗,部分是因为其DSP所需的系统时钟频率较低,而且系统中也无需外部存储器总线。尽管该方案因体积小、功耗低而倍受青睐,但事实证明采用它也要冒很大风险。因为新标准的出现和消费者期望值的飞速变化意味着一个新产品可能在第一款刚准备登上货架之前就可能已经过时。

AT32UC3A3架构框图

  图1:AT32UC3A3架构框图。

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加密单元的产品将不能作为传统消费类音频器件对国际市场开放。

AVR32内部结构

  图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年多的时间。

AT32UC3A3测试板

  图4:AT32UC3A3测试板。

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所需的固件与源代码


 

关键字:MCU  音频解码器 引用地址:MCU实现带DRM的单芯片数字音频解码器

上一篇:金融风暴来袭,数字电视如何面对经济危机
下一篇:浅谈机顶盒终端软件技术走向和iPanel3.0软件

推荐阅读最新更新时间:2024-05-03 19:19

单片机智能照明调光系统的研究
  1、引言   随着科学技术的发展,人们对自身生活水平以及生存环境也有了更高的要求。传统的照明系统因其机械单调的照明方式以及有差别区域亮度等缺陷,已无法满足人们的需求。现阶段出现的各种豪华灯饰,其突出的特点仅仅是为了满足装饰空间和环境的需要,而在均匀照明及保护视力方面考虑不足,更谈不上智能化。   针对传统照明存在的缺陷,本文提出一种智能化的照明系统。这种照明系统可通过模式选取,智能化的调节区域内照度,以满足人们对照明的各种不同需求,增加照明模式并可通过对系统程序的编程改变照明模式。具有无阶跃的光亮度调节方式,使照明区域内的光线更趋于人性化和个性化。   2、研究方法分析   传统的照明系统之所以有诸多缺点,是与照明系统本
[单片机]
<font color='red'>单片机</font>智能照明调光系统的研究
Proteus仿真51单片机C语言程序实例-开关控制报警器
简介:51单片机C语言程序实例-开关控制报警器(用K1开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟很逼真的报警效果)。
[单片机]
Proteus仿真51<font color='red'>单片机</font>C语言程序实例-开关控制报警器
单片机在人际语言互动方面的开发利用
(1)设计初衷。语言是人类特有的通信方式,在漫长的人类社会发展过程中发挥着无可比拟的作用。让机器“说话”一直是电子技术 不断努力的方向,语言合成是人机语声通信的一个重要组成部分。近年来,随着大规模集成电路的发展,多种外围电路简单性价比高专用语音处理芯片相继问世,如uM6101、8P101 等。但这些芯片多缺乏“智能”组合合成的能力,有的甚至只能实现简单的语音录放功能,因此,应用范围受到一定的限制。最近一些研发人员利用单片机改造电子闹钟的语音自动报时功能在单片机的智能化应用方面迈出了建设性的步伐。 (2)软件设计原理。波形编码技术在众多语音合成编码方案脱颖而出,让单片机工作在定时计数方式,当单片机接收到需报时(或整点自动报时,或定
[单片机]
51单片机并行I/O口工作原理
51单片机并行I/O口工作原理 在51单片机之外部引脚及总线接口篇 中已经介绍了4组由8各个为一组的通用寄存器 P1: 仅作为双向I/O口 该电路图的功能就是当内部总线输入0或者1时,P1.x可以输出相对应的高电平或者低电平 1、当进行写操作时,以内部总线输入0为例,即D为0,Q为0,Q反为1,则此时V1为高电平,导通,所以VCC与GND相连,无压降,P1.x输出低电平。同理可知内部总线输入1时,P1.x输出高电平,如下图: 2、当进行读操作时,前提是要V1断开,所以要在读操作之前先输出1,然后才能进行读操作 P3: 做为双向I/O口,同时还有第二功能 做为I/O口使用同P1原理相同,不在赘述 当做为第二功能使用时
[单片机]
51<font color='red'>单片机</font>并行I/O口工作原理
AVR单片机的24C02通信程序
#include avr/io.h #define uchar unsigned char #define uint unsigned int #define setbit(sfr,bit) (sfr|=(1 bit)) #define clrbit(sfr,bit) (sfr&=~(1 bit)) #define SDA_out() setbit(DDRD,0) //设置SDA为输出 #define SCL_out() setbit(DDRD,2) //设置SCL为输出 #define SDA_in() clrbit(DDRD,0) //设置SDA为输入 #define SDA_high() setbit(PORTD
[单片机]
单片机与PLC编程的区别
单片机与PLC的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。PLC的很多功能,例如扫描工作方式、定时器功能和中断处理,是操作系统完成的。在画流程图时,应考虑这个问题。 PLC的开关量控制系统的程序用顺序功能图来描述比较简洁。用流程图来描述PLC的用户程序原则上也是可以的,但是应区分哪些功能是操作系统完成的,哪些是用户程序实现的。 例如有人问是否需要用跳转指令来
[单片机]
单片机之STM32 中的 assert_param 函数
我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。 4 断言机制函数assert_param 我们在分析库函数的时候,几乎每一个函数的原型有这个函数assert_param();下面以assert_param(IS_GPIO_ALL_PERIPH(GPIOx));为例说一下我的理解,函数的参数IS_GPIO_ALL_PERIPH(GPIOx),我们可以寻找到原型 #define IS_GPIO_ALL_PERIPH(PERIPH) (((*(uint32_t*)&(PERIPH))
[单片机]
<font color='red'>单片机</font>之STM32 中的 assert_param 函数
51单片机累计定时中断次数实现独立按键
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: Independent-KEY ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200506 ---- @ModifiedTime: 20200506 ----
[单片机]
51<font color='red'>单片机</font>累计定时中断次数实现独立按键
小广播
热门活动
换一批
更多
最新家用电子文章
换一换 更多 相关热搜器件
随便看看

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 电视相关 白色家电 数字家庭 PC互联网 数码影像 维修拆解 综合资讯 其他技术 论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved