李 維,喻虹娜,王 俊,曾慶云,陳曉冬
(中航工業洪都,江西南昌330024)
某型飛機應答機原來配套的方式C高度編碼器,在飛機向場管報告飛機高度時,由于收集的靜壓存在飛機氣流擾動誤差,造成高度編碼器輸出的飛機高度有明顯的誤差,隨機誤差最大可達±150英尺。由于高度顯示和送往應答機差異很大,因此需研制新型高度編碼器,與某型飛機的應答機配套,以解決高度誤差問題。
某型飛機高度編碼器主要任務是將大氣機輸出的高度信號轉換為應答機需要的C模式的格雷碼信號,其組成如圖1所示。
高度編碼器采用一個ARINC429專用的數據發送與接收芯片HS-3282,對大氣機所發出的ARINC429數據進行采集。該芯片可以將ARINC429的雙極性歸零制三態輸出碼轉換成CPU能夠接受的二態TTL脈沖信號。同時將±10V的電壓電平轉換成±5V的電壓電平。CPU接收HS-3282轉換后的ARINC429數據,選擇修正氣壓高度信號HC和氣壓裝訂信號PBS進行數據轉換計算。最后,按ARINC572的要求,將最終計算結果氣壓高度信號HP進行電平轉換和格式轉換后,向應答機輸出并行高度編碼信號。
圖1 高度編碼器組成
轉換原理如下:
1)接收大氣數據計算機的修正氣壓高度和氣壓裝訂信號(ARINC429串行信號);
2)由氣壓裝訂的壓力值(mmHg)計算或查表給出裝訂高度(M);
3)修正氣壓高度+裝訂高度,給出相對海平面的絕對高度;
4)由公制的絕對高度(m)換算成英制的絕對高度(ft);
5)輸出格雷碼格式的英制絕對高度。
轉換原理如圖2所示。
圖2 轉換原理
高度編碼器硬件電路原理如圖3所示。整個硬件電路主要由I/O電路模塊、降壓/穩壓模塊、時序控制模塊及HS-3282組成。I/O電路模塊即兩路數據輸入(429I1、429I2)、一路數據輸出(C模式格雷碼)。降壓/穩壓功能主要由WRB-SP-3W電源芯片實現,首先飛機輸入的28V電壓經過濾波,然后輸入到電源芯片內,WRB-SP-3W將經過濾波的直流電壓降壓為單片機能夠接受的5V電壓,它可以滿足30-18V電源的輸入。時序控制模塊主要由CPU和時鐘電路組成,主要完成數據總線的開閉和對HS-3282的控制。HS-3282主要完成對ARINC429數據的接收以及將其轉換成為CPU能夠接收的數據信號,通過時序電路的控制,將數據發送給CPU進行計算。
圖3 高度編碼器硬件電路原理
2.1.1 HS-3282芯片簡介
HS-3282是美國HARRIS公司推出的一款高性能的COMS型429總線接口電路,其工作頻率為1MHz,單電源+5V供電,低功耗,直接與ARINC429總線連接,一路發送,兩路接收。接收器和發送器相互獨立,同時工作。雙通道接收器之間也是獨立的并行接收,可以直接連接到ARINC429總線,而不需要電平轉換。還有一個主要功能就是將ARINC429總線上的±10V電壓信號轉換為CPU能夠接收TTL+5V電壓信號。數據字長可以是標準的32Bit或25Bit,接收數據時進行校驗,而發送數據時產生校驗。內部定時器可自動調整字間隙。其發送緩沖是一個8×32Bit的FIFO。其內部結構如圖4所示。
圖4 HS-3282內部結構
2.1.2數據對應關系
ARINC429總線上(接收器輸入或發送器輸出)的數據格式如表1所示,它主要包括:奇偶校驗位(P)、數據狀態位(SSM)、符號位(SIGN)、數據最高有效位(MSB)、數據區(DATA)、數據最低有效位(LSB)、源/目標標識位(SDI)和標志位(LABEL)。
當HS-3282接收到ARINC429總線上的數據之后,將其轉換為他自己的數據格式。然后經過時序控制電路,將數據發送到單片機。由圖4可以看出HS-3282的外部數據總線是16位,而ARINC429數據信號是32位,所以HS-3282是分兩次讀出所接收到的串行數字量。HS-3282將ARINC429數據分成了兩個部分,即兩個字。具體對應如表2、表3所示。
表1 ARINC429數據格式定義
表2 HS-3282接收第一個字的格式
表3 HS-3282接收第二個字的格式
51系列單片機內部包含有一個8位的中央處理器CPU、4K×8ROM、128×8RAM、4個8位并行I/O接口、32條I/O接口引出線、一個全雙工串行通訊接口、2個16位定時器/計數器和21個具有特殊功能的寄存器。AT89C52單片機就是51系列單片機中的一種型號。在ARINC429接口電路中,主要使用了51單片機的并行I/O口、中斷等功能。
圖5 軟件系統主程序流程
首先,AT89C52根據HS-3282控制字的格式,確定好其相應的控制方式。寫好控制字,將其放在總線上。通過P3.0將其寫入HS-3282,進行初始化設置。設定ARINC429字長為32位,傳送速率為100Kbit/s。
AT89C52通過P3.1、P3.2、P3.3對HS-3282進行控制,將HS-3282轉換后的數據發送到P0口和P2口,然后通過中斷方式接收數據。先接收前16位總線的信號,進行數據標號識別和SSM判斷,如果數據有效且是需要的信號,進行第二個16位數據接收。
當接收到修正氣壓高度信號HC和氣壓裝訂信號Pbs后,先對氣壓裝訂數據進行判斷,看其范圍是否在要求的400mmHg—825mmHg范圍內,在范圍正確的前提下,確定查表指針。在事先預存在CPU的400mmHg—825mmHg范圍內每個0.25 mmHg的換算表(共1701個點)中,查找其對應的換算值。
對查到的換算值及修正氣壓高度進行正負判斷,進行流程圖所示的操作。得到結果即為絕對高度Hp,接著進行公制轉英制計算:
H絕對高度(ft)=H 絕對高度(m)×3.28084最后一步就是將絕對高度轉換成格雷碼。
對于C模式高度編碼采用11位脈沖以格雷碼編碼格式進行。11位脈沖編成三組,其編排順序如下:
D2 D4 A1 A2 A4 B1 B2 B4 C1 C2 C4
高度范圍為-1000英尺到126700英尺,高度編碼增量為100英尺。
脈沖組D2 D4 A1 A2組成每8000英尺高度增量的16個格雷碼,脈沖組A4 B1 B2 B4組成每500英尺高度增量的16個格雷碼,脈沖組C1 C2 C4組成每100英尺高度增量的5個“五周期循環碼”。末位超過或等于50英尺進100英尺,不足50英尺舍去。
由于起始點為-1200英尺,編碼時應加1200英尺計算。對于A4 B1 B2 B4組,當上一位有進位,且進位奇數時,取該組的數的補數,一直到上一組為偶數時止,此時該組不取補數,取正常的數。對C1 C2 C4組,上二組同為奇數或同為偶數時取正常的數,當上二組為一奇數與一偶數時,取該組數的補數.格雷碼編碼如表4所示,五周期循環碼如表5所示。
表4 格雷碼編碼
表5 五周期循環碼
格雷碼具體轉換方法:
1)Hft=Hft+1200
2)D2d4a1a2=Hft/8000(取余數HY1)
3)A4b1b2b4=HY1/500(取余數HY2)
4)C1c2c4=HY2/100
將除法所得的數據轉換為相應的格雷碼。
注1:對于A4 B1 B2 B4組,當上一位有進位,且進位為奇數時,取該組的數的補數,一直到上一組為偶數為止,此時該組的數不取補數,而取正常的數。對于C1 C2 C4組,上兩組同時為奇或同時為偶數時取正常的數,當上兩組為一奇一偶時,則取該組的補數。
注2:在Hft加1200之后,應對其進行四舍五入。若后兩位大于50則百位加1,個十位清零;若后兩位小于50,則后兩位清零。
文章針對高度編碼器的本身應具有的功能,結合HS-3282芯片和ARINC429總線的特點,簡要介紹了基于HS-3282和ARINC429總線通訊的硬件設計方法和軟件計算方法。該產品的硬件電路結構簡單,數據通訊程序可讀性好,數據采集傳輸準確可靠。目前該產品已裝配飛機,使用情況正常,信號穩定,數據正確。
[1]DD-03282 ARINC-429 TRANSCEIVER.
[2]王瑞.航空ARINC429總線接口控制芯片HS-3282的原理及應用.電子元器件應用,2006,6.