《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的A320模擬器硬件仿真方案研究
基于CAN總線的A320模擬器硬件仿真方案研究
耿 宏,,孫茂強(qiáng),,王 勇
摘要: 針對(duì)飛機(jī)模擬器硬件仿真時(shí)系統(tǒng)模塊多,、通信頻繁、結(jié)構(gòu)復(fù)雜而導(dǎo)致模塊間布線繁雜,,以及由此產(chǎn)生的干擾等問題,提出一種基于CAN總線的駕駛艙仿真方案,。該方案中上位機(jī)負(fù)責(zé)邏輯運(yùn)算,,下位機(jī)負(fù)責(zé)操作信息采集,,通過CAN總線將上、下位機(jī)組成一個(gè)網(wǎng)絡(luò),,實(shí)現(xiàn)駕駛艙功能仿真,。闡述系統(tǒng)的總體結(jié)構(gòu),設(shè)計(jì)了整個(gè)駕駛艙的數(shù)據(jù)傳輸協(xié)議,,結(jié)合實(shí)際應(yīng)用,,給出了節(jié)點(diǎn)中數(shù)據(jù)收發(fā)模塊的硬件設(shè)計(jì)結(jié)構(gòu)和數(shù)據(jù)傳輸軟件實(shí)現(xiàn)方法。實(shí)際測(cè)試結(jié)果表明,,該設(shè)計(jì)布線簡(jiǎn)潔,,數(shù)據(jù)傳輸穩(wěn)定可靠,達(dá)到預(yù)期目標(biāo),。
關(guān)鍵詞: 接口IC 模擬器 CAN 總線 A320
Abstract:
Key words :

   根據(jù)國(guó)家建設(shè)民航強(qiáng)國(guó)的需要,,國(guó)內(nèi)對(duì)飛機(jī)模擬機(jī)的需求不斷增大,但目前國(guó)內(nèi)模擬機(jī)研制規(guī)模不能滿足日益增長(zhǎng)的市場(chǎng)需求,,若引進(jìn)國(guó)外模擬機(jī),,則不僅成本高昂,且不利于技術(shù)掌握,,因此擴(kuò)大模擬機(jī)自主研發(fā)規(guī)模成為必然趨勢(shì),。考慮到各種機(jī)型的駕駛艙功能的共性,,即系統(tǒng)模塊多,、通信頻繁、結(jié)構(gòu)復(fù)雜而導(dǎo)致模塊間布線繁雜,,以及由此產(chǎn)生的干擾等問題,,提出一種駕駛艙硬件仿真方案,該方案可以滿足駕駛艙各模塊間穩(wěn)定通信,,且簡(jiǎn)化布線,。

1 方案確立
   
駕駛艙仿真主要以報(bào)文的形式承載各系統(tǒng)模塊的操作信息,通過上位機(jī)完成邏輯運(yùn)算,,實(shí)現(xiàn)駕駛艙功能仿真,。駕駛艙仿真設(shè)計(jì)的原則是穩(wěn)定,即整個(gè)駕駛艙網(wǎng)絡(luò)應(yīng)具備一定的容錯(cuò)能力,,在數(shù)據(jù)傳輸過程中若產(chǎn)生沖突競(jìng)爭(zhēng),,則應(yīng)有一種機(jī)制解決沖突,且不丟失數(shù)據(jù),,而CAN" title="CAN">CAN(Co-ntroller Area Network)是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),,具有突出的可靠性、實(shí)時(shí)性和靈活性,,基于此選取CAN總線作為整個(gè)駕駛艙網(wǎng)絡(luò)通信方案,。由于飛機(jī)駕駛艙結(jié)構(gòu)復(fù)雜,、功能繁多,所以需對(duì)駕駛艙進(jìn)行功能模塊劃分,,各模塊間通過CAN總線進(jìn)行通信,,以下即從系統(tǒng)總體設(shè)計(jì)、CAN節(jié)點(diǎn)通信接口硬件設(shè)計(jì)和數(shù)據(jù)傳輸軟件設(shè)計(jì)3個(gè)方面詳細(xì)闡述該方案,。

2 系統(tǒng)總體設(shè)計(jì)
   
