關 越,潘慕絢
(南京航空航天大學能源與動力學院,南京210016)
基于DSP的航空發(fā)動機分布式控制TTCAN總線的節(jié)點設計
關 越,潘慕絢
(南京航空航天大學能源與動力學院,南京210016)
在航空發(fā)動機分布式控制系統(tǒng)的研究過程中,為保證系統(tǒng)的可靠性,對通訊總線的實時性和確定性提出了更高的要求。在現(xiàn)有航空發(fā)動機分布式控制系統(tǒng)CA N總線的研究成果基礎上,提出將時間觸發(fā)TTCA N總線應用于發(fā)動機分布式控制通訊總線的設想。針對航空發(fā)動機分布式控制系統(tǒng)平臺討論了TTCA N總線可行的通訊方案,給出TTCA N網(wǎng)絡節(jié)點詳細軟件和硬件設計,并建立了通信試驗平臺。試驗結果表明:TTCA N總線對于航空發(fā)動機分布式控制系統(tǒng)而言具有良好應用前景。
航空發(fā)動機;分布式控制;TTCA N總線;發(fā)動機數(shù)字控制;數(shù)字總線控制器硬件;數(shù)字總線控制器軟件
hardware;digital bus controller software
符號表
Ign 點火器
LOD 火焰探測器
NL風扇轉速
NH高壓壓氣機轉速
P 壓力
T 溫度
Wf燃油流量
A8尾噴管面積
α1風扇進氣可調導流葉片
α2高壓壓氣機進氣可調導流葉片
下標
1 風扇進口截面
2 高壓壓氣機進口截面
3 高壓壓氣機出口截面
5 低壓渦輪進口截面
6 加力燃燒室進口
AB 加力燃燒室
fb 執(zhí)行機構反饋傳感器信號
近30年來,航空發(fā)動機控制系統(tǒng)已經(jīng)從最初的機械液壓系統(tǒng)逐步發(fā)展為今天的全權限數(shù)字電子控制器(FADEC),形成集中式控制結構。但隨著對航空發(fā)動機數(shù)字控制器性能以及減輕控制系統(tǒng)質量需求的提高,分布式控制系統(tǒng)成為近年來國內外的研究熱點[1-3]。在分布式控制中,各控制器之間的通訊總線的設計將關系到發(fā)動機質量、成本以及系統(tǒng)的適應性[4]。在航空發(fā)動機控制系統(tǒng)通訊協(xié)議中,除了現(xiàn)在已經(jīng)得到廣泛應用的總線,如MIL-STD-1553和ARINC等,CAN總線也被認為具有很好的應用前景[5]。CAN總線以其自身優(yōu)點在各個工業(yè)領域控制中已得到廣泛應用。自20世紀90年代起,諸多國內外的研究人員就開始考慮將CAN總線應用于航空發(fā)動機中,并取得了良好的成果[6]。然而,由于CAN網(wǎng)絡本質上是1種事件觸發(fā)協(xié)議,不滿足嚴格實時控制需求,當控制總線上報文傳輸增多總線負載變大,報文延遲時間就會隨之增大。為保證總線上報文傳輸?shù)拇_定性并且提升總線的利用率,F(xiàn)ührer和Hartwich等學者在CAN總線原有的物理層和數(shù)據(jù)鏈路層之上引入1個新的會話層協(xié)議以支持時間觸發(fā)調度,并且制定了時間觸發(fā)CAN網(wǎng)絡通訊協(xié)議,即TTCAN[7-9]。
本文以現(xiàn)有航空發(fā)動機上CAN總線的研究為基礎,通過軟硬件結合方式實現(xiàn)TTCAN協(xié)議,對CAN總線的實時性加以改進,針對航空發(fā)動機分布式控制結構給出相應的通訊調度設計,使其能夠進一步滿足航空發(fā)動機分布式控制總線的需求。
1.1 硬件設計
TTCAN作為1個建立在CAN總線底層通訊協(xié)議基礎上的高層協(xié)議,其同CAN協(xié)議享有完全相同的物理層和數(shù)據(jù)鏈路層(ISO 11898-1)。TTCAN協(xié)議中定義了2種定時精度級別,即level 1和level 2。
TTCAN level 1相較于level2雖然定時精度稍低,但是在硬件上,只需要在CAN總線的基礎上增加具有基于本地時鐘的時間觸發(fā)功能,并根據(jù)當前總線狀態(tài)對此時鐘的捕獲機制即可實現(xiàn)TTCAN level1。現(xiàn)有大多數(shù)CAN控制器都具有上述功能以部分兼容TTCAN,例如單觸發(fā)發(fā)送以及對報文起始幀(SOF)的監(jiān)測等等。因此,基于CAN控制器,采取軟硬件結合方法實現(xiàn)TTCAN的level 1是可行的。針對TTCAN level1在航空發(fā)動機DSC通訊總線上的應用展開探索性研究。
選用 TI公司的 TMS320F2812 DSP(簡稱DSP2812)作為節(jié)點的處理器,DSP2812自身具有功能強大的eCAN模塊,支持CAN2.0B標準。根據(jù)TTCAN協(xié)議,網(wǎng)絡中任意1個節(jié)點在發(fā)送或接收任何報文時,都需要在這個報文的起始幀(SOF)采樣時刻,捕獲節(jié)點本地計數(shù)器的當前值,且這個過程必須通過硬件完成。但是,eCAN難以監(jiān)控總線的SOF信號。在此引入微芯公司MCP2515CAN控制器。DSP作為主機通過SPI向MCP2515傳輸命令和數(shù)據(jù),完成報文發(fā)送和接受。考慮到通過MCP2515向總線上發(fā)送數(shù)據(jù)時,每讀寫8位數(shù)據(jù)都需要額外傳輸16位命令和地址。根據(jù)節(jié)點數(shù)據(jù)包格式,1幀報文的數(shù)據(jù)域由64位組成,因此,主、從節(jié)點通過SPI總線交換1次數(shù)據(jù)中實際需要傳輸192位。設SPI最大傳輸速率為10 Mbps,那么對于1幀數(shù)據(jù)報文從發(fā)送到接收需要增加額外的40 μs,這近乎是傳輸速率為1 Mbps的CAN總線報文傳輸時間的三分之一,不滿足實時性要求。因而,僅采用上述方式實現(xiàn)TTCAN是不合適的。
為了實現(xiàn)總線各個節(jié)點的時間同步的同時,盡可能減小由于硬件所帶來額外時間開銷,在此提出eCAN和MCP2515相結合的實現(xiàn)TTCAN的硬件方案。采用DSP2812中的eCAN模塊發(fā)送/接收總線報文。由于數(shù)據(jù)交換是在DSP的內部存儲空間中完成,因此,可以避免在SPI總線上的時間消耗。將MCP2515控制器的CLKOUT/SOF引腳的接入DSP的事件管理器(EV)捕獲引腳CAP。每個報文的起始幀時刻,SOF引腳觸發(fā)高電平,EV捕獲到該高電平后,將本地定時器的時間(Local_Time)存放在捕獲寄存器(CAP_FIFO)中。當網(wǎng)絡中各節(jié)點接收到參考報文時即可獲得該報文起始幀的時間,以此時間為基準同步網(wǎng)絡收發(fā)。在硬件電路中采用SN65VP230作為總線驅動芯片,將邏輯信號轉換為CAN電路中的CAN_H和CAN_L電平。基于DSP2812和MCP2515 的TTCAN總線通訊節(jié)點硬件結構如圖1所示。

