用TMS320C54x DSKplus Board构建声回波对消器
2009-04-29
作者:王春霞 谭 凯 王永德
摘 要: 介绍了TMS320C54x DSKplus Board的基本结构和硬件特点,并以DSKplus Board构建声回波对消器为例,介绍了DSKplus Board的硬件接口扩展技术。
关键词: DSP TMS320C54x DSKplus Board 声回波对消器
TMS320C54x DSKplus Board(DSK)是一种成本低、性能好的DSP入门套件。采用简便直观的代数语言编程,使初学者能迅速入门;同时,由于硬件上可以使用扩展板扩展存储空间及外部设备,也为广大的教师、科研工作者、工程技术人员学习及应用DSP提供了极大的方便。本文介绍以DSKplus Board构建的声回波对消器。该声回波对消器采用先进的自适应辨识算法,即通过对声回授通道的冲击响应的辨识,产生出同回声相似的信号,再从近端话音和回声中减去回声信号以达到回声对消的目的。声回波对消器需要两路A/D输入通道,由于DSK只有一路A/D输入通道,所以需要对其进行硬件上的扩展。在这里我们自行设计了另一路A/D输入通道,并利用DSK上的扩展口,非常方便地完成了硬件设计。经软、硬件调试通过后,工作正常。
1 TMS320C54x系列DSP简介
TI公司于1996年推出的TMS320C54x系列DSP是新一代的定点数字信号处理器。它采用先进的修正型哈佛结构,片内共有8条总线(1条程序存储器总线、3条数据存储器总线和4条地址总线)以及CPU、在片存储器和在片外围电路等硬件,并有一套高度专业化的指令系统。TMS320C54x DSKplus Board是一种成本较低、性能优秀的DSP入门套件。它具有一个独立的应用板,通过主机并口连接在用户PC上,可以检查TMS320 C54x CPU的结构、运行情况及其外部设备。同时,还有一个基于Windows的调试器,能逐条分析代码,并在相应的窗口实时显示DSP内部寄存器的信息。
2 自适应声回波对消器原理
自适应声回波对消器原理图见图1。远端话音经由未知的LRM(Louderspeaker-Room-Microphone)系统构成的声回授通道产生回声,回声又连同近端话音一起被传输到远端。在一个闭环系统中,可能会产生回声、啸叫等严重影响通话质量的现象。其回声对消的原理是:通过对未知LRM系统冲击响应的辨识,产生出一个同回声相同的信号,在近端话音及回声的混合信号传向远端之前从中减掉回声。自适应声回波对消器需要有两路A/D输入信号和一路D/A输出信号。TMS320C54x DSKplus Board上已有一路A/D输入通道及D/A输出通道,所以,只需在此基础上扩展一路A/D输入通道。
3 扩展DSK话音数据采集通道
DSKplus Board上的AC01模拟接口电路可以完成单通道的话音信号的数据采样,它具有以下特性:单片A/D和D/A转换器,14bit量化;内置式可编程反混迭滤波器;软件可编程取样率;软件可编程复位、增益、低功耗模式;可主从配置级联操作。它具有三种基本操作模式:单独应用模式;主从模式;线性编/译码模式。在DSKplus Board上,AC01接口直接与C542 TDM串口连接,它产生所需的移位时钟脉冲SCLK和帧同步信号脉冲FS,以便输入输出数据。这些脉冲由软件可编程存储器和AC01主时钟共同决定,主时钟由板上的振荡器产生,频率为10MHz。为了快速便地的扩展一个话音采集通道,可应用AC01的主-从工作模式,增加一个小型AC01电路板即可。增加的AC01主要连接如图2所示。DSKplus Board上的AC01作为主(Master)通道,扩展板上的另一个AC01作为从(Slave)通道。
注意:主AC01的FSD输出作为从AC01的FS信号,这样主从通道就能轮流地连续地对两路不同的话音信号进行采样了。
硬件电路完成后,再按设计要求对主从模式的两个AC01进行软件初始化。AC01具有九个可编程的内部寄存器,可通过修改这九个内部寄存器的内容来完成其配置。寄存器具体定义可参见文献[2]。现介绍几个重要的寄存器:
·寄存器1,A寄存器,其内容决定帧同步时钟和低通滤波器的-3dB截止频率:
FCLK频率=主时钟频率/(A寄存器内容×2)
低通滤波器的-3dB截止频率flp=FCLK/40
·寄存器2,B寄存器,其内容决定采样频率和高通滤波器的-3dB截止频率:
采样频率=FCLK/B寄存器内容
高通滤波器的-3dB截止频率fhp=采样频率/200
·寄存器7,帧同步延迟寄存器,其内容决定从AC01的帧同步信号相对于主AC01的延迟时间。
如果用AC01的主从模式,则要求寄存器7为最后一个初始化的寄存器,最小值18。
·寄存器8,帧同步个数寄存器,其内容决定系统中有多少个AC01,个数为从AC01的个数加1。
在声回波对消的应用中,要求主从通道均采用9kHz采样频率,通带为300Hz~3.4kHz(其中高通滤波器的-3dB截止频率由外部接口电路决定),两个通道轮流由TDM串口向DSP产生中断。相应的寄存器内容见源程序中的REG1~REG8,设计出的实际参数为:
采样频率:7.95kHz
低通滤波器的-3dB截止频率flp=3.37kHz
高通滤波器的-3dB截止频率fhp=40Hz
初始化AC01的源程序如下:
REGISTER.set 0cbH ;设定需要修改的寄存器号,Bit0~Bit7分别对应REG1~REG8,
1表示要修改;0表示不修改,用上电的缺省值
REG1 .set 125H ;A寄存器,内容为37
REG2 .set 211H ;B寄存器,内容为17
REG3 .set 300H
REG4 .set 409H
REG5 .set 501H
REG6 .set 600H
REG7 .set 722H ;帧同步延迟寄存器
REG8 .set 802H ;帧同步个数寄存器,在本应用中为一主一从
AC01INIT:
xf=0 ;复位ac01
intm=1 ;禁止所有中断
tcr=#10H ;定时器停止
imr=#280H ;当TDM发送时,从休眠状态启动
tspc=#0008H ;暂停TDM串口
tdxr=#0H ;发送0作为第一个数
tspc=#00c8H ;复位并打开TDM串口
xf=1 ;从复位状态释放AC01
;……………………Register init's……………………
.evalREGISTER & 1H,SELECT
;如果要修改REG1,则执行下列程序
.if SELECT=1H
a=#REG1 ;用REG1的值加载累加器A
call REQ2 ;调用REQ2子程序初始化寄存器值
.endif
.eval REGISTER & 2H,SELECT
;如果要修改REG2,则执行下列程序
.if SELECT=2H
a=#REG2
call REQ2
.endif
.eval REGISTER & 4H,SELECT
;如果要修改REG3,则执行下列程序
.if SELECT=4H
a=#REG3
call REQ2
.endif
.eval REGISTER & 8H,SELECT
;如果要修改REG4,则执行下列程序
.if SELECT=8H
a=#REG4
call REQ2
.endif
.eval REGISTER & 10H,SELECT
;如果要修改REG5,则执行下列程序
.if SELECT=10H
a=#REG5
call REQ2
.endif
.eval REGISTER & 20H,SELECT
;如果要修改REG6,则执行下列程序
.if SELECT=20H
a=#REG6
call REQ2
.endif
.eval REGISTER & 80H,SELECT
;如果要修改REG8,则执行下列程序
.if SELECT=80H
a=#REG8
call REQ2
.endif
.eval REGISTER & 40H,SELECT
;如果要修改REG7,则执行下列程序
.if SELECT=40H
a=#REG7
call REQ2
.endif
return
REQ2
ifr=#080H ;清除中断标志寄存器IFR
tdxr=#03H ;请求AC01的二次通讯
idle(1) ;等待第一次发送
tdxr=a ;把寄存器内容送到串口
ifr=#080H ;清除中断标志寄存器IFR
idle(1) ;等待二次发送
tdxr=#0H
ifr=#080H ;清除中断标志寄存器
idle(1)
return ;中断返回
在自适应声回波对消的主程序中,当有AC01中断时,中断服务程序首先判断数据是从哪一个通道送来的,主通道还是从通道?可通过接收数据的最低两位D01 D00检测出来。若LSBS是00,表明是主通道传来的数据,程序转向主通道的中断服务程序。若LSBS是01,表明是从通道传来的数据,程序转向从通道的中断服务程序。
以上硬件电路已经成功地应用于实时声回波对消器中。当然,最终的产品应该是独立的脱机系统。但在研发初期,与从头设计一个DSP系统相比,扩展DSKplus Board的接口功能,为科研人员节省了大量的时间,也避免了由于开发初期考虑不周,造成反复设计DSP系统的巨大浪费,使科研人员能把主要的精力投入到需要创新、需要反复验证的关键步骤。由此看来,价廉且性能佳的DSK不仅能作为初学者入门的良好套件,也是科研人员加快初期研发工作进度的有力工具。
参考文献
1 TMS320C54x DSKplus DSP Starter Kit User’s Guide. TI,1996
2 TLC320AC01C Single-Supply Analog Interface Circuit Data Manual.TI,1996
3 TMS320C54x DSP Algebraic Instruction Set Reference Set.TI,1996
4 B.Farhang-Boroujeny.Fast LMS/Newton algorithms based on autoregresive modeling and their application to acoustic echo cancellation.IEEE Trans.Signal Processing,1997;45(8)