1 引言
现在的安防系统可借助计算机技术、IC卡技术、通信技术等来实现,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发送数据前,要判断是否满足发送条件,如果满足,则把报文帧信息、标识符和要发送的数据写入缓冲区,即可发送。JA1000的收发流程图如图5所示。
图5 JA1000的收发流程图
5 结束语
本系统以AT89S52单片机为核心,不用对电话网进行任何改造,实现对家居设防点进行自动检测和语音报警。设计中用CAN总线结构组成安防系统,有较好的灵活性和扩展性,同时利用CAN总线引入实时的数据处理,提高了系统的可靠性。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值。