飛機(jī)駕駛艙中的顯示部分主要有電子飛行儀表系統(tǒng)(Electronic Flight Instrument System,,EFIS),飛機(jī)電子中央監(jiān)控(Electronic Centralized Aircraft Monito-ring,,ECAM),,分別由3臺(tái)觸摸屏顯示器顯示,其顯示邏輯統(tǒng)一由上位機(jī)控制,。操作部分有頂版,、中央操縱
臺(tái)、遮光板,,側(cè)桿,,這4部分全部由硬件實(shí)現(xiàn),基于區(qū)域劃分的原則將其進(jìn)行模塊劃分,,每二模塊為一節(jié)點(diǎn),。整體架構(gòu)如圖1所示。


    由于各節(jié)點(diǎn)間存在邏輯控制關(guān)系,,所以采用多主方式通信,,CAN總線網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可作為主節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)。上位機(jī)作為其中一個(gè)節(jié)點(diǎn),,通過CAN總線智能適配卡與網(wǎng)絡(luò)上的各節(jié)點(diǎn)進(jìn)行通信,,負(fù)責(zé)主要的邏輯運(yùn)算和駕駛艙顯示功能的控制,,其他節(jié)點(diǎn)不僅完成操作動(dòng)作的采集,,還根據(jù)邏輯要求互相控制。

3 CAN節(jié)點(diǎn)通信接口硬件電路設(shè)計(jì)
   
由于駕駛艙各節(jié)點(diǎn)間的控制邏輯復(fù)雜,,數(shù)據(jù)量大,,通信頻繁,故對(duì)各節(jié)點(diǎn)主控芯片的存儲(chǔ)容量有較高的要求,,且對(duì)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(獨(dú)立于CIP51的RAM),、消息處理單元和控制寄存器組成。CAN內(nèi)核由CAN協(xié)議控制器和負(fù)責(zé)報(bào)文收發(fā)的串行/并行轉(zhuǎn)換RX/TX移位寄存器組成,。消息RAM用于存儲(chǔ)報(bào)文目標(biāo)和每個(gè)目標(biāo)的仲裁掩碼,。這種CAN處理器有32個(gè)隨意配置為發(fā)送和接收的報(bào)文目標(biāo),并且每一個(gè)報(bào)文目標(biāo)都有自己的識(shí)別掩碼,,所有的數(shù)據(jù)傳輸和接收濾波都是由CAN控制器完成,,而不是由CIP51完成。C8051F04O所具備的完善的CAN總線控制器和獨(dú)立的CAN信息緩沖區(qū),,可以解決MCU(Micro Control Unit)與CAN總線之間串/并轉(zhuǎn)換,、不同節(jié)點(diǎn)間波特率誤差的校正、以及MCU與CAN總線通信的沖突競(jìng)爭(zhēng)和同步等問題,,為CAN總線網(wǎng)絡(luò)具有較高穩(wěn)定性提供了可靠的保障,。
CAN總線的收發(fā)器選用TI公司的SN65HVD230芯片,該芯片正常模式下的低電流設(shè)計(jì)使得芯片的發(fā)熱量小(典型數(shù)值為370μA),,而且其優(yōu)化的驅(qū)動(dòng)器設(shè)計(jì)使得信號(hào)質(zhì)量得到進(jìn)一步改善,;為進(jìn)一步提高系統(tǒng)抗干擾能力,在主控芯片C80C51F040和收發(fā)器SN65HVD230之聞加入光耦6N137進(jìn)行電氣隔離,,由于通信信號(hào)傳輸?shù)綄?dǎo)線的端點(diǎn)時(shí)會(huì)發(fā)生反射,,反射信號(hào)會(huì)干擾正常信號(hào)的傳輸,因而總線兩端接有終端電阻以消除反射信號(hào),,有效隔離CAN總線上的干擾信號(hào),,提高了系統(tǒng)可靠性。如圖2所示,。



4 數(shù)據(jù)傳輸軟件設(shè)計(jì)
   
在CAN總線上發(fā)送的每一條報(bào)文都具有惟一的一個(gè)11位或29位數(shù)字ID,,當(dāng)發(fā)生沖突時(shí),仲裁器就根據(jù)ID值的大小決定優(yōu)先級(jí)最高的ID發(fā)送,,其他的退出總線,。CAN總線狀態(tài)取決于二進(jìn)制數(shù)0而不是1,即信號(hào)是線“與”關(guān)系:當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送1,,另一個(gè)節(jié)點(diǎn)發(fā)送0時(shí),,其他節(jié)點(diǎn)接收到的是信號(hào)0。所以ID值越小,,該保報(bào)文擁有的優(yōu)先權(quán)越高,。
4.1 CAN通信協(xié)議設(shè)計(jì)
   
