張文豪,張天宏,陳飛,袁元
(南京航空航天大學 江蘇省航空動力系統重點實驗室,南京 210016)
?
張文豪,張天宏,陳飛,袁元
(南京航空航天大學 江蘇省航空動力系統重點實驗室,南京 210016)
摘要:TTP/C總線是一種基于時間觸發的數據總線,具有嚴格的時間確定性和高度的通信可靠性。本文利用Zynq芯片的程序處理單元和邏輯處理單元,開發了一種高度集成的航空發動機分布式控制系統TTP/C智能節點。通過開展航空發動機分布式控制硬件在環試驗,智能節點的通信可靠性和實時性以及節點的功能得到了驗證,能夠滿足航空發動機分布式控制需求。
關鍵詞:Zynq;TTP/C;智能節點;硬件在環;分布式控制系統
引言
控制系統的安全性一直是航空航天及汽車工業等領域的研究熱點之一。TTP/C數據總線以其延遲邊界確定、實時性強、可靠性高的特點[1],得到了越來越多的高校和研究機構的關注。在國外,Hamilton Sundstrand在Boeing 787的動力系統和環控系統中均采用了TTTech公司的TTP/C總線解決方案;Honeywell的MAC平臺從2000年開始采用TTTech提供的TTP通信解決方案,該MAC平臺應用在2004年首飛的Aermacchi M-346教練機上以及2006年首飛的Lockheed Martin F-16上;NASA已經將TTEthernet技術用在獵戶座載人搜索飛行器(Orion Crew Exploration Vehicle)上。在國內,TTP/C協議的研究主要集中在基于TTP/C總線的汽車控制系統領域,而且大多數研究都處于理論研究階段,還沒有一個商業化的產品。在這種背景下,本文自主開發設計了一種基于Zynq的分布式TTP/C控制器智能節點試驗平臺。
傳統的SOPC設計無外乎兩種方式:①在FPGA上設計一個軟核,比如Altera的NiosII、Xilinx的MicroBlaze等;②當單個軟核無法滿足要求時,將FPGA和片外處理器芯片(比如ARM、DSP等)聯合使用。Zynq-7000系列芯片是由Xilinx公司推出的可擴展處理平臺[2],該平臺在單芯片內部集成了雙核ARM Cortex-A9的處理系統(Processing System,PS)和可編程邏輯(Programmable Logic,PL)。相對于傳統的SOPC,這種架構不僅解決了軟核處理性能低、耗用FPGA資源多的難題,而且避免了FPGA和傳統處理器芯片片外通信導致的傳輸帶寬瓶頸的困難。
本文充分利用Zynq平臺內PL資源并行處理的優勢,實現TTP/C總線控制器的底層硬件設計;利用兩個ARM核分別作為TTP/C總線的協議處理器和分布式控制系統的主機處理器來實現TTP/C智能節點的設計;FPGA和ARM之間通過AXI總線進行數據通信[3],ARM雙核之間通過OCM(On-Chip Memory,片上存儲器)和軟件中斷來進行實時通信。
1TTP/C總線的基本架構及運行機制
TTP/C通信系統的基本架構如圖1所示。在一個包含了n個智能節點的分布式控制系統中,n個智能節點構成了一個TTP/C集群;每個智能節點包括主機控制器、TTP/C總線協議控制器以及用于它們之間通信的CNI(Communication Net Interface,通信網絡接口)接口[4]3個部分。其中,MEDL(Message Description List,消息描述列表)是一個事先規劃好的總線時間調度列表,它將一個TDMA(Time Division Multiple Address,時分多路復用)周期等間距或不等間距地分成多個時間槽并分配給各個智能節點,每個智能節點在其分配的時間槽內可以占用通信通道來發送數據[5]。

