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

计算机的并行接口(2)

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

,设置WAIT*,指示准备开始下一周期。

EPP模式在3个SPP模式并口寄存器外又定义了5个寄存器, 用于把地址或数据自动发到并口数据线上,然后自动产生地址和数据的选通(strobe)信号。EPP模式的数据、状态和控制寄存器与SPP模式的配置相同。

把数据写入Auto Address Strobe寄存器,将把数据发到并口数据线,并伴随自动产生的ASTROBE*低脉冲信号;把数据写入任一Auto Data Strobe寄存器,将把数据发到并口数据线,并伴随自动产生的DSTROBE*低脉冲信号;当一个Auto Data Strobe寄存器在读取, DSTROBE*信号受脉冲控制,返回电平值。

EPP寄存器接口:

从软件角度看,EPP模式是扩展了SPP的并口寄存器。SPP的并口包括数据Data、状态Status和控制Control 3个寄存器,地址为并口基址(base address)的偏移(offset)。

EPP寄存器定义如下:

通过产生一个对“base_address+4”的 I/O 写指令,EPP控制器产生需要的数据写(Data_Write)周期的handshake信号和strobes用来传输数据。而对基址(ports 0到 2)的I/O 指令将实现标准并行口的操作,以保证与标准并口的兼容。而对"base_address + 3"的I/O 操作,会产生地址读写周期。Ports 5到7 的作用在不同硬件中有差别,可用作实现16-bit或32-bit的软件接口,或用作配置寄存器,也可能不使用。

标准并口的数据传输需要7个软件步骤,EPP增加了其他的硬件和寄存器,通过单I/O 指令自动产生控制strobes和数据传输的handshaking信号,保证以ISA 总线速度传输,最大数据率为2 Mbytes/s,在其他平台上可能达到10 Mbytes/s 。EPP的微处理器的总线结构使之易于直接与外设硬件通讯。EPP模式还有进一步的块传输能力,使用REP_IO指令,依靠主机适配器的支持。

EPP模式数据写时序的步骤:

1. 程序对PORT4 (EPP Data Port)执行I/O写周期

2. nWrite信号有效,数据发送到并口

3. 设datastrobe有效,然后nWAIT 设置为低

4. 等待外设的响应 (nWAIT变为无效)

5. 设置datastrobe无效,结束EPP周期

6. ISA 的I/O 周期结束

7. nWAIT 设置为低,指示下一个周期开始

下图是EPP数据写时序的实例,CPU信号nIOW是用来强调全部的handshake在一次I/O中完成

注意,全部数据传输发生在一次ISA 的I/O 周期中,这表明使用EPP协议,数据传输率可为500KB/s到2MB/s,这样外设在性能上接近ISA卡。

因为使用互锁握手信号协议,数据可在很低的速率下传输。Nibble、Byte、EPP和ECP 模式都使用互锁握手信号协议。所谓互锁握手信号,指每次控制信号的变化都需要另一边的响应。

EPP模式允许任一方向的高速字节传输,但不是同时,是半双工方式,为光盘机、磁带机、硬盘机和网络适配器设计,数据率从500KB/S到2MB/S,使用AB-cable 电缆可传6米,而使用新的CC-cable 电缆可达10米。

2.5)ECP模式:Extended Capability Port 扩展功能并行接口,也可实现高速双向数据传输

ECP模式是由Microsoft and Hewlett Packard提出,是对标准并口的扩展,作为打印机和扫描仪类的外设的高级通讯模式,允许图象数据压缩、排队中的FIFO(先入先出)和高速双向通信。数据传送速度大约2—4MB/S。

ECP协议重新定义了SPP模式的信号,如下表:

ECP模式提供了2种数据传输周期时序,可用于2个方向:

1. 数据周期data cycle

2. 命令周期command cycle

命令周期又分为2种类型,RLE(Run-Length Count)和通道编址(Channel address)。

RLE方式实现数据的实时压缩,压缩率可达64:1,特别用于打印机和扫描仪传输大量光图像数据(含有大量的相同数据串)时,但必须主机和外设都支持才可以实现。通道编址与EPP的地址有不同,是用于一种物理设备包括多种逻辑设备的场合,比如FAX/Printer/Modem一体机。

ECP模式定义前向传输为主机到外设,有2种前向传输周期,当HostAck 为高,指示进行data周期;当HostAck为低,command 周期进行,数据描述用RLE count 或 Channel address,数据字节的Bit 8用来指示RLE或是Channel address,如果bit 8为0,则bit 1-7描述Run Length Count (0-127),如果bit 8为1,则bit 1-7描述Channel address (0-127),下图描述了一个data周期和一个command周期的时序。

ECP模式的前向传输时序:

1. 主机发送数据到数据线,并设置HostAck 为高来指示一个data cycle 的开始

2. 主机设置HostClk为低,指示数据有效

3. 外设设置PeriphAck 为高响应主机

4. 主机设置HostClk为高,这是边缘触发信号,用于使数据存入外设

5. 外设设置PeriphAck为低,指示准备好接收下一字节

6. 循环重复,但这次为command cycle,因为Hos

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

网站地图

Top