基于DSP语音识别系统的设计
2013-09-21贺秀玲
张 显,贺秀玲
(防灾科技学院,河北 三河 065201)
1 系统的硬件设计方案
本系统主要以DSP为核心完成语音信号识别系统的设计,其电路主要由三部分电路组成,DSP芯片及其外围电路、A/D转换电路和接口电路组成,基本的工作原理和芯片的选择是:首先选择TLC320AD50对语音信号进行A/D转换,再选择DSP芯片TMS320C5510对信号进行滤波、端点检测、语音信号增强、特征参数提取等语音信号处理进而进行识别,并通过LED检测识别结果进而报警。
1.1 DSP的特点及语音处理识别上的优势
选用DSP器件作为语音信号处理的专用微处理器,因为具有以下4个特点:
(1)DSP内部采用改进的哈佛架构(Modified Harvard),即程序空间与数据存储空间分开各有独立的地址总线和数据总线,允许同时访问程序存储器和数据存储器,实现高度并行操作。如可以在一条指令中,同时执行3次读操作和1次写操作。此外,还可以在数据总线与程序总线之间相互传送数据,使处理器的性能大大提高。
(2)采用流水线结构,增强了软件程序的处理能力。每条指令的执行可划分为取指令、译码、取操作数和执行等几个阶段。在DSP中,采用流水线结构,在程序运行过程中这几个阶段是重叠的,这样将指令周期降低到最小值。
(3)多处理单元。DSP内部一般都包括多个处理单元,如算术逻辑运算单元、累加器、辅助寄存器运算单元以及硬件乘法器等。它们可以在一个指令周期内同时进行运算。因此,DSP在进行连续的乘加运算时,每一次乘加运算都是单周期的。DSP的这种多处理单元结构,特别适用于FIR和IIR滤波器。
(4)运算精度高。早期DSP的字长为8位,后来逐步提高到16位、24位、32位。为防止运算过程中溢出,有的累加器达到40位。此外,一批浮点DSP,则提供了更大的动态范围。
1.2 DSP芯片的滤波实现
本设计核心芯片DSP选用TMS320VC5410DSP,该芯片采用了专用硬件逻辑CPU、片内存储器、片内外设及高度专业化的精简指令集计算(RISC),其结构采用改进的哈佛结构,独立的数据和地址总线,保证了指令和数据能得以并行处理。在语音识别中,首先是滤波器的设计,TMS320VC5410在指令集和硬件结构上,对滤波器算法的实现,有专门的考虑。其基本实现方法是:首先是在指令中设置了MACD指令,它的功能是将数据区的两个数相乘以后,再与累加器中的值累加,运算结果仍保留于累加器中,而为下一次操作准备;其次在硬件上,设计了间接寻址时的循环寻址功能,即将滤波器系数保存于一个可循环寻址的数据缓冲区,寻址指针由低地址自动增长,当达到缓冲区顶部时,自动返回低地址重新寻址,这样,配合单指令重复指令RPT,就可以快速实现卷积操作。
1.3 DSP芯片语音信号处理的实现
系统语音信号处理的实现主要通过软件来完,软件设计主要包括DSP编程和PC编程,要完成的功能是通过外部设备采集语音信号,经TLC320AD50进行模拟信号转换成数字信号后进入TMS320C5510和PC机进行处理,整个程序处理过程基本是在PC机上完成,包括语音信号预处理、端点检测,语音信号增强等,处理后的信号在PC机上进行波形显示、频谱分析等。DSP编程的主要任务是初始化管理板上的资源和完成语音处理的算法。PC机编程重点则是完成与"DSP的串行通信,用户使用系统界面和对信号的存储分析显示等功能。本软件设计以TI提供的功能强大的CCS(Code Composer Studio)为集成开发环境。
TMS320C5510控制着整个系统的工作流程和运行状态,系统上电CPU复位后,首先由TMS320C5510完成自身的初始化,包括配置RAM块,设置数据页指针、中断和I/O模式,设置中断屏蔽位和等待状态位,设置定时器模式、初值、串行口等,然后开始启动TLC320AD50,等待中断。TLC320AD50负责信号采集,并将转换的数据存入到一级缓存器FIFO中。当FIFO达到半时向TMS320C5510提出中断申请,TMS320C5510响应中断,读取采样数据,进行语音信号端点检测等处理后,存入二级缓冲器CRAM中,并通过USB接口与PC机连接,可以在PC机上进行语音信号处理、存储示波显示、波形实时显示等。要输出的数据再送入TLC320AD50进行模数转换,实现声音回放。主程序和中断服务程序流程框图如图1、图2所示。
图1 主程序流程框图
图1 中断服务程序流程框图
2 A/D转换电路
数据采集与处理是采用DSP与TLC320AD50组成,TLC320AD50集成了16位A/D和D/A转换器,采用速率可达22Kbit/s,它具有7个控制寄存器,AD50的采用速率有寄存器4设定。
当选用PLL模式时(D7=0),采样速率为:FS=MCLK/128×N;
当不选用PLL模式时(D7=1),采样速率为:FS=MCLK/256×N;其中:N=1~8的整数。
其TLC320AD50的16位传输的时序图如图3所示,FS为帧同步信号。DSP提供了3个多通道缓冲串行口(MCBSP),为魔术接口提供了极大的便利。MCBSP提供了双工的传输机制,数据长度可为8、12、16、20、24、32位。数据经MCBSP的DR和DX引脚传输,控制信号经CLKR、CLKX、FSR、FSX 4个引脚决定,如图4所示。
图3 TLC320AD50的16位传输的时序图
图4 DSP与TLC320AD50硬件接口
3 其它功能模块
(1)TMS320VC5510采用双电源供电,其中I/O供电电压为3.3 V,内核供电电压仅为1.26V。由于实际系统使用5V电源,所以必须采用电源转换芯片。选用PT75233和PT70302两块电源转换芯片,与DSP可以进行无缝连接,分别接上少量的外围电路,即可调整两块芯片的输出电压分别为3.3 V和1.26V。
(2)由于TMS320VC5510片上没有FLASH且片内RAM只有64K,要想使其成为独立系统就必须外扩外部存储器,这里选用了存储容量为256K的低功耗FLASH芯片SST39VF400A。当系统上电后,DSP芯片自动读取FLASH芯片中保存的程序并自主运行程序。
(3)JTAG可以对DSP片上的各引脚逻辑值进行扫描和测试,片内的各种资源都能通过JTAG口进行访问,包括各寄存器、ROM、RAM、各片内外设等,还可通过JTAG口下载程序进行系统调试,功能很强大。
4 结语
文章设计了语音识别系统,该系统以TMS320VC5510DSP为核心,结合A/D和D/A转换器TLC320AD50构成了一个闭环设计系统,可自发自收,而算法主要集中在TMS320VC5510DSP芯片内部进行模块化处理,这给系统的软硬件设计带来了极大的方便,这种设计思路还可用于各种信号处理仪器中。经验证,本系统设计成功后可以有效识别灾后生命体。