首 页 用户登录 | ![]() |
|||
|
|||
按字母检索 | 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论文频道 → 论文中心 → 理工论文 → 电子通信 |
|
|||||
ARINC429总线收发器芯片DEI1016的原理及应用 | |||||
收集整理:佚名 来源:本站整理 时间:2009-01-10 23:55:53 点击数:[] ![]() |
|||||
一般情况下,作为I/O外设的DEI1016的读写速度要比CPU慢,因此,应该用一个状态机进行速度匹配以便为CPU产生READY信号。在发送使能信号TX429EN的控制下可以简单地把发送准备好信号 TX429RDY反相后输出。亦即只要DEI1016发送器有空闲,就允许发送。DEI1016的发送器包括一个FIFO,它可以存储8个32-Bit的429数据字。当CPU填充DEI1016的发送FIFO字数达到自定数目如8个时,系统将使能发送以发出FIFO中的数据。其实现逻辑用Abel语言简写如下 IS,RD,WR pin; // CPU方的I/O操作、读写信号,皆为低有效. IOAddr=[A2,A1,X]; // CPU方I/O地址 ENTX429A=!TX429ARDY; // ARINC429 发送使能. // 读 第一路 ARCIN429 接收寄存器 高低字. !RD429A =!IS & !RD & ((IOAddr == RX429ALW) # (IOAddr == RX429AHW)); // 读 第二路 ARCIN429 接收寄存器 高低字. !RD429B = !IS & !RD & (IOAddr == RX429BLW) # IOAddr == RX429BHW); // 写 第一路 ARCIN429 发送寄存器 高低字. !WR429AL = !IS & !WR & (IOAddr == TX429ALW); !WR429AH = !IS & !WR & (IOAddr == TX429AHW); // 写 DEI1016 控制寄存器. !WR429ACW = !IS & !WR & (IOAddr == CR429A); !INT = !RX1RDY # !RX2RDY; // 2路接收准备好共享中断请求. …… 该模块有一路发送和两路接收。发送数据不需要用中断来解决。而当2路接收共享一个中断时,可能会出现覆盖而丢掉某一路数据的情况,也可能使边沿触发的中断失效而不再接收任何数据。其波形示意图如图6所示。图中,在A点,当第一路准备好Rx1RDY为低时 (L),XINT有效以引起中断,CPU响应中断处理,同时在AB之间判定为第一路有效并开始处理。当处理到B点时,第二路接收准备好引起中断。但此时XINT已经有效,故不会引起电平变化,中断响应程序继续进行,并在C点退出,此时并没有处理第二路接收。如果中断请求是电平 Level 敏感,中断处理退出后还可以再次进入,但这会有相当的系统开销。若中断请求是边沿edge触发,那么在C点退出之后,由于未处理第二路接收,所以中断请求 INT一直保持电平有效,但不能产生边沿跳变翻转,中断触发条件永远不能满足,系统处于死锁状态,从而使两路数据全部丢失。 对于这一问题,其实质性的解决办法需要“软硬兼施”。可以将图4 中DEI1016的Rx1RDY、Rx2RDY等状态信号同时送达CPU以组成只读“状态寄存器”,供CPU中断响应时查询。 由以上分析可知,对于ARINC429数据通讯系统,在具体的电路设计及软件算法中均应考虑收发数据的丢失问题。 |
提供人:佚名 | |
【返回上一页】【打 印】【关闭窗口】 |
![]() |
5VAR论文频道 |
![]() |
5VAR论文频道 |
![]() |
关于本站 -
网站帮助 -
广告合作 -
下载声明 -
网站地图
Copyright © 2006-2033 5Var.Com. All Rights Reserved . |