在现在的许多工业控制中,很多设备是不间断运行或无人看守的,所以经常需要维护人员定期对设备进行维护。这样不仅耗费人力、物力、财力。而且还很耽误工期。并且现在许多家庭都是双职工家庭,经常家里没人,这些时候就需要报警设备。而原始的报警器在听觉提醒方面多采用电铃、蜂鸣等来实现。而此系统在设计方面采用在报警器上加入语音技术.使报警时单一的响铃声变为更加直接明了的语言传送.这样就可以发挥听觉的优势.也可弥补完全用视觉信号传递信息的不足。

 

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 存储方法的语音芯片,该设计方法外围电路结构简单,操作、使用方便。