首页 > 文章中心 > 正文

CAN网络任务调度在飞行器中的运用

CAN网络任务调度在飞行器中的运用

1CAN总线调度策略

在汽车和仪表等工业领域,为保证信息的实时性,CAN网络的负载率通常限制在30%以下.但在飞行器控制系统中,其控制周期短和数据交换量大的特点而导致网络负载率很高,往往高于50%,为了保证系统在高负载情况下的实时性,而采用高效率的任务调度策略.CAN总线调度策略通过合理规划总线网络中各种数据传输任务占用总线资源的先后顺序,在满足控制系统性能和数据传输实时性的前提下来提高网络资源的利用率.根据任务调度优先级的设置规则可将CAN总线调度策略分为静态调度、动态调度和混合调度策略.静态调度策略是一种固定优先级的调度方法,即在控制系统工作前已经为所有数据传输任务分配优先级.运用静态调度策略的前提是已知系统所有任务的时间特性,并根据时间特性来确定每个任务的传输优先级.常用的静态调度策略有RM调度策略和DM调度策略[5].动态调度策略是在系统运行时对数据传输任务进行动态分配优先级的调度方法,因此可以灵活适应系统变化,提高了网络利用率.常用的动态调度策略有EDF调度算法[6].混合调度策略是在综合静态调度对系统的可预测性和动态调度的灵活性基础上,而提出的一种折中调度方法.

2多功能双CAN网络任务调度策略在飞行器控制系统中的应用

2.1飞行器控制系统

CAN网络布局基于CAN总线的飞行器控制系统内部组成如图1所示.所有分系统通过2个CAN接口组成双网络结构.当总线空闲时,任一节点可以占用总线发送数据,其他节点根据报文滤波机制选择性接收.在飞行器工作阶段,机载计算机通过惯性导航单元(IMU)和GPS模块获取机体运动及姿态信息,完成坐标转换,并根据目前飞行器在绝对坐标下的姿态与理论值之间的差异,通过CAN总线向副翼、俯仰舵和偏航舵的舵机发出舵偏指令,利用改变舵面偏转角度而形成的空气动力进一步控制飞行器姿态.在满足导引头开机条件下,机载计算机通过CAN总线向导引头发出开机指令,导引头开始对目标进行搜索、识别及跟踪[7].系统中数据记录仪1和2分别用于记录2个CAN网络中的关键报文信息,以便于飞行实验后期的数据分析.网络管理节点负责监测网络的运行情况,当发现网络故障时,完成相应故障报警及故障处理等工作.

2.2双CAN网络混合调度策略

随着飞行器内各子系统需要共享的数据越来越多和系统控制周期越来越快,CAN总线的网络负载率越来越高,单CAN网络已经无法满足数据传输实时性的要求,而且飞行器控制系统工作环境特殊,从可靠性角度考虑需要采取冗余设计方案,但是由于其工作时间短,主网络瘫痪的概率比较小,备份网络往往利用不上而浪费了系统资源.针对这些情况,本文提出一种基于双CAN网络的任务调度方案,该方案不但可以对通信网络进行备份,提高可靠性,而且可以通过合理利用备份总线的网络资源,有效降低主网络的总线负载率,同时通过采取合适的调度策略,提高了数据传输的实时性.为保证系统的实时性,其中指令网负责传输控制类指令报文如机载计算机发送的舵机偏转指令,这类指令信息对实时性要求比较严格,如果不能在规定时间内发送出去则可能造成系统工作异常甚至瘫痪的后果,同时为保证指令网上传输报文的可靠性,传输波特率不能太高而采用500kB/s;数据网负责传输实时性要求不高的数据帧如分系统状态帧,这类数据帧对实时性要求不高,即使出现较长时间延时也不影响系统正常工作,传输波特率采用1MB/s.网络管理节点是实现该调度策略的关键,其通过监测指令网和数据网的运行状态,动态调整报文帧的传输路径,完成系统的故障检测和故障恢复.由于指令网中传输的是实时性关键信息,其发送成功与否直接影响到系统运行的稳定性,因此网络管理节点要动态监控这类报文.如果发现多次发送失败要进行传输通道更换后重发,而备份网中传输的是非实时性信息,即使传输失败也不会影响系统正常工作,因此,为了不影响主网络数据传输的实时性和提高管理节点的监控管理能力,对此类非关键信息不进行监控和处理.对于主网络上的非周期实时性报文,由于该类报文的产生时刻不可预测,网络管理节点无法判断报文是否发送成功,因此在实际飞行器工作过程中采取双网同时发送方式,即此类报文在主网络和备份网络中先后发送出去,当目的节点成功接收后不再响应另一个网络中发送的相同报文.

