APP下载

小卫星新一代CAN FD总线应用技术研究

2020-08-14崔子涵李志刚

航天器工程 2020年4期
关键词:总线速率重构

崔子涵 李志刚

(1 四川大学 电子信息学院,成都 610065)(2 航天东方红卫星有限公司,北京 100094)

目前,小卫星技术发展迅猛,广泛应用在航天多个领域。软件在轨重构能力、软件定义卫星技术是下一代长寿命、高性能小卫星的发展趋势[1]。

小卫星星上总线网络一般由星务、姿轨控、电源、测控、载荷等多台电子设备通过CAN总线连接构成。在软件重构时,新版软件代码由地面通过测控信道上注到星务系统[2],并通过CAN总线分发至最终设备实现软件重构。随着小卫星功能复杂度急剧增加,重构软件代码量大幅加大,如部分设备FPGA软件代码已超过几百兆字节(byte),而目前CAN总线较低码速率能力(一般为500 kbit/s)无法满足小卫星软件在轨重构需求。

近年来,为了满足高通信数据率的需求,汽车领域逐步开展了从CAN总线向灵活可变数据率控制局域网络(CAN with Flexible Data Rate,CAN FD)总线的升级,汽车领域的应用验证了新一代CAN FD总线可靠性。为此,本文基于小卫星在轨软件重构需求,对高码速率CAN FD总线的技术特点进行了研究,提出了适用于小卫星软件在轨重构的新一代CAN FD总线技术应用方法,开展了总线系统设计,并进行了初步测试验证,为后续小卫星星载应用奠定基础。

1 小卫星在轨软件重构需求

随着国际市场竞标和国内用户对低轨小卫星寿命的需求逐渐从5年提升到8年,甚至10年(如哈萨克斯坦遥感卫星竞标需求);同时,小卫星故障或“举一反三”导致的软件在轨升级、用户功能在轨升级、在轨自主管理能力、更高的测控通信能力(国外上下行测控能力高达10 Mbit/s)等软件重构需求也日益增加,而未来软件定义卫星也将成为小卫星发展的新趋势。

1.1 小卫星在轨故障处理、“举一反三”等软件重构需求

随着小卫星业务能力提升、在轨大量应用,暴露出的在轨问题有所增加。有研究人员对近年来成功发射的28颗遥感卫星在轨发生的156个故障进行了统计分析[3],按故障类型分析空间环境类故障59个,占比为38%,软件类故障为6个,占比约4%。大部分由空间环境引起的故障和软件故障均可通过地面上注实现软件重构来解决问题。同时,其他型号研制过程、在轨发生的此两类问题,也需要“举一反三”并通过软件上注重构消除风险;而目前由于测控通信能力(上行2000 bit/s)、星上CAN总线通信能力(500 kbit/s),只能以小上注量的补丁方式上行处理,会导致问题无法根本解决或影响用户好用、易用能力。

1.2 软件定义卫星技术的在轨软件重构需求

近年来,软件定义卫星也成为小卫星发展新方向,其以计算为中心,以软件为手段,通过软件定义无线电、载荷、数据处理计算机、网络等手段,将传统上由分系统实现的通信、载荷等功能以软件方式实现,总体上将各类敏感器和执行机构通过软件构成一个整体,最终实现大部分卫星功能的软件化。软件定义卫星的核心就是应用任务与卫星硬件解耦,通过地面上注软件实现卫星功能在轨重构或升级,适应不断变化的应用需求。因此,提升现有星载CAN总线的能力,发展高码速率CAN FD总线变为必需。

2 CAN FD总线技术特点分析

2011年,德国Bosch公司公开了广泛适用于工业应用的CAN FD总线白皮书(1.1版)[4],2012年公布了CAN FD总线应用规范[5]。该总线显著特点是提高了数据传输码速率,增加了数据帧长度,很好地解决了CAN总线的带宽问题并改善了错帧漏检的问题[6],数据传输效率也得到了显著的提升。在无位填充的情况下,传输效率从CAN总线的59.26%(64 bit/108 bit)提高到了91.59%(512 bit/559 bit)。CAN FD总线与目前的CAN总线保持了很好的兼容性[7]。目前,CAN FD总线已在汽车工业中得到了应用,后续可通过适于天基应用环境的小卫星总线系统设计、可靠性安全性措施设计,实现现有CAN总线的更新换代,以适应小卫星大规模星载软件在轨重构需求。

2.1 CAN FD总线性能提升分析

