<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于單片機的航管應答機高度模擬器設計

          基于單片機的航管應答機高度模擬器設計

          作者: 時間:2014-04-11 來源:網(wǎng)絡 收藏

          本文引用地址:http://www.ex-cimer.com/article/258374.htm

          針對在地面測試時需要專用氣壓源提供模擬高度信息的缺點,分析了高度接口信號的特性,總結出高度數(shù)值與高度接口信號之間的對應關系,設計了基于硬件電路,編制了軟件流程,并進行了調試使用,結果表明,該具有操作簡便、精度高、性價比高等特點,已廣泛應用于航管應答機的中繼級和大修級維修領域。

          航管應答機是二次雷達系統(tǒng)中的機載設備,無需人工參與,即能自動應答地面雷達對飛機的代碼和高度詢問。航管應答機需要應答的代碼信息可通過航管應答機的控制盒根據(jù)飛機的編號進行人工設置,高度信息則是由飛機上的大氣機通過探測飛機的飛行高度進行實時提供。當在地面對航管應答機進行測試時,所需的高度信息一般通過專用的氣壓源為航管應答機測試提供模擬高度,專用氣壓源價格高,便攜性差,操作使用不便。通過分析解讀專用氣壓源與航管應答機之間的接口特性和信號定義。如果利用為核心,通過擴展相關接口,模擬氣壓源高度輸出接口信號特性,并增加相應的顯示和控制電路,即可完全替換專用氣壓源在航管應答機地面測試中的應用。

          1高度接口信號分析

          1.1編碼特性

          航管應答機高度接口信號單位為英尺,范圍在-1200~126700,步進值為100英尺,接口信號的編碼采用格雷碼循環(huán)編碼。格雷碼是一種數(shù)字排序系統(tǒng),其中的所有相鄰整數(shù)在它們的數(shù)字表示中只有一個數(shù)字不同,它在任意兩個相鄰的數(shù)之間轉換時,只有一個數(shù)位發(fā)生變化,大大減少了由一個狀態(tài)到下一個狀態(tài)時邏輯的混淆,其編碼數(shù)據(jù)與十進制數(shù)據(jù)之間的對應關系如表1所示。在選用格雷碼編碼時既可以選用表1中的對應關系,也可以選用部分格雷碼重新定義與十進制的對應關系。



          高度接口信號的編碼采用11位格雷碼循環(huán)編碼,形成三位編碼數(shù),自左至右其權值分別為8000、500和100,其中左邊一位編碼數(shù)是四位格雷碼(16個數(shù)),用D2 D4 A1 A2表示,對應于表1中的0~15.右邊一位是三位格雷碼(5個數(shù)循環(huán)),用C1 C2 C4表示,選用表1中的格雷碼0001、0011、0010、0110、0100,采用的是循環(huán)編碼的形式,對應于十進制數(shù)的0、1、2、3、4或4、3、2、1、0,在第一個周期內對應于0、1、2、3、4,在下一個周期內對應于4、3、2、1、0,緊接著后面的周期內又重新對應于0、1、2、3、4,以后逐次循環(huán)。中間一位是四位格雷碼(16個數(shù)循環(huán)編碼),用A4 B1 B2 B4表示,對應于表1中的0~15或15~0,循環(huán)形式如右邊一位格雷碼。為了方便編碼,在對高度數(shù)據(jù)進行編碼時首先加上1200,這樣,高度數(shù)據(jù)的最小值-1 200就變成了000,然后對000進行格雷碼編碼為001,既代表了-1 200英尺的模擬高度。

          1.2數(shù)據(jù)傳輸格式

          高度接口信號有效數(shù)據(jù)碼為11位,加上同步信號和校驗字共需傳輸4個字節(jié)32位數(shù)據(jù),其數(shù)據(jù)發(fā)送順序如表2所示,其中同步信號占一個字節(jié),首先傳輸;數(shù)據(jù)字節(jié)占2個字節(jié)緊接著同步字節(jié)傳輸,11位有效數(shù)據(jù)傳送順序如表所示,未占用數(shù)據(jù)位填充0;校驗字節(jié)占1個字節(jié),最后傳輸,其各位數(shù)據(jù)值為前3個字節(jié)對應位異或所得的結果。



          1.3接口類型

          不同型號的應答機高度信號通信接口類型略有不同,常用的包括RS-422和ARINC429兩種類型,RS-422和ARINC429均是工業(yè)和航空領域常用的通信接口,也都有較多的專用芯片供選用。

          1)RS-422接口

          RS-422接口是一種應用非常廣泛的通信接口,他采用單獨的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間的信號交換均可選用軟件握手或硬件連接的方式。RS-422信號采用了差分形式的傳輸形式,具有較強的抗干擾能力。RS-422接口最大傳輸距離可達4 000英尺,最大傳輸速率為10Mb/s.

          2)ARINC429信號

          ARINC429數(shù)據(jù)總線是美國航空無線電公司(ARINC)制定的一種民用飛機機載總線規(guī)范,它是一種面向接口型的單向廣播式串行數(shù)據(jù)傳輸總線,在一條總線上定義有一個發(fā)送器和一個或多個接收器,以差動輸出的對稱方式工作,采用雙絞屏蔽線異步傳輸數(shù)據(jù)。ARINC429總線結構簡單、性能穩(wěn)定、傳輸可靠,抗干擾能力強。

          2硬件電路設計

          硬件電路組成框圖如圖1所示,以89C52最小應用系統(tǒng)為數(shù)據(jù)的采集和處理核心,并擴展了422接口轉換、429接口轉換、高度碼采集、顯示、復位和譯碼等部分電路。其中422接口轉換電路與單片機的RXD、TXD接口分別選用單片機的P3.0、3.1,D0~D7選用P0口,顯示電路中的DDAT、DCLK和DEN分別選用P2.0、P2.1和P2.2.


          圖1 硬件電路組成框圖

          2.1顯示電路

          由于要顯示的高度數(shù)據(jù)范圍在-1 200~126700英尺之間,由于步進值為100,最后兩位始終為00,因而顯示位數(shù)可以設置為8位,其中最左邊為符號位,最右邊為單位符號“F”。由于顯示內容簡單,因而顯示電路采用數(shù)碼管的形式進行顯示。數(shù)碼管驅動芯片MAX7219是美國MAXIM公司生產(chǎn)的串行輸入/輸出共陰極顯示驅動器。該芯片可直接驅動最多8位7段數(shù)字LED顯示器,它與單片機的接口非常簡單,僅用3個引腳與單片機相應端連接即可實現(xiàn)對數(shù)碼管的驅動,其電路原理圖如圖2所示。其中“DIN”為串行數(shù)據(jù)輸入端口,在時鐘“CLK”上升沿將數(shù)據(jù)載入內部16位寄存器:“LOAD”裝載數(shù)據(jù)有效位,連續(xù)數(shù)據(jù)的后16位在“LOAD”上升沿時被鎖定。DIG0~DIG7用于選擇數(shù)碼管中的顯示位數(shù),SEGA~G、SEG DP用于確定顯示的數(shù)值和小數(shù)點。


          圖2 顯示電路原理圖

          2.2 ARINC429接口電路

          實現(xiàn)ARINC429接口信號可采用分立元器件搭建,也可選用專用接口芯片如HS-3282/3182、DEI1016/BD429、HI6010/HI8586/8588等,還可以選用FPGA進行開發(fā)設計。目前選用專用接口芯片構建ARINC429接口電路是性價比較高的實現(xiàn)方式。由于HI-6010是專用于8位數(shù)據(jù)總線的ARINC429接口芯片,與8位單片機AT89C52的硬件接口簡單,因而本系統(tǒng)中選用該芯片,其硬件電路原理圖如圖3所示。其中HI-6010是實現(xiàn)ARINC429協(xié)議的主體。HI-8586和HI-8588分別用于ARINC429發(fā)送數(shù)據(jù)和接收數(shù)據(jù)時信號的電氣特性調理與適配。


          圖3 ARINC429接口電路原理圖

          3軟件流程設計

          為了方便的程序的編寫與調試,軟件語言采用C語言,程序采用模塊化結構。根據(jù)軟件的功能將整個程序分為顯示子程序、高度數(shù)據(jù)采集子程序、高度碼處理、發(fā)送子程序等部分。其主程序流程如圖4所示,高度碼處理子程序如圖5所示。


          圖4 主程序流程圖 圖5 高度碼處理子程序流程圖


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();