ARINC429总线收发器芯片DEI1016的原理及应用

3.3 主机接口
CPU外围I/O设备的接口芯片一般都有片选、读、写信号和选择片内寄存器的若干地址线。但DEI1016有点特殊,它的每一个寄存器操作信号都需要对CPU信号进行译码产生。因此,选择CPU时,最好直接选择外部数据总线为16Bit以上的CPU,如TI公司的TMS320F240等。
4 DEI1016的应用
4.1 DEI1016与BD429HW的连接
DEI1016的应用主要是数据通讯。它一般和CPU、可编程器件一起形成智能通讯模块,图5是由DEI1016构成的数据通讯系统原理图。该数据通讯模块的控制逻辑以CPU提供的I/O操作信号IS和读写信号RD、WR以及地址A2、A1为输入来为DEI1016产生操作信号,如读第一路接收数据寄存器信号 RD429A、第二路 RD429B、发送低字选通信号 WR429LW、高字 WR429HW、发送使能控制 TX429EN等。控制逻辑和CPU同时监视DEI1016的3个状态信号,包括第一路接收准备好信号 Rx1RDY、第二路Rx2RDY和发送准备好Tx429RDY。这些状态信号一方面可供软件查询,另一方面可由控制逻辑产生 INT中断请求。DEI1016和CPU接口比较简单,发送时经常和BD429配合使用。
一般情况下,作为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 接收寄存器 高低字.
《ARINC429总线收发器芯片DEI1016的原理及应用(第2页)》