基于TMS320VC5509实现MP3解码

发布者:lxy64420245最新更新时间:2012-10-12 来源: 21ic 关键字:TMS320VC5509  MP3  解码 手机看文章 扫描二维码
随时随地手机看文章

TMS320VC5509(以下简称C5509)是TI公司C5000 DSP 系列中的新一代产品,该芯片最低工作电压为0.9V,其核的最低功耗仅为0.05MW/MIPS,性能最高可达800 MIPS。C5509为嵌入式DSP应用及高性能仪器仪表、智能机器人、手持设备、数字音频播放器和数码相机等应用提供了有效的解决方案。MP3是指MPEG(活动图像专家组)国际标准音频第三层编/解码,MP3编码是通过将音频信号由时域信号转换为频域信号,并根据人类心理声学特征去除部分冗余信息实现的,ISO/IEC11172-3 Part 3给出了详细的编/解码标准。解码涉及霍夫曼解码、修正余弦反变换(IMDCT)、子带合成等复杂运算模块。本文利用C5509实现对MP3的解码运算。

1 C5509 DSP 处理器的特点和工作原理

1.1 C5509 DSP的性能概述

C5509有32×16bit指令缓冲队列,可实现高效的块循环操作;两个17×17bit的MAC单元,可在单周期内执行两次MAC操作;1个40bit的ALU、1个40bit的桶型移位器,4个40bit的累加器可执行比C54系列DSP更高效的算术运算,在400MHz的晶振驱动下,可达到800MIPS的性能。以44.1kHz采样率的MP3数据流为例,对128kbit/s数据率的MP3数据进行解码。霍夫曼解码、IMDCT、子带合成等运算模块共需消耗1.3MIPS的CPU资源,对于平均每秒必须解码44.6帧数据来讲,总运算量为44.6×1.3=57.98MIPS,C5509完全可以满足此速度要求。

C5509还具有128K×16bit的片上RAM,其中包括64KB的DARAM、192KB的SARAM和64KB的片上ROM。

与众多TMS320系列DSP处理器一样,C5509采用了哈佛结构,共有12组独立总线,其中包括3组数据读总线、2组数据写总线、5组数据地址总线、1组程序读总线和1组程序地址总线,这些总线并行地为各个计算单元提供指令和操作码,从而为高速的数据运算提供了有力的保障。

1.2 C5509 DSP的外设介绍

C5509提供了专用的外部存储器接口(EMIF),用于控制DSP与外部存储器之间所有数据的传输。可与EMIF无缝链接的存储器有:异步存储器(ROM、FLASH、 SRAM)、同步突发SRAM、同步DRAM(SDRAM),并可支持可选的32、16、8位数据访问。对EMIF编程时,必须根据实际的外部存储器考虑如何分配片内使能空间(CE)。通过EMIF接口,主处理器可将数据和程序置于片外,从而节省了片上硬件资源。

其次,C5509有3个独立的多通道缓存串口(McBSP),使得C5509能够直接与其他C55xx系列DSP、多媒体数字信号编解码器等设备高速互连,这些McBSP可以提供全速双工通信,并支持128通道的收发,接收或者发送可以选择使用独立的时钟,字宽为8、12、16、20、24位任选。

为保证与常见的异步通信模块进行数据通信,C5509提供了与TL16C550C等专用异步通信接口IC互连的UART,外部数据经由TL16C550C进出DSP的UART,最终交给片内CPU处理。图1为与C5509配合使用的典型专用异步通信接口IC(TL16C550C)的管脚图。



C5509的UART每接到数据就会产生相应的中断请求,通知CPU及时采集数据,将Rx线上的串行数据放入接收寄存器中,在满足缓冲区长度后,寄存器的并行数据再交给CPU做后续处理。

2 解码算法说明

2.1 MP3文件的格式

MP3文件以帧为基本单位,每帧的构成如表1所示。由于MP3文件数据格式采用了比特池技术,故主数据有可能在帧头之前,具体位置可由帧边信息所包含的main_data_begin变量获得。[page]



