王 燕
WANG Yan
(西安科技大學(xué) 機械工程學(xué)院,西安 710054)
ARINC429總線是目前民用航空電子各子系統(tǒng)之間最常用的通信總線[1]?,F(xiàn)代機載電子設(shè)備中有多種系統(tǒng)設(shè)備采用了ARINC429總線聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)通信的,當(dāng)ARINC429總線或掛接的機載電子設(shè)備發(fā)生故障時,整個數(shù)據(jù)傳輸將會出現(xiàn)異常。為了于眾多聯(lián)網(wǎng)的機載設(shè)備中快速排查出故障點,筆者設(shè)計了一種便攜式的分析儀。它通過與機載電子設(shè)備進(jìn)行點對點的數(shù)據(jù)收發(fā),能夠快速排查出故障設(shè)備,為航空機載電子設(shè)備的日常維護(hù)和故障檢測提供了一種快捷的輔助手段。
ARINC429總線是美國航空無線電公司(ARINC)制定的民用航空數(shù)字總線傳輸標(biāo)準(zhǔn),它規(guī)定了使用該總線的航空電子設(shè)備的信息流向和ARINC429基本數(shù)據(jù)字的格式。ARINC429總線采用普通雙絞線為傳輸介質(zhì),速率為100kbps或12.5kbps,以串行方式傳輸信號,采用雙極性歸零調(diào)制方式,即調(diào)制信號為邏輯1、邏輯0和等待組成的三種電平狀態(tài)。在基本的調(diào)制信號中攜帶了位同步信息,位同步是由雙極歸零的零狀態(tài)變至“邏輯1”或“邏輯0”的狀態(tài)變化來識別的;每個數(shù)據(jù)字間有四位以上的等待間隔就能夠保證字同步。接收端差動電壓范圍為:邏輯1:+6.5V~+13V;等待狀態(tài):+2.5V~-2.5V;邏輯0:-6.5 V~ -13V。
ARINC429 通信采用的是帶奇偶校驗的32位信息字,一個標(biāo)準(zhǔn)的ARINC429數(shù)據(jù)字包含如表1中的五部分。
表1 ARINC429 數(shù)據(jù)字格式
標(biāo)號:LABEL(第1-8 位),ARINC429總線規(guī)范對傳輸?shù)拿恳粋€數(shù)據(jù)都規(guī)定了標(biāo)號用于識別其信息類型,標(biāo)號采用八進(jìn)制編碼,代表八進(jìn)制數(shù)0 377,通過LABEL可識別所傳輸?shù)氖鞘裁磪?shù)。如:067表示東西速度;源/目的識別碼:SDI(第9-10 位),用作數(shù)據(jù)的源、目的標(biāo)識。當(dāng)需要將數(shù)據(jù)發(fā)送給總線上多個接收端中的某個接收端時,用SDI 識別數(shù)據(jù)字的目的地,或可根據(jù)字內(nèi)容來判明一個多系統(tǒng)的源系統(tǒng);數(shù)據(jù)信息:DATA(第11-29 位),數(shù)據(jù)字通常采用BNR(二進(jìn)制編碼的十進(jìn)制數(shù)據(jù))或BCD(二-十進(jìn)制表示法編碼)編碼方式;SSM (第30-31 位):符號/狀態(tài)位,符號表示數(shù)據(jù)字的特性,如正、負(fù)號,方向東南西北等,也可表示發(fā)送設(shè)備的狀態(tài)信息,如:故障警告(FW)、非計算數(shù)據(jù)(NCD)等;奇偶校驗位:P(第32 位),ARNIC429 數(shù)字信息系統(tǒng)奇偶校驗位邏輯提供的是奇校驗,可實現(xiàn)數(shù)據(jù)校驗功能。
本系統(tǒng)采用雙單片機、低功耗設(shè)計,配合C51編寫系統(tǒng)軟件。它能夠?qū)崿F(xiàn)ARINC429數(shù)據(jù)的準(zhǔn)確接收、發(fā)送及顯示。
系統(tǒng)的硬件電路由ARINC429總線接口電路、數(shù)據(jù)驅(qū)動電路以及鍵盤電路、液晶顯示電路和電源監(jiān)測電路等部分構(gòu)成。系統(tǒng)工作原理框圖如圖1所示。本系統(tǒng)采用了雙單片機結(jié)構(gòu),主控CPU是AT89S51單片機,配合ARINC429協(xié)議電路HS-3282以及自設(shè)計的電平驅(qū)動電路,能夠?qū)崿F(xiàn)ARINC429數(shù)據(jù)的發(fā)送和接收;輔助CPU選用了AT89C2051,用來采集鍵值、監(jiān)測電池容量,并通過串口將采集到的數(shù)據(jù)送入主控單片機中。
圖1 系統(tǒng)工作原理框圖
2.1.1 HS-3282總線協(xié)議芯片
HS-3282是美國Harris公司的429總線協(xié)議電路,符合ARINC429的規(guī)范要求。其主要性能指標(biāo):數(shù)據(jù)傳輸速率12.5kb/s或100kb/s,字長32位或25位,字間隔至少為4位,奇偶校驗位自動檢測及產(chǎn)生,單電源+5 V供電,低功耗。
HS-3282芯片有1個發(fā)送器和2個接收器,各自獨立工作。2個獨立的接收器輸入電平滿足ARINC429總線協(xié)議,無需電平轉(zhuǎn)換就能夠與ARINC429總線直接相連,并能完成接收數(shù)據(jù)的串-并轉(zhuǎn)換;發(fā)送器主要由先進(jìn)先出 (FIFO)內(nèi)存和定時電路組成,F(xiàn)IFO內(nèi)存可保存8個32位串行發(fā)送的ARINC數(shù)據(jù)字,定時電路按照ARINC規(guī)范的要求自動分隔每個ARINC數(shù)據(jù)字,并自動產(chǎn)生奇偶校驗位。發(fā)送器將2個16位的并行數(shù)據(jù)轉(zhuǎn)換成32位TTL電平的串行數(shù)據(jù)輸出。但由于輸出的是TTL電平,所以必需通過專門的電平驅(qū)動電路(如:與HS-3282配套的總線驅(qū)動芯片HS-3182)將電平轉(zhuǎn)換為雙極性歸零碼發(fā)送到ARINC429數(shù)據(jù)總線上。HS-3282芯片是集429數(shù)據(jù)收發(fā)一體,所以僅需很少的外圍電路,再經(jīng)過簡單的編程控制就可以實現(xiàn)ARINC429數(shù)據(jù)的收發(fā)功能[2]。
2.1.2 ARINC429總線接口電路
ARINC429總線接口電路通過AT89S51與ARINC429總線協(xié)議電路HS-3282的連接,硬件上實現(xiàn)了ARINC429數(shù)據(jù)的收發(fā)功能。為了解決單片機的8位數(shù)據(jù)與HS-3282的16位數(shù)據(jù)及其多種控制、狀態(tài)信號的轉(zhuǎn)換、聯(lián)系,該部分電路設(shè)計上首先利用82C55可編程I/O擴展芯片的B、C口實現(xiàn)AT89S51的8位數(shù)據(jù)和HS-3282的16位數(shù)據(jù)之間的轉(zhuǎn)換,從而解決了單片機8位數(shù)據(jù)總線與HS-3282的16位數(shù)據(jù)總線的連接;其次通過82C55的A口接收HS-3282的3個狀態(tài)信號 D/R1、D/R2、TXR供主控CPU程序中查詢,使其可根據(jù)需要配置相應(yīng)的控制線控制HS-3282進(jìn)行數(shù)據(jù)的接收和發(fā)送。
2.1.3 ARINC429數(shù)據(jù)發(fā)送驅(qū)動電路
圖2 ARINC429總線接口電路簡圖
圖3 ARINC429電平驅(qū)動電路原理圖
ARINC429總線協(xié)議芯片HS-3282可直接接收總線數(shù)據(jù),但發(fā)送數(shù)據(jù)時由于串口429DO、429DO輸出CMOS電平信號,無法直接發(fā)送到429總線上,因此需先將CMOS電平轉(zhuǎn)換成ARINC429總線電平后,方可將數(shù)據(jù)送上429總線供聯(lián)網(wǎng)的機載電子設(shè)備接收。本系統(tǒng)研制了一種簡單、實用、價格低廉的電平驅(qū)動電路, 取代了專用配套的429電平驅(qū)動芯片(如HS-3182、HI-8382)。該電路可按照429規(guī)范正確發(fā)送數(shù)據(jù)。其工作原理如圖3所示。
ARINC429接口芯片HS-3282的兩個串行輸出端429DO/、429DO,經(jīng)由74HC14施密特電路整形后進(jìn)入差動比例運放電路,可得到對應(yīng)的三態(tài)壓差信號。圖4為電路各點的電平時序圖,驅(qū)動電路輸出電壓VO1和VO2能滿足ARINC429接收端的電平要求。
圖4 驅(qū)動電路工作波形圖
2.1.4 其他功能電路
除了完成429數(shù)據(jù)的收發(fā),該系統(tǒng)的設(shè)計功能還包括:用戶通過鍵盤輸入待發(fā)送數(shù)據(jù),液晶顯示接收或待發(fā)送數(shù)據(jù),實時監(jiān)控程序的運行、實時監(jiān)測電池電壓容量以便電壓不足時報警。為了完成這些功能,系統(tǒng)還設(shè)計了鍵盤電路、顯示電路以及電壓監(jiān)測電路等。
鍵盤電路采用AT89C2051來檢測鍵盤指令的輸入,4×4矩陣按鍵設(shè)計包括09數(shù)字鍵、編輯鍵、翻頁鍵、奇偶設(shè)定鍵、高低速設(shè)定鍵等。通過按鍵命令用戶可以選擇發(fā)送航跡角、經(jīng)度、緯度等多種參數(shù),或分頁查詢顯示多個數(shù)據(jù)字,調(diào)試其它設(shè)備時輸入多種控制指令。顯示部分選用OCMJ型中文模塊圖文液晶顯示器,該顯示器可以顯示點陣漢字或相關(guān)的位圖形。用它實現(xiàn)機載電子設(shè)備中有關(guān)參數(shù)值的具體含義、數(shù)據(jù)的顯示及電池電量的顯示。
電源監(jiān)測電路采用A/D轉(zhuǎn)換器TLC549采集電池的端電壓值,液晶顯示電壓容量,并于儀器電池電壓較低時驅(qū)動蜂鳴器報警,提示用戶及時充電。系統(tǒng)啟用了AT89S51內(nèi)置看門狗復(fù)位電路對系統(tǒng)軟件運行實行監(jiān)控,可實現(xiàn)程序運行異常后的快速自動復(fù)位。
系統(tǒng)軟件設(shè)計采用C51編程,該分析儀具有按鍵輸入用戶命令及發(fā)送數(shù)據(jù),液晶顯示發(fā)送/接收數(shù)據(jù)和當(dāng)前電量,并具有電量不足報警等功能。系統(tǒng)軟件包括鍵盤掃描鍵值處理、數(shù)據(jù)收/發(fā)、狀態(tài)譯碼以及液晶顯示等程序。限于篇幅,現(xiàn)僅就429數(shù)據(jù)收/發(fā)、處理程序予以簡述。
圖5 電池電壓采集電路圖
數(shù)據(jù)接收:首先主控CPU在程序中將I/O口擴展芯片82C55的A、B、C口均設(shè)置為輸入方式。隨后查詢D/R信號狀態(tài),若有效CPU就可發(fā)出接收429數(shù)據(jù)的時序。由于HS-3282為16位據(jù)總線,所以從429總線上接收的32位串行數(shù)據(jù)經(jīng)串并轉(zhuǎn)換后被分成兩個16位字。接收時序先置SEL=‘0’再給EN一個正脈沖,第一個16位字就出現(xiàn)在HS-3282的數(shù)據(jù)總線BD0~BD15上,CPU通過82C55的B、C口讀取第一個16位字。后置SEL=‘1’再給EN一個正脈沖,第二個16位字也會被CPU通過82C55的B、C接收。在程序中按照429數(shù)據(jù)字格式,再分離整和出對應(yīng)的LABEL值以及數(shù)據(jù),送給液晶顯示。這樣便完成了一個32位數(shù)據(jù)的接收與顯示。
數(shù)據(jù)發(fā)送:輔助CPU程序執(zhí)行循環(huán)式鍵盤掃描,若掃描到有鍵按下先進(jìn)行延時、消抖及重鍵處理,隨后判斷按鍵鍵值并將鍵值通過串口發(fā)送給主控CPU。主CPU在收到足夠的鍵值數(shù)據(jù)后啟動按鍵處理程序:首先把接收到的前3個鍵值(代表3位八進(jìn)制)作為LABEL值,與相關(guān)數(shù)據(jù)按格式組合成第一個16位數(shù)據(jù);然后將剩下的數(shù)據(jù)組合成第二個16位數(shù)據(jù)。接收到發(fā)送命令鍵后就可擇機啟動發(fā)送。發(fā)送數(shù)據(jù)時,主控CPU先將82C55的B、C口設(shè)置為輸出方式,A口為輸入方式,查詢TXR狀態(tài)信號,如果TXR為1則表示FIFO為空CPU可以發(fā)送這個數(shù)據(jù)。則分時選通PL1、PL2加載待發(fā)送字之后置ENTX為1,這樣HS-3282就可將FIFO中的數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)由429DO、429DO發(fā)出。一 個 32位數(shù)據(jù)的發(fā)送即完成了。
實驗結(jié)果表明:該分析儀結(jié)構(gòu)簡單、攜帶操作靈活方便,能夠完成ARINC429數(shù)據(jù)總線和機載電子設(shè)備的檢測,提高了排查機載電子設(shè)備故障點的效率,具有較好的應(yīng)用及推廣價值。
[1] 李華.單片機應(yīng)用技術(shù)選編[M]. 北京: 北京航空航天大學(xué)出版社,1993.
[2] 高揚,徐景碩.實現(xiàn)ARINC429總線數(shù)據(jù)傳輸?shù)姆椒╗J].測控技術(shù),2002,8. p64-65.
[3] HS - 3282 CMOS ARINC429 Bus Interface[Z].
[4] 肖前遠(yuǎn),張育平.基于ARINC429 總線數(shù)據(jù)仿真測試方法的研究與應(yīng)用[J].航空電子技術(shù),2010,41: 27-36.
[5] 王恒,武恒州,佘士強.用8位單片機實現(xiàn)ARINC429總線數(shù)據(jù)傳輸[J].飛機設(shè)計,2010,30(2): 78-80.
[6] 尹海昌,李建新.基于單片機的ARINC429信號發(fā)生器設(shè)計與實現(xiàn)[J]. 信息工程大學(xué)學(xué)報,2006,7(4): 380-382,390.
[7] 高鋮.基于MSP430單片機實現(xiàn)ARINC429總線通訊的硬件設(shè)計[J].電子元器件應(yīng)用,2010,12(3): 30-32.