音频处理芯片AIC23完整中文资料
- 格式:doc
- 大小:119.50 KB
- 文档页数:9
语音接口包括采集和播放两项功能,是语音处理系统中最基本、最关键的部分。
语音采集时,输入信号幅度动荡会影响后续处理;语音播放时,输出信号幅度不稳定会恶化收听效果。
所以,语音AGC(自动增益控制)是语音接口中不可或缺的功能单元。
TLV320AIC23(简称AIC23)是TI公司生产的集成了A/D,D/A转换器和可变增益放大器的高性能语音编解码芯片,是设计语音接口的理想选择。
文中介绍了AIC23的特点和结构,在此基础上给出语音接口及AGC的实现方法。
1AIC23介绍1.1主要特点(1)集成线输入可变增益放大器(VGA),增益范围-34.5~12dB,步进1.5dB;(2)集成线输出可变增益放大器(VGA),增益范围-73~6dB,步进1dB;(3)I/O电压、数据接口与TI公司的54系列DSP兼容。
1.2基本结构和主要接口AIC23的基本结构和主要接口,如图1所示。
模拟语音信号从左、右声道线输入管脚或麦克信号输入管脚输入,分别经VGA、静音控制、多路选择器、A/D转换器、数字插值滤波器,得到特定采样率的数字语音信号;数字语音信号依次经过数字滤波器、D/A转换器、静音控制和VGA,最后从左、右声道线输出管脚输出;AIC23的工作状态由系统微处理器通过控制接口设置,控制接口模式为SPI/I2C可选(mode管脚置高为SPI模式,置低为I2C 模式);AIC23与微处理器通过数据接口进行数据交换,数据接口为左判断/右判断/I2C/DSP模式可选(由微处理器通过控制接口设置)。
TI公司生产的54系列DSP集成了多通道缓冲串口(McBSP),可与SPI模式的控制接口和DSP模式的数据接口无缝连接。
1.3控制方法AIC23是一款可编程芯片,内部有11个9位寄存器,可由微处理器通过控制接口进行配置,从而设定芯片的工作模式和状态。
主要寄存器内容,如表1所示。
2语音接口设计2.1硬件设计语音接口由TI公司的数字信号处理器TMS320VC5416与AIC23构成,如图2所示。
⾳频处理芯⽚AIC23完整中⽂资料TLV320AIC23中⽂资料管脚图及其应⽤TLV320AIC23(以下简称AIC23)是TI推出的⼀款⾼性能的⽴体声⾳频Codec芯⽚,内置⽿机输出放⼤器,⽀持MIC和LINE IN两种输⼊⽅式(⼆选⼀),且对输⼊和输出都具有可编程增益调节。
AIC23的模数转换(ADCs)和数模转换(DACs)部件⾼度集成在芯⽚内部,采⽤了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪⽐分别可以达到90dB 和100dB。
与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是⼩于15uW。
由于具有上述优点,使得AIC23是⼀款⾮常理想的⾳频模拟I/O器件,可以很好的应⽤在随声听(如CD,MP3……)、录⾳机等数字⾳频领域。
AIC23的管脚和内部结构框图如下:从上图可以看出,AIC23主要的外围接⼝分为以下⼏个部分:⼀.数字⾳频接⼝:主要管脚为BCLK-数字⾳频接⼝时钟信号(bit时钟),当AIC23为从模式时(通常情况),该时钟由DSP产⽣;AIC23为主模式时,该时钟由AIC23产⽣;LRCIN-数字⾳频接⼝DAC⽅向的帧信号(I2S模式下word时钟)LRCOUT-数字⾳频接⼝ADC⽅向的帧信号DIN-数字⾳频接⼝DAC⽅向的数据输⼊DOUT-数字⾳频接⼝ADC⽅向的数据输出这部分可以和DSP的McBSP(Multi-channel buffered serial port,多通道缓存串⼝)⽆缝连接,唯⼀要注意的地⽅是McBSP 的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供,连接⽰意图如下:⼆.麦克风输⼊接⼝:主要管脚为MICBIAS-提供麦克风偏压,通常是3/4 AVDDMICIN-麦克风输⼊,由AIC结构框图可以看出放⼤器默认是5倍增益连接⽰意图如下:三.LINE IN输⼊接⼝:主要管脚为LLINEIN-左声道LINE IN输⼊RLINEIN-右声道LINE IN输⼊连接⽰意图如下:四.⽿机输出接⼝:主要管脚为LHPOUT-左声道⽿机放⼤输出RHPOUT-右声道⽿机放⼤输出LOUT-左声道输出ROUT-右声道输出从框图可以看出,LOUT和ROUT没有经过内部放⼤器,所以设计中常⽤LHPOUT和RHPOUT,连接⽰意图如下:五.配置接⼝:主要管脚为SDIN-配置数据输⼊SCLK-配置时钟DSP通过该部分配置AIC23的内部寄存器,每个word的前7bit为寄存器地址,后9bit 为寄存器内容。
TLV320AIC23中文资料管脚图及其应用TLV320AIC23(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片.内置耳机输出放大器.支持MIC和LINE IN两种输入方式(二选一).且对输入和输出都具有可编程增益调节。
AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部.采用了先进的Sigma-delta过采样技术.可以在8K到96K的频率范围内提供16bit、20bit、24bit 和32bit的采样.ADC和DAC的输出信噪比分别可以达到90dB和100dB。
与此同时.AIC23还具有很低的能耗.回放模式下功率仅为23mW.省电模式下更是小于15uW。
由于具有上述优点.使得AIC23是一款非常理想的音频模拟I/O器件.可以很好的应用在随声听(如CD.MP3……)、录音机等数字音频领域。
AIC23的管脚和内部结构框图如下:从上图可以看出.AIC23主要的外围接口分为以下几个部分:一.数字音频接口:主要管脚为BCLK-数字音频接口时钟信号(bit时钟).当AIC23为从模式时(通常情况).该时钟由DSP 产生;AIC23为主模式时.该时钟由AIC23产生;LRCIN-数字音频接口DAC方向的帧信号(I2S模式下word时钟)LRCOUT-数字音频接口ADC方向的帧信号DIN-数字音频接口DAC方向的数据输入DOUT-数字音频接口ADC方向的数据输出这部分可以和DSP的McBSP(Multi-channel buffered serial port.多通道缓存串口)无缝连接.唯一要注意的地方是McBSP的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供.连接示意图如下:二.麦克风输入接口:主要管脚为MICBIAS-提供麦克风偏压.通常是3/4 AVDDMICIN-麦克风输入.由AIC结构框图可以看出放大器默认是5倍增益连接示意图如下:三. LINE IN输入接口:主要管脚为LLINEIN-左声道LINE IN输入RLINEIN-右声道LINE IN输入连接示意图如下:四.耳机输出接口:主要管脚为LHPOUT-左声道耳机放大输出RHPOUT-右声道耳机放大输出LOUT-左声道输出ROUT-右声道输出从框图可以看出.LOUT和ROUT没有经过内部放大器.所以设计中常用LHPOUT和RHPOUT.连接示意图如下:五.配置接口:主要管脚为SDIN-配置数据输入SCLK-配置时钟DSP通过该部分配置AIC23的内部寄存器.每个word的前7bit为寄存器地址.后9bit为寄存器内容。
TLC320AIC23在音频处理中的应用
摘要介绍了高性能立体声音频编解码芯片TLV320AIC23的基本特点、性能以及使用方法,并结合DSP芯片TMS320VC5509与音频CODEC芯片TLV320AIC23的接口设计,详细阐述了如何通过I2C总线对TLV320AIC23进行初始化设置的过程以及如何根据TLV320AIC23的特点对DSP的串口进行设计等一系列问题。
1TLV320AIC23芯片简介
TLV320AIC23是TI公司生产的一种高性能立体声音频编解码
TLV320AIC23中的模数与数模转换器使用了多比特sigma-delta工艺,并在内部集成了高采样率的数字内插滤波器。
该器件的数字传输字长可以是16、20、24、32Bit,它支持8~96kHz的采样率。
模数转换器的sigma-delta调制器决定了其三阶多比特结构,这种结构在采样率为96kHz的情况下,能够达到90dB信噪比,从而可在小型低功耗设计中实现高保真录音。
数模转换器中的二阶多比特结构还可在采样率为96kHz的情况下使信躁比达到100dB,从而使得高质量的数字音频回放成为可能。
该芯片在回放中的功率消耗小于23mW。
因此,对于可移动的数字音频播放和录音使用中的模拟输入输出等应用系统,TLV320AIC23无疑是十分理想的选择。
该芯片主要有如下特性
●是一种高性能的立体声编解码器;
●通过软件控制能与TI的MCBSP相兼容;
●音频数据可以通过与TIMCBSP相兼容的可编程音频接口输入输出;
●内部集成了驻极体话筒的偏置电压和缓冲器;
●带有立体声线路输入;
●具有模数转换器的多种输入立体声线路输入和麦克风输入;。
TLV320AIC23中文资料管脚图及其应用TLV320AIC23(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。
AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB 和100dB。
与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。
由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3……)、录音机等数字音频领域。
AIC23的管脚和内部结构框图如下:从上图可以看出,AIC23主要的外围接口分为以下几个部分:一.数字音频接口:主要管脚为BCLK-数字音频接口时钟信号(bit时钟),当AIC23为从模式时(通常情况),该时钟由DSP产生;AIC23为主模式时,该时钟由AIC23产生;LRCIN-数字音频接口DAC方向的帧信号(I2S模式下word时钟)LRCOUT-数字音频接口ADC方向的帧信号DIN-数字音频接口DAC方向的数据输入DOUT-数字音频接口ADC方向的数据输出这部分可以和DSP的McBSP(Multi-channel buffered serial port,多通道缓存串口)无缝连接,唯一要注意的地方是McBSP的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供,连接示意图如下:二.麦克风输入接口:主要管脚为MICBIAS-提供麦克风偏压,通常是3/4 AVDDMICIN-麦克风输入,由AIC结构框图可以看出放大器默认是5倍增益连接示意图如下:三.LINE IN输入接口:主要管脚为LLINEIN-左声道LINE IN输入RLINEIN-右声道LINE IN输入连接示意图如下:四.耳机输出接口:主要管脚为LHPOUT-左声道耳机放大输出RHPOUT-右声道耳机放大输出LOUT-左声道输出ROUT-右声道输出从框图可以看出,LOUT和ROUT没有经过内部放大器,所以设计中常用LHPOUT和RHPOUT,连接示意图如下:五.配置接口:主要管脚为SDIN-配置数据输入SCLK-配置时钟DSP通过该部分配置AIC23的内部寄存器,每个word的前7bit为寄存器地址,后9bit 为寄存器内容。
具体方法和寄存器具体内容见后。
六.其他:主要管脚为MCLK-芯片时钟输入(12.288M、11.2896M、18.432M、16.9344M)VMID-半压输入,通常由一个10U和一个0.1U电容并联接地MODE-芯片工作模式选择,Master或者SlaveCS-片选信号(配置时有效)CLKOUT-时钟输出,可以为MCLK或者MCLK/2(详见寄存器配置)DSP与AIC23的连接设计中DSP采用了TI的C5409,这是一款性价比高,外设资源丰富,耗电量低,处理能力强的16位DSP,在实际应用中较为流行。
C5409有三组可通过寄存器灵活配置的McBSP同步串口,与AIC23的连接主要使用这些串口。
一.与AIC23数字音频接口的连接AIC23的数字音频接口支持I2S模式(一种通用的音频格式),也支持DSP Mode模式(专为与TI的DSP连接模式)。
两种模式的时序如下图:I2S模式DSP Mode模式DSP与AIC23的连接可以采用I2S模式也可以采用DSP模式,区别仅在于DSP的McBSP 帧信号的宽度。
前者的帧信号宽度必须为一个字(16bit)长,而后者的帧宽度可以为一个bit长,比如在字长16bit(即左右声道的采样各为16bit),帧长为32bit的情况下,如果采用I2S,帧信号宽度应为16bit;而采用DSP Mode帧信号宽度1bit即可。
为了与AIC23通信,DSP的串口时钟也应该正确的设置。
DSP的McBSP时钟为了减少外围电路通常都选择由内部CPU时钟分频得到,比如在AIC23采样速率为8K的情况下,McBSP串口时钟应为8×32=256K,这时,DSP工作时钟/256K=需要设置的分频因子。
需要注意的是,DSP的串口分频因子最大为0xff(256),所以如果采用内部时钟分频的办法,DSP工作时钟不能超过64M。
二.与AIC23配置接口的连接AIC23的配置接口支持I2C模式,也支持SPI模式。
通常比较简单的办法是利用DSP的一个McBSP用SPI模式跟AIC23连接。
但是有些时候,如果DSP的McBSP串口资源比较紧张(比如需要跟近端RS-232和远端RS-485连接),也可以通过DSP模拟I2C 总线与AIC23连接。
下面简单介绍这两种方法:SPI时序图如下:这种模式的特点是只在片选信号有效时锁存进数据。
由于也是同步串口,所以通过配置McBSP为Clock Stop Mode(时钟在帧信号有效时产生,其他时间没有时钟信号)可以无缝与之连接。
这时,McBSP的帧信号连接SPI的CS信号,时钟和数据信号与SPI一一对应。
这种连接只需设置McBSP的寄存器,使用比较简单可靠。
I2C时序图如下:C5409没有I2C接口(TI的C5509有),但是可以利用DSP的GPIO(General Purpose Input/Output)来实现I2C时序。
C5409有8个HPI(Host Port Interface)管脚可以选择作为GPIO使用(上电时HPIENA管脚或者HPI16管脚为低),这样我们可以利用其中的两个管脚来作为I2C中的SCL和SDA。
在I2C中SDA是双向管脚,而DSP的GPIO的方向要通过寄存器来配置为输入或者输出,所以在实现I2C总线时,要经常在需要的时候变换GPIO(作为SDA的那个)的方向。
对GPIO的操作是通过寄存器来完成:当设为输出时,向寄存器写入要输出的值;设为输入时,从该寄存器读入管脚上的值。
在实现I2C总线时,还需注意下面几点:作为SDA的那个GPIO应该接上拉电阻;AIC23只可写不可读;AIC23的设备地址当CS为低时是0011010b,CS为高时是0011011b。
DSP的软件设计DSP需要处理来自和发向AIC23的数据,从而达到采集和播放声音。
从上面的分析我们知道,这些数据都是通过DSP的McBSP交换的。
McBSP可以有三种方式跟CPU通信:每收到或发送一个单元,置标志位,CPU轮询此标志位;每收到或发送一个单元,给CPU发送中断;通过DMA收到或发送完一组单元,再给CPU中断。
通常,为了减轻CPU负担,都采用第三种方法。
采用DMA的方式,即串口每发送或接受到一个单元,都会自动触发DMA将其搬送到一个内部的Buffer,等Buffer满了再通过中断方式告诉CPU处理。
这时DMA最好采用ABU (Auto Buffering)模式,在这种模式下,DMA会在两个Buffer(其实是一个大Buffer 的前一半和后一半)之间自动切换,每个Buffer满了(接收)或空了(发送)都会给CPU 发出中断,在CPU处理这个Buffer的时候,DMA会自动去操作另一个Buffer。
采用这种方式可以有效防止Buffer中的数据在串口速率较高时被新数据冲掉的问题。
在DMA的中断服务程序中为了可靠可以把这个Buffer的数据再拷贝到另一个待处理的空间,即两级Buffer,然后置标志位,CPU在主程序中查询标志位然后作出相应的处理。
DMA 操作的Buffer可以通过寄存器配置,Buffer的大小和起始位置应设置正确。
在指定Buffer 的起始位置时应该注意,起始位置应该为大于Buffer大小的下一个2的整数幂的倍数。
例如,在8K、16bit采样的情况下,以20ms数据为Buffer大小,那么一次处理的数据是8000×32×0.02=5120bit=320word。
所以,DMA的Buffer应为640word(两个320word Buffer)大小,而Buffer的起始地址应该为1024=2^10>640的整数倍,如0x7000,0x7400……DSP与异步串口间的通信DSP与PC机交换声音数据可以通过异步串口实现(近端RS-232或者远端RS-485再到RS-232)。
下面简单介绍如何利用DSP的McBSP实现RS-232协议从而跟PC机的串口通信。
首先,因为McBSP和RS-232电平不同,之间需要加一个MAX232这样的电压转换芯片。
同时,DSP的McBSP是一个三线同步串口,而RS-232只需一根数据线(单向)即可通信,所以在实现异步串口时,首先硬件连接应该如下:从上图可以看出,McBSP串口的接收帧信号和接收数据线连在一起,这样做的目的是为了利用异步帧的开始位(低有效)来给McBSP一个帧信号。
显然,这时DSP的帧信号应设置为低有效且接收延时应设置为'1'。
同步-异步转换的基本原理就是对异步信号过采样得到同步信号,例如一般是对异步信号的每个bit用同步信号的一个字来表示(即16个'1'-0xffff或16个'0'-0x0000)。
可参看下图(上边为异步信号,下边为同步信号):串口的发送和接收都采用DMA方式,Buffer的大小为:1+8+1(无校验位,结束位长度为1)=10word。
同步-异步具体转换在软件上实现:对于发送来说,较为简单,就是对每一个Byte的每个bit用一个word(16bit)进行代替,加上开始位、结束位。
然后判断是否可以发送(通过发送完毕标志),如果可以则把这10个word放入Buffer,启动DMA即可。
在发送中断服务程序中需要作的是停止发送DMA,并置发送完毕标志有效。
接收相对发送麻烦一些,需要对接收到的每一个字进行判断从而恢复每一个bit,例如可以认为收到0000 1111 1111 0000b为'1',其余为'0'。
过滤掉开始位('0')和结束位('1'),恢复的8个bit就合成一个Byte。
这些应该在接收中断服务程序里面做。
还有就是同步串口时钟的选择,一定要稍大于设计速度,比如,在跟57.6K的RS-232通信时,时钟应该为57.6×16=921.6K,实际配置串口分频寄存器时应该稍大于这个速度,否则就可能由于没有正确检测到停止位而出现错误。
更详细的同步-异步转换设计流程跟我们的主题无关,有很多文章有具体的描述,这里就不主要讨论了。