鉴于FPGA航空发动机控制器设计及运用

时间:2022-06-20 11:44:45

鉴于FPGA航空发动机控制器设计及运用

当前航空发动机FADEC系统均采用集中式电子控制器,控制器内部的核心处理器大都采用冯?诺依曼体系结构或其改进体系,例如:TI公司的C2000系列、Motorola公司的68系列、Freescale的PowerPC系列等。基于冯?诺依曼体系结构处理器的计算资源高度集中在内核的几个硬件电路上,指令在程序计数器的引导下串行运行[1]。

在这种计算资源高度集中的串行处理器上开发控制软件时,存在以下问题:①当代FADEC系统集成了包括发动机控制、PHM(prognosticandheathmanagement,预测和健康管理)、总线通信、BIT(builtintest,机内自测试)等复杂功能[2-3],为了保证这些功能的实时性,必须在软件层次对处理器有限的I/O和计算资源进行高度的实时性优化[4],这样软件开发、验证的难度极大;②在处理器中运行的软件代码之间是高度关联的,设计定型后,任意局部的软件修改都可能导致很大一部分系统软件的重新验证,这些验证可能需要额外的硬件在回路测试和机载测试,导致系统后期的升级、维护成本急剧增加[2];③系统软件和硬件是高度关联的,是针对特定的发动机定制的,可重用性差,在设计新的FADEC系统时,大部分系统软件必须重新编写、验证,这降低了开发效率,增加了开发成本[2,5]。

相对基于冯?诺依曼体系结构的处理器,具有可重构特性的FPGA的最大特点是计算资源的分布配置和并行运行,这使得FPGA特别适合处理并行实时任务[6]。可编程的片上硬件电路资源,可以根据用户需求配置成不同的功能,极大地增加了系统设计的灵活性。在FPGA的并行和可重构特性基础上发展起来的SOPC(systemonaprogrammablechip,片上可编程系统)技术可以将嵌入式处理器系统、接口系统、硬件协处理器、DSP系统、数字通信系统、存储电路以及普通数字电路等,在单一FPGA中实现。IP(intellectualproperty,知识产权)复用的设计理念和软/硬件协同的设计方法使SOPC技术的实施变得非常容易,主流FP-GA开发软件都支持SOPC系统级设计。FPGA的这些技术特点使其在复杂系统实时控制领域得到了大量成功应用,例如:欧洲FADECInternational公司最新型FADEC系统中的数字逻辑功能均采用FPGA实现;美国IAC公司基于FPGA设计了F117(C-17动力)发动机的PHM单元[7];HenryB.Christophersen等人基于FPGA和DSP设计了无人机的飞行控制系统[8];ZhengMinhui等人基于FPGA设计了直升机的神经网络控制器[9];美国NI公司基于FPGA和PowerPC处理器开发了高性能的控制器快速原型开发平台CompactRIO,并采用图形编程的方式进行控制系统的软/硬件定制。在这种背景下,提出了一种基于FPGA的片内分布式航空发动机电子控制器设计方法。目的是克服当前集中式电子控制器设计时存在的软件高度定制、可重用性差、并行实时任务开发难度大、开发效率低等缺点,降低FADEC系统的全寿命周期费用。

1基于FPGA的片内分布式航空发动

机电子控制器硬件架构图1给出了基于FPGA的片内分布式航空发动机电子控制器(ADCIPC,aero-enginedistributedcontrollerinaprogrammablechip)的硬件架构,其片内结构和控制模式与分布式FADEC系统非常相似,包括通过同步数据总线互联的多个处理器和硬件电路模块,每个处理器都有独立的程序和数据存储器,可独立运行软件任务。ADCIPC中的两个高级处理器分别运行控制计划和PHM等高级任务,硬件协处理器用于加速处理器性能。基本型处理器与分布式FADEC系统中各个智能节点的功能类似,用于传感器数据采集、处理、冗余管理,执行机构小闭环控制及硬件自检测等低级任务。高级BIT逻辑模块实现电子控制器故障检测、隔离与通道切换等功能。OSP(overspeedprotection,超转保护逻辑)模块实时测量发动机转速,当发生超转事件时,快速、可靠地实施保护动作。时钟发生逻辑产生控制各个功能模块同步工作的同步控制信号SC(决定控制步长)和总线时钟信号CLK(决定通信速率)。同步数据总线由SC、CLK和DB组成,实现各个功能模块间的数据通信。ADCIPC的具体实施需解决以下3个关键问题:FPGA内嵌处理器选型、硬件协处理器及同步数据总线设计,下面讨论关键问题的技术方案。

2ADCIPC实施的关键问题分析

2.1FPGA内嵌处理器性能分析

