APP下载

三余度飞行控制计算机FlexRay节点通信设计

2016-11-17陈军花吕迅竑

计算机测量与控制 2016年3期
关键词:余度数据量时隙

曹 东,陈军花,吕迅竑

(南京航空航天大学 自动化学院,南京 211100)



三余度飞行控制计算机FlexRay节点通信设计

曹 东,陈军花,吕迅竑

(南京航空航天大学 自动化学院,南京 211100)

飞行控制计算机是飞行控制系统的核心组成部分,为进一步提高中小型无人机的安全可靠性,采用了软、硬件结合的三余度管理技术;首先采用模块化的设计思想,设计了系统三余度飞行控制计算机的硬件架构,包括串口、开关量、模拟量、CAN和FlexRay总线以及外扩SRAM等硬件资源;然后设计余度管理策略,该部分提出了软件表决和硬件仲裁两级余度管理思想;此外,为克服传统CAN总线负载量和通信速率等方面的不足,引入了FlexRay总线通信技术,并详细分析了总线通信数据流,设计了基于FlexRay的总线通信机制;最后进行半物理仿真实验,验证FlexRay总线通信功能,验证结果表明设计方案合理可行;设计的三余度飞行控制计算机硬件集成性高且易扩展升级,FlexRay总线通信功能也满足设计需求,具有很高的应用价值。

飞行控制计算机;余度管理;FlexRay总线;总线协议

0 引言

飞行控制系统的安全性直接关系到飞机和飞行员的存亡,因此飞行控制计算机作为其核心部分,可靠性要求是所有航空电子设备中最高的。为提高飞行控制计算机的安全可靠性,现广泛采用的方法是在保证元器件和装配工艺质量的基础上,引入余度技术[1],从根本上提高系统的故障诊断和容错能力,最终消除故障对系统正常工作的影响。现在的飞行控制计算机系统主要采用二余度、三余度或四余度容错结构,其中二余度系统主要采用热备份的工作方式,系统工作在故障-安全状态下,三余度系统可保证系统一次故障工作,二次故障安全,四余度系统在三余度的基础上增加了表决对象,使系统可工作在双故障-工作状态下。综合考虑设计成本、开发周期和系统质量、体积等[2],中小型无人机采用三余度容错结构。

此外,随着飞行任务的不断复杂化和多样化,对飞行控制计算机的数据处理能力要求也越来越高。传统CAN总线最大通信速率为1 Mbit/s,已难以满足飞行控制计算机在通信实时性和数据大负载量方面的要求,由此引入了Flexray总线。Flexray总线[3]是一种时间触发总线,具有高速率、时间确定性等特点,完全满足飞行控制计算机内部总线数据通信要求。

基于某工程项目的实际需求及以上考虑,研发了三余度飞行控制计算机。本文在介绍三余度飞行控制计算机硬件架构设计和余度管理配置的基础上,设计了Flexray总线通信机制,并进行了可行性验证。

1 三余度飞行控制计算机硬件架构

针对某工程项目的实际需求,研发的三余度飞行控制计算机硬件部分主要由3个独立的控制通道A、B、C及仲裁模块和接口单元组成。其中单通道模块以飞思卡尔公司的MPC5644A为核心,集成了SCI、PWMIN/OUT、DI/O、AD/DA、CAN和FlexRay驱动电路,以及外扩FLASH和外扩RAM等模块。设计时,单通道模块由一块核心板和一块核心板母板组成,核心板是数据处理和计算工作的核心,主要集成CPU最小系统、外扩Flash、外扩SRAM、FlexRay总线驱动、CAN总线驱动和串口驱动电路。核心板母板主要集成开关量模块、PWM模块和A/D转换模块。三余度系统由三通道模块和一块仲裁、接口单元板组成,其中仲裁、接口单元板集成了仲裁功能电路和三通道中各单元的接口模块。

此外,还有电源模块、CPU最小系统内其他电路等作为基础硬件支持。系统的整体结构如下图1所示。

图1 三余度飞行控制计算机结构示意图

硬件上与传统设计相比,系统集成性更高,也更易扩展;核心板和核心板母板的分板设计既节省了体积,又实现了对CPU的保护功能,也便于后续各功能模块的升级。

2 余度管理

2.1 交叉传输链路设计

数据交叉传输是实现三通道间信息比较监控的前提,通过交叉传输还可以提高系统故障检测率。三余度飞行控制计算机交叉传输的数据有遥控指令、传感器状态信息、通道监测信息、输出控制量等。这些信息主要分为串口量、开关量、模拟量、PWM量和状态检测量。

