引言
在现在的许多工业控制中,很多设备是不间断运行或无人看守的,所以经常需要维护人员定期对设备进行维护。这样不仅耗费人力、物力、财力。而且还很耽误工期。并且现在许多家庭都是双职工家庭,经常家里没人,这些时候就需要报警设备。而原始的报警器在听觉提醒方面多采用电铃、蜂鸣等来实现。而此系统在设计方面采用在报警器上加入语音技术.使报警时单一的响铃声变为更加直接明了的语言传送.这样就可以发挥听觉的优势.也可弥补完全用视觉信号传递信息的不足。
1 系统的工作原理及组成
此系统的设计原理框图如下图所示,首先利用键盘电路对语音芯片录好音。之后利用AT89C52单片机采集设备的各种信息,根据报警系统中不同的设备和传感器,可以是压力、流量、温湿度、电压、电流等然后根据不同的报警设备发出的信号控制单片机不同的引脚电平变化,然后用语音芯片播放相应的录音内容。从而接到报警者可以准确的知道出事地点和基本情况。
2 硬件设计
图1设计原理框图
目前市场上流行的语音芯片有很多,但要使语音不失真地被采样,那就要求采样频率fs≥8000Hz。对于一般的语音芯片,以这样的速度采样语音只能是很短的时间.若要稍长一段时间.势必占用很大的存贮空间。这样系统成本增加,由于需要ADC.DAC,专用语音芯片及相关电路,存在不同程度的失真(信号采样和恢复)。ISD40002语音芯片是美国ISD公司出品的新型优质单片录放音电路,它采用了直接模拟量存储技术DAST,完成语音的录入、存储及分段输出,因而失真小,使用方便。不需专用语音开发工具,10万次录音周期,自动静噪功能,不耗电信息可保存100年。高质量,自然的语音还原技术,成本低廉。所以在现代技术上得到广泛使用。
2.1 ISD4002芯片:
(1)ISD4002芯片的特点:
ISD系列语音芯片具有以下特点:①采用模拟数据在半导体存储器直接存储的专利技术,即将模拟语音数据直接写入单个存储单元,不需经过A/D、D/A转换;②内部集成了大容量的EEPROM,不再需要扩展存储器;③控制简单,控制引脚与TTL电平兼容;③能较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩所造成的量化噪声和失真现象。因此。该报警系统选用ISD公司的ISD4002语音芯片。
(2)1SD4002芯片的构成及功能:
ISD4002系列语音芯片具有专门的语音拷贝工具,单片2至4分钟语音录放,无需开发系统,内置微控制器串行通信接口,3V单电源工作,25~20mA工作电流维持电流1μA,多段信息处理功能,片内免调整时钟,可选用外部时钟,采用CMOS技术,内含振荡器、防混淆滤器、平滑滤波器、音频放火器、自动静噪及高密度多电平闪烁存贮系列,适用于移动电话及其他便携式电子产品中。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI)送入。采样频率可为4.0、5.3、6.4、8.0kHz,频率越低,录放时间越长,而音质则有所下降。片内信息存于闪烁存贮器中。
2.2 SPl接口协议:
ISD4002工作于SPI串行接口.SPI是由美国摩托罗拉公司推出的一种同步串行传输规范,常作为单片机外设芯片串行扩展接口。SPI有4个引脚:SS(从器件选择线)、SDO(串行数据输出线)、SDI(串行数据输入线)和SCK(同步串行时钟线)。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作。因此对ISD4002而言,在时钟止升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。协议的具体内容为:
1.所有串行数据传输开始于SS下降沿。
2.SS在传输期间必须保持为低电平。在两条指令之间则保持为高电平。
3.数据在时钟上升沿移入.在下降沿移出。
4.SS变低。输入指令和地址后.ISD才能开始录放操作。
5.指令格式是(5位控制码)加(11位地址码)。
6.ISD的任何操作(含快进)如果遇到EOM或OVF则产生一个中断,该中断状态在下—个SPI周期开始时被清除。
7.使用”读”指令使中断状态位移出ISD的MISO引脚时.控制及地址数据也应同步从MOSI端移入。因此要注意移入的数据是否与器件当前进行的操作兼容。当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。
8.所有操作在运行位(RUN)置1时开始,置0时结束。
9.所有指令都在SS端上升沿开始执行。
2.3电路原理图及介绍:
该设计的电路部分较为简单,主要通过89c52单片机实现对ISD4002语音芯片的控制,从而能够实现录音和放音(硬件电路如下所示)。
图2硬件设计电路图
录音:当按键s3接Vcc时,电路处于录音状态。在录音之前先按s2(复位键),然后按住s1键不放,之后对着话筒讲话就可以录音.松键时录音停止,并形成一段录音片段,再按s1键不放则进行下一段录音。如果录满溢出,下次按复位键再进行录音时,就会将以前录的语音片段覆盖。
放音:当s3按键接地时,电路处于放音状态。同样是先按复位键,然后按一下s1键即播放录音,一段结束后自动停止放音,再按sl键则播放下一段。放到最后一段后如果再按s1键,再放音时又从第一段开始。对语音信号采用LM386进行功率放大。输出功率为0.5W。为了提高录、放音的稳定性,确保ISl4002语音芯片能正常工作(工作电压2.7~3.3),由一个200欧姆和一个300欧姆的电阻分压3V来供给语音芯片电压。LED1为电源工作指示灯,当开发板正常供电时.LED1发光。当电路处于录音状态时,LED2发光;当电路处于放音状态时,LED2灯不发光。当语音芯片溢出时LED2灯出现闪烁。
3 软件设计
单片机控制ISD4002语音芯片的软件流程图如图3和图4,5所示.重点介绍ISD4002录放音程序。
图3主程序
图4录音子程序
图5放音子程序
3.1主程序
此系统中主程序采用软件延时去除按键抖动。我们在程序中设置了三个按键,分别为复位键,状态键和执行键。为了节省能源,在利用按键判断系统不进行录散音操作时,语音芯片进入掉电状态。ISD4002芯片通过SPI接口写入数据。主程序主要完成对按键信息的判断.如果有键按下则调用相应的子程序。
3.2录放音程序
录放音程序主要在接收到相应指令后通过SPI总线对ISD4002进行控制。对于ISD4002芯片,器件延时TPUD(8 kHz采样时,约为25ms)后才能开始操作.因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令.为了能灵活播放语音信息,报警语音是分段存放在ISD4002中的,编程时播放录音是根据语音的存放地址播放不同语音的。播放时要根据每段录音的长短做相应的延时。
4 结束语
本文作者创新点:本系统利用单片机、语音电路完成了设备语音报警功能,而语音电路采用一种EEPROM存储方法的语音芯片,该设计方法外围电路结构简单,操作、使用方便。