新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DEI1016功能和原理簡介及其與單片機的接口設計

        DEI1016功能和原理簡介及其與單片機的接口設計

        作者: 時間:2012-06-01 來源:網絡 收藏

        摘要:是一種可支持ARINC429航空總線協議的串行接收、發送器件。文中介紹了的主要工作,給出了的數據收發過程,同時重點介紹了DEI1016與AT89C52電路的方法。

        本文引用地址:http://www.104case.com/article/171365.htm

        1 DEI1016的主要功能

        DEI1016是Device Engineering Incorporated 生產的一種可支持ARINC429航空總線協議的串行接收、發送器件。該器件的主要功能如下:

        ●串行數據字長為32或25位;

        ●串行數據速率為100kbps或12.5kbps;

        ●具有獨立的收、發電路;

        ●兩個獨立的接收器可直接與ARINC429總線

        ●具有串/并接收數據轉換,和并/串發送數據轉換功能;

        ●對接收的數據可進行奇偶狀態校驗;并可對發送數據奇偶狀態進行設置;

        ●可自動產生字與字之間的間隔;

        ●采用單一+5V供電。

        2 DEI1016的工作

        DEI1016的引腳功能及特點以前已有介紹,現僅對該器件的工作作以描述。

        2.1 DEI1016的復位及初始化

        電路上電后,首先在MR引腳施加200μs的低電平脈沖以使DEI1016復位,然后把控制字寫到16位數據總線上,這樣,在LDCW引腳施加低電平便可把控制字寫入到控制字寄存器,爾后便可接收和發送數據。

        2.2 DEI1016的數據發送過程

        DEI1016的數據發送時序如圖1所示。發送數據時,首先應查詢TXR引腳是否為高電平,若是高電平,表明發送存儲器已空;此時置ENTX引腳為低電平可停止發送數據,并把要發送的數據寫到16位數據總線上。之后,若要發送數據字1,則置LD1為低,LD2為高;若發送數據字2,則置LD1為高,LD2為低?此時再查詢TXR引腳是否為低電平,若為低電平,表明發送數據已裝載到存儲器中,此時再置ENTX引腳為高電平即可發送數據。DEI1016的發送存儲器最多可裝載8個32位字長的數據,DEI1016采用的是先進先出的發送順序。

        2.3 DEI1016的數據接收過程

        DEI1016的數據接收時序如圖2所示。當接收器1接收到數據后,系統會置DR1為低電平;而當接收器2接收到數據后,系統將置DR2為低電平。欲使接收器1將接收數據的字1送至16位數據總線上,應先置SEL為低電平,再置OE1為低電平且置OE2為高。而后再置SEL為高電平,便可將字2送至16位數據總線。要使接收器2的數據送至16位數據總線上,則置OE2為低電平,OE1為高電平即可。

        表1 74LS373功能表

        輸出控制OE使能G輸入D輸出Q
        LHHH
        LHLL
        LLXQo
        HXXZ

        3 AT89C52與DEI1016的

        AT89C52(U1)8位微控器與DEI1016的16位數據總線進行數據交換時,必須先利用鎖存器來鎖存數據。其接口電路框圖見圖3。發送數據時,U1先把要發送的數據分成低8位和高8位送出,并進入U3、U4鎖存,爾后再把16位數據一同送至DEI1016?U2?的數據總線上。U3、U4、U5、U6均選用74LS373芯片,它們的內部均由D鎖存器和三態輸出門組成,其功能表如表1所列。當OE為低電平,且G為高電平時,輸出Q與輸入D之間為直通方式。而當OE為高電平,且G由高電平跳變為低電平后,D端輸入數據被D鎖存器鎖存,之后即使D端(P0口)輸入數據再發生變化,也不會影響已鎖存的數據。如果OE為低電平,系統將輸出原先鎖存的數據。為了鎖存低8位數據,需要由U1的WR和地址選通信號Y7(由譯碼器U7譯出)經或非門U8去控制U3的G端。實際上,只有U1在執行寫操作時, WR和Y7才同時為低電平,而此時低8位數據才能被U3暫時鎖存。高8位數據的鎖存與此類似M,U1的P3.4由高變低可打開U3、U4的輸出門,從而使U3、U4把數據送至U2的數據總線,當U1的P1.3或P1.4由高變低以把16位數據裝入發送存儲器后,P3.4會由低變高,此時U3、U4輸出為高阻抗狀態,但不會影響U2的數據輸出狀態。其發送程序如下:

        mov dptr,#e000h

        mov a,#d1l ;取字1的低8位

        movx @dptr,a ;把字1的低8位鎖入U3

        mov dptr,#c000h

        mov a,#d1h ;取字1的高8位

        movx @dptr,a ;把字1的高8位鎖入U4

        clr p3.4 ;打開U3、U4的輸出

        nop

        clr p1.3 ;字1數據裝入DEI1016

        nop

        setb p3.4 ;關閉U3、U4的輸出

        setb p1.3

        mov dptr,#e000h

        mov a,#d2l ;取字2的低8位

        movx @dptr,a ;把字2的低8位鎖入U3

        mov dptr,#c000h


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临沂市| 定襄县| 蓝山县| 梁河县| 瑞丽市| 常山县| 洛隆县| 保德县| 揭阳市| 独山县| 封开县| 鲁甸县| 凤冈县| 玛纳斯县| 绥滨县| 东宁县| 安图县| 固安县| 龙胜| 弥勒县| 定日县| 浮梁县| 正镶白旗| 康定县| 仙游县| 沿河| 邵阳县| 塔河县| 微博| 志丹县| 新建县| 蓝田县| 开鲁县| 平乐县| 莎车县| 普兰店市| 自贡市| 桑日县| 贵州省| 新龙县| 淳化县|