语音自动报警技术在火灾报警系统中的应用

2013-10-10 01:56艾红斌
单片机与嵌入式系统应用 2013年6期
关键词:电话号码报警语音

艾红斌

(1.中国电子科技集团公司 第41研究所,蚌埠233000;2.蚌埠依爱消防电子有限责任公司;3.安徽省消防电子工程技术研究中心)

引 言

尽早地掌握火情,对于防火救灾,将火灾损失降到最小,具有着至关重要的意义。特别是对于一些无人值守的重要场所,更需要及时地了解火灾报警设备的运行情况,保持火灾报警设备处于良好的监控状态。本文介绍的方案就是当火灾报警设备出现故障或发现火警时,利用公共电话网自动拨打有关人员的电话,并将火灾报警设备的故障及火警信息转换成语音进行播放。

1 语音自动报警技术硬件实现方案

语音自动报警技术的硬件实现主要由4部分电路组成:串行通信电路、拨号电路、语音合成电路、存储电路。各部分电路在CPU(如AT89S52)的控制下协调工作,完成文字信息的收发、自动拨号、语音合成和信息存储。电路框图如图1所示。

1.1 串行通信电路

串行通信电路是与火灾报警控制器间的接口电路,可采用RS-232驱动器/接收器(如 MAX202)来构建,连接CPU的串行通信口,以完成RS-232电平与TTL电平间的转换。主要用来接收火灾报警控制器发来的预拨打电话号码和报警信息的文字代码等信息,并将已拨通的电话号码回传给火灾报警控制器。

图1 语音自动报警系统电路框图

1.2 拨号电路

拨号电路主要包括两部分,即DTMF(双音多频)收发电路和电话接口电路,如图2所示。

图2 拨号电路

DTMF收发电路采用 MT8888,该芯片可直接与CPU接口相连,具有完整的DTMF收发功能,能够对电话呼叫过程中的各种信号音(信号音是450±25Hz的正弦波,不同的通断间隔代表不同的信号音,例如1s通4s断代表回铃音,0.35s通0.35s断代表忙音)进行检测,只要信号频率落在320~510Hz频率范围内,片内呼叫处理滤波器便可滤出,并在CALL端输出经限幅得到的方波。方波宽度代表信号音持续的时间,该方波由CALL端输出至CPU,供CPU判断呼叫的性质和类别。当需要拨打电话时,CPU通过数据线将电话号码发送给DTMF收发芯片,控制其合成与号码数字相对应的双音频信号,经电话接口电路送至公共电话网。DTMF信号是由两种不同频率的信号叠加而成的合成波,0~9每个数字都有一组确定频率的波形与其对应,每个数字由4位二进制码表示。

电话接口电路除了可以采用传统的音频变压器之外,也可以采用恒流源电路,利用其直流阻抗较小和交流阻抗较大的特点,完成自动呼叫时的摘机检测和音频信号的传输。

图中的继电器K1用于控制将电路接通至公共电话网,继电器K2用于控制将DTMF芯片的接收或发送端连通至电话接口电路。

1.3 语音合成电路

语音合成电路其核心是语音合成芯片,可采用XFS3031CN。这是一款高性价比的中文语音合成芯片,它可以通过UART接口接收待合成的文本(比如火灾报警控制器显示的故障或火警信息,以及其他提示信息),把文本合成为语音输出。该芯片具有智能的文本分析处理算法,对常见的数值、电话号码、时间日期、度量衡符号等格式的文本及多音字,能够根据内置的文本匹配规则进行正确的识别和处理;支持多种文本控制命令及控制标记,提高处理的正确率。若CPU没有多余的UART口,也可以采用串口扩展芯片(如16C550)进行扩展。合成的语音经功放电路放大后,一方面通过公共电话网送至已接听的用户电话进行播放;另一方面可由扬声器播放,供现场监听。语音合成电路如图3所示。

1.4 存储电路

通过火灾报警控制器,可以设置几个相关人员的电话号码,保存在存储器中。发生火警时,依次拨打存储的相关电话号码,拨通的电话号码及拨打时间也可保存在存储器中以备事后查询。可用CPU自带的存储器或外接的EEPROM存储器,如24LC02。

2 语音自动报警技术软件实现方案

2.1 串行通信

CPU与火灾报警控制器间的串行通信采用中断方式,传输的数据信息可以按照一定的格式封装为数据包,内含校验码,防止信息被错误接收。接收方收到数据包后向发送方返回应答包。

2.2 自动拨号

CPU通过数据线控制DTMF收发器的工作模式。拨打电话号码时首先要检测电话线状态,需将DTMF收发器设置成呼叫处理(CALL)模式;并利用CPU内部的计数器对DTMF收发器输出的方波宽度进行计数检测,根据一定时间内(例如5s)计数值的大小判断出电话线上的各种状态信号音(拨号音、忙音、回铃音等);然后再转入后续的相应操作。发送完电话号码后,仍需检测状态信号音。若是忙音则拨打下一个号码,若是回铃音则继续等待一定时间,若用户已摘机则播放合成的报警语音,拨号程序流程如图4所示。

图3 语音合成电路

图4 拨号程序流程

2.3 语音合成

语音合成芯片通过UART接口接收CPU发送的命令和数据,允许发送数据的最大长度为204字节。通信传输字节格式为:起始位1位,数据位8位(低位在前),停止位1位,无校验位,波特率为9 600bps。

CPU发送给语音合成芯片的所有命令和数据都需要用“帧”的方式进行传输,帧格式为:帧头+数据长度+数据区。如下所示为其中一种格式,数据区中的文本编码格式可以采用GB2312、GBK、BIG5和UNICODE四种编码方式。

帧头 数据区长度 数据区0xFD 高字节 低字节 命令字 文本编码格式 待合成文本

芯片收到命令帧或状态查询命令后,回传相应的状态数据供CPU判断目前芯片的工作状态。

芯片正在合成文本的时候,如果又接收到一帧有效的合成命令帧,芯片会立即停止当前正在合成的文本,转而合成新收到的文本。

2.4 信息存储

外接EEPROM存储器24LC02与CPU间采用I2C总线方式进行通信。若CPU没有I2C总线接口,可使用2个I/O端口,用软件模拟I2C总线方式进行通信。

2.5 主程序

主程序主要完成初始化,存储工程名称及电话号码、合成反映系统运行状态的提示语音,拨打预设的电话,合成报警语音等。主程序流程如图5所示。

图5 主程序流程

结 语

语音自动报警技术应用于火灾报警系统,有利于消防管理人员及时掌握消防设备的运行情况,尤其适用于一些不是全天候有人值班的场所。将文字转变成语音,使报警信息变得更加直观,为报警信息的传递提供了一条新的途径。

[1]合肥讯飞数码科技有限公司.XFS3031CN中文语音合成芯片数据手册,2012.

[2]Mitel.MT8888Cintegrated DTMF transceiver with Intel Micro interface[EB/OL].[2013-01].http://www.mitelsemi.com.

[3]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社,1997.

猜你喜欢
电话号码报警语音
欢欢家的电话号码
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
LKD2-HS型列控中心驱采不一致报警处理
不能忘记的电话号码
猜电话号码
2015款奔驰E180车安全气囊报警
死于密室的租住者