首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
按声母检索 | A | B | C | D | E | F | G | H | J | K | L | M | N | O | P | Q | R | S | T | W | X | Y | Z | 数字 | 符号 |
|
![]() |
您的位置: 5VAR论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
||||||||||||||||||||||
AT89C52单片机与ARINC429航空总线接口设计 | ||||||||||||||||||||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 22:50:16 点击数:[] ![]() |
||||||||||||||||||||||
[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持] 关键词:DEI1016;接收;发送;接口设计;AT89C52 1 DEI1016的主要功能 DEI1016是Device Engineering Incorporated 生产的一种可支持ARINC429航空总线协议的串行接收、发送器件。该器件的主要功能如下: ●串行数据字长为32或25位; ●串行数据速率为100kbps或12.5kbps; ●具有独立的收、发电路; ●两个独立的接收器可直接与ARINC429总线接口; ●具有串/并接收数据转换,和并/串发送数据转换功能; ●对接收的数据可进行奇偶状态校验;并可对发送数据奇偶状态进行设置; ●可自动产生字与字之间的间隔; ●采用单一+5V供电。 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为高电平即可。
3 AT89C52与DEI1016的接口设计 AT89C52(U1)8位微控器与DEI1016的16位数据总线进行数据交换时,必须先利用锁存器来锁存数据。其接口电路框图见图3。发送数据时,U1先把要发送的数据分成低8位和高8位送出,并进入U3、U4锁存,尔后再把16位数据一同送至DEI1016U2的数据总线上。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 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 Tags: |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |