RSS

用增强并口EPP协议扩展计算机的ISA接口

来源:网络 作者:匿名 时间:2007-01-06 Tag: 点击:

摘要:提出了用EPP协议和CPLD扩展笔记本电脑的ISA接口的方法,给出了详细的技术解决方案。扩展的ISA接口可以达到1310 KB/s的双向通讯速度,与ISA本身的速度相当。用户可以通过扩展的ISA接口直接使用市场上的基于ISA的接口卡。

    关键词:ISA  标准并口  增强并口  复杂的可编程逻辑器件

    利用微机开发便携式的数据采集、控制系统一直是微机应用系统开发者十分关心的课题。特别在是基于笔记本电脑的数据采集和控制系统中,这一点显得尤为重要。传统的数据采集和控制系统是针对台式机或者工控机设计的,一般都做成了标准的插卡,如A/D卡、D/A卡、RS232扩展卡等等,用户根据自己的实际需要选取合适的插卡,安装在自己的计算机中,再编写所需要的程序。但是在基于笔记本电脑的应用系统中,由于其没有扩展槽,如果用户自己不再配一个扩展箱,就不能配置现成的插卡。扩展箱的主要功能是扩展笔记本电脑的各种外围接口,即把笔记本电脑的功能扩展为与一个台式机相同的功能。它需要单独的电源供应,体积比笔记本电脑本身大,又比笔记本重的多,价格在人民币7000~10000元左右。如果能够找到一种便捷的方法,为笔记本电脑提供一个标准的总线接口,如ISA接口,那么现在市场上大部分的插卡都可以用在笔记本电脑上,不仅为用户节约了一个扩展箱投资,而且还为用户提供了更加广阔的选择余地。本文提出了解决该问题的一个完整的技术方案。

1 EPP并口

    最初的计算机并口只是为打印机设计的,数据只是单向传输。IBM公司引进了PS/2设计后,并口开始支持双向数据传输,但是PS/2实际上并没有成为一个为业界广泛认可的双向并口模式。1992年,由Intel、Xicom和Zenith公司共同制定了EPP1.7标准。以后IEEE又发展了IEEE1284的EPP标准。实际上EPP的标准共有三个,即EPP1.7、EPP1.9和IEEE1284,这些标准并不完全兼容,特别是EPP1.7和IEEE1284之间,不过这些对用户的使用并没有太大的影响。文献[1]即是IEEE1284标准,其中规定了并口各种模式的详细的时序图,包括SPP、PS/2、ECP和EPP模式。作者根据IEEE1284上规定的时序图进行了时序设计,而计算机上提供的EPP版本是EPP1.7或EPP1.9,实际使用中它们没有不匹配的地方。

2 用EPP扩展ISA接口的总体设计

    计算机主板上一般有2~3个ISA插槽,可以扩充一些ISA插卡。大多数基于ISA标准的微机数据采集和控制只用到了ISA接口的数据线、地址线、AEN、ALE、#IOR、#IOW等信号,有的也用到了中断和DMA的信号。只要了解这些信号之间的时序关系,我们完全可以自己用逻辑器件“制造”出ISA接口,文献[2]介绍了用单片机扩展总线的技术,包括ISA、STD总线等。作者曾经用并口的SPP模式和80C196单片机扩展出了计算机的ISA接口,但是IO读写速度只能达到20KB/s左右,总体的效果不太理想。ECP和EPP都能进行高速双向数据通讯,但是ECP的实现远比EPP复杂的多,其性能和EPP却大致相当,所以最终的方案采用了EPP模式。由于单片机是一个单任务的串行控制器,如果它只是用来扩展ISA接口,那么可以达到比较高的速度;否则,ISA总线的速度会大大降低,最后变得失去使用价值,所以最终的外设芯片不能采用单片机,只能采用DSP或者大规模的可编程逻辑器件。作者选用了后一种方案。

    用EPP扩展ISA口的硬件核心是一片可编程逻辑器件,如CPLD,它一方面负责与计算机通过EPP协议进行双向数据通讯,另一方面负责产生ISA接口时序,系统体系相当简洁而高效,电路原理如图1所示。EPP的数据线D0~D7和信号线nWrite、nDstrb、nAstrb、nInit、nWait、Intr直接与CPLD的双向I/O线相连。另外,EPP没有定义标准并口的第12、13、15三个引脚,这些引脚用户可以灵活使用。电路图上并口的第13脚和CPLD连了起来,可以提供其他的功能。CPLD提供了ISA接口的D0~D7,A0~A15,ALE,AEN,#IOR,#IOW,IRQ、IORDY等信号。扩展的ISA接口提供了16根地址线,可以寻址64K的IO空间,这比计算机所提供的IO空间(1K)大了许多倍。用户可以专门设计具有64K寻址能力的数据采集和控制板,也可以用只有1K寻址能力的数据采集和控制板,在这种情况下,地址线的高6位被忽略了,但这并不影响系统的正常使用。

3 硬件操作方法

    EPP协议定义的并行口提供了四种传送周期:数据写周期、数据读周期、地址写周期和地址读周期。数据周期一般用于计算机和外设间的数据传送,地址周期一般用于传送地址、通道、命令和控制等信息。实际上,数据周期和地址周期并没有那么严格的界限,可以把地址周期看做另一种数据周期,二者并没有太大的区别。图2是EPP数据写周期的时序图,图中的nIOW信号实际上在进行EPP数据写时并不会产生,只不过是为了表示所有的操作都发生在一个IO周期内,只有这样,才能使EPP获得ISA总线的数据操作速度。图2中的nDataStrobe信号如果换为nAddStrobe信号,就是EPP地址写周期。图3是EPP地址读周期,也是发生在一个IO周期内。

    EPP定义了一个计算机用于控制外设初始化的信号:nInit,如果用户不希望控制外设的初始化,则可以不处理这个信号;用户也可以挪用nInit信号做其他的用途,在本设计方案的地址周期中,如果nInit为高,则表示该地址对应ISA接口的高8位地址,否则,对应低8位地址。用这种办法解决了用8位的EPP地址扩展16位的ISA地址的难题。实践证明,这是一个方便实用的解决方法。
1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
教程下载