基于TMS320C6713的多路CVSD语音编解码
64 Kb/s的A律或μ律的对数压扩PCM编码在大容量的光纤通信系统和数字微波系统中已得到广泛应用,但由于占用较大的传输带宽和具有复杂的成帧结构。连续可变斜率增量(ConTInuously Variable Slope Delta,CVSD)调制以其较低的应用难度、成本和编码速率,较好的语音质量广泛应用于战术通信网、卫星通信、蓝牙等无线语音传输领域。于是不同码制的网络之间的互连对两种码制之间的转换提出了更高的要求。针对近年来FPGA、DSP技术的不断发展,本文提出了一种满足此需求的设计方案,以适应通信技术日新月异的发展。
1 多路数据信号的收发
1.1 McASP(MulTIchannel Audio Serial Port)
McASP在C5000系列DSP处理器基础上新增加的一个专门用来实现多通道音频应用的通用串行端口,它包括收/发两个功能部件,二者问即可完全同步也可各自采用完全独立的主时钟、位时钟和帧同步时钟,具备不同的数据传输模式和位码流格式。支持多种数据协议:I2S,S/PDIF,IEC60958-1,AES-3等格式码流,支持时分复用(TDM码流),多达32个通道进行收发传输的字长可以是8位/12位/16位120位/24位/32位等。
1.2 多路数据收发的实现
1.2.1 TDM模式
本文讨论的是音频数据的传输,当MCASP工作于TDM格式时可以用于DSP和多个ADC及DAC直接相连接。数据的多路传输取决于每一收(发)帧多达32个时隙的传输模式。图1显示了6个SLOT的传输模式。
TMS320C6713的多路数据输出/输入需经过一个数据组合和分离的时序控制单元,这一任务由一块FPGA完成,其功能是接收所有来自DSP的数据,将相同的时隙组合在一起后根据相应的连接设备的时序送出,同时将来自不同的设备的数据组合后以TDM的方式送入DSP,如图2所示。
1.2.2 时钟和帧同步
通过设置DSP的收发帧同步控制寄存器可以设置TDM的具体模式,而相应的位时钟、帧同步时钟可由编程控制由外部产生或直接由内部产生,图3是时钟的相关控制关系。高频时钟AHCLKX可由高频时钟控制寄存器设置为内部产生或外部输入,ACLKX可由时钟控制寄存器设置为内部产生或外部输入。如果采用内部高频时钟,则由AUXCLK经分频后得到,分频数值由高频时钟控制寄存器的0~11 b决定;高频时钟分频后得到位时钟,分频数值由时钟控制寄存器的0~4 b决定。
1.3 AD采样和语音信号的回放
TLV320AIC23B是输入输出模拟音频接口编解码器,该编解码器采用了Sigma-Delta技术进行数模和模数转换,并和McBSP直接相连,AIC23还提供了麦克风输入、线性输入、线性输出和耳机输出4个模拟接口。TLV320AIC23B的控制字可通过SPI方式或者I2C方式写入。图4是I2C方式控制字的读写时序图。设定控制寄存器的工作方式后即可利用TLV320AIC23B对语音信号进行高精度的采样和回放。
2 CVSD编解码
CVSD也叫数字检测音节压扩增量调制,进入实用阶段已有十多年的历史。数字CVSD编译码器中音节平滑滤波器及编译码器中的主积分器的转移函数如下:
音节平滑滤波器:
编码器双积分器:
译码器主积分器:
图5是编译码器的流程图。对上述公式做Z的反变换可以得到三个差分方程,按照相应的差分方程实现相应的编解码器代码编写。
3 PCM码与CVSD码的转换
PcM码采样频率是8 kHz,CVSD编码的采样频率是16 kHz,把PCM码转化为CVSD码先要把PCM码转换成线性PCM,然后加2倍内插低通滤波器以使采样频率从8 kHz变换到16 kHz,之后送入CVSD编码器生成16 Kb/s的CVSD码;CVSD码转化成PCM码则是一个相反的过程,即将CVSD码送入译码器即可得到线性的PCM码,与此时的PCM码相对应的采样频率为16 kHz,而不是8 kHz。为使采样频率从16 kHz变换到8 kHz,需要加2倍抽取低通滤波器,把线性PCM变换成A律PCM。而滤波器可以选择FIR滤波器。
4 结 语
本文提出的多路音频数据的输入/输出设计,利用了6000系列DSP的高速数据处理功能,同时处理多路数据的CVSD编解码、PCM码与CVSD码的相互转换,对于不同码制的网络之间的互连具有重要的应用意义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)