摘? 要: 傳統(tǒng)的大氣數(shù)據(jù)系統(tǒng)接口設(shè)計(jì)往往比較復(fù)雜。針對(duì)這種情況,著重介紹了一種利用FPGA 技術(shù)來(lái)實(shí)現(xiàn)大氣數(shù)據(jù)系統(tǒng)中ARINC429總線接口的設(shè)計(jì)方法。并對(duì)ARINC429總線協(xié)議進(jìn)行了分析,給出了大氣數(shù)據(jù)系統(tǒng)輸出ARINC429參數(shù)。該接口具有結(jié)構(gòu)簡(jiǎn)單、設(shè)計(jì)靈活、可靠性高等優(yōu)點(diǎn)。
關(guān)鍵詞: 單片機(jī); FPGA; 大氣數(shù)據(jù)系統(tǒng); ARINC429總線接口
?
在飛機(jī)座艙顯示中,飛行員要依靠大氣數(shù)據(jù)信息保證飛行安全。大氣數(shù)據(jù)系統(tǒng)是以微處理器為核心,具有多種輸入輸出接口,用來(lái)測(cè)量、計(jì)算并指示飛機(jī)的多個(gè)飛行參數(shù),包括計(jì)算空速、真空速、飛行速度、升降速度、大氣高度、馬赫數(shù)、大氣總溫、大氣靜溫等,其運(yùn)行狀況直接決定著飛機(jī)飛行的安全性,因此大氣數(shù)據(jù)計(jì)算機(jī)在飛機(jī)飛行時(shí)顯得尤為重要。傳統(tǒng)飛機(jī)的大氣數(shù)據(jù)系統(tǒng)的接口控制是采用分離的元器件或多個(gè)小規(guī)模的集成電路來(lái)控制的,本文著重論述一種用FPGA技術(shù)來(lái)實(shí)現(xiàn)的ARINC429總線接口設(shè)計(jì),利用FPGA 技術(shù)來(lái)實(shí)現(xiàn)ARINC429總線接口的控制,具有結(jié)構(gòu)簡(jiǎn)單、體積小、設(shè)計(jì)靈活、可靠性高等優(yōu)點(diǎn)。
1 ARINC429 數(shù)字信息傳輸要求
ARINC429總線是美國(guó)航空電子工程委員會(huì)于1977年7月提出并于同年9月被認(rèn)可的工業(yè)標(biāo)準(zhǔn),是一種廣泛應(yīng)用在民用航空中的標(biāo)準(zhǔn)總線。
1.1 電氣特性要求
ARINC429發(fā)送和接收設(shè)備均采用雙絞線屏蔽線傳輸信息,其速率為100kb/s或12.5kb/s,通常以脈沖形式發(fā)送,并采用雙極型歸零制的三態(tài)碼方式調(diào)制,即信息由“高”、“零”和“低”狀態(tài)組成的三電平狀態(tài)調(diào)制。總線發(fā)送器開(kāi)路時(shí),發(fā)送器輸出電壓如表1所示。
?
額定電壓將受到噪音和脈沖畸變的干擾,這樣實(shí)際接收器輸入端的電壓范圍為:
高電平:+6.5~+13V,“零”電平:+2.5~-2.5V,低電平:-6.5~-13V。
1.2 信息要求
將一個(gè)32位數(shù)據(jù)字分為5組,即:
(1)標(biāo)志碼(label),第1~8位,用于表示信息的類型。
(2)源/目的識(shí)別碼(SDI),第9~10位。當(dāng)需要將特定字發(fā)送給多系統(tǒng)設(shè)備的某一特定接收系統(tǒng),或者多系統(tǒng)設(shè)備的源系統(tǒng)需要根據(jù)字的內(nèi)容被指定的接收器識(shí)別時(shí),可用源目標(biāo)標(biāo)示功能。
(3)數(shù)據(jù)區(qū)(data),第11~29位。
(4)符號(hào)狀態(tài)位(SSM),第30~31位。BCD數(shù)字?jǐn)?shù)據(jù)的符號(hào)(正、負(fù)、北、南等)。AIM數(shù)據(jù)的字類型(初始字、中間字、控制字和結(jié)束字)和發(fā)送器硬件的狀態(tài)用第30和第31位編碼表示。
(5)奇偶校驗(yàn)位(parity),第32位,奇校驗(yàn)。
ARINC429總線協(xié)議的字格式如表2所示。
上述字的發(fā)送格式為:源/目標(biāo)標(biāo)志位、源/目標(biāo)標(biāo)示位、數(shù)據(jù)區(qū)、標(biāo)記位、符號(hào)/狀態(tài)位和奇偶校驗(yàn)位。其中源/目標(biāo)標(biāo)志位與正常順序相反,先發(fā)送高位再發(fā)送低位。
大氣數(shù)據(jù)系統(tǒng)采用ARINC429標(biāo)準(zhǔn)輸出大氣參數(shù),其輸出ARINC429參數(shù)如表3所示。
2 硬件設(shè)計(jì)
2.1 大氣數(shù)據(jù)系統(tǒng)設(shè)計(jì)
圖1所示為該系統(tǒng)的整個(gè)結(jié)構(gòu)框圖,大氣數(shù)據(jù)系統(tǒng)由大氣數(shù)據(jù)計(jì)算機(jī)(這里采用的是單片機(jī))、溫度傳感器和壓力傳感器以及信號(hào)調(diào)理電路A/D轉(zhuǎn)換器等部分組成。
由大氣壓力傳感器及大氣溫度傳感器輸出測(cè)量信號(hào),并將其傳送到大氣數(shù)據(jù)計(jì)算機(jī);經(jīng)過(guò)計(jì)算機(jī)的分析計(jì)算處理送到ARINC429數(shù)據(jù)總線上;標(biāo)準(zhǔn)型大氣數(shù)據(jù)計(jì)算機(jī)在ARINC429數(shù)據(jù)總線上輸出以下信息:壓力高度、升降速度、馬赫數(shù)、計(jì)算空速、真空速、大氣總溫、大氣靜溫等。
2.2 ARINC429總線接口電路設(shè)計(jì)
系統(tǒng)中ARINC429總線接口電路設(shè)計(jì)如圖2所示,它主要由單片機(jī)、現(xiàn)場(chǎng)可編程門陣列(FPGA)以及ARINC429數(shù)據(jù)發(fā)送/接收單元等組成。單片機(jī)選用的是ATMEL公司生產(chǎn)的AT89C51芯片,它是8位單片機(jī),主要完成接口電路中ARINC429總線發(fā)送/接收數(shù)據(jù)的處理。ARINC429數(shù)據(jù)發(fā)送/接收單元主要由兩個(gè)芯片來(lái)實(shí)現(xiàn):一是ARINC429總線協(xié)議芯片,采用INTERSIL公司生產(chǎn)的高集成度CMOS可編程控制芯片HS-3282,該芯片符合ARINC429航空標(biāo)準(zhǔn)及其他串行數(shù)據(jù)標(biāo)準(zhǔn),用來(lái)完成發(fā)送數(shù)據(jù)緩存,數(shù)據(jù)的發(fā)送和接收的轉(zhuǎn)換;二是ARINC429總線驅(qū)動(dòng)芯片HS3182,它用來(lái)完成接口電路內(nèi)部邏輯信號(hào)與ARINC429差分信號(hào)的轉(zhuǎn)換,并且可以調(diào)節(jié)ARINC429總線傳輸速率。FPGA選用的是XILINX公司生產(chǎn)的XCS10芯片。系統(tǒng)中采用一片F(xiàn)PGA芯片來(lái)完成接口電路中的邏輯控制,其編程語(yǔ)言采用Verilog語(yǔ)言,通過(guò)ISE5.x進(jìn)行編譯、綜合適配和仿真。
?
3 軟件設(shè)計(jì)
ARINC429總線接口電路的軟件設(shè)計(jì)主要包括以下三個(gè)部分:軟件初始化、接收數(shù)據(jù)、發(fā)送數(shù)據(jù)。
3.1 軟件初始化
上電復(fù)位后,軟件應(yīng)在正式工作前初始化HS-3282,即向控制器寫(xiě)控制字,對(duì)控制字的設(shè)置,主要包括字長(zhǎng)、數(shù)據(jù)速率、奇偶校驗(yàn)等設(shè)置。字長(zhǎng)可以設(shè)置為32位或25位。外部提供的工作時(shí)鐘為1MHz,內(nèi)部接收和發(fā)送速率可以設(shè)置為100kb/s或12.5kb/s。奇偶校驗(yàn)由控制字PARCK(BD12)決定。該位置0為奇校驗(yàn),置1為偶校驗(yàn)。
3.2 接收數(shù)據(jù)
數(shù)據(jù)接收部分以對(duì)中斷響應(yīng)的處理為核心。因?yàn)镠S-3282有兩個(gè)接收器,因此在硬件設(shè)計(jì)時(shí),將接收器標(biāo)志DR1/、DR2/分別與單片機(jī)的INT0和INT1相連接,當(dāng)產(chǎn)生接收中斷時(shí),首先判斷是哪個(gè)接收器引起的中斷,再進(jìn)行相關(guān)的信息接收處理。中斷接收數(shù)據(jù)先存放在數(shù)據(jù)緩沖區(qū)內(nèi),再由主程序讀出。
3.3 發(fā)送數(shù)據(jù)
在進(jìn)行數(shù)據(jù)發(fā)送過(guò)程中,首先檢查發(fā)送器的狀態(tài),只有當(dāng)標(biāo)志位TX/R為1時(shí),發(fā)送器才能工作;再將待發(fā)送數(shù)據(jù)送至發(fā)送緩沖區(qū)內(nèi),通過(guò)對(duì)相應(yīng)的發(fā)送使能信號(hào)PL1/、PL2/及ENTX進(jìn)行控制,實(shí)現(xiàn)ARINC429總線數(shù)據(jù)的發(fā)送。
利用FPGA 技術(shù)來(lái)實(shí)現(xiàn)ARINC429總線接口的控制,具有結(jié)構(gòu)簡(jiǎn)單、體積小、設(shè)計(jì)靈活、可靠性高等優(yōu)點(diǎn)。
參考文獻(xiàn)
[1]?朱國(guó)軍,于坤林.機(jī)載計(jì)算機(jī)原理與應(yīng)用[M].長(zhǎng)沙:國(guó)防科技大學(xué)出版社,2002:150-154.
[2] ?EDA先鋒工作室,王誠(chéng). FPGA/CPLD設(shè)計(jì)工具Xilinx?ISE5.x使用詳解[M].北京:人民郵電出版社,2003.