应用于远程配电组件系统的改进型CAN总线设计与验证
2024-05-09陈潇然张之江徐健龙
陈潇然, 张之江, 徐健龙
(1.上海大学,上海 200000; 2.上海飞机设计研究院,上海 201000)
0 引言
CAN是国际标准的现场总线,凭借其优异的可靠性、实时性、灵活性,以及通信速率高、开发周期短、成本低等优势,逐步进入航空航天领域,服务于机载系统。然而,CAN在航空领域的直接应用存在问题,需要开发适应性的应用层拓展协议,其中,最具代表性的包括ARINC825协议和CANaerospace协议[1]。ARINC825协议由AEEC组织制定,相比德国Stock Flight Systems公司制定的CANaerospace协议更加标准和全面,充分考虑了安全性和航空认证问题,从而确保跨越系统和网络区域的互用性。
ARINC825协议又称为《机载应用的CAN总线协议通用标准》,2007年发布最初版,最新一次修改是2018年的第4次增补。ARINC825协议对CAN总线的可用性和完整性做了改进[2],但在改进确定性方面,却不如CANaerospace协议的时间触发机制完善,导致在实际工程应用中存在缺陷[3-5]。因此,在ARINC825协议中引入TTCAN调度策略来提高总线的实时性[6]。
本文从国产大飞机远程配电组件(Remote Power Distribution Unit,RPDU)系统对通信总线的特殊性需求出发,将CAN总线做航空适应性改进,解决实际应用中的问题,为远程配电组件系统的CAN总线国产化提供参考方案。
1 远程配电组件系统通信模块特殊性需求
远程配电组件系统是民用飞机电源系统的重要组成部分,主要提供飞机的二次配电、过流保护,以及电气系统与航空电子系统的数据通信[7]。国产大飞机的RPDU系统与传统波音737和空客A320的RPDU系统有所区别,这对本文设计提出特殊性要求。
1.1 通信模块特殊性需求分析
国产大飞机远程配电系统由左、右两个相似的RPDU系统组成,其中,左RPDU系统的通信架构如图1所示,每个RPDU系统包含1个网关RPDU和5个附属RPDU。
图1 左RPDU系统通信架构Fig.1 Left RPDU system communication architecture
由图1可知,每个附属RPDU有2个冗余通信模块,传输内部6个固态功率控制器(Solid-State Power Controller,SSPC)的状态和负载信息,并接收飞机的控制指令,网关RPDU还有额外的航电通信模块,实现与飞机数据网络的数据交互。
鉴于上述RPDU系统的设计要求和原TTP总线的特点,CAN总线需满足以下要求:
1) 系统以200 ms为周期发送消息,控制指令发出后,SSPC在700 ms内做出响应,每个负载的信息和SSPC状态均需被CAN消息覆盖,并且其数据格式应紧凑,留有1个字节的可拓展空间;
2) 要求网关实现CAN网络与ARINC664网络匹配,并保证数据转换的实时性;
3) 要求CAN总线支持双冗余度,物理层和数据链路层不变,仅通过开发CAN总线的应用层来实现此项功能;
4) 要求CAN总线增加完整性校验机制,能够检测信道错误,并将其汇报给飞机数据网;
5) 要求数据消息可预测,解决CAN总线在极端情况下,低优先级的消息会长期无法竞争到总线发送权,从而导致消息延迟不可预知的问题。
网络拓扑结构和通信速率也是CAN通信模块需要考虑的重要问题[8]。在RPDU系统中,考虑到各RPDU位置,通信节点可以使用总线型连接器连接法相互连接,如图2所示,其中,H和L分别代表CAN_High和CAN_Low,同时要注意RPDU通信节点的短截线连接距离不宜过长。
图2 总线型连接器连接法Fig.2 Bus connector splice wire method
通信速率应该与系统的总线距离相匹配,根据设计要求[9],在保证通信速率尽可能高的情况下,选速率为500 Kibit/s时,满足CAN总线通信要求。
1.2 针对系统特殊性的通信模块整体设计
附属RPDU的通信模块称为节点机[10],结构如图3所示。
图3 节点机结构Fig.3 Node structure
由图3可知,节点机内部包括处理端、控制端和收发端,处理端实现基于时基触发的调度机制和高度完整性校验,以确保CAN通信的确定性和完整性,CAN控制器实现基本的CAN通信功能,2个CAN收发器实现冗余收发,以确保CAN通信的可用性。
节点机中CAN数据域内容包括RPDU内部SSPC的状态。SSPC的功能可以看作断路器和继电器的功能组合:电子开关(ESW)提供继电器功能,实现对负载供电的打开或关闭,具体由飞机数据网络发送控制指令;电子断路器(ECB)提供断路器功能,实现电路的过流保护作用。
SSPC需要向飞机数据网汇报的状态要求包括ECB状态、SSPC工作状态、电弧故障、馈电电压状态、输出电压状态、负载电压和电流值。控制指令需要实现以下操作:改变电流编程额定值、启用多相、处理电弧故障以及控制ESW开关的开启或关闭。
根据上述要求,先对CAN数据域的前3个字节进行定义,设计的SSPC状态字节如图4(a)的第1和第3个字节,第2个字节保留,保证了1个字节的可拓展空间。每条控制指令用一个字节表示,如图4(a)的第2个字节所示。负载的电流和电压数值分别存放在第4和第5字节,但是对于常用的基本数据类型,如SHORT类型需要2个字节,FLOAT类型需要4个字节。为了保证数据传输效率,对数据格式进行压缩[11]。电流输出值用相对于SSPC的电流编程额定值的百分比表示,而电压输出值用二进制数值表示,设计的电流状态字节和电压状态字节各数据位描述如图4(b)所示。
图4 数据域各字节描述Fig.4 Description of each byte in the data domain
网关RPDU的通信模块称为数字网关[12],结构见图5,其中,MCU代表微控制单元,PHY代表物理层芯片。
图5 数字网关结构Fig.5 Digital gateway structure
由图5可知,数字网关中的实时操作系统能够快速响应外部事件,保证实时性和高可靠性。同时,外设ARINC664协议的物理层和数据链路层芯片,有效减轻了CPU负担,使CPU能够及时完成数据格式的转换。本文通过外设一个标准以太网物理层通信芯片验证网关功能,LwIP内核作为以太网驱动。
对于数字网关将CAN消息转换为ARINC664报文的格式即对ARINC664报文有效载荷的划分。ARINC664由标准以太网发展而来,传输层主要使用UDP通信协议,在其有效载荷中,提供功能数据集概念来封装其他协议的数据,结构如图6(a)所示[13],本文设计的具体划分格式如图6(b)所示。1个数据集对应1个RPDU中6个SSPC的状态信息,功能状态03表示有数据,00表示无数据,整体由2个功能数据集连接而成。
图6 ARINC664报文数据域设计Fig.6 ARINC664 message data domain design
2 基于ARINC825的可用性和完整性改进
CAN总线没有冗余机制又缺乏完整性校验机制,接收方无法确定接收的所有数据是否连续完整。本文在ARINC825规定的可用性和完整性基础上,设计了CAN总线应用层改进方案,并增加故障界定状态机制,提高系统容错性。
2.1 可用性设计
可用性是指在给定的时间点,一个产品处于有效功能状态的概率。ARINC825通过冗余方式提高可用性,针对系统需要的冗余方式设计了一种双节点链路混合冗余方式,如图7所示。其中,每个节点机的2条总线混合接入不同的CAN网络。
图7 双节点链路混合冗余方式Fig.7 Dual-node link hybrid redundancy mode
ARINC825协议在一对多(Anyone to Many,ATM)的传输模式下,对CAN消息标识符的结构进行划分,具体如图8所示,其中,LCC表示逻辑通信通道,Source FID表示功能码标识符,RSD表示保留位,LCL表示本地位,PVT表示私有位,DOC表示数据对象代码,RCI表示冗余通道标识符。CAN控制器通过其中的RCI区分冗余消息。主网络和从网络对应的RCI值分别为00和01。
图8 ATM传输模式的消息标识符结构Fig.8 Message ID domain structure for ATM communication mode
2.2 完整性设计
完整性是系统或组件的一种属性,表示其能够按需要正确工作。ARINC825的高度完整性协议规定用CAN数据域中的1个字节作为消息序列号,2个字节作为额外的消息完整性检查。消息序号是节点机每条消息的编号,初始值为0,之后每次加1,当该编号为255时,下一个消息序号就会重新从1开始,0表示一个初始值或不被使用的序号。每个RPDU有独立的消息序号,数字网关通过检查消息序号的连续性,来判断消息是否丢失。
节点机的消息高度完整性检查范围包括消息标识符、数据载荷以及消息序号,如图9所示。
图9 高完整性协议消息格式Fig.9 High-integrity protocol message format
消息完整性校验使用1个16位的CRC码进行,对应的多项式表示为[14-15]
G(x)=X16+X15+X12+X7+X6+X4+X3+1
(1)
即0x90D9。
16位CRC码产生的规则表示为
(2)
式中:Q(x)是商;r(x)是余数,即CRC编码结果;B(x)是按字节表示的二进制序列,即
B(x)=Bn(x)28n+Bn-1(x)28(n-1)+…+
B1(x)28+B0(x)
(3)
式中,Bn(x)为一个字节。
在FPGA设计代码时,16位移位寄存器的初始值全部为1,消息标识符前面补3位0,数据域、消息序列号和消息标识符依次逐字节计算,得到最终的CRC校验结果,如图10所示。
图10 CRC校验结果Fig.10 CRC checksum results
2.3 故障界定状态机制
数字网关设计的故障检测技术包括比较检测和自检测两种,比较检测是比较冗余接收时间差和冗余数据一致性,即可用性检测;自检测是消息序列号检查和CRC校验,即完整性检测[16-17]。
在数字网关中设计故障错误计数器,将出现的故障总结为瞬时故障和永久故障。若瞬时故障在一个系统周期内出现的数量不超过20个,总线正常通信;超过20个,则判定为永久故障,如表1所示。
表1 数字网关瞬时故障和永久故障总结
由表1可知,当瞬时故障发生时,故障可以纠正。当永久故障发生时,总线进行故障屏蔽和动态重构,同时将ARINC664报文数据域的功能状态集2的功能状态3置为03,数据原语的内容表示当前故障编号。
3 基于TTCAN的确定性改进
虽然ARINC825协议规定时间片触发模式可以实现CAN总线确定性,但是仅对周期消息有效,而且对规范时间同步也不够明确。本文基于TTCAN的时基调度原理,对ARINC825的时间片调度模式改进,确保CAN通信的确定性。
3.1 基于时间片通信调度机制
在机载网络层面,确定性可以定义为保证在指定时间内将正确的消息发送到目标节点的能力。ARINC825采用基于时间片触发的总线调度机制,提出主、次时间片的概念,如图11所示。其中,主时间片是指系统内所有周期消息至少传输一次所需的时间,而次时间片是指系统中传输频率最大的帧的周期。节点在次时间片内进行多主竞争发送,需要保证能够完成发送。
图11 基于主、次时间片的总线调度机制时序图Fig.11 Timing diagram of bus scheduling mechanism based on major and minor time frame
但是这种调度机制只适用于周期消息,而网关发送的控制指令是一种非周期消息,所以该调度方式存在明显缺陷,因此引入了TTCAN调度机制。
3.2 TTCAN调度机制
TTCAN调度机制的关键在于设计系统调度矩阵和解决时间同步问题[18-19]。针对系统调度矩阵而言,远程配电组件系统传输的消息具有明确的时间特性,因此可以基于静态时间表进行设计,如图12所示,其中,矩阵周期对应主时间片,基本周期对应次时间片,空闲时间窗对应空闲时间。基本周期又可以分为同步相和异步相两部分,其中,同步相由参考消息和多个消息窗(A~E)构成,而异步相由仲裁窗构成。
图12 系统调度矩阵Fig.12 System scheduling matrix
对于时间同步问题,参考消息是实现分布式节点间时钟同步的关键因素。数字网关会统一广播一个数据帧作为参考消息,该消息的发送意味着一个基本周期的开始,各节点机接收到后,内部时间基准归零。本文根据实际工程对系统矩阵做了两点简化:为了节省总线带宽,每个矩阵周期内仅发送一次参考消息;同时取消基本周期的异步相。
为确保各节点能够在基本周期内完成发送,需要确定基本周期的长度,在此之前先计算一个数据帧的传输时间。假设每帧有19个填充位,则共有150个数据位。当通信速率为500 Kibit/s时,传输一帧的时间为0.3 ms。当6个RPDU同时竞争总线时,最低优先级的通信节点需要1.8 ms的延迟才能发送成功,故选择2 ms作为基本周期。在空闲时间窗内,数字网关发送控制指令,由于只需在700 ms内响应控制指令,所以数字网关可将控制指令缓存一段时间。在矩阵周期只有200 ms的情况下,适当的缓存延迟不会影响控制指令。
4 系统通信实验验证
4.1 实验平台搭建
根据RPDU系统的总体设计方案,本文构建了远程配电组件系统通信实验平台,该实验平台的硬件部分如图13所示。实验平台的目的是通过设计的改进型CAN总线对国产大飞机RPDU系统进行模拟组网通信测试,以验证其是否能够达到预期的功能目标。
图13 远程配电组件系统通信架构硬件实验平台Fig.13 Hardware experimental platform for communication architecture of RPDU system
4.2 系统整体通信测试
在RPDU系统采用总线型连接器连接法,并使用双链路冗余方式后,不同节点机根据对应的数据量,对整个系统进行完整通信测试,测试结果如图14所示。
图14 系统整体通信测试结果Fig.14 Overall communication test results
图14(c)展示了节点机的双节点链路混合冗余发送情况;图14(d)展示了数字网关完成数据格式转换和发送后,在以太网服务器上呈现ARINC664数据域的完整情况;图14(e)展示表1中第5种故障发生时,系统可以正常通信,且汇报故障类型。
5 结论
本文设计了一种改进型CAN总线方案,包括节点机和数字网关。该方案根据相关航空CAN总线标准,从可用性、完整性和确定性3个方面提升了CAN总线的性能。从国产大飞机远程配电组件系统的特殊性需求为出发点,分析了将改进型CAN总线应用于远程配电组件系统的具体实施方案。验证实验结果表明,本文提出的方案满足设计要求,可为远程配电组件系统总线国产化提供参考。未来工作将会改进CAN消息调度策略以及设计加密方案。