自动语音拨号报警系统的设计概要

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

国家职业资格全省(或市)统一鉴定家用电子产品维修工论文
(国家职业资格II级)
论文题目:自动语音拨号报警系统的设计
姓名:身份证号:
准考证号:
所在省市:
所在单位:
自动语音拨号报警系统的设计
学院
摘要: 本文介绍了以AT89C51单片机作为控制核心的自动拨号、检测和放音的自动语音拨号报警系统。

重点论述了自动拨号和语音部分的电路结构、工作原理和软件设计方法。

关键词: 单片机自动拨号语音芯片信号音检测
1、引言
随着人们生活水平的提高和安防意识的增强, 急需开发面向大众、价格低廉、运行可靠的自动语音拨号报警系统。

鉴于住宅电话和移动通信设备的普及, 以及电话语音报警的快捷、有效及价格低廉等优点, 公共通信网成了报警系统的最佳传输媒介。

本文介绍的报警系统就是在此基础上发展起来的一种智能语音拨号报警系统, 该系统可广泛用于各种对安防要求较高的场合, 如智能楼宇、商场、银行和工厂等。

电话自动报警的主要功能为: 用户根据需要把自己的手机号码、办公室电话或报警监控中心的电话预存入报警主机。

报警主机不断地对所监控的设备( 门禁、烟雾探测器、窗磁、摄像头等) 状况进行巡检, 当有不安全情况( 如火灾、非法入室、视频丢失等) 发生时, 报警主机拨通预先存入的电话号码, 播放相应的警情语音。

若电话占线或者无人接听,可拨下一个预存的电话号码, 如果所有预存的电话都占线或者无人接听, 则会自动把所有的预存电话重拨一遍, 保证了报警的有效性和可靠性。

2、工作原理
本文采用AT89C51 单片机作为控制核心, 外接E2PROM用于存储电话号码、设置参数( 定时布/撤防、联动、视频等) 以及警情信息等。

当AT89C51单片机实时巡检到新的警情信号( 防区故障、视频丢失、主电断电或上位机死机) 时, 报警主机就会自动进行警情处理( 声光报警、启动相应联动、记录警情以及拨号报警等) 。

拨号报警的工作原理如下: 系统自动地控制摘/挂机电路模拟摘机, 同时
AT89C51单片机通过可编程并行接口8255将MT8880置为呼叫模式, 检 1
测是否有拨号音。

若有拨号音, 则将MT8880设为突发方式, 并按用户预设的电话号码自动拨号。

拨完电话号码以后立即检测对方是否摘机, 一旦检测到对方摘机, 就启动语音提示电路发送与警情相一致的语音信息, 完成自动拨号报警。

3、组成元器件
3.1 AT89C51单片机简介
本设计中采用的是AT89C51单片机芯片,它的引脚图如图1所示。

它具有以下
特性:
(1)与MCS—51系列的8752型芯片兼容
(2)4KB的可编程程序存储器
(3)工作电压:5V
(4)128个8位内部RAM单元
(5)具有全双工串行口,可同时进行发送和接收
(6)低功耗的闲置和掉电模式
(7)具有32条双向I/O线,即可字节寻址,又可位寻址
89C51是一种带4K字节闪速可编程可擦除只读存储器的低电压、高性能CHMOS 8位微控制器。

该器件灵活性高且价格低廉,被广泛用于各种控制领域。

该芯片的管脚排列与功能在前面已有描述。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,
ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2
图1 AT89C51引脚图
AT89C51引脚功能介绍 VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1
口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲
3
器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理 4
器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.2 MT8880芯片的介绍
MT8880是MITEL公司推出的专门用于处理DTNF信号的专用集成电路芯片,不仅具有接收和发送DTMF信号的自动拨号功能,还可以检测电话干线上拨号音、回铃音和忙音等信号音。

适合与单片机接口,外围电路简单,它由接收、发送、控制三个主要部分组成。

MT8880是一种功能较强的DTMF(双音多频)信号发送与接收器件。

由于其具备与微处理器直接相联的4位数据接口,所以,在计算机及相关领域得到了广泛应用。

在本系统中,依靠其DTMF发送功能实现报警信息的发送,同时,靠其接收功能实现了利用电话机代替输入键盘的目的。

该器件引脚图如图3所示。

其中OSC1、OSC0——时钟或振荡器输
入和输出端。

通常两端外接3.58MHz晶体,与片内振荡器产生基准时钟信号。

IN +、IN-——运放的同相和反相输入;GS——增益选择端;
VREF——基准电压输出端,它由VDD、VSS产生;通常为VDD/2,作为运
放输入的偏置;DTMF0——发送DTMF信号的输出;R/
制信号输入。

