1. gzyueqian
      18078865874
      首頁 > 新聞中心 > > 正文

      基于HI-8582的ARINC429總線設計

      更新時間: 2007-07-24 09:58:40來源: 粵嵌教育瀏覽量:3876

        摘 要:簡要介紹了ARINC429總線和HI-8582芯片的特點,給出了基于HI-8582的ARINC429總線設計思路和方法。結合工程實際給出了單片機AT89C52的數據收、發程序實例。

        關鍵詞:HI-8582,ARINC429接收,ARINC429發送,AT89C52

        1 ARINC429總線及協議芯片HI-8582簡介

        1.1 ARINC429航空總線簡介

        ARINC429總線美航空無線電公司制定的民用航空數字總線傳輸標準,它規定了使用該總線的航空電子設備的信息流向和ARINC429基本數據字的格式。ARINC429為單向傳輸總線,信息只能從通信設備的發送口輸出,經傳輸總線傳至與它相連的需要該信息的其他設備的接收口。在需要兩個通信設備間雙向傳輸時,則在每個方向各用一根獨立的傳輸總線。ARINC429通信采用帶有奇數奇偶校驗的32位信息字,信息字通過標牌識別,多具備256個標牌。采用雙極性歸零制的三態碼調制方式,即調制信號由“高”、“零”和“低”狀態組成的三電平狀態調制。

        1.2 HI-8582簡介
         
        目前在機載設備中使用的ARINC429總線協議芯片較多,相比之下,HOLT INTEGRATED CIRCUITS公司生產的HI-8582是一款性能價格比較高的ARINC429協議芯片。該器件的主要功能如下:

        ●符合ARINC429總線協議;
        ●具有獨立的雙向接收和發送接口;
        ●無需驅動,可直接上ARINC429總線;
        ●標牌可程序化識別;
        ●串行數據速率可設位為100kbps或12.5kbps;
        ●對接收的數據可進行奇偶狀態校驗;并可對發送數據奇偶狀態進行設置;
        ●可自動產生字與字之間的間隔; 
        ●52腳PQFP封裝,節省印制板空間。

        2 AT89C52與HI-8582的接口設計

        2.1 接口原理介紹
         
        由于AT89C52是8位處理器,而HI-8582是16位接口芯片,在接口設計中利用一片CPLD實現接口,設計中選用了ALTERA公司的EPM7128作為接口電路。電路框圖見圖1。

        圖1中,D1為單片機AT89C52,其中P0端口用于數據的的交換,P2端口用于控制,利用兩個外中斷INT0、INT1接收收到的429信號,單片機的復位信號是硬件看門狗產生的,圖1中沒有畫出,復位信號RST作為CPLD的輸入信號,單片機的時鐘選用12MHz,同時12MHz作為CPLD的時鐘源。D2為CPLD器件EPM7128,主要完成8位總線和16位總線的轉換、數據交換、編譯碼、產生HI-8582的時鐘和復位信號。D3為ARINC429接口電路HI-8582,BD00~BD11為雙向數據總線與EPM7128相接,其余均為離散量。


        2.2 CPLD的控制邏輯

      圖2 接口電路的CPLD控制邏輯

        CPLD的控制邏輯見圖2。U12為反向器,單片機的復位信號反向后送HI-8582的MR管腳,復位HI-8582中的寄存器。U6~U11構成了分頻電路,將12MHz的時鐘頻率分為1MHz,作為HI-8582的時鐘信號。U1~U5為三態8D觸發器,由OE控制輸出,CLK為時鐘控制,上升沿鎖存數據,低電平保持,當OE為高電平時輸出為高阻狀態。

        2.3 HI-8582的復位及初始化 
          
        電路上電后,單片機首先復位RST管腳(高電平有效),同時RST反向后復位HI-8582,然后把控制字寫到16位數據總線上,此后便可接收和發送數據。一般情況下,當既不能接收又不能發送數據時,應懷疑初始化過程。初始化程序如下: 
       
        CLR 7BH;CWSTR清0
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;上升延鎖存
        CLR P2.2;設置8582為輸出模式
        MOV P0,#31H;
        SETB P2.3;上升延鎖存控制字低8位
        CLR P2.3;
        MOV P0,#0E0H;
        SETB P2.1;上升延鎖存控制字高8位
        CLR P2.1;
        SETB 7BH;
        MOV P0,2FH    ;
        SETB P2.0;上升延鎖存
        CLR P2.0;
        SETB P2.2;設置8582為輸入模式 
       
        2.4 HI-8582的數據發送過程
         
        HI-8582發送數據時,首先應置ENTX引腳為低電平,再將PL1置低,將低16位數據寫到16位數據總線上,之后,將PL1置高,再將PL2置低,將高16位數據寫到16位數據總線上,數據寫完之后,將ENTX置高。HI-8582的發送存儲器多可裝載16個32位字的數據,HI-8582采用的是先進先出的發送順序。發送程序如下:
       
        MOV R0,#0A0H;
        CLR 7CH;ENTX置低
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        CLR 7EH;PL1置低
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        CLR P2.2;設置8582為輸出模式
        MOV A,@R0;讀入8位數據
        MOV P0,A;
        SETB P2.3;
        CLR P2.3;
        INC R0;
        MOV A,@R0; 讀入8位數據
        MOV P0,A;
        SETB P2.1;
        CLR P2.1;
        INC R0;
        SETB 7EH;PL1置高
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        SETB P2.2;
        CLR 7DH;PL2置低
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        CLR P2.2;
        MOV A,@R0;讀入8位數據
        MOV P0,A;
        SETB P2.3;
        CLR P2.3;
        INC R0;
        MOV A,@R0; 讀入8位數據
        MOV P0,A;
        SETB P2.1;
        CLR P2.1;
        SETB 7DH;PL2 HIGH
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        SETB 7CH;ENTX置高
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        SETB P2.2; 

        2.5 HI-8582的數據接收過程
         
        當接收器1接收到數據后,系統會置HF1低電平,而當接收器2接收到數據后,系統將置HF2為低電平。欲使接收器1將接收數據的字1送至16位數據總線上,應先置SEL為低電平,再置EN1為低電平,而后再置EN2為高電平,SEL為高電平,便可將字2送至16位數據總線。要使接收器2的數據送至位數據總線上,則置EN2為低電平,EN1為高電平即可。接收程序如下:
       
        CLR 7AH;從FIFO中讀數據
        MOV P0,2FH;SEL置低
        SETB P2.0;
        CLR P2.0;
        CLR 78H;EN2置低
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0    ;
        SETB P3.3    ;
        CLR P3.3    ;
        CLR P2.6;設置8582低8位輸入
        SETB P2.7    ;
        CLR P2.7;鎖存8582低8位輸入
        MOV A,P0;讀429第1字節(8位)
        MOV R2,A;保存數據
        SETB P2.6;設置字節輸入為高阻
        CLR P2.5;設置第二字節為輸入
        SETB P2.4;
        CLR P2.4;鎖存8582第二字節輸入
        MOV A,P0;讀429第2字節(8位)
        MOV R3,A; 保存數據
        SETB P2.5;高阻狀態
        SETB 78H;EN2 HIGH
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        SETB 7AH;SEL置高
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        CLR 78H;EN2置低
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;
        CLR P2.6;
        SETB P2.7;
        CLR P2.7;
        MOV A,P0;讀429第3字節(8位)
        MOV R4,A;保存數據
        SETB P2.6;高阻狀態
        CLR P2.5;設置低8位為輸入
        SETB P2.4;
        CLR P2.4;
        MOV A,P0;讀429第4字節(8位)
        MOV R5,A;保存數據
        SETB P2.5;高阻狀態
        SETB 78H;EN2置高
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;

        以上程序采用中斷接收數據,當HI-8582的FIFO滿后,HF1或HF2將變為低電平,產生中斷,按以上程序處理結束后,HF1或HF2將變為高電平,從而完成一次數據的接收流程。

        3 結束語    

        按照本文介紹的方法已成功實現HI-8582的ARINC429航空總線接口設計,設計的機載設備已批量裝備現役飛機,效果良好。

        參考文獻:

        1 SZ-01數字信息傳輸系統,HB6096-86,中華民共和國航空工業部標準.
        2 HI-8582,ARINC 429 System on a Chip, HOLT INTEGRATED CIRCUITS.
        3 MAX 7000 Programmable Logic Device Family Data Sheet,Altera Corporation

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲乱码免费伦视频 | 亚洲综合一区国产系列 | 亚洲中文制服丝袜欧美精品 | 午夜福利精品短视频在线 | 亚洲中文字幕久久久一区 | 中文字幕长篇连载国产 |