目前信息交叉传输的途径主要有模拟量交换、串行口交换、共享存储器[4]和总线访问。其中模拟量交换方式严重耗费系统资源,且效率不高;串行口交换速度有限,实时性较差;共享存储器的方式虽然避免了模拟量交换和串行口交换方式的缺点,但存在访问冲突问题,且当余度数量n改变时共享存储器的数量会随n(n-1)/2进行改变;总线访问方式中CAN总线具有实时性好、可靠性高、成本低等优点,但其一帧数据仅8字节,最高通信速率也只有1 Mbit/s,难以满足越来越大的数据负载量;而新型的Flexray总线单通道最大传输速率可达到10 Mbit/s,能进行双通道冗余传输,具有消息到达时间确定、消息延迟固定、通信循环误差小、成本低、实时性好和可靠性高等特点。

综合考虑交叉传输数据类型、通信速率、数据负载量和实时性等方面的要求,本文的三余度飞行控制计算机采用 Flexray 总线访问方式形成交叉通信数据链路(CCDL),实现完整的资源共享和状态信息交互。

2.2 余度管理设计

三余度飞行控制计算机余度管理内容主要包括输入信息的余度管理、三通道间的同步管理、输出信息的余度管理、故障检测和处理等,这些都是在CCDL基础上完成的。

前面分析可知,CCDL通信数据主要为串口量、开关量、模拟量、PWM量和状态检测量。余度管理时,串口量、模拟量和PWM量采用如图2(a)比较方式进行表决,首先对三余度信号进行排序,假设由大到小依次为a、b、c,门限值为ε,最大值与最小值相减,其差值a-c与给定的门限值ε进行比较,若差值在门限值范围以内,则取三信号中值(a+b+c)/3作为表决值输出;若差值超出门限值范围,则继续判断,方法类似,若a-b<ε,则输出a、b均值(a+b)/2;若a-b>ε,则继续判断,若b-c<ε,则输出b、c均值(b+c)/2,反之输出故障安全值。

开关量采用如图2(b)相加比较的方法,对各通道的开关量进行全同表决,以多数相同的信号为有效信号,少数信号判断为故障信号,并以多数信号的值作为表决值输出。当计算机A、B、C通道的离散量a、b和c加在一起等于3或0时,表决值取采样值;当a+b+c等于1时,输出值取0,输出为1的通道记一次瞬态故障;当a+b+c等于2时,输出值取1,输出为0的通道记一次瞬态故障。

图2 余度表决流程图

系统余度管理[5]整体流程为,首先,三通道分别采集输入信号,输入数据通过CCDL进行数据交互,通过表决得到各通道的表决输入;然后,三控制通道分别对各自的表决值进行控制律解算等,得到各自的输出;最后输出数据时,各通道向其他两个通道发送控制输出信号,通过CCDL进行数据交互,同时进行故障检测、故障隔离等操作,表决出各自的输出,最后,三通道的输出同时传给仲裁模块,仲裁模块经过仲裁,得到唯一输出,该输出作为最后的结果下行给外围设备。具体流程如图3所示。

图3 余度管理表决过程示意图

①②③分别为中央处理单元A、B、C之间数据交叉传输过程;

④为3个中央处理单元的软件表决操作;

⑤为中央处理单元A、B、C采集各个通信接口单元的上行数据,或者将最终表决的数据下行给各个通信接口单元;

⑥为硬件仲裁模块接收各接口单元数据,仲裁后完成控制信号的输出。

CCDL通信和仲裁模块仲裁过程中,系统同时进行故障检测、故障隔离等操作。若检测到Flexray总线故障,则软件复位或切换到备用Flexray总线通道;若检测到飞行控制计算机通道故障,则进行重启尝试或者进行通道隔离操作。

3 FlexRay协议设计

3.1 总线数据流分析

三余度飞行控制计算机CCDL上的数据流总体由两部分组成:其他通道发送过来的上行数据以及该通道向其他通道发送的下行数据。则上、下行数据可分为串口量、模拟量、开关量、PWM信号和状态检测量。

本文以数据更新率的最小公倍数200 ms为周期对飞行控制计算机FlexRay总线数据流进行分析。根据样例飞行控制计算机统计,单通道串口量数据更新率统计如表1,串口10未使用,留作备用串口。

表1 串口量传输更新率

单通道飞行控制计算机的模拟量采集模块,包含8路16位精度的AD输入,8路12位精度的DA输出,则上行数据量为16字节,下行数据量为16字节。根据需要,每3 ms采集一次AD输入信号,同时10 ms上传一次数据,经过控制律解算,每20 ms向外下传一次DA输出信号,即上行、下行数据更新率分别为100 Hz和50 Hz。那么200 ms内单通道模拟量单元的上行数据量为16*20=320字节,下行数据量为16*10=160字节。

单通道飞行控制计算机的开关量采集模块,包含8路输入和8路输出。对于开关量输入信号上传和输出信号下传,数据传输的频率均为100 Hz。那么200 ms内单通道开关量单元的上行数据量为8*20=160字节,下行数据量为8*20=160字节。