圖1 TTCAN節(jié)點通訊部分硬件
1.2 軟件設計
TTCAN的底層CAN協(xié)議已由DSP的eCAN模塊的硬件實現(xiàn),所以在軟件中只需要設計TTCAN的高層協(xié)議,這也是TTCAN的關鍵部分。TTCAN高層協(xié)議的軟件設計中主要包括時間同步,事件啟動發(fā)送功能以及仲裁窗口容錯設計等幾個關鍵點。
在TTCAN協(xié)議時間同步原理中[10],需用1個本地定時器(Local_Time)調度報文發(fā)送和接收,并且通過時間主節(jié)點發(fā)送參考報文的方式實現(xiàn)從節(jié)點和主節(jié)點的同步。每個節(jié)點本地定時器都是基于1個相同的網(wǎng)絡單位時間(NTU),對于level1精度而言NTU就是CAN總線位時間。當節(jié)點發(fā)送或接收任何報文時,會將報文的起始幀(SOF)時刻對應的本地時間保存在同步寄存器(Snyc_Mark)中,在接收/發(fā)送參考報文時 Snyc_Mark的值將保存到同步寄存器(Ref_Mark)中,并通過式(1)計算循環(huán)時間TC。

通過TC來同步網(wǎng)絡中的各節(jié)點時間,當循環(huán)時間TC等于節(jié)點的某一時間標記(T)時,即觸發(fā)執(zhí)行相應的發(fā)送或接收任務。TTCAN總線同步原理如圖2所示。

