基于时间触发总线的发动机分布式控制系统原型设计

2022-06-27 01:24赵旭东徐佩佩钱荣荣
测控技术 2022年6期
关键词:通信协议总线原型

赵旭东, 周 健, 徐佩佩, 钱荣荣

(1.中国航发商用航空发动机有限责任公司,上海 200241; 2.上海商用飞机发动机工程技术研究中心,上海 200241)

民用航空发动机普遍采用FADEC控制系统,通过采集各种传感器测量信号和外设通信信号,由其内部的机载嵌入式控制算法软件进行分析和处理,输出相应的控制信号驱动伺服作动,以达到期望的控制目标。目前,FADEC控制系统大都为集中式架构,随着发动机控制和健康管理的功能越来越复杂,集中式的控制系统在性能、体积、质量和可靠性方面遇到了挑战。未来发动机控制系统的发展趋势之一是分布式控制[1],它由FADEC和多个智能装置组成,中央处理器和各智能传感器、智能执行机构组成了一个发动机区域网(Engine Area Network,EAN)[2],中央处理器与智能传感器、智能执行机构之间通过数据总线进行通信。

国外对分布式控制方面的研究已有近30年的技术积累,在分布式控制系统架构、高温电子元器件和通信总线技术方面取得了重要突破[3-4]。2004年,美国NASA实施的推进系统高效航空电子技术(PHIAT)计划提出采用TTP/C(Timer Trigger Protocol/Critical)总线实现模块化实时控制系统。在工业界,TTP总线技术已有广泛的应用,Hamilton Sundstrand公司在Boeing787的动力系统和环控系统中应用了TTP总线技术,该项目包括11个TTP网络和70个TTP节点[5];Honeywell从2000年开始在MAC平台上采用TTTech公司提供的TTP通信解决方案,并应用于M-346教练机和F-16发动机控制系统中;空客A380的舱压控制实时系统的通信总线也采用了TTP通信。除了航空航天领域,TTP总线在铁路控制系统中也得到了应用,例如Alcatel公司借助TTP总线的时间确定性和高度容错性,将其应用在电子联锁系统中,并保证整个系统符合IEC61508 SIL4安全标准[6]。

在国内,TTP总线在汽车领域应用较多,在航空航天领域的研究大多还处于理论研究或者仿真试验阶段。例如,南京航空航天大学的邢卉丽等[7]开展了多电飞机配电系统的TTP/C总线应用技术的研究;中国运载火箭技术研究院的冯忠伟等[8]分析了TTE/TTP技术在航天器应用需要解决的关键技术;南京航空航天大学张天宏教授课题组在TTA架构的基础上,采用DSP+FPGA的架构自主设计了基于FPGA的TTP/C总线控制器,但在通用性和扩展性等关键特性方面还有提升的空间[9-10]。

针对民用航空发动机控制需求,构建了一套基于TTP/C通信总线的分布式控制原型系统,通过系统分析划分相应的通信节点,完成了节点的硬件设计和应用软件设计,通过原型仿真验证,测试了原型系统架构的合理性,能够满足分布式控制系统的工程要求。

1 TTP/C协议简介

TTP/C总线是一种先进的基于时间触发协议的数据总线,最早由维也纳科技大学Hermann等提出,其中C是指该协议达到了SAE AS6003标准的C类标准[11]。

TTP总线采用了基于通信簇周期和基于时分多址(Time Division Multiple Access,TDMA)的通信调度策略[12],将每个TDMA周期划分为多个槽(Slot),每个节点可在TDMA周期中占据一个槽用于数据发送,如图1所示。在SAE AS6003标准中,每个通信槽Slot又划分为4个时间片,分别为传输前准备、数据传输、协议控制器处理阶段和空闲阶段[13]。

图1 TTP/C协议TDMA周期示意图

TTP总线按照框架帧的格式传输消息,由帧头、消息数据和CRC校验码3个部分组成。TTP/C协议提供3种帧格式,分别为I-frame、N-frame和X-frame。不同的帧格式有不同的用处,I-frame帧格式传递TTP控制器的状态,通常用于初始化;N-frame帧可用于节点间的数据传递;X-frame是将I-frame和N-frame格式进行组合的一种复合帧格式,可以一次传递更多的信息,但是也要求网络有足够的带宽。

