吳鵬,吳新強(qiáng)
(廣州海格通信集團(tuán)股份有限公司,廣州 510000)
基于AT89S52的ARINC429航空通訊總線設(shè)計(jì)
吳鵬,吳新強(qiáng)
(廣州海格通信集團(tuán)股份有限公司,廣州510000)
ARINC429總線結(jié)構(gòu)簡(jiǎn)單,數(shù)據(jù)結(jié)構(gòu)統(tǒng)一,抗干擾性強(qiáng),廣泛地應(yīng)用在航空通信領(lǐng)域中。采用價(jià)格低廉的AT89S52單片機(jī)作為主控制器設(shè)計(jì)一套ARINC429的收發(fā)系統(tǒng),重點(diǎn)闡述實(shí)現(xiàn)ARINC429總線的方法,并結(jié)合DEI1016和BD429給出詳細(xì)的硬件設(shè)計(jì)電路和C語(yǔ)言代碼,能夠直接應(yīng)用在實(shí)際的開發(fā)中。列舉開發(fā)ARINC429時(shí)經(jīng)常遇到的問(wèn)題,并給出詳細(xì)的解釋,為后續(xù)開發(fā)擴(kuò)展做準(zhǔn)備。該套系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,穩(wěn)定可靠,在ARINC429航空通訊總線設(shè)計(jì)中有一定的參考價(jià)值。
AT89S52;ARINC429;航空通訊總線
ARINC429是一種航空電子總線,其協(xié)議規(guī)定了航空電子設(shè)備及有關(guān)系統(tǒng)間的數(shù)字信息傳輸要求,由于其具有總線結(jié)構(gòu)簡(jiǎn)單,性能優(yōu)良,在先進(jìn)的民航客機(jī)中得到了廣泛的應(yīng)用。ARINC429總線是一對(duì)單向,差分信號(hào)傳輸?shù)拇袉蜗騻鬏斂偩€,同一個(gè)時(shí)刻,每個(gè)總線上只允許有一個(gè)發(fā)送設(shè)備和最多20個(gè)接收器,信息只能從通信設(shè)備的發(fā)送端口輸出,經(jīng)傳輸總線傳至與它相連的需要該信息的其他設(shè)備的接收端口,不能倒流至已規(guī)定為發(fā)送的端口中[1]。ARINC的信息傳輸速率分高低兩檔,高速為100kbps,低速為12.5kbps,接收和發(fā)送通道是相互獨(dú)立的。ARINC429數(shù)據(jù)發(fā)送時(shí)經(jīng)過(guò)二級(jí)差分驅(qū)動(dòng),前級(jí)是TTL電平即邏輯1為5V,邏輯0為0V,進(jìn)過(guò)驅(qū)動(dòng)的第二級(jí)輸出V+,V-的電平和本文選取的BD429的參考電壓有關(guān),差分運(yùn)算的結(jié)果是參考電壓的兩倍[2]。
ARINC429數(shù)據(jù)格式定義如表1所示。
1-8位位標(biāo)號(hào)位,代表發(fā)送信息的類型,9-10位是源終端識(shí)別(SDI),指示信息的來(lái)源或信息的終端,11-29數(shù)據(jù)位,代表發(fā)送的數(shù)據(jù),30-31(SSM),指出數(shù)據(jù)的特性,32位(P)為奇偶校檢位。
表1 ARINC429數(shù)據(jù)格式
在設(shè)計(jì)中,ARINC429收發(fā)器以 DEI公司的DEI1016及BD429線性驅(qū)動(dòng)器來(lái)配套使用。
1.1DEI1016簡(jiǎn)介
DEI1016是Device Engineering公司研制生產(chǎn)的一種可支持ARINC429航空總線協(xié)議的串行收發(fā)器件,改器件的主要功能如下:(1)兩個(gè)接收通道,一個(gè)發(fā)送通道(2)環(huán)繞自測(cè)試模式(3)串行數(shù)據(jù)字長(zhǎng)25位或者32位(4)8個(gè)字的發(fā)送緩沖器(5)接收通道可以直接連到ARINC429數(shù)據(jù)總線 (6)串行速率為100Kbps或12.5Kbps(7)可自動(dòng)產(chǎn)生字與字之間的間隔[3]。DEI1016只需要5V供電,接收和發(fā)送通道可以同時(shí)工作,兩個(gè)接收通道互相也是獨(dú)立運(yùn)行的,可以直接連接到ARINC429通訊總線上,不需要電平轉(zhuǎn)換。
1.2BD429芯片簡(jiǎn)介
BD429是滿足ARNIC429規(guī)范的、雙極性數(shù)據(jù)輸入線驅(qū)動(dòng)器,兼容輸入TTL和CMOS電平。本設(shè)計(jì)中BD429供電電壓為5V,當(dāng)BD429工作在429模式中,在DATA(A)和DATA(B)管腳中輸入串行數(shù)據(jù),通過(guò)SYNC和CLOCK輸入管腳使能驅(qū)動(dòng),在Aout和Bout中,輸出0v,+5V,-5V的電壓[4]。如下表2所示:
表2 BD429真值表
本文選用 AT89S52單片機(jī)作為主控器,與DEI1016芯片進(jìn)行并行連接可充分發(fā)揮其特性,單片機(jī)通過(guò)串口接收要發(fā)送的數(shù)據(jù),通過(guò)DEI1016發(fā)送到BD429,BD429將其發(fā)送通道的+5V~-5V電平抬至+ 10V~-10V發(fā)送到總線。由于DEI1016的接收通道具有內(nèi)部電平轉(zhuǎn)換功能,所以可以直接與總線連接,單片機(jī)可以將DEI1016接受到的數(shù)據(jù)轉(zhuǎn)換格式后通過(guò)串口發(fā)出。
2.1AT89S52外圍電路設(shè)計(jì)
AT89S52采用TQFP44封裝,是一種低功耗,高性能CMOS 8位控制器。本設(shè)計(jì)中將AT89S52的ALE端輸出的1/16晶振頻率信號(hào)接到DEI1016的時(shí)鐘輸入端口,提供DEI1016的發(fā)送和接收時(shí)鐘。由于DEI1016 的1MCk管腳要求輸入1MHz頻率,所以采用晶振頻率為24M的晶振,再通過(guò)分頻器二分頻之后,即可以滿足DEI1016的時(shí)鐘要求。將P0和P2口和DEI1016的芯片的D0-D15連接,以便對(duì)DEI1016的寄存器進(jìn)行讀寫操作。外圍電路設(shè)計(jì)如圖1所示。
2.2DEI1016與BD429芯片連接
本設(shè)計(jì)中擴(kuò)展來(lái)一路收發(fā)通道的接口,由于收發(fā)通道采用的是差分信號(hào)傳輸,所以發(fā)送和接收都有兩個(gè)管腳,即DI(A),D1(B),DO(A),DO(B)。由于DEI1016輸出的DO(A),DO(B)是TTL電平,不能直接連接到ARINC429總線上,需要用電平轉(zhuǎn)換芯片,本文選用BD429,能夠?qū)TL電平轉(zhuǎn)換輸出成ARINC429電平。DEL1016的輸入端口因?yàn)樾酒瑑?nèi)部已經(jīng)做了電平轉(zhuǎn)換,可以直接連接ARINC429總線,不需要再做任何處理。設(shè)計(jì)時(shí),要在BD429的CA和CB管腳要接兩個(gè)68pf的電容才能正常工作。
圖1 AT89S52外圍電路
圖2 DEI1016與BD429連接電路圖
3.1DEI1016初始化
系統(tǒng)上電后,需要對(duì)DEI1016復(fù)位,只需將MR管腳拉低再拉高即可完成芯片復(fù)位。按照下面的時(shí)時(shí)序圖,先拉高LDCW管腳,將要寫入配置DEI1016工作方式的數(shù)據(jù)送到AT89S52的P0,P2口,再拉低LDCW管腳,將數(shù)據(jù)寫到DEI1016寄存器。配置DEI1016的寄存器低四位是無(wú)效的,通過(guò)這些寄存器可以配置發(fā)送數(shù)據(jù)長(zhǎng)度(32位或者是25位),是否進(jìn)行自測(cè)試,奇偶校檢,發(fā)送和接收的數(shù)據(jù)速率等。
圖3 DEI1016初始化時(shí)序圖
3.2DEI1016數(shù)據(jù)發(fā)送
配置DEI1016的工作方式后,按照以下寫數(shù)據(jù)時(shí)序,先判段DEI1016的TXR引腳是否是高電平,如果是高電平,則表示DEI1016的發(fā)送緩沖器為空,既可以發(fā)送數(shù)據(jù)。先禁止發(fā)送使能,將LD1,LD2拉為高電平,將16數(shù)據(jù)寫入word1,然后拉低LD1,即可將word1發(fā)送到數(shù)據(jù)總線,然后拉高LD1。同理寫word2時(shí),拉低LD2,既可以word2發(fā)送到數(shù)據(jù)總線上。
圖4 DEI1016數(shù)據(jù)發(fā)送時(shí)序圖
C語(yǔ)言代碼如下:
3.3DEI1016數(shù)據(jù)接收
先判讀DEI1016的管腳DR1,DR2是否是低電平,如果是低電平,即DEI1016接收通道有有效數(shù)據(jù)。根據(jù)以下時(shí)序,先拉低SEL數(shù)據(jù),再拉低OE1管腳,然后通過(guò)單片機(jī)的管腳讀取總線上的數(shù)據(jù)word1。拉高OE1,SEL后,再拉低OE1,即可以讀取word2。
圖5 DEI1016數(shù)據(jù)接收數(shù)據(jù)時(shí)序圖
C語(yǔ)言代碼如下:
3.4ARINC429自測(cè)試
當(dāng)只有一塊板子時(shí),可以配置DEI1016發(fā)送速率為100Kbps和正常工作方式 (即不是環(huán)繞自測(cè)試),將BD429輸出的兩路差分信號(hào)接到DEI1016的輸入端進(jìn)行測(cè)試。此時(shí)DEI1016的工作狀態(tài)是先發(fā)送數(shù)據(jù),經(jīng)過(guò)BD429后,又連接到了DEI1016的輸入端,DEI1016再接收發(fā)送的數(shù)據(jù)。分別配置DEI1016成奇校檢,偶校檢,和無(wú)校檢,發(fā)送數(shù)據(jù)“12350248”時(shí),發(fā)送和接收的數(shù)據(jù)如下表所示:
表3 ARINC429自測(cè)試
3.5ARINC429測(cè)試中遇到的問(wèn)題及總結(jié)
(1)當(dāng)DEI1016配置成自測(cè)試模式時(shí),接收到的數(shù)據(jù)會(huì)和原數(shù)據(jù)相反
例如當(dāng)發(fā)送0x00000001時(shí),接收端會(huì)收到數(shù)據(jù)0xfffffffe,這是因?yàn)樵谧詼y(cè)試模式時(shí),DEI1016的一路輸出通道在內(nèi)部反向后接到第二路輸出通道,這樣兩路輸出通道一路和發(fā)送數(shù)據(jù)相同,另一路和發(fā)送數(shù)據(jù)相反。
(2)當(dāng)用示波器測(cè)試ARINC429總線上的數(shù)據(jù)時(shí),和發(fā)送的數(shù)據(jù)不一致
這是由ARINC429總線上的通訊協(xié)議決定的,例如發(fā)送數(shù)據(jù)Word1=0x5678,和Word2=0x1234,那么通過(guò)示波器觀測(cè),實(shí)際上ARINC429總線上的數(shù)據(jù)是0X6246和0x8A1E。
(3)當(dāng)發(fā)送32位數(shù)據(jù)時(shí),通過(guò)DEI1016接收到數(shù)據(jù)的第八位會(huì)發(fā)生變化
因?yàn)锳RINC429數(shù)據(jù)的第八位是校檢位,當(dāng)用戶發(fā)送配置成奇校檢時(shí),發(fā)送校檢位的值由除它之外的31位數(shù)據(jù)中“1”的個(gè)數(shù)決定,如果為奇數(shù)個(gè),則校檢位位“0”,否則為“1”。當(dāng)用戶發(fā)送配置成偶校檢時(shí),發(fā)送校檢位的值由除它之外的31位數(shù)據(jù)中 “1”的個(gè)數(shù)決定,如果為偶數(shù)個(gè),則校檢位位“0”,否則為“1”。接收采用奇校檢接收數(shù)據(jù)的校檢位由接收數(shù)據(jù)的32位數(shù)據(jù)決定,如果有奇數(shù)個(gè)“1”,則接收數(shù)據(jù)的校檢位為“0”,否則為“1”。
航空總線中信息交換的有效,可靠是保證設(shè)備正常運(yùn)行的重要條件,采用AT89S52單片機(jī),及ARINC429專用芯片 BD429和 DEI1016,設(shè)計(jì)了 ARINC429航空總線,該系統(tǒng)經(jīng)過(guò)測(cè)試證明可靠,穩(wěn)定且價(jià)格低廉,能應(yīng)用在航空總線中,具有良好的工程實(shí)用價(jià)值和應(yīng)用前景。
[1]王瑞敏,苗克堅(jiān),王亞妮.基于ARM微處理器的ARINC429接口板軟件設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008(21).
[2]張戰(zhàn)平.ARINC429航空通訊總線設(shè)計(jì)[J].?計(jì)算機(jī)測(cè)量與控制,2013(08).
[3]Device Engineering Inc.DEI 1016ARINC 429 Transceiver[Z],2000.
[4]Device Engineering Inc.BD429 ARINC 429/RS-422 Line Dri ver Integrated Circuit[Z],2000.
Design of ARINC429 Aviation Communications Bus Based on AT89S52
WU Peng,WU Xing-qiang
(Guangzhou Haige Communications Group Limited by Share Ltd.,Guangzhou 510000)
ARINC429 bus structure is simple,unified data structure,strong anti-interference,widely used in the field of aeronautical communications.Uses inexpensive AT89S52 microcontroller as the main controller to design ARINC429 transceiver and receive system.Focuses on the method to achieve ARINC429 bus,combine DEI1016 and BD429 to give a detailed hardware circuit design and C language code,which can be directly applied in the actual development.Lists the problem when develops ARINC429 and gives a detailed explanation,which makes prepare for the subsequent development.The set system is simple,reliable,has a certain reference value in ARINC429 aviation communication bus design.
AT89S52;ARINC429;Aviation Communication Bus
1007-1423(2016)27-0054-05DOI:10.3969/j.issn.1007-1423.2016.27.014
吳鵬(1989-),男,河南信陽(yáng)人,碩士,研究方向?yàn)榍度胧皆谖锫?lián)網(wǎng)中的應(yīng)用
2016-07-12
2016-09-25
吳新強(qiáng)(1989-),男,安徽阜陽(yáng)人,碩士,研究方向?yàn)镚IS應(yīng)用以及軟件工程