语音信号处理在通信领域得到了广泛的应用,语音传输的数字化是全数字化移动通信系统中的重要环节。高质量、低速率的话音编码技术与高效率的数字调制技术结合,为现代移动通信提供了优于模拟移动通信的系统容量、通信质量和频谱利用率。现代移动通信的发展也对系统的功耗提出了较高的要求,因此低功耗、高性能的DSP已经越来越广泛地被应用于各个领域。本文介绍采用美国德州仪器公司(TI)开发出来的TMS320VC5510A,利用其数据处理能力及低功耗特性,并且结合MSP430F149增加了系统的控制能力,进行各种语音算法的实时实现,对于实际开发语音处理系统具有重要的参考价值,并且该平台已经应用于实际产品中。
语音算法多种多样,要求语音处理系统的前端提供符合算法精度要求的数字采样信号,因此要求前端的A/D、D/A具有较高的采样率和采样精度。语音处理系统还有实时性的要求,在一些应用中还要求语音编解码算法、加解密算法、信道编解码算法甚至调制、解调算法都在同一块芯片中实现,因此要求系统的数据处理能力强,存储空间大。在通常的DSP应用系统中,DSP加上存储器、A/D、D/A和外设接口就可以实现。但是越来越多的场合要求系统完成与外部系统的通信和控制,例如人机接口、信道传输设备等控制功能。这些均可以采用MCU+DSP的结构,以弥补单一DSP系统控制能力差的不足
模拟话音经过功放构成的带通滤波器,通过TLV320AIC10的模/数转换器(ADC)转换成8 000Hz的数字信号,该采样信号的精度为16位,对输入模拟信号的幅度要求为-3.3~3.3V。数字化的语音信号通过同步串口(McBSP)传送到DSP(TMS320VC5510A)内部缓冲区,送入编码器进行编码,得到的数据流通过同步串口(McBSP)及信道接口传给终端,经过信道编码后传输。从信道收到的码流经过终端解码通过同步串口(McBSP)传给DSP内部的缓冲区,送入解码器进行解码,得到的数字化语音再通过同步串口(McBSP)传给TLV320AIC10的模/数转换器(ADC),转换成模拟信号输出。为了增强该硬件平台的控制能力,DSP(TMS320VC5510A)通过主机接口(HPI)与MCU(MSP430F149)进行通信。并且增加了存储器Flash(SST39VF800A),以保证可以进行脱机运行。
由于MCU具有较强的事件响应能力以及DSP具有较强的数据处理能力,因此可以通过MCU针对不同算法动态地改变系统的工作频率及DSP的工作状态,从而降低系统功耗。例如在该平台运行清华大学自主研制的600、1 200、2 400bps语音算法,需要针对不同算法要求不同的数据运算量进行动态配置。DSP采用MCU提供的8.192MHz的时钟、通过片内集成的DPLL进行倍频得到所需要的主时钟。由于系统的部分代码是处于54兼容模式下,所以在系统软件的主函数中,当不需要进行编解码操作时,系统可以处于正常状态,即IDLE1或IDLE2状态。更具体的管理可以使用c55x系列的IDLE domain(IDLE域)机制进行管理[6]。3种状态具体描述如下:
NO IDLE:定时器、通用串口和内核均处于正常工作模式。
IDLE 1:定时器和通用串口正常工作模式,内核处于IDLE状态,由中断唤醒。
IDLE 2:定时器、通用串口和内核都处于IDLE状态,由中断唤醒。
针对不同的算法,由于要求的数据运算量不同,能够保证算法工作的系统频率也不同。通过对不同的数据运算要求动态调整系统的工作状态,可以限度地实现降低功耗的目的,从而实现针对不同运算量的功耗控制。实际使用中,当DSP:运行600SELP算法时,系统工作在32.768MHz;运行1 200SELP算法时,系统工作在40.960MHz;运行2 400SELP算法时,系统工作在24.576MHz。与单一的运行在81.92MHz情况下相比,系统功耗分别降低了41%、36%、48%,大大减少了系统功耗。
该硬件平台已经成功运行了G.723.1、G.729A/B和CVSD等算法,并且获得了良好的效果,具有广阔的应用前景。