单通道飞行控制计算机的PWM信号采集模块,包含8路PWM输入和16路PWM输出。其数据传输频率定为50 Hz。那么200 ms内单通道PWM信号的上行数据量为16*10=160字节,下行数据量为32*10=160字节。

三余度飞行控制计算机每20 ms通过Flexray总线对各通道模块进行状态检测,状态检测帧以中断方式定时发送。通道A状态检测帧分布在0 ms、20 ms、40 ms…的时间片,通道B状态检测帧分布在1 ms、21 ms、41 ms…的时间片,通道C状态检测帧分布在2 ms、22 ms、42 ms…的时间片。各个功能单元在接收到状态检测信息后将返回一个检测应答帧。

综上分析,考虑到数据传输速率、总线资源利用率和资源易扩展性,选取数据帧长度为32字节。由表2可知,在200 ms内,三余度飞行控制计算机上行数据量为:193*3=579帧,下行数据量为:88*3=264总计943帧,即平均1 ms Flexray总线上数据流量为5帧。

表2 三余度飞行控制计算机总线数据流

实际通信时,数据总流量还包括每帧的帧头5字节、帧尾3字节和138位位流信号,因此200 ms内的数据总流量为943*(40*8+138)=431894bit,约为53987字节。FlexRay的通信速率为10 Mbit/s,200 ms内可以提供250 000字节的传输能力,远大于飞行控制计算机的数据流量需求,FlexRay总线的带宽完全满足设计要求。

3.2 时间调度方式

FlexRay 总线是一种典型的现场总线,数据是在总线通信周期中进行传输的。每个通信周期包含静态段、动态段、符号窗口和网络闲置时间四段,其中用来收发消息数据的是静态段和动态段。FlexRay 总线静态段包含若干等长度的静态时隙(slot),当通信周期到达后,节点会根据当前的时隙号过滤待传输的消息,在帧ID号相等时,对应时隙的消息才能在总线上传输,这种方式称为基于时间触发的时分多址(TDMA)[6]媒体访问方式。相比于FlexRay总线通信周期的静态段,动态段传输消息数据时同样需要满足消息ID号与当前时隙计数器一致的条件,但此外还需根据待发送的消息长度与当前动态段剩余时间片的长度长短,来决定动态段消息发送机制,这种方式称为基于事件触发的柔性时分多址(FTDMA)[6]媒体访问方式。此外,符号窗口要求传输30bit 的冲突避免符号和 15bit 符号窗口的传输起动序列。网络空闲时间 NIT规定为,使通信控制器在最坏的情况下,能有足够的时间计算时钟频率和相位校正值,并能进行相位的校正。

比较时分多址和柔性时分多址两种媒体访问方式,前者实时性和确定性较强,更适合也适用于传输交互频繁的周期性数据信息。三余度飞行控制计算机中总线上行、下行数据都已分配设计好,因此采用基于时间触发的时分多址方式。本次设计中的总线通信部分主要用到静态段,下面就静态段负载长度为32字节设计FlexRay总线通信协议。

静态段负载长度为 32 字节,加上 5 个字节的头部段和 3 个字节的尾部段,其它还需考虑138 位的位流信号(TSS、FSS、BSS、FES)及闲置时间,因此当传输速率为10 Mbit/s时,传输一帧数据理论上至少需要 46 μs,为保证信号能完整传输取静态时隙大小为 60 μs。综合考虑总线上的数据流量和数据更新率,设置三余度飞行控制计算机的总线通信周期为10 ms。

在一个通信周期里,当选取负载帧长度为32字节时,由3.1分析可知,三余度飞行控制计算机串口上行数据量为39帧,下行数据量为18帧;模拟量上行、下行数据量均为3帧;开关量上行、下行数据量均为3帧;PWM量上行、下行数据量均为3帧;此外,各通道发送状态检测信号产生3帧下行数据量,其他通道传输状态检测返回信号产生6帧数据量,因此一个通信周期里最多共产生84帧数据流量。

为了保证数据传输的有效性及日后飞行控制计算机总线数据流扩展的需要,静态时隙个数设置为 100,每个通信周期只用到前84 个静态时隙,其余 16 个时隙作备用。由于没有使用动态段传递数据,所以动态段采用标准配置[7],符号窗口需传输30bit 的冲突避免符号和 15 bit 符号窗口的传输起动序列,考虑到扩展性符号窗口设为 14 μs,三倍于理论符号窗口长度;网络空闲时间长度设置为整个周期(10 ms)减去静态段、动态段和符号窗口后剩下的长度。

在负载段长度为 32 字节、通信周期为10 ms情况下,FlexRay总线一周期时间调度如图4所示。