圖2 TTCAN總線同步原理
針對TTCAN時間同步的軟件設計,采用DSP2812事件管理器中的16位T1定時器作為本地定時器(TL),且在每一幀報文SOF信號觸發(fā)時捕獲T1定時器的值。為充分利用DSP處理器資源,采用定時器比較中斷方式收發(fā)報文,處理器只在適當時刻向eCAN模塊發(fā)送指令。當1個基本循環(huán)(Basic Cycle)開始同步,節(jié)點判斷接收到有效參考報文時,將CAP_FIFO中保存的參考報文SOF時刻的定時器值轉存至 Ref_Mark中,并根據(jù)消息矩陣(System Matrix)中的第n個時間標記(TM_n)更新定時器比較寄存器(TCM P)的值為

當定時器的值TL滿足

即產(chǎn)生硬件定時器中斷,對比式(1)的同步原理,此時有

在某節(jié)點進入定時器中斷服務程序時,將執(zhí)行消息矩陣中TM_n對應發(fā)送或接收某報文的操作,若是主節(jié)點還需要判斷是否發(fā)送參考報文。當相應操作完成之后,根據(jù)第n+1個時間標記(TM_n+1)更新TCM P,從而完成1次TTCAN網(wǎng)絡同步。時間同步方式如圖3所示。

圖3 時間同步方式
除上述時間觸發(fā)功能外,在軟件設計中通過TTCAN_EN標示符實現(xiàn)事件異步啟動發(fā)送功能。當從節(jié)點上電或完成1個基本循環(huán)之后復位TTCAN_EN跳過發(fā)送和接收,即暫時關閉TTCAN通訊模塊,自動進入等待狀態(tài),直至再次接收到有效參考報文。當主節(jié)點需要在循環(huán)中插入時隙時,會在發(fā)送的參考報文中將Next_is_Gap位置位,表示完成本次基本循環(huán)之后將暫停發(fā)送參考報文,直到開啟下一基本循環(huán)。如果從節(jié)點接收到參考報文Next_is_Gap位為0,且等待超時,則表明總線故障,從節(jié)點會自行進入錯誤處理模式。
仲裁窗口容錯指的是在仲裁窗中發(fā)送出錯報文和事件觸發(fā)報文。為保證TTCAN通訊的確定性,專屬時間窗中的所有報文只允許發(fā)送1次,一旦出錯禁止在專屬時間窗中自動重發(fā),出錯的報文和事件觸發(fā)的報文將留到下一個仲裁時間窗中發(fā)送,通過報文優(yōu)先級和CAN總線位仲裁機制競爭獲得總線的訪問權。軟件設計中,節(jié)點啟動發(fā)送之后,處理器會在相應時刻檢查eCAN寄存器判斷本次發(fā)送是否成功,如果發(fā)送失敗則將本次待發(fā)數(shù)據(jù)存入內存,等待在下一個仲裁窗口中發(fā)送失敗報文或事件觸發(fā)報文。
基于上述設計思想,TTCAN協(xié)議的軟件流程如圖4所示。

圖4 TTCAN通訊軟件設計流程
基于上述設計,面向航空發(fā)動機過渡分布式控制結構構建TTCAN總線硬件實驗平臺。過渡分布式控制系統(tǒng)結構如圖5所示。由圖可知控制系統(tǒng)中智能傳感器和智能執(zhí)行機構等智能節(jié)點掛載在總線上,通過點對點的通訊模式實現(xiàn)FADEC和智能節(jié)點間的數(shù)據(jù)交換。考慮發(fā)動機傳感器信號及執(zhí)行機構信號的精度,數(shù)據(jù)報文選用29位的仲裁域和64位數(shù)據(jù)域。數(shù)據(jù)域前32位表示節(jié)點信息,后32位為傳感器采樣數(shù)據(jù)。進一步考慮到CRC循環(huán)校驗,因而1條數(shù)據(jù)報文最長為156位。參考報文時間窗定為106位時間。

圖5 某渦扇發(fā)動機過渡分布式控制系統(tǒng)
以某渦扇發(fā)動機為例,圖中給出的其主要傳感器和執(zhí)行機構。根據(jù)傳感器和執(zhí)行機構建立過渡分布式系統(tǒng)TTCAN總線的消息矩陣。考慮系統(tǒng)最低需求,即在1個控制周期中所有傳感器的數(shù)據(jù)向FADEC傳輸1次數(shù)據(jù),且FADEC向某個執(zhí)行機構發(fā)送1次數(shù)據(jù)。同時考慮到先傳輸各控制功能實現(xiàn)中所必須的信號,如控制計算所須的P3和P6等,再傳輸監(jiān)控信號以及位置傳感器信號。FADEC完成控制功能計算后發(fā)送執(zhí)行機構指令信號。因而,系統(tǒng)消息矩陣初步設計見表1。