FPGA内嵌处理器分为硬核和软核两种,硬核直接固化在FPGA内部,例如:Xilinx公司Virtex-FXT系列FPGA内嵌的PowerPC处理器,Actel公司Cortex系列FPGA内嵌的ARM处理器。软核以IP形式提供,在需要时下载到FPGA内部,例如:Altera公司的NiosII软核处理器和Xilinx公司的MicroBlaze软核处理器。这几种硬核和软核处理器都可以根据需求定制外设,并支持嵌入式实时操作系统。表1(数据来自各供应商官方网站)列出了这几种处理器的峰值性能指标,测试基准程序为Dhrystonev2.1。由表1可知,PowerPC440处理器具有最高的性能,适合作为AD-CIPC中的高级处理器运行PHM和控制计划等高级任务,NiosII、ARM7、MicroBlaze处理器适合作为ADCIPC中的基本型处理器负责低级任务。

2.2基于FPGA的硬件协处理器性能分析

受面积、功耗、成本的限制,FPGA内嵌处理器的数值计算性能难以和专用高性能数字信号处理器相比。先进FADEC系统中的部分算法具有很高的峰值计算需求,例如:性能寻优控制中的优化算法,高稳定性发动机控制中的失速/喘振边界预测算法,模型基智能控制中机载自适应模型的矩阵计算、卡尔曼滤波、神经网络计算[10-11]等。这时可以基于FPGA设计硬件协处理器对关键软件代码进行加速,提高系统的峰值性能。国内外学者开展了大量基于FPGA的硬件协处理器研究,例如,GlennSteiner等人为Virtex-4FPGA内嵌的300MHzPowerPC处理器设计了纯硬件的浮点协处理器,使其性能等于或高于GHz级专用数字信号处理器的性能(数据来自Xilinx官方网站)。田翔等[12]人在Virtex-4FPGA中设计了双精度矩阵乘法协处理器,峰值性能达到3000MFLOPS。RonL.MoonII[13]将Matlab中的LegendrePseudospectral优化控制算法移植到FPGA中,极大地提高了实时性,推进了算法的工程应用。已有的理论研究表明神经网络在航空发动机控制、故障诊断、健康管理等领域有很大的应用潜力[10-11,14]。神经网络具有明显的并行计算特性,但在串行的冯?诺依曼机上实现难以保证实时性。专用神经网络芯片性能可以保证性能,但灵活性差。FPGA的并行结构和可重构特性使其十分适合作为神经网络的计算平台[6],图2给出了在FPGA内部实现单个神经元的硬件结构。神经网络的FPGA实现需要在速度、精度和资源占用之间折中考虑,设计的关键问题是数据定标和非线性传递函数的实现。HoltJL等人[15]的研究表明16位定点数是保证神经网络计算能力的最小精度要求,而非线性函数一般采用查表或插值的方法实现[16]。表2给出了在各种不同计算平台下BP神经网络学习时每秒的权值更新速度,显然基于FPGA实现具有最高的性能。目前神经网络的FPGA实现方法还处于RTL(registertransferlevel,寄存器传输级)级别,开发效率低、难度大,在算法级直接进行神经网络的FPGA实现是目前的研究热点。

2.3同步数据总线需求分析

数据总线必须具有高可靠性、时间确定性和足够的传输带宽。ADCIPC的数据总线是通过FPGA芯片内部的逻辑和布线资源构建的,其可靠性取决于FP-GA芯片所采用的工艺等级和设计规范,本文主要研究总线协议和传输带宽需求。总线上的每个功能模块都包含一个总线控制器,图3是总线控制器的硬件功能框图,包括发送和接收FIFO、总线控制逻辑、时钟信号CLK、双向数据总线DB、同步控制信号SC。FIFO的宽度和深度由具体应用决定,时钟发生逻辑产生的CLK信号决定总线传输速率,SC信号决定控制步长,并决定总线数据传输的时间基准。总线以串行方式传递数据,即DB的宽度为1位。总线采用TTP(timetriggerprotocol,时间触发协议)模式,即在每个控制步长内各个功能模块按照预设的顺序,在固定的“时间槽”内完成数据传输,如图4所示。“时间槽”技术通过总线控制器内置的高精度定时器实现,该技术确保总线是时间确定性的,能有效地避免总线数据冲突。总线上的每个数据包都包含源地址和目的地址,如图4所示,这就像在共享总线上建立了虚拟的点对点通信链路,即“虚链路”。时间槽和虚链路技术使总线结构是开放式的,可以很容易在总线上添加或去除功能模块。此外,总线采用监听模式,即每个总线控制器都可以监听总线上的数据,但只接收自己需要的数据。

