首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于CAN总线的客房通信控制器的设计
来源:本站整理  作者:佚名  2009-08-26 10:08:45



CAN总线接口电路主要由CAN通信控制器SJA1000、高速光耦6N137和CAN总线驱动器82C250组成。SJA1000作为CAN总线协议转换的控制器,它内建BASIC CAN协议,并提供对CAN2.0B协议的支持。通过对片内寄存器的读、写操作,主控制器单片机能够设置CAN总线通信模式,实现数据的发送与接收。
    SJA1000在逻辑上实现了传输数据的编码和解码,若要与物理线路连接,还必须借助总线驱动器82C250,以增强CAN总线的差动发送和接收驱动能力。为了增强CAN 总线节点的抗干扰能力,防止线路间串扰,SJA1000 的TX0 和RXO 并不是直接与82C250 的TXD 和RXD 相连,而是通过高速光耦6N137 后再与82C250 相连;另外,CAN总线驱动器采用带隔离的DC/DC模块单独供电,实现了通信控制器与CAN总线的隔离,提高系统的可靠性。
    82C250的CANH和CANL引脚各自通过一热敏电阻与CAN总线相连,当过流时电阻发热阻值变大,保护82C250免受过流的冲击。CANH和CANL与地之间并联两个小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。
    RS232接口电路主要用于主控制器单片机与管理层中央服务器PC的双向数据传送。由于采用了标准的RS232串行通信,结构简单、成本低。
    控制器的其它外围电路还有电源模块、非易失性EEPROM存储器、时钟保持电路、LED指示灯和看门狗等。非易失性EEPROM存储器采用具有2KB容量的AT24C02,用于保存系统配置参数及各节点的最新信息,便于管理层的查询。时钟保持电路选用涓流充电时钟芯片DS1302,其内部含有实时时钟和日历,通过简单的串行接口与单片机进行通信,用于给各节点控制器校时。同时,控制器还配置了4个LED指示灯,分别用于系统上电、CAN通信、RS232通信和系统通信故障的指示,以方便系统的调试和对控制器运行状况的监测。

4 系统软件
    CAN通信控制器的主要任务是过滤信息量,将现场层信息上传给管理层,同时接收管理层的控制指令,对记录数据或各CAN节点进行操作。CAN通信控制器同时还具有数据记录和零点校时功能。因而控制器软件设计主要包括四大部分:CAN通信、RS232通信、EEPROM数据的读写和系统时钟DS1302的读写。其程序主流程图如图3所示。


图3 控制器软件流程图

    CAN通信软件包括CAN初始化、报文的接收和报文发送三部分。当控制器上电后,首先对CAN控制器SJA1000进行初始化设置,主要包括工作方式的设置、接受滤波方式的设置、接受屏蔽寄存器和接受代码寄存器的设置、波特率参数设置和中断允许寄存器的设置,SJA1000的初始化只能在复位模式下进行。完成SJA1000的初始化设置后即返回工作状态,开始循环监听CAN总线上的信息。报文的接收采取中断方式,以便系统的即时响应。在报文接收的过程中同时要对总线关闭、错误报警、接受溢出等情况进行处理。报文的发送相对比较简单,只需将待发送的数据组成一组报文送入SJA1000的发送缓存器中,启动发送即可。RS232通信软件包括RS232初始化和与管理层中央服务器PC机的通信;控制器采用查询方式接收中央服务器PC的数据。
   EEPROM24C02存储器数据和时钟芯片DS1302的读写均简单地采用同步串行的方式进行通信。当控制器收到节点的信息后,即将此信息上传给管理层,同时将此信息写入AT24C02存储器,作为历史信息保存,便于管理层的查询。控制器的零点校时功能是通过读取DS1302的时钟,当时钟为零点整时,即统一对各现场CAN节点进行校时,避免了各CAN节点时钟误差的积累。

5 结束语
    基于CAN总线的客房通信控制器已在宾馆的客房控制和管理系统中得到了成功的应用。实践证明,由于采用了CAN总线技术,不仅系统结构简单、适应性和可扩展性强,而且CAN总线以其分时多主、非破坏性总线仲裁和自动检错重发的技术特点有效地提高了通信的可靠性,从而使现场调试更加方便、缩短了开发周期。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:162,000.00000 毫秒