当前位置:首页 > 消费电子 > 消费电子
[导读]介绍了CIRRUS LOGIC公司生产的音频解码芯片CS43L42与嵌入式处理器EP7212的接口实现方法,分析了基于嵌入式处理器EP7212/7312和CS43L42芯片的MP3文件播放系统,给出了由其组成的完整硬件连接图和有效的软件实现方法。

    摘要:介绍了CIRRUS LOGIC公司生产的音频解码芯片CS43L42与嵌入式处理器EP7212的接口实现方法,分析了基于嵌入式处理器EP7212/7312和CS43L42芯片的MP3文件播放系统,给出了由其组成的完整硬件连接图和有效的软件实现方法。

    关键词:嵌入式处理器;数字音频接口DAI;CS43L42;MP3;EP7212

1 引言

目前存储声音信息的音频数据格式主要有PCM文件、VOC文件、MIDI文件、MP3文件等。对导航系统来说,要实现音频文件的播放,存储器容量是一个需要考虑的问题。由于导航系统的存储空间有限,所以要求存储的文件压缩率高。与其它文件格式相比,MP3音频文件具有较高的压缩率和不逊色于CD的音质,所以在导航系统中音频文件的存储选用MP3格式。

MP3的全称为MPEG1 Layer-3音频文件,MPEG?Moving Picture Experts Group?在汉语中译为活动图像专家组,特指活动影音压缩标准。MPEG音频文件是MPEG1标准中的声音部分,也叫MPEG音频层,它根据压缩质量和编码复杂程度划分为三层,即Layer1、Layer2、Layer3,分别对应MP1、MP2、MP3这三种声音文件,并根据不同的用途,使用不同层次的编码。MPEG音频编码的层次越高,编码器越复杂,压缩率也越高,MP1和MP2的压缩率分别为4:1和6:1~8:1,而MP3的压缩率则高达10:1~12:1,也就是说,一分钟CD音质的音乐,未经压缩需要10MB的存储空间,而经过MP3压缩编码后只有1MB左右。不过MP3对音频信号采用的是有损压缩方式,为了降低声音失真度,MP3采取了“感官编码技术”,即编码时先对音频文件进行频谱分析,然后再用过滤器滤掉噪音电平,接着通过量化的方式将剩下的每一位重新排列,最后形成具有较高压缩率的MP3文件,从而使压缩后的文件在回放时能够达到比较接近原音源的声音效果。

    虽然MP3是一种有损压缩方式,但它以极小的声音失真换来较高的压缩比,因此在较多的场合得以应用。尤其是随着数字技术的发展,MP3压缩方式在便携式电子产品中得到了越来越广泛的应用,深受追求时尚、新潮的青年朋友的喜爱。

2 CS43L42播放芯片

CS43L42是CIRRUS LOGIC公司生产的音频解码芯片,它可工作在1.8~3.3V,关掉线性放大器时功耗仅16mW?非常适合于MP3、MD播放器等低功耗场合的应用。该芯片是一款完全意义上的数模转换器,它包括1bit D/A转换、模拟滤波、音量控制、线性电压输出以及耳机放大器。通过改变主频率,其允许的输入采样频率可从2k~100kHz变化。该器件具有数字重音、峰值限制和去加重等特性。此外,由于采用了POPGUARD技术,CS43L42还可有效防止加电、断电时产生的瞬间冲击。

CS43L42具有DAI接口,能够与嵌入式处理器EP7212/7312较好的配合。它具有三种模式:双线模式、SPI模式、STAND ALONE模式。通过引脚CP/SA和AD0/CS/DEM0置相应状态可以设置这三种模式。当CP/SA引脚为低电平时,芯片为STAND ALONE模式,当CP/SA为高电平时,只要检测到引脚AD0/CS/DEM0电平从低到高变化,则进入SPI模式,否则为双线模式。在STAND ALONE模式下,可用SCL/CCLK/DIF1和SDA/CDIN/DIF0引脚来设置数据、左/右时钟以及主时钟之间的关系。在双线模式和SPI模式下,则可以通过对寄存器进行操作来实现静音、声道衰减和音量控制等功能。图1是CS43L42的内部原理图,图2是该芯片的引脚排列示意图,各引脚的功能如下:

