您现在的位置:首页 > 技术资料 | ![]() |
虚拟仪器中的EPP接口设计 虚拟仪器是计算机软件和硬件(处理器、存储器、显示器)及测试功能硬件(数/模变换器、模/数变换器、定时和计数、数字输入输出等)构成的测试平台,他融合了测试理论、仪器原理、电子技术、计算机接口、总线技术以及软件编程技术于一身,实现了测量仪器的系列化、模块化、智能化和网络化,具有多功能、低成本、应用灵活、操作方便等优点,成为仪器发展的一个重要方向。 虚拟仪器与微型计算机的接口主要有3种形式: (1)通用仪器总线接口 最典型的是VXI总线(VMEbus Extensions for Instrumentation,VME总线在仪器领域的扩展),该总线数据传输速度可达40Mb/s,其电气标准规范,系统重组和电磁兼容性均较好,可靠性高,并具有同步触发功能;但系统结构复杂、成本高,一般适合于组建大型精密的自动测试系统,如航空测试系统,军用测试系统。 (2)计算机内部插卡式接口 主要有微机内部的ISA接口和PCI接口,数据传输速度分别可达16Mb/s和133Mb/s;价格适中,适用于中小型测试系统。但由于插卡式结构的虚拟仪器直接插在微机内部的主板上,极易受到PC机的电源纹波和机箱内电磁辐射的干扰,从而限制了他的应用范围。 (3)计算机外部通用总线接口 主要有增强并行接口EPP(Enhanced Parallel Port,IEEEl284)、扩展能力接口 ECP(Enhanced Capability,PortIEEEl284)、通用串行总线USB(Universal Serial Bus)和火线Fire wire(即IEEEl394总线),数据传输速度分别可达2Mb/s,4Mb/s,12Mb/s和400Mb/s。EPP和ECP是在原打印机接口基础上发展起来的并行接口;USB,Fire wire是新型高速串行总线,并具有热插拔能力。由于采用外部通用接口的虚拟仪器硬件在微机外部与计算机相联,因此电磁兼容特性良好。特别是增强并行接口EPP,技术的复杂性和成本都不会太高,是构建通用自动测试系统的一种良好选择。由于插拔不用开机箱,使用方便,尤其是适用于笔记本电脑。 本文仅讨论使用EPP井口的虚拟仪器。 2 EPP增强型并行接口 EPP协议是一种与标准并行口兼容且能完成双向数据传输的协议。该协议定义的并行口更像一个开放的总线,给用户提供了强大的功能和灵活的设计手段。 2.1 EPP信号特性 当计算机井口工作于EPP模式时,实际上只用了8条数据线Data0~7和5条信号线nWrite,nWait,uDataStrobe,nAddrStrobe,nReset("n"表示低有效)。EPP信号引脚的定义与标准并口的定义有所不同,如表1所示。
EPP端口与标准井口SPP兼容,并增强定义了新的端口地址,如表2所示(Base为并口基地址:如LPTl为378H)。
2.3 EPP时序 与标准并口通过软件检测外设状态并产生握手信号不同,EPP只需对相应端口进行一次I/O操作,读/写周期即开始,计算机自身产生一系列异步、互锁信号,自动完成握手操作,避免了程序的复杂性,使得EPP数据传输率接近标准PC内部ISA总线的传输率,典型的EPP传输速率为500kb/s~2Mb/s。 EPP协议定义的并行口提供了4种传送周期:数据写周期、数据读周期、地址写周期和地址读周期。数据周期一般用于计算机向外设发送命令和控制信号,以及向外设传送数据。地址周期一般用于传送地址、通道等信息。实际上,数据周期和地址周期并没有那么严格的界限,可以把地址周期看作另一种数据周期。图1~图4是4种周期的时序图。
EPP时序规定nDataStrobe(nAddrStrobe)信号在PC检测到nWait有效后才能置低,nDataStrobe(nAddrStrobe)有效又导致nWait信号变高,即通知PC结束该读写周期,nDataStrobe(nAddrStrObe)随后恢复到空闲时的高电平状态。上述信号之间的互锁关系可用下式实现。 2.4 EPP初始化 在EPP处于空闲状态时,nDataStrObe,nAddrStrObe,nWrite和nReset信号必须无效且p处于高电子状态。有的PC机需要程序在读写EPP之前对井口控制寄存器(BASE+2)相应位(Bit 0,Bitl,Bit3)初始化,即向控制寄存器写入xxxx0100的控制字。而有的井口当其被置于反向传输模式时,将无法正常实现EPP写周期,需要在使用EPP之前将并口置于正向传输模式,即清除控制寄存器的第5位Bit5。所以在发生上述情况时,程序在访问EPP数据、地址寄存器之前需先向控制寄存器写入xxoxol00的控制字。 3 虚拟仪器EPP并行接口电路设计 虚拟仪器通过EPP并行接口连接PC计算机,硬件电路板包括多路数字量输入/输出、定时器/计数器、A/D转换器及D/A转换器、存储器等,软件包括硬件I/O驱动程序、仪器驱动程序、数据采集和处理模块、面板显示程序等,通过软件编程可构成交直流电压表、 电路板内采用了总线结构,各功能部件均连接在模板的内部总线上。EPP有8条数据/地址共用线,因此只能采用分时复用的方法提供所需要的数据和地址总线。此外,还需要为各输入输出电路提供读写信号和片选信号。 为简化设计,使用CPLD芯片EPM7128SLC84完成电路板到EPP并口的接口电路。CPI。D的设计输入采用A1tera公司的硬件描述语言HDL(Hardware Describable Language),开发工具为MAX-PI。USⅡ,设计输入、编译、仿真、修改及下载和电路验证都非常方便。EPP接口电路设计文件如下: SUBDESIGN EPP 4 对EPP接口的I/O操作编程 使用Lab Winds/CVI虚拟仪器开发平台,设计了3个EPP接口功能函数。使用时首先初始化EPP接口,然后再调用EPP的输入或输出函数即可。 (1)初始化EPP接口函数 viod epp_init () (2)EPP接口输出数据函数:先向地址寄存器写入I/O 8b地址,再向数据寄存器输出数据。 viod epp_out(unsigned short stdaddr,unsigned chardada) (3)通过EPP接口输入数据函数:先向地址寄存 void epp-in(unsigned short staddr,unsigned char *dada) 5 结 语 在虚拟仪器中使用增强并行接口EPP,具有数据传输速度高(2Mb/s),电磁兼容特性良好。由于插拔不用开机箱,使用方便,具有热插拔能力,尤其是适用于笔记本电脑。技术复杂性和成本都不会太高,是构建通用自动测试系统的一种良好选择。EPP的接口
|