图4 Flexray总线周期时间调度

4 FlexRay节点通信验证

对基于FlexRay的三节点通信可行性进行验证,将三通道模块的FlexRay节点相连,每个节点都对接收到的数据帧数、丢帧数和错帧数进行记录,并将收到的数据通过串口调试助手显示出来,同时也可用示波器对三节点的总线通信进行监控,实时观察总线通信情况。测试方案如图5所示。

图5 Flexray三节点通信测试示意图

初始化时,设置FlexRay通信速率为10 MHz,静态段消息负载长度设置为32字,长于实际通信负载长度,通信周期设置为10 ms。节点A在时隙1发送数据,在时隙7和时隙15接收数据;节点B在时隙7发送数据,在时隙1和时隙15接收数据;节点C在时隙15发送数据,在时隙1和时隙7接收数据。示波器监控总线上通信状态如图6所示。

图6(a)表明通信周期为10 ms,每周期3个时隙进行数据收发,图6(b)是图6(a)的局部放大图,每个时隙长度为200 μs,32字的数据通信大约占用120 μs。

将各节点的通信数据通过串口转发进行观察,经过6小时的连续通信测试,统计测试结果如表3所示。

图6 Flexray三节点实时通信测试图

测试时间/h通信帧计数丢帧计数错帧计数误码率/%11080000000221600000004432000000068640000000

由表3可看出,通信的丢帧数和错帧数都为0,说明节点设计合理可行。误码率为0也满足系统内部总线通信对低误码率的要求。

5 结束语

本文首先从提高中小型无人机的安全可靠性和核心控制部分的集成性考虑,设计了三余度飞行控制计算机的硬件架构;然后在此基础上提出了软件表决和硬件仲裁两级余度管理的设计思想,进一步提高了系统故障检测能力;最后分析总线数据流,在充分考虑通信负载量、通信速率和实时性的前提下,设计了基于Flexray的总线通信机制,验证表明设计方案合理可行。设计的三余度飞行控制计算机可靠性高且易扩展,具有很高的实际应用价值。

[1] 王迪爽.基于MPC5554的某型无人机双余度飞控计算机的设计[D].南京:南京航空航天大学,2013.

[2] 柳孔明,黄 俊.无人机多余度航空电子系统研究与应用[J].计算机测量与控制,2012,20(5):1340-1343.

[3] 石 磊.基于CAN总线的车门控制系统研究[D].吉林:吉林大学,2008.

[4] 黄 雯,等. Flexray总线技术及其多节点通信测试研究[J].华东电力,2009, 37(1).

[5] 徐志俊,钟再敏, 孙泽昌. FlexRay 总线在工业自动化领域的应用展望[J].工业控制计算机,2008,21(5):1-3.

[6] 张 利,等.基于总线占用率的Flexray消息时隙分配方法研究[J].中国机械工程,2012, 23(6).

[7] 章 勇. 基于FlexRay飞行控制计算机总线技术设计与研究 [D].南京:南京航空航天大学,2012.

Communication Design of Triplex Flight Control Computer Based on Flexray Bus

Cao Dong, Chen Junhua, Lü Xunhong

(College of Automation Engineering, Nanjing University of Aeronautics & Astronautics, Nanjing 211100, China)

In order to improve the safety and reliability of the small unmanned aerial vehicle (UAV), triplex redundancy management technique was adopted by combining software and hardware technology. The hardware architecture of a triplex redundancy flight control computer, which includes serial ports, switch quantity, analog CAN bus, FlexRay bus and expended SRAM as well as some other hardware resources, was designed firstly. When designing the redundancy management part, software voting and hardware arbitration were proposed. To overcome the heavy load and slow communication rate of traditional CAN bus, the FlexRay bus was introduced, and the communication mechanism based on the FlexRay bus was designed. Finally feasibility of the design was verified. In short, the design of triplex redundant flight control computer owns high integration and is easy to upgrade. The FlexRay bus communication functions meet the designed requirements, thus the total design has very high application value.

flight control computer; redundancy management; FlexRay bus; bus protocol

2015-09-23;

2015-11-06。

曹 东(1972-),男,安徽池州人,副研究员,主要从事先进飞行器设计方向的研究。

1671-4598(2016)03-0234-04

10.16526/j.cnki.11-4762/tp.2016.03.064

TP3

A

猜你喜欢

余度数据量时隙
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
余度计算机在无人机系统中的应用研究
高刷新率不容易显示器需求与接口标准带宽
基于时分多址的网络时隙资源分配研究
宽带信号采集与大数据量传输系统设计与研究
复用段单节点失效造成业务时隙错连处理
高空长航时无人机飞控机容错技术研究
新型操舵控制系统余度管理技术
一种高速通信系统动态时隙分配设计