首页 理论教育 并行接口:深入剖析针式打印机的工作原理与时序图

并行接口:深入剖析针式打印机的工作原理与时序图

时间:2023-10-30 理论教育 版权反馈
【摘要】:协商是发生在并行接口上的一系列事件,可以决定出使用IEEE1284的哪种模式。图4-103 主机端并行打印机接口逻辑框图注:并行接口内部逻辑上有3个端口:数据端口、控制端口和状态端口。图4-104 计算机端并行接口的针号和名称注:D0~D7为数据。图4-105 打印机端并行接口电路图4-106 并行接口的时序图注:1.当主机要打印数据时,首先查BUSY信号。

并行接口:深入剖析针式打印机的工作原理与时序图

现在广泛使用的并行接口有IEEE1284和IEEE488两种。在个人计算机及其外部设备中主要使用IEEE1284,IEEE488则多见于自动化设备和智能仪器中。

在日常的打印机应用中,一般所说的并行接口,基本上就是指IEEE1284。

IEEE1284接口起源于Centronics并行接口,Centronics并行接口是一种比较古老的、但是现在依旧广泛使用的标准I/O接口,主要用于连接打印机或一些其他较早期出现的计算机设备。在IBM公司推出个人计算机(PC)时,并行端口已经是PC的一部分。并行接口设计之初,是为了能代替速度较慢的串行端口驱动当时的高性能点阵式打印机。并行接口可以同时传输8位数据,相比之下串行接口只能一位一位地传输,传输速度慢。

Centronics接口一般包括一个稍微有点笨拙的电缆和一个36针的配对连接器。线要插到计算机上一个25针的并行接口。数据只在一个方向上传送,从计算机主机到打印机或是其他设备。除了8位并行数据线外,其他线用来读取状态信息或发送控制信号

为了提高Centronics接口的性能,同时也要兼容过去的标准,Lexmark、IBM、TI等公司于1991年开始讨论一个可以更高速以及可以双向(Bi-Directional)通信的并行接口的标准。他们的努力和IEEE的支持促成了IEEE1284委员会的成立。IEEE1284标准的文本最终于1994年3月发布。

IEEE1284标准具体化了并行接口操作的5种模式,每种模式都支持数据的双向传送,包括去的方向(计算机到外部设备),以及回的方向(外部设备到计算机),或是两个方向。

计算机必须要判断出所连接的外部设备的能力以及使用的模式,决定这些因素的思想叫做协商。协商是发生在并行接口上的一系列事件,可以决定出使用IEEE1284的哪种模式。一个旧式设备不会响应协商的时序,此时兼容模式(Compatibility Mode)就会被选用;一个较新的设备会响应这一时序,这样就可以设置更高级的模式。

IEEE1284定义了5种工作模式:

1)SPP(Standard Parallel Port,标准并行接口)模式,也称为兼容模式(Compatibility Mode);

2)Nibble模式,从电脑主机外设8bit数据线,反向4bit数据线;

3)Byte模式,8bit双向传输,速率在50~150KB/s之间;

4)EPP(Enhanced Parallel Port,增强并行接口)模式,允许任一方向的高速数据传输;

5)ECP(Extended Capabilities Port,扩展功能并行接口)模式,允许PC发送数据块符合IEEE1284标准的并口,使用设备ID(Device Identification Sequence,设备识别序列)来实现即插即用(Plugand Play)配置,使并口更易于使用。

各种模式都可以使用相同的连接器和电缆连接方式,因硬件和编程方式的不同,传输速度可以从50kbit/s~2Mbit/s不等。

IEEE1284并行接口形式多样,如在IBMPC/XT中是以插在I/O扩展槽上的IBM并行打印机适配器出现的,在AT机中是以插在I/O扩展槽上的IBM并行接口/串行口适配板出现的,在某些XT或AT兼容机是将并行接口安装在系统板上的,不论以何种形式出现,该并行接口是一个适用于连接并行打印机及各种并行I/O设备的并行通信通用接口(IBMPCXT/AT计算机的时代IEEE1284还没有出现,实际上还只是Centronics接口)。

