楊 明,張涇周,李 輝,張廣標
(西北工業大學 自動化學院,陜西 西安 710129)
隨著現代電子科技的不斷發展更新,航空電子設備日趨數字化、網絡化、綜合化。各電子設備間穩定的、可靠的數據交換,以及源設備向各目標設備傳送控制命令、傳感數據信息實時采集等,都迫切需要一種簡單、可靠、抗干擾性強的通信總線[1]。ARINC429在這樣的背景下產生了,這是一種非集中控制、傳輸可靠、錯誤隔離性好的通信總線。其憑借上述優勢在航空通信領域尤其是大型民用飛機和慣性導航、航空器外部環境數據采集中受到廣泛應用[2],已然成為了民用航空領域的主流通信總線。
本文就是建立在ARINC429總線協議基礎上,從制造經濟、調試簡單、使用方便、可靠工作的角度考慮,使用MCS-51單片機和DEVICE ENGINEERING公司的DEI1016芯片為處理核心單元設計的一種可進行標準429數據收發的通信模塊,其亦可通過RS232總線與上位計算機進行相連以實現數據交換。
429數據總線上傳輸的數據不同于其他通信方式,屬于異步串行、廣播式通信。每幀32位或25位(根據通信需求設置),每一位都有其不可取代的作用,429通信充分利用了總線波特率和有效數據位,實現了數據控制完整性和高通信速率的統一[3]。傳輸速率分高速(100 kbit/s)和低速(12~14.5 kbit/s)兩種。其32位數據幀格式如圖1所示。

圖1 ARINC429數據幀格式Fig.1 Data format of ARINC429 communication
由圖1可看出,ARINC429數據幀被分為5個數據場:
LABEL:標簽/標志位,此8位用來表示當前這一幀數據的意義或數據類型,使得接收器在正確接收后能夠將此數據用作正確的用途。如在某航空通信中,標簽為0b01100001的一幀數據表示計算空速。
S/D Or DATA:源/目標識別符(當不用做識別符時,可以看做正常數據),當需要將特定數據發送給多設備中的某一特定接收器,或多設備系統中的源設備需要根據字的內容被接收器識別時,可以使用此識別符功能,接收到此數據的其他設備會因識別符不匹配而放棄數據。
DATA:數據部分,表示以LABEL指定的數據類型的數值大小和符號(由第29位符號位決定)。
SSM:符號/狀態矩陣,SSM場用于記錄硬件設備狀態(故障/正常),運行模式(功能測試),或者數據字內容(驗證的/非計算數據)的有效性。
PARITY:奇偶校驗位,若通信中需要奇偶校驗,則此位必須根據校驗方式被置位或清零,以滿足數據奇偶性,接收器通過接收到數據的這一位判斷數據的正誤。
ARINC429的25位通信數據格式使用了使數據幀產生意義的最簡格式,數據場只有LABEL(8—1位,同32位格式)和DATA(25—9位)兩部分,使得在其他控制位可以省去的情形下最大限度提高數據傳輸效率。
429通信的數據發送和接收方通過雙絞屏蔽線連接,受驅動能力的限制,一條數據總線上連接的接收器不應超過20個。這種通信采用RZ雙極性歸零調制方式,由高、零、低狀態組成,發送和接收通道都采用差分方式,大大提高了通信抗干擾能力。一般,當發送器開路時,指定輸出端能被可靠識別的不同的輸出信號電壓應為:高電平,A對B端+6.5 ~ +13 V;“零”,A對B端-2.5 ~+2.5 V;低電平,A對 B 端 -13~-6.5 V 。
而429的編碼邏輯也提高了其數據傳輸可靠性和穩定性。如果A端在位區間開始后處于高電平,并且在區間結束前又回到“零”,且B端信號恰好與其互補(電平和為零),則此位表示邏輯“1”;如果A端在區間開始后處于低電平,并且在區間結束前又回到“零”,且B端信號恰好與其互補,則此位表示邏輯“0”[4]。429通信數據的傳輸電平與信號邏輯關系如圖2所示。

圖2 ARINC429信號編碼邏輯Fig.2 Coding logic of ARINC429 data
能夠實現429數據格式通訊的集成電路有很多,如DEI1016、HS-3282以及我國自行研制的EP-H3280。[5]從工作穩定、應用經驗豐富的角度考慮,在這里我們選用DEVICE ENGINEERING的DEI1016芯片。
DEI1016是一款具有兩路接收和一路發送通道、單一低壓供電的CMOS工藝集成電路,支持429,571,575,706等航空通信規范。其發送通道具有8個32位FIFO緩沖器。在工作時,只需要在復位后對16位控制寄存器進行設置便可選擇需要的工作模式。圖3是DEI1016芯片內部結構框圖:2

