如何用单片机89C52设计火控系统语音报读?
扫描二维码
随时随地手机看文章
引言
在现代大多控制系统中,通常使用发光二极管LED、数码管、液晶显示器、蜂鸣器等进行状态/结果显示和故障报警,如果在显示报警仪表上采用数字语言技术,使适合用听觉传送的信息用语言传送,就可以发挥听觉的优势,弥补完全用视觉信号传递信息的不足。近年来随着语音电路的迅速发展,语音芯片已经以其直观、生动、与单片机接口方便等优势,越来越广泛的应用于单片机控制系统中了,成为现代控制系统中人机联系的一个友好界面。
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实时报读目标距离。为指挥人员提供提示。
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)。
使用操作模式有两点要注意:
(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提供上电复位和运行监控。
MAX232将火控计算机主机送过来的RS232电平信号转换成TTL电平并送到单片机AT89C52,单片机AT89C52对火控计算机主机的状态信息实时显示并进行报读,通过引脚P3.6控制ISD1420的放音,P2口用来调整放音地址。通过按地址分时播放就可以实现分段播放了,而分段播放的最大优点是可以只要一些基本的声音就可以合成一段话。这样可以节省语音模块的空间,提高产品的灵活性,降低生产成本。分段播放可以用在一些发音的基本元素不多,但组合发音变化比较多的地方。
4 软件设计
AT89C52的软件设计相对简单。主要包括与火控计算机主机的串行通讯程序(11.0592 MHz晶振、4800波特率、八位异步方式),放音控制程序,显示控制程序及看门狗程序。放音控制程序根据火控计算机系统的要求及实际情况,只对火控计算主机传送来信息的目标距离量进行实时报读。目标距离是实施射击和掌握开火时机的重要依据。它的报读原则是:“远距离报读间隔大一些,近距离报读间隔小一些,开火报到点上”。报读时,根据目标快速运动的特点,可以省略报读字节,提高反应速度和报读的清晰度。电平控制放音中开始地址和播放时间也是必不可少的,只要控制了这两个参数就可以确定播出内容。
5 结束语
按上述方法设计出的语音电路报读电路在某火控系统中得到实际应用,实践证明运行可靠、准确,具有一定的使用价值。