本系统总体构架如图一。冗杂声音信号经ADMP421麦克风阵列采集,由SPI控制模块读取语音信息,将声音信号采集进系统进行进一步处理。人机交互可以设置语音处理的各项初始参量,确定语音阈值,实现用户自定义的语音处理,增强系统对环境的适应性。之后,语音信息被送往FIR处理单元,进行下一步的滤波处理,初步将语音信号提取出来。这时,可以利用OR1200构建的CPU进行进一步的软件处理,以实现更为复杂的语音处理。经过相关处理的语音信号,可以直接通过MCU控制和IIS控制输出给WM8731进行音频解码输出。如果需要较大功率输出,可以使用音频放大电路将音频信号放大输出。

另外,由于FPGA内部的存储器较小,且为易失性的,所以需要外扩存储器存储程序以及用户设定信息。如果需要运行操作系统,则需要外扩RAM以保证程序执行所需存储器和提高程序执行效率。

图 1  SOPC语音增强系统构架

图 1 SOPC语音增强系统构架

3.单元模块设计

3.1 软核OR1200

OR1200是OpenCores组织提供的基于GPL协议的开放源代码处理器,性能介于ARM7和ARM9之间,适合一般的嵌入式系统使用。OpenCores组织提供了大量的源代码IP核供研究人员使用,OR1200在使用0.18um及6层金属工艺时,主频可以运行在300MHz,可以提供300Dhrystone、2.1MIPS和300次的32x32 DSP乘加操作。OR1200是32位标量RISC处理器,具有哈佛结构、5级整数流水线、支持MMU和Cache,带有基本的DSP功能。外部数据和地址总线采用Wishbone片上总线标准。

3.2组合麦克风

目前市面上,最为流行驻极体麦克风(ECM),但硅麦克风大有取而代之的趋势,这主要由于硅麦克风有驻极体麦克风不可比拟的优势。硅麦克风就单个器件来说,半径是驻极体麦克风的 1/3 或 1/4,尺寸大大减小,有更高的集成度。能耗为 ECM 的 1/2。不仅如此,硅麦克风有更强的抗射频干扰(RFI)和电磁干扰(EMI),可以在恶劣的电磁场环境正常工作,同时能够承受表面贴装工艺的高温度而性能不变。MEMS麦克风[5]非常适合麦克风安保和监视应用,可同时改善采集和波束成型体验。ADMP421[6]可以提供一流的SNR和扩展频率响应,音质出色,声音高度清晰,适用于高清语音/声音识别。器件间的容差极小,增强了波束成形的方向性,同时卓越的PSRR和小封装尺寸使设计人员可以极其灵活地放置麦克风。

另外ADMP421数字麦克风有着尘埃过滤器,工作性能不会随着时间的推移而下降。

ADMP421与FPGA的接口为通用的SPI串行控制方式,控制方式比较简单。

图 2 ADMP421典型接口电路[7]

图 2 ADMP421典型接口电路[7]

3.3 WM8731音频输出模块

WM8731[8]是一款专用低功耗立体CODECs,内置了耳机驱动。该芯片是专门为MP3播放器设计的,音频采样和播放的芯片,其原理图如下:

图 3 WM8731原理图[8]

图 3 WM8731原理图[8]

该芯片支持立体声输入和播放,内置时钟发生器,支持多种时钟模式,通过一个12MHz时钟,该器件可以直接生成44.1kHz、48kHz和96kHz等采样率,以及MP3标准定义的其他采样率,完全不需要一个独立的锁相环(phase locked loop)或晶振。音频采样和播放采用24位AD和DA,控制信号可用IIC协议和SPI协议,数字音频信号输入输出可采用Right justified 、Left justified ,IIS和 DSP 四种模式。