2 分布式控制原型需求分析

发动机分布式控制原型将原来由FADEC集中完成的信号调理、数据采集与处理、控制算法、故障诊断等功能任务分解到各个分布式控制节点中完成,节点之间通过数据总线进行通信,原型对系统实时性、可扩展性和通信总线等方面的需求如下:

① 高实时性,分布式原型系统应能实现确定性的周期任务调度,通信总线延时抖动不大于100 μs,具有确定性实时通信能力,可保证控制功能的实时性。

② 可扩展性,分布式原型系统应采用模块化和标准化设计,支持控制节点扩展,通信总线支持最大节点数不小于32个。

③ 通信带宽要求,分布式原型系统通信带宽不低于2 Mbit/s。

3 原型系统硬件设计

3.1 原型系统架构设计

根据发动机控制系统功能需求,考虑商用发动机的控制部件安装位置要求,以线束长度和节点I/O负载均衡为原则,最终将分布式原型系统划分为1个监控节点(SV)和5个智能节点,这5个智能节点分别为数据管理节点(SM)、燃油控制节点(FCM)、超限保护节点(OSM)、冷端作动控制节点(SCMC)和热端作动控制节点(SCMT),各节点之间通过TTP总线进行数据通信交互,如图2所示。

图2 分布式原型系统结构示意图

3.2 节点硬件设计

典型的TTP通信节点由节点主机(Host)和TTP协议控制器组成,主机和协议控制器之间通过通信网络接口(CNI)进行数据交互,其节点结构如图3所示。

图3 TTP/C通信节点结构

主机CPU处理器用于运行用户的节点应用程序;TTP控制器用于实现启动服务、时钟同步服务、消息发送接收校验、主机/控制器状态监测标记服务等,为主机应用提供安全、可靠的通信;CNI用于传递节点主机与TTP/C网络通信的消息数据,同时包括TTP控制器的异常状态,其采用双口RAM的实现方式,为节点主机与TTP/C控制器之间提供一块共享内存,满足双方的读写要求。

3.2.1 智能节点硬件设计

智能节点的主机处理器采用Freescale PowerPC架构的MPC5554处理器,其工作主频132 MHz,配置有64 KB的RAM存储、2 MB的Flash存储和1 MB的SRAM存储。

TTP控制器选用TTTech公司生产的AS8202芯片,AS8202通信控制器是符合SAE AS6003标准的通信接口芯片,可以在不需要主机参与的情况下完成与其他TTP总线设备的通信,以及TTP消息的发送和接收。AS8202是一款非常成熟的产品,并已经通过了DO-254适航标准认证。

3.2.2 监控节点硬件设计

监控节点(SV)主要承担控制律计算相关工作,为了便于后续开展基于模型的控制算法验证实践,主机处理器模块选用Freescale PowerPC P2040四核处理器,工作主频1.2 GHz,配置了2 GB的DDR3内存和128 MB的NOR Flash存储,外设通信包括2个以太网接口(支持 10/100/1000 Mbit/s的传输速率)和2个RS232串口。

TTP控制器处理器同样选用AS8202芯片,设计成标准的PMC子卡,采用32位33 MHz/66 MHz的PCI总线,实现P2040和TTP控制器之间的数据传递。

4 TTP/C通信协议设计

通信协议设计采用两级架构模式,分别为集群级和节点级,如图4所示。集群级协议用于定义通信网络,包括网络时间触发周期、所有通信节点、节点子系统及其发送消息定义等参数,并生成集群调度表,作为后续节点级设计的输入。节点级协议用于定义集群中包含的每个通信节点,包括节点主机处理器参数、节点子系统任务项和任务项输入输出消息定义等。

图4 通信协议两级架构示意图

为了保证原型系统的通用性和稳定性,本项目中采用TTTech公司发布的TTP软件工具链:TTP-Plan和TTP-Build。其中,TTP-Plan是TTP/C通信集群级规划工具,TTP-Build是在集群级协议的基础上用于具体节点的通信协议设计。

根据发动机分布式控制模型,梳理各个节点的数据接口,使用工具完成通信协议的制定。

5 分布式原型应用软件设计

5.1 节点MEDL表生成

总线上的每个节点在通信协议设计环节都需要预先定义消息描述表(MEDL),包括节点发送和接收的消息数据定义、数据的存储地址和长度、发送和接收对应的时间槽等,这些调度控制数据将存储在各个节点对应的TTP控制器中。

