根據(jù)國家建設(shè)民航強國的需要,國內(nèi)對飛機模擬機的需求不斷增大,,但目前國內(nèi)模擬機研制規(guī)模不能滿足日益增長的市場需求,,若引進國外模擬機,則不僅成本高昂,,且不利于技術(shù)掌握,因此擴大模擬機自主研發(fā)規(guī)模成為必然趨勢,??紤]到各種機型的駕駛艙功能的共性,即系統(tǒng)模塊多,、通信頻繁,、結(jié)構(gòu)復(fù)雜而導(dǎo)致模塊間布線繁雜,以及由此產(chǎn)生的干擾等問題,,提出一種駕駛艙硬件仿真方案,,該方案可以滿足駕駛艙各模塊間穩(wěn)定通信,且簡化布線,。
1 方案確立
駕駛艙仿真主要以報文的形式承載各系統(tǒng)模塊的操作信息,,通過上位機完成邏輯運算,實現(xiàn)駕駛艙功能仿真。駕駛艙仿真設(shè)計的原則是穩(wěn)定,,即整個駕駛艙網(wǎng)絡(luò)應(yīng)具備一定的容錯能力,,在數(shù)據(jù)傳輸過程中若產(chǎn)生沖突競爭,則應(yīng)有一種機制解決沖突,,且不丟失數(shù)據(jù),,而CAN" title="CAN">CAN(Co-ntroller Area Network)是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡(luò),具有突出的可靠性,、實時性和靈活性,,基于此選取CAN總線作為整個駕駛艙網(wǎng)絡(luò)通信方案。由于飛機駕駛艙結(jié)構(gòu)復(fù)雜,、功能繁多,,所以需對駕駛艙進行功能模塊劃分,各模塊間通過CAN總線進行通信,,以下即從系統(tǒng)總體設(shè)計,、CAN節(jié)點通信接口硬件設(shè)計和數(shù)據(jù)傳輸軟件設(shè)計3個方面詳細闡述該方案。
2 系統(tǒng)總體設(shè)計
飛機駕駛艙中的顯示部分主要有電子飛行儀表系統(tǒng)(Electronic Flight Instrument System,,EFIS),,飛機電子中央監(jiān)控(Electronic Centralized Aircraft Monito-ring,ECAM),,分別由3臺觸摸屏顯示器顯示,,其顯示邏輯統(tǒng)一由上位機控制。操作部分有頂版,、中央操縱
臺,、遮光板,側(cè)桿,,這4部分全部由硬件實現(xiàn),,基于區(qū)域劃分的原則將其進行模塊劃分,每二模塊為一節(jié)點,。整體架構(gòu)如圖1所示,。
由于各節(jié)點間存在邏輯控制關(guān)系,所以采用多主方式通信,,CAN總線網(wǎng)絡(luò)上任一節(jié)點均可作為主節(jié)點向其他節(jié)點發(fā)送數(shù)據(jù),。上位機作為其中一個節(jié)點,通過CAN總線智能適配卡與網(wǎng)絡(luò)上的各節(jié)點進行通信,,負責主要的邏輯運算和駕駛艙顯示功能的控制,,其他節(jié)點不僅完成操作動作的采集,還根據(jù)邏輯要求互相控制,。
3 CAN節(jié)點通信接口硬件電路設(shè)計
由于駕駛艙各節(jié)點間的控制邏輯復(fù)雜,,數(shù)據(jù)量大,,通信頻繁,故對各節(jié)點主控芯片的存儲容量有較高的要求,,且對CAN總線網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)姆€(wěn)定性也有較高要求,。選取C80C51F040作主控芯片,因其擁有4 352 B RAM以及64 KB的FLASH,,滿足程序應(yīng)用需要,。它內(nèi)部集成CAN控制器,它兼容CAN技術(shù)規(guī)范2.0A和2.0B,,主要由CAN內(nèi)核,、消息RAM(獨立于CIP51的RAM)、消息處理單元和控制寄存器組成,。CAN內(nèi)核由CAN協(xié)議控制器和負責報文收發(fā)的串行/并行轉(zhuǎn)換RX/TX移位寄存器組成,。消息RAM用于存儲報文目標和每個目標的仲裁掩碼。這種CAN處理器有32個隨意配置為發(fā)送和接收的報文目標,,并且每一個報文目標都有自己的識別掩碼,,所有的數(shù)據(jù)傳輸和接收濾波都是由CAN控制器完成,而不是由CIP51完成,。C8051F04O所具備的完善的CAN總線控制器和獨立的CAN信息緩沖區(qū),,可以解決MCU(Micro Control Unit)與CAN總線之間串/并轉(zhuǎn)換、不同節(jié)點間波特率誤差的校正,、以及MCU與CAN總線通信的沖突競爭和同步等問題,,為CAN總線網(wǎng)絡(luò)具有較高穩(wěn)定性提供了可靠的保障。
CAN總線的收發(fā)器選用TI公司的SN65HVD230芯片,,該芯片正常模式下的低電流設(shè)計使得芯片的發(fā)熱量小(典型數(shù)值為370μA),,而且其優(yōu)化的驅(qū)動器設(shè)計使得信號質(zhì)量得到進一步改善;為進一步提高系統(tǒng)抗干擾能力,,在主控芯片C80C51F040和收發(fā)器SN65HVD230之聞加入光耦6N137進行電氣隔離,,由于通信信號傳輸?shù)綄?dǎo)線的端點時會發(fā)生反射,反射信號會干擾正常信號的傳輸,,因而總線兩端接有終端電阻以消除反射信號,,有效隔離CAN總線上的干擾信號,提高了系統(tǒng)可靠性,。如圖2所示。
4 數(shù)據(jù)傳輸軟件設(shè)計
在CAN總線上發(fā)送的每一條報文都具有惟一的一個11位或29位數(shù)字ID,,當發(fā)生沖突時,,仲裁器就根據(jù)ID值的大小決定優(yōu)先級最高的ID發(fā)送,其他的退出總線,。CAN總線狀態(tài)取決于二進制數(shù)0而不是1,,即信號是線“與”關(guān)系:當一個節(jié)點發(fā)送1,,另一個節(jié)點發(fā)送0時,其他節(jié)點接收到的是信號0,。所以ID值越小,,該保報文擁有的優(yōu)先權(quán)越高。
4.1 CAN通信協(xié)議設(shè)計
通信協(xié)議設(shè)計主要包括兩部分,,確定報文ID和定義報文所含8位數(shù)據(jù)的每位具體含義,。由于報文ID決定其優(yōu)先級,所以需要根據(jù)實際邏輯確定每一報文的優(yōu)先級,,鑒于駕駛艙操作部分部件少于1 000件,,所以采用標準格式幀,11位的標識符可以表達211-1等于2 047種報文,,滿足實際需求,。每個報文含有8字節(jié)數(shù)據(jù),由于上位機負責主要邏輯運算,,所以上位機應(yīng)能根據(jù)每一個報文內(nèi)容精確定位駕駛艙被操作部件,,定義其格式如圖3所示。
協(xié)議采用Data0~Data4五個字節(jié)承載所有信息,,信息內(nèi)容包括板號(Penal Number),、件號(Component Number)、部件類別(Component Sort),、部件狀態(tài)值(整數(shù)部分和小數(shù)部分)和小數(shù)標志位(Dot),。經(jīng)過整合,共有32塊面板,,所以使用5位二進制表示面板號,,板號(PN0~PN4)對應(yīng)Data3.3~Data3.7;每塊面板上的部件數(shù)均少于128,,跳開關(guān)面板上部件最多,,為125個,所以采用7位二進制表示件號,,件號(CN0~CN6)對應(yīng)Data4.O~Data4.6,;根據(jù)部件輸出狀態(tài)將其分為5類,分別是按鈕,、波段開關(guān),、電位器、顯示屏和跳開關(guān),,所以用3位二進制表示件類別,,部件類別(CS0~CS2)對應(yīng)Data3.O~Data3.2;部件狀態(tài)值整數(shù)部分(Int0~Int15)對應(yīng)Data1.0~Data1.7和Data2.0~Data2.7,,狀態(tài)值小數(shù)部分(Dec0~Dec7)對應(yīng)Data0.0~Data0.7,,小數(shù)標志位(Dot)對應(yīng)data4.7,。
4.2 通信實現(xiàn)
CAN總線節(jié)點數(shù)據(jù)傳輸?shù)膶崿F(xiàn)主要分為三部分,分別是初始化設(shè)置,、發(fā)送數(shù)據(jù)和接收數(shù)據(jù),。初始化CAN控制器的一般步驟如下:
(1)將SFRPAGE寄存器設(shè)置為CAN0_PAGE;
(2)將CAN0CN寄存器中的INIT和CCE位設(shè)置為1,;
(3)設(shè)置位定時寄存器和BRP擴展寄存器中的時序參數(shù),;
(4)初始化每個消息對象或?qū)⑵銶sgVal位設(shè)置為無效;
(5)將INIT位清零,。接收數(shù)據(jù)有查詢和中斷兩種方式,,本文在設(shè)計時采用中斷方式。接收數(shù)據(jù)程序流程圖如圖4所示,。
當總線上有數(shù)據(jù)傳入時程序進入中斷,,讀取中斷寄存器的值,該值對應(yīng)32個消息對象中的其中一個消息號,,將該消息號寫入IFx命令請求寄存器,,讀取IFx報文控制寄存器,查看標志位NewData,,值為1表示有新數(shù)據(jù),,值為0表示沒有新數(shù)據(jù),讀取完當前數(shù)據(jù)后查看數(shù)據(jù)塊結(jié)束標識位Eob,,值為1表示數(shù)據(jù)塊結(jié)束,,當前數(shù)據(jù)接收完成;值為0,,表示數(shù)據(jù)塊沒有結(jié)束,,將消息號增一,繼續(xù)接收下一個消息對象中的數(shù)據(jù),,直至接收完成,。發(fā)送數(shù)據(jù)時需配置寄存器,設(shè)定報文ID,,此外還需在將數(shù)據(jù)寫入數(shù)據(jù)寄存器的時候,,先寫高位后寫低位,即先對CANODATH賦值,,再對CANODATL賦值,,最后將消息號寫入IFx命令請求寄存器即啟動數(shù)據(jù)傳送。
5 結(jié)語
實際測試表明,,模塊間通信穩(wěn)定,,抗干擾性強,且布線簡潔。該方案已經(jīng)應(yīng)用于機載電子系統(tǒng)故障診斷模擬機,,雖然該模擬機是針對A320" title="A320">A320機型,但是該方案也可擴展應(yīng)用到其他機型的模擬機,,具有廣闊的應(yīng)用前景,。