2) IDT7130忙仲裁逻辑和双边中断逻辑 当左右两端口同时要求对同一地址单元进行操作时,双口RAM有可能发生操作冲突,忙仲裁逻辑正是用来解决"> 2) IDT7130忙仲裁逻辑和双边中断逻辑 当左右两端口同时要求对同一地址单元进行操作时,双口RAM有可能发生操作冲突,忙仲裁逻辑正是用来解决" />
欢迎来到天天文库
浏览记录
ID:23926021
大小:52.50 KB
页数:5页
时间:2018-11-11
《可编程多串口接口模块的研究与设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、可编程多串口接口模块的研究与设计
2、第1500)this.style.ouseg(this)">2) IDT7130忙仲裁逻辑和双边中断逻辑 当左右两端口同时要求对同一地址单元进行操作时,双口RAM有可能发生操作冲突,忙仲裁逻辑正是用来解决这个问题。具体地说:忙仲裁逻辑是用来确定左右两端口被要求访问同一个地址单元时的优先级。表2是忙逻辑的基本操作方式。*表示左右两端口地址先稳定时,则对方BUSY信号为低,本方BUSY信号为高。**表示当端口BUSY信号为低时,则本端口禁止写。500)this.style.ouseg(this)"> 双边中断逻辑是通过读或写IDT7130的最
3、后两个存储单元(3FEH、3FFH)来实现的,表3为中断逻辑表,对于这两个单元的内容,设计者可以自己定义。正是因为IDT7130拥有双边的中断逻辑,才使它能够方便地成为高速器件(高速CPU)和低速器件(低速CPU)之间的数据中转站。500)this.style.ouseg(this)">2 硬件接口 图2为智能多串口通信接口电路的原理框图。异步串口通信采用异步串口通信控制器8251芯片实现,用一片89C51统一管理8251的接收和发送,主、从CPU的数据交换通过一片IDT7130双口RAM实现。它们之间的握手协调通过IDT7130的双边中断逻辑来实现。当从CPU一组报文接收
4、完毕,需要通知主CPU取走报文时,则向IDT7130的3FF地址写操作,由IDT7130发出INTR中断信号通知主CPU。当主CPU需要发送报文时,则通过向IDT7130的3FE地址写操作,由IDT7130发出INTL中断信号通知从CPU执行发送。采用这种设计思路,IDT7130的双边中断逻辑可以使主、从CPU和双口RAM进行通信时不需要插入等待周期,从而实现双口RAM的全速存储,同时由于主CPU不和从CPU直接发生数据交换,而通过高速的双口RAM实现,因此可以节约主CPU的时间,从而可以提高主CPU的工作效率。而IDT7130自带的忙仲裁逻辑,可简化地址访问竞争电路的设计。
5、 在89C51对多片8251的管理中,为了兼顾实时性和多片8251管理的方便性,接收采用中断结合查询的方式,发送采用中断方式。在硬件电路的设计接收时,当一片8251或其中几片8251接收到一帧数据后,会通过或非门向89C51的INT1发中断信号,89C51接到中断后,查询P0口,确定具体提出中断申请的串口位置,然后将数据从串口中读出,将它们储存在IDT7130中的相应接收存储区中,当IDT7130相应接收存储区中的一组报文完成后,则由IDT7130向主CPU发中断,取走报文。发送时,则先由主CPU将需要发送的报文送入IDT7130划分出的相应发送区,然后由IDT7130向8
6、9C51发中断,由89C51逐步读出报文,送入相应的8251将报文送出。500)this.style.ouseg(this)">3 双口RAM地址分配和软件设计 本设计中对于RAM存储区的分配,首先分成命令区、状态区、接收数据区、发送数据区和中断区五个大区,如表4所示。接收数据区和发送数据区主要用作存放接收数据和待发送的数据,为了保证数据发送的可靠性,发送数据区可以存放5个数据块,以防止多端口同时发送时发送数据的丢失。 主CPU和从CPU的握手通过命令区和状态区来完成。命令区内容由主CPU写,从CPU读,包括初始化8251、发送报文、串口屏蔽等一系列命令组成。状态区内
7、容由从CPU写,主CPU读,包括8251的状态、从CPU命令执行状况和中断状态等信息。中断区用于发出和清除双口RAM的左右两个端口的中断。在双口RAM的地址分配和握手协议的设计中,可以根据实际串口通信情况的不同,灵活把握。 本设计中89C51的软件设计主要包括两个方面:接收中断程序,发送中断程序。在此分别给出接收中断程序和发送中断程序简略软件框图。图3是接收中断程序的软件框图,图4是发送中断程序的软件框图。500)this.style.ouseg(this)">500)this.style.ouseg(this)">500)this.style.ouseg(this)">4
8、 结 论 异步高速双口RAM作为数据缓冲器件,在解决高低速器件的数据传输问题中,有着非常广泛的应用天地。本文中所讨论的多串口设计方法,正是异步高速双口RAM作为数据缓冲器件解决数据传输问题的一个典型范例。可以预见,在高速器件和低速器件数据传输的应用设计中,以IDT7130系列芯片为代表的异步高速双口RAM作为重要的数据缓冲器,必将发挥重要的作用。
此文档下载收益归作者所有