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