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

计算机的并行接口(2)

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

。因为nACK信号一般用来提供外设中断,所以难以把传输的nibble(半字节)信息通过状态寄存器(Status register)合成1字节,需要软件读状态信号并作相应操作来得到正确的字节信息。Nibble模式的数据率为50kbps(6米电缆),使用新型10米CC-cable电缆的数据率为150 kbps。Nibble模式的优势在于具有并口的PC机都可以执行这种方式,但只能用于反向通道为低速率的场合。

下表定义了Nibble模式的信号:

下图描述了Nibble模式的基本时序

Nibble模式数据传输步骤:

1. 主机通过设置HostBusy为低表明可以接收数据

2. 外设把第一个半字节(nibble)输出到状态线

3. 外设设置PtrClk为低指示nibble数据有效

4. 主机设置HostBusy为高指示接收到nibble数据,而正在处理

5. 外设设置PtrClk为高应答主机

6. 重复步骤1到5来接收第二个半字节(nibble)

Nibble模式与SPP模式相似,需要软件通过设置和读取并口的控制信号线来实现协议。Nibble模式与SPP模式结合建立完整的双向通道,形成最简单的双向传输方式。从PC机到外设8-bit数据线,反向4-bit数据线,支持单向打印机接口,提供了全速率的前向传输和半速率的反向传输,速率在50KB/s 到150KB/s之间。

2.3)Byte模式:在数据线上实现反向传输的方式

Byte模式利用数据线把8-bit数据从外设传输到主机。标准并行口的8-bit数据线只能从主机向外设单向传输,需要抑制住控制数据线的驱动器,使数据可以从打印机传到电脑。Byte模式数据传送,一次传送一个字节,与nibble模式下需要的两数据周期不同,速度和由电脑到打印机的一样,在50KB/s 到150KB/s之间,使用新型CC-cable可在10米电缆上达到500kbps。

下表定义了Byte模式的信号:

Byte模式数据传输步骤:

1. 主机通过设置HostBusy为低表明可以接收数据

2. 外设把第一个字节(byte)数据输出到数据线

3. 外设设置PtrClk为低指示byte数据有效

4. 主机设置HostBusy为高指示接收到byte数据,而正在处理

5. 外设设置PtrClk为高应答主机

6. 重复步骤1到5来接收其他字节(byte)数据

下图描述了Byte模式的基本时序

制造商首先在IBM PS/2并口上增加了对8-bit数据线的读取能力,实现Byte模式,使之成为双向口,称为扩展并口的Type 1。此外,还提供了Type 2和Type 3,使用DMA方式。在Type 2 和 3的DMA 写数据时,DMA控制器向数据寄存器写数据,而STROBE脉冲自动产生,当从外设收到ACK,发出DMA请求,下一个字节发出。外设可以设置BUSY 来延迟传输。在Type 2 和 3的DMA 读数据时,ACK脉冲产生DMA请求,发起对系统存储器的传输, DMA 控制器读取数据寄存器,STROBE脉冲自动产生。Type 2 和3的 DMA传输依照SPP模式时序进行。

虽然IBM定义了Type 2和3方式提高了并口的性能,但只有IBM计算机实现这种功能,缺乏软件来支持这种DMA特性。相比较,EPP和ECP 是种工业标准,为更广泛的硬件和软件制造商支持。

2.4)EPP模式:Enhanced Parallel Port增强型并行端口,可实现高速双向数据传输

EPP模式由Intel、Xircom, and Zenith Data Systems设计,提供了一个高性能的并行接口,是IEEE1284标准中的一部分,可以和标准并行接口通用,有相同的寄存器映射关系,协议首先由Intel 386SL芯片组(82360 I/O chip)实现。

EPP模式的信号定义

EPP模式有一个数据周期和一个地址周期,提供了4种传输周期时序:

1. 数据写周期时序

2. 数据读周期时序

3. 地址写周期时序

4. 地址读周期时序

数据周期时序用于在主机和外设间传输数据,地址周期时序用于分配地址、通道、命令和控制信息。

EPP 地址写周期:主机首先设置WRITE*,并把地址信号发到数据线上,设置ASTROBE*;外设取消WAIT*,指示已准备接收地址字节;主机然后取消ASTROBE* ;外设在ASTROBE* 上升沿锁存地址数据,然后设置WAIT*,指示准备开始下一周期。

EPP 地址读周期:主机取消WRITE*,使数据线处于高阻状态,设置ASTROBE*;外设发地址字节到数据线,取消WAIT*指示地址有效;主机检测到WAIT*取消,读地址,然后取消ASTROBE;外设然后使数据线处于高阻状态,设置WAIT*,指示准备开始下一周期。

EPP 数据写周期:主机设置WRITE*,把数据字节发到数据线,设置DSTROBE*;外设取消WAIT*,指示准备接收数据;主机然后取消DSTROBE* ;外设在DSTROBE*上升沿锁存数据,然后设置WAIT*,指示准备开始下一周期。

EPP 数据读周期:主机取消WRITE*,使数据线处于高阻状态,设置DSTROBE* ;外设把数据字节发往数据线,取消WAIT*,指示数据有效;主机检测到WAIT*取消,读数据,然后取消DSTROBE*;外设外设然后使数据线处于高阻状态

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

网站地图

Top