基于CPLD的计算机并口EPP模式通讯实现
时间:11-28
来源:互联网
点击:
计算机的并行接口一开始是作为打印机接口而设计的。随着计算机周边设备的不断扩展,人们对提高计算机外设的数据采集速度的要求也越来越高。传统的异步串行通讯方式虽然具有数据传输距离较远的优势,但是由于数据传输速度慢,会造成传输速率的瓶颈问题。所以在一些需要高速数据传输的场合,使用并行接口一直是一种比较理想的解决方法。
1、并口EPP模式介绍
1.1并行接口的种类
最初的PC机并口由8个单向输出,5个位输入和4位双向(控制)线组成(SPP),如今为了适应扩展外围设备的需要,并口已经发展出了多种工作模式。总共有标准并行接口(SPP)、简单双向接口(PS/2)、增强型并行接口(EPP)和扩展功能接口(ECP)模式和多模式接口(ECP+EPP)这几种。EPP工作模式作为一个提供高性能并口连接的方法,仍与SPP兼容。EPP工作模式的优点概括如下:
1)8位数据线由原来SPP的单向改成了双向,简化了外围电路的设计;
2)在一个ISA的周期可以完成一次数据的传输,大大加快了数据传输速率;
3)只需要对计算机发送一条简单软件指令,接口硬件就可以自动生成握手联络信号;
4)接口数据线可以分别定义为数据和地址,通过综合使用nAstrb和nDstrb两条控制线可以快速的实现数据向不同的设备传输;
5)相对ECP的工作模式,EPP具有操作简单、易于实现的特点;
1.2 EPP的硬件接口
EPP接口通常是25芯的D-sub接口,符合IEEE1284标准。其中数据选通和地址选通信号为低电平有效, 且两者不可能同时为低, 等待信号(nWait) 为握手信号,主要是考虑PC比外设快, 外设通过发送等待信号与PC并口协调工作。空闲信号线(Spare)可以由外设根据需要来决定其状态,由PC直接读取并口状态寄存器的相应位来获得Spare的状态信息。
1.3 EPP寄存器说明
在PC机中,标准并行接口使用了3个8位的端口寄存器。PC就是通过对这些寄存器,也就是通常所说的数据、状态、控制寄存器的读写访问并口信号的,这3个寄存器的地址分别是基地址、基地址+1、基地址+2。如今,EPP将在基地址+3到基地址+7的范围内,添加5个寄存器。所以EPP一共使用了8个寄存器,表1列出了这些寄存器及其功能。
表1 EPP的8个寄存器及他们的功能
为了能够在EPP模式下读写一个数据字节,你需要将数据读取或者写入EPP数据寄存器(基地址+4),而不是读写基地址。同样的,地址的读写也是通过读取或者写入EPP的地址寄存器(基地址+3)来实现的。EPP的基地址通常是378h和278h。
1.4 EPP工作模式的时序分析
在EPP和ECP模式中,简单的端口读写操作就会自动产生握手联络信号,这简化了很多软件上的设计。图1是一个EPP地址写入周期的时序图。如图所示,对EPP数据寄存器的写操作将导致接口启动一个完整的数据写入周期。接口的硬件把待写入数据置于D0"D7,然后接口自动触发握手联络信号,并检测外设的应答。读取一个字节的过程与此类似。同样的,对EPP地址寄存器进行读写操作将引发一个完整的数据读写周期。所以,仔细研究EPP工作状态的时序是非常重要的。
图1 EPP地址写入周期的时序图
2、基于WDM的并口驱动程序的实现
在设计PC机外围产品时,不仅需要考虑PC接口定义,与接口相关的寄存器定义,数据传输协议,还要根据上位机采用的操作系统来编写合适的通讯程序,以便上位机对数据进行管理和监控。早期的Windows98以及更低版本的操作系统,可以直接访问并口硬件资源,比如使用C语言中的inp()和outp()函数来编写简单的通讯程序。但Windows2000/XP的操作系统采用了一些保护措施,阻止对端口的直接访问。这样做虽然提高了系统运行的可靠性,但也增加了软件上实现通讯的难度。
2.1 WDM驱动程序的种类和结构
WDM(Win32 Driver Model),即Windows驱动程序模型,是Microsoft力推的全新驱动程序模式,可以用来开发Windows 98和Windows 2000设备驱动程序。图2显示了在Win2000/XP系统中应用程序调用一个硬件操作的基本过程,从中可以看到WDM在整个驱动体系结构中的位置何作用。
图2 Win2000的驱动体系结构
如图所示,WDM的驱动程序是分层的,一般按照层次分为高层、中间和底层三类。顾名思义,高层驱动程序依赖于中间和底层驱动程序完成工作,而中间驱动程序又依赖于底层驱动程序来完成工作。其中各层驱动程序的详细介绍请参阅参考文献。
图3 并行口EPP模式驱动程序接口框图
2.2 并口EPP模式驱动程序的功能实现
WDM驱动程序开发工具通常用NuMega DriverStudio。因为它可以集成到VC++ 开发环境中,这样就可以像生成其他工程一样生成驱动程序框架,省去了大量的编写代码的时间.
2.3 EPP模式的基本操作
首先定义类KIoRange的一个实例,以对应EPP
下面就可以用类KIoRange的成员函数来访问EPP的寄存器:
1、并口EPP模式介绍
1.1并行接口的种类
最初的PC机并口由8个单向输出,5个位输入和4位双向(控制)线组成(SPP),如今为了适应扩展外围设备的需要,并口已经发展出了多种工作模式。总共有标准并行接口(SPP)、简单双向接口(PS/2)、增强型并行接口(EPP)和扩展功能接口(ECP)模式和多模式接口(ECP+EPP)这几种。EPP工作模式作为一个提供高性能并口连接的方法,仍与SPP兼容。EPP工作模式的优点概括如下:
1)8位数据线由原来SPP的单向改成了双向,简化了外围电路的设计;
2)在一个ISA的周期可以完成一次数据的传输,大大加快了数据传输速率;
3)只需要对计算机发送一条简单软件指令,接口硬件就可以自动生成握手联络信号;
4)接口数据线可以分别定义为数据和地址,通过综合使用nAstrb和nDstrb两条控制线可以快速的实现数据向不同的设备传输;
5)相对ECP的工作模式,EPP具有操作简单、易于实现的特点;
1.2 EPP的硬件接口
EPP接口通常是25芯的D-sub接口,符合IEEE1284标准。其中数据选通和地址选通信号为低电平有效, 且两者不可能同时为低, 等待信号(nWait) 为握手信号,主要是考虑PC比外设快, 外设通过发送等待信号与PC并口协调工作。空闲信号线(Spare)可以由外设根据需要来决定其状态,由PC直接读取并口状态寄存器的相应位来获得Spare的状态信息。
1.3 EPP寄存器说明
在PC机中,标准并行接口使用了3个8位的端口寄存器。PC就是通过对这些寄存器,也就是通常所说的数据、状态、控制寄存器的读写访问并口信号的,这3个寄存器的地址分别是基地址、基地址+1、基地址+2。如今,EPP将在基地址+3到基地址+7的范围内,添加5个寄存器。所以EPP一共使用了8个寄存器,表1列出了这些寄存器及其功能。
表1 EPP的8个寄存器及他们的功能
为了能够在EPP模式下读写一个数据字节,你需要将数据读取或者写入EPP数据寄存器(基地址+4),而不是读写基地址。同样的,地址的读写也是通过读取或者写入EPP的地址寄存器(基地址+3)来实现的。EPP的基地址通常是378h和278h。
1.4 EPP工作模式的时序分析
在EPP和ECP模式中,简单的端口读写操作就会自动产生握手联络信号,这简化了很多软件上的设计。图1是一个EPP地址写入周期的时序图。如图所示,对EPP数据寄存器的写操作将导致接口启动一个完整的数据写入周期。接口的硬件把待写入数据置于D0"D7,然后接口自动触发握手联络信号,并检测外设的应答。读取一个字节的过程与此类似。同样的,对EPP地址寄存器进行读写操作将引发一个完整的数据读写周期。所以,仔细研究EPP工作状态的时序是非常重要的。
图1 EPP地址写入周期的时序图
2、基于WDM的并口驱动程序的实现
在设计PC机外围产品时,不仅需要考虑PC接口定义,与接口相关的寄存器定义,数据传输协议,还要根据上位机采用的操作系统来编写合适的通讯程序,以便上位机对数据进行管理和监控。早期的Windows98以及更低版本的操作系统,可以直接访问并口硬件资源,比如使用C语言中的inp()和outp()函数来编写简单的通讯程序。但Windows2000/XP的操作系统采用了一些保护措施,阻止对端口的直接访问。这样做虽然提高了系统运行的可靠性,但也增加了软件上实现通讯的难度。
2.1 WDM驱动程序的种类和结构
WDM(Win32 Driver Model),即Windows驱动程序模型,是Microsoft力推的全新驱动程序模式,可以用来开发Windows 98和Windows 2000设备驱动程序。图2显示了在Win2000/XP系统中应用程序调用一个硬件操作的基本过程,从中可以看到WDM在整个驱动体系结构中的位置何作用。
图2 Win2000的驱动体系结构
如图所示,WDM的驱动程序是分层的,一般按照层次分为高层、中间和底层三类。顾名思义,高层驱动程序依赖于中间和底层驱动程序完成工作,而中间驱动程序又依赖于底层驱动程序来完成工作。其中各层驱动程序的详细介绍请参阅参考文献。
图3 并行口EPP模式驱动程序接口框图
2.2 并口EPP模式驱动程序的功能实现
WDM驱动程序开发工具通常用NuMega DriverStudio。因为它可以集成到VC++ 开发环境中,这样就可以像生成其他工程一样生成驱动程序框架,省去了大量的编写代码的时间.
2.3 EPP模式的基本操作
首先定义类KIoRange的一个实例,以对应EPP
下面就可以用类KIoRange的成员函数来访问EPP的寄存器:
电路 C语言 单片机 Xilinx CPLD Verilog 仿真 总线 收发器 相关文章:
- 浅谈E1线路维护技术与应用(01-12)
- R4网络接口和电路域容灾技术(01-05)
- 移动通信网引入IMS的相关探讨(02-21)
- 未来接入网的结构与演进(01-26)
- 电子熔丝在计算机应用中的优势(06-08)
- 高性能、高集成度的TD-SCDMA模拟基带集成电路的实现和应用(01-09)