表1 某渦扇發(fā)動機TTCAN消息矩陣
表1中Ref為參考報文窗口,Arb為仲裁窗口,F(xiàn)ree為空閑時間窗,為更多智能傳感器、智能執(zhí)行機構及其他智能元件預留時間窗。依據(jù)上述消息矩陣,當總線工作速率為1 Mb時,設參考消息時間窗長度為106 μs,數(shù)據(jù)報文為160 μs,則1個基本循環(huán)所需時間為

假設能夠合理安排FADEC計算所需時間,使總線中數(shù)據(jù)連續(xù)傳輸,對于20~25 μs的發(fā)動機控制周期而言總線波特率最低可以調整至250 kbps,這樣總線傳輸將具有更高的可靠性。
由于受限于節(jié)點硬件數(shù)量,在此僅選取P3、P6智能傳感器以及控制A8智能執(zhí)行機構模擬發(fā)動機控制傳感器和執(zhí)行機構,且保留表1消息矩陣中的其他智能元件專屬時間窗作為空閑時間窗,并利用FADEC節(jié)點監(jiān)控總線報文,開展TTCAN總線通訊試驗,試驗系統(tǒng)如圖6所示。在總線通訊中FADEC節(jié)點作為時間主機向總線發(fā)送參考報文。試驗中選擇采用1 Mbps波特率,1個基本循環(huán)中的傳輸結果見表2,其中時間為FADCE節(jié)點的本地定時器時間。試驗結果表明:每個數(shù)據(jù)報文都按照消息矩陣規(guī)定的時間窗發(fā)送和接收,且數(shù)據(jù)發(fā)送和接收正常,所有節(jié)點都能夠按照TTCAN協(xié)議正常工作。

圖6 試驗系統(tǒng)

表2 TTCAN總線1個周期試驗數(shù)據(jù)
考慮發(fā)動機控制實時性要求,分析在1Mb傳輸速率下周期報文的收發(fā)實時性。試驗中TTCAN總線上CAN_H信號和SOF信號如圖7所示,其中第1個CAN_H信號為主機發(fā)送的參考報文,之后為P3和P6節(jié)點在完成同步后發(fā)送的數(shù)據(jù)報文。每1幀信號相對時間見表3。

圖7 TTCAN總線CAN_H信號和SOF信號

表3 每幀信號對應時間
由于TTCAN網(wǎng)絡中利用參考報文產(chǎn)生的SOF信號同步所有節(jié)點的發(fā)送和接收,即可以認為SOF信號是網(wǎng)絡調度時基零點。但從表中可知網(wǎng)絡中所有節(jié)點發(fā)送報文的SOF信號都出現(xiàn)約2.6 μs的延時。eCAN的發(fā)送延時如圖8所示,SOF信號采樣延時如圖9所示。

圖8 eCAN的發(fā)送延時

圖9 SOF信號采樣延時
分析每一報文起始時刻波形(圖8、9)可知延時主要來自2方面原因。一方面是eCAN在得到發(fā)送指令之后生成報文過程中存在約1.8 μs延時;另一方面,試驗中設置的SOF信號是在總線上起始幀的80%處采樣,這就可能造成約0.8 μs的延時。這種由元器件導致的延時不可避免,其大小可以接受,但在計算1個基本循環(huán)時間時需要考慮這種元器件的延時。
基于航空發(fā)動機分布式控制系統(tǒng)總線需求,提出TTCAN總線應用于航空發(fā)動機分布式控制的設想,通過軟硬件設計構建了某渦扇發(fā)動機過渡分布式控制通訊總線實驗平臺,通過實驗得到以下結論:
采用DSP2812中eCAN和MP2515相結合的TTCAN總線節(jié)點硬件結構能夠實現(xiàn)level1級精度的總線同步,并能有效減少通訊中硬件所帶來的額外時間開銷。通過軟件設計能夠實現(xiàn)總線上各節(jié)點的時間同步、事件啟動發(fā)送功能以及仲裁窗口容錯。通訊中,各節(jié)點能夠按照所設計的系統(tǒng)矩陣在規(guī)定的時間窗中正確接收/發(fā)送報文。因而,TTCAN總線可作為航空發(fā)動機分布式控制系統(tǒng)通訊候選總線開展進一步研究。
[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]郭迎清,章泓.航空發(fā)動機分布式控制系統(tǒng)綜述[J].航空發(fā)動機,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]黃金泉,徐科.航空發(fā)動機分布式控制系統(tǒng)的結構分析[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),男,在讀碩士研究生,研究方向為航空發(fā)動機分布式控制。
航空基金(2011ZB52021)、中央高校基本科研業(yè)務費青年科技創(chuàng)新基金(NZ2012112)、江蘇高校優(yōu)勢學科建設工程資助
2012-09-16 co