CAN FD是CAN总线的升级换代设计,继承了CAN总线的主要特性,提高了网络通信带宽,增加了帧携带数据包的大小。在2015年,德国汽车CAN总线协会(CiA)发布了CiA601系列设计与指导建议,之后2016年国际标准化组织(ISO)还发布了ISO11898-2高速介质访问单元规范[8]。CAN FD相对于现有的CAN总线主要能力提升表现在以下几个方面。

1)CAN FD支持可变速率

CAN FD采用了两种位速率:仲裁域之后到应答转换场(ACK)之前的数据区为一种较高的速率,最高可支持到10 Mbit/s,其余部分为原CAN总线用的速率,仍然保持最高支持到1 Mbit/s。两种速率各有一套位时间定义的寄存器,除采用不同的位时间单位外,位时间各段的分配比例也可不同。

2)CAN FD提升了数据域长度

CAN FD对数据域长度进行了扩充,即在数据长度小于8 byte时与原CAN总线的定义一样;数据长度大于8 byte时则有一个非线性的增长,最大的数据域长度可达64 byte。对于多字节数据块传送时不需要按照8 byte的短帧传输,极大提高了总线传输效率。CAN FD帧格式和可变速率如图1所示。

注:IDLE为空闲,SOF为帧起始,r1为保留位,IDE为识别符扩展位,EDL为扩展数据长度,r0为保留位,ESI为错误状态指示器,IFS为帧间空间,BRS为数据率切换开关,CRC为循环冗余校验码。图1 CAN FD 帧格式和可变速率图Fig.1 Illurstration of CAN FD frame and flexible data rate

2.2 CAN FD总线容错特性分析

CAN FD继续保持了CAN总线的错误处理机制,包括错误帧、错误计数器、主动错误、被动错误、总线离线等。由于CAN FD总线数据帧的长度超过了传统的CAN总线,为了保持数据帧的汉明码距离与CAN总线相同且仍为6,CAN FD协议中引入了新的CRC算法。CAN FD协议规定在数据帧数据长度小于8 byte时采用CRC-15算法,数据长度小于16 byte时采用CRC-17算法,数据长度超过16 byte时采用CRC-21算法[9]。

在传统的CAN总线规范中,为了保证数据流中有足够的跳变沿用于各节点的重同步,规定了位填充的规则,即在每连续5 bit相同的位后自动填充一位补码位,但CAN总线规范中CRC计算校验是不包含填充位的,这就导致在很小的概率情况下会出现2 bit的错误会漏检。为了克服这个问题,CAN FD规范中规定了新的位填充规则。其一,CAN FD协议的CRC计算将填充位也纳入其中;其二,CAN FD采用了固定填充位的方式,即每4 bit后填充一位前1 bit补码的位,这样既保证了数据流中有足够的跳变沿用于重同步,又提高了帧数据错误的检测率。

2.3 CAN FD总线与CAN总线兼容性分析

从CAN FD总线的新特点可知,CAN FD帧结构与标准CAN帧有差别,比如控制位定义、错误状态指示、CRC算法等,这就导致CAN FD与CAN不完全兼容。CAN FD节点可以正常收发传统CAN节点报文,能够向下兼容,但是传统CAN节点不能正常收发 CAN FD 节点的报文,所以在CAN FD的网络中无法直接接入传统的标准CAN设备,因为接入的设备会由于无法识别CAN FD帧格式而报错,导致总线瘫痪。在解决兼容问题方面,可以在传统CAN节点上采用具有CAN FD Shield模式的驱动器,当驱动器收到CAN FD帧时直接过滤,避免传统节点发出错误帧,达到与原有网络拓扑和协议兼容的目的。为了实现总线性能的大幅提升,建议在实际应用中将全部节点均升级到CAN FD总线,避免CAN总线和CAN FD总线节点混用。

3 CAN FD总线系统设计

CAN FD总线可以满足高传输码速率,但目前的应用层总线协议存在如下问题:①无法适用于小卫星即插即用技术;②固定轮询应答时序协议导致高传输速率下总线通信时间占用率大幅增加,无法满足总线应用层协议的设计规范;更高的总线数据率,将导致主机无法工作。鉴于此,开展CAN FD总线架构设计、新型总线协议设计,解决即插即用适用性问题、总线通信占用率问题。

3.1 CAN FD总线拓扑架构设计

CAN FD总线架构支持多种总线拓扑形式,包括总线型拓扑、星型拓扑等结构。考虑到小卫星设备布局、电缆连接关系、技术状态继承性,小卫星CAN FD拓扑架构可选择总线型架构,即由一台设备作为起点,一台设备作为终点,通过一条双冗余的总线串接起来组成整星总线网络,在总线的起始设备和终端设备上安装匹配电阻。CAN FD总线的网络拓扑结构如图2所示。

