一种基于AT89S52和CAN总线的家居安防系统设计

1 引言
现在 , 人们对工作和生活环境不仅要求舒适健康、可靠便利 , 而且更加看重安全性 , 并利用安防系统来提高家庭抵御各种意外情况的能力 。现在的安防系统可借助计算机技术、IC卡技术、通信技术等来实现 , CAN总线应用于安防系统对家居智能化发展起到了良好的促进作用 。CAN总线是一种应用较为广泛的现场总线 ,  它支持多主节点 , 有完善的错误处理机制 ,  通信速率快 ,  传送距离远 ,  可挂接控制设备多。而把DTMF 技术应用于安防系统 ,  不需要专门的布线 ,  不占用无线电频率资源 , 没有电磁污染 。文中设计了一种基于CAN 总线和DTMF技术的以AT89S52单片机为核心的新型智能家居安防系统 , 使原来小区安防系统的实时性和可靠性有了一个新层次的提高 。本系统可以对整个家居的安全环境进行实时监控 , 监控的范围包括室内防盗、火灾报警、煤气泄露等一系列不安全因素 。一旦有上述事故发生 ,  该报警系统就会发出相应的报警信息 ,  用语音播出警情类别 , 向远方用户和相关部门提供警情语音 。
2 系统总体构成
系统框图如图1所示 。单片机控制DTMF收发电路、数字语音电路、摘挂机控制电路 。探测器能够快速、准确地监测到住宅的异常状况 ,  经确认后及时通知控制器 , 再由单片机来控制电话接口电路 ,  实现模拟摘机 ,  自动拨打预先设置的电话号码进行语音报警并通知管理中心 。当监测到对方回应后 ,  自动恢复警戒状态 。
 
图1 家居安防系统框图
3 硬件设计
系统主控部分采用AT89S52单片机 ,  无需扩展外部存储器 。看门狗电路采用具有可编程的串行EEPROM -X25045 。X25045依次存储了标志字段、话机号码、警情代号、系统设置等数据信息 。数字语音电路采用数字语音芯片ISD1420 。系统中ISD1420仅作为基本录放音电路 ,  所以所有的地址线全部置为0, 因此放音的起始地址是0 。语音信号由驻极话筒拾取 ,  从M IC 和M ICREF两端输入芯片内部的放大器放大 ,  经过功放后的音频信号从SP+ 被用来与通话电路相连 ,  以送出语音信号 。
3. 1 振铃检测及模拟摘挂机单元
系统并于电话线两端 ,  时刻处于监控状态 ,  不会影响电话的正常工作 。当系统接收到振铃信号时 , 会进行振铃检测 。振铃信号经三个反相器后接入AT89S52的P3.4口 。若5次振铃后无人接听 ,  则系统进入自动摘机状态 。单片机P1. 2 引脚输出高电平 ,  三极管V501导通则继电器K1 动作 , 将负载电阻接入电路实现模拟摘机 。此后电话线上就会出现大于10mA 的电流 , 交换中心检测到这一电流后就不再输出振铃信号而是转为接通电话 。如果振铃信号没有达到预设值就消失 ,  则单片机的计数值清零 , 控制器不动作 。
3. 2 DTMF收发单元
DTMF收发电路采用DTMF 信号编/解码芯片MT8880[ 5] 芯片 ,  单片机通过DTMF收发电路拨出电话号码进行电话报警 ,  DTMF收发电路如图2所示 。
 
图2 DTMF收发电路
MT8880提供了与微处理器相连的接口 ,  以对其发送、接收和工作模式进行控制 。它的接收部分采用单端输入 ,  由R27、R28和C16 组成 , 其输入电压增益为1, 通过改变R28可调节输入信号的增益 。它的发送部分由R29、C17、C18和XTAL2构成 。它的控制部分由R30 和C19 构成 。IRQ/CP 与单片机P3. 5 脚相连 。当MT8880接收到有效的双音多频信号时 ,  单片机进行中断处理 。MT8880 的IN - 端和通话电路TEA 1062的QR 端相连 ,  MT8880 的TONE端和TEA1062的DTMF端相连 。
【一种基于AT89S52和CAN总线的家居安防系统设计】3. 3 通话单元
通话电路使用电话机专用通话集成电路TEA1062 。送话时 ,  语音信号(来自ISD1420)通过M IC + 引脚输入 , DTMF信号(来自MT8880)通过DTMF引脚输入 ,  经过TEA1062 放大后从LN 引脚一起送到电话外线上 。受话时 ,  信号通过消侧音网络 ,  从IR引脚输入 ,  放大后从引脚QR 输出 ,  分两路: 一路送到ISD1420的ANA IN 端供语音录制用 , 另一路送到MT8880的IN -端提取DTMF信号 。
3. 4 CAN 总线数据传输单元
CAN 总线数据传输单元由两部分构成 ,  一部分是CAN 控制器 ,  实现对总线数据的交互与控制 ,  另一部分是CAN 数据收发器 , 实现数据的网络传输 。
单片机AT89S52通过控制CAN 控制器来实现对总线的访问 ,  同时还负责功能单元的测量和控制 ,  CAN 总线接口电路如图3所示 。
 
图3 CAN总线接口电路
AT89S52 通过中断方式访问CAN 控制器SJA1000, 为了增强CAN 总线节点的抗干扰能力 , SJA1000通过高速光耦6N137 与CAN总线驱动器PCA82C50 相连 。PCA82C50 的CANH 和CANL引脚各自接了一个5 的电阻与CAN 总线相连 ,  可以起到限流作用 , 以免PCA82C50受到过电流冲击 。
4 软件设计
系统的软件采用模块化设计 ,  主要包括主程序模块、CAN 通信模块、振铃检测模块、语音报警模块、DTMF收发模块等 , 这里主要介绍主程序和CAN通信模块设计 。
4. 1 主程序设计
主程序主要完成各功能模块的调用 ,  检测系统输入 ,  然后根据系统状态进行判断处理 。程序进行主循环之前还要进行必要的初始化 , 如MT8880、ISD1420、SJA1000、相关标志位等 。主程序流程如图4所示 。
 
图4 主程序流程图
4. 2 CAN 通信模块设计
CAN 通信模块包括控制器初始化、数据接收和发送子程序 。SJA1000有复位模式和工作模式两种状态 ,  两种状态下寄存器配置不同 。当参数设置完后 ,  CPU发出命令 ,  SJA1000 处于工作状态 ,  进行正常通信 。如果通信出错 ,  CPU 会使SJA1000回到复位模式 。接收模块负责节点报文的接收及相关处理 。接收过程中CPU 会读数据 ,  根据命令字判断数据帧的类型进行不同处理 。发送模块负责报文的发送 , SJA1000 发送数据前 ,  要判断是否满足发送条件 ,  如果满足 ,  则把报文帧信息、标识符和要发送的数据写入缓冲区 ,  即可发送 。JA1000的收发流程图如图5所示 。
 
图5 JA 1000的收发流程图
5 结束语
本系统以AT89S52单片机为核心 ,  不用对电话网进行任何改造 ,  实现对家居设防点进行自动检测和语音报警 。设计中用CAN 总线结构组成安防系统 , 有较好的灵活性和扩展性 ,  同时利用CAN 总线引入实时的数据处理 ,  提高了系统的可靠性 。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值 。

    推荐阅读