基于CAN现场总线技术的机舱报警系统
扫描二维码
随时随地手机看文章
1 CAN总线概述
CAN (Controller Area Network) ,即控制局域网,是 一种具有高可靠性、支持分布式和实时控制的串行通 信网络。CAN为多主方式工作,网络上任意节点均可 在任意时刻主动地向网络上其他节点发送信息,而不 分主从,且无需站地址等节点信息,通信灵活。CAN 协议模型结构只有3层,即只取OSI模型底层的物理 层、数据链路层和顶层的应用层。物理层使用双绞线, 数据链路层采用了具有优先级控制的载波侦听及冲突 检验机制(CSMA /CD) 。CAN 的最大特点是可靠性 高,其节点在错误严重的情况下具有自动关闭总线的 功能,切断与总线的联系,使总线上其他操作不受影 响。CAN总线的速率在40m内可达1Mbit/ s,最大传 输距离为10km,最大传输距离时的速率可达5kbit/ s。 每条CAN总线可挂接设备数最多可达110个,多条连 用时,容量基本不受限制。
2 CAN总线在船舶中的应用
目前, CAN总线应用于船舶的基本网络模型如图 1所示。
模型中网络分为2层结构,分别为上层网和下层 网(子网) ,子网通过网桥与上层网相连接。采用这种 结构,网络中节点数理论上可以达到1000个,大大扩 充了CAN网络容量,完全可以满足船舶监控系统的需 要。
因为CAN协议本身没有考虑冗余的结构,所以各 CAN系统自行设计了冗余方案,其中常见的做法有2 种:一种是子网中每个CAN节点都有2个CAN通信 模块,同时铺设2路总线,当一路总线出现故障时,自 动启用备用总线通信;另一种是每个子网采用环形拓 扑结构,实现方法是只在CAN网桥与子网连接的一端 保留2个CAN通信模块(主干网可采用类似的方法) , 分别接子网总线的两端,构成环形,这样每个节点可以 在两个方向上与其他节点通信,某一处总线断开不影 响系统正常工作。
3 CAN通信模块的设计
下面结合所开发的模块实例,简要介绍以CAN通 信模块开发的一般方法及软硬件问题的解决。
3. 1 下位节点的设计
本例中CAN网络节点的结构如图2所示。
其中, 80C196KC是Intel 16 位微控制器,内置有 16K ROM, 488B寄存器RAM,A /D转换器,看门狗定时 器等。其工作频率可达20MHz,适用于实时控制系统。 SJA1000是新型的CAN 独立通信控制器, 支持 CAN2. 0A和2. 0B两种规范,可完成物理层和数据链路 层的所有功能。通信波特率最高可达1Mbit/ s。另外, PeliCAN扩展了很多新功能,包括:可读/写访问的错 误计数器;可编程的错误报警限值;最近一次错误代码 寄存器;具体控制位控制的位仲裁丢失;单次发送(失 败后无重发) ;支持热插拔等。
82C250是CAN控制器与物理总线之间的接口部 件,可完成对总线的差动发送和接收功能。82C250与 ISO /D IS 11898标准完全兼容,具有抗瞬间干扰、降低 射频干扰、热保护、总线与电源及地之间的短路保护等 能力,可支持多达110个节点相连。
本例中, 程序固化在EPROM 中, 80C196KC 与 SJA1000分别使用各自的外接晶振,传感器信号经过 采集电路处理后,接入80C196KC的A /D引脚。本系 统中, CAN总线通信波特率为100kbit/ s,数据采集模 块每隔0. 5 s向网络发送一次数据。
3. 2 CAN网桥
CAN网桥的结构如图3所示。CAN的数据帧内 容由其头部的11位(CAN2. 0A)或者29位(CAN2. 0B) 标志符命名。标志符可用于描述数据含义,每个接收 器通过对标志符的选择滤波确定此帧。网桥有2 个 CAN通信控制器背对背相接而成,每个通信控制器根 据所收到的数据帧的某2个标志位判断是否需要将其 向其他子网转发。
3. 3 CAN - PC接口卡
PC机与CAN 网络的连接卡有2 种, 即内置式 卡———插在PC机的扩展插槽中,和外置式卡———与 PC机串口相连。当然,目前市场上已经可以买到此类 产品,不过,通常价格较高,而且,对于用户所要搭建的 具体系统,不一定完全适用。因此,用户完全可以根据 自己的要求,开发自己的转接卡部件。