计算机的并行接口(2)
为了提高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)信息
计算机并行接 相关文章:
- 计算机的并行接口(12-12)
- 计算机的并行接口(3)(12-12)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)