一种基于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 IC REF两端输入芯片内部的放大器放大, 经过功放后的音频信号从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端相连。
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 发送数据前, 要判断是否满足发送条件, 如果满足, 则把报文帧信息、标识符和要发送的数据写入缓冲区, 即可发送。JA 1000的收发流程图如图5所示。
图5 JA 1000的收发流程图
5 结束语
本系统以AT89S52单片机为核心, 不用对电话网进行任何改造, 实现对家居设防点进行自动检测和语音报警。设计中用CAN 总线结构组成安防系统, 有较好的灵活性和扩展性, 同时利用CAN 总线引入实时的数据处理, 提高了系统的可靠性。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值。