0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

电子设计 来源:郭婷 作者:电子设计 2019-07-31 08:02 次阅读

基于DSP实现MP3解码系统的设计,采用高性能的立体声音频Codec芯片TLV320A IC23 作为音频信号数模转换,DSP的两个McBSP与其连接,分别作为配置接口和音频数字接口,配置接口设置为SP I模式。USB与DSP接口实现MP3数据流与PC机之间的上传与下载,存取MP3文件方便,存储MP3文件的媒介选取大容量的存储设备CF卡,系统选用可编程逻辑器件CPLD控制USB及CF卡的读写和片选。实验证明该系统可以高质量完成MP3解码、播放。

随着数字视频和图像处理的发展,数字音频技术也正在提高,尤其是以ISO / IEC 为基础的MPEG技术。MP3是MPEG Audio LayerⅢ的缩写,它是Hi - Fi级音频压缩的国际标准。目前,市场上的MP3解码基本上都是采用专用芯片解码,采用专用芯片解码体积大,支持的音频格式有限。我们采用在DSP芯片上用C语言进行软解码,软解码比较灵活,可移植性好,易于升级,解码质量可通过软件参数设定,通用性好。

硬件系统结构

DSP的MP3解码系统硬件框图如图1所示,我们采用了低功耗的DSP芯片TMS32VC5416进行软件解码,32M的CF卡作为存储MP3文件的媒介,USB接口作为与PC机进行通讯接口,传输数据速度快,可以在PC机下载、上传MP3,可编程逻辑器件CPLD (选用EPM7128SL84)用于产生CF卡与USB 接口芯片的片选以及控制其读写。

TMS320VC5416定点DSP

TI公司的TMS320VC5416 定点运算数字信号处理器(DSP) ,其功耗低,性能高,内部采用一种改进型的哈佛总线结构:一条程序总线,3条数据总线,数据总线宽度为16位。分开的数据和指令空间使该芯片具有高度的并行操作能力,在单周期内允许指令和数据同时存取,再加上其高度优化的指令集,使得该芯片具有很高的运算速度,最高可达160MIPS。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图1系统的硬件框图

音频传输、播放系统

TLV320A IC23介绍

D /A采用TLV320A IC23 芯片,TLV320AIC23 (以下简称AIC23)是一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一) ,且对输入和输出都具有可编程增益调节。AIC23 的模数转换(ADCs) 和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内20、24 bit和32 bit的采样,ADC和DAC的输出信噪比分别可以达到90dB 和100dB。与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23 mW,省电模式下更是小于15uW。由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件。

AIC23与DSP的数字音频接口设计

DSP与AIC23连接如图2 所示,利用USB1. 1接口器件PDIUSBD12可编程的时钟频率输出12M作为立体声音频Codec芯片AIC23的时钟输入CLK12M。AIC23的配置接口支持IαC模式,也支持SPI模式,系统采用DSP的一个McBSP用SPI模式跟AIC23连接。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图2TLV320A IC23与DSP连接图

DSP配置为主模式,AIC23 配置为从模式。AIC23 输出串行数据,DSP的MCBSP串口6个引脚使数据通路和控制通路与AIC23 相连。数据由BDX0、BDR0 传输,同步信号的控制由BFSX0、BFSR0、BCLKX0 来实现。数字音频接口采用DSP模式,该模式与TI公司DSP的MCBSP串口兼容,该模式时序如图3。由图知,在LRCIN /LRCOUT信号的下降沿开始进行数据的传输,先左声道数据传输,然后右声道数据传输。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图3A IC23的DSP模式时序

DSP需要处理来自和发向AIC23的数据,从而达到采集和播放声音。McBSP与CPU 通信DMA 方式,通过DMA 收到或发送完一组单元,再给CPU 中断。采用DMA的方式,即串口每发送或接收到一个单元,都会自动触发DMA将其搬送到一个内部的Buffer,等Buffer满了再通过中断方式告诉CPU处理。在DMA的中断服务程序中为了可靠可以把这个Buffer的数据再拷贝到另一个待处理的空间,即两级Buffer,然后置标志位,CPU在主程序中查询标志位然后作出相应的处理。DMA 操作的Buffer可以通过寄存器配置。