图2 CAN FD总线拓扑结构图Fig.2 CAN FD bus topology

总线上的网络节点主要包括星务计算机、姿轨控计算机等平台设备以及数传、相机等载荷设备。为了方便实现数据共享和软件重构,传统的姿轨控部件以及固存等通过RS422接口挂接在各分系统内部的设备,也可以增加CAN FD总线接口直接连接在CAN FD总线上。

3.2 CAN FD总线协议设计

传统的小卫星CAN总线协议为简单的轮询应答、选择应答模式的协议,即一般由主机按照事先设计好的时序逐个轮询各下位机或发送指令数据并等待下位机的应答;此类总线协议对于大量的数据发送以及软件重构方面的支持存在明显的不足,高码速率传输将导致主机无法工作。首先,传统的CAN协议设计时需提前分配各节点的站地址和数据格式,导致新的设备节点需动态加入时无法实现即插即用,灵活性不足;其次,固定轮询应答时序的协议需要耗费主机大量的通信等待时间,主机每发送一次轮询数据,需要等待几十毫秒来完整接收下位机的应答数据;当下位机数量达到十几个且交换数据种类较多、总线传输数据率提高时,以1.5 Mbit/s为例,传统CAN总线通信时间占用率将由30%变为80%左右,严重影响了主机工作效率,不满足总线应用层协议的设计规范;更高的总线数据率,将导致主机无法工作。

本文结合汽车工业等应用广泛的CAN总线公开(CANopen)协议、时间触发CAN总线(TTCAN)协议,充分利用CAN FD总线高码速率数据段传输、一次最多64 byte的长帧传输特点,改进传统的CAN总线通信协议,提出一种适用于小卫星的新一代CAN FD总线协议。

1)支持即插即用的总线设计

即插即用技术是一个未来小卫星技术发展方向。在小卫星星务主机软件设计过程中,设计专用的卫星数据模型(Satellite Data Model,SDM),用于解析所有接入CAN FD总线的即插即用从节点电子表单xTEDS信息(xTEDS用于描述子节点设备类型、站地址、注册成功标志、发送数据相对时刻,数据发送周期,遥测数据长度等信息),为总线的即插即用设备配置服务[10]。适用于即插即用的总线注册流程设计如下。

(1)在系统初始加电时,主机首先发送一个节点注册广播帧;

(2)所有从节点接收到该广播帧后将自身的电子表单xTEDS信息组包后发送给主机;

(3)主机收到所有节点的电子表单信息后,构建和维护SDM数据结构;

(4)SDM数据结构构建完毕后,主机给各从节点返回注册成功数据帧及每个周期发送数据的相对时刻;

(5)从节点收到注册成功数据帧后将电子表单xTEDS中的注册成功标志置为成功,并更新发送数据相对时刻信息;

(6)此后开始进行总线的正常通信;

(7)总线正常通信期间新加入节点注册流程设计:主机会每隔固定周期(如1 s)发送节点注册广播帧;已正常通信的从节点收到注册广播帧后不需要响应,新加入的从节点收到注册广播帧后按照与其他从节点初始加电时的逻辑给主机发送电子表单xTEDS完成注册。

从节点即插即用注册过程如图3所示。

图3 节点即插即用注册流程Fig.3 Node plug and play registration process

2)支持总线上静态与动态信息融合的时序设计

星上CAN FD网络节点间的信息传递以周期性信息交互为主,主要包括遥测信息采集、时间广播、姿态广播等,同时也有突发性的信息传递,包括遥控数据、故障处理指令等。为高效、高质量完成总线通信,软件协议设计中将一个总线通信周期划分为静态段、动态段、注册段和空闲段。将常规的遥测数据发送、广播数据发送设置在静态段,将遥控指令等数据设置在动态段,将注册信息发送设置在注册段。

基于CAN FD总线下设计的即插即用支持技术,总线设计时无法预先确定各从节点的数据量信息,主机需要在首次上电时各从节点完成注册后,通过构建SDM来计算并分配静态段、动态段、注册段的时间窗;一旦正常通信过程中有新的节点加入,主机还需重新计算并调整已分配的时间窗。静态段信息的时间窗长度主要由各节点的数据量决定的,动态段根据一个周期内遥控数据量来设计,各节点时间窗分配设计如图4所示。

图4 节点时间窗分配设计Fig.4 Node time window assignment

