TLC320AIC23在音频处理中的应用
1 TLV320AIC23芯片简介
TLV320AIC23是TI公司生产的一种高性能立体声音频编解码器?该芯片同时高度集成了模拟电路功能。TLV320AIC23中的模数与数模转换器使用了多比特sigma-delta工艺,并在内部集成了高采样率的数字内插滤波器。该器件的数字传输字长可以是16、20、24、32Bit,它支持8~96kHz的采样率。模数转换器的sigma-delta调制器决定了其三阶多比特结构,这种结构在采样率为96kHz的情况下,能够达到90dB信噪比,从而可在小型低功耗设计中实现高保真录音。同样?在数模转换器中的二阶多比特结构还可在采样率为96kHz的情况下使信躁比达到100dB,从而使得高质量的数字音频回放成为可能。该芯片在回放中的功率消耗小于23mW。因此,对于可移动的数字音频播放和录音使用中的模拟输入输出等应用系统,TLV320AIC23无疑是十分理想的选择。该芯片主要有如下特性:
●是一种高性能的立体声编解码器;
●通过软件控制能与TI的MCBSP相兼容;
●音频数据可以通过与TI MCBSP相兼容的可编程音频接口输入输出;
●内部集成了驻极体话筒的偏置电压和缓冲器;
●带有立体声线路输入;
●具有模数转换器的多种输入(立体声线路输入和麦克风输入);
●具有立体声线路输出;
●内含静音功能的模拟音量控制功能;
●带有高效率线性耳机放大器;
●在总的软件控制下,电源可弹性管理;
●采用工业级最小封装;
●适合于可移动固态音频播放器录音器。
2 TLV320AIC23的使用
2.1 控制接口
TLV320AIC23有许多可编程特性。可通过控制接口来编辑该器件的控制寄存器,而且能够编译SPI、I2C两种规格的接口(见表1)。该器件的模式终端状态决定了控制接口的形式。这个模式管脚必须连接到需要的电平。
表1 SPI和I2C接口控制
MODE | 接口 |
0 | I2C |
1 | SPI |
表2 寄存器控制模式
地 址 | 寄 存 器 |
0000000 | 左输入声道音量控制 |
0000001 | 右输入声道音量控制 |
0000010 | 耳机左入声道音量控制 |
0000011 | 耳机右入声道音量控制 |
0000100 | 模拟音频路径控制 |
0000101 | 数字音频路径控制 |
0000110 | 电源控制 |
0000111 | 数字音频接口格式 |
0001000 | 采样率控制 |
0001001 | 数字接口激活 |
0001111 | 复位寄存器 |
2.2 控制寄存器的使用
TLV320AIC23用表2所列的寄存器来控制芯片的工作模式。
设计时,可以通过数据的串行传输来控制TLV320AIC23。这串数据的前半部分用于控制寄存器的地址,接下来的部分对应于该寄存器所要写入的值。对于这种串行传输的控制数据,可以分为两个8Bit进行处理。考虑到实际情况,使用汇编语言既直观又方便,因此,对于I2C写入模块,可使用汇编语言。下面是以DSP TMS320VC5509芯片为例列出的通过汇编语言对TLV320AIC23的控制寄存器进行设置的具体代码:
.data; TLV320AIC23 控制寄存器数据
Register0
.word 0x01;控制地址:0000000
.word 0x17;控制数据:左声道输入音量控制0dB,开启左右声道同步更新
Register1
.word 0x03;控制地址:0000001
.word 0x17;控制数据:右声道输入音量控制0dB,开启左右声道同步更新
Register2
.word 0x05;控制地址:0000010
.word 0xff;控制数据:左耳机输出音量控制+6dB,开启左右耳机声道同步更新
Register3
.word 0x07;控制地址:0000011
.word 0xff;控制数据:右耳机输出音量控制+6dB,开启右左耳机声道同步更新
Register4
.word 0x08;控制地址:0000100
.word 0x14;控制数据:关闭旁路直通,输入选用Microphone,使DAC处于有效状态
Register5
.word 0x0a;控制地址:0000101
.word 0x05;控制数据:数字音频通道选用ADC高通滤波器,关闭DAC软静音
Register6
.word 0x0c;控制地址:0000110
.word 0x01;控制数据:开启ADC、DAC,开启Mi-crophone输入端,关闭Line输入端
Register7
.word 0x0e;控制地址:0000111
.word 0x53;控制数据:DSP数字接口格式,芯片采用主式,数据字长16bit,LRP=1
Register8
.word 0x10;控制地址:0001000
.word 0x20;控制数据:采样率控制,时钟为正常模式
Register9
.word 0x12;控制地址:0001001
.word 0x01;控制数据:激活数字接口
Register10
.word 0x1e;控制地址:0001111
.word 0x00;控制数据:复位TLV320AIC23
2.3 数字音频接口
TLV320AIC23芯片与数字系统的接口有右判断模式、左判断模式、I2S模式和DSP模式四种。这四种数据传送模式都是从MSB(最高位)开始,字长范围从16Bits到32Bits(除了在右判断模式下不支持32Bits外)。数字音频接口由时钟信号BCLK、数据信号DIN和DOUT、同步信号LRCIN和LRCOUT组成。应当说明:BCLK在主动方式下是输出,而在从动方式下是输入。
由于接下来的介绍将主要围绕该芯片与DSP相结合的应用,因此现对第四种模式,即DSP模式进行说明。
由于DSP模式与TI公司 DSP的MCBSP口相兼容,因此,LRCIN与LRCOUT必须与MCBSP的帧同步信号相连接。在LRCIN或LRCOUT的下降沿开始数据传输。左通道数据组成了首先传送的数据字,紧接着传送右通道的数据。传送字长由IWL寄存器决定。图1说明了LRP为1时的传送情况(可通过Register7来进行设置)。
3 TLV320AIC23与DSP的接口设计
3.1 硬件设计
TLV320AIC23是TI公司推出的一款高性能、集成有模拟功能的立体声编解码音频芯片。它能在数字和模拟电压下工作,与TMS320C55x DSP的I/O电压相兼容,因而能够实现与C55x DSP的MCBSP(多通道缓冲串口)端口的无缝连接,从而使系统设计更加简单。所以,为了初步验证TLV320AIC23的工作性能,这里选用TMS320VC5509作为与TLV320AIC23相搭配的DSP芯片。其接口原理框图如图2所示。
系统中TLV320AIC23的主时钟11.2896MHz直接由DSP时钟产生,MODE接数字地表示利用I2C控制接口来对TLV320AIC23数据进行传输控制。SCLK和SDIN是TLV320AIC23控制端口的移位时钟和数据输入端,它们分别与TMS320VC5509的I2C模块端口SCL和SDA相连。TMS320VC5509的MCBSP1应工作在SPI模式下,以便使MCBSP1的接收器和发送器同步。收发时钟信号CLKX1和CLKR1由TLV320AIC23的串行数据传输时钟BCLK提供,并由TLV320AIC23的帧同步信号LRCIN、LRCOUT启动串口数据传输,DX1和DR1分别与TLV320AIC23的DIN和DOUT相连,可用于完成DSP与TLV320AIC23之间的数字通信。
3.2 通过I2C对TLV320AIC23进行编程控制
I2C模块接口由串行数据SDA和串行时钟SCL组成,SDA和SCL均为双向接口。连接在同一总线上的I2C设备可以工作在多主线(MultiMaster)工作模式下。包括TMS320C55x DSP在内的每个I2C设备都有唯一的设备地址可供软件寻址。其中,主设备用于发送时钟并启动数据传输,被主设备寻址的则为从设备。这些设备根据各自的功能,既可以作为发送器,也可以作为接收器。
设计时,可根据具体需要,使用如下代码来对TLV320AIC23进行寄存器写操作:
T0=0x1a; T0=从写地址,根据电路设计应为0011010b(见表2)
call Init I2C
T1=#0x02
XAR0=#0h
AR0=Register ; AR0=所要写入的寄存器的
地址和对应于该地址的值
call write I2C
NOP
return
这里应注意以下三点:
(1) 在写过一次I2C地址后,只能对一个寄存器进行写操作,而不能一次性对所有寄存器进行写操作。也就是说,对每个寄存器写之前都要按部就班的写一遍I2C地址。
(2) I2C模式下,数据是分为三个8Bit写入的。而TLV320AIC23有7位地址和9位数据,也就是说,需要把数据项上面的最高位补充到第二个8Bit中的最后一位。
(3) 在对控制寄存器的编程过程中,对应于每一次工作状态的改变,不能仅仅修改某个寄存器的值,而是要对这十个寄存器都重新写入一遍,否则系统将无法正常工作,而且应首先写Register10,同时还应对所有寄存器进行复位处理。
3.3 DSP的多通道缓冲串口(MCBSP)设置
由于TLV320AIC23采样输出的是串行数据,因此需要协调好与之相配的DSP的串行传输协议。所以必须对DSP的串口进行正确设置。
MCBSP串口一般通过六个引脚使数据通路和控制通路与外部设备相连。数据经MCBSP串口与外设的通信一般通过DR和DX引脚传输,控制同步信号则由CLKX、CLKR、FSX、FSR等四个引脚实现。
由于MCBSP串口的数据线DR和DX带有缓存寄存器,而帧同步信号FSX、FSR以及时钟信号CLKX、CLKR具有可编程性,因此,它与TLV320AIC23之间的接口设计非常灵活。从这些特点可以看到:将MCBSP串口设置为SPI工作模式,然后使串口的接收器和发送器同步,并且由TLV320AIC23的帧同步信号LRCIN、LRCOUT启动串口传输,同时将发送接收的数据字长设定为32Bit(左声道16Bit,右声道16Bit)单帧模式,就可以方便地实现与TLV320AIC23之间的无缝连接。
4 结束语
通过上述步骤对硬件系统进行设计编程,就可使TLV320AIC23正常工作,从而实现AD、DA以及与之相连接的DSP的正常数据通信,同时实现对语音的采集与回放等基本音频处理功能。通过在Code Composer Studio V2上的实际编程以及在硬件系统中的实际联调,证明:这种设计是合理和正确的。另外,如果把G.723.1的编解码算法移植到DSP算法处理中,则完全可以把该模块嵌入到网络会议的可视电话中作为语音处理模块。这种设想在DSP具体的算法实现上已经仿真试验通过。而对于实际嵌入到可视电话中,进而与H.324相结合来对视频音频数据的混合处理等一系列问题,则是今后进一步探索研究的方向。
评论