基于CAN总线的家居安防系统设计

简介:

现在,人们对工作和生活环境不仅要求舒适健康、可靠便利,而且更加看重安全性,并利用安防系统来提高家庭抵御各种意外情况的能力。现在的安防系统可借助计算机技术、IC卡技术、通信技术等来实现……

1引言

现在,人们对工作和生活环境不仅要求舒适健康、可靠便利,而且更加看重安全性,并利用安防系统来提高家庭抵御各种意外情况的能力。现在的安防系统可借助计算机技术、IC卡技术、通信技术等来实现,CAN总线应用于安防系统对家居智能化发展起到了良好的促进作用。CAN总线是一种应用较为广泛的现场总线,它支持多主节点,有完善的错误处理机制,通信速率快,传送距离远,可挂接控制设备多。

而把DTMF技术应用于安防系统,不需要专门的布线,不占用无线电频率资源,没有电磁污染。文中设计了一种基于CAN总线和DTMF技术的以AT89S52单片机为核心的新型智能家居安防系统,使原来小区安防系统的实时性和可靠性有了一个新层次的提高。本系统可以对整个家居的安全环境进行实时监控,监控的范围包括室内防盗、火灾报警、煤气泄露等一系列不安全因素。一旦有上述事故发生,该报警系统就会发出相应的报警信息,用语音播出警情类别,向远方用户和相关部门提供警情语音。

2系统总体构成

系统框图如图1所示。单片机控制DTMF收发电路、数字语音电路、摘挂机控制电路。探测器能够快速、准确地监测到住宅的异常状况,经确认后及时通知控制器,再由单片机来控制电话接口电路,实现模拟摘机,自动拨打预先设置的电话号码进行语音报警并通知管理中心。当监测到对方回应后,自动恢复警戒状态。

1

  3硬件设计

系统主控部分采用AT89S52单片机,无需扩展外部存储器。看门狗电路采用具有可编程的串行EEPROM-X25045。X25045依次存储了标志字段、话机号码、警情代号、系统设置等数据信息。数字语音电路采用数字语音芯片ISD1420。系统中ISD1420仅作为基本录放音电路,所以所有的地址线全部置为0,因此放音的起始地址是0。语音信号由驻极话筒拾取,从MIC和MICREF两端输入芯片内部的放大器放大,经过功放后的音频信号从SP+被用来与通话电路相连,以送出语音信号。

3.1振铃检测及模拟摘挂机单元

系统并于电话线两端,时刻处于监控状态,不会影响电话的正常工作。当系统接收到振铃信号时,会进行振铃检测。振铃信号经三个反相器后接入AT89S52的P3.4口。若5次振铃后无人接听,则系统进入自动摘机状态。单片机P1.2引脚输出高电平,三极管V501导通则继电器K1动作,将负载电阻接入电路实现模拟摘机。此后电话线上就会出现大于10mA的电流,交换中心检测到这一电流后就不再输出振铃信号而是转为接通电话。如果振铃信号没有达到预设值就消失,则单片机的计数值清零,控制器不动作。

3.2DTMF收发单元

DTMF收发电路采用DTMF信号编/解码芯片MT8880[5]芯片,单片机通过DTMF收发电路拨出电话号码进行电话报警,DTMF收发电路如图2所示。

1

  图2DTMF收发电路

MT8880提供了与微处理器相连的接口,以对其发送、接收和工作模式进行控制。它的接收部分采用单端输入,由R27、R28和C16组成,其输入电压增益为1,通过改变R28可调节输入信号的增益。它的发送部分由R29、C17、C18和XTAL2构成。它的控制部分由R30和C19构成。IRQ/CP与单片机P3.5脚相连。当MT8880接收到有效的双音多频信号时,单片机进行中断处理。MT8880的IN-端和通话电路TEA1062的QR端相连,MT8880的TONE端和TEA1062的DTMF端相连。

3.3通话单元

通话电路使用电话机专用通话集成电路TEA1062。送话时,语音信号(来自ISD1420)通过MIC+引脚输入,DTMF信号(来自MT8880)通过DTMF引脚输入,经过TEA1062放大后从LN引脚一起送到电话外线上。受话时,信号通过消侧音网络,从IR引脚输入,放大后从引脚QR输出,分两路:一路送到ISD1420的ANAIN端供语音录制用,另一路送到MT8880的IN-端提取DTMF信号。

3.4CAN总线数据传输单元

CAN总线数据传输单元由两部分构成,一部分是CAN控制器,实现对总线数据的交互与控制,另一部分是CAN数据收发器,实现数据的网络传输。

单片机AT89S52通过控制CAN控制器来实现对总线的访问,同时还负责功能单元的测量和控制,CAN总线接口电路如图3所示。

1

  图3CAN总线接口电路

AT89S52通过中断方式访问CAN控制器SJA1000,为了增强CAN总线节点的抗干扰能力,SJA1000通过高速光耦6N137与CAN总线驱动器PCA82C50相连。PCA82C50的CANH和CANL引脚各自接了一个5的电阻与CAN总线相连,可以起到限流作用,以免PCA82C50受到过电流冲击。