圖3 DEi1016芯片內部框圖Fig.3 DEi1016 block diagram
雖然ARINC429總線上的數據字格式已被定為通用標準,但是DEI1016從用戶使用方便,數據組合簡單明晰的角度考慮,對圖1中的數據格式進行了重組,并將32位數據表述為字2(高16位)和字1(低16位),重組原則為將數據和其他控制位分開放在兩個字中,重組前后對照如圖4:

圖4 DEi1016字2字1與32位串行數據映射關系Fig.4 Mapping of serial data to/from word1 and word2
由上圖可見,DEI1016將一幀中的計量數據放至字2和字1的高三位,字1低13位為數據流的各控制位,方便數據分析和提取。用戶應注意到在寫發送數據的時候和處理接收數據的時候應按照字2字1的格式進行。
DEI1016具有數據收發自測、校驗控制、源/目標碼檢測、數據速率選擇等適應429數據格式的控制功能,均可通過寫控制字來實現。芯片復位后可以在寫控制字信號/LDCW的下降沿將控制字寫入。然后便可進行數據操作,其數據收發流程如下:
數據發送:在TXR有效的情況下,可以向發送緩沖器中按先字1后字2的順序寫入至多8個32位字,TXR信號自動復位,而后由外部使能ENTX。發送器將先根據用戶設置的校驗方式對校驗位進行設置,而后發送電路將重組后(見圖3)的數據逐位送至總線,在一個長字全部送出后,發送電路會自動插入4個間隔位區間以表示一幀數據發送完[6]。
數據接收:在接收器n接收到一組數據后,若用戶激活了源/目標碼檢測功能,則接收器n將收到數據中的S/D兩位和用戶寫入控制字中的Xn、Yn兩位進行對比,若不匹配則拒絕接收數據,若匹配,再根據用戶設置的校驗方式進行數據校驗,若校驗成功,則將校驗位置0表示數據無誤,若失敗則將其置1表示數據有誤,但無論正誤都將/DRn置0通知上層單元讀取數據,數據被讀走后再置1。
MCS-51單片機質優價廉,與DEI1016芯片進行并行連接可充分發揮其特性,單片機可由上位機接收要發送的數據也可根據用戶程序產生要發送的數據,將其合理地送至DEI1016并發出。單片機也可對接收到的數據進行加工處理后換為其他格式再傳至上位機,也可根據對接收到的數據進行解析判斷要執行的任務。與其他微控制器不同的是,51單片機是8位機,數據只能分時送至DEI1016,則需要對一部分或全部數據進行鎖存,本文提出了一種便捷,高效的數據交換方法。還需注意到,DEI1016發送通道的數據電平范圍為+5V~-5V,那么在輸出端應該添加電平匹配電路,將其抬至+10V~-10V,與DEI1016同時產生的BD429便能很好地做到這一點。而接收通道具有內部電平轉換功能,可直接與總線連接。本文的通信模塊電路原理圖如圖5所示。
從圖中可以看出,僅使用了兩片74HC573對讀寫數據進行鎖存,其中U3鎖存寫數據時的低8位,U4鎖存讀數據時的低8位。讀寫高8位數據不需要進行鎖存。在譯碼邏輯電路中通過A8地址線來對兩片鎖存器片選及鎖存信號進行控制,對每個鎖存器,片選和鎖存信號都是同步的,即片選為高時,鎖存為高,片選為低時,鎖存為低[7],這樣是為了使鎖存器直通的時候不能輸出數據,可以輸出數據的時候要進行鎖存。由于控制信號分別包括/WR和/RD,兩片鎖存器的控制信號不會沖突。其中鎖存信號均由或非門產生是為了保證在未讀或未寫的狀態下鎖存信號為低,防止無效數據進入。DEI1016的數據準備好信號/DR1和/DR2經與門連接至單片機中斷0口,并且分別接至P1.1和P1.2引腳,收到數據時,應在中斷程序中查看是哪個接收器引起的中斷。發送器空信號TXR連接至P1.4口,同時經非門送至中斷1口,發送數據時可用查詢或中斷方式,在軟件中可以設置。