USB接口实现

USB接口采用高性能、并行总线的USB接口器件PD IUSBD12 (以下简称D12) ,D12符合通用串行总线USB 1. 1 版规范,可与DSP微控制器实现高速并行接口[ 5 - 6 ] ,D12与DSP连接如图4所示。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图4D12与DSP连接图

由CPLD产生D12的片选、以及控制对D12的读写; ALE接低电平,表示一个独立的地址和数据总线配置; D12 的A0 脚与DSP的A0相连,控制D12 的命令和数据状态。

CF卡接口设计

CF卡是一种小型化、大容量、低功耗、智能型的存储媒体,在便携式设备中应用广泛。以Flash Memory(闪存)为主要载体,内部用微处理器进行时序控制和存储管理。CF卡与DSP连接如下图5 所示。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图5CF卡与DSP连接

CF卡的A3~A0为数据、命令、或状态寄存器地址线,D15~D0为数据总线,可16位或8位访问,当片选信号CE1#和CE2#同时为低电平时,为16位访问格式;当CE1#置高,CE2#为低电平时,为8位访问格式。CF的存取方式有三种:Memory方式、I/O 方式、True IDE方式,该系统中CF卡工作模式选取上电默认方式,即:Memory方式,片选CE1 #、CE2 #由可编程逻辑器件EPM7128SL84对DSP的8位地址A15~A22译码产生。CF卡工作电压为5 V或3. 3 V,设计选用3. 3 V工作电压,便于数据输出与地址可直接与DSP相接。

MP3解码的DSP实现

MP3 文件的格式

MP3是目前世界上最流行的音频格式之一,其采用了MPEG -1 Ⅲ层标准压缩编码格式。遵循MP3标准的音乐具有很高的压缩率和较高的保真度,其压缩比可达1:10 ~12,即1分钟CD音质的音乐经过MP3压缩编码后,可以压缩到1兆左右而基本保持不失真。MP3的压缩率很高,失真也较小,但它的算法也较为复杂。MP3文件的内容是音频位流数据文件,它由若干个数据帧组成,每个数据帧的构成如图6所示。每帧中的音频数据含有1152个原始音频信号的采样信息,并且经过霍夫曼编码形成。数据帧的其它内容分别为:

头标信息:音频位流的一部分,它包含同步和状态信息。校验字:音频位流的一部分,它包含用于错误检测的信息。

辅助信息:音频位流的一部分,它包含每帧中可用于解码的相关信息。

缩放因子信息:音频位流的一部分,它包含用于计算音频数据量化比例因子的信息。

霍夫曼编码数据:音频位流的一部分,它包含每帧中所有原始音频采样数据的霍夫曼编码。

附加数据:音频位流的一部分,它可包含一系列用户定义的辅助数据。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图6MP3位流数据帧示意图

MP3解码

LayerⅢ采用了较复杂的比特流结构。解码程序的流程图如图7所示。首先获得每一帧的同步字,取得头信息,从而获得各相应参数,根据对头信息的解析进而得到实际的一帧音频数据。读取主数据获得比例因子数据,对样本进行解码,然后对解码样本顺序进行倒置,如果块类型(BlockSp lit_ type)和标志类型( Flag_typ)都为1时,对样本进行重新排序,根据边信息中霍夫曼码本的选择信息进行霍夫曼解码,然后进行反量化,根据帧头的立体声信息,对反量化结果进行立体声处理。最后通过混迭处理、IMDCT和合成滤波器重建数字音频信号。

采用CPLD控制USB及CF卡在DSP芯片上实现MP3解码和播放

图7MP3解码流程

结束语

系统采用了高性能的芯片及性能优良的模拟接口,具有很强的信号处理能力,可以高质量地完成立体声的解码算法。在系统的软硬件的基础上,显示器和键盘等,可以增加用户接口。该系统可以集成在数码相机等产品中增加MP3播放机功能,具有广阔的推广应用前景


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7682

    浏览量

    344357
  • cpld
    +关注

    关注

    32

    文章

    1243

    浏览量

    168292
  • usb
    usb
    +关注

    关注

    59

    文章

    7432

    浏览量

    258126
