>
首页 » 业界动态 » 基于DSP与模拟接口电路的语音处理系统研制

基于DSP与模拟接口电路的语音处理系统研制

作者:江汉红,亓 科,李 庆,龚 建  时间:2007-01-22 01:30  来源:

摘 要:给出了一种基于TMS320C54X数字信号处理芯片和TLC320AD50C模拟接口电路(A IC)的语音处理系统方案,同时提供了采用汇编语言编写的语音处理程序。这个系统可用于多种语音处理场合,通过修改程序可达到不同的语音处理效果,具有良好的扩展性、灵活性和适应性等。

关键词: TLC320AD50C; TMS320C54X;语音处理;数字信号处理

 引 言

语言是人类相互沟通信息的重要工具。随着现代科学技术的发展,特别是语音通信和各种语音产品的广泛普及,语音信号的数字化处理在越来越多的领域中发挥着巨大的作用。

一个完备的语音信号处理系统不但要具备语音信号的采集和回放功能,而且更重要的是要能完成复杂的语音信号分析和处理算法。通常这些算法运算量大,且又要满足实时或准实时的快速高效处理要求,因此需采用高速DSP 芯片。另外,在要求系统满足较好的通用性的同时,针对不同的应用和不断出现的新处理方法,还要使系统便于功能的改进和扩展。

因此笔者采用TMS320C54X为信号处理的核心,结合模拟接口电路TLC320AD50C来设计一个基本的语音处理系统(以下简称BVP系统) 。该系统结构简单,性价比高,易于实现,便于系统的改进和升级,并且经测试同样可以达到很好的语音处理效果。

BVP系统的硬件实现

该系统首先将语音信号经过LM358进行放大和滤波, 通过TLC320AD50C TMS320C54XDSP的串行接口进行语音处理,最后经过滤波和通过LM386功放进行功率放大后送出经过处理后的声音。

 TMS320C54X DSP的串口

不同的TMS320C54X DSP 器件有不同的接口,SSPBSPMCBSP以及TDM,但均以标准串行接口( SSP)为基础,都能直接与AD50C相连。

CPU读出来自数据接收寄存器(DDR)的数据,而向发送寄存器(DXR)写入要发送的数据。在接收引脚DR所接收的数据通过接收移位寄存器(RSR)和接收缓冲寄存器(RBR)被移入到寄存器DRR, CPU就可以读DRR 中的数据并加以处理。类似地,写入DXR的数据通过发送移位寄存器(XSR)移出到发送引脚DX

 

TLC320AD50C简介

TLC320AD50CTI生产的一种具有主/从功能的模拟接口电路(A IC) ,它是一个音频段的处理器,使用Sigma - Delta技术提供从数字至模拟(D /A)和模拟至数字(A /D)的高分辨率低速信号转换,并且可以很容易地与TMS320C54X系列的DSP 的标准串行口( SSP) 、缓冲串行接口(BSP) 、多通道缓冲串行接口(MCBSP)以及时分多路串行接口(TDM)等相连接,构成模拟数字转换和数字模拟转换系统。

该芯片包括2个串行同步转换通道(用于各自的数据方向) ,DAC之前有1个插入滤波器和1个抽取滤波器,其他的高级功能有片内时序和控制。Sigma - Delta结构在低系统速度下产生高分辨率的模数和数模转换。内部电路的配置以及性能参数的设置都是通过设置4个控制寄存器来实现,控制寄存器的设置又可通过串行接口的编程实现,如复位、掉电、通信协议、串行时钟率和信号采样率等。

  TLC320AD50C1ADC通道和1DAC通道以及与之相联系的数字控制电路组成。2个通道同时工作, DAC通道的数据接收以及ADC通道的数据传送是在同一时间间隔内进行的。数据的传输格式是2的补码。它的ADC信号通道和模拟信号均进行差分处理,对不希望的信号能够产生极好的共模抑制,直到变换为数字信号。信号由输入放大器放大,3种放大增益供软件选择,典型增益为0dB8dB 18dB。它的DAC通道在首次串行通信期间由D IN引脚接收来自主机的16位串行数字(2的补码) ,并在SCLK的第17个上升沿将数据锁存。