圖1 TTP/C通信系統的基本架構
2智能節點設計
基于Zynq的智能節點的設計主要包括3個部分:主機控制器設計、協議控制器設計以及兩者之間通信的CNI接口設計。智能節點設計框圖如圖2所示,其中,實線表示時間信息的流向,虛線表示應用數據的流向;APU(Application Processing Unit,應用處理單元)是PS的核心部分,包括多核處理器、OCM、DMA控制器、GIC(Generic Interrupt Controller,通用中斷控制器)、多級緩存及其管理單元SCU(Snoop Control Unit,偵測控制單元)。
2.1主機控制器設計
主機控制器是智能節點內的功能單元,根據主機控制器在航空發動機分布式控制系統中的功能不同,可以將智能節點分為智能傳感器節點、中央處理節點和智能執行機構節點。智能傳感器節點的主機控制器負責采集航空發動機的被控制量(如發動機轉速)或發動機狀態量(如溫度),并對這些信號進行濾波、線性化、溫度補償、A/D轉換、冗余管理等相應處理,得到易于處理的數字量,再通過TTP/C總線控制器發送給中央處理節點;中央處理節點的主機控制器根據從智能傳感器節點獲得的航空發動機的相關信息和上位機給定的控制量,通過相應的控制算法計算出相應的輸出控制量(數字量),并傳輸給智能執行機構節點;智能執行機構節點的主機控制器將中央處理節點產生的控制量通過添加激勵、D/A轉換等解調處理,輸出模擬信號給執行機構,從而形成閉環控制,保證航空發動機的正常運行。
本文充分利用Zynq的硬件結構,使用PS內的一個ARM硬核CPU0來開發主機控制器,不僅提高了智能節點的集成度,而且解決了協議控制器和主機控制器片外傳輸存在瓶頸的難題。
2.2協議控制器設計
協議控制器是智能節點內的核心單元,也是各個智能節點之間進行通信的基本保證。如圖2所示,協議控制器包括協議處理器模塊、時間觸發模塊、集群啟動及時鐘同步模塊、冗余總線收發器模塊、RS-485物理層驅動模塊和BG(Bus Guardian,總線監視器)模塊。在協議控制器的開發過程中,本文充分利用Zynq內PL資源并行處理、靈活配置和PS硬核資源處理速度快的特點,分別對協議控制器的各個模塊加以實現。
時間觸發模塊包括MEDL列表和時間觸發器兩個部分,用來保證智能節點在分配的時間槽到來時能夠及時進行數據組幀并在總線上廣播數據;集群啟動模塊是為了系統上電后能夠盡快建立一個全局時鐘,實現各個智能節點之間的時間同步,而時鐘同步模塊則是用來保證這個全局時鐘在系統運行過程中不會出現較大偏差而導致時間槽混疊的現象發生。這些模塊對時鐘精度的要求十分苛刻,因此,本文將這些模塊放在具有嚴格時序規范的PL內實現。
BG模塊是協議控制器內一個獨立的模塊,它的作用是防止發生故障的智能節點在其時間槽之外廣播數據。BG實現原理是通過在發送時間段使能總線驅動,發送時間段外禁止總線驅動來實現對目標節點的阻塞故障隔離,它的工作時序如圖3所示。本文設計的BG采用經過同步算法校正的1 MHz標準時鐘進行計數,并參照調度列表實現對總線驅動器的使能和禁止[6]。
協議處理器模塊是協議控制器的核心,它的作用是通過AXI總線保證PL中各個硬件模塊之間的協調工作,并完成節點狀態轉換、隱式確認算法、故障注入及恢復等高級任務。考慮到對處理速度和任務切換等方面的要求較高,該模塊由PS中的ARM核CPU1來實現。
2.3CNI接口設計
CNI接口是主機控制器和協議控制器之間進行通信的樞紐,它的本質是一段兩個控制器可以進行分時交替訪問的公共存儲空間。在控制器設計時,采用APU內部帶有校驗功能的256 KB的雙端口OCM來實現這一功能,并通過Zynq內的軟件中斷來保證兩個控制器通信的實時性。需要注意的是,這部分OCM默認是可以作為處理器緩存使用的,為保證雙核傳輸的數據不受污染,使用前需要先禁止這部分存儲空間的緩存功能。

圖2 智能節點的硬件實現框圖

