1. 引言
语言是人类特有的功能,语音是语言的声学表现,通过语音传递信息是人类最有效和最方便的信息交换形式[1]。语音信号处理要求语音信号处理技术具有准确和快速的特点,语音信号采集技术和存储技术是语音信号处理中的关键技术[2]。当前大多数采用的语音信号采集系统结构多种多样,常见形式包括基于ARM的数据采集方式、基于FPGA (Nios II/MicroBlaze)的数据采集方式和基于MCU的数据采集方式,采集精度比较低,且稳定度较差,因此,对于一些需要高精度采集的场合,这些系统显然不能满足应用要求[3]-[5]。
DSP的数据处理精度可以灵活调整,更精细地表示声音的幅度和频率变化,减少量化误差,从而获得更清晰,更逼真的声音效果。本文阐述了基于DSP芯片TMS320C6713的语音信号采集系统,数据采集精度可高达24位,而且稳定程度高,可以进行多个通道高精度采样[5]。
2. 硬件设计
语音信号采集系统主要用于获取语音信号,麦克风将声音的机械振动转换为电信号,但输出的信号通常很微弱,使用前置放大器将其放大,同时保证信号的质量。A/D转换器把模拟的语音信号转换为数字信号,这个过程涉及采样和量化。采样是按照一定的时间间隔获取信号样本,量化则是将样本的幅度用数字值来表示。微控制器用于控制采集过程,包括设置采样率、增益等参数,还可以对采集到的数字语音信号进行初步的简单处理,如简单的滤波或数据打包,以便后续存储或传输。采集好的语音信号数据需要使用存储设备存储起来或者传输给其他设备进行进一步处理[6]。
本语音信号采集系统由电源供电电路、差分放大电路、A/D转换电路、DSP处理电路、FLASH存储电路、串口扩展电路组成,如图1所示。系统主要完成8路语音信号采集、信号调理、A/D转换、语音信号存储、串口通信等功能。系统工作过程如下:8路语音信号经过差分放大进行调理后,进行AD转换,转换结果进入DSP进行处理后,经过串口扩展电路和RS232接口上传到上位机。下面具体介绍各部分电路的设计过程。
Figure 1. Hardware framework diagram of the system
图1. 系统硬件框架图
2.1. A/D转换电路
为实现多个通道语音信号高精度采集,关键是选用高精度A/D转换器,本方案选用多通道24位A/D转换器,以达到精度要求。A/D转换器对调理后的8路麦克风语音信号进行A/D转换,得到8路数字语音信号,再输入DSP处理器进行处理。使用8路同步转换器ADS1278实现此功能。AD转换电路原理图如图2所示。
Figure 2. Schematic diagram of AD conversion circuit
图2. AD转换电路原理图
ADS1278没有内部寄存器,可通过设置MODE引脚来选择工作模式。ADS1278采用串行输出,串行输出的协议有SPI或帧同步,FORMAT [2:0]引脚的状态决定了协议和数据输出格式。SNYC引脚决定了ADS1278内部的8个转换器的同步状态。PWDN [8:1]输入引脚可以打开或关闭模拟信号输入通道,使ADS1278进入正常工作模式或省电模式。当ADS1278的八个通道都处于关闭状态,器件就开始进入省电状态[7]。
转换处理电路供电电压有模拟电源5 V,数字电源1.8 V,IO口电源3.3 V。数字电源1.8 V由三端稳压器AMS1117-1.8输出。本电路通过FORMAT,MODE,PWDN三个寄存器控制位设置ADS1278的工作速度、工作通道和工作功耗,使ADS1278采用帧同步格式通过DOUT1~DOUT8并行输出8路数据,采用低速工作模式来降低电路功耗。本电路设置TEST [1:0] = 00 b,使电路工作于正常模式。SYNC = 1 b,使所有通道进行同步转换。CLKDIV = 0 b,使FMOD = FCLK/8。
ADS1278与处理器之间采用帧同步并行接口,包含CLK、SCLK、FSYNC、DOUT1~DOUT8共11个数据通信线,其中CLK的时钟频率作为通信主时钟,取值为FSYNC帧同步时钟频率的512倍。本电路设置CLK = SCLK (取n= 0),FSYNC = 8 kHz,故SCLK = 512 * FSYNC = 4.096 MHz。
2.2. DSP处理电路
DSP处理电路作为系统核心,用于接收AD转换电路的语音信号输出,然后把数据存储到内部RAM,并可通过串口扩展电路把数据发送到上位机或其他设备。
DSP处理电路原理图如图3所示。外部时钟频率为50 MHz,选择时钟工作状态的引脚为CLKMODE0引脚,该引脚接高电平时,DSP处理器选择使用外部晶振输入到CLKIN引脚的时钟。DSP处理器的下载模式选择引脚由HD3和HD4决定,一般HD3引脚接0电平,HD4引脚接0电平或1电平,接0电平时选择调试模式,接1电平时选择下载模式。数据通信线使用16根,分别分布于ED0~ED15,地址通信线使用19根,分别分布于EA2~EA20,可与外围设备FLASH和串口扩展电路通信。HD8、HD12接1电平使能数据通信小端模式,使EMIF数据总线的数据出现在ED低8位。HD14引脚接0电平使能McASP串口通信口和器件全部输入输出管脚。
Figure 3. Schematic diagram of DSP processing circuit
图3. DSP处理电路原理图
2.3. FLASH存储电路
Flash存储用于存储系统运行程序,使系统运行程序掉电不消失。Flash存储器有两种类型,并行Flash存储器和串行Flash存储器。串行Flash存储器的存储容量比较小,但体积也比较小,易于集成。并行Flash存储器的存储容量大,速度快。本系统使用并行Flash。在DSP程序调试完毕后,要将程序固化到FLASH中。FLASH芯片选用并行Flash存储器M29W800DT70N6E,M29W800DT70N6E采用3.3 V单电源供电,22 MHz时钟工作频率,10 mA工作电流,8 Mbit的容量,16位并行接口,可反复擦除/编程100,000次[8]。FLASH存储电路原理图如图4所示。
Figure 4. Schematic diagram of flash memory circuit
图4. Flash存储电路原理图
2.4. 串口扩展电路
为增加外接设备数量,本系统使用WK2168进行四通道串口扩展,串口1和串口3外接SP3223芯片,使用RS232电平,串口1和串口3无外接芯片,使用本身的TTL电平。WK2168采用QFP48四方扁平封装,工作电压范围比较宽,为2.5 V~5.0 V。本系统工作频率14.7456 MHz,使用四个通道工作,通过DSP处理电路发送的命令字就可以选择各个工作通道。串口扩展电路原理图如图5所示。
Figure 5. Schematic diagram of serial port expansion circuit
图5. 串口扩展电路原理图
3. 软件设计
本语音信号采集系统的软件全部在DSP上实现,主要实现ADS1278控制、8路语音信号接收、8路语音信号存储和8路语音信号传输等功能。其中,8路语音信号同时通信,且数据量巨大,因此对8路语音信号同时接收是主要难点和挑战。DSP如果用软件代码实现8路语音数据同时接收,其软件开销是非常大的。本方案使用DSP自带的MCASP (多通道音频串行端口),仅需对相关寄存器进行配置后启动端口工作,则可自动进行多通道音频数据同时收发,大大优化了DSP代码程序。此外,为了提高数据传输效率,采用EDMA (直接内存访问)来进行数据的搬运。只需配置EDMA通道,使其能够在McASP和内存之间自动传输数据,减少CPU的干预,提高系统的整体性能。
DSP软件代码主要功能有:
1) 使用PLL对50 MHz输入时钟进行倍频,产生200 MHz系统时钟。
2) 使用MCASP1接口与ADS1278通信,作为主机控制AD转换过程。
3) 使用定时器产生AD转换必须的帧同步时钟、位时钟。
4) 使用EDMA把MCASP1接收的数据传输到RAM。
5) 控制WK2168把RAM中的数据通过串口传输到上位机中。
本语音信号采集系统的DSP软件流程图包括开始,PLL初始化,EMIF初始化,GPIO初始化,串口初始化,产生帧同步时钟,MCASP1初始化,配置EDMA,EDMA传输,串口传输,结束。本语音信号采集系统的DSP软件流程图如图6所示。
Figure 6. DSP software flow chart
图6. DSP软件流程图
4. 系统采集效果测试
语音测试系统可进行语音信号采集系统的性能测试。音频信号通过计算机声卡模拟产生,利用麦克风把音频信号传输至本系统,本系统再将采集到的音频信号回传给计算机。
标准测试音频信号是行业广泛使用的用于测试音频采集系统的信号,具有精确已知的特性,可以准确评估音频采集系统的各项性能指标,确保测试结果的准确性和可靠性。本语音测试系统采用专业音频处理软件Cool Edit Pro产生一个双音的标准测试音频信号,该标准测试音频信号包括一个低音和一个高音,低音频率设置为777 Hz,高音频率设置为1663 Hz,进行FFT变换后的频谱特性如图7所示,低音谱线在777 Hz频率处,高音谱线在1663 Hz频率处,低音谱线和高音谱线幅度基本一致,大约为−12 dB,噪底比较均匀,大约为−110 dB,信号的信噪比比较高,约为98 dB。
对本系统进行评估和测试时,使用专业音频处理软件Cool Edit Pro播放低音频率777 Hz,高音频率1663 Hz的标准测试音频信号,利用本语音测试系统的计算机声卡产生模拟音频信号,通过音频线传输至本系统,由本系统对标准测试音频信号进行采集和存储。采集到的音频信号通过RS232串口数据线上传到计算机内。再次使用Cool Edit Pro对采集得到的数据同样进行FFT变换,可以看到采集得到的音频数据的频谱特性。如图8所示。
图中可见,采集得到的音频数据的频谱噪底比较均匀,幅度为−105 dB左右,信号的信噪比比较高,为93 dB左右;在777 Hz和1663 Hz处同样可以看到两根谱线,谱线位置没有变化,两个谱线幅度基本一致,大约为−12 dB,与输入的双音音频信号基本相同。
对输入本系统的标准音频信号频谱图与经过本系统采集和处理后输出的音频信号频谱图进行对比,可以发现,本系统声音采集还原度高,信噪比高,性能较好。
Figure 7. Spectrogram of the standard test audio signal used in this system
图7. 本系统使用的标准测试音频信号频谱图
Figure 8. Spectrogram of the signal acquired by the system
图8. 本系统采集到的信号频谱图
5. 结论
基于TMS320C6713和ADS1278的语音信号采集系统利用DSP芯片强大的数字信号处理能力,采用内部McASP和EDMA技术,对8路语音信号进行同步采集和实时解码,高效实现语音信号的各项处理。DSP处理器能够在语音信号产生的同时进行处理,不会因为处理延迟而影响通信效果。与普通的数据采集系统相比,该系统信噪比高,音质清晰,声音还原度高,具有较强的实用性。