圖5 ARINC429通信模塊原理圖Fig.5 Schematic of ARINC429 communication module
在寫數據時,先使DEI1016相應數據存儲單元選通控制信號(如/LDCW)無效,并使A8=0,此時U3輸出高阻態,但/LE1信號為高,低8位數據已寫入鎖存器。后再使該控制信號有效,并使A8=1,此時U3輸出數據并鎖存,同時在控制信號的下降沿將低8位和高8位數據一同打入指定位置。
在讀數據時,先使相應接收器選通控制信號(如/OE1)有效,并使A8=0,A9(SEL)=0,選擇讀字1,此時U4已進入數據但輸出高阻態,因此先讀走的是高8位數據。后再使控制信號無效,并使A8=1,此時高8位為高阻態,之前進入U4的數據被送出,此時可讀出低8位數據。
實際數據操作如下:
寫控制字:在復位信號(P1.3)低脈沖后,按照上述寫數據順序,先使/LDCW無效,那么基地址可選為B800H(電路中未用到的地址),A8=0,則寫地址亦為B800H,數據寫入U3但不送出。后再使/LDCW有效,A8=1,則寫地址為A100H,將16位數據一同打入。
發送數據:按照上述寫數據順序,先使/LD1無效,A8=0,同寫控制字低8位,地址為B800H。再使/LD1有效,A8=1,寫地址為9900H,16位數據寫入字1。同理,寫字2針對/LD2信號操作,寫低8位地址為B800H,高8位地址為9100H。
接收數據:按照上述讀數據順序,讀接收器1時,先使/OE1有效,基地址為8800H,A8=0,SEL(A9)=0選擇字1,則讀高8位地址亦為8800H,再使/OE1無效,可選基地址B800H,A8=1,則讀低8位地址為B900H。讀字2時,與讀字1不同點在于SEL=1,于是可得出讀字2高8位地址為8A00H,讀低8位地址仍為B900H。讀接收器2與接收器1完全類似,可得出讀字1高8位地址為8000H,讀字1低8位地址為B900H,讀字2高8位地址為8200H,讀字2低8位地址為B900H。對429模塊數據收發操作的單片機外部地址總結于表1:

表1 收發數據的外部地址列表Tab.1 Address list of receiving/sendding data
由圖5可見,電路原理中還包括232通訊模塊,方便與上位機進行數據傳輸。使得使用232接口對429接口數據的操作可以方便地實現,模塊與RS232總線掛接示意如圖6。
按照上述提到的操作步驟,下面用經成功驗證的程序段對操作做進一步說明:

圖6 ARINC429通信模塊與RS232總線連接示意圖Fig.6 Connection between ARINC429 module and RS232 bus
3.3.1 寫控制字

3.3.2 發送數據
以下是采用查詢方式發送數據的程序段,若采用中斷方式,則無需第一行判斷語句。

3.3.3 接收數據(只對接收器1說明,接收器2類似)


本模塊結構簡單,電路穩定可靠,PCB面積大小適中,與其它具有ARINC429通信接口的設備連接方便。特別是需要在其它類型通信方式和429通信方式間進行轉換時,可以利用常用的RS232接口經過該模塊進行數據格式轉換(如圖6)。假設單片機12 MHz晶振頻率計算,按照3.3節的數據處理程序,每裝滿一次DEI1016的FIFO只需要27×8=216 μs(微秒), 從接收器讀取一次數據僅需28 μs, 與429數據以高速率(100 kbit/s)傳送時一個字需要的(32+4)×10=360 μs相比,已完全滿足實時收發的要求。
與基于DSP、FPGA及一些高端控制器設計的ARINC429通信接口相比,該設計具有經濟、實用、硬件資源利用充分、操作簡單等優點,特別適合應用在基于232總線的429通信測試模塊中。模塊已經在某型航空發電機控制器地面綜合測試系統中得到成功應用,在高通信速率下數據誤碼率極低,通信可靠。實踐證明,數據收發快速穩定,模塊工作良好。
[1]寇明延.現代航空通信技術[M].北京:國防工業出版社, 2011.
[2]趙國輝,王小鵬,王杰. TMS320F2812與ARINC429數據總線之間的通信設計[J]. 電子設計工程, 2011, 19(1):87-90.
ZHAO Guo-hui, WANG Xiao-peng, WANG Jie. Design of communication between TMS320F2812 and ARINC429 data bus[J].Electronic Design Engineering, 2011, 19(1):87-90.
[3]王德周,李登科. 基于PCI總線的ARINC429接口卡設計[J].電子設計工程, 2012,20(7):184-186.
WANG De-zhou, LI Deng-ke. Design of ARINC429 interface board based on PCI bus[J]. Electronic Design Engineering,2012,20(7):184-186.
[4]高揚,徐景碩.實現ARINC429總線數據傳輸的方法[J].測控技術, 2002,21(8):64-68.
GAO Yang, XU Jing-shuo. Method to realize the ARINC429 bus datatransmission[J].Measurement & Control Technology,2002,21(8):64-68.
[5]周前柏,馬偉勃. ARINC429通信方式的研究與實現[J]. 航空計算技術 , 2010,40(4):121-124.
ZHOU Qian-bai, MA Wei-bo. Research and implementation of ARINC429 communication[J]. Aeronautical Computing Technique.2010,40(4):121-124.
[6]危淑敏,苗克堅,王毅航.基于DEI1016及BD429的總線接口設計[J].長春理工大學學報:自然科學版,2008,31(1):111-114.
WEI Shu-min, MIAO Ke-jian, WANG yi-hang.Design of ARINC429 bus interface based on DEI1016 and BD429[J].Journal of Changchun University of Science and Technology,2008,31(1):111-114.
[7]馬淑華,王鳳文,張美金. 單片機原理與接口技術[M]. 北京:北京郵電大學出版社, 2005.