您的位置 首页 编程

计算机的并行接口(2)

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

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.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*;外设外设然后使数据线处于高阻状况,设置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,由于HostAck为低

留意:接口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)不同形式下25PIN D-sub衔接器信号的不同界说:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/237891.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部