1脚(RST):复位信号,低有效。

2脚(LRCK):左/右帧同步。

3脚(SDATA):串行音频数据,数据随串行时钟引入。

4脚(AD0/CS/DEM0):在SPI模式下,用于使能控制端口。

5脚(SCLK/DEM1):位时钟,等于MCLK的1/2,每帧有128位。

6脚(VL):数字电源电压,典型值为1.8V~3.3V。

7脚(MCLK):2x过采样时钟,仅在从模式下输入。

图3

    8脚(SCL/CCLK/DIF1):串行控制接口时钟。

9脚(SDA/CDIN/DIF0):串行控制数据输入输出。

10脚(N.C.):无连接,悬空。

11脚(CP/SA):控制模式和等待模式控制。

12脚(VQ_HP):耳机静态电压接口。

13脚(REF_GND):连接到模拟地。

14脚(FILT+):正向基准电压,用于内部采样电路。

15脚(VQ_LINE):线输出静态电压接口。

16?21脚(HP_A,HP_B):耳机输出。

17脚(GND):连接到模拟地。

18脚(VA):模拟电源电压,典型值为1.8V~3.3V。

19脚(VA_LINE):线性扩音器电源端,典型值在1.8V~3.3V。

20脚(VA_HP):耳机放大电源端,典型值为0.9V~3.3V。

22,23脚(AOUTB? AOUTA):模拟输出端。

24脚(MUTEC):静音控制。

3 CS43L42的硬件连接电路

如系统中芯片工作在STAND_ALONE模式,则将DIF1、DIF0分别设置为低、高电平表示接收左起有效的24位数据。图3是CS43L42的典型外围连接电路。图中的电容C由下式给出:

C=(RL+560)/[4π Fs(RL·560)]

4 MP3播放软件设计

MP3文件播放的软件设计任务如下:

(1)初始化EP7212 的DAI接口。

(2)将MP3文件解码成PCM文件并存放于开辟的两个缓冲区(左、右两个声道)。

(3)在FIQ(快速中断请求)中将PCM格式的数据写到DAI接口,同时播放声音(未有数据时播放静音)。

4.1 EP7212的DAI接口介绍和初始化

a. DAI接口

EP7212/7312的数字音频接口(DAI)主要用于支持高质量立体声的音频处理。图4是CS43L42与嵌入式微处理器EP7212的DAI接口电路。该接口主要由以下五个信号组成:

(1)LRCK,左/右帧同步。

(2)SCLK,位时钟,等于MCLK的1/2,每帧有128位。

(3)MCLK,2x过采样时钟,仅在从模式下输入。

(4)SDOUT,数字音频数据输出。

(5)SDIN,数字音频数据输入。

用MSB/Left数据调整格式意味着数据在帧同步信号(LRCK)电位改变后立即被计时。MSB在第一位时是左调整,这与I2S格式相比有些不同,I2S格式的数据在改变电位后要延迟一个时钟。数据帧每帧是128位长,这样每个声道64位长。帧的大小和LRCK的运行周期在EP7212/7312中不能被设置。SCLK可从MCLK中得到,频率等于1/2 MCLK。缺省模式中,DAI处于主模式。该模式下自己产生的MCLK时钟等于9.216MHz。这样,SCLK等于4.608MHz。对于需要SCLK有不同速率的应用,DAI可以被设置成从模式。在从模式下,外部源通过MCLK引脚给MCLK提供主时钟,然后分成两半生成SCLK。不管DAI模式如何设置,SCLK和LRCK通常都设置成输出。数据一般在SCLK的上升沿锁入,在下降沿释放。

DAI接口是一种高质量的数字音频接口,可以连接与DAI接口兼容的音频设备。EP7212 的DAI接口通过位时钟和帧同步时钟产生128bit帧数据。数字音频数据的接收和发送均采用全双工方式,对应于12采样深度的接收FIFO和8采样深度的发送FIFO。在DAI 接口信号中,MCLK是主时钟,它是音频采样频率的256倍,SCLK为音频采样频率的128倍,LRCK固定为采样频率。由于本系统中的MCLK连接外部时钟发生器,频率为11.2896MHz?所以采样频率为44.1KHz。其DAI接口时序图如图5所示。

