《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于TMS320C5402的语音信号压缩存储系统设计
基于TMS320C5402的语音信号压缩存储系统设计
来源:电子技术应用2010年第6期
杨明远,何 颖
湖南商务职业技术学院,湖南 长沙410205
摘要: 根据TMS320C5402的特点,提出了采用G.711语音编解码算法设计的语音压缩系统,给出了系统的硬件结构和软件流程及A/D、D/A模块与TMS320C5402接口电路的设计方法。该系统具有很高的实时性和实用性。
中图分类号: TN912.3
文献标识码: A
Design of speech compression and storage system based on TMS320C5402
YANG Ming Yuan,HE Ying
Hunan Vocational College of Commerce, Changsha 410205,China
Abstract: According to the architecture of TMS320C5402,a speech compression system using G.711 codec algorithm is designed.The hardware structure and flow chart of this system are given,and the method of interface designing based on TMS320C5402 with ADC and DAC are also presented.This system has the qualities of real time and practicability.
Key words : speech compression;TMS320C5402;TLC320AD50C;master-slave mode

    近年来,随着多媒体信息技术和网络技术的高速发展,数字语音压缩技术的应用领域越来越广泛,尤其在可视电话、IP网络电话、数字蜂窝移动通信、综合业务数字网、公共交换电话网和话音存储转发系统等领域中,需要在保证语音一定质量的前提下尽可能降低其编码比特率,便于在有限的传输带宽内让出更多的信道用于传送图像、文档、计算机文件和其他数据流。本文研究A律压缩算法的应用,给出音频接口芯片TLC320AD50CTMS320C5402的接口设计,以实现语音信号的压缩、存储和回放。
1 语音信号压缩原理
    μ/A律压缩解压编码是国际电报电话协会CCITT(Consultative Committee for International Telegraph and Telephone)最早推出的G.711语音压缩解压编码。其中欧洲和中国等国家采用A律压缩解压编码,美国和日本等国家采用μ律压缩解压编码。由于本系统采用A律压缩解压算法,这里只介绍A律压缩原理。
    A律压扩的数学解析式为:
  
    式中:y为输出信号;x为输入信号;A为压缩系数。
    由上式得知,小信号时为线性特性,大信号时近似为对数特性。这种压扩特性常把压缩、量化和编码合为一体。A律可用13段折线逼近(相当于A=87.6),便于用数字电路实现[1]。13段折线的压缩特性如图1所示。图1分段为x取正值时的情况,而x取负值时,压扩特性与x取正值成奇对称,在正8段和负8段中,正1、2段和负1、2段斜率相同,合为一段,所以原来的16段折线变为13段折线。

    在进行A律压缩时,采样后的12 bit数据,默认其最高位为符号位,压缩时要保持最高位即符号位不变,原数据的后11 bit要压缩成7 bit。这7 bit码由3 bit段落码和4 bit段内码组成。压缩变换后的数据根据后11 bit数据大小决定。具体的编码表如表1所示。

2 系统硬件接口设计
    本系统实现的是G.711标准A律压缩编码的语音处理过程。系统以TMS320C5402为核心,完成语音压缩、存储、解压功能。语音采集与输出模块采用TI公司推出的一款高性能的立体声音频Codec芯片TLC320AD50C,内置输入和输出放大器,且对输入和输出都具有可编程增益调节。
2.1 模拟接口设计
    模拟信号输入电路如图2所示。语音信号放大器经过前端放大器TLC2272ACD放大、带通滤波、单输入信号转换为差分信号后,送入AD50C的A/D转换器的差分输入端(INP和INM)。A/D转换器将输入的模拟信号转换为以二进制补码表示的数字信号。

    模拟信号输出电路如图3所示。经D/A转换、内部低通滤波恢复的模拟信号从AD50C的OUTP管脚输出。外部放大滤波电路选用LM356运算放大器,放大后的信号送扬声器还原成声音。

2.2 数字接口的设计
    TLC320AD50C支持与TMS320C5402无缝对接,接口电路如图4所示。将TLC320AD50C设置成主动工作模式,输入主时钟MCLK为8.192 MHz,采样频率选择为8 kHz,内部PLL使能(控制寄存器4中的N=8)[2]。通过寄存器设置,将TMS320C5402的FSX、FSR、CLKR、CLKX配置为外部输人,TLC320AD50C的SCLK配置为内部产生。数据接收/发送帧同步信号、移位时钟信号均由TLC320AD50C产生,串行口的接收/发送过程受TLC320AD50C的控制。

3 系统软件接口设计
    系统程序流程图如图5所示,软件设计工作主要包括以下几方面:

    (1)TMS320VC5402串口的初始化。首先将DSP串口0复位,再对串口0的寄存器进行编程,使DSP串口工作在以下状态:以SPI模式运行,每帧一相,每相一个字,每字16 bit,帧同步脉冲低电平有效,并且帧同步信号和移位时钟信号由外部产生[3]。
    (2)AD50C初始化。该初始化操作过程包括通过TMS320C5402的同步串口发送2串16 bit数字信息到AD50C。第一串为0000 0000 0000 0001B,最低有效位(bits0)为1,说明下一个要传输的数据字属于次通信。第二个数据用来对AD50C的4个控制寄存器的某一个进行配置。15~11位为0,10~8位为所选寄存器地址值,7~0位为所选中寄存器的编程值。通过对4个可编程控制寄存器编程,使AD50C工作在以下状态:选择INP/INM为工作模拟输入,15+1 bit ADC和15+1 bit DAC模式,不带从机,采样频率为8 kHz,模拟信号输入和输出放大增益均为0 dB[4]。4个寄存器初始化需要4个主通信和次通信。
      (3)压扩算法的实现。TMS320C5402内部的缓冲串口(McBSPs)带有硬件实现的μ律和A律压缩解压,用户只需要在相应寄存器中进行设置就可以了,本系统通过软件编程来完成线性码转换成A律。在主程序中通过A/D抽样量化得到线性编码,再由编码表通过软件计算得到8 bit A律编码,其中最高位为符号位,第6 bit到第4 bit为段落码,低4 bit为段内码。将8 bit的压缩结果存储到系统RAM中进行缓存,根据抽样率、语音存储时间以及系统RAM的容量设置语音存储缓冲区的大小,待缓冲区存满后,将缓冲区内的数据进行解压缩,然后输出到SPEAKER接口输出。
4 系统实验结果
    硬件调试成功后,使录音时间达到5 s左右。通过CCS观察数据图形,图6为压缩前的语音信号波形,图7为压缩后的语音信号波形;通过回放,试听解压后语音信号无明显失真。实验结果说明系统成功实现了语音信号的压缩存储。

    本文所介绍的MS320C5402与TLC320AD50C的组成语音压缩存储系统,接口电路简单,编程方便,且程序代码已在CCS3.1开发环境上得到验证。
参考文献
[1] 宋依青,何松.一种基于DSP语音信号线性与非线性量化相互转换的新方法[J].微电子学与计算机,2008(11):36-39.
[2] 徐速.基于DSP的实时语音压缩[J].微计算机信息,2007(2):61-64.
[3] 李利.DSP原理及应用实用技[M].北京:中国水利水电出版社,2004:200-210.
[4] TLC320ADC/TLC320AD52C Data Manual. Texas Instruments,2002.

此内容为AET网站原创,未经授权禁止转载。