(中国船舶重工集团公司第七二三研究所 扬州 225001)
随着海洋领域控制技术的不断发展,舰船武器装备呈现多元化发展,种类逐渐增多,功能不断增强。舰船上设备的控制一般由电子操作完成,而电子设备的增多使得舰船控制系统及通信系统逐渐趋于复杂,采用一主一从的点对点通信方式需要更多的线路将电子设备一一连接起来。然而线路的增多,不仅会增加系统整体的开发难度,也会降低设备工作的可靠性和稳定性。因此,需采用更为精细的通信机制,既要实现对电子设备的控制要求,又要尽量降低系统的复杂性。
CAN总线是一种支持双向串行多节点通信的现场总线[1],它可以有效支持分布式控制及实时控制,可将多个设备连接起来形成可以相互交换信息的控制网络。CAN通信具有如下特点及优势:通信网络中的任一节点均可以主动发送报文;采用短帧结构进行通信,数据帧长度小于8字节,实时性好、抗干扰能力强;传输速率上限可达1Mbps(总线长度40m),传输总线长度可达10km(传输速率5Kbps);采用逐位仲裁机制以处理总线上的访问冲突,可避免网络瘫痪[2]。
对于复杂的舰船网络系统,CAN通信方式是一种很好的选择。然而由于CAN总线网络的带宽有限,且在数据传输过程中难以避免地存在信号干扰、传输延迟和抖动等问题[3],影响了通信的可靠性。本文对CAN通信的可靠性理论进行研究,对舰船CAN总线通信可靠性的提高具有重要意义。
可靠性,指产品在规定条件下及规定时间内,完成规定功能的能力,可采用可靠度函数[4]、故障概率密度函数、平均寿命等方式进行描述。
对于CAN总线通信,可靠性定义通常指在规定时间完成一次完整报文传输的能力。其中,规定时间指报文传输的截止时间TD。报文在传输过程中,会存在传输阻塞、软件抖动等情况,对传输的实时性产生影响[5]。阻塞时间Tb,指某节点从准备发送报文至总线网络到真正将报文发送到总线网络的等待时间;软件抖动时间Tm,指受到现场有关因素影响造成的软件执行时延。设报文一次性发送至网络的时间为TFrame,若有:
则说明报文在规定时间内完成了传输。可靠度可由下式表示:
fx(X)—随机向量X=(X1,X2,...,Xn)的联合概率密度函数,其中X1,X2,...,Xn为阻塞时间、抖动时间、截止时间等参数;g(X)—状态函数,表征传输过程中的成功与失败两种状态。根据g(X)的表达式,将随机变量X在期望E(X)=处展开为n阶泰勒级数:
由此表示可靠性指标为
进而可得可靠度为
Φ(β)为标准正态分布函数。
影响CAN总线通信可靠性的因素包含三个方面:硬件因素、软件因素和外部因素[6]。其中,硬件因素主要指CAN总线中设备及其中元器件的使用寿命、故障概率等因素;软件因素主要指CAN通信软件设计的缺陷、通信算法的复杂度等。
外部因素是影响CAN总线通信的主要因素。由于CAN总线常用于多台电子设备的互联,总线中可能会存在电磁干扰、电源扰动或高能粒子流[7],对总线的正常通信产生影响。其中,电磁干扰的影响最为明显,可带来通信过程中的位翻转、CRC校验错误等影响。电磁干扰的存在会使得系统性能及传输能力下降,干扰源、干扰途径和被干扰设备是电磁干扰的三大要素[8]。其中,干扰源包含设备中电磁元件带来的干扰、总线中其他电子设备带来的干扰、磁暴和雷电等自然干扰、雷达和广播等人为干扰等;干扰途径包含辐射耦合和传导耦合[9]。辐射耦合指辐射源通过空间辐射的电磁能量所形成的耦合[10],如雷电、高压电线、大功率天线等,没有直接的线路连接;传导耦合指由线路中的干扰所形成的耦合,有直接的线路连接,主要包含电阻耦合和电容耦合。电阻耦合干扰[11],指CAN通信中的地电位受到其他电路与公共地间回路的阻抗的调制,干扰信号通过公共地阻抗耦合到CAN总线中造成的影响;电容耦合干扰[12],指线路中的干扰电压经过电容耦合到CAN通信线路中所造成的干扰。
提高CAN通信可靠性的方法包括硬件方法与软件方法。其中,硬件方法主要基于硬件设备的冗余设计,软件方法主要为CAN通信算法的设计。
1)基于驱动器的冗余设计
对CAN总线驱动器级的冗余设计思想如下:CAN通信总线上共有两条通信线缆,总线上每个节点的设计均采用两个驱动器和一个控制器。每个节点在进行数据发送时,控制器将数据发送给两个驱动器;在进行数据接收时,可通过控制器对接收通道的驱动器进行选择。原理框图如图1。
图1 基于驱动器的冗余设计原理框图
CPU可对数据接收状态进行监测,设置接收时间阈值。若在阈值时间以内未接收到数据,则可能存在当前CAN总线线路异常情况。通过I/O控制切换当前的CAN通信线路以继续进行通信,可大大提高通信的可靠性。
2)基于总线系统的冗余设计
对CAN总线系统级的冗余设计思想如下:该设计对整个CAN网络进行完全冗余,即采用两套系统进行工作。若采用当前CAN系统时,CPU未能在阈值时间内检测到数据,则对CAN系统进行切换后继续进行通信。原理框图如图2。
图2 基于总线系统的冗余设计原理框图
通信系统工作中,当判定通信故障时,通过对当前系统进行快速切换,可保证CAN通信的实时性和可靠性。
软件方式中,采用一种基于冗余路径的配置算法[13]。在硬件上进行总线冗余设计的基础上,该算法能够提前计算CAN通信网络中的流量的冗余路径,当故障发生时可以迅速对各个流量的备用路径进行部署,以降低通信系统的故障率,提高可靠性。
对通信线路故障恢复问题进行数学模型建立:
E为网络中的链路的集合;V为网络中的所有节点的集合;Dsd为由S点到达D点的路径的集合;B为被选中的所有备用路径的集合;F为需被重新路由的流量的集合;CP为路径P的可用带宽;fi为流量;C(fi)为流量fi的需求带宽为指示函数,该值等于1时指代路径p为备用路径,等于0时则未被选为备用路径;为指示函数,该值等于1时指代链路(i,j)属于路径p,等于0则不属于路径p。
基于冗余路径的算法设计如下:
1)总线中的每个通信节点将自己的链路状态报告给中央控制器,如当前连接状态、链路负载等;
2)根据流量需求和网络结构,中央控制器为当前路径搜寻其冗余路径,对路径长度、路径提供的流量带宽进行排序以选出最佳冗余路径,并对该路径上的各个通信节点进行配置;
3)当通信过程中出现故障时,相关节点将故障信号报给中央控制器。中央控制器收到报警信号后,直接将当前路径切换为冗余路径。
采用基于冗余路径的配置算法,当通信线路发生故障时,能够迅速进行切换至冗余路径,省去了路径配置和故障恢复时间,对提高CAN通信的实时性和可靠性具有重要作用。
CAN总线是一种支持双向串行多节点通信的现场总线,在复杂的舰船通信网络系统中具有很好的适用性。然而CAN总线网络的带宽有限,且在传输过程中难以避免信号干扰等问题,影响了通信的可靠性。本文对舰船CAN总线通信的可靠性进行研究,对基于CAN通信的可靠性定义、可靠性影响因素进行论述,并从软硬件角度提出了提高CAN通信可靠性的方法,对舰船CAN总线设计、提高通信的可靠性具有重要意义。