通信協(xié)議設(shè)計(jì)主要包括兩部分,確定報(bào)文ID和定義報(bào)文所含8位數(shù)據(jù)的每位具體含義,。由于報(bào)文ID決定其優(yōu)先級(jí),,所以需要根據(jù)實(shí)際邏輯確定每一報(bào)文的優(yōu)先級(jí),鑒于駕駛艙操作部分部件少于1 000件,,所以采用標(biāo)準(zhǔn)格式幀,,11位的標(biāo)識(shí)符可以表達(dá)211-1等于2 047種報(bào)文,,滿足實(shí)際需求。每個(gè)報(bào)文含有8字節(jié)數(shù)據(jù),,由于上位機(jī)負(fù)責(zé)主要邏輯運(yùn)算,,所以上位機(jī)應(yīng)能根據(jù)每一個(gè)報(bào)文內(nèi)容精確定位駕駛艙被操作部件,定義其格式如圖3所示,。


    協(xié)議采用Data0~Data4五個(gè)字節(jié)承載所有信息,,信息內(nèi)容包括板號(hào)(Penal Number)、件號(hào)(Component Number),、部件類別(Component Sort),、部件狀態(tài)值(整數(shù)部分和小數(shù)部分)和小數(shù)標(biāo)志位(Dot)。經(jīng)過整合,,共有32塊面板,,所以使用5位二進(jìn)制表示面板號(hào),板號(hào)(PN0~PN4)對(duì)應(yīng)Data3.3~Data3.7,;每塊面板上的部件數(shù)均少于128,,跳開關(guān)面板上部件最多,為125個(gè),,所以采用7位二進(jìn)制表示件號(hào),,件號(hào)(CN0~CN6)對(duì)應(yīng)Data4.O~Data4.6;根據(jù)部件輸出狀態(tài)將其分為5類,,分別是按鈕,、波段開關(guān)、電位器,、顯示屏和跳開關(guān),,所以用3位二進(jìn)制表示件類別,部件類別(CS0~CS2)對(duì)應(yīng)Data3.O~Data3.2,;部件狀態(tài)值整數(shù)部分(Int0~I(xiàn)nt15)對(duì)應(yīng)Data1.0~Data1.7和Data2.0~Data2.7,,狀態(tài)值小數(shù)部分(Dec0~Dec7)對(duì)應(yīng)Data0.0~Data0.7,小數(shù)標(biāo)志位(Dot)對(duì)應(yīng)data4.7,。
4.2 通信實(shí)現(xiàn)
   
CAN總線節(jié)點(diǎn)數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)主要分為三部分,,分別是初始化設(shè)置、發(fā)送數(shù)據(jù)和接收數(shù)據(jù),。初始化CAN控制器的一般步驟如下:
    (1)將SFRPAGE寄存器設(shè)置為CAN0_PAGE;
    (2)將CAN0CN寄存器中的INIT和CCE位設(shè)置為1,;
    (3)設(shè)置位定時(shí)寄存器和BRP擴(kuò)展寄存器中的時(shí)序參數(shù),;
    (4)初始化每個(gè)消息對(duì)象或?qū)⑵銶sgVal位設(shè)置為無效;
    (5)將INIT位清零,。接收數(shù)據(jù)有查詢和中斷兩種方式,,本文在設(shè)計(jì)時(shí)采用中斷方式,。接收數(shù)據(jù)程序流程圖如圖4所示。


    當(dāng)總線上有數(shù)據(jù)傳入時(shí)程序進(jìn)入中斷,,讀取中斷寄存器的值,,該值對(duì)應(yīng)32個(gè)消息對(duì)象中的其中一個(gè)消息號(hào),將該消息號(hào)寫入IFx命令請(qǐng)求寄存器,,讀取IFx報(bào)文控制寄存器,,查看標(biāo)志位NewData,值為1表示有新數(shù)據(jù),,值為0表示沒有新數(shù)據(jù),,讀取完當(dāng)前數(shù)據(jù)后查看數(shù)據(jù)塊結(jié)束標(biāo)識(shí)位Eob,值為1表示數(shù)據(jù)塊結(jié)束,,當(dāng)前數(shù)據(jù)接收完成,;值為0,表示數(shù)據(jù)塊沒有結(jié)束,,將消息號(hào)增一,,繼續(xù)接收下一個(gè)消息對(duì)象中的數(shù)據(jù),直至接收完成,。發(fā)送數(shù)據(jù)時(shí)需配置寄存器,,設(shè)定報(bào)文ID,此外還需在將數(shù)據(jù)寫入數(shù)據(jù)寄存器的時(shí)候,,先寫高位后寫低位,,即先對(duì)CANODATH賦值,再對(duì)CANODATL賦值,,最后將消息號(hào)寫入IFx命令請(qǐng)求寄存器即啟動(dòng)數(shù)據(jù)傳送,。

5 結(jié)語
   
實(shí)際測(cè)試表明,模塊間通信穩(wěn)定,,抗干擾性強(qiáng),,且布線簡(jiǎn)潔。該方案已經(jīng)應(yīng)用于機(jī)載電子系統(tǒng)故障診斷模擬機(jī),,雖然該模擬機(jī)是針對(duì)A320" title="A320">A320機(jī)型,,但是該方案也可擴(kuò)展應(yīng)用到其他機(jī)型的模擬機(jī),具有廣闊的應(yīng)用前景,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。