对于计算机(主机)来说,并行接口电路的外部信号可分为与外部设备(例如打印机)相连的接口信号和与CPU相连的接口信号两部分(见图4-103)。

978-7-111-33336-4-Chapter04-109.jpg

图4-103 主机端并行打印机接口逻辑框图

注:并行接口内部逻辑上有3个端口:数据端口、控制端口和状态端口。系统分配了3个I/O地址对其分别进行读/写操作。CPU对它们的访问共有5种操作:读数据、写数据、读控制、写控制和读状态。

与CPU的接口信号包括:

1)数据信号:用于接口电路与CPU的数据交换;

2)地址译码信号:用于选择不同的接口电路以及接口电路内部不同的寄存器;

3)读写信号:用于确定CPU对接口电路的读/写操作;

4)中断请求与应答信号:用于实现中断请求和中断响应操作。

与外部设备的接口信号包括:

1)数据信号:用于接口电路与外部设备进行数据的输入或输出;

2)状态信号:用于接口电路接收外部设备提供的状态信息;

3)控制信号:用于接口电路向外部设备提供控制功能。

978-7-111-33336-4-Chapter04-110.jpg

图4-104 计算机端并行接口的针号和名称

注:D0~D7为数据。G0~G7为地线。C0~C7为控制信号,对应计算机主机的0x37A端口,C4~C7不向外发送,其定义为C0:978-7-111-33336-4-Chapter04-111.jpg;C1:AUTOFEED;C2:978-7-111-33336-4-Chapter04-112.jpg;C3:978-7-111-33336-4-Chapter04-113.jpg;C4:保留;C5:保留;C6:保留;C7:保留。S0~S7为状态信号,对应计算机主机的0x0378~0x037F端口,S0、S1、S2不向外发送,其定义为S0:在EPP模式下,如果超时,这个位置1;S1:保留;S2:保留;S3:978-7-111-33336-4-Chapter04-114.jpg;S4:SELECT;S5:PAPEREND;S6:978-7-111-33336-4-Chapter04-115.jpg;S7:BUSY。

计算机(主机)端的并行接口中的三类信号——数据信号(通过DATA0~DATA7传送)、控制信号和状态信号是通过一个25针的端口向外连接的,详细的针号和名称如图4-104所示。

打印机端接口中的信号也可以归结为三类:数据信号(通过DATA0~DATA7传送)、控制信号和状态信号。在打印机的控制电路中,对这些信号的处理由本身的处理器控制I/O接口控制电路发送和接收,电路中要解决接收和发送这些信号的通道及信号的匹配(抗干扰),保证信息传输正确无误(见图4-105和图4-106)。

978-7-111-33336-4-Chapter04-116.jpg

图4-105 打印机端并行接口电路

978-7-111-33336-4-Chapter04-117.jpg

图4-106 并行接口的时序图

注:1.当主机要打印数据时,首先查BUSY信号。当BUSY=0,即打印机“不忙”时,主机通过数据总线DATA7~DATA0把数据送到数据总线上。

2.当数据在数据总线上稳定后,主机发一个选通脉冲978-7-111-33336-4-Chapter04-118.jpg(宽度不小于0.5μs),通知打印机接收数据。

3.打印机收到978-7-111-33336-4-Chapter04-119.jpg选通信号,将BUSY置为电平向外表示自身“忙”(978-7-111-33336-4-Chapter04-120.jpg的下降沿将打印机的BUSY置为高电平),表示打印机这时不能接收数据。

4.当数据存入行缓冲器之后,打印机发响应信号978-7-111-33336-4-Chapter04-121.jpg(宽度为5μs的负脉冲),表示打印机准备好,可再次接收新数据。

5.响应信号978-7-111-33336-4-Chapter04-122.jpg接着清“忙”信号,即置BUSY=0,以便通知主机可再向打印机传送数据。

