智能化I-O接口
智能化I/O接口
作者:赵建东 王广炎 帅 梅 王小椿
1 智能化I/O接口的发展与应用
近几年来,微处理机在集成密度和运算速度方面,存储器在存储容量和存取速度方面都取得了飞速发展。相比之下,在应用微型计算机组成各类数据采集、工业控制、信息处理、网络通信等系统中,I/O接口因为与其相连的外部设备种类繁多特性各异而发展较慢。为了适应微型计算机广泛灵活的使用以及高性能的发挥,智能化已成为I/O接口扩展
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
这一关键技术的发展方向之一.智能化I/O接口是指在I/O接口卡中也设置CPU。卡上CPU与主机CPU可属同一系列,也可不 同,还可以是单片机、数字信号处理器、图象信号处理器等。它不仅用于数据的I/O传送,而且可以协助主机进行某些信号的处理工作。智能化/O接口由于具有处理能力和智能作用,所以它除了具有一般I/O接口的连接外设与主机CPU进行信息交换的功能外,还具有以下两大功能:实现接口控制主体改变;进行接口数据处理。因此,主机在以下几方面获得效益:
1 减轻负担,使主机CPU腾出更多的时间去处理其他事情,从而提高了主机的工作效率,分散了主机的故障风险。
2 加速处理。承担主机处理特别费时间的工作,从而改善了主机高性能的发挥。
3 节省空间 对I/O数据进行预处理或处理以及压缩或解压缩,从而减慢了主机I/O的速率,提高了主机有效的数据存储空间。因此智能化接口在工业控制、信息处理、音频或视频信号的数据采集、通讯网络接口、个人 仪器系统等领域有广泛的应用前景。
智能化接口卡上的CPU与主机CPU之间的通讯常采用以下三种工作方式:
1 I/O传送从属型
2 共用ARM从属型
3 主控型
基于这些方式,在实际应用中已有多种形式:
串行通讯
主机与从机通过各自的串行口传递数据,其连线简单,但传输速率慢,即使波特率为9600Kb/s,传送1K字节也要1秒左右。当传送数据量大时,需几秒甚至十几秒,显然不能满足实时控制的要求,同时也不适应于多主/从CPU组
成的网络通讯系统。
直接用微机(单片机)本身的并行口进行并行通讯.
这种方式对于微机来说多使用其并行口LPT1(通常用做打印机接口),对于单片机而言是使用其数据/地址复用线,故实现简单,但最大缺点在于占用微机的I/O资源,不利于系统扩展。用可编程I/O芯片(8255、8155、PIO等)扩展并行口, 这是一种较为传统的并行通讯方式,结构较简单,价格低,故被广泛应用。在数据通信时主机与从机都要对各自的可编程I/O芯片进行初始化操作,数据的传送随字节进行,在传送过程要受交换双方CPU的干预,过多占用CPU的时间,传送效率低,不适合大数据量传送的场合。
邮箱传送
信箱存储系统由两个分离的模块构成--信箱和控制逻辑。信箱存放主机与从机之间进行交换的数据信息,控制逻辑允许多个CPU/MPU同时访问该信箱,无需在主、从机之间进行仲裁 。该方式亦仅适用传递信息量较小的应用场合。
竞争存储器方式
需要专门设计总线控制逻辑,以控制交换数据双方的CPU分时获得存储器信息交换窗口的控制权,从而实现数据的交换。该方式控制逻辑复杂,在应用系统中很少采用。
硬件共享存储器方式
交换信息双方的CPU将存储器信息交换窗口作为自己存储器的一部分,CPU对该窗口的操作如同对自己的存储器进行操作,通过该窗口就可实现信息的交换。目前,这种方式应用较多的是用户自行设计数据、地址、读/写等信号的切换逻辑,将单端口的数据存储器(如6264、62256等)作为存储器窗口。交换双方CPU对窗口的控制为整块控制,只要一方对窗口正在进行操作(即使对窗口中一字节进行存取),另一方对该窗口的操作也必须等待,因而,在信息交换频繁的实时控制应用系统中受到了限制;另外,利用硬件组成总线隔离和竞争仲裁电路, 使其结构复杂,降低了可靠性。
2 基于双口RAM的智能化I/O接口
2.1 实例背景
在一数控加工系统中设计一块内嵌式开关量控制卡,要求满足如下要求:
输入输出点数均达50点左右,即数据传送量大;要满足系统的快速性和实时性;.I/O卡工作在工况环境中要有较强的抗干扰能力和较高的可靠性;尽可能减轻工控机负担,因系统要实现的功能较多。结合智能化I/O接口的优点与加工系统的控制要求,决定采用智能化I/O接口扩展卡。由卡上CPU通过输入口来读取开关状态,并通过卡上扩展系统来运行开关控制逻辑程序,最后将运行结果送到输出口,经光隔放大驱动开关闭合。这样能避免主机直接参与控制,减少占用
主机时间,提高主机运行速度,同时相对分散主机风险。在选择何种应用方式来实现主从CPU间的数据信息传递时,发现上述六种或因结构复杂或因传递效率低都不能很好地满足要求,而新型的双口RAM芯片却有它独特的优点;具有两套完全独立的数据线、地址线、读/写控制线,允许两个CPU对双端口存储器的同 一单元进行同时存取。具有两套完全独立的中断逻辑来实现两个CPU之间的握手控制信号.具有两套独立的“忙”逻辑,保证两个CPU同时对同一单元进行读/写操作的正确性。
兼容性强
该类芯片的读/写时序与普通单端口存储器(如6116、6264等)完成一样,存取速度完全满足各种CPU的要求。可见,双端口RAM的高集成度不仅能使信息交换窗口的设计大大简化,而且使信息的交换更加快速、可靠,所以采用它来做主从CPU间的联系纽带。
2.2 硬件原理及通信
智能化I/O接口卡的硬件原理及其与主机的连接如图(见下页)所示(考虑到产品设计的标准化和通用性,故只给出了大致框架)。可以看到双口RAM的内部结构和连接,其左端连接主CPU(实例中为工控PC),右端连接从CPU(实例中为INTEL8031)。具体信息交换过程是:主CPU将需要传送的数据块写入双端口存储器,然后给从CPU发中断信号,从CPU接到中断信号后,将数据块搬入自己的数据区,然后清除该中断,同时给主CPU回发中断信号,告知从CPU已将数据取走。至此便完成了从主到从的数据交换;反之亦然。以往介绍双口RAM使用的文章中,只是利用它作为一个通讯的工具,很少利用它作为RAM本身的特点。在实例中,笔者选用4kx8的双端口RAM芯片,分成三个区来使用,其中?、?区各占512个字节,用于主、从CPU间交替传送信息;?区只供从CPU使用来运行开关逻辑处理(即用户程序)、运行故障监测等程序。
另外,在开发阶段笔者利用双口RAM快速调试扩展卡,其大致做法是:在主机中编写I/O扩展卡上的应用程序,汇编后得到二进制BIN文件,把此BIN文件送至双口RAM内;设从CPU侧双口RAM的地址范围为3000,37FFH,另写一段程序,如仅含一条指令:LJMP 3000H,则存入EPROM芯片中,插到智能卡系统的EPROM插座上,则从CPU复位后,即转入双口RAM中读取指令。利用这种方法可以大大提高本智能化I/O卡的开发速度。
其他设计(如输入输出接口、译码电路等)都跟普通I/O接口一样,不再详述。
经实用,基于双口RAM制作的智能化I/O接口有如下优点:
1 较好地满足了系统的各项要求,实现了主从CPU间大数据量的快速交换及实时性控制;
2 明显在硬件设计方面扩展灵活,减少了设计工作量和布线密度,提高了
接口卡的可靠性 ;
3 明显减轻了主机的负担,提高了主机的效率;
4 用户调试程序方便快捷。
3 智能化I/O接口卡的发展趋势
综上所述,可看出今后智能化I/O接口卡有如下发展趋势:
1 高速率
满足应用系统的数据交换的快速性和控制的实时性。
2 多功能
不仅能完成信息交换和处理,而且能实现更多的智能功能。
3 标准化与通用性
在保证可靠性的前提下,尽可能选用通用和标准的芯片和电路。这样才能便
于用户嵌入到自己的系统中,便于结合现有软硬件组成更复杂的系统(实现最优
控制(
来源:电子计算机与设备
本文文章著作权归作者所有