与TTL电平兼容;——读写控——片选信号输入,若CS为TTL低电平,则此电路被选中;RSI——寄存器选择输入,与TTL电平兼容;CP——系统时钟输入,与TTL电平兼容;D0~D3——控制DTMF信
号发送和DTMF译码的4位数据输入/输出,与TTL电平兼容,当=H时,
D0~D3呈高阻;/CALL——对微处理器的中断请求信号,
为开漏输出。

若控制寄存器数据设定电路处于CALL模式和中断使能 5
状态,则该端输出代表运放输入的方波信号音;EC0——初始控制输出;CI/GT0——控制输入/时间监测输出。

图2 MT8880引脚图
4、硬件设计
4.1 系统组成如图3所示:
图3系统组成
4.1.2 警情采集电路
信号采集电路由16 路防区输入信号采集电路和16路视频丢失检
6
测采集电路组成。

16 路防区输入信号采
集电路如图2 所示。

采集电路通过一片可编程并行接口芯片8255 与AT89C51 单片机的P0 口接口, 而16 路防区输入信号则通过光电隔离后与8255 的PA 口和PB 口相接。

PA 口和PB 口均设为输入口, 这16 个输入口分别对应16 路探测器的输入。

系统通过采集8255 的PA、PB口的数据来判断是否有警情产生。

16 路视频丢失检测采集电路如图5 所示。

该电路首先通过一片16 路模拟开关芯片CD4067 进行视频通路选择, 随后经过视频信号检测电路, 最后再与AT89C51 单片机的P1.3 口相接。

系统首先将视频通路号送给模拟开关CD4067, 然后将采集的数据送给P1.3口, 来判断视频是否丢失。

2 .2 DTMF 发送接收
7 图4防区信号采集电路图5 16 路视频丢失检测采集电路
电路MT8880 与AT89C51 及语音电路的接口MT8880是MITEL公司推出的专门用于处理DTMF 信号的专用集成电路芯片, 不仅具有接收和发送DTMF信号的自动拨号功能, 还可以检测电话干线上拨号音、回铃音和忙音等信号音。

适合与单片机接口, 外围电路简单。

MT8880 内部有五个寄存器, 分别为接收数据寄存器、发送数据寄存器、收发控制寄存器CRA 和CRB 以及收发状态寄存器。

在本设计中, 由于仅采用发送数据寄存器、收发控制寄存器CRA 和CRB 发送DTMF 信号实现自动拨号功能, 因此在此仅介绍这三个寄存器。

发送数据寄存器中的数据决定要发送的双音频信号的频率, 因此只能向发送数据寄存器写入数据。

两个收发控制寄存器占用同一个地址, 因此根据CRA 中的寄存器选择位的值决定是否对CRB 进行操作。

其接口电路如图4 所示。

ISD1420 语音芯片采用直接模拟存储技术, 且录放音质极好, 并有一定的混响效果; 它的外围元件简单, 仅需简单的阻、容器件即可组成简单的录、放音电路; 无需后备电源, 信息存储时间长, 不需要专用的编程器及语音开发器; 具有较强的选址能力, 可把存储器分成160段来管理, 形成最小的录放时间为125ms。

其接口电路图如图4 所示。

语音分段方法: 地址输入端A0~A7 由低位向高位排列, 每位地址代表125ms 的寻址, 160 个地址覆盖20s 的语音范围( 160×0.125s=20s ) , 录音及放音功能均从设定的起始地址开始, 录音结束由停止操作决定, 芯片内部在该段的结束位置自动插入结束标志( EOM) ; 而放音时遇到EOM 标志即自动停止放音。

在本设计中, 因需要四段报警提示语音, 因此在设计时均将每段语音设为5s,其起始地址分别为00000000B、00101000B、01010000B、01111000B, 由这四段起始地址可以看出
A7、A2、A1 和A0 均为0, 因此将其接地。

8
图6MT8880与AT89C51及语音电路的接口电路
5、软件设计
5 .1 信号音的识别方法
系统在巡检到警情信号后就模拟摘机。

为了识别模拟摘机后电话系统是否处于可拨号的状态、电话拨完号
码后电话是否接通以及对方是否摘机接听电话等几种状态, 系统必须进行信号音的识别。

为了识别信号音, 必须知道各种信号音的特性。

各种信号音特性如下:拨号音: 450±25Hz 连续蜂音;忙音: 0.35s 断0.35s 通的450±25Hz 蜂音, 音断周期为0.7s ;回铃音: 4s 断1s 通的450±25Hz 蜂音, 音断周期为5s。

这些电话信号均是模拟信号, 然而单片机是无法识别模拟信号的, 故必须先将模拟信号转换为脉冲信号,然后再根据脉冲信号的脉冲个数进行识别。