解码时首先将一定长度(本系统为2kbit)的数据读入C5509的内部RAM中,然后寻找帧的同步字sync_word(FFF)。如果找到同步字,则以其为首的32bit即为帧头。由帧头中的校验位可知是否有校验数据,如无,则其后的256bit数据即为帧边信息。主数据一般包含两个粒度组(gr)的数据,每个粒度组又包含左右声道(ch)两部分的数据信息,各个声道数据可独立解码,故将每个粒度单个声道解码的程序编写为单个的*.c文件,以适应单声道或者其他MP3格式的解码。MP3编码根据人类心理声学,将每个粒度组分为三部分数据:第一部分对应低频采样的Big_values(大值区),用较大绝对值的量化值存放低频值;第二部分为Count1区,用绝对值较小的量化值存放中频值,所有量化值的可能取值为1,0,-1;第三部分为编码为零的Zero高频区,零数据无须在MP3文件中出现,只需在解码时询问每个粒度组的计数是否已经达到576。若计数为576,则说明该粒度组已解完576个频率线的量化值。

上述帧边信息存储了供后续解码的全部重要信息。为方便引用,将其定义为结构体。部分元素的定义和注释如下:



table_select[3]的值就是霍夫曼表的下标h,可在解主数据时锁定某个具体的霍夫曼表。

2.2 MP3数据的霍夫曼解码原理

如上小节所述,每个粒度组的数据根据声学特性将0到奈奎斯特频率的频率线分为Big_values、Count1和Zero三个区。在解码时,Big_values区对应的霍夫曼码表格式如表2所示,而Count1区码表格式如表3所示。





存放霍夫曼码表的文件huffman.h中包含32个供Big_values区查询用的码表和2个供Count1区查询用的码表。为了方便快速查得短长度的编码值,还增加了辅助表h_cue[34][16]。当开始解主数据时,将定长(例如32位)数据dataword()入栈,首先移出该缓存区的前四位数据,作为查辅助表的头数据lead,然后根据lead值和帧边信息中的霍夫曼查找表下标h,得出辅助表的具体数据h_cue[h][lead],这个数据只是指向Big_values区或者Count1区某个表的首地址h_tab,具体要用到该表的哪个数据仍需程序提供一个偏移量继续判断。此时可以先由缓存区中去掉lead四个位的数据与锁定的霍夫曼表对比,如果这后面的数据与被锁定的霍夫曼表头的码字一致,则可马上得到解码的数据;若是两个码字不一致,则还需由h_cue[h][lead]和h_cue[h][lead+1]的差值得到偏移量,从而最终得到正确的解码数据。(格式如表2和表3所示)。

另外,由于MP3编码中对绝对值小于等于15的量化值直接编码,对绝对值大于15的量化值采用ESC(附加值)编码,所以在得到加码数据后还需判断是否要为其添加附加值和符号位。详细的解码流程如图2所示。



MP3解码的主要运算量集中在霍夫曼解码、反量化、IMDCT、子带合成四个运算模块,而霍夫曼解码占整个运算量总和的1/5。利用CCS的Profile工具对44.1kHz采样率、128kbps比特率的MP3数据进行运算复杂度的估算,可得本系统的解码模块消耗的运算量为1.3MIPS。由此可知,对于每秒解50帧以上的实时解码,DSP要承担65MIPS的运算复杂度,利DSP实现的本解码模块是完全可以胜任的。

关键字:TMS320VC5509  MP3  解码 引用地址:基于TMS320VC5509实现MP3解码

上一篇:基于BMP的图像点阵获取原理及其应用
下一篇:液晶电视坏点:不可修复的物理损伤

推荐阅读最新更新时间:2024-05-02 22:22