6.至此,一个数据传送结束。若要再传送下一个数据,就再重复上述过程。

在数据选通信号978-7-111-33336-4-Chapter04-123.jpg的下降沿,CPU读入主机送来的数据并锁存在CPU的内部寄存器中,然后,中断请求信号变低以中断CPU的工作并置BUSY信号为高(忙)。CPU通过分析接收的数据决定是否把数据存入缓存区,或者立即进行命令数据处理。处理结束后,将中断信号置高,CPU发出应答信号978-7-111-33336-4-Chapter04-124.jpg并置BUSY信号为低。

在打印机输入和输出端接有8个电平上拉电阻(1kΩ)及8个100Ω电阻和8个小电容,作为终端匹配电路,防止长线反射,保证数据传输正确(见图4-107)。

由主机送往打印机的信号,都串接了一个阻值比较大的电阻,用于保护门阵不受损坏。为了避免用户使用过程中带电插拔接口信号电缆,烧坏昂贵的门阵及CPU,通常有些型号的打印机还会在接口电路中加入缓冲芯片,这样即使用户带电插拔电缆,被烧坏的仅是便宜的缓冲芯片,昂贵的门阵及CPU则免于破坏。

978-7-111-33336-4-Chapter04-125.jpg

图4-107 数据输入输出匹配电路

(1)SPP模式

SPP(Standard Parallel Port,标准并行端口)模式,为标准的并行接口,也称为兼容模式(Compatibility Mode),基本等同于最原始的Centronics并行接口,所以也称Centron-icsMode,为针式打印机或老式的激光打印机而设计。

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

SPP模式是IEEE1284并行接口最基本的工作模式,异步、字节单向传输,数据传输速率在50~150KB/s之间。使用AB-Cable电缆可传6m,而使用新的CC-Cable电缆可达10m。

当打印机准备好接收数据时,设BUSY为低,主机发出有效的数据到数据线,等待至少500ns然后发出STROBE负脉冲持续至少500ns,有效的数据在STROBE上升沿后至少要维持500ns。打印机接收数据并设BUSY有效以指示处理数据,当打印机完成数据接收后,发出978-7-111-33336-4-Chapter04-126.jpg脉冲至少500ns,然后清除BUSY以指示准备好接收下一个字节数据。Centronics标准的握手信号略有不同,978-7-111-33336-4-Chapter04-127.jpg为最小宽度大于1μs的负脉冲,978-7-111-33336-4-Chapter04-128.jpg为宽度大于5μs的响应负脉冲,由于978-7-111-33336-4-Chapter04-129.jpg信号的负脉冲较短,一般不会查询它,而是查询BUSY。

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

1)把有效数据写入数据寄存器;

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

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

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

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

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

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

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

3)控制寄存器:占用的地址是基地址加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模式)。

一些集成的IEEE1284I/O控制器使用FIFOBuffer传输数据称为高速Centronics(Fast Centronics)或并行接口FIFO模式(Parallel Port FIFO Mode),也使用SPP协议,但用硬件产生STROBE信号来实现控制信号握手,使数据传输速率能超过500KB/s。然而,这不是IEEE1284定义的标准模式。

(2)Nibble模式

Nibble(4bit单元)模式即半字节模式,此模式下从PC到外部设备(简称外设)为8bit数据线,反向4bit数据线,允许数据传回计算机。Nibble模式需要可以在两个数据传送周期里传送2Nibble数据给计算机的状态线。这种模式最适合用于打印机作外设。

Nibble模式数据传输步骤:

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

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

3)外设设置PtrClk为低指示Nibble数据有效;

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

5)外设设置PtrClk为高应答主机;

6)重复步骤1)~5)来接收第二个半字节(Nibble)。

