吳鵬,吳新強
(廣州海格通信集團股份有限公司,廣州 510000)
基于AT89S52的ARINC429航空通訊總線設計
吳鵬,吳新強
(廣州海格通信集團股份有限公司,廣州510000)
ARINC429總線結構簡單,數據結構統一,抗干擾性強,廣泛地應用在航空通信領域中。采用價格低廉的AT89S52單片機作為主控制器設計一套ARINC429的收發系統,重點闡述實現ARINC429總線的方法,并結合DEI1016和BD429給出詳細的硬件設計電路和C語言代碼,能夠直接應用在實際的開發中。列舉開發ARINC429時經常遇到的問題,并給出詳細的解釋,為后續開發擴展做準備。該套系統結構簡單,穩定可靠,在ARINC429航空通訊總線設計中有一定的參考價值。
AT89S52;ARINC429;航空通訊總線
ARINC429是一種航空電子總線,其協議規定了航空電子設備及有關系統間的數字信息傳輸要求,由于其具有總線結構簡單,性能優良,在先進的民航客機中得到了廣泛的應用。ARINC429總線是一對單向,差分信號傳輸的串行單向傳輸總線,同一個時刻,每個總線上只允許有一個發送設備和最多20個接收器,信息只能從通信設備的發送端口輸出,經傳輸總線傳至與它相連的需要該信息的其他設備的接收端口,不能倒流至已規定為發送的端口中[1]。ARINC的信息傳輸速率分高低兩檔,高速為100kbps,低速為12.5kbps,接收和發送通道是相互獨立的。ARINC429數據發送時經過二級差分驅動,前級是TTL電平即邏輯1為5V,邏輯0為0V,進過驅動的第二級輸出V+,V-的電平和本文選取的BD429的參考電壓有關,差分運算的結果是參考電壓的兩倍[2]。
ARINC429數據格式定義如表1所示。
1-8位位標號位,代表發送信息的類型,9-10位是源終端識別(SDI),指示信息的來源或信息的終端,11-29數據位,代表發送的數據,30-31(SSM),指出數據的特性,32位(P)為奇偶校檢位。

表1 ARINC429數據格式
在設計中,ARINC429收發器以 DEI公司的DEI1016及BD429線性驅動器來配套使用。
1.1DEI1016簡介
DEI1016是Device Engineering公司研制生產的一種可支持ARINC429航空總線協議的串行收發器件,改器件的主要功能如下:(1)兩個接收通道,一個發送通道(2)環繞自測試模式(3)串行數據字長25位或者32位(4)8個字的發送緩沖器(5)接收通道可以直接連到ARINC429數據總線 (6)串行速率為100Kbps或12.5Kbps(7)可自動產生字與字之間的間隔[3]。DEI1016只需要5V供電,接收和發送通道可以同時工作,兩個接收通道互相也是獨立運行的,可以直接連接到ARINC429通訊總線上,不需要電平轉換。
1.2BD429芯片簡介
BD429是滿足ARNIC429規范的、雙極性數據輸入線驅動器,兼容輸入TTL和CMOS電平。本設計中BD429供電電壓為5V,當BD429工作在429模式中,在DATA(A)和DATA(B)管腳中輸入串行數據,通過SYNC和CLOCK輸入管腳使能驅動,在Aout和Bout中,輸出0v,+5V,-5V的電壓[4]。如下表2所示:

表2 BD429真值表
本文選用 AT89S52單片機作為主控器,與DEI1016芯片進行并行連接可充分發揮其特性,單片機通過串口接收要發送的數據,通過DEI1016發送到BD429,BD429將其發送通道的+5V~-5V電平抬至+ 10V~-10V發送到總線。由于DEI1016的接收通道具有內部電平轉換功能,所以可以直接與總線連接,單片機可以將DEI1016接受到的數據轉換格式后通過串口發出。
2.1AT89S52外圍電路設計
AT89S52采用TQFP44封裝,是一種低功耗,高性能CMOS 8位控制器。本設計中將AT89S52的ALE端輸出的1/16晶振頻率信號接到DEI1016的時鐘輸入端口,提供DEI1016的發送和接收時鐘。由于DEI1016 的1MCk管腳要求輸入1MHz頻率,所以采用晶振頻率為24M的晶振,再通過分頻器二分頻之后,即可以滿足DEI1016的時鐘要求。將P0和P2口和DEI1016的芯片的D0-D15連接,以便對DEI1016的寄存器進行讀寫操作。外圍電路設計如圖1所示。
2.2DEI1016與BD429芯片連接
本設計中擴展來一路收發通道的接口,由于收發通道采用的是差分信號傳輸,所以發送和接收都有兩個管腳,即DI(A),D1(B),DO(A),DO(B)。由于DEI1016輸出的DO(A),DO(B)是TTL電平,不能直接連接到ARINC429總線上,需要用電平轉換芯片,本文選用BD429,能夠將TTL電平轉換輸出成ARINC429電平。DEL1016的輸入端口因為芯片內部已經做了電平轉換,可以直接連接ARINC429總線,不需要再做任何處理。設計時,要在BD429的CA和CB管腳要接兩個68pf的電容才能正常工作。

