计算机的并行接口(2)
tAck为低
注意:接口2侧都使用FIFO ,发出的数据都认为已被接收。在第4步,HostClk变为高,da
ECP模式定义反向传输为从外设传输到主机,反向传输时,当并口线上数据有效,外设设置PeriphClk 为低,主机在接收数据后设置HostAck 为低。下图描述了反向通道的command周期紧随da
上图也显示出ECP和EPP协议的不同。在EPP模式,软件可以执行混合的读写操作,而不需要额外的协议;而在ECP模式,改变数据传输方向必须协商。主机要求反向传输通道需设置nReverseRequest并等待外设的nAckReverse的响应, 然后才可以进行反向数据传输。另外, 如果以前为DMA传输,软件必须等待DMA完成或中断DMA(要FIFO确定准确的已传输的数据量),然后要求反向通道。
ECP模式的反向Da
1. 主机设置nReverseRequest 为低,要求反向传输通道
2. 外设设置nAckReverse 为低,响应主机
3. 外设发送数据到数据线,并设置PeriphAck 为高指示da
4. 外设设置PeriphClk为低指示数据有效
5. 主机设置HostAck 为高确认
6. 外设设置PeriphClk为高,这是边沿触发信号,用于使数据存入主机
7. 主机设置HostAck为低,指示准备好接收下一个字节
8. 循环重复,但这次是command周期,因为PeriphAck为低
ECP FIFO的使用,无论DMA方式或可编程I/O方式,减弱了与ISA的关联,软件不会精确知道数据传输的状态,只关心传输是否完成。
在Microsoft 的规格书"The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard"中,定义了基于ISA的ECP模式的通用寄存器和适配器的工作模式。ECP寄存器利用了定义的6个寄存器,只需要3个I/O口操作,注意寄存器的定义与工作模式有关。
ECP寄存器描述:
ECP模式在3个SPP模式并口寄存器外又定义了6个寄存器, 用于把地址或数据自动发到并口数据线上,然后自动产生地址和数据的选通(strobe)信号。
ECP的Address和Da
ECP模式并口寄存器配置图:
ECP模式的目的是实现并口的即插即用(plug-and-play)性能和在Windows环境下进行高性能双向传输。ECP模式允许任一方向的高速字节传输,也是半双工方式,为打印机和扫描仪设计,数据率从500KB/S到1MB/S,使用AB-cable 电缆可传6米,而使用新的CC-cable 电缆可达10米。ECP主要使用DMA而不是直接的I/O操作,目的是传输大的数据块。
2.6)工作模式选择过程(Negotiation):
一个设备可能设计为有多种工作模式,但不能同时使用,每次只能选用一种。IEEE 1284发明了协商(negotiation)方式,主机必须要判断所连接的外设的能力以及使用的模式,决定出使用哪种IEEE1284模式,这种协商方式不会影响过去的设备,一个旧式设备不会响应协商的时序,但符合IEEE 1284标准的设备会响应这一时序,使主机获得设备的ID码(Device ID co
主机用Device ID序列来识别并口设备。Device ID是定义了外设特性和性能的ASCII字符串。因为没有一个授权中心来分派设备和制造商编码,在即插即用(Plug and Play)系统中,主机必须能够测定和识别加入的设备,并自动安装需要的设备驱动程序。
使用IEEE 1284的所有设备,上电时都为SPP模式。主机执行IEEE 1284工作模式选择的过程如下:
1. 把IEEE 1284的8-bit扩展码(extensibility co
2. 设置SelectIn信号线为高,并设置AUTOFD为低
3. 外设然后设PError为高、ACK为低、FAULT为高、Select为高表示为为IEEE1284标准设备(如果外设不设置这些信号,主机认为外设不是IEEE1284设备),然后做以下操作。
4. 使STROBE为低
5.使STROBE为高、AUTOFD为低
6. 如果extensibility co
7. 外设使ACK为高,指示状态线可用
IEEE1284 扩展码:Extensibility Request Bytes
ECR寄存器用来设置当前工作模式,另外也用于软件确定安装于PC机的并口的性能。
ECR寄存器的模式:
如果要退出Nibble、Byte或ECP模式,设置SelectIn为低,而退出EPP模式主机要设置INIT信号有效,然后外设将恢复到SPP模式。
如果一个并口既支持SPP模式,也可实现其他双向模式,那么其前3个寄存器与标准并行口的寄存器完全一致,以便兼容过去的标准。
2.7)不
计算机并行接 相关文章:
- 计算机的并行接口(12-12)
- 计算机的并行接口(3)(12-12)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)