图5

    DAI的帧长128bit?其中包括一个音频采样数据,在这128bit中,仅有32bit为实际的音频数据,其余输出均为零。左/右时钟作为帧同步信号,左/右时钟从高到低表示右声道的16bit数据,从低到高表示左声道的16bit数据。

b. DAI接口初始化

DAI初始化程序中首先应设置控制寄存器, 接着选择外部时钟有效以及在左发送FIFO数据少于一半时产生中断。然后清除状态寄存器上溢、下溢位,之后使DAI接口、发送FIFO和接收FIFO有效。最后打开DAI中断。

4.2 MP3文件的解码

ARM公司提供有基于ARM处理器音频文件解码库,它能够有效地解码MP3格式的歌曲,而输出16bit立体声PCM数据。

a. 解码库所定义的结构

·tSampleRate定义了解码数据PCM的采样率

typedef enum tagSampleRate

{

SR 11 025kHz?

SR 12kHz?

SR 44 1kHz?

SR 48kHz?

SR 32kHz?

SR Reserved

} tSampleRate ?

·tMPEGStatus 给出了MP3函数返回状态值。

typedef enum tagMPEGStatus

{

eNoErr?

eNoSyncword?

eCRCError?

eBrokenFrame?

eEndOfBitstream?

eDataOverflow?

} tMPEGStatus ?

·tMPEGBitstream?给出MPEG比特流的指针,bufptr定义为比特流的字指针,bitidx定义为字中的索引(0-31)。

typedef struct tagMPEGBitstream

{

unsigned int * bufptr?

unsigned int bitidx?

} tMPEGBitstream?

·tMPEGHeader?包括MPEG音频报头信息,sam-ple_rate为PCM采样频率,samplesperchannel为每个声道的采样数,numchans为声道数,packed info为报头信息,bits required为下一次调用函数需要bit数,free format是指比特流的格式。

typedef struct tagMPEGHeader

{

tSampleRate sample rate?

unsigned int samplesperchannel?

unsigned int numchans?

unsigned int packed info?

unsigned int bits required?

unsigned int free format?

} tMPEGHeader?

    b. MP3解码库所提供的函数

·InitMP3Audio?tMPEGInstance *inst?

功能:初始化解码器解码指针。

·MP3SearchForSyncword?tMPEGInstance *inst?tM-PEGBitstream *bs?length?

功能:查找MPEG数据中的同步字。

·MP3DecodeInfo?tMPEGInstance * inst?tMPEGBit-stream * bs?tMPEGHeader * pmpeg hdr?

功能:从MPEG帧中获得报头的信息。

·MP3DecodeData?tMPEGInstance *inst? short *left?short * right? tMPEGBitstream * bs?

功能:从MP3数据解码成PCM数据,并将其存到left、right指向的缓冲区中。

c. MP3程序解码流程及在FIQ中断中的实现

图6所示是该系统中MP3文件的解码流程。该文件可在FIQ中断中实现播放。由于DAI FIFO对应于FIQ中断,因此,它可以通过控制寄存器来设置FIFO的中断方式,并可在程序中将产生中断的位置设置在左发送FIFO中少于四个采样数据时。由于在FIQ中断中保存有MP3解码缓冲区的地址,因此,若在进入FIQ后各写四个采样数据到左右FIFO中,那么,对于44.1kHz文件来说,FIQ发生的速率将为11kHz。为了保证左右FIFO的正确填充,一般需要交替写两个FIFO。此时如果MP3缓冲区无数据,则可写0(静音)到两个FIFO中,这样,程序就可以跳出FIFO中断接着处理数据。需要说明的是:无论程序是否需要录音,都要从接收缓冲区读四个数据,这样可确保DAI FIFO处于同步状态而不会产生失真。另外,在FIQ处理程序的最后,还要清除溢出状态位,这样可以防止FIQ始终中断。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