摘 要:增强型并行口epp与标准并行口spp兼容,但可通过数据线双向传送数据,并且达到接近于pc机isa总线的数据传输率。本文详细讨论了epp接口特性,并使用cpld设计虚拟仪器的epp接口电路,给出了用labwindows/cvi编写的epp接口功能函数。
关键词:虚拟仪器;epp接口;cpld;labw indows/cvi
1 引 言
虚拟仪器是计算机软件和硬件(处理器、存储器、显示器)及测试功能硬件(数/模变换器、模/数变换器、定时和计数、数字输入输出等)构成的测试平台,他融合了测试理论、仪器原理、电子技术、计算机接口、总线技术以及软件编程技术于一身,实现了测量仪器的系列化、模块化、智能化和网络化,具有多功能、低成本、应用灵活、操作方便等优点,成为仪器发展的一个重要方向。
虚拟仪器与微型计算机的接口主要有3种形式:
(1)通用仪器总线接口 最典型的是vxi总线(vmebus extensions for instrumentation,vme总线在仪器领域的扩展),该总线数据传输速度可达40 mb/s,其电气标准规范,系统重组和电磁兼容性均较好,可靠性高,并具有同步触发功能;但系统结构复杂、成本高,一般适合于组建大型精密的自动测试系统,如航空测试系统,军用测试系统。
(2)计算机内部插卡式接口 主要有微机内部的isa接口和pci接口,数据传输速度分别可达16 mb/s 和133 mb/s;价格适中,适用于中小型测试系统。但由于插卡式结构的虚拟仪器直接插在微机内部的主板上,极易受到pc机的电源纹波和机箱内电磁辐射的干扰,从而限制了他的应用范围。
(3)计算机外部通用总线接口 主要有增强并行接口epp(enhanced parallelport,ieee1284)、扩展能力接口ecp(enhanced capability,portieee1284)、通用串行总线usb(universal serialbus)和火线fire wire(即ieee1394总线),数据传输速度分别可达2 mb/s,4 mb/s,12 mb/s和400 mb/s。epp和ecp是在原打印机接口基础上发展起来的并行接口;usb,fire wire是新型高速串行总线,并具有热插拔能力。由于采用外部通用接口的虚拟仪器硬件在微机外部与计算机相联,因此电磁兼容特性良好。特别是增强并行接口epp,技术的复杂性和成本都不会太高,是构建通用自动测试系统的一种良好选择。由于插拔不用开机箱,使用方便,尤其是适用于笔记本电脑。
本文仅讨论使用epp并口的虚拟仪器。
2 epp增强型并行接口
数据传输的协议。该协议定义的并行口更像一个开放的总线,给用户提供了强大的功能和灵活的设计手段。
2.1 epp信号特性
当计算机并口工作于epp模式时,实际上只用了8条数据线data0~7和5条信号线nwrite,nwait,ndatastrobe,naddrstrobe,nreset(“n”表示低有效)。epp信号引脚的定义与标准并口的定义有所不同,如表1所示。
2.2 epp端口寄存器
epp端口与标准并口spp兼容,并增强定义了新的端口地址,如表2所示(base为并口基地址:如lpt1为378h)。
当对基地址端口进行i/o操作时,就如同使用标准并口一样,必须由软件程序检测当前状态以产生必要的控制信号。要同epp外设通信,则从epp地址端口base+3读写地址,从epp数据端口base+4读写数据。由于计算机并口只有8 b数据线,16 b或32 b数据必须分成若干字节分别传送。如果设备端口有16 b或32 b数据线,可以利用base+5,base+6和base+7三个端口直接完成16 b或32 b数据传输。
2.3 epp时序
与标准并口通过软件检测外设状态并产生握手信号不同,epp只需对相应端口进行一次i/o操作,读/写周期即开始,计算机自身产生一系列异步、互锁信号,自动完成握手操作,避免了程序的复杂性,使得epp数据传输率接近标准pc内部isa总线的传输率,典型的epp传输速率为500 kb/s~2 mb/s。
epp协议定义的并行口提供了4种传送周期:数据写周期、数据读周期、地址写周期和地址读周期。数据周期一般用于计算机向外设发送命令和控制信号,以及向外设传送数据。地址周期一般用于传送地址、通道等信息。实际上,数据周期和地址周期并没有那么严格的界限,可以把地址周期看作另一种数据周期。图1~图4是4种周期的时序图。
epp时序规定ndatastrobe(naddrstrobe)信号在pc检测到nwait有效后才能置低,ndatastrobe(naddrstrobe)有效又导致nwait信号变高,即通知26pc结束该读写周期,ndatastrobe(naddrstrobe)随后恢复到空闲时的高电平状态。上述信号之间的互锁关系可用下式实现。
2.4 epp初始化
在epp处于空闲状态时,ndatastrobe,naddrstrobe,nwrite和nreset信号必须无效即处于高电平状态。有的pc机需要程序在读写epp之