基于DSP的航空发动机分布式控制TTCAN总线的节点设计
2013-07-07潘慕绚
关 越,潘慕绚
(南京航空航天大学能源与动力学院,南京210016)
基于DSP的航空发动机分布式控制TTCAN总线的节点设计
关 越,潘慕绚
(南京航空航天大学能源与动力学院,南京210016)
在航空发动机分布式控制系统的研究过程中,为保证系统的可靠性,对通讯总线的实时性和确定性提出了更高的要求。在现有航空发动机分布式控制系统CA N总线的研究成果基础上,提出将时间触发TTCA N总线应用于发动机分布式控制通讯总线的设想。针对航空发动机分布式控制系统平台讨论了TTCA N总线可行的通讯方案,给出TTCA N网络节点详细软件和硬件设计,并建立了通信试验平台。试验结果表明:TTCA N总线对于航空发动机分布式控制系统而言具有良好应用前景。
航空发动机;分布式控制;TTCA N总线;发动机数字控制;数字总线控制器硬件;数字总线控制器软件
hardware;digital bus controller software
符号表
Ign 点火器
LOD 火焰探测器
NL风扇转速
NH高压压气机转速
P 压力
T 温度
Wf燃油流量
A8尾喷管面积
α1风扇进气可调导流叶片
α2高压压气机进气可调导流叶片
下标
1 风扇进口截面
2 高压压气机进口截面
3 高压压气机出口截面
5 低压涡轮进口截面
6 加力燃烧室进口
AB 加力燃烧室
fb 执行机构反馈传感器信号
0 引言
近30年来,航空发动机控制系统已经从最初的机械液压系统逐步发展为今天的全权限数字电子控制器(FADEC),形成集中式控制结构。但随着对航空发动机数字控制器性能以及减轻控制系统质量需求的提高,分布式控制系统成为近年来国内外的研究热点[1-3]。在分布式控制中,各控制器之间的通讯总线的设计将关系到发动机质量、成本以及系统的适应性[4]。在航空发动机控制系统通讯协议中,除了现在已经得到广泛应用的总线,如MIL-STD-1553和ARINC等,CAN总线也被认为具有很好的应用前景[5]。CAN总线以其自身优点在各个工业领域控制中已得到广泛应用。自20世纪90年代起,诸多国内外的研究人员就开始考虑将CAN总线应用于航空发动机中,并取得了良好的成果[6]。然而,由于CAN网络本质上是1种事件触发协议,不满足严格实时控制需求,当控制总线上报文传输增多总线负载变大,报文延迟时间就会随之增大。为保证总线上报文传输的确定性并且提升总线的利用率,Führer和Hartwich等学者在CAN总线原有的物理层和数据链路层之上引入1个新的会话层协议以支持时间触发调度,并且制定了时间触发CAN网络通讯协议,即TTCAN[7-9]。
本文以现有航空发动机上CAN总线的研究为基础,通过软硬件结合方式实现TTCAN协议,对CAN总线的实时性加以改进,针对航空发动机分布式控制结构给出相应的通讯调度设计,使其能够进一步满足航空发动机分布式控制总线的需求。
1 基于DSP2812和MCP2515的TTCAN节点设计
1.1 硬件设计
TTCAN作为1个建立在CAN总线底层通讯协议基础上的高层协议,其同CAN协议享有完全相同的物理层和数据链路层(ISO 11898-1)。TTCAN协议中定义了2种定时精度级别,即level 1和level 2。
TTCAN level 1相较于level2虽然定时精度稍低,但是在硬件上,只需要在CAN总线的基础上增加具有基于本地时钟的时间触发功能,并根据当前总线状态对此时钟的捕获机制即可实现TTCAN level1。现有大多数CAN控制器都具有上述功能以部分兼容TTCAN,例如单触发发送以及对报文起始帧(SOF)的监测等等。因此,基于CAN控制器,采取软硬件结合方法实现TTCAN的level 1是可行的。针对TTCAN level1在航空发动机DSC通讯总线上的应用展开探索性研究。
选用 TI公司的 TMS320F2812 DSP(简称DSP2812)作为节点的处理器,DSP2812自身具有功能强大的eCAN模块,支持CAN2.0B标准。根据TTCAN协议,网络中任意1个节点在发送或接收任何报文时,都需要在这个报文的起始帧(SOF)采样时刻,捕获节点本地计数器的当前值,且这个过程必须通过硬件完成。但是,eCAN难以监控总线的SOF信号。在此引入微芯公司MCP2515CAN控制器。DSP作为主机通过SPI向MCP2515传输命令和数据,完成报文发送和接受。考虑到通过MCP2515向总线上发送数据时,每读写8位数据都需要额外传输16位命令和地址。根据节点数据包格式,1帧报文的数据域由64位组成,因此,主、从节点通过SPI总线交换1次数据中实际需要传输192位。设SPI最大传输速率为10 Mbps,那么对于1帧数据报文从发送到接收需要增加额外的40 μs,这近乎是传输速率为1 Mbps的CAN总线报文传输时间的三分之一,不满足实时性要求。因而,仅采用上述方式实现TTCAN是不合适的。
为了实现总线各个节点的时间同步的同时,尽可能减小由于硬件所带来额外时间开销,在此提出eCAN和MCP2515相结合的实现TTCAN的硬件方案。采用DSP2812中的eCAN模块发送/接收总线报文。由于数据交换是在DSP的内部存储空间中完成,因此,可以避免在SPI总线上的时间消耗。将MCP2515控制器的CLKOUT/SOF引脚的接入DSP的事件管理器(EV)捕获引脚CAP。每个报文的起始帧时刻,SOF引脚触发高电平,EV捕获到该高电平后,将本地定时器的时间(Local_Time)存放在捕获寄存器(CAP_FIFO)中。当网络中各节点接收到参考报文时即可获得该报文起始帧的时间,以此时间为基准同步网络收发。在硬件电路中采用SN65VP230作为总线驱动芯片,将逻辑信号转换为CAN电路中的CAN_H和CAN_L电平。基于DSP2812和MCP2515 的TTCAN总线通讯节点硬件结构如图1所示。
图1 TTCAN节点通讯部分硬件
1.2 软件设计
TTCAN的底层CAN协议已由DSP的eCAN模块的硬件实现,所以在软件中只需要设计TTCAN的高层协议,这也是TTCAN的关键部分。TTCAN高层协议的软件设计中主要包括时间同步,事件启动发送功能以及仲裁窗口容错设计等几个关键点。
在TTCAN协议时间同步原理中[10],需用1个本地定时器(Local_Time)调度报文发送和接收,并且通过时间主节点发送参考报文的方式实现从节点和主节点的同步。每个节点本地定时器都是基于1个相同的网络单位时间(NTU),对于level1精度而言NTU就是CAN总线位时间。当节点发送或接收任何报文时,会将报文的起始帧(SOF)时刻对应的本地时间保存在同步寄存器(Snyc_Mark)中,在接收/发送参考报文时 Snyc_Mark的值将保存到同步寄存器(Ref_Mark)中,并通过式(1)计算循环时间TC。
通过TC来同步网络中的各节点时间,当循环时间TC等于节点的某一时间标记(T)时,即触发执行相应的发送或接收任务。TTCAN总线同步原理如图2所示。
图2 TTCAN总线同步原理
针对TTCAN时间同步的软件设计,采用DSP2812事件管理器中的16位T1定时器作为本地定时器(TL),且在每一帧报文SOF信号触发时捕获T1定时器的值。为充分利用DSP处理器资源,采用定时器比较中断方式收发报文,处理器只在适当时刻向eCAN模块发送指令。当1个基本循环(Basic Cycle)开始同步,节点判断接收到有效参考报文时,将CAP_FIFO中保存的参考报文SOF时刻的定时器值转存至 Ref_Mark中,并根据消息矩阵(System Matrix)中的第n个时间标记(TM_n)更新定时器比较寄存器(TCM P)的值为
当定时器的值TL满足
即产生硬件定时器中断,对比式(1)的同步原理,此时有
在某节点进入定时器中断服务程序时,将执行消息矩阵中TM_n对应发送或接收某报文的操作,若是主节点还需要判断是否发送参考报文。当相应操作完成之后,根据第n+1个时间标记(TM_n+1)更新TCM P,从而完成1次TTCAN网络同步。时间同步方式如图3所示。
图3 时间同步方式
除上述时间触发功能外,在软件设计中通过TTCAN_EN标示符实现事件异步启动发送功能。当从节点上电或完成1个基本循环之后复位TTCAN_EN跳过发送和接收,即暂时关闭TTCAN通讯模块,自动进入等待状态,直至再次接收到有效参考报文。当主节点需要在循环中插入时隙时,会在发送的参考报文中将Next_is_Gap位置位,表示完成本次基本循环之后将暂停发送参考报文,直到开启下一基本循环。如果从节点接收到参考报文Next_is_Gap位为0,且等待超时,则表明总线故障,从节点会自行进入错误处理模式。
仲裁窗口容错指的是在仲裁窗中发送出错报文和事件触发报文。为保证TTCAN通讯的确定性,专属时间窗中的所有报文只允许发送1次,一旦出错禁止在专属时间窗中自动重发,出错的报文和事件触发的报文将留到下一个仲裁时间窗中发送,通过报文优先级和CAN总线位仲裁机制竞争获得总线的访问权。软件设计中,节点启动发送之后,处理器会在相应时刻检查eCAN寄存器判断本次发送是否成功,如果发送失败则将本次待发数据存入内存,等待在下一个仲裁窗口中发送失败报文或事件触发报文。
基于上述设计思想,TTCAN协议的软件流程如图4所示。
图4 TTCAN通讯软件设计流程
2 基于TTCAN的发动机分布式通讯总线实验平台
基于上述设计,面向航空发动机过渡分布式控制结构构建TTCAN总线硬件实验平台。过渡分布式控制系统结构如图5所示。由图可知控制系统中智能传感器和智能执行机构等智能节点挂载在总线上,通过点对点的通讯模式实现FADEC和智能节点间的数据交换。考虑发动机传感器信号及执行机构信号的精度,数据报文选用29位的仲裁域和64位数据域。数据域前32位表示节点信息,后32位为传感器采样数据。进一步考虑到CRC循环校验,因而1条数据报文最长为156位。参考报文时间窗定为106位时间。
图5 某涡扇发动机过渡分布式控制系统
以某涡扇发动机为例,图中给出的其主要传感器和执行机构。根据传感器和执行机构建立过渡分布式系统TTCAN总线的消息矩阵。考虑系统最低需求,即在1个控制周期中所有传感器的数据向FADEC传输1次数据,且FADEC向某个执行机构发送1次数据。同时考虑到先传输各控制功能实现中所必须的信号,如控制计算所须的P3和P6等,再传输监控信号以及位置传感器信号。FADEC完成控制功能计算后发送执行机构指令信号。因而,系统消息矩阵初步设计见表1。
表1 某涡扇发动机TTCAN消息矩阵
表1中Ref为参考报文窗口,Arb为仲裁窗口,Free为空闲时间窗,为更多智能传感器、智能执行机构及其他智能元件预留时间窗。依据上述消息矩阵,当总线工作速率为1 Mb时,设参考消息时间窗长度为106 μs,数据报文为160 μs,则1个基本循环所需时间为
假设能够合理安排FADEC计算所需时间,使总线中数据连续传输,对于20~25 μs的发动机控制周期而言总线波特率最低可以调整至250 kbps,这样总线传输将具有更高的可靠性。
3 试验结果及分析
由于受限于节点硬件数量,在此仅选取P3、P6智能传感器以及控制A8智能执行机构模拟发动机控制传感器和执行机构,且保留表1消息矩阵中的其他智能元件专属时间窗作为空闲时间窗,并利用FADEC节点监控总线报文,开展TTCAN总线通讯试验,试验系统如图6所示。在总线通讯中FADEC节点作为时间主机向总线发送参考报文。试验中选择采用1 Mbps波特率,1个基本循环中的传输结果见表2,其中时间为FADCE节点的本地定时器时间。试验结果表明:每个数据报文都按照消息矩阵规定的时间窗发送和接收,且数据发送和接收正常,所有节点都能够按照TTCAN协议正常工作。
图6 试验系统
表2 TTCAN总线1个周期试验数据
考虑发动机控制实时性要求,分析在1Mb传输速率下周期报文的收发实时性。试验中TTCAN总线上CAN_H信号和SOF信号如图7所示,其中第1个CAN_H信号为主机发送的参考报文,之后为P3和P6节点在完成同步后发送的数据报文。每1帧信号相对时间见表3。
图7 TTCAN总线CAN_H信号和SOF信号
表3 每帧信号对应时间
由于TTCAN网络中利用参考报文产生的SOF信号同步所有节点的发送和接收,即可以认为SOF信号是网络调度时基零点。但从表中可知网络中所有节点发送报文的SOF信号都出现约2.6 μs的延时。eCAN的发送延时如图8所示,SOF信号采样延时如图9所示。
图8 eCAN的发送延时
图9 SOF信号采样延时
分析每一报文起始时刻波形(图8、9)可知延时主要来自2方面原因。一方面是eCAN在得到发送指令之后生成报文过程中存在约1.8 μs延时;另一方面,试验中设置的SOF信号是在总线上起始帧的80%处采样,这就可能造成约0.8 μs的延时。这种由元器件导致的延时不可避免,其大小可以接受,但在计算1个基本循环时间时需要考虑这种元器件的延时。
4 结束语
基于航空发动机分布式控制系统总线需求,提出TTCAN总线应用于航空发动机分布式控制的设想,通过软硬件设计构建了某涡扇发动机过渡分布式控制通讯总线实验平台,通过实验得到以下结论:
采用DSP2812中eCAN和MP2515相结合的TTCAN总线节点硬件结构能够实现level1级精度的总线同步,并能有效减少通讯中硬件所带来的额外时间开销。通过软件设计能够实现总线上各节点的时间同步、事件启动发送功能以及仲裁窗口容错。通讯中,各节点能够按照所设计的系统矩阵在规定的时间窗中正确接收/发送报文。因而,TTCAN总线可作为航空发动机分布式控制系统通讯候选总线开展进一步研究。
[1]Culley D,Thomas R.Concepts for distributed engine control [R].NASA-TM-2007-214994.
[2]Culley D. Transition in gas turbine control system architecture: modular distributed and embedded[R]. NASA-TM-2010-216806.
[3]郭迎清,章泓.航空发动机分布式控制系统综述[J].航空发动机,2003,29(3):52-55. GUO Yingqing,ZHANG Hong.Survey of the distributedcontrol system for an aeroengine [J].Aeroengine,2003,29 (3):52-55.(in Chinese)
[4]Culley D,Behbahani A.Communication needs assessment for distributed turbine engine control [R]. NASA-TM-2008-215419.
[5]黄金泉,徐科.航空发动机分布式控制系统的结构分析[J].航空动力学报,2003,18(5):698-704. HUANG Jinquan,XU Ke.Structure analysis distributed control systems for aeroengines:a survey[J].Joural of Aerospace Power,2003,18(5):698-704.(in Chinese)
[6]Chen L,Guo Y.Design of the distributed control system based on CAN bus[J].Computer and Information Science,2011,4 (4):34-40.
[7]International Organization for Standardization.ISO11898-4 Road vehicles area network (CAN)-Part 4:time-triggered communication [S].Geneva:International Organization for Standardization,2004:46-50.
[8]Leen G,Heffernan D.TTCAN:a new time-triggered controller area network[J].Microprocessors and Microsystems,2002,26:77-94.
[9] Führer T, Muller B, Dieterle W. Time-triggered CAN-TTCAN:time-triggered communication on CAN[C]// Torino:Proc.6th International CAN Conference(ICC6), 2000:70-72.
[10]Hartwich F,Muller B.Timing in the TTCAN Network[C]//Las Vegas:8th International CAN Conference(ICC),2002:32-34.
Design of TTCAN Node for Aeroengine Distributed Control System Based on DSP
GUAN Yue,PAN Mu-xuan
(College of Energy and Power Engineering, Nanjing University of Aeronautics and Astronautics,Nanjing 200016,China)
The real-time and deterministic behavior become an important request for mmunication bus to guarantee the reliability of the system in the development of aeroengine Distributed Control System (DCS).The Time-Triggered CAN (TTCAN)protocol used in DCS data communication bus was proposed.Details of software and hardware design of TTCAN nodes and TTCAN system matrix design for aeroengine DCS were discussed. The hardware prototype of aeroengine communication bus for testing was established.The experiment result shows that TTCAN protocol can be a good foreground for future aeroengine DCS communication bus.
aeroengine;Distributed Control System;Time-Triggered CAN protocol;engine digital control;digital bus controller
关越(1989),男,在读硕士研究生,研究方向为航空发动机分布式控制。
航空基金(2011ZB52021)、中央高校基本科研业务费青年科技创新基金(NZ2012112)、江苏高校优势学科建设工程资助
2012-09-16 co