4软件设计

系统的软件采用模块化设计,主要包括主程序模块、CAN通信模块、振铃检测模块、语音报警模块、DTMF收发模块等,这里主要介绍主程序和CAN通信模块设计。

4.1主程序设计

主程序主要完成各功能模块的调用,检测系统输入,然后根据系统状态进行判断处理。程序进行主循环之前还要进行必要的初始化,如MT8880、ISD1420、SJA1000相关标志位等。主程序流程如图4所示。

1

  图4主程序流程图

4.2CAN通信模块设计

CAN通信模块包括控制器初始化、数据接收和发送子程序。SJA1000有复位模式和工作模式两种状态,两种状态下寄存器配置不同。当参数设置完后,CPU发出命令,SJA1000处于工作状态,进行正常通信。如果通信出错,CPU会使SJA1000回到复位模式。接收模块负责节点报文的接收及相关处理。接收过程中CPU会读数据,根据命令字判断数据帧的类型进行不同处理。发送模块负责报文的发送,SJA1000发送数据前,要判断是否满足发送条件,如果满足,则把报文帧信息、标识符和要发送的数据写入缓冲区,即可发送。JA1000的收发流程图如图5所示。

1

  图5JA1000的收发流程图

5结束语

本系统以AT89S52单片机为核心,不用对电话网进行任何改造,实现对家居设防点进行自动检测和语音报警。设计中用CAN总线结构组成安防系统,有较好的灵活性和扩展性,同时利用CAN总线引入实时的数据处理,提高了系统的可靠性。可对楼宇可视对讲、智能小区管理、门禁管理等有较大的应用推广价值。

本文转自d1net(转载)


相关文章
|
算法
经典控制算法——PID算法原理分析及优化
这篇文章介绍了PID控制算法,这是一种广泛应用的控制策略,具有简单、鲁棒性强的特点。PID通过比例、积分和微分三个部分调整控制量,以减少系统误差。文章提到了在大学智能汽车竞赛中的应用,并详细解释了PID的基本原理和数学表达式。接着,讨论了数字PID的实现,包括位置式、增量式和步进式,以及它们各自的优缺点。最后,文章介绍了PID的优化方法,如积分饱和处理和微分项优化,以及串级PID在电机控制中的应用。整个内容旨在帮助读者理解PID控制的原理和实际运用。
1234 1
|
3月前
|
微服务
什么是微服务?微服务的优缺点是什么?
微服务就是一个独立的职责单一的服务应用程序,一个模块 1.优点:松耦合,聚焦单一业务功能,无关开发语言,团队规模降低 , 扩展性好, 天然支持分库2.缺点:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和调用压力增大
|
10月前
|
存储 Kubernetes 容器
Kubernetes 存储选项:持久化卷与存储类
【8月更文第29天】随着容器化的普及,越来越多的应用程序需要持久化数据以保持状态信息。Kubernetes 提供了一套完整的解决方案来管理和配置持久化存储,包括持久卷 (Persistent Volume, PV)、持久卷声明 (Persistent Volume Claim, PVC) 和存储类 (StorageClass)。本文将详细介绍这些概念,并通过实际示例来演示如何在 Kubernetes 中配置存储。
728 1
|
Java Linux
Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
【2月更文挑战第16天】Flume【环境搭建 01】CentOS Linux release 7.5 安装配置 apache-flume-1.9.0 并验证
205 0
|
JSON Linux C语言
全网最权威唯一值得推荐的《C/C++框架和库》
关于C++框架、库和资源的一些汇总列表,内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
320 1
|
机器学习/深度学习 PyTorch 算法框架/工具
【深度学习】Pytorch Tensor 张量
【1月更文挑战第26天】【深度学习】Pytorch Tensor 张量
|
运维 Oracle JavaScript
现在考Oracle 19c OCP(1z0-082和1z0-083)还需要官方的培训记录吗?
内容说明:长期以来获得Oracle OCP(Oracle Certified Professional)的认证需要参加Oracle的官方或者合作伙伴组织的培训。
374 0
|
编解码 安全 Linux
麒麟操作系统|Linux下低延时RTMP|RTSP直播播放实现
国产操作系统多为以Linux为基础二次开发的操作系统。2014年4月8日起,美国微软公司停止了对Windows XP SP3操作系统提供服务支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。而2020年对Windows7服务支持的终止再一次推动了国产系统的发展。
362 0
|
网络协议 Java 数据处理
利用线程池多线程并发实现TCP两端通信交互,并将服务端设为守护进程(一)
利用线程池多线程并发实现TCP两端通信交互,并将服务端设为守护进程(一)
470 0
|
机器学习/深度学习 人工智能 分布式计算
「开源人说」| 大数据王峰——云原生时代,做不忘初心开源牧码人
王峰 阿里巴巴开源委员会大数据AI领域副主席 阿里云开源大数据平台负责人 Flink中文社区发起人
143119 6
「开源人说」| 大数据王峰——云原生时代,做不忘初心开源牧码人