摘要:本文提出一种使用PWM和电阻网络完结16位高音质WAV语音文件播映的规划,并提给3种解决计划和比照证明,论述了其完结进程并经过试验验证。该办法不只本钱低,其音质挨近16位精度,并且因为WAV编码办法简略,在单片机上解码简略完结。试验成果标明,该办法音质作用较好,可应用规模广。
导言
PWM波由谐波和直流量组成,谐波是需求被滤除的信号,即经过模仿低通滤波器能够将调制后的PWM信号转化成模仿信号,滤波器能够消除大部分高频成分,终究只留下直流量,图1为PWM信号复原为模仿信号的示意图。一般单片机受限于其处理才能,一般只能调制8位左右的PWM信号,因而只能复原8位的WAV声响文件。而用D/A转化器完结模仿量的输出本钱较高,音质作用也欠安。电阻网络对各频带及幅值的信号的阻止比较共同,确保了声响信号保真率。本文将16位高音质WAV信号进行拆分处理,一部分由PWM进行调制,另一部分操控8个I/O口中的某几路输出PWM,信号经低通滤波和功率扩大后送至喇叭等放声设备,以此将数字语音信号转化成模仿信号,到达语音播映的意图。

1 原理及差错剖析
1.1 根本原理
16位数字信号可表示自然界65 535种声响信号,据此将16位数字量量化为对应的模仿信号,便完结声响的复原:

这儿将16位数据Data拆分为X1和X2,且有Data=X1×X2。将X1经过单片机的守时器调制为PWM信号,经过操控占空比来操控输出电压巨细,即:

将X2用来操控单片机的8路I/O是输出调制好的PWM信号,仍是输出信号“0”,该8路信号送到电阻网络,即:

则终究输出的电压巨细为:

,以此便能够完结16位D/A转化。
1.2 数据拆分办法剖析
针对根本原理中提出的将16位数据拆分为凹凸位两部分在单片机中的完结,提出3种计划并对其进行比照剖析。
1.2.1 计划1
将16位数据从中心切断,并判别凹凸8位的值是否为0,是则补1,防止拆分的两个数据有一个为0时导致输出也为0。拆分后的低8位送给守时器进行PWM组成,高8位送给电阻网络操控输出。该办法占用单片机资源很少,对单片机处理才能没有要求,能够在一切单片机上完结。但PWM与电阻网络模仿电压输出均有非线性失真,当拆分的两个数据中有一个较小(挨近0)或较大(挨近255)时,对终究的输出电压有较大影响。
1.2.2 计划2
使用查表法,将Data=X1×X2的一切65 536种数据的拆分成果核算出来,建表后存到单片机中,只需依据数据巨细对号查出X1、X2进行PWM调制并操控电阻网络输出即可(X1、X2均不大于256)。该数组需占用128 K的存储空间,但不是一切数据都能写成Data=X1×X2办法,只能尽可能地去迫临,终究的输出值与Data会有少量收支。该计划也不需求单片机具有较强的处理才能,且防止了计划1的缺点,但因其迫临的拆分办法导致其输出精度有损,达不到16位高精度。
1.2.3 计划3
判别16位数据的高位为0的位数,将不为0的低位数据从中心一分为二,然后将拆分后的数据均左移相同的位数,确保数据拆分前后“共同”,将拆分后的数据别离进行PWM调制和操控电阻网络输出。一般单片机可轻松完结,占用资源较少,防止了计划2的缺点,但在左移时会
有数据丢掉,导致输出差错较大,特别是当数据小于255时,其差错是不行承受的。
依据现有的理论剖析和实践的测验作用来看,计划2较为抱负。本文针对计划2打开规划。
2 体系规划
体系框图如图2所示,该计划选用TI公司的MSP430F5529作为主控MCU,它将TF卡中的WAV文件读取出来,并在TF卡中的数据表中查出对应的数据拆分值,然后存放在单片机平分出来的1 KB的缓冲区中。守时器A守时读取缓冲区中的数据,守时器B完结PWM调制并一起操控电阻网络输出。由电阻网络输出的信号经二阶低通滤波器和功率扩大器后送到喇叭完结语音播映。带接触功用的TFT液晶屏用来显现和操控语音播映。单片机的供电由两节干电池完结,功率扩大电路供电由12 V直流电源供给。

2.1 硬件规划
电阻网络的电路图如图3所示,使用电压叠加定理和电阻分压核算剖析可知,其输出为Vout=(1/2×Viol+1/4×Vio2+1/8×Vio3+…+1/256×Vio8)×Vcc。它仅由两种阻值的电阻组成,阻值选取简略,其本钱也低。

低通滤波和功率扩大电路如图4所示,规划中选用了二阶无源低通滤波器,功率扩大器挑选TI公司的LM386,它合适扩大低电压的音频信号。图4中R1、R2、C5、C6组成二阶低通滤波器,其在下降率为6 dB时的截止频率为16kHz,用以播映采样频率为22.05 kHz的WAV语音。C7、
R3组成了一阶高通滤波器。此处电压增益为20 dB,C3为隔直电容。LS1接0.5 W/8 Ω的喇叭。

2.2 软件规划
本体系在硬件渠道的支持下,选用状态机的办法完结对SD卡的读取、接触操控信号的获取、WAV文件的播映以及WAV的文件名和进展等信息的显现。SD卡读取及LCD显现驱动现已比较老练,此处不再打开。其间的要害点在于确保WAV音频高音质流通播映的“一起”,完结操控及显现等功用。为完结这一方针,本规划用另一个守时器来核算下次指令履行所剩时刻,低于某一阈值则暂停触控信号的获取及信息的更新显现,优先确保音频能流通播映。试验标明,该办法在触控及LCD显现上并无显着推迟。其软件流程图如图5所示。

结语
语音的频率规模为300~3 000 Hz,而音乐的频率规模为20 Hz~20 kHz,在PWM语音播映器中需求留意的是PWM的频率一般是低通滤波器截止频率的4倍以上,所以在播映音乐时可依据实践需求进步声响的PWM频率,还能够修正低通滤波器的电容参数(C5、C6),将%&&&&&%减小,并增大滤波器的截止频率,然后到达音乐的频带要求。
该计划选用PWM并结合电阻网络的办法,其结构简略,性价比高。现单片机的主频很简略打破12 MHz,加上MSP430F5529为16位单片机,其调制PWM的精度可达10位以上,根本弥补了数据的迫临处理带来的差错,进步了整个体系的语音播映音质。该计划可广泛用于火车站的播报提示、银行等场合的叫号体系、电话应答机以及各种需求高音质语音播报的场合。