本项目中已在通信协议设计环节完成了各个节点MEDL定义,为了满足节点应用软件编程的需要,采用Python脚本的方式,将MEDL生成C代码文件,部分程序如下:

Def convert_to_c(APDB,filename):

If not os.path.isfile(APDB):

Sys.stderr.write(“n**ERROR** ”)

Raise RuntimeError

file_pattern=sys.argv[1]

kind=(“protocol”,“medl”) [“MEDL” in filename]

c_filename=“%s.c” %(os.path.splitext(filename)[0],)

Command=(“%s -no_pragma -no_apdb -format=c -%%s_file=%%s -target=%%s” %(APDB,))

os.system(command % (kind,filename,c_filename))

5.2 监控节点软件设计

监控节点承担控制逻辑计算相关任务,包括推力管理、起动控制律、加减速控制律、停车控制律、故障诊断与处理和健康管理等,对任务运行的实时性要求较高,本项目中采用实时操作系统VxWorks完成实时性任务的调度。

VxWorks是由美国风河公司研制的具有高可靠性、高灵活性和高实时性的嵌入式操作系统,其凭借良好的持续发展能力、高性能的内核和友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地,并广泛应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中[14]。VxWorks提供Workbench开发环境,可以很方便地进行嵌入式代码的开发和调试。

根据SV节点的功能要求,将节点任务划分为5 ms、20 ms和100 ms 3种时间周期任务,并设置各个任务的优先级。VxWorks提供多种方式实现任务间的同步,本项目中采用二进制信号量的方式。通过设置任务优先级和信号量,同步各任务的执行顺序,实现SV节点的控制计算功能,SV节点软件运行流程如图5所示。

图5 SV节点软件运行流程图

5.3 智能节点软件设计

各个智能节点分别承担部分功能,其中SM节点负责传感器数据采集和处理,FCM节点实现燃油计量和分配功能,SCMC节点负责压气机相关作动部件的控制功能,SCMT节点负责涡轮相关作动部件的控制功能,OSM节点实现发动机限制值的相关控制功能。

智能节点应用软件采取基于MATLAB/Simulink软件的MBD设计方法,通过图形化建模和系统仿真,实现节点功能逻辑关系的模型设计。利用Simulink提供的实时工作站(RTW)和TLC模板,完成节点应用软件嵌入式C代码的自动生成,结合TTP通信协议设计阶段生成的各个节点MEDL的C代码,采用GCC编译器将原代码编译链接生成目标文件,设计流程如图6所示。

图6 智能节点软件设计流程图

6 系统测试

针对所构建的TTP/C总线分布式控制原型,开展通信功能和性能测试,使用TTP-Load工具将智能节点的MEDL和应用软件目标文件下载到各个节点TTP控制器中,监控节点采用风河公司Workbench工具将操作系统和应用软件打包部署。笔者统计了1000个通信周期内通信帧预计到达时间和实际到达时间的差值抖动,如表1所示。

表1 通信帧预计时间和实际时间差值 单位:μs

使用TTP-View工具,配置需要监视的各个通信参数值,如图7所示,测试结果表明原型系统的通信功能正常,能够满足发动机分布式控制系统的通信要求。

图7 TTP/C通信数据监视

7 结束语

结合发动机控制系统分布式架构的发展趋势,基于TTP/C通信总线的高可靠性、高容错能力的特点,建立了分布式原型系统,根据控制需求制定了节点通信协议,采用MBD设计开发了智能节点应用软件,结合监控节点的拓展需求,基于VxWorks实时操作系统开发了监控节点应用软件,并完成系统部署。实际测试结果表明,所构建的原型系统能够满足分布式控制的通信要求,具有较强的实际应用价值。

猜你喜欢
通信协议总线原型
关于CAN总线的地铁屏蔽门控制思路论述
包裹的一切
《哈姆雷特》的《圣经》叙事原型考证
人人敬爱的圣人成为了 传说人物的原型
论《西藏隐秘岁月》的原型复现
奖状训练器飞行管理系统研究
Q&A热线
基于R8C的汽车OBD通用故障诊断仪设计
PCI9030及其PCI总线接口电路设计
SIP协议系统模型的形式化研究