简单介绍如何用单片机89C52设计火控系统语音报读

引言

 
在现代大多控制系统中,通常使用发光二极管LED、数码管、液晶显示器、蜂鸣器等进行状态/结果显示和故障报警,如果在显示报警仪表上采用数字语言技术,使适合用听觉传送的信息用语言传送,就可以发挥听觉的优势,弥补完全用视觉信号传递信息的不足。近年来随着语音电路的迅速发展,语音芯片已经以其直观、生动、与单片机接口方便等优势,越来越广泛的应用于单片机控制系统中了,成为现代控制系统中人机联系的一个友好界面。
 
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
 
1 语音电路分析
 
语言处理合成芯片很多,大多采用:语言信号-驻极话筒-电压-滤波放大-AD转换数字信号存储。放音时采用:数字信号-DA转换、输出,这在实际使用时存在着以下不足:
 
(1)要使语音不失真地被采样,要求采样频率fs≥8 000 Hz。在小系统中,以这样的速度采样语音只能是很短的时间,若要稍长一段时间,势必占用很大的存贮空间。
 
(2)系统构成成本高,由于需要ADC,DAC,专用语音芯片及相关电路。
 
(3)存在不同程度的失真(信号采样和恢复)。
 
(4)使用不灵活,只能录什么,放什么,难以实现字、词、句的组合。
 
ISD1420语音芯片是美国ISD公司出品的新型优质单片录放音电路,采用了直接模拟量存储技术DAST。主要由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存人永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利——多电平直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器及分段输出,因而失真小,能够非常真实、自然地再现语音效果,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。使用方便,不需专用语音开发工具,成本低廉。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。因而在现代技术上得到广泛使用。主要特点如下:
 
(1)使用方便的单片录放系统,外部元件最少
 
(2)重现优质原声,没有常见的背景噪音
 
(3)信息可保存100年,可反复录放10万次
 
(4)较强的分段选址能力可处理多达160段信息
 
(5)边沿/电平触发放音
 
(6)无耗电信息存储,省掉备用电池
 
(7)具有自动节电模式
 
(8)录或放后立即进入维持状态,仅需0.5μA电流
 
(9)工作电压:5 V
 
(10)工作电流:典型值15 mA,最大值30 mA(16欧姆)
 
2 系统构成
 
本语音电路作为火控计算机的一部分,主要是对目标距离进行实时报读,供指挥人员提供观察和决策,以选择最佳时机发出击发命令。语音电路组成框图如图1所示。由火控计算机主机发出RS232电平信号,经电平转换后,为单片机AT89C52所接收。单片机AT89C52一方面控制高亮度数码管显示状态信息,同时控制语音芯片ISD1420实时报读目标距离。为指挥人员提供提示。
简单介绍如何用单片机89C52设计火控系统语音报读
3 语音信号控制
 
3.1 语音电路特性
 
选用语音存储/再生芯片ISD1420。该电路采用EEP-ROM存储方法将模拟语音数据直接写入半导体存储单元中,具有音质自然、可反复录放、抗干扰、低功耗等许多优点。ISD1420放音时间为20秒;最多可分为160段,每段段长最少125 ms;输入采样* kHz;100 000次录音周期;5 V单电源供电,放音电流15 mA,维持电流0.5μA。完全满足设计需要。
 
ISD1420芯片地址引脚(A0~A7)输入有双重功能,根据地址中的A6,A7的电平状态决定A0~A7的功能。如果A6,A7有一个是低电平,A0~A7输入全解释为地址位,作为起始地址用。地址位仅作为输入端,在操作过程中不能输出内部地址信息。根据PLAYL、PLAYE或REC的下降沿信号,地址输入被锁定。如果A6,A7同为高电平时,它们即为模式位(见表1)。
简单介绍如何用单片机89C52设计火控系统语音报读
使用操作模式有两点要注意:
 
(1)所有初始操作都是从0地址开始,0地址是1420存储空间的起始端,以后的操作可根据模式的不同。而从不同的地址开始工作。当电路中录放音转换或进入省电状态时,地址计数器复位为0。
 
(2)当PLAYL、PLAYE或REC变为低电平,同时A6,A7为高电平时,执行对应操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止,这一刻现行的地址/模式信号被取样并执行。操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。
 
通过以上介绍可知,160段对应着160个地址,由A0~A7组合产生。要实现分段播放先要进行录音,录音可以采用高级的声音处理软件一次把声音灌进语音模块里头也可以采用分段录音的方法进行分段录制。在使用ISD1400系列的语音芯片时,应注意在REC和VCC之间接一个0.1 mF的电容,以防止在上电时出现录音操作而破坏原来录制的信息。
 
根据火控计算机系统报读的需要,放音内容为军用数字发音:“幺、两、三、四、五、六、拐、八、勾,洞”。我们利用A0~A7引脚的地址功能,通过声音处理软件结合ISD1420开发录放板,一次把声音灌进语音模块ISD1420中。这样每一个数字发音都对应一个内部存储空间。可以通过调整语音芯片的地址(P2口控制)来选择合适的数据播放。
 
由于在户外使用,要求发出的声音具有一定的响度,即要求语音电路有较大功率输出。语音芯片ISD1420内部输出级带有放大器,其直接的扬声器驱动功率为12.2 mW(16Ω负载),这距离我们的实际需要相差很大,通常1 W以下的扬声器可用LM386、D2283 D2822、MC34119、TA7368等芯片驱动,1 W~lO w的扬声器用TDA2003、LA4440芯片驱动,因此后级功放必须保证能在低电压下输出大功率信号,以推动扬声器发声,在这里我们选用了LA4440芯片驱动。
 
3.2 语音电路构成
 
语音部分电路设计见图2所示,在该电路中设计了以单片机89C52为核心的语音报读电路,89C52的P2口用来实现地址选择,放音时先由软件给出一个地址,就是一个语音段首址,在这一放音过程中地址是不能变化的;LA4440为音频功放电路,将ISD1420的音频输出放大推动喇叭,通过调整电阻R1的阻值可控制音量大小;语音芯片ISD1420周围的RC电路主要为了减小噪声的影响;MAX813L则作为看门狗电路为单片机AT89C52提供上电复位和运行监控。
简单介绍如何用单片机89C52设计火控系统语音报读