对于主网络中传输的周期实时性报文,网络管理节点采取固定周期监控方式,这个固定周期通常选取系统控制周期的整数倍。主网络数据传输出现故障的原因主要有发送节点内部的程序故障、发送节点的硬件故障和主网络故障3类,针对不同的故障需采取不同的处理机制:(1)对于发送节点内部的程序故障,网络管理节点通过主网络向该节点发送分系统复位指令帧,节点接收到复位指令帧后执行软件复位操作.(2)对于发送节点的主网络通道的硬件故障,网络管理节点通过备份网向故障节点发送一个网络切换指令帧,并同时发送一个网络带宽优化广播指令帧.首先,故障节点接收到通道切换指令帧后,将其在主网络中传输的所有报文帧变换到备份网络中传输.然后,当备份网上所有节点收到优化带宽广播指令帧后,所有节点将其在备份网中传输的部分非实时性周期信号(如分系统状态信息)的发送周期扩大1倍,以降低备份网的总线负载率,保证从主网络转移到备份网中传输报文帧的实时性.(3)当判断为主网络故障时,其产生原因多为硬件故障或外界干扰导致的主网络瘫痪.这种情况也可理解成第2种故障的特殊形式,即主网络上的6个节点均出现通信通道故障,解决措施与第2种措施相同,将主网络中所有报文转移到备份网中传输,并同时将原来备份网络中传输的部分非实时性周期报文的发送周期扩大6倍.考虑到系统最坏情况即主网络瘫痪时,所有数据均在备份网中传输.虽然采取了一定的优化措施,但此时数据网的总线负载率仍然急剧增加.为不影响系统的正常运行,采用了高效率的任务调度算法,在确保控制系统正常工作的同时,提高了关键报文的实时性和非实时性报文的公平性.其中非实时性报文帧的标志符采用EDF+固定优先级的混合编码方式,其EDF动态区采取对数分区法,具体标志符分配方案如表1所示,对实时性报文帧的标志符采取固定优先级的编码方式。

3仿真实验

通过搭建半物理仿真平台,建立飞行器空间运动模型并实现位置、姿态等环境的仿真,进而模拟飞行器的实际飞行参数,构造各分系统尽量逼真的工作环境,完成对基于双CAN网络混合调度策略的飞行器控制系统实时性和可靠性的实验验证工作.实验平台的组成如图3所示.其中:仿真机用于完成飞行器理论弹道的仿真,通过获取飞行器上副翼和前舵舵机的实际舵偏角信息并结合理论弹道数据,实时向转台输出姿态角和姿态角速度等信息来控制三轴仿真转台模拟飞行器实际的飞行环境;三轴仿真转台通过接收仿真机指令,按照理论弹道设计所产生的姿态角和姿态角速度,为机载计算机提供姿态运动基准;舵机力矩加载器用于模拟舵机实际工作中的铰链力矩;CANoe用于实现对总线网络的全面分析,如负载率和报文帧时间信息等;CANstress是一款专业的CAN总线干扰仪,具有灵活的干扰触发方式,可以实现对CAN总线的数字干扰和模拟干扰.半物理仿真实验是以上述的软硬件系统为平台,主要完成以下几个方面的测试:(1)基于单CAN网络的飞行器控制系统测试.在未采取任何策略情况下,测试基于单CAN网络的飞行器控制系统中传输报文帧的平均延时和网络参数,总线波特率为1MB/s.(2)采用双CAN网络混合调度策略并在主网络正常工作时,分别测试主网络和备份网络中报文帧的平均延时和网络参数,其中指令网总线波特率为500kB/s,数据网为1MB/s.(3)采用双CAN网络混合调度策略并通过CANstress对主网络进行错误帧干扰,直到主网络瘫痪,然后测试飞行器控制系统备份网络运行情况.表4为3项试验过程中飞行器控制系统内所传输的报文帧,表5为CANoe中记录的网络运行参数,表6为报文帧平均延时和最大延时的统计信息.

4结论

实验结果表明:采用双CAN网络混合调度策略后,飞行器通信网络的总线负载率从61%下降到指令网为8%和数据网为54%,大幅度降低了飞行器控制类报文帧的平均延时和最大延时,保证了此类关键报文的实时性,并在一定程度上降低了非实时性报文帧的传输延时,提高了系统整体的实时性.而且当指令网因干扰而通信瘫痪时,所有实时性报文都能够转移到数据网中传输,并由于采用了网络带宽优化措施,此时数据网的总线负载率也仅为31%,整个控制系统在正常且稳定运行的同时,保证了控制类报文帧的实时性,提高了系统的可靠性.因此,采用双CAN网络混合调度策略不仅可以提高飞行器控制系统数据传输的实时性,而且当主网络瘫痪后,虽然备份网中非实时性周期报文的发送周期变大,但却保证了与控制飞行器飞行相关指令帧的实时性,飞行器仍然可以正常运行,提高了系统数据传输的可靠性和实时性.

作者:张宏巍张文娟贾宏光单位:中国科学院长春光学精密机械与物理研究所东北师范大学应用电子研究所