用l9320实现adpcm语音编解码

摘要:L9320是LANWAVE公司推出的一款自适应音频脉冲编码(ADPCM)编解码器。该器件除具有正常的ADPCM编码解码模式外,还有PCM编解码模式、电源测试模式以及编解码器测试模式。文中主要对L9320编解码器的工作原理和使用方法进行了分析,给出了L9320在便携式语音系统中的典型应用电路。 关键词:语音编码器;编解码;ADPCM;PCM;L9320L9320是LANWAVE 公司生产的一款自适应音频脉冲编码(ADPCM)编解码芯片,它所采用的语音压缩编解码方法符合国际电话与电报顾问委员会(CCITT)的G.721和G.726标准,同时也兼容CCITT的G.714标准。L9320 可以将模拟话音转化成速率为32、24或16kB/s的数字信号;并可将相同速率的数字信号进行逆变换以形成模拟话音信号。L9320具有ADPCM编解码器和PCM编解码器/滤波器的双向信号通道,除具有正常的ADPCM编解码模式外,还具有PCM编解码模式、电源测试模式和编解码器测试模式。应用L9320的不同速率信道可实现不同的倍增比,从而有效提高信道的利用率。1 L9320的主要功能1.1 概述L9320带有可预设的串行端口(SSP),该端口可与16字节的状态设置寄存器进行接口。微控制器能够从SSP接口获得内部的数据。另外,该芯片由于包含有带PCM编码解码滤波器的输出放大器,因而能够对模拟接口进行简单控制。L9320主要具有以下特点:●能在2.7~5.25V电压范围内全双工工作;●主时钟频率为10.24MHz?●内部集成有14bits的A/D和D/A转换器;●可完成μ律和A律压缩;●可以对32、24和16kB/s的数据进行ADPCM编码,编码后的数据可以达到128?2048kbps;●具有可编程的发射增益、接收衰减和侧音增益控制功能;●采用28脚DIP或SOP封装。1.2 引脚功能L9320的引脚排列如图1所示。

2 L9320内部原理图2给出了L9320的内部功能原理框图。该器件包括∑-Δ编解码滤波、电源管理、DSP处理和寄存器状态控制四个子系统。2.1 电源管理L9320的电源管理系统主要由一组专为模拟信号处理单元供电的5V电源和一组专为数字信号处理单元供电的3V电源组成。除了输出功率放大器AX0和PO外,所有的模拟电路都由这组5.5V电源供电。值得注意的是,AX0和PO的驱动电流由VEXT引脚提供。当VEXT为+5V±5%时,VDD应该与VEXT直接相连,而没有必要使用充电电容C1+和C1-。但此时BRO?b2?必须设置为“1”,以使充电电流泵电路关闭。当VEXT为2.7~5.25V时,VDD是电流泵电路的输出电压,因此不能与VEXT相连接,而应通过0.1μF的电容耦合到Vss。全数字电路应通过VDSP由3V供电,不管VEXT上的电压如何变化,数字电路部分均由VDSP供电,这样能够降低芯片的总功耗。要注意的是,VDSP应该通过0.1μF的电容耦合到Vss。此外,其它的模拟参考电压,如RO、AX0和PO上的电压大小均可由BR0?b2?决定,一般为2.5V或VEXT/2。2.2 ∑-Δ编解码滤波通常在PCM通信系统中,当语音信号进入PCM编码器之前,必须经过一个300~3400Hz的滤波器,以滤除语音中的高频分量,从而防止抽样过程中可能出现的混叠现象,这个滤波器也称为前置去混叠滤波器。由于PCM解码器的输出信号是阶梯波形,因此必须采用一个具有x/sinx补偿因子的300~3400Hz 的低通滤波器,才能恢复出原语音信号。但是,音频模拟滤波器的小型化始终是一个难题,在此频段,采用LC滤波器进行设计是最不可取的,而RC有源滤波器虽然可使电路体积减小,但在灵敏度、稳定性和精度方面也不能令人满意。因此,设计时应尽量采用L9320内部集成的开关电容滤波器,它的准确性和温度稳定性都很高。L9320内部本身带有采用∑-Δ技术的线性14bit PCM编解码滤波器。L9320可分为发射通道和接收通道。对于发射通道,当 麦克风的模拟信号送入功率放大器后,其放大增益可以通过增益控制模块由软件进行控制,范围为0~7dB,步进量为1 dB。∑-Δ调制功能模块以1.024MHz的频率对输入的模拟信号进行过采样,下一级的抗混叠滤波器可将采样频率降到32kHz,接着再对其进行4倍抽取而得到8kHz。这样经过各种滤波处理后,A/D后的14bits数据便可以送入DSP处理模块以进行进一步的处理。对于接收通道, DSP处理模块中Rx衰减控制部分的14bits线性数字信号首先送入数字抗混叠内插滤波器,以完成与发射通道相反的功能,采样率也将从8kHz(14bits)提高到1.024MHz(14bits),∑-Δ解调功能模块则将14 bits采样(1.024MHz)转换为1bit采样(1.024MHz)。输出的数字信号送入开关电容低通滤波器,再经平滑滤波器消除由电容滤波器所引起的其它频谱成分,同时恢复出原语音信号。最后,再将输出的模拟信号送入功率放大器RO输出。需要说明的是,L9320中另一个功率放大器PO采用的是推挽式结构。AX0和PO在不同的应用电路中有不同的配置方式,其中AX0主要用于便携式领域,而PO主要用于高增益范围,此时的增益范围可以通过外部的两个电阻来调节。2.3 DSP处理模块DSP处理模块是L9320中最核心的部分,同样也可以分为发射通道和接收通道。发射通道主要完成侧音增益处理、μ/A律压缩以及ADPCM编码和音调编码。而在侧音增益部分,输入采样将反馈到接收通道并和数字接收增益输出相加,然后将A/D后的结果依次存入BR9?b7?b0?和BR10?b7?b2?寄存器。ADPCM编码/音调编码到底是提供16kbps?24kbps、32kbps的ADPCM数据,还是提供64kbps的PCM数据,应根据所传输的帧形式来决定。帧长代表的是帧同步FST为“1”时(即FST有效时)BCLK的上下降沿的个数。由于帧同步时钟为8kHz,因此,每125μs应进行一次编码中断请求。在接收通道,L9320通常在BCLK和FSR的控制下从DR接收 串行数据口的数据。同样,由于接收帧同步时钟为8kHz,因此,每125μs应发一次解码中断请求;而ADPCM解码/音调解码不但可以提供16kbps、24kbps或32kbps的ADPCM数据,而且可以提供64kbps的PCM数据。L9320的数字接收增益灵敏度范围可以通过SSP端口的BR3(b0:b0)进行选择和控制。为了消除噪声影响,还可以通过设置BR7(b6)使能噪声检测算法来检测干扰杂音,以便在必要的情况下采取降噪措施。把重建后的线性PCM数据进行同步并送入SSP端口的BR11(b7?b0),可进行G.726 CCITT标准调整。合成后的PCM数据将和发射通道侧音增益模块的反馈信号进行叠加,然后再送入Rx衰减增益控制模块以保护输出驱动器和避免失真;Rx衰减增益可以通过SSP端口的BR2(b2?b0)寄存器来进行选择和控制,其衰减范围为0dB~-7dB,增益步进量为1dB。


