微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AT89C81的小区电话报警平台

基于AT89C81的小区电话报警平台

时间:11-20 来源:互联网 点击:
  引言

在现今社会中,电话网络报警以其快捷有效的优点得到普遍的应用。已逐步成为计算机的主流接口的通用串行总线USB很好地适应了现代计算机多媒体功能的拓展。目前通用的报警平台的接口是采用PCI卡价格贵,且不能即插即用。采用USB接口代替PCI卡,不仅降低了成本,而且可以提高管理平台的易用性和可维护性。本文在VC++++下实现的小区报警管理平台的主要功能为:接收从用户报警系统通过电话网络传输来的报警信息(包括用户信息以及具体警报类型等),再将报警信息通过USB接口传入监控主机,与预先存入ADO(Activex Data Objects)数据库的用户信息进行查找,确定具体用户信息,以便及时对小区内警情进行处理。系统主要由接收报警信息预处理电路与PC机组成(如图1)。报警信息接收预处理电路通过接收电话网络传来的报警信息,并将报警信息格式化,再通过USB接口将信息传送给PC机。PC机接收传送回来的格式化信息,进行信息分析和差错处理,确认格式正确后再与数据库(ADO)中的用户数据进行比对,将报警用户的信息通过报警对话框弹出显示。


图1 系统结构框图

系统硬件

前端电路主要由HT9032(FSK解调电路)、单片机AT89C81、模拟摘挂机电路、线路异常监测电路和EZ-USB FX2(CY7C68013)(USB接口电路)组成,见图2。HT9032是一种FSK解码芯片,引脚及功能与Freescale公司的MC145447及EMC公司的EM92547A相兼容。图3为其外围电路以及与单片机的连接。


图2 系统的前端电路


图3 HT9032的电路连接图

主叫识别信息数据的格式有二种:单数据消息格式(SDMF)和复合数据消息格式(MDMF),前者结构简单,也比较常用,具体格式如图4。


图4 FSK的数据格式

信道占用信号:由一组300个连续的“0”和“1”交替组成,第一个比特为“0”,最后一个为“1”。在通话状态下,信道占用信号不发送。接收端只在正确收到这个信号后才认为后面紧跟的为有效信号。

标志信号:由180个(挂机状态下)或80个(通话状态下)标志位(逻辑1)组成,即持续的高电平消息类型字:单数据格式情况下为“04H”,表示为主叫号码传送信息。

消息长度字:占一个字节,为消息字的数目。

消息内容:单数据消息格式。消息字内容如下:日期、时间(月、日、时、分),共8个字节;主叫号码(如果允许显示);如果不允许显示主叫号码,将传送字符“P”;当终端交换机无法得到主机号码时,将传送字“O”。

校验和:校验字的算法是将消息数据(即单数据格式的消息类型字、消息长度字和消息数据字)按256的模求和取补来得到校验字。解码后的数据经过AT89C51的提取、整理,通过CYC68013的IO口传送给68013的内部RAM后再经过USB总线传送给PC机。

电话线上的直流和交流电压都高于报警主机的电压,需要在接口处加光耦,将程控交换机和报警器的电源隔离。要避免户外断线或户外非法并机,并且报警器没有摘机的情况下才报警。出现异常,光耦导通,集电极输出低电平给单片机,进行异常报警中断处理。

用PNP的三极管控制继电器常开端的吸合和打开。当单片机发出摘机信号时,给三极管的基极低电平,三极管导通,继电器闭合,电话线两端的电阻降至300 nΩ左右,从而实现模拟摘机。当单片机发出挂机信号时,给三极管的基极高电平,三极管截止,继电器常开端打开,电阻上升至无穷,从而实现模拟挂机。

Cypress公司的EZ-USB FX2芯片,将USB外围接口设备所需的各种功能包装成一个简洁的集成电路。集成的USB收发器连接到USB总线中的D+和D-;串行接口引擎(SIE)进行译码、编码、错误纠正和位填充,变换USB所需的信号电平;最终,从USB接口SIE发送和接收数据。CPU采用增强8051,提高了运行速度,增强了功能。同时,该芯片采用内部RAM用于程序和数据存取。

系统软件的实现

  下位机程序

下位机程序主要由单片机89C51的中断接收发送程序,以及USB芯片68013的固件程序组成。89C51接收来自HT9032的中断信号,根据解码数据格式,获取报警电话号码以及报警时间。HT9032解调出的FSK基带信号,送入单片机捕获中断,信号码为1 200 b/s。由于采样周期不可能是理想的1200 Hz,会使采样位置渐渐偏离码元中心,造成判决错误。所以,每次下降沿捕获中断产生后,单片机计数时钟重新复位,矫正其采样相位;然后,延时0.4 ms(2.4 kHz),取码元中点,并开始按1.2 kHz速率采样,由此得到0、1比特流,将其按10 bit合成字节信启,每个字节起始位是1,结束位为0,中间8位为信息。最后根据主叫识别的单数据消息格式提取所需的消息中断处

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top