Nibble模式利用4条状态线把数据从外设传回计算机。标准的并行接口提供5条外设到PC的信号线,用于指示外设的状态,利用这些信号线,外设可以分2次发送1字节(8bit)数据,每次发送半字节(Nibble/4bit)信息。因为978-7-111-33336-4-Chapter04-130.jpg信号一般用来提供外设中断,所以难以把传输的Nibble(半字节)信息通过状态寄存器(Status Register)合成1字节,需要软件读状态信号并作相应操作来得到正确的字节信息。Nibble模式的数据传输速率为50KB/s(6m电缆),使用新型10m CC-Cable电缆的数据传输速率为150KB/s。Nibble模式的优势在于具有并行接口的PC都可以执行这种方式,但只能用于反向通道为低速率的场合。

(3)Byte模式

Byte模式即字节模式,8bit双向传输,速率在50~150KB/s之间,需要用软件抑制住控制数据线的驱动器,使数据可以从打印机传到计算机。数据传送的速度和由计算机到打印机的一样,一次传送一个字节,与Nibble模式下需要的两数据周期不同。

Byte模式数据传输步骤:

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

2)外设把第一个字节(Byte)数据输出到数据线;(www.xing528.com)

3)外设设置PtrClk为低指示Byte数据有效;

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

5)外设设置PtrClk为高应答主机;

6)重复步骤1)~5)来接收其他字节(Byte)数据。

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

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

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

(4)EPP模式

EPP(Enhance Parallel Port,增强型并行端口)模式,由Intel、Xircom、Zenith Data Systems三家公司联合提出,于1994年在IEEE1284标准中发布,可以提供一个高性能的并行接口并且可以和标准接口通用。EPP模式是IEEE1284标准中的一部分,可以和标准并行接口通用,有相同的寄存器映射关系,协议首先由Intel386SL芯片组(82360I/OChip)实现。

EPP模式有一个数据周期和一个地址周期,数据周期时序用于在主机和外设间传输数据,地址周期时序用于分配地址、通道、命令和控制信息。它提供了4种传输周期时序:

1)地址写周期时序,主机首先设置978-7-111-33336-4-Chapter04-131.jpg,并把地址信号发到数据线上,设置978-7-111-33336-4-Chapter04-132.jpg;外设取消978-7-111-33336-4-Chapter04-133.jpg,指示已准备接收地址字节;主机然后取消978-7-111-33336-4-Chapter04-134.jpg;外设在978-7-111-33336-4-Chapter04-135.jpg上升沿锁存地址数据,然后设置978-7-111-33336-4-Chapter04-136.jpg,指示准备开始下一周期。

2)地址读周期时序,主机取消978-7-111-33336-4-Chapter04-137.jpg,使数据线处于高阻状态,设置978-7-111-33336-4-Chapter04-138.jpg;外设发地址字节到数据线,取消978-7-111-33336-4-Chapter04-139.jpg指示地址有效;主机检测到978-7-111-33336-4-Chapter04-140.jpg取消,读地址,然后取消978-7-111-33336-4-Chapter04-141.jpg;外设然后使数据线处于高阻状态,设置978-7-111-33336-4-Chapter04-142.jpg,指示准备开始下一周期。

3)数据写周期时序,主机设置978-7-111-33336-4-Chapter04-143.jpg,把数据字节发到数据线,设置978-7-111-33336-4-Chapter04-144.jpg;外设取消WAIT,指示准备接收数据;主机然后取消978-7-111-33336-4-Chapter04-145.jpg;外设在978-7-111-33336-4-Chapter04-146.jpg上升沿锁存数据,然后设置WAIT,指示准备开始下一周期。

4)数据读周期时序,主机取消978-7-111-33336-4-Chapter04-147.jpg,使数据线处于高阻状态,设置978-7-111-33336-4-Chapter04-148.jpg;外设把数据字节发往数据线,取消978-7-111-33336-4-Chapter04-149.jpg,指示数据有效;主机检测到978-7-111-33336-4-Chapter04-150.jpg取消,读数据,然后取消978-7-111-33336-4-Chapter04-151.jpg;外设然后使数据线处于高阻状态,取消978-7-111-33336-4-Chapter04-152.jpg,指示准备开始下一周期。

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

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

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

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