收藏 人收藏

    评论

    相关推荐

    基于PowerPC405的MP3实时解码系统设计与实现

    文章介绍了一种在FPGA用PowerPC405实现MP3实时解码SoC系统的方法。通过使用IP核搭建SoC硬件结构,并进行定点MP3
    发表于 05-28 13:42

    基于VS1003解码器的MP3播放器设计

    对单片机从SD卡里读取的数字MP3音频数据流进行解析,并转换成模拟信号进行输出。图4是该MP3播放器的音频解码模块电路原理图采用VS1003
    发表于 05-08 13:20

    基于ARM多通道专业MP3播放器设计

    USB Host、I2C总线控制器、SPI控制器、IIS音频接口、SD3.1 MP3解码电路设计本系统
    发表于 09-22 15:12

    MP3解码芯片

    1 MP3解码芯片原理由原理图上可以看出,“主芯片”是以解码DSP(数字信号处理数字信号处理 的
    发表于 12-14 14:16

    嵌入式MP3播放器系统由什么组成?

    信息。现在的数字音乐播放器市场,采用ARM主控+DSP音频解码芯片+SD存储卡所构成的数字音乐播放
    发表于 08-15 08:31

    MP3解码算法的软件优化有什么方法?

    数字音乐的不断普及,现在MP3音乐已经不仅局限于MPEG视频应用中,而是以一种独立的数字音乐压缩技术出现在计算机、网络和各种电子设备。目前市场流行的MP3播放器是基于
    发表于 09-03 06:26

    请问用DSP开发MP3和比较专用MP3解码芯片有什么区别?

    问:用DSP开发MP3,比较专用MP3解码芯片如何,比如成本、难度、周期?谢谢
    发表于 09-20 02:12

    MP3解码芯片的原理是什么?

    MP3解码芯片的作用顾名思义就是将存储在介质MP3文件解码。它是
    发表于 10-25 09:13

    【MK品牌SD NAND(贴片式T卡)测评报告】T卡在MP3播放模块的应用

    的存储载体也是采用T卡,依然达到可靠播放的目标。图3 开发板控制MP3播放具体
    发表于 11-18 17:36

    基于STM32微控制器的MP3播放器设计

    摘要:本文主要介绍了使用STM32F103RB芯片的32位闪存微控制器为内核制作一个MP3播放器,此芯片是基于ARMCortex-M3为内核
    发表于 08-04 22:14 265次下载

    基于DSP技术的MP3播放器的硬件设计

    摘要:目前基于智能控制技术的MP3播放嚣价格昂贵。而随着DSP技术应用的日趋广泛,DSP器件的价格不断下降,为
    发表于 02-25 00:25 148次下载

    基于定点DSPMP3实时解码器的设计与实现

    基于定点DSPMP3实时解码器的设计与实现
    发表于 02-08 00:58 8次下载

    基于DSPMP3播放器的设计

    基于DSPMP3播放器的设计
    发表于 10-23 14:21 16次下载
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>MP3</b><b class='flag-5'>播放</b>器的设计

    基于DSP实现MP3解码系统的设计解析

    为SP I模式。USBDSP接口实现MP3数据流与PC机之间的上传与下载,存取MP3文件方便,存储MP
    发表于 10-23 14:28 7次下载
    基于<b class='flag-5'>DSP</b><b class='flag-5'>实现</b><b class='flag-5'>MP3</b><b class='flag-5'>解码</b>系统的设计解析

    MP3播放解码功能的实现

    电子发烧友网站提供《MP3播放解码功能的实现.pdf》资料免费下载
    发表于 10-25 11:01 0次下载
    <b class='flag-5'>MP3</b><b class='flag-5'>播放</b>器<b class='flag-5'>解码</b>功能的<b class='flag-5'>实现</b>