新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于HI-8582的ARINC429總線設(shè)計(jì)

        基于HI-8582的ARINC429總線設(shè)計(jì)

        ——
        作者:陜西凌云電器總公司設(shè)計(jì)所 高 峰 時間:2006-07-08 來源:電子產(chǎn)品世界 收藏

        摘要:簡要介紹了ARINC429總線和HI-8582芯片的特點(diǎn),給出了基于HI-8582的ARINC429總線設(shè)計(jì)思路和方法。最后結(jié)合工程實(shí)際給出了AT89C52的數(shù)據(jù)收、發(fā)程序?qū)嵗?
        關(guān)鍵詞:HI-8582,ARINC429接收,ARINC429發(fā)送,AT89C52

        1 ARINC429總線及協(xié)議芯片HI-8582簡介
        1.1 ARINC429航空總線簡介
            ARINC429總線是美國航空無線電公司制定的民用航空數(shù)字總線傳輸標(biāo)準(zhǔn),它規(guī)定了使用該總線的航空電子設(shè)備的信息流向和ARINC429基本數(shù)據(jù)字的格式。ARINC429為單向傳輸總線,信息只能從通信設(shè)備的發(fā)送口輸出,經(jīng)傳輸總線傳至與它相連的需要該信息的其他設(shè)備的接收口。在需要兩個通信設(shè)備間雙向傳輸時,則在每個方向各用一根獨(dú)立的傳輸總線。ARINC429通信采用帶有奇數(shù)奇偶校驗(yàn)的32位信息字,信息字通過標(biāo)牌識別,最多具備256個標(biāo)牌。采用雙極性歸零制的三態(tài)碼調(diào)制方式,即調(diào)制信號由“高”、“零”和“低”狀態(tài)組成的三電平狀態(tài)調(diào)制。
        1.2 HI-8582簡介
            目前在機(jī)載設(shè)備中使用的ARINC429總線協(xié)議芯片較多,相比之下,HOLT INTEGRATED CIRCUITS公司生產(chǎn)的HI-8582是一款性能價格比較高的ARINC429協(xié)議芯片。該器件的主要功能如下:
        ●符合ARINC429總線協(xié)議;
        ●具有獨(dú)立的雙向接收和發(fā)送接口;
        ●無需驅(qū)動,可直接上ARINC429總線;
        ●標(biāo)牌可程序化識別;
        ●串行數(shù)據(jù)速率可設(shè)位為100kbps或12.5kbps;
        ●對接收的數(shù)據(jù)可進(jìn)行奇偶狀態(tài)校驗(yàn);并可對發(fā)送數(shù)據(jù)奇偶狀態(tài)進(jìn)行設(shè)置;
        ●可自動產(chǎn)生字與字之間的間隔; 
        ●52腳PQFP封裝,節(jié)省印制板空間。
        2 AT89C52與HI-8582的接口設(shè)計(jì)
        2.1 接口原理介紹

            由于AT89C52是8位處理器,而HI-8582是16位接口芯片,在接口設(shè)計(jì)中利用一片CPLD實(shí)現(xiàn)接口,設(shè)計(jì)中選用了ALTERA公司的EPM7128作為接口電路。電路框圖見圖1。
        圖1中,D1為AT89C52,其中P0端口用于數(shù)據(jù)的的交換,P2端口用于控制,利用兩個外中斷INT0、INT1接收收到的429信號,的復(fù)位信號是硬件看門狗產(chǎn)生的,圖1中沒有畫出,復(fù)位信號RST作為CPLD的輸入信號,單片機(jī)的時鐘選用12MHz,同時12MHz作為CPLD的時鐘源。D2為CPLD器件EPM7128,主要完成8位總線和16位總線的轉(zhuǎn)換、數(shù)據(jù)交換、編譯碼、產(chǎn)生HI-8582的時鐘和復(fù)位信號。D3為ARINC429接口電路HI-8582,BD00~BD11為雙向數(shù)據(jù)總線與EPM7128相接,其余均為離散量。

        2.2 CPLD的控制邏輯

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

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

        CPLD的控制邏輯見圖2。U12為反向器,單片機(jī)的復(fù)位信號反向后送HI-8582的MR管腳,復(fù)位HI-8582中的寄存器。U6~U11構(gòu)成了分頻電路,將12MHz的時鐘頻率分為1MHz,作為HI-8582的時鐘信號。U1~U5為三態(tài)8D觸發(fā)器,由OE控制輸出,CLK為時鐘控制,上升沿鎖存數(shù)據(jù),低電平保持,當(dāng)OE為高電平時輸出為高阻狀態(tài)。
        2.3 HI-8582的復(fù)位及初始化
            電路上電后,單片機(jī)首先復(fù)位RST管腳(高電平有效),同時RST反向后復(fù)位HI-8582,然后把控制字寫到16位數(shù)據(jù)總線上,此后便可接收和發(fā)送數(shù)據(jù)。一般情況下,當(dāng)既不能接收又不能發(fā)送數(shù)據(jù)時,應(yīng)懷疑初始化過程。初始化程序如下:
         
        CLR 7BH;CWSTR清0
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;上升延鎖存
        CLR P2.2;設(shè)置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;設(shè)置8582為輸入模式
         
        2.4 HI-8582的數(shù)據(jù)發(fā)送過程
            HI-8582發(fā)送數(shù)據(jù)時,首先應(yīng)置ENTX引腳為低電平,再將PL1置低,將低16位數(shù)據(jù)寫到16位數(shù)據(jù)總線上,之后,將PL1置高,再將PL2置低,將高16位數(shù)據(jù)寫到16位數(shù)據(jù)總線上,數(shù)據(jù)寫完之后,將ENTX置高。HI-8582的發(fā)送存儲器最多可裝載16個32位字長的數(shù)據(jù),HI-8582采用的是先進(jìn)先出的發(fā)送順序。發(fā)送程序如下:
         
        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;設(shè)置8582為輸出模式
        MOV A,@R0;讀入8位數(shù)據(jù)
        MOV P0,A;
        SETB P2.3;
        CLR P2.3;
        INC R0;
        MOV A,@R0; 讀入8位數(shù)據(jù)
        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位數(shù)據(jù)
        MOV P0,A;
        SETB P2.3;
        CLR P2.3;
        INC R0;
        MOV A,@R0; 讀入8位數(shù)據(jù)
        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的數(shù)據(jù)接收過程
            當(dāng)接收器1接收到數(shù)據(jù)后,系統(tǒng)會置HF1低電平,而當(dāng)接收器2接收到數(shù)據(jù)后,系統(tǒng)將置HF2為低電平。欲使接收器1將接收數(shù)據(jù)的字1送至16位數(shù)據(jù)總線上,應(yīng)先置SEL為低電平,再置EN1為低電平,而后再置EN2為高電平,SEL為高電平,便可將字2送至16位數(shù)據(jù)總線。要使接收器2的數(shù)據(jù)送至位數(shù)據(jù)總線上,則置EN2為低電平,EN1為高電平即可。接收程序如下:
         
        CLR 7AH;從FIFO中讀數(shù)據(jù)
        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;設(shè)置8582低8位輸入
        SETB P2.7    ;
        CLR P2.7;鎖存8582低8位輸入
        MOV A,P0;讀429第1字節(jié)(8位)
        MOV R2,A;保存數(shù)據(jù)
        SETB P2.6;設(shè)置第一字節(jié)輸入為高阻
        CLR P2.5;設(shè)置第二字節(jié)為輸入
        SETB P2.4;
        CLR P2.4;鎖存8582第二字節(jié)輸入
        MOV A,P0;讀429第2字節(jié)(8位)
        MOV R3,A; 保存數(shù)據(jù)
        SETB P2.5;高阻狀態(tài)
        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字節(jié)(8位)
        MOV R4,A;保存數(shù)據(jù)
        SETB P2.6;高阻狀態(tài)
        CLR P2.5;設(shè)置低8位為輸入
        SETB P2.4;
        CLR P2.4;
        MOV A,P0;讀429第4字節(jié)(8位)
        MOV R5,A;保存數(shù)據(jù)
        SETB P2.5;高阻狀態(tài)
        SETB 78H;EN2置高
        MOV P0,2FH;
        SETB P2.0;
        CLR P2.0;

         
        以上程序采用中斷接收數(shù)據(jù),當(dāng)HI-8582的FIFO滿后,HF1或HF2將變?yōu)榈碗娖剑a(chǎn)生中斷,按以上程序處理結(jié)束后,HF1或HF2將變?yōu)楦唠娖剑瑥亩瓿梢淮螖?shù)據(jù)的接收流程。
        3 結(jié)束語
            按照本文介紹的方法已成功實(shí)現(xiàn)HI-8582的ARINC429航空總線接口設(shè)計(jì),設(shè)計(jì)的機(jī)載設(shè)備已批量裝備現(xiàn)役飛機(jī),效果良好。
        參考文獻(xiàn):
        1 SZ-01數(shù)字信息傳輸系統(tǒng),HB6096-86,中華人民共和國航空工業(yè)部標(biāo)準(zhǔn).
        2 HI-8582,ARINC 429 System on a Chip, HOLT INTEGRATED CIRCUITS.
        3 MAX 7000 Programmable Logic Device Family Data Sheet,Altera Corporation.



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 靖远县| 灵山县| 遵义县| 云和县| 龙南县| 临城县| 庆阳市| 郑州市| 沙河市| 孟州市| 桂东县| 房产| 廊坊市| 乳山市| 浦县| 深圳市| 古丈县| 万宁市| 揭西县| 建瓯市| 万年县| 弋阳县| 土默特右旗| 于田县| 惠来县| 长宁区| 平顺县| 新邵县| 明溪县| 台南市| 新化县| 通辽市| 泾源县| 溧阳市| 稻城县| 开化县| 十堰市| 曲松县| 杂多县| 绥化市| 新乡市|