1)程序对PORT4(EPP数据端口)执行I/O写周期;

2)978-7-111-33336-4-Chapter04-153.jpg信号有效,数据发送到并行接口;

3)设置DATASTROBE有效,然后978-7-111-33336-4-Chapter04-154.jpg设置为低;

4)等待外设的响应(978-7-111-33336-4-Chapter04-155.jpg变为无效);

5)设置DATASTROBE无效,结束EPP周期;

6)ISA的I/O周期结束;

7)978-7-111-33336-4-Chapter04-156.jpg设置为低,指示下一个周期开始。

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

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

(5)ECP模式

ECP(Enhanced Capability Port,增强型兼容端口)模式是用在打印机和扫描仪上的增强型双向(Bi-Directional)模式。它允许图像数据压缩、排队中的(先入先出)(FIFO)和高速双向通信。数据传送速度为2~4Mbit/s。

ECP的一个特点是通道编址。这可以用在多功能的设备,比如集打印机、传真机、调制解调器于一体的设备。举个例子,如果一台多功能设备同时需要打印和通过Modem传送数据,ECP模式的通道编址软件就会给Modem安排一个先的通道,这样两个设备就可以同时工作。

ECP模式是由Microsoft和Hewlett Packard两个公司提出的,是对标准并行接口的扩展,作为打印机和扫描仪类的外设的高级通信模式,允许图像数据压缩、排队中的先入先出(FIFO)和高速双向通信(见表4-4)。

表4-4 ECP协议重新定义SPP模式的信号

978-7-111-33336-4-Chapter04-157.jpg

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

1)数据周期(Data Cycle);

2)命令周期(Command Cycle)。

命令周期又分为2种类型,运行长度计数(Run-Length Count,RLC)和通道编址(Channel Ad-dress)。RLC方式实现数据的实时压缩,压缩率可达64∶1,特别用于打印机和扫描仪传输大量光栅图像数据(含有大量的相同数据串)时,但必须主机和外设都支持才可以实现。通道编址与EPP的地址不同,是用于一种物理设备包括多种逻辑设备的场合,比如FAX/Printer/Modem一体机

ECP模式定义前向传输为主机到外设,有2种前向传输周期,当HostAck为高时,指示进行Data周期;当HostAck为低时,Command周期进行。数据描述用RLC或Channel Address,数据字节的bit8用来指示RLE或Channel Address,如果bit8为0,则bit1~bit7描述RLC(0~127);如果bit8为1,则bit1~bit7描述Channel Address(0~127)。

ECP模式的前向传输时序:

1)主机发送数据到数据线,并设置HostAck为高来指示一个Data Cycle的开始;

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

3)外设设置PeriphAck为高响应主机;

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

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

6)循环重复,但这次为Command Cycle,因为HostAck为低。

注意:接口两侧都使用FIFO,发出的数据都认为已被接收。在第4步,HostClk变为高,Data被触发进入外设,数据指针计数器更新。在有些情况下,这有可能造成传输数据丢失。

ECP模式定义反向传输为从外设传输到主机,反向传输时,当并行接口线上数据有效,外设设置PeriphClk为低时,主机在接收数据后设置HostAck为低。

在EPP模式,软件可以执行混合的读写操作,而不需要额外的协议;而在ECP模式,改变数据传输方向必须协商。主机要求反向传输通道需设置978-7-111-33336-4-Chapter04-158.jpg并等待外设的978-7-111-33336-4-Chapter04-159.jpg的响应,然后才可以进行反向数据传输。另外,如果以前为DMA传输,软件必须等待DMA完成或中断DMA(要FIFO确定准确的已传输的数据量),然后要求反向通道。

ECP模式的反向Data Cycle和Command Cycle:

1)主机设置978-7-111-33336-4-Chapter04-160.jpg为低,要求反向传输通道;

