关 闭

新闻中心

EEPW首页 > 安全与国防 > 设计应用 > 基于CAN总线的家居安防系统设计

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

作者:时间:2016-10-11来源:网络收藏

  3. 4 总线数据传输单元

本文引用地址:http://www.eepw.com.cn/article/201610/311161.htm

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

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

  

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

 

  图3 CAN总线接口电路

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

  4 软件设计

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

  4. 1 主程序设计

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

  

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

 

  图4 主程序流程图

  4. 2 CAN通信模块设计

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

  

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

 

  图5 JA 1000的收发流程图

  5 结束语

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


上一页 1 2 下一页

关键词: CAN AT89S52

评论


相关推荐

技术专区

关闭