TI编解码器支持独立时钟控制的转换器采样
24 位编解码器将系统设计灵活性与卓越音频性能实现完美结合   2007 年 5 月 22 日,北京讯   日前,德州仪器 (TI) 宣布推出支持异步工作的 24 位音频编解码器 ——PCM3060,使模数转换器 (ADC) 及数模转换器 (DAC) 均能采用独立时钟进行工作。在 DVD/Blu-Ray/HD-DVD 刻录机、数字电视、数字机顶盒及汽车导航系统等应用中,音频信号往往要通过不同的采样率进行解码与编码,PCM3060的推出满足了对异步音频编解码器的需求。更多详情,敬请访问: http://focus.ti.com.cn/cn/docs/prod/folders/print/pcm3060.html 。   PCM
[嵌入式]
Melexis发布新款高速电感式位置解码器芯片,进一步扩展产品组合
Melexis发布新款高速电感式位置解码器芯片,进一步扩展产品组合 2022年12月16日,比利时泰森德洛—— 全球微电子工程公司Melexis今日宣布推出MLX90517,进一步扩展满足车规要求的高速电感式位置解码器产品线,该系列产品应用于电机应用,包括电子助力转向、牵引电机、制动助力器 。MLX90517通过提供原始信号以实现ECU中的片外补偿,是MLX90510的有益补充。 全球微电子工程公司Melexis发布MLX90517,进一步扩展电感式位置解码器产品组合。通过外部补偿算法,在不需要任何芯片编程的情况下,MLX90517确保在高达660,000e-rpm时的精度优于0.36°。 MLX90517
[工业控制]
Melexis发布新款高速电感式位置<font color='red'>解码</font>器芯片,进一步扩展产品组合
AVR单片机uPD6121/AS6122等红外编码芯片的解码程序
#include #define uchar unsigned char #define ulong unsigned long /*------------------------------显示-----------------------------------*/ #define LED _DATA PORTB const uchar tab ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; /* 0 1 2 3 4 5 6 7 8 9 A B C
[单片机]
发明人宣布MP3退出历史舞台,AAC格式取而代之
  5月13日,从某种意义上说,自上世纪90年代以来革新了用户收听音乐方式的播放格式 MP3 ,如今已经正式退出了历史舞台。下面就随嵌入式小编一起来了解一下相关内容吧。   外媒报道称,发明这种音乐播放格式的德国研究机构——夫琅和费集成电路研究所(Fraunhofer Institute for Integrated Circuits)近日宣布,该机构已经终止了某些 MP3 相关专利的授权,从另一方面来看,这就意味着该机构不想再对这种格式继续提供支持,因为2017年已有诸多更好的音乐存储和播放方式出现,因而 MP3 该寿终正寝了。   夫琅和费集成电路研究所的主任表示,高级音频编码( AAC )格式业已成为“手机下载音乐和视频等
[嵌入式]
基于SOPC的MPEG-4视频播放器
引言   多媒体技术实用化的关键技术之一,就是解决视频、音频数字化以后数据量大,与数字存储媒体、通信网容量小的矛盾,其解决途径就是压缩。   为了支持低比特率视频传输业务,MPEG(Moving Picture Experts Group)推出了MPEG-4标准。于1999年正式成为国际标准的MPEG4是一个适合于低传输率的视频、音频解决方案,更注重于多媒体系统的交互性和灵活性。MPEG-4视频压缩标准提供了一种高度灵活、基于“内容”的编码方法,解码端可以“按需解码”,还可以添加对象和信息。这种灵活性使得MPEG-4具有高效的编码效率、基于内容的可扩展性以及在易受干扰环境下的鲁棒性。   MPEG-4的这些特性使得它十分适合
[手机便携]
MT8880在智能通讯预警系统中的技术应用
利用公用电话网进行远程控制家用电器和拨号报警,主要解决的问题是如何利用电话线传递控制信息以及如何对信息进行处理、加工。使用Modem与计算机的结合,可以实现控制信息的传送问题,而且控制信息可以非常复杂和丰富,但必须在控制方和被控方设置一台计算机Modem,费用较高。如果在被控制方操作简单,只需较少命令即可实现控制的情况下,直接使用电话机上的双音多频信号或其组合,就足够对远程被控制方进行有效的控制。 1 系统原理与组成 电话远程控制系统主要完成的功能是对电话双音多频(DTMF,double tone multiple frequency)信号进行解码,并自动驱动被控电器设备进行指定操作,同时用户可对被控设备的工作状态
[应用]
基于attiny13的NEC红外线遥控信号解码程序
最近参考了网上的51红外线遥控遥控信号解码程序,编写了基于attiny13的NEC红外线遥控信号解码程序,拿出来给大家共勉,欢迎大家批评指正。程序如下: #include avr/io.h #include avr/interrupt.h #define uchar unsigned char #define star() TCCR0B=(1 CS01)|(1 CS00) //启动定时器,64分频,定时器时钟周期在53.3us~58.2us之间,中位数55.75us #define stop() TCCR0B=0 //停止定时器 #define ir_in PB1 //int0引脚定义 vo
[单片机]
JPEG编解码芯片ZR36060在远程视频监视系统中的应用
    摘要: 简要地叙述了JPEG编解码芯片ZR36060的主要特点、内部结构和工作模式,并给出发一个应用实例——基于JPEG的远程视频监视系统。     关键词: JPEG编解码器  压缩  解压缩     随着改革开放的进一步深入,各界对于安全防范和现场记录报警系统的需求越来越大,要求也越来越高。数字化的图像监视系统已经逐步淘汰了传统的闭路电视监视系统。对于需要以图像画面作为证据的远程视频监视系统而言,H.261和H.263图像的质量已无法胜任,这时需要传输高质量的JPEG图像。Zoran公司的JPEG编解码芯片ZR36060正是这样一种适合于基于JPEG的监视系统和数字图像采集、编辑的芯片。本文
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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