CAN采用多主工作方式,节点之间不分主从,但节点之间有优先级之分,通信方式灵活,可实现点对点、一点对多点及广播方式传输数据,无需调度。也就是说,它可向系统中的所有节点进行报文发送广播,即CAN系统中的每个节点均同时接收到同样的数据。缺省情况下,CAN是基于报文而非地址的。系统采用分布式控制实现方法集成了多节点(见图1a所示分布式网络)。这种拓扑结构的好处之一是,节点的增加和去除非常简单,对软件的影响也很小。CAN网络要求每个节点均具备智能,但智能化水平可根据节点所承载的任务进行调整。因此CAN系统中使用的单片机通常较简单并且引脚数也较少。图1a进一步显示了CAN网络可实现分布式网络,从系统中增加或删除节点只需改变少量的固件。由于使用的导线较少并且采用分散式智能,而且CAN网络还具有较高的可靠性。这是与需用星形配置实现集中控制(见图1b所示集中式网络)的以太网区别所在。
其图1进一步显示了,在多任务网络中,集中式网络通常用于以太网系统,如果在系统中增加节点,则要求对系统MCU(多芯片单元)作很大的变动;而CAN网络可实现分布式网络,从系统中增加或删除节点只需改变少量的固件。
CAN采用的是非破坏性总线仲裁技术。按优先级发送,可以大大节省总线冲突仲裁时间。而CAN总线上的通信结构与实现技术如下述:
·CAN采用短帧结构传输,每帧有效字段为6-8个,传输时间短,受干扰的概率低。而且每帧信息都有CRC校验和其他检错措施,保证数据出错率极低。当节点严重错误时,具有自动关闭功能,使总线上其他节点不受影响。可见,CAN是所有总线中最为可靠的。
·CAN总线上的通信是通过报文帧来实现的。帧有三种类型,即数据帧、远程帧和错误帧。每一个帧内部都具备一些字段,对发送的帧类型做出定义并提供相关信息。比如,数据帧由6个字段组成,分别是:仲裁字段、控制字段、数据宇段、CRC(循环冗余校验)宇段、确认字段以及帧结束。在帧发送期间,仲裁字段被网络中的每个节点用来识别和/或解决冲突。仲裁字段还用来识别报文的类型及其发送目的地。控制字段定义了数据帧的长度。数据帧包含数据,其字节数在控制宇段中作了规定。CRC字段用来检测数据错误。最后,每次发送均需取得CAN网络上所有接收节点的确认帧。
CAN网络应用举例
基于CAN总线网络的光电经纬仪通信方案
经纬仪利用激光、红外、电视、雷达等探测器获得运动目标在其视场内与视场中心的变化偏差,再通过伺服控制系统进行校正跟踪,使仪器瞄准该目标并引导其他跟踪设备或根据激光测距和仪器本身位置数据计算出运动目标的精确轨迹。
经纬仪系统风险是主控制机要负担大量的数据计算和交换任务,控制功能不能分散,导致任务风险集中于主控制机,一旦主机出现问题将导致整个系统设备瘫痪。那种传统点对点的连接方式不仅使接口结构复杂而且大量的电缆也增加了设备内部的电磁辐射和干扰,设备的体积庞大,布线的难度高。
基于CAN总线网络的光电经纬仪结构框图如图2所示。
其结构特征:使用单一的串行总线结构代替了多种通信方式的并行结构。主控制机所需信息可以从CAN总线上取得图像处理、位置元。其它数据采集等分系统通过CAN总线与主控制机交换数据的同时还可以从总线上直接获取其他分系统的数据,这不仅提高了总线利用率、数据传输的实时性还减轻了主控制机的压力、提高了系统工作的稳定性。所有的分系统都可以通过一对双绞线串接在一起,节省了空间、简化了布线。由于CAN总线本身所具有的突出特性,设备的抗干扰性、可靠性、实时性等几项指标均能得到提高。