TLC320AD50C 数字串行接口由移位时钟SCLK、帧同步信号FSADC通道数据输出DOUTDAC通道数据输入D IN构成。在首次串行通信期间(即首次16位帧同步信号期间) , SCLK传送来自DOUT引脚的ADC通道的转换数据,并将来自主机的16DAC数据传送到D IN。在二次串行通信期间(即二次帧同步时间间隔内) ,则是SCLKDOUT端传送寄存器读出的数据。此外, SCLK将控制和器件参数信息传入D IN端。首次串行通信发生于每个转换周期,二次串行通信只发生于有请求时。有2种方法可以请求1个二次串行通信。FC引脚有效可以请求1 个二次通信,此外首次串行通信中的DAC数据的LSB也可请求1个二次串行通信。选择使用哪一种方法由控制寄存器1来决定。

 

TLC320AD50CDSP的串行接口

TLC320AD50CTMS320C54X的串行接口的连接图如图1所示。

TLC320AD50C的时钟信号由MCLK接入,笔者采用10 MHz作为时钟信号。模拟接口电路的采样速率以及内部滤波决定于MCLK的分频比,它由TLC320AD50C内部的控制寄存器4 决定。主/从选择输入端M /S 接高电平, 选择TLC320AD50C为主器件,则由外接的主机时钟MCLK产生移位时钟SCLK和帧同步信号FSDSPCLKXCLKR 2 个时钟信号接在一起,TLC320AD50C 的移位时钟信号SCLK相连;DSPFSXFSR 2个帧同步信号也接在一起,TLC320AD50C的帧同步信号FS相连,这样就保证了同步串行口( SSP)的接受和发送两边都使用同样的时钟信号和帧同步信号。

比较C54XAD50C的资料,一个明显的差别是DSP的帧同步信号是高电平有效,AD50C的帧同步信号是低电平有效。仔细分析可发现,DSP希望在传输开始之前有一个高电平有效的脉冲;TLC320AD50C定义的帧同步信号为一个低电平有效脉冲,并且持续传输16个脉冲周期,因此2种芯片实际上都是将帧同步定义为信号的下降沿。TLC320AD50C产生1个低电平有效的帧同步( FS)信号,其持续时间为16个移位时钟( SCLK)周期。AD50C以及DSP的同步串口都在移位时钟信号的上升沿传送数据,在移位时钟信号的下降沿接受数据。SCLK信号由AD50C内部通过MCLK分频得到。

同步串口是双重缓冲的,在接受和发送两方面都具有存储器映射的数据寄存器和移位寄存器。软件向数据发送寄存器(DXR)1个字,然后当发送移位寄存器(XSR)空的时候,这个字就自动传送到发送移位寄存器(XSR) 。当同步串口检测到帧同步信号的下降沿时,就开始将这个字从DX引脚,一位一位地移出发送移位寄存器。在接受端,利用数据接收寄存器(DRR)和接收移位寄存器(RSR)进行数据接收的过程和发送过程相似,一旦接收到1个字,接收移位寄存器的内容就移送到数据接收寄存器中。正是这些在数据寄存器和移位寄存器之间的数据传输触发了DSP的发送中断(XINT)和接收中断(R INT)的产生,与这2个中断信号相联系的标志位就是发送准备好(XRDY)标志和接收准备好(RRDY)标志,2个标志位是可变的且是只读的。

 BVP系统的软件实现

在本系统中,所有的采样处理均在R INT的中断服务程序中进行。在TLC320AD50C的初始化过程中,1个字的传送都是将其写入DXR,然后检测XRDY标志位,以便检测从DXRXSR的传送是否完成。当XRDY置位时, 1个新的字 就可以再次写入DXRAD50C的内部寄存器的设置是由一系列首次串行通信和二次串行通信来完成的。将FC接低电平,二次串行通信的请求全部采用软件请求。当AD50C在首次通信时接收到的16位数据的最低位被置位时,则下一个帧同步时间间隔内就是二次串行通信,接收的数据被用来设置内部的一个寄存器。首次通信与二次通信的数据格式如图2、图3所示,4为语音实时采集并回放的流程图。

 

结束语

随着语音处理芯片和DSP的迅速发展,语音处理系统一定会向着功能更完善,扩展性更强的方向迅猛发展。

相关推荐

超高速雷达数字信号处理技术

数字信号处理  雷达  2011-01-28

Tensilica发布第三代ConnX 545CK 8-MAC VLIW DSP内核

Tensilica  DSP  SoC  数字信号处理  2010-04-21

利用虚拟仪器进行数字信号处理设计

ESL综合解决方案提高DSP的设计效率,推动ASICS与FPGA器件发展

DSP核供应商灵活应对潜力应用

DSP与普通MCU的区别

在线研讨会
焦点