2)外设设置978-7-111-33336-4-Chapter04-161.jpg为低,响应主机;

3)外设发送数据到数据线,并设置PeriphAck为高指示Data循环;

4)外设设置PeriphClk为低指示数据有效;

5)主机设置HostAck为高确认;

6)外设设置PeriphClk为高,这是边沿触发信号,用于使数据存入主机;

7)主机设置HostAck为低,指示准备好接收下一个字节;

8)循环重复,但这次是Command Cycle,因为PeriphAck为低。

ECPFIFO的使用,无论DMA方式或可编程I/O方式,减弱了与ISA的关联,软件不会精确知道数据传输的状态,只关心传输是否完成。

在Microsoft的规格书“TheIEEE1284 Extended Capabilities Port Protocol and ISAInterface Standard”中,定义了基于ISA的ECP模式的通用寄存器和适配器的工作模式。ECP寄存器利用了定义的6个寄存器,只需要3个I/O口操作,注意寄存器的定义与工作模式有关。

ECP模式在3个SPP模式并行接口寄存器外又定义了6个寄存器,用于把地址或数据自动发到并口数据线上,然后自动产生地址和数据的选通(Strobe)信号。

ECP的Address和Data的FIFO包括至少16字节,可用于前向和反向传输,可以平滑数据流和提高数据传输速率。向Address FIFO寄存器写数据,会自动发往并行接口。ECP的Data FIFO寄存器用于主机和外设间的数据传输。

ECP模式的目的是实现并行接口的即插即用(Plug and Play)性能和在Windows环境下进行高性能双向传输。ECP模式允许任一方向的高速字节传输,也是半双工方式,为打印机和扫描仪设计,数据传输速率为500KB/s~1MB/s,使用AB-Cable电缆可传6m,而使用新的CC-Cable电缆可达10m。ECP主要使用DMA而不是直接的I/O操作,目的是传输大的数据块。

(6)模式选择

一个设备可能设计为有多种工作模式,但不能同时使用,每次只能选用一种。IEEE1284发明了协商(Negotiation)方式,主机必须要判断所连接的外设的能力以及使用的模式,决定出使用哪种IEEE1284模式,这种协商方式不会影响过去的设备,一个旧式设备不会响应协商的时序,但符合IEEE1284标准的设备会响应这一时序,使主机获得设备的ID码(DeviceI DCode),并通过对ECR寄存器的操作来选择一种较高的工作模式。

主机用DeviceID序列来识别并行接口设备。DeviceID是定义了外设特性和性能的ASCII字符串。因为没有一个授权中心来分派设备和制造商编码,在即插即用(Plug and Play)系统中,主机必须能够测定和识别加入的设备,并自动安装需要的设备驱动程序。

使用IEEE1284的所有设备,上电时都为SPP模式。主机执行IEEE1284工作模式选择的过程如下:

1)把IEEE1284的8bit扩展码(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为高,指示状态线可用。

如果要退出Nibble、Byte或ECP模式,设置SelectIn为低,而退出EPP模式主机要设置INIT信号有效,然后外设将恢复到SPP模式。

如果一个并行接口既支持SPP模式,也可实现其他双向模式,那么其前3个寄存器与标准并行接口的寄存器完全一致,以便兼容过去的标准。

(7)IEEE488接口

20世纪70年代初,HP公司研制成功了HP-IB总线,随后IEEE将其作为规范的标准接口总线,形成标准IEEE488,予以推荐。IEEE488首先是一种总线标准,而不仅仅是一个接口标准。一条IEEE488线可连接多台设备。顺便指出,HP-IB、IEC-IB、GP-IB等都是IEEE488总线,它们只是名称不同,电气性能是一样的。

IEEE488有24根线,其中8条地线,16条信号线。IEEE488总线可连最多15个设备。

IEEE488广泛应用于智能测量仪器中,但打印机中很少有采用IEEE488接口的,在这里就不对其作详细介绍。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