静态与动态信息相结合的时序设计如下:①在总线通信过程中,每个周期的起始T0时刻,主机向所有节点发送一个时间同步广播帧,所有从节点收到时间同步帧后定时器清零并重新开始计时,静态段开始;②各从节点计时开始后,按照电子表单中分配的发送数据相对时刻向总线发送遥测数据,主机中断服务程序接收数据并存储到指定的内存位置,待空闲时刻对所有收到的数据进行处理;③静态段结束、注册段开始后,主机向总线发送注册广播帧,检测总线上是否有新的节点加入,如果有新的节点加入,则重新构建主机SDM完成该节点的注册,并给该节点分配静态段时间窗;④注册段结束动态段开始后,主机依次向从节点发送指令或遥控数据一直到动态段时间窗结束,进入空闲段,等待下一个周期开始。基于静态与动态融合的时序设计,主机无需对每个下位机发送轮询并等待应答数据,大幅度地提高了主机的工作效率。

4 初步验证与后续建议

本文通过采用Atmel SAMC21系列微控制器加Atmel ATA6561驱动器实现了CAN FD总线通信的原理样机的研制,总线系统共包含3个节点,其中一个节点实现主机的功能,另外两个节点实现下位机的功能,主机与下位机节点均使能CAN FD功能,仲裁场码速率设置为500 kbit/s,数据场码速率设置为5 Mbit/s;主机软件中设计专用SDM模型,下位机软件中配置电子表单xTEDS并按CAN FD应用层协议开展设计。试验结果表明:CAN FD总线设计的专用SDM模型有效,即插即用节点注册流程正常,突发信息下静动态信息融合的时序设计合理,遥测及指令执行正常,高码速率下CAN FD总线能够很好的满足小卫星在轨软件重构需求。CAN FD总线变码速率下测试波形如图5所示。

图5 CAN FD总线波形图Fig.5 CAN FD Bus Wave

以5 Mbit/s为例(最高码速率可达10 Mbit/s),系统测试期间,通过示波器实测传送一帧64 byte 的数据占用时间为196 μs,软件中设置每两帧数据之间的帧间隔为100 μs,传送一帧64 byte数据占用196+100=296 μs,每秒通信周期分配给上注软件的时间窗为200 ms。对于地面上注200 Mbit的大型FPGA软件重构代码,主机与下位机传送200 Mbit数据传送时间578 s,约等于10 min,一般低轨小卫星一次可测控弧段时间为10~15 min,可实现一个测控弧段内完成小卫星大型软件上注重构。由此可见,采用CAN FD协议总线传输效率相对于CAN总线提高了10倍(以5 Mbit/s为例),总线传输效率得到了极大的提升,能够满足小卫星应用软件和FPGA软件的重构传输需求。

本文的验证只是基于CAN FD协议开展的初步验证,对于可靠性方面没做太多的考虑,后续在型号中应用CAN FD通信协议时还应重点注意如下几点。

(1)在CAN FD初始化程序中,需要根据CAN FD的新特点,配置可变码速率等新的寄存器值;

(2)在发送程序中需要对发送数据的缓冲区及数据长度进行适应性更改;

(3)各节点在设计时要注重时间同步性设计,严格按照分配的时间窗来进行数据通信;

(4)CAN FD出错处理程序中需采用一定时间收不到正确数据或者总线处于离线状态时对两条总线进行复位的处理措施。

5 结束语

本文对小卫星在轨软件重构能力的需求进行了分析,结合现有星内CAN总线码速率无法满足软件重构对总线传输的现状,提出了利用下一代高速CAN FD总线来实现星载总线的思路,剖析了CAN FD总线的特点,开展了小卫星CAN FD总线架构设计,以及基于小卫星即插即用技术、静动态信息结合的CAN FD总线时序设计。对CAN FD总线的通信进行了初步测试验证,验证结果表明:CAN FD总线能够满足软件重构对总线传输速率的要求。后续在实际工程应用中,还须进一步开展CAN FD应用层协议的详细设计以及CAN FD总线通信的可靠性措施的分析与设计。

猜你喜欢

总线速率重构
“双减”能否重构教育生态?
长城叙事的重构
基于干扰重构和盲源分离的混合极化抗SMSP干扰
关于CAN总线的地铁屏蔽门控制思路论述
用四维的理念重构当代诗歌
盘点高考化学反应速率与化学平衡三大考点
化学反应速率与化学平衡考点分析
Q&A热线
PCI9030及其PCI总线接口电路设计
通过提高心理速率改善记忆