总线传输带宽需求取决于数据帧结构、控制步长、节点总数和控制系统的实时性要求[20]。某型涡扇发动机集中式FADEC系统每个控制步长的最大输入/输出数据量为33个字或528bit[20]。以此发动机为被控对象,当控制步长为20ms时,采用图4的数据传输格式(每个数据帧为30bit),ADCIPC中总线的最低带宽需求为49500bit/s。控制系统的延时主要由传感器输入延时、控制量计算延时、控制量输出延时组成,对于实时系统,这些延时应尽可能的小,否则会影响系统稳定性。为了将更多的时间留给控制量计算,将AD-CIPC中的总线数据传输时间控制在100μs内(图4中的Tsd+Tad),则总线带宽需求为9.9Mbit/s,这在FPGA内部很容易实现。相对于控制量计算,健康管理需要更多的传感器数据、更高的信号采样速率,需要传输更多的数据到负责健康管理的高级处理器。但这些数据实时性要求较低,可以利用控制量输出后的总线空闲时间传输,如图4所示。本文提出的总线方案是具有时间触发、总线监听、双向同步传输特性的开放式串行数据总线,传输带宽高,完全能满足ADCIPC的需求。

3ADCIPC原理样机设计及试验验证

基于Altera公司的FPGA-EP2C35,设计了AD-CIPC的原理样机,重点验证多处理器系统构建、OSP模块和TTP总线功能。图5为原理样机的硬件功能框图,包含3个NiosII处理器模块和一个OSP模块,这4个模块之间通过本文设计的TTP总线互联。3个具有独立程序运行空间的NiosII处理器都基于SOPCBulider定制,其中一个是带浮点计算单元的快速型处理器NiosII-F,2个是基本型处理器NiosII-E1和NiosII-E2,3个处理器都集成高精度定时器、若干I/O及TTP总线接口,处理器主频都为100MHz。NiosII-E1进行传感器数据采集与处理,NiosII-F进行控制量计算,NiosII-E2进行执行机构小闭环控制。采用Verilog语言设计了OSP模块,该模块采用100MHz的基频信号对模拟的发动机转速信号(模拟信号频率为实际转速的30倍)进行测周,测量精度和灵敏度都为10ns,对应转速测量的灵敏度和精度都小于1r/min。采用Verilog语言设计了TTP总线控制器,设计传输速率为10Mb/s,收发FIFO大小都为16bit×8,数据帧格式与图4描述的一致。最后,对该原理样机的软、硬件系统进行了全面的仿真验证,将通过仿真验证的设计下载到FPGA-EP2C35上进行硬件运行验证,并采用嵌入式逻辑分析仪SignalTapII实时捕获FPGA内部数据码流。图6为通过SignalTapII捕获的一个控制步长内TTP总线上的数据码流和其他触发信号,0~1ms为传感器数据采集、处理时段,1~1.015ms为NiosII-E1处理器模块发送其他传感器数值时段,1.015~1.018ms为OSP模块发送转速值时段,如图6(a)所示。4帧传感器数据发送完成后,延时3个总线时钟周期,通过Re-ceive_sensordata_over信号触发NiosII-F处理器的接收数据中断服务程序。NiosII-F处理器根据接收到的传感器数值计算控制量,并在5~5.013ms进行控制量输出,如图6(b)所示。3帧控制量数据发送完成后,延时3个总线时钟周期,通过Receive_controldata_over信号触发NiosII-E2处理器模块的接收数据中断服务程序,NiosII-E2处理器根据接收到的控制量进行执行机构小闭环控制。图7为OSP模块实施超转保护动作的时序图,当转速超过10000r/min(对应转速信号发生模块输出频率大于5000Hz或者Frequency_out输出小于20000)时,OSP模块对保护信号“Engine_off”进行置位,保护信号响应时间小于200μs。

4结束语

研究结果表明,笔者提出的基于FPGA的片内分布式航空发动机电子控制器设计方法在目前的技术条件下可以实施。相对传统的集中式电子控制器,AD-CIPC具有以下优点:①控制器中的数据采集、控制算法、健康管理、执行机构小闭环控制等功能被分解到多个独立运行的处理器上用软件实现,高级BIT、超转保护、协处理器等功能采用硬件电路实现,这种软硬件协同设计方法极大地降低了并行实时任务的开发和验证难度;②控制器中各个软/硬件模块的功能相对独立,任何一个模块的修改并不影响其他模块的功能,这将降低系统的维护、升级费用;③控制器的架构是开放式的,可以很容易在总线上添加或者去除功能模块,已有的模块也具有很高的可重用性,这简化了新系统的设计过程。

这些优点能降低FADEC系统的全寿命周期费用,带来显著的经济效益。受FPGA-EP2C35内部的硬件资源限制,笔者没有为ADCIPC设计硬件协处理器,下一步将采用内嵌PowerPC硬核的XilinxVirtex-5FXT-FPGA设计ADCIPC,并为PowerPC处理器设计神经网络协处理器,为实施航空发动机MBC(model-basedcontrol,模型基控制)和PHM提供高性能的硬件平台。

上一篇:远程监控的无线数传技术研发 下一篇:华侨留守儿童生活体验及家庭教育分析