孙 超,金仁波
(中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)
随着我国综合国力的不断提升,舰载武器装备的品种不断增多,功能不断加强。而设备的智能化管理,需要显控设备与各个分设备通讯,时刻获取其相应的工作状态,做到一主多从或多主多从的点对点通讯方式。
CAN是Controller Area Network的缩写(以下简称CAN),是ISO国际标准化的串行通信协议,已广泛应用于工业自动化、医疗设备、船舶等领域。它是有效支持分布式控制或实时控制的一种通讯网络,可以实现多个设备的交互式管理。CAN通信具有以下优点[1]:多主控制、消息的发送、系统的柔软性、通信速度、远程数据请求、错误的检测、通知、恢复功能、故障封闭以及可连接多个单元。CAN总线任意2个的最大传输距离为10 km(传输速率5 kbps),最大的传输速率为1 Mbps(总线长度少于40 m)。CAN采用的逐位总裁机制能强制处理总线上的错误,避免整个网络崩溃。
CAN通讯的多种优点适用于舰船上复杂的网络系统。然而,舰载武器装备的整体结构复杂,用电设备繁多,电磁环境恶劣,通讯过程中难以避免信号的干扰、延迟、抖动等问题,对通讯方式的稳定性、可靠性提出了新的要求。
本文对CAN通信的可靠性理论进行研究,对提高舰船CAN总线通信可靠性具有重要意义。
产品的可靠性是指在规定条件下、规定时间内,完成规定功能的能力,可以通过故障概率密度函数、可靠度函数、平均寿命[2]等不同的方式进行描述。
CAN总线通信的可靠性,主要为传输可靠性。它的定义为在规定时间完成一次完整报文传输的能力[3]。
阻塞时间Tb,指的是节点欲向网络上发送一个报文,直到报文完整发送到网络上为止所需的等待时间;软件抖动时间Tm,指的是受现场相关影响因素造成软件的执行延时时间;截止时间Td,是指传送一次完整报文的时间;设报文一次性成功发送至网络所需的时间为Tframe。CAN报文在传输过程中,受各种因素影响,会出现传输阻塞、软件抖动等情况,若满足Tframe+Tb+Tm-Td≤0,则表明一帧报文已成功传输。报文的可靠度可以定义为该报文截止期内发送成功的概率,可以用R表示,其数学定义为:
(1)
式中:fx(X)表示随机向量X=(X1,X2,…,Xn)的联合概率密度函数;g(X)表示状态函数,表征传输过程中的成功与失败2种状态,即:
(2)
(3)
(4)
(5)
取g(X)的均值与方差:
(6)
(7)
由此可靠性指标为:
(8)
由以上可得可靠度R为:
R=Φ(β)
(9)
式中:Φ(β)为一标准正态分布函数。
硬件因素、软件因素和外部因素是影响总线通信可靠性的主要因素。硬件因素,主要包括总线中硬件电路设计、电子元器件寿命等;软件因素,主要包括软件复杂度、软件设计、开发软件等。
外部因素是影响CAN总线通信的主要因素[2]。第一,CAN总线的通讯带宽。当数据量达到网络的预定带宽时,会发生通讯延迟、丢失,降低CAN的实时性。当进行二次传输时,占用总线时间将增加,丢失其控制优势。第二,CAN总线外部节点故障。节点的掉电及接地故障均能自动脱离总线,不影响总线通讯,但会失去该节点的控制及监测。第三,CAN总线的短路、断路。CAN的短路会影响CAN的差分电平,总线将无法正常工作;断路,会使得断路节点以外的所有节点脱离总线,影响实时通讯。第四,复杂的电磁环境。舰船内有多个设备,每个设备均由多种分设备组成,其中不免有大功率电源、雷达天线、高压线缆等设备之间的辐射干扰、传导干扰,以及磁暴、雷电等自然干扰。恶劣的电磁环境,可能对CAN总线通讯产生位翻转、循环冗余校验(CRC)错误等影响,使整个系统传输能力下降,可靠性降低。
在无法改变周边电磁干扰环境的情况下,提高CAN通信的可靠性主要依靠硬件设计及软件设计。硬件设计主要包括硬件设备的冗余设计和保护设计;软件设计主要包括CAN通信的算法设计。
(1) CAN的冗余设计
CAN总线冗余设计[4-5]:CAN通信总线上共有2条通信线缆,总线上每个节点的设计均采用2个驱动器和1个控制器或者2个驱动器和2个控制器。每个节点在进行数据发送时,微控制器(MCU)将数据通过2个驱动器同时发送给2条CAN线路;当进行数据接收时,总线上的数据发送给2个驱动器,驱动器在进行数据处理后,送入MCU。或每个节点有2个驱动器及2个控制器,同时通过2条CAN线路收发,到中央控制器处理。当2条线路均正常,选取主条线路收发即可;当主通讯线路发生故障时,切换备用线路。其原理框图如图 1所示。
图1 CAN冗余设计原理框图
中央控制器在截止时间内未收到主线路数据,则该通讯线路存在异常,可立即切换到备份线路查看通讯报文。该冗余设计可大大提高通信的可靠性。
(2) CAN的保护电路设计
CAN的保护电路设计,主要是针对雷击、串扰等环境因素对通讯的影响。可以通过在CAN输入输出端加匹配电阻、共模电感及CAN保护器,起到通讯稳定的作用,如图 2所示。
图2 CAN保护电路
软件的设计优化,在硬件设计基础上,主要针对单个控制器、2个CAN驱动器的情况。其流程图如图 3所示。
图3 软件设计流程图
该优化算法能预先计算CAN总线网络中的冗余路径,当主路线发生故障时,可迅速对各个流量的备用路线进行部署,防止通信故障,提高可靠性。
该软件的优化算法设计如下:
首先,每个通讯节点将当前的连接状态、链路负载等信息通过总线上报给中央控制器。
其次,根据流量的需求和网络结构,中央控制器搜寻最优路径,对路径长度、带宽排序,配置各个通讯节点,达到最优状态。
最后,某个通讯节点故障,及时上报中央处理器,中央处理器经过接收报文并处理,判断确实故障时,立即切换到备份线路。
此优化的配置算法,当节点故障时,能及时切换备用线路,避免了通讯阻塞、故障恢复时间,对舰载设备通讯的实时性和可靠性都起到了重要作用。
CAN总线是舰载设备应用最为广泛的现场总线之一,然而其可靠性易受电磁干扰、延迟等问题的影响。本文围绕提高CAN通信可靠性进行论述,首先讨论了CAN可靠性定义及可靠性影响因素,然后从硬件上提出了一种冗余设计架构和保护电路,并从软件上提出了一种基于硬件冗余路径后流量配置算法,对提高舰载CAN通信网络可靠性具有重要的指导和应用意义。