用l9320实现adpcm语音编解码 :  
图2
2.4 时序和控制L9320的时序和控制部分主要用来提供诸如∑-Δ编解码滤波所需的1.024MHz和8kHz等时钟信号。DSP处理部分的MCLK主时钟可以异步于其它部分的时钟,它在无线应用中的典型值为10.24MHz或16.384MHz。∑-Δ编解码滤波可以直接利用BCLKR来作为1.024MHz输入时钟,但是它的上升沿必须和FST的上升沿基本保持一致。如果选用这种模式,则应由BCLKT控制ADPCM的收发工作,这可以通过配置SSP端口的BR0?b7?寄存器来实现。此外,有两种方法可以降低芯片的总功耗。第一种方法是使PDI/RESET保持为0,这样可使硬件电路处于低功耗状态。第二种方法是利用软件来实现,即当BR0(b1)设置为模拟低功率状态时,所有的模拟信号处理时钟将停止工作;而当BR0(b0)设置为1时,所有的数字信号处理时钟将停止工作。如果芯片处于低功耗状态,那么,VAG、TG、RO、PO、AXO、DT和SSP Tx的输出均为高阻态;而当功耗模式被重新激活时,ADPCM算法便复位到CCITT初始状态。
3 L9320的应用将L9320编解码器用于典型的无线便携式产品时,VEXT可以采用2.7~5.25V的电池供电,电路的连接方法如图3所示。要注意的是,这里的VDD和VDSP不能用来对外部系统供电,而且在这种模式下,SSP端口的BR0(b2)寄存器必须首先清零。L9320可以广泛应用于低成本无线语音通信产品中,笔者所在的科研小组曾用L9320成功开发出了无线会议系统的ADPCM语音编解码电路,该系统中,L9320编解码器的控制是由MCS-51系列单片机完成的。此外,L9320也可以广泛应用于公共电话交换网中。
图3
4 结束语L9320音频脉冲编解码器具有ADPCM编解码器和PCM编解码器/滤波器的双向信号通道,它除具有正常的ADPCM编解码模式外,还有PCM编解码模式、电源测试模式和编解码器测试模式。因此,应用L9320的不同速率可在各信道实现不同的倍增比,从而有效提高信道的利用率。L9320有两个主要应用领域:一是无线电话系统,二是在公共电话交换网中进行线路对话量的增容。此外,L9320还可用于便携式、低功耗无线通信产品中,比如无线会议系统等。


用l9320实现adpcm语音编解码 :