李丹 涂刚
【摘要】进入21世纪以来,飞行器在军事、民用和科学研究等方面得到了越来越多的应用,其功能越来越复杂,综合化程度越来越高。本文在分析CAN总线航天应用的基础上,从硬件原理设计、CPU与CAN总线接口实现以及CAN总线通信软件设计等方面进行了论述。
【关键词】CAN总线:航空系统:应用
【中图分类号】V243.1 【文献标识码】A 【文章编号】1672-5158(2013)04-0213-02
1、引言
CAN(Controller Area Network)一控制器局域网。它是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线最早是由德国Bosch公司在80年代初为解决航空系统中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆、光导纤维,通信速率可达1M/s。CAN总线通信接口中集成了CAN协议的物理层,数据链路层功能,可完成对通信数据的成帧处理,包括位填充,数据块编码,循环冗余校验,优先级判别等项工作。
2、CAN总线工作原理及其特点
2.1 CAN总线工作原理
当CAN总线上的一个节点发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不存在有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。
当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,所以很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而不必在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而不必每个控制器都有自己独立的传感器。
2.2 CAN总线的特点
(1)具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;(2)可靠的错误处理和检错机制;(3)具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-bus上,形成多主机局部网络;(4)发送的信息遭到破坏后,可自动重发;(5)可根据报文的11)决定接收或屏蔽该报文;(6)节点在错误严重的情况下具有自动退出总线的功能;(7)采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;(8)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
3、CAN总线航天系统中应用分析
esa开展的CAN、1553b、spacewire技术研究表明以差分信号传输的高速串行总线用于星载设备之间的数据传输能保证通信的瞬时性,有助于降低星载设备的功耗,有利于获得低噪声、emi低、抗电磁干扰性强、信号不受电源开关状态变化影响等优势,具有良好的航天系统应用前景。
isoll898建议的CAN总线的物理电气性能,能够保证在总线发生某些故障时不至于中断通信,而且可以为故障的定位提供可能。表1列出了CAN总线可能发生的各种开路和短路故障,以及在该故障模式下CAN总线受影响的情况。
CAN总线具有安全可信性。从协议分析,CAN总线的每个eeu具备错误检测、标定和自检的强有力措施。检测错误包括“发送自检、eye校验、位填充和报文格式检验”。其错误检测具有如下特性:(1)所有全局错误都可以检测;(2)没有检测出的已损报文的剩余错误概率为报文出错率的4.7×10-11。(3)报文中5个以内的随机分布错误都可以被检测到;(4)发送器的所有局部错误都可以被检测;(5)报文中任何奇数个错误都可以被检测得到;(6)报文中长度小于15的突发性错误都可以被检测得到;
4、航空系统中的双冗余容错CAN总线设计
图1描述了基于CAN的双冗余总线结构。基于CAN总线的双冗余系统通信总线的基本设计思想是在卫星各功能模块之间布下两条基于CAN的系统通信总线,即用两套CAN总线控制模块分别连接到总线bus0和busl上。正常情况下优先在一条总线上通信,这条总线出现故障时通过另一条进行通信并重新初始化出错的总线以备将来再用。这样即使一条通信通道故障后不会影响整个系统的数据交换,大大提高了通信的可靠性。