可编程多串口接口模块的研究与设计
串行通讯接口是计算机工业控制中常用的数字接口之一,由于串行通行接口对于计算机主机速度来说是慢速器件,在单CPU的应用中,计算机主机不得不花费较多的时间来处理串行接口的操作,特别在多个串行接口的场合,这种现象尤其特出。为了解决这个问题,本文采用双CPU并行工作,用一片低速CPU管理串口,主CPU和从CPU的数据交换则通过异步高速双口RAM来完成。
1 IDT7130双口RAM
1) IDT7130的管脚功能和内部功能框图
双口RAM是一种具有两个通讯端口的存储器芯片,通常成为左口(L)和右口(R),两个端口具有相同的物理特性,包括完整的地址线、数据线和控制线,各个端口都可以对它进行读和写操作,因此它经常在多端口通讯应用对象中作为数据交换的平台。
表1为主要管脚及功能说明,图1为内部功能框图。
2) IDT7130忙仲裁逻辑和双边中断逻辑
当左右两端口同时要求对同一地址单元进行操作时,双口RAM有可能发生操作冲突,忙仲裁逻辑正是用来解决这个问题。具体地说:忙仲裁逻辑是用来确定左右两端口被要求访问同一个地址单元时的优先级。表2是忙逻辑的基本操作方式。*表示左右两端口地址先稳定时,则对方BUSY信号为低,本方BUSY信号为高。**表示当端口BUSY信号为低时,则本端口禁止写。
双边中断逻辑是通过读或写IDT7130的最后两个存储单元(3FEH、3FFH)来实现的,表3为中断逻辑表,对于这两个单元的内容,设计者可以自己定义。正是因为IDT7130拥有双边的中断逻辑,才使它能够方便地成为高速器件(高速CPU)和低速器件(低速CPU)之间的数据中转站。
2 硬件接口
图2为智能多串口通信接口电路的原理框图。 异步串口通信采用异步串口通信控制器8251芯片实现,用一片89C51统一管理8251的接收和发送,主、从CPU的数据交换通过一片IDT7130双口RAM实现。它们之间的握手协调通过IDT7130的双边中断逻辑来实现。当从CPU一组报文接收完毕,需要通知主CPU取走报文时,则向IDT7130的3FF地址写操作,由IDT7130发出INTR中断信号通知主CPU。当主CPU需要发送报文时,则通过向IDT7130的3FE地址写操作,由IDT7130发出INTL中断信号通知从CPU执行发送。采用这种设计思路,IDT7130的双边中断逻辑可以使主、从CPU和双口RAM进行通信时不需要插入等待周期,从而实现双口RAM的全速存储,同时由于主CPU不和从CPU直接发生数据交换,而通过高速的双口RAM实现,因此可以节约主CPU的时间,从而可以提高主CPU的工作效率。而IDT7130自带的忙仲裁逻辑,可简化地址访问竞争电路的设计。
相关文章
- 2021-11-07TouchWin触摸屏TP和PLC在搅拌楼生产控制中的应用
- 2023-09-08隔振系统阻尼特性研究
- 2023-02-20高精度超声波测距系统
- 2023-05-19便携式多功能涡流仪的研制
- 2023-12-10超临界压力下CO2流体的性质研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。