圖3 BG工作時序圖
3HIL試驗平臺的構建及試驗
3.1構建HIL試驗平臺
HIL(Hardware-In-the-Loop,硬件在環)仿真是發動機仿真試驗中常用的一種仿真手段,它擁有真實的I/O接口、控制器硬件設備以及虛擬的發動機模型(如航空發動機接口模擬器),系統的動態響應過程和實際系統的動態響應過程的時間進程十分接近,是一種置信度較高的控制算法測試驗證手段[7]。
轉速控制回路是航空發動機控制系統中的關鍵控制回路,其性能決定了發動機的動靜態特性。轉速控制回路包括伺服閥電流控制油針位置的小閉環回路和油針位置控制發動機轉速的大閉環回路,兩個閉環控制的原理框圖略——編者注。油針位置小閉環回路的作用是通過給定的油針位置Gtr和LVDT采集到的實際油針位置Gt形成閉環,并輸出控制電流給伺服閥來調節發動機的供油量;轉速閉環的原理是通過智能傳感器節點采集到的發動機實際轉速N和上位機給定的轉速Nr,計算出給定油針位置Gtr,再通過智能油針位置閉環節點調節供油量來控制發動機轉速。
本文構建了一種包含4個智能節點的HIL轉速閉環控制平臺,如圖4所示,并通過該試驗平臺對TTP/C智能節點的通信可靠性進行驗證。4個智能節點中,選擇一個作為智能傳感器節點,一個作為智能油針位置閉環節點,其余兩個作為中央處理節點(其中一個節點作為備份節點)。TTP/C集群的TDMA周期設置為航空發動機的主控制步長20 ms,每個節點分配5 ms的時間槽來占用TTP/C總線發送數據,如圖5所示。每個智能節點在各自分配的時間槽到來時,必須廣播本地節點的TTP/C協議控制器狀態信息,以保證TTP/C通信集群的正常運行;本地節點負責的發動機應用數據,可以由本地主機控制器負責的不同功能來加以區別。

圖4 基于TTP/C的HIL硬件試驗平臺

圖5 TTP/C分布式系統時間槽分配
3.2HIL試驗結果及分析
轉速閉環控制響應曲線、油針位置小閉環的響應曲線和伺服閥控制電流的輸出圖略——編者注。轉速和油針位置的量綱都采用百分比的形式,電液伺服閥控制電流范圍為-30~30 mA。該控制過程共分為5個階段:3個加速階段和2個減速階段。當上位機的給定轉速升高時,給定油針位置和控制電流也會隨之增加,使發動機的供油量增加,進而提高發動機的實際轉速;同理,當上位機減小給定轉速時,給定油針位置和控制電流也會隨之減小,發動機的供油量減少,發動機的實際轉速降低。在這5個階段中,通過轉速大閉環和油針位置小閉環的控制作用,能夠實現對航空發動機轉速量動靜態性能的良好控制,驗證了智能節點之間良好的通信能力。
結語
本文在Zynq平臺上自主設計實現了一種基于時間觸發的TTP/C智能節點,并搭建了HIL試驗平臺對智能節點的通信性能進行驗證。驗證結果表明,自主設計的智能節點在保證時鐘同步精度的基礎上,能夠確保各個節點之間實現無丟包無誤碼的數據傳輸,為進一步研究基于時間觸發的航空發動機分布式控制系統奠定了基礎。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
參考文獻
[1] Time-Triggered Protocol TTP/C High-Level Specification Document Protocol Version 1.1,2003.
[2] Xilinx推出可擴展處理平臺Zynq系列[J].單片機與嵌入式系統應用,2011(4):32.
[3] 牛盼情,康翔宇,何頂新.基于Zynq的PMSM驅動控制系統設計.單片機與嵌入式系統應用,2015(5):65-68.
[4] 劉冬冬,張天宏,陳建,等.TTP/C協議的關鍵特性研究[J].計算機測量與控制,2012,20(20):2769-1772.
[5] 陳建,劉冬冬,張天宏.基于TTP/C總線的開放式DEEC設計及PIL仿真驗證[J].航空動力學報,2014(12).
[6] 劉冬冬.開放式FADEC系統架構及可靠性建模技術研究[D].南京:南京航空航天大學,2013.
[7] 張天宏,殷彬彬,張鑫.基于Compact RIO/FPGA的超高速控制器快速原型設計與試驗驗證[J].航空發動機,2015,41(3).
張文豪、陳飛、袁元(碩士研究生),主要從事航空發動機控制系統設計與仿真研究;張天宏(教授),研究方向為嵌入式控制系統、系統控制與仿真。
(責任編輯:薛士然收修改稿日期:2015-12-26)

Zhang Wenhao,Zhang Tianhong,Chen Fei,Yuan Yuan
(Jiangsu Province Key Laboratory of Aerospace Power System,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China)
Abstract:TTP/C is a kind of time-triggered data bus with the characteristics of strict time certainty and high reliability.The program and logic processing units of Zynq chip are used to develop the TTP/C intelligent nodes of an aero-engine distributed control system which is highly integrated.The hardware-in-the-loop test conducted on an aero-engine distributed test platform validates the communication reliability,real-time performance and the function of the intelligent nodes,which satisfies the distributed control demands of the aero-engine.
Key words:Zynq;TTP/C;intelligent nodes;hardware-in-the-loop;distributed control system
中圖分類號:V233.7
文獻標識碼:A