您的位置 首页 技术

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

提出了用EPP协议和CPLD扩展笔记本电脑的ISA接口的方法,给出了详细的技术解决方案。扩展的ISA接口可以达到1310 KB/s的双向通讯速度,与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地址的难题。实践证明,这是一个便利有用的处理办法。

用EPP扩展ISA接口,最底子的使命是把EPP的数据读写周期快速地转化为ISA的IO读写周期。在ISA的时序中[3],时钟的频率是4.77MHz,典型的一个ISA周期要用4个时钟周期,即大约1μs的时刻。在EPP的读周期中,EPP首要宣布读指令,然后等候ISA的数据呼应,假如ISA依然以4个时钟来进行IO读操作,那么EPP很有或许会因为超时而发生时序过错,数据也必然会错。处理这个问题可以用进步ISA接口的时钟频率的办法,如进步到8MHz乃至是16MHz,可是这样的话ISA卡或许会来不及呼应而发生数据过错,所以这种办法不可取;另一种办法是改造ISA接口的时序,使得既能满意ISA卡的时序要求,又不至于形成EPP的超时过错。仔细分析ISA的IO读时序,CPU在T1宣布地址信号并宣布ALE信号,在T2宣布读指令,在T3采样READY信号,以决议是否发生等候周期,假如不需求等候,则在T4读取数据,完结整个读周期。可以发现,关于本体系,T1周期是可以省掉的,因为CPLD可以在EPP的地址周期内设定要寻址的IO地址,而没有必要在ISA周期内再发送地址,这样ISA的IO读周期就从4个时钟削减到3个时钟;假如可以确保ISA卡设备可以在一个时钟内送出有用的数据,则T3也可以省掉,这样一个ISA读周期实际上只占用了两个时钟,不会形成EPP的超时过错。对EPP数据写周期,因为CPLD可以先把数据写到缓冲中,首要确保EPP时序,再把数据从缓冲写到ISA设备中去,所以不会形成超时过错。ISA的读写时序经过这样的简化处理后,可以满意ISA设备和EPP两方面的时序要求。

4 CPLD的编程

体系选用的CPLD是ALTERA公司的MEP7064,它有64个宏单元,1250个可用门,就可以完结EPP和ISA的接口使命。文献[4]具体介绍了ALTERA公司的CPLD器材,在这里就不再介绍器材的功用和运用办法了。仅给出用VHDL言语写的操控程序如下(部分信号的含义请参照前面的电路原理图)。

Process (clk)

Type ISAType is (Idle,RD,WR);

Variable ISA: ISAType;

Variable IOR: STD_LOGIC;

Variable IOW: STD_LOGIC;

Variable EPPBuf: STD_LOGIC_VECTOR (7 downto 0);

Begin

Case ISA is

When Idle =>

If IOR=‘1’ then

#IORD <= ‘0’;

IOR=‘0’;

ISA := RD;

Elseif IOW=‘1’ then

#IOWR <= ‘0’;

ISADataBuf<=EPPBuf;

IOW:=‘0’;

ISA:=WR;

End if;

When RD =>

EPPBuf:=ISADataBus;

#IORD<=‘1’;

ISA:=Idle;

When WR =>

#IOWR <=‘1’;

ISA:=Idle;

End case;

End;

End Process;

5 核算机对EPP/ISA的操作

核算机经过EPP协议用CPLD扩展出ISA接口,现有的ISA卡就可以经过ISA接口、CPLD和EPP协议间接地连到了核算机上。关于ISA卡的运用者而言,不管从硬件的视点仍是从软件的视点来看,都好象是这块ISA卡直接插在核算机的ISA槽内,其速度也彻底可以到达运用的要求。EPP协议的用户编程接口是协议界说的几个IO口地址。以并口基地址为378H为例,378H是SPP数据口,379H是SPP状况口,37AH是SPP操控口,37BH是EPP地址口,37CH是EPP数据口。对ISA卡的操作次序是:首要经过设置nInit为高和写EPP地址口来设置ISA卡的高8位地址,再经过设置nInit为低和写EPP地址口来设置ISA卡的低8位地址,就可以经过EPP数据口对ISA卡进行读写操作了。作者自己做出的体系对单一的地址进行操作时,写操作的速度可以到达1000~1200 KB/s,最高可以到达1310KB/s,读操作的速度可达800~1100KB/s,彻底能满意数据收集和操控的要求。假如是对多个地址进行操作,因为设置地址要占用一个或许两个EPP地址周期,所以数据传输速度会有所丢失。

6 与其它通讯计划的比较

(1)RS232串口:最通用的一种衔接办法。可是它支撑数据传输速率最大为10~20KB/s,关于一般的数据收集和操控体系而言显得有些慢。

(2)SPP:数据通讯速度比串口快,可以到达150 KB/s。可是SPP用做数据输入时很费事,用屡次IO才干完结一次完好的数据读取,速度要献身许多,何况外设的规划并不比EPP简略。所以,假如挑选了并口计划,就不能挑选SPP形式,除非用户只是是做数据输出而且对速度没有很高的要求。

(3)ECP:与EPP比较ECP最大的优势是它支撑DMA操作,假如体系作业时有大批量的数据要传输,用ECP形式可以大大减轻核算机CPU的担负,进步体系的全体功用。可是取得ECP的高功用的价值是有必要从头规划比EPP杂乱得多的接口软件(指CPLD的操控软件),一起核算机软件方面还有必要要编写硬件驱动程序,这关于一般的核算机运用体系开发者而言仍是一个不小的困难。

(4)PCMCIA(the Personal Computer Memory Card Industry Association):开展了信用卡巨细的外设与PC机衔接的规范。开端,PCMCIA规范仅关于内存卡,现在已扩展到I/O设备。数据能以最大5MB/s的速率传输。但PCMCIA卡不支撑DMA,这就增加了数据收集和CPU处理之间的时刻。因此,现在的PCMCIA I/O卡需大容量缓存。PCMCIA设备的另一缺陷是尺度太小(最大尺度86mm×54mm×10mm),不能用于操控数据收集体系中的一些模仿电路部分。

(5)USB(Universal Serial Bus):支撑12Mbps的数据传输速度,支撑127个外围设备,支撑PNP(Plug and Play),支撑热插拔,而且总线自身可以供给用户体系电源。信号传输选用差分方法,可以按捺比较强的共模搅扰。USB具有很大的开展前途。在未来的核算机上,或许不再供给RS232串口,或许不再供给并口,但肯定不或许没有USB接口。USB的运用不象并口那样简练,它有必要要有专用的接口芯片的支撑才干用在体系中。不少芯片商现已供给了USB的产品,如USB HUB、USB接口、USB单片机等等。当然用户自己也可以把USB协议写到PLD芯片中去,使接口和体系融为一体。

综上所述,选用EPP扩展核算机的ISA接口是一种新颖的核算机外设规划计划,它具有十分高的功用价格比,可以到达绝大多数依据ISA接口的数据收集和操控体系的通讯速度要求。这种计划大大扩展了笔记本电脑关于ISA接口设备的适应才干,省去了用户对扩展箱的需求。只是改写该体系的CPLD程序和核算机的操控程序就可以供给新的功用,如做成双ISA接口体系,或许改形成STD、STE总线体系等等,而体系的硬件不需做任何的改动。EPP的确是一种有远景的有用接口技能,值得微机外设规划者和运用者选用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/192978.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部