微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 计算机的并行接口(2)

计算机的并行接口(2)

时间:12-12 来源:互联网 点击:

tAck为低

注意:接口2侧都使用FIFO ,发出的数据都认为已被接收。在第4步,HostClk变为高,data 被触发进入外设,数据指针计数器更新。在有些情况下这有可能造成传输数据丢失。

ECP模式定义反向传输为从外设传输到主机,反向传输时,当并口线上数据有效,外设设置PeriphClk 为低,主机在接收数据后设置HostAck 为低。下图描述了反向通道的command周期紧随data周期的时序:

上图也显示出ECP和EPP协议的不同。在EPP模式,软件可以执行混合的读写操作,而不需要额外的协议;而在ECP模式,改变数据传输方向必须协商。主机要求反向传输通道需设置nReverseRequest并等待外设的nAckReverse的响应, 然后才可以进行反向数据传输。另外, 如果以前为DMA传输,软件必须等待DMA完成或中断DMA(要FIFO确定准确的已传输的数据量),然后要求反向通道。

ECP模式的反向Data和Command周期

1. 主机设置nReverseRequest 为低,要求反向传输通道

2. 外设设置nAckReverse 为低,响应主机

3. 外设发送数据到数据线,并设置PeriphAck 为高指示data 循环

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和Data的FIFO包括至少16字节,可用于前向和反向传输,可以平滑数据流和提高数据率。向Address FIFO寄存器写数据,会自动发往并口。ECP的Data FIFO寄存器用于主机和外设间的数据传输。

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 code) ,并通过对ECR寄存器的操作来选择一种较高的工作模式。

主机用Device ID序列来识别并口设备。Device ID是定义了外设特性和性能的ASCII字符串。因为没有一个授权中心来分派设备和制造商编码,在即插即用(Plug and Play)系统中,主机必须能够测定和识别加入的设备,并自动安装需要的设备驱动程序。

使用IEEE 1284的所有设备,上电时都为SPP模式。主机执行IEEE 1284工作模式选择的过程如下:

1. 把IEEE 1284的8-bit扩展码(extensibility code )发到数据线

2. 设置SelectIn信号线为高,并设置AUTOFD为低

3. 外设然后设PError为高、ACK为低、FAULT为高、Select为高表示为为IEEE1284标准设备(如果外设不设置这些信号,主机认为外设不是IEEE1284设备),然后做以下操作。

4. 使STROBE为低

5.使STROBE为高、AUTOFD为低

6. 如果extensibility code与提供的模式匹配,外设使PError为低、FAULT为低、Select为高

7. 外设使ACK为高,指示状态线可用

IEEE1284 扩展码:Extensibility Request Bytes

ECR寄存器用来设置当前工作模式,另外也用于软件确定安装于PC机的并口的性能。

ECR寄存器的模式:

如果要退出Nibble、Byte或ECP模式,设置SelectIn为低,而退出EPP模式主机要设置INIT信号有效,然后外设将恢复到SPP模式。

如果一个并口既支持SPP模式,也可实现其他双向模式,那么其前3个寄存器与标准并行口的寄存器完全一致,以便兼容过去的标准。

2.7)不

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top