圖1 AT89S52外圍電路

圖2 DEI1016與BD429連接電路圖
3.1DEI1016初始化
系統上電后,需要對DEI1016復位,只需將MR管腳拉低再拉高即可完成芯片復位。按照下面的時時序圖,先拉高LDCW管腳,將要寫入配置DEI1016工作方式的數據送到AT89S52的P0,P2口,再拉低LDCW管腳,將數據寫到DEI1016寄存器。配置DEI1016的寄存器低四位是無效的,通過這些寄存器可以配置發送數據長度(32位或者是25位),是否進行自測試,奇偶校檢,發送和接收的數據速率等。

圖3 DEI1016初始化時序圖
3.2DEI1016數據發送
配置DEI1016的工作方式后,按照以下寫數據時序,先判段DEI1016的TXR引腳是否是高電平,如果是高電平,則表示DEI1016的發送緩沖器為空,既可以發送數據。先禁止發送使能,將LD1,LD2拉為高電平,將16數據寫入word1,然后拉低LD1,即可將word1發送到數據總線,然后拉高LD1。同理寫word2時,拉低LD2,既可以word2發送到數據總線上。

圖4 DEI1016數據發送時序圖
C語言代碼如下:


3.3DEI1016數據接收
先判讀DEI1016的管腳DR1,DR2是否是低電平,如果是低電平,即DEI1016接收通道有有效數據。根據以下時序,先拉低SEL數據,再拉低OE1管腳,然后通過單片機的管腳讀取總線上的數據word1。拉高OE1,SEL后,再拉低OE1,即可以讀取word2。

圖5 DEI1016數據接收數據時序圖
C語言代碼如下:


3.4ARINC429自測試
當只有一塊板子時,可以配置DEI1016發送速率為100Kbps和正常工作方式 (即不是環繞自測試),將BD429輸出的兩路差分信號接到DEI1016的輸入端進行測試。此時DEI1016的工作狀態是先發送數據,經過BD429后,又連接到了DEI1016的輸入端,DEI1016再接收發送的數據。分別配置DEI1016成奇校檢,偶校檢,和無校檢,發送數據“12350248”時,發送和接收的數據如下表所示:

表3 ARINC429自測試
3.5ARINC429測試中遇到的問題及總結
(1)當DEI1016配置成自測試模式時,接收到的數據會和原數據相反
例如當發送0x00000001時,接收端會收到數據0xfffffffe,這是因為在自測試模式時,DEI1016的一路輸出通道在內部反向后接到第二路輸出通道,這樣兩路輸出通道一路和發送數據相同,另一路和發送數據相反。
(2)當用示波器測試ARINC429總線上的數據時,和發送的數據不一致
這是由ARINC429總線上的通訊協議決定的,例如發送數據Word1=0x5678,和Word2=0x1234,那么通過示波器觀測,實際上ARINC429總線上的數據是0X6246和0x8A1E。
(3)當發送32位數據時,通過DEI1016接收到數據的第八位會發生變化
因為ARINC429數據的第八位是校檢位,當用戶發送配置成奇校檢時,發送校檢位的值由除它之外的31位數據中“1”的個數決定,如果為奇數個,則校檢位位“0”,否則為“1”。當用戶發送配置成偶校檢時,發送校檢位的值由除它之外的31位數據中 “1”的個數決定,如果為偶數個,則校檢位位“0”,否則為“1”。接收采用奇校檢接收數據的校檢位由接收數據的32位數據決定,如果有奇數個“1”,則接收數據的校檢位為“0”,否則為“1”。
航空總線中信息交換的有效,可靠是保證設備正常運行的重要條件,采用AT89S52單片機,及ARINC429專用芯片 BD429和 DEI1016,設計了 ARINC429航空總線,該系統經過測試證明可靠,穩定且價格低廉,能應用在航空總線中,具有良好的工程實用價值和應用前景。
[1]王瑞敏,苗克堅,王亞妮.基于ARM微處理器的ARINC429接口板軟件設計[J].計算機工程與設計,2008(21).
[2]張戰平.ARINC429航空通訊總線設計[J].?計算機測量與控制,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-),男,河南信陽人,碩士,研究方向為嵌入式在物聯網中的應用
2016-07-12
2016-09-25
吳新強(1989-),男,安徽阜陽人,碩士,研究方向為GIS應用以及軟件工程