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