摘要:DEI1016是一種可支持ARINC429航空總線協議的串行接收、發送器件。文中介紹了DEI1016的主要功能和工作原理,給出了DEI1016的數據收發過程,同時重點介紹了DEI1016與AT89C52單片機接口電路的設計方法。
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 |
L | H | H | H |
L | H | L | L |
L | L | X | Qo |
H | X | X | Z |
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
mov a,#d2h ;取字2的高8位
movx @dptr,a ;把字2的高8位鎖入U3
clr p3.4 ;打開U3、U4的輸出
nop
clr p1.4 ;字2數據裝入DEI1016
nop
setb p3.4
setb p1.4
用U1接收數據,應將DR1、DR2及TXR經與門U13接至U1的INT0,在INT0口產生中斷后,U1便執行讀操作,并通過RD和Y5控制U14、U15以讀入DR1、DR2及TXR的狀態。U2接收到數據或發送數據完畢后,即向U1的INT0口申請中斷,并在中斷程序中判斷DR1、DR2及TXR的狀態。TXR為低表明發送完畢,而DR1或DR2為低則表明已收到數據。此時可置P1.2(SEL)為低電平,同時也置P1.0(接DEI1016的OE1)或P1.1 ?接DEI1016的OE2?為低電平,以使字1的數據出現在數據總線上,而使P1.0、P1.1經U11異或后輸出以使U5、U6的G端為高電平,從而把數據鎖入U5、U6。由于RD分別與Y7、Y6相或后的輸出是與U5、U6的OE門相連接的,因此,U1 執行讀操作時,應先后打開U5、U6的OE門來把數據讀入。其接收程序如下:(以接收器1為例)。
clr p1.2 ;置DEI1016的SEL=0,讀字1
clr p1.0 ;置DEI1016的/OE1=0
setb p1.1 ;置DEI1016的/OE2=1
nop
mov dptr,#e000h
movx a,@dptr ;把字1的低8位讀入
mov 10h,a
mov dptr,#c000h
movx a,@dptr ;把字1的高8位讀入
mov 11h,a
setb p1.2 ;置DEI1016的SEL=1,讀字2
nop
mov dptr,#e000h
movx a,@dptr ;把字2的低8位讀入
mov 12h,a
mov dptr,#c000h
movx a,@dptr ;把字2的高8位讀入
mov 13h,a
setb p1.0 ;置DEI1016的/OE1=1
setb p1.1 ;置DEI1016的/OE2=1
setb p1.2 ;置DEI1016的SEL=1
圖3
DEI1016的兩路接收可能產生同時接收的現象。即在上述兩路共用一個中斷源時,如果某一路申請中斷已進入接收程序,那么另一路同時接收的數據就可能被屏蔽。解決方法是:進入中斷程序后,在接收數據過程中再查詢另一路DR的狀態。當然,如果每路單獨使用一個中斷源,效果將會更好。
4 結束語
實際上,上述AT89C52與DEI1016的接口電路經改進也可以應用到其它16位數據總線接口的電路中,而如果用ISP器件替代鎖存器及其門電路,還可大大減小電路板的面積。
- 接口設計(29663)
- at89(27908)
相關推薦
基于FPGA的ARINC429總線接口卡設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A6/2D/wKgZomUMPCCAJpJNAAAXwtCsQcg245.gif)
基于ARINC429總線數據的仿真發送與采集系統的設計與實現
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/61/DD/pIYBAFuGWx-ASRA0AAGjeNoys3s089.jpg)
1553B/ARINC429/RS422通用總線仿真/測試系統及ICD數據庫管理工具
ARINC 429總線協議
AT89C52 8位高性能單片機
AT89C52單片機概述
AT89C52的中文數據資料
At89C52 datasheet pdf
at89c52單片機控制電機正反轉
單片機AT89C52串口接收試驗
STC89C52與AT89C52不一樣嗎?
[原創]MIL-STD-1553B ARINC429 CAN等總線協議
[原創]基于AT89C52單片機的SD卡的讀寫設計
【DIY作品秀】用AT89C52單片機DIY的頻率計
可支持ARINC429航空總線協議的DEI1016
基于AT89C52單片機的SD卡的讀寫設計
基于AT89C52單片機的函數發生器設計資料分享
基于AT89C52單片機的數字電壓表的設計資料分享
基于AT89C52單片機的簡易電子琴設計
基于AT89C52單片機設計一個四層電梯單片機控制系統
基于AEC429-PCI-22/S5總線接口卡的ARINC429總線數據的仿真發送與采集系統
基于PC/104設計與實現ARINC429接口模塊
基于USB的ARINC429總線接口模塊設計
多通道ARINC429總線數據接收和發送的實現
如何設計便攜式ARINC429總線通信設備?
怎么實現基于USB總線的便攜式ARINC429總線通信設備的設計?
怎么設計便攜式ARINC429總線通信設備?
怎樣去編寫基于AT89C52單片機的1602液晶顯示程序呢
怎樣去設計ARINC429總線接口板?有哪些步驟?
求at89c52單片機控制led閃爍的應用系統的使用方法和控制程....
求數字電壓表設計,基于AT89C52單片機、ADC0804和AD736芯片
滑稽AT89C52表情實現
采用FPGA實現PC/104的ARINC429總線接口模塊
采用NIOS II實現ARINC429總線接口板設計
采用專用接口電路PCI9054實現ARINC429總線接口板設計
航空總線接口通信系統的設計與實現
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于DSP的ARINC429通信板設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
航空用ARINC429總線收發系統設計與實現
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于80C196KC 的ARINC429總線接口板設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于AT89C52單片機的渦流管控制系統
![](https://skin.elecfans.com/images/2021-soft/load.png)
ARINC429接口板的嵌入式實時軟件設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于NIOSⅡ的ARINC429總線接口板設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于USB的ARINC429總線接口模塊設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/CB/wKgZomUMNbmATy59AABJajtr9J0210.gif)
基于HI-8582的ARINC429總線設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
基于AT89C52單片機的SD卡的讀寫設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/71/wKgZomUMOHaAUPX1AABS9Q1ejlk097.gif)
USB的便攜式ARINC429總線通信設備技術
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/94/wKgZomUMORiAc_nlAABLDMux5TI558.jpg)
基于MSP430單片機實現ARINC429總線通訊的硬件設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A5/9E/wKgZomUMOUSAdiUhAADoA3Rinxw195.jpg)
USB接口ARINC429測試卡手冊
![](https://skin.elecfans.com/images/2021-soft/load.png)
什么是ARINC429總線?
![](https://skin.elecfans.com/images/2021-soft/eye.png)
PCI總線ARINC429通信卡實現方法
![](https://skin.elecfans.com/images/2021-soft/load.png)
ARINC429航空總線協議標準
![](https://skin.elecfans.com/images/2021-soft/load.png)
一種PCI總線ARINC429通信卡實現方法
![](https://skin.elecfans.com/images/2021-soft/load.png)
DSP+FPGA的機載總線接口板研究
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A6/07/wKgZomUMO1-AajVaAAATQvptoOc061.jpg)
8位單片機實現ARINC429總線通信的方法
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于PCI總線的ARINC429接口卡設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于DSP與FPGA的ARINC429總線接口卡設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
ARINC429實時監控卡軟件設計與開發
![](https://skin.elecfans.com/images/2021-soft/load.png)
AT89C52單片機的SD卡讀寫設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/65/07/o4YBAFujhxCAUR1bAAAml65GKZc397.jpg)
使用AT89C52單片機進行最小系統的接口電路免費下載
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于ARINC429總線數據的仿真發送與采集系統設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/A5/70/o4YBAF1wsa6ACrVPAACjp91gzV4884.png)
基于ARINC429總線數據的發送與接收采集系統設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A7/59/wKgZomUMRBiAU_6AAAAPaoJFUn0556.jpg)
基于FPGA器件和PCI9052芯片實現ARINC429數據接口卡的設計
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/B8/9B/pIYBAF50HX-AG-rzAAB-RpHYbr8812.png)
基于LabWindows/CVI開發環境實現ARINC429信號的仿真和測試
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/B9/D3/o4YBAF6ScCeAG8qGAAC-rIlTeXg379.png)
如何使用FPGA實現ARINC429接口和總線數據接收
![](https://skin.elecfans.com/images/2021-soft/load.png)
雙通道MIL-STD-1553B總線通信及ARINC429總線通信板卡產品
![](https://skin.elecfans.com/images/2021-soft/eye.png)
基于PCI總線接口卡的ARINC429總線數據仿真與采集系統
![](https://skin.elecfans.com/images/2021-soft/load.png)
TMS320F2812與ARINC429數據總線之間的通信設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于MCS-51單片機和DEI1016的ARINC429通信模塊設計
![](https://skin.elecfans.com/images/2021-soft/load.png)
評論