计算机的并行接口

IEEE1284接口的对接:

PC机DB-25与打印机Centronics 36PIN连接器的信号对应关系:

PC机边A型(DB-25)与打印机边B 型(Centronics 36PIN)连接器的对接:

PC机边A型(DB-25)与打印机边C 型(Mini-Centronics 36PIN)连接器的对接:

2.  IEEE1284定义的5种工作模式

为了提高Centronics接口的性能,也要兼容过去的标准,IEEE1284定义了5种工作模式:

SPP模式:Standard Parallel Port标准并行接口,也称为Compatibility mode兼容模式, Nibble模式:从PC机到外设8-bit数据线,反向4-bit数据线

Byte模式:8-bit双向传输,速率在50KB/s 到150KB/s之间

EPP模式:Enhanced Parallel Port增强并行接口,允许任一方向的高速字节传输

ECP模式:Extended Capabilities Port扩展功能并行接口,允许PC机发送数据块

符合IEEE 1284标准的并口,使用设备ID(Device identification sequence)来实现即插即用(Plug and Play)配置,使并口更易于使用。各种模式都可以使用相同的连接器和电缆连接方式,因硬件和编程方式的不同,传输速度可以从50K Bits/秒到2MB/秒不等。

2.1)SPP模式:即传统的Centronics并行接口,所以也称Centronics mode

提供基本的信号,包括8-bit数据线,4条控制线(Strobe、Initialize Printer、Select Printer、Auto Feed line)和5条状态线(Busy、Acknowledge、Select、Paper Empty、Fault),需要三个不同的寄存器来进行数据的读写操作。

SPP模式是最基本的工作模式,异步、字节单向传输,数据率在50KB/s 到150KB/s之间。使用AB-cable 电缆可传6米,而使用新的CC-cable 电缆可达10米。

基本的SPP 模式的时序如图:

当打印机准备好接收数据,设BUSY为低,主机发出有效的数据到数据线,等待至少500ns然后发出STROBE负脉冲持续至少500ns,有效的数据在STROBE上升沿后至少要维持500 ns 。打印机接收数据并设BUSY有效以指示处理数据,当打印机完成数据接收,发出ACK脉冲至少500ns,然后清除BUSY以指示准备好接收下一个字节数据。

Centronics标准的握手信号略有不同,nStrobe为最小宽度大于1us的负脉冲,nAck为宽度大于5us的响应负脉冲,由于nAck信号的负脉冲较短,一般不会查询它,而是查询Busy。

主机软件通过4步来完成1字节数据通过并口的传输:

1.    把有效数据写入数据寄存器

2.    检查BUSY状态线,等待其无效(0)

3.    写控制寄存器,使STROBE有效(0)

4.    写控制寄存器,使STROBE失效(1)

SPP模式要求的最小的建立时间、保持时间和脉冲宽度限制了其性能,考虑到软件的等待时间,IEEE1284最大的数据传输率为150 kbytes/s,而Centronics典型为10 kbytes/s,这对于点阵行式打印机已经足够了,但对于高速的激光打印机就显露出不足。

SPP模式下的信号定义:

为操作并行口,SPP定义了寄存器,并映射到PC机的I/O空间。寄存器包括了以并口地址为基址的3块连续的寄存器,并口地址常见为3BCH、378H和278H,其中都包括数据、状态和控制寄存器,分别对应数据、状态和控制信号线操作,通常称为数据端口、状态端口和控制端口。打印机卡1的地址常为378H,其中数据口0378H、状态口0379H、控制口037AH;打印机卡2的地址常为278H,其中数据口0278H、状态口0279H、控制口027AH。支持新的IEEE 1284标准的并口,使用8到16个寄存器,地址为378H or 278H,即插即用(Plug and Play)兼容的的并口适配器也可以重新加载。

并口的寄存器定义:

数据寄存器:所占用的地址是并行接口的基地址,对应于于接口的2-9针

状态寄存器 :占用的地址是基地址加1,对应于接口的10,11,12,13,15针,是只读寄存器,其中包含一个IRQ中断位(由Ack相反后形成),当有中断发生这个数据位为“0”。 Bit7(引脚11)在输入+5V电平时,数据值为”0”,有反转的特性。

控制寄存器 :占用的地址是基地址加2,对应于接口的1,14,16,17针,其中Bit0,Bit1,Bit3有反转的特性。Bit4为IRQ应用,当向Bit4写入“1”时,将使ACK(引脚10)信号反相后成为中断请求IRQ信号,通常为IRQ5或IRQ7。

 并口使用的3BCH、378H和278H三个基地址几乎都支持SPP、ECP和EPP模式(3BCH这个地址在早期的并口打印机适配器上不支持EPP和ECP模式)。三个不同基地址的地址段如下:

一些集成的1284 I/O控制器使用FIFO buffer传输数据称为Fast Centronics或Parallel Port FIFO Mode,也使用SPP协议,但用硬件产生strobe信号来实现控制信号握手,使数据率能超过500KB/s。然而,这不是IEEE 1284定义的标准模式。

2.2)Nibble模式:用于从打印机或外部设备得到反向数据的常用方式,

Nibble模式利用4条状态线把数据从外设传回电脑。标准的并行口提供5条外设到PC机的信号线,用于指示外设的状态,利用这些信号线,外设可以分2次发送1字节(8-bit)数据,每次发半字节(nibble:4-bit)信息。因为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.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
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值