这些电话音频信号的脉冲个数可用下式计算:N=tm/T式中, N 为每音段周期的脉冲个数; T 为电话音频信号的音频周期, 单位为s ; tm 为信号音断周期的通时间, 单位为s。

在实际使用中, 主要需要识别拨号音、忙音和回铃音。

分析这三种信号的特性可以看出, 在一定的计数时
间内, 其脉冲个数是不一样的。

在设计之初, 考虑采用5s
为一 9
个计数单位来判断这三种信号音, 但通过实际的调试发现: 当对方摘机时, 要等待一段时间才能听到报警语音。

通过反复研究及调试, 最终采用2s 计数判断拨号音, 采用2.8s ( 即4 个忙音周期) 判断是否为忙音, 若否则代表电话拨通了。

随后采用1s 为一个计数单元, 采用计五次后的累加脉冲数来判断对方是否接听电话。

若有,
则放相应的报警提示语音; 否则再计1s , 然后计算最后5s 内的脉冲数, 再次判断对方是否摘机。

如此反复, 直到超过等待时间仍没有人接听电话就挂机。

由于干扰和一些其他因素的存在, 难免会有误判的现象而导致漏报警情。

因此采取在所有预先设定的电话至少有一个拨通就只拨一遍, 如果全部没拨通或者没人接听则把所有预存电话重拨一边, 这样漏报报警的概率就非常低以致可忽略不计。

5 .2 软件设计
自动拨号程序的流程图如图7所示。

10
图7自动拨号程序的流程图
11
下面是自动拨号的部分程序。

AUTOCALL: CLR P1.2 ;模拟摘机
MOV A,#5DH ;允许信号音输出, 下一次为写控制寄存器CRB MOVX @DPTR,A ;写控制寄存器CRA
MOV A,#51H ;MT8880 置为突发模式
MOVX @DPTR,A ;写控制寄存器CRB
MOV A,#56H ;MT8880 置为呼叫模式
MOVX @DPTR,A ;写控制寄存器CRALCALL DELAY
LCALL AUTOY ;调用信号音判别子程序, 看是否有拨号音
MOV A,#5DH ;允许信号音输出, 下一次为写控制寄存器CRB MOVX @DPTR,A ;写控制寄存器CRA
MOV A,#50H ;MT8880 置为突发模式
MOVX @DPTR,A ;写控制寄存器CRB
…… ;拨电话号码
MOV A,#56H ;MT8880 置为呼叫模式
MOVX @DPTR,A ;写控制寄存器CRA
LCALL AUTOY ;调用信号音判别子程序, 看是否有回铃音
LCALL AUTOY ;调用信号音判别子程序, 看对方是否摘机
SETB P1.2 ;模拟挂机
6 、小结
本系统的特点是通过单片机作为控制核心, 外接E2PROM用于存储电话号码、设置参数( 定时布/撤防、联动、视频等) 以及警情信息等。

当AT89C51单片机实时巡检到新的警情信号( 防区故障、视频丢失、主电断电或上位机死机) 时, 报警主机就会自动进行警情处理( 声光报警、启动相应联动、记录警情以及拨号报警等) 。

拨号报警的工作原理如下: 系统自动地控制摘/挂机电路模拟摘机, 同时
AT89C51单片机通过可编程并行接口8255将MT8880置为呼叫模式, 检测是否有拨号音。

若有拨号音, 则将MT8880设为突发方式, 并按用户预设的电话号码自动拨号。

拨完电话号码以后立即检测对方是否摘机, 一旦检测到对方摘机, 就启动语音提示电路发送与警情相一致的语 12
音信息, 完成自动拨号报警。

系统设计和调试的整个过程就是我们将平时的学习和实践相结合的过程。

这次设计应用知识面广,有单片机知识、电路知识等。

如何将这些知识结合在一起组成一个整体的概念,这是我们在以前的学习过程中没有遇到过的。

毕业设计非常好的锻炼了我们应用所学知识解决实际的问题的能力,弥补了我们这方面的不足。

在设计过程中,我们遇到了不少的问题都需要我们自己认真的进行分析,探讨并最终得到解决。

在这样一个过程中,不但让我们学会了如何去利用课本和参考资料,而且知道了必须加上自己的判断和思考,具体问题具体解决。

在本课题的整个研究设计过程中,得到了许多老师和同学的鼎力相助,借此机会向他们表示诚挚的谢意。

参考文献
(1) 朱春萍《数字电路基础》中国劳动社会保障出版社 2008
(2) 黄俊《电力电子变流技术》机械工业出版社 2007
(3) 朱永金、成友才《单片机应用技术》中国劳动社会保障出版社 2007 13。

相关文档
最新文档