基于DTMF和CAN总线的家居安防系统设计方案
4. 1 主程序设计
主程序主要完成各功能模块的调用, 检测系统输入, 然后根据系统状态进行判断处理。程序进行主循环之前还要进行必要的初始化, 如MT8880、ISD1420、SJA1000、相关标志位等。主程序流程如图4所示。
图4 主程序流程图
CAN 通信模块包括控制器初始化、数据接收和发送子程序。SJA1000有复位模式和工作模式两种状态, 两种状态下寄存器配置不同。当参数设置完后, CPU 发出命令, SJA1000 处于工作状态, 进行正常通信。如果通信出错, CPU 会使SJA1000 回到复位模式。接收模块负责节点报文的接收及相关处理。接收过程中CPU 会读数据, 根据命令字判断数据帧的类型进行不同处理。发送模块负责报文的发送, SJA1000 发送数据前, 要判断是否满足发送条件, 如果满足, 则把报文帧信息、标识符和要发送的数据写入缓冲区, 即可发送。JA 1000的收发流程图如图5所示。
图5 JA 1000的收发流程图
5 结束语
本系统以AT89S52单片机为核心, 不用对电话网进行任何改造, 实现对家居设防点进行自动检测和语音报警。设计中用CAN 总线结构组成安防系统, 有较好的灵活性和扩展性, 同时利用CAN 总线引入实时的数据处理, 提高了系统的可靠性。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值。
评论