張文豪,張?zhí)旌?,陳飛,袁元
(南京航空航天大學(xué) 江蘇省航空動(dòng)力系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,南京 210016)
?
張文豪,張?zhí)旌?,陳飛,袁元
(南京航空航天大學(xué) 江蘇省航空動(dòng)力系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,南京 210016)
摘要:TTP/C總線(xiàn)是一種基于時(shí)間觸發(fā)的數(shù)據(jù)總線(xiàn),具有嚴(yán)格的時(shí)間確定性和高度的通信可靠性。本文利用Zynq芯片的程序處理單元和邏輯處理單元,開(kāi)發(fā)了一種高度集成的航空發(fā)動(dòng)機(jī)分布式控制系統(tǒng)TTP/C智能節(jié)點(diǎn)。通過(guò)開(kāi)展航空發(fā)動(dòng)機(jī)分布式控制硬件在環(huán)試驗(yàn),智能節(jié)點(diǎn)的通信可靠性和實(shí)時(shí)性以及節(jié)點(diǎn)的功能得到了驗(yàn)證,能夠滿(mǎn)足航空發(fā)動(dòng)機(jī)分布式控制需求。
關(guān)鍵詞:Zynq;TTP/C;智能節(jié)點(diǎn);硬件在環(huán);分布式控制系統(tǒng)
引言
控制系統(tǒng)的安全性一直是航空航天及汽車(chē)工業(yè)等領(lǐng)域的研究熱點(diǎn)之一。TTP/C數(shù)據(jù)總線(xiàn)以其延遲邊界確定、實(shí)時(shí)性強(qiáng)、可靠性高的特點(diǎn)[1],得到了越來(lái)越多的高校和研究機(jī)構(gòu)的關(guān)注。在國(guó)外,Hamilton Sundstrand在Boeing 787的動(dòng)力系統(tǒng)和環(huán)控系統(tǒng)中均采用了TTTech公司的TTP/C總線(xiàn)解決方案;Honeywell的MAC平臺(tái)從2000年開(kāi)始采用TTTech提供的TTP通信解決方案,該MAC平臺(tái)應(yīng)用在2004年首飛的Aermacchi M-346教練機(jī)上以及2006年首飛的Lockheed Martin F-16上;NASA已經(jīng)將TTEthernet技術(shù)用在獵戶(hù)座載人搜索飛行器(Orion Crew Exploration Vehicle)上。在國(guó)內(nèi),TTP/C協(xié)議的研究主要集中在基于TTP/C總線(xiàn)的汽車(chē)控制系統(tǒng)領(lǐng)域,而且大多數(shù)研究都處于理論研究階段,還沒(méi)有一個(gè)商業(yè)化的產(chǎn)品。在這種背景下,本文自主開(kāi)發(fā)設(shè)計(jì)了一種基于Zynq的分布式TTP/C控制器智能節(jié)點(diǎn)試驗(yàn)平臺(tái)。
傳統(tǒng)的SOPC設(shè)計(jì)無(wú)外乎兩種方式:①在FPGA上設(shè)計(jì)一個(gè)軟核,比如Altera的NiosII、Xilinx的MicroBlaze等;②當(dāng)單個(gè)軟核無(wú)法滿(mǎn)足要求時(shí),將FPGA和片外處理器芯片(比如ARM、DSP等)聯(lián)合使用。Zynq-7000系列芯片是由Xilinx公司推出的可擴(kuò)展處理平臺(tái)[2],該平臺(tái)在單芯片內(nèi)部集成了雙核ARM Cortex-A9的處理系統(tǒng)(Processing System,PS)和可編程邏輯(Programmable Logic,PL)。相對(duì)于傳統(tǒng)的SOPC,這種架構(gòu)不僅解決了軟核處理性能低、耗用FPGA資源多的難題,而且避免了FPGA和傳統(tǒng)處理器芯片片外通信導(dǎo)致的傳輸帶寬瓶頸的困難。
本文充分利用Zynq平臺(tái)內(nèi)PL資源并行處理的優(yōu)勢(shì),實(shí)現(xiàn)TTP/C總線(xiàn)控制器的底層硬件設(shè)計(jì);利用兩個(gè)ARM核分別作為T(mén)TP/C總線(xiàn)的協(xié)議處理器和分布式控制系統(tǒng)的主機(jī)處理器來(lái)實(shí)現(xiàn)TTP/C智能節(jié)點(diǎn)的設(shè)計(jì);FPGA和ARM之間通過(guò)AXI總線(xiàn)進(jìn)行數(shù)據(jù)通信[3],ARM雙核之間通過(guò)OCM(On-Chip Memory,片上存儲(chǔ)器)和軟件中斷來(lái)進(jìn)行實(shí)時(shí)通信。
1TTP/C總線(xiàn)的基本架構(gòu)及運(yùn)行機(jī)制
TTP/C通信系統(tǒng)的基本架構(gòu)如圖1所示。在一個(gè)包含了n個(gè)智能節(jié)點(diǎn)的分布式控制系統(tǒng)中,n個(gè)智能節(jié)點(diǎn)構(gòu)成了一個(gè)TTP/C集群;每個(gè)智能節(jié)點(diǎn)包括主機(jī)控制器、TTP/C總線(xiàn)協(xié)議控制器以及用于它們之間通信的CNI(Communication Net Interface,通信網(wǎng)絡(luò)接口)接口[4]3個(gè)部分。其中,MEDL(Message Description List,消息描述列表)是一個(gè)事先規(guī)劃好的總線(xiàn)時(shí)間調(diào)度列表,它將一個(gè)TDMA(Time Division Multiple Address,時(shí)分多路復(fù)用)周期等間距或不等間距地分成多個(gè)時(shí)間槽并分配給各個(gè)智能節(jié)點(diǎn),每個(gè)智能節(jié)點(diǎn)在其分配的時(shí)間槽內(nèi)可以占用通信通道來(lái)發(fā)送數(shù)據(jù)[5]。
圖1 TTP/C通信系統(tǒng)的基本架構(gòu)
2智能節(jié)點(diǎn)設(shè)計(jì)
基于Zynq的智能節(jié)點(diǎn)的設(shè)計(jì)主要包括3個(gè)部分:主機(jī)控制器設(shè)計(jì)、協(xié)議控制器設(shè)計(jì)以及兩者之間通信的CNI接口設(shè)計(jì)。智能節(jié)點(diǎn)設(shè)計(jì)框圖如圖2所示,其中,實(shí)線(xiàn)表示時(shí)間信息的流向,虛線(xiàn)表示應(yīng)用數(shù)據(jù)的流向;APU(Application Processing Unit,應(yīng)用處理單元)是PS的核心部分,包括多核處理器、OCM、DMA控制器、GIC(Generic Interrupt Controller,通用中斷控制器)、多級(jí)緩存及其管理單元SCU(Snoop Control Unit,偵測(cè)控制單元)。
2.1主機(jī)控制器設(shè)計(jì)
主機(jī)控制器是智能節(jié)點(diǎn)內(nèi)的功能單元,根據(jù)主機(jī)控制器在航空發(fā)動(dòng)機(jī)分布式控制系統(tǒng)中的功能不同,可以將智能節(jié)點(diǎn)分為智能傳感器節(jié)點(diǎn)、中央處理節(jié)點(diǎn)和智能執(zhí)行機(jī)構(gòu)節(jié)點(diǎn)。智能傳感器節(jié)點(diǎn)的主機(jī)控制器負(fù)責(zé)采集航空發(fā)動(dòng)機(jī)的被控制量(如發(fā)動(dòng)機(jī)轉(zhuǎn)速)或發(fā)動(dòng)機(jī)狀態(tài)量(如溫度),并對(duì)這些信號(hào)進(jìn)行濾波、線(xiàn)性化、溫度補(bǔ)償、A/D轉(zhuǎn)換、冗余管理等相應(yīng)處理,得到易于處理的數(shù)字量,再通過(guò)TTP/C總線(xiàn)控制器發(fā)送給中央處理節(jié)點(diǎn);中央處理節(jié)點(diǎn)的主機(jī)控制器根據(jù)從智能傳感器節(jié)點(diǎn)獲得的航空發(fā)動(dòng)機(jī)的相關(guān)信息和上位機(jī)給定的控制量,通過(guò)相應(yīng)的控制算法計(jì)算出相應(yīng)的輸出控制量(數(shù)字量),并傳輸給智能執(zhí)行機(jī)構(gòu)節(jié)點(diǎn);智能執(zhí)行機(jī)構(gòu)節(jié)點(diǎn)的主機(jī)控制器將中央處理節(jié)點(diǎn)產(chǎn)生的控制量通過(guò)添加激勵(lì)、D/A轉(zhuǎn)換等解調(diào)處理,輸出模擬信號(hào)給執(zhí)行機(jī)構(gòu),從而形成閉環(huán)控制,保證航空發(fā)動(dòng)機(jī)的正常運(yùn)行。
本文充分利用Zynq的硬件結(jié)構(gòu),使用PS內(nèi)的一個(gè)ARM硬核CPU0來(lái)開(kāi)發(fā)主機(jī)控制器,不僅提高了智能節(jié)點(diǎn)的集成度,而且解決了協(xié)議控制器和主機(jī)控制器片外傳輸存在瓶頸的難題。
2.2協(xié)議控制器設(shè)計(jì)
協(xié)議控制器是智能節(jié)點(diǎn)內(nèi)的核心單元,也是各個(gè)智能節(jié)點(diǎn)之間進(jìn)行通信的基本保證。如圖2所示,協(xié)議控制器包括協(xié)議處理器模塊、時(shí)間觸發(fā)模塊、集群?jiǎn)?dòng)及時(shí)鐘同步模塊、冗余總線(xiàn)收發(fā)器模塊、RS-485物理層驅(qū)動(dòng)模塊和BG(Bus Guardian,總線(xiàn)監(jiān)視器)模塊。在協(xié)議控制器的開(kāi)發(fā)過(guò)程中,本文充分利用Zynq內(nèi)PL資源并行處理、靈活配置和PS硬核資源處理速度快的特點(diǎn),分別對(duì)協(xié)議控制器的各個(gè)模塊加以實(shí)現(xiàn)。
時(shí)間觸發(fā)模塊包括MEDL列表和時(shí)間觸發(fā)器兩個(gè)部分,用來(lái)保證智能節(jié)點(diǎn)在分配的時(shí)間槽到來(lái)時(shí)能夠及時(shí)進(jìn)行數(shù)據(jù)組幀并在總線(xiàn)上廣播數(shù)據(jù);集群?jiǎn)?dòng)模塊是為了系統(tǒng)上電后能夠盡快建立一個(gè)全局時(shí)鐘,實(shí)現(xiàn)各個(gè)智能節(jié)點(diǎn)之間的時(shí)間同步,而時(shí)鐘同步模塊則是用來(lái)保證這個(gè)全局時(shí)鐘在系統(tǒng)運(yùn)行過(guò)程中不會(huì)出現(xiàn)較大偏差而導(dǎo)致時(shí)間槽混疊的現(xiàn)象發(fā)生。這些模塊對(duì)時(shí)鐘精度的要求十分苛刻,因此,本文將這些模塊放在具有嚴(yán)格時(shí)序規(guī)范的PL內(nèi)實(shí)現(xiàn)。
BG模塊是協(xié)議控制器內(nèi)一個(gè)獨(dú)立的模塊,它的作用是防止發(fā)生故障的智能節(jié)點(diǎn)在其時(shí)間槽之外廣播數(shù)據(jù)。BG實(shí)現(xiàn)原理是通過(guò)在發(fā)送時(shí)間段使能總線(xiàn)驅(qū)動(dòng),發(fā)送時(shí)間段外禁止總線(xiàn)驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)目標(biāo)節(jié)點(diǎn)的阻塞故障隔離,它的工作時(shí)序如圖3所示。本文設(shè)計(jì)的BG采用經(jīng)過(guò)同步算法校正的1 MHz標(biāo)準(zhǔn)時(shí)鐘進(jìn)行計(jì)數(shù),并參照調(diào)度列表實(shí)現(xiàn)對(duì)總線(xiàn)驅(qū)動(dòng)器的使能和禁止[6]。
協(xié)議處理器模塊是協(xié)議控制器的核心,它的作用是通過(guò)AXI總線(xiàn)保證PL中各個(gè)硬件模塊之間的協(xié)調(diào)工作,并完成節(jié)點(diǎn)狀態(tài)轉(zhuǎn)換、隱式確認(rèn)算法、故障注入及恢復(fù)等高級(jí)任務(wù)??紤]到對(duì)處理速度和任務(wù)切換等方面的要求較高,該模塊由PS中的ARM核CPU1來(lái)實(shí)現(xiàn)。
2.3CNI接口設(shè)計(jì)
CNI接口是主機(jī)控制器和協(xié)議控制器之間進(jìn)行通信的樞紐,它的本質(zhì)是一段兩個(gè)控制器可以進(jìn)行分時(shí)交替訪(fǎng)問(wèn)的公共存儲(chǔ)空間。在控制器設(shè)計(jì)時(shí),采用APU內(nèi)部帶有校驗(yàn)功能的256 KB的雙端口OCM來(lái)實(shí)現(xiàn)這一功能,并通過(guò)Zynq內(nèi)的軟件中斷來(lái)保證兩個(gè)控制器通信的實(shí)時(shí)性。需要注意的是,這部分OCM默認(rèn)是可以作為處理器緩存使用的,為保證雙核傳輸?shù)臄?shù)據(jù)不受污染,使用前需要先禁止這部分存儲(chǔ)空間的緩存功能。
圖2 智能節(jié)點(diǎn)的硬件實(shí)現(xiàn)框圖
圖3 BG工作時(shí)序圖
3HIL試驗(yàn)平臺(tái)的構(gòu)建及試驗(yàn)
3.1構(gòu)建HIL試驗(yàn)平臺(tái)
HIL(Hardware-In-the-Loop,硬件在環(huán))仿真是發(fā)動(dòng)機(jī)仿真試驗(yàn)中常用的一種仿真手段,它擁有真實(shí)的I/O接口、控制器硬件設(shè)備以及虛擬的發(fā)動(dòng)機(jī)模型(如航空發(fā)動(dòng)機(jī)接口模擬器),系統(tǒng)的動(dòng)態(tài)響應(yīng)過(guò)程和實(shí)際系統(tǒng)的動(dòng)態(tài)響應(yīng)過(guò)程的時(shí)間進(jìn)程十分接近,是一種置信度較高的控制算法測(cè)試驗(yàn)證手段[7]。
轉(zhuǎn)速控制回路是航空發(fā)動(dòng)機(jī)控制系統(tǒng)中的關(guān)鍵控制回路,其性能決定了發(fā)動(dòng)機(jī)的動(dòng)靜態(tài)特性。轉(zhuǎn)速控制回路包括伺服閥電流控制油針位置的小閉環(huán)回路和油針位置控制發(fā)動(dòng)機(jī)轉(zhuǎn)速的大閉環(huán)回路,兩個(gè)閉環(huán)控制的原理框圖略——編者注。油針位置小閉環(huán)回路的作用是通過(guò)給定的油針位置Gtr和LVDT采集到的實(shí)際油針位置Gt形成閉環(huán),并輸出控制電流給伺服閥來(lái)調(diào)節(jié)發(fā)動(dòng)機(jī)的供油量;轉(zhuǎn)速閉環(huán)的原理是通過(guò)智能傳感器節(jié)點(diǎn)采集到的發(fā)動(dòng)機(jī)實(shí)際轉(zhuǎn)速N和上位機(jī)給定的轉(zhuǎn)速Nr,計(jì)算出給定油針位置Gtr,再通過(guò)智能油針位置閉環(huán)節(jié)點(diǎn)調(diào)節(jié)供油量來(lái)控制發(fā)動(dòng)機(jī)轉(zhuǎn)速。
本文構(gòu)建了一種包含4個(gè)智能節(jié)點(diǎn)的HIL轉(zhuǎn)速閉環(huán)控制平臺(tái),如圖4所示,并通過(guò)該試驗(yàn)平臺(tái)對(duì)TTP/C智能節(jié)點(diǎn)的通信可靠性進(jìn)行驗(yàn)證。4個(gè)智能節(jié)點(diǎn)中,選擇一個(gè)作為智能傳感器節(jié)點(diǎn),一個(gè)作為智能油針位置閉環(huán)節(jié)點(diǎn),其余兩個(gè)作為中央處理節(jié)點(diǎn)(其中一個(gè)節(jié)點(diǎn)作為備份節(jié)點(diǎn))。TTP/C集群的TDMA周期設(shè)置為航空發(fā)動(dòng)機(jī)的主控制步長(zhǎng)20 ms,每個(gè)節(jié)點(diǎn)分配5 ms的時(shí)間槽來(lái)占用TTP/C總線(xiàn)發(fā)送數(shù)據(jù),如圖5所示。每個(gè)智能節(jié)點(diǎn)在各自分配的時(shí)間槽到來(lái)時(shí),必須廣播本地節(jié)點(diǎn)的TTP/C協(xié)議控制器狀態(tài)信息,以保證TTP/C通信集群的正常運(yùn)行;本地節(jié)點(diǎn)負(fù)責(zé)的發(fā)動(dòng)機(jī)應(yīng)用數(shù)據(jù),可以由本地主機(jī)控制器負(fù)責(zé)的不同功能來(lái)加以區(qū)別。
圖4 基于TTP/C的HIL硬件試驗(yàn)平臺(tái)
圖5 TTP/C分布式系統(tǒng)時(shí)間槽分配
3.2HIL試驗(yàn)結(jié)果及分析
轉(zhuǎn)速閉環(huán)控制響應(yīng)曲線(xiàn)、油針位置小閉環(huán)的響應(yīng)曲線(xiàn)和伺服閥控制電流的輸出圖略——編者注。轉(zhuǎn)速和油針位置的量綱都采用百分比的形式,電液伺服閥控制電流范圍為-30~30 mA。該控制過(guò)程共分為5個(gè)階段:3個(gè)加速階段和2個(gè)減速階段。當(dāng)上位機(jī)的給定轉(zhuǎn)速升高時(shí),給定油針位置和控制電流也會(huì)隨之增加,使發(fā)動(dòng)機(jī)的供油量增加,進(jìn)而提高發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)速;同理,當(dāng)上位機(jī)減小給定轉(zhuǎn)速時(shí),給定油針位置和控制電流也會(huì)隨之減小,發(fā)動(dòng)機(jī)的供油量減少,發(fā)動(dòng)機(jī)的實(shí)際轉(zhuǎn)速降低。在這5個(gè)階段中,通過(guò)轉(zhuǎn)速大閉環(huán)和油針位置小閉環(huán)的控制作用,能夠?qū)崿F(xiàn)對(duì)航空發(fā)動(dòng)機(jī)轉(zhuǎn)速量動(dòng)靜態(tài)性能的良好控制,驗(yàn)證了智能節(jié)點(diǎn)之間良好的通信能力。
結(jié)語(yǔ)
本文在Zynq平臺(tái)上自主設(shè)計(jì)實(shí)現(xiàn)了一種基于時(shí)間觸發(fā)的TTP/C智能節(jié)點(diǎn),并搭建了HIL試驗(yàn)平臺(tái)對(duì)智能節(jié)點(diǎn)的通信性能進(jìn)行驗(yàn)證。驗(yàn)證結(jié)果表明,自主設(shè)計(jì)的智能節(jié)點(diǎn)在保證時(shí)鐘同步精度的基礎(chǔ)上,能夠確保各個(gè)節(jié)點(diǎn)之間實(shí)現(xiàn)無(wú)丟包無(wú)誤碼的數(shù)據(jù)傳輸,為進(jìn)一步研究基于時(shí)間觸發(fā)的航空發(fā)動(dòng)機(jī)分布式控制系統(tǒng)奠定了基礎(chǔ)。
編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www.mesnet.com.cn。
參考文獻(xiàn)
[1] Time-Triggered Protocol TTP/C High-Level Specification Document Protocol Version 1.1,2003.
[2] Xilinx推出可擴(kuò)展處理平臺(tái)Zynq系列[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(4):32.
[3] 牛盼情,康翔宇,何頂新.基于Zynq的PMSM驅(qū)動(dòng)控制系統(tǒng)設(shè)計(jì).單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015(5):65-68.
[4] 劉冬冬,張?zhí)旌?陳建,等.TTP/C協(xié)議的關(guān)鍵特性研究[J].計(jì)算機(jī)測(cè)量與控制,2012,20(20):2769-1772.
[5] 陳建,劉冬冬,張?zhí)旌?基于TTP/C總線(xiàn)的開(kāi)放式DEEC設(shè)計(jì)及PIL仿真驗(yàn)證[J].航空動(dòng)力學(xué)報(bào),2014(12).
[6] 劉冬冬.開(kāi)放式FADEC系統(tǒng)架構(gòu)及可靠性建模技術(shù)研究[D].南京:南京航空航天大學(xué),2013.
[7] 張?zhí)旌?殷彬彬,張?chǎng)?基于Compact RIO/FPGA的超高速控制器快速原型設(shè)計(jì)與試驗(yàn)驗(yàn)證[J].航空發(fā)動(dòng)機(jī),2015,41(3).
張文豪、陳飛、袁元(碩士研究生),主要從事航空發(fā)動(dòng)機(jī)控制系統(tǒng)設(shè)計(jì)與仿真研究;張?zhí)旌?教授),研究方向?yàn)榍度胧娇刂葡到y(tǒng)、系統(tǒng)控制與仿真。
(責(zé)任編輯:薛士然收修改稿日期: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
中圖分類(lèi)號(hào):V233.7
文獻(xiàn)標(biāo)識(shí)碼:A