<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 計算機的并行接口(2)

          計算機的并行接口(2)

          作者: 時間:2016-12-12 來源:網(wǎng)絡(luò) 收藏
          2.IEEE1284定義的5種工作模式

          為了提高Centronics接口的性能,也要兼容過去的標(biāo)準(zhǔn),IEEE1284定義了5種工作模式:

          本文引用地址:http://www.ex-cimer.com/article/201612/328723.htm

          SPP模式:Standard Parallel Port標(biāo)準(zhǔn)并行接口,也稱為Compatibility mode兼容模式, Nibble模式:從PC機到外設(shè)8-bit數(shù)據(jù)線,反向4-bit數(shù)據(jù)線

          Byte模式:8-bit雙向傳輸,速率在50KB/s 到150KB/s之間

          EPP模式:Enhanced Parallel Port增強并行接口,允許任一方向的高速字節(jié)傳輸

          ECP模式:Extended Capabilities Port擴展功能并行接口,允許PC機發(fā)送數(shù)據(jù)塊

          符合IEEE 1284標(biāo)準(zhǔn)的并口,使用設(shè)備ID(Device identification sequence)來實現(xiàn)即插即用(Plug and Play)配置,使并口更易于使用。各種模式都可以使用相同的連接器和電纜連接方式,因硬件和編程方式的不同,傳輸速度可以從50K Bits/秒到2MB/秒不等。

          2.1)SPP模式:即傳統(tǒng)的Centronics并行接口,所以也稱Centronics mode

          提供基本的信號,包括8-bit數(shù)據(jù)線,4條控制線(Strobe、Initialize Printer、Select Printer、Auto Feed line)和5條狀態(tài)線(Busy、Acknowledge、Select、Paper Empty、Fault),需要三個不同的寄存器來進行數(shù)據(jù)的讀寫操作。

          SPP模式是最基本的工作模式,異步、字節(jié)單向傳輸,數(shù)據(jù)率在50KB/s 到150KB/s之間。使用AB-cable 電纜可傳6米,而使用新的CC-cable 電纜可達10米。

          基本的SPP 模式的時序如圖:

          當(dāng)打印機準(zhǔn)備好接收數(shù)據(jù),設(shè)BUSY為低,主機發(fā)出有效的數(shù)據(jù)到數(shù)據(jù)線,等待至少500ns然后發(fā)出STROBE負脈沖持續(xù)至少500ns,有效的數(shù)據(jù)在STROBE上升沿后至少要維持500 ns 。打印機接收數(shù)據(jù)并設(shè)BUSY有效以指示處理數(shù)據(jù),當(dāng)打印機完成數(shù)據(jù)接收,發(fā)出ACK脈沖至少500ns,然后清除BUSY以指示準(zhǔn)備好接收下一個字節(jié)數(shù)據(jù)。

          Centronics標(biāo)準(zhǔn)的握手信號略有不同,nStrobe為最小寬度大于1us的負脈沖,nAck為寬度大于5us的響應(yīng)負脈沖,由于nAck信號的負脈沖較短,一般不會查詢它,而是查詢Busy。

          主機軟件通過4步來完成1字節(jié)數(shù)據(jù)通過并口的傳輸:

          1. 把有效數(shù)據(jù)寫入數(shù)據(jù)寄存器

          2. 檢查BUSY狀態(tài)線,等待其無效(0)

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

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

          SPP模式要求的最小的建立時間、保持時間和脈沖寬度限制了其性能,考慮到軟件的等待時間,IEEE1284最大的數(shù)據(jù)傳輸率為150 kbytes/s,而Centronics典型為10 kbytes/s,這對于點陣行式打印機已經(jīng)足夠了,但對于高速的激光打印機就顯露出不足。

          SPP模式下的信號定義:

          為操作并行口,SPP定義了寄存器,并映射到PC機的I/O空間。寄存器包括了以并口地址為基址的3塊連續(xù)的寄存器,并口地址常見為3BCH、378H和278H,其中都包括數(shù)據(jù)、狀態(tài)和控制寄存器,分別對應(yīng)數(shù)據(jù)、狀態(tài)和控制信號線操作,通常稱為數(shù)據(jù)端口、狀態(tài)端口和控制端口。打印機卡1的地址常為378H,其中數(shù)據(jù)口0378H、狀態(tài)口0379H、控制口037AH;打印機卡2的地址常為278H,其中數(shù)據(jù)口0278H、狀態(tài)口0279H、控制口027AH。支持新的IEEE 1284標(biāo)準(zhǔn)的并口,使用8到16個寄存器,地址為378H or 278H,即插即用(Plug and Play)兼容的的并口適配器也可以重新加載。

          并口的寄存器定義:

          數(shù)據(jù)寄存器:所占用的地址是并行接口的基地址,對應(yīng)于于接口的2-9針

          狀態(tài)寄存器 :占用的地址是基地址加1,對應(yīng)于接口的10,11,12,13,15針,是只讀寄存器,其中包含一個IRQ中斷位(由Ack相反后形成),當(dāng)有中斷發(fā)生這個數(shù)據(jù)位為“0”。 Bit7(引腳11)在輸入+5V電平時,數(shù)據(jù)值為”0”,有反轉(zhuǎn)的特性。

          控制寄存器 :占用的地址是基地址加2,對應(yīng)于接口的1,14,16,17針,其中Bit0,Bit1,Bit3有反轉(zhuǎn)的特性。Bit4為IRQ應(yīng)用,當(dāng)向Bit4寫入“1”時,將使ACK(引腳10)信號反相后成為中斷請求IRQ信號,通常為IRQ5或IRQ7。

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

          一些集成的1284 I/O控制器使用FIFO buffer傳輸數(shù)據(jù)稱為Fast Centronics或Parallel Port FIFO Mode,也使用SPP協(xié)議,但用硬件產(chǎn)生strobe信號來實現(xiàn)控制信號握手,使數(shù)據(jù)率能超過500KB/s。然而,這不是IEEE 1284定義的標(biāo)準(zhǔn)模式。

          2.2)Nibble模式:用于從打印機或外部設(shè)備得到反向數(shù)據(jù)的常用方式,

          Nibble模式利用4條狀態(tài)線把數(shù)據(jù)從外設(shè)傳回電腦。標(biāo)準(zhǔn)的并行口提供5條外設(shè)到PC機的信號線,用于指示外設(shè)的狀態(tài),利用這些信號線,外設(shè)可以分2次發(fā)送1字節(jié)(8-bit)數(shù)據(jù),每次發(fā)半字節(jié)(nibble:4-bit)信息。因為nACK信號一般用來提供外設(shè)中斷,所以難以把傳輸?shù)膎ibble(半字節(jié))信息通過狀態(tài)寄存器(Status register)合成1字節(jié),需要軟件讀狀態(tài)信號并作相應(yīng)操作來得到正確的字節(jié)信息。Nibble模式的數(shù)據(jù)率為50kbps(6米電纜),使用新型10米CC-cable電纜的數(shù)據(jù)率為150 kbps。Nibble模式的優(yōu)勢在于具有并口的PC機都可以執(zhí)行這種方式,但只能用于反向通道為低速率的場合。

          下表定義了Nibble模式的信號:

          下圖描述了Nibble模式的基本時序

          Nibble模式數(shù)據(jù)傳輸步驟:

          1. 主機通過設(shè)置HostBusy為低表明可以接收數(shù)據(jù)

          2. 外設(shè)把第一個半字節(jié)(nibble)輸出到狀態(tài)線

          3. 外設(shè)設(shè)置PtrClk為低指示nibble數(shù)據(jù)有效

          4. 主機設(shè)置HostBusy為高指示接收到nibble數(shù)據(jù),而正在處理

          5. 外設(shè)設(shè)置PtrClk為高應(yīng)答主機

          6. 重復(fù)步驟1到5來接收第二個半字節(jié)(nibble)

          Nibble模式與SPP模式相似,需要軟件通過設(shè)置和讀取并口的控制信號線來實現(xiàn)協(xié)議。Nibble模式與SPP模式結(jié)合建立完整的雙向通道,形成最簡單的雙向傳輸方式。從PC機到外設(shè)8-bit數(shù)據(jù)線,反向4-bit數(shù)據(jù)線,支持單向打印機接口,提供了全速率的前向傳輸和半速率的反向傳輸,速率在50KB/s 到150KB/s之間。

          2.3)Byte模式:在數(shù)據(jù)線上實現(xiàn)反向傳輸?shù)姆绞?/p>

          Byte模式利用數(shù)據(jù)線把8-bit數(shù)據(jù)從外設(shè)傳輸?shù)街鳈C。標(biāo)準(zhǔn)并行口的8-bit數(shù)據(jù)線只能從主機向外設(shè)單向傳輸,需要抑制住控制數(shù)據(jù)線的驅(qū)動器,使數(shù)據(jù)可以從打印機傳到電腦。Byte模式數(shù)據(jù)傳送,一次傳送一個字節(jié),與nibble模式下需要的兩數(shù)據(jù)周期不同,速度和由電腦到打印機的一樣,在50KB/s 到150KB/s之間,使用新型CC-cable可在10米電纜上達到500kbps。

          下表定義了Byte模式的信號:

          Byte模式數(shù)據(jù)傳輸步驟:

          1. 主機通過設(shè)置HostBusy為低表明可以接收數(shù)據(jù)

          2. 外設(shè)把第一個字節(jié)(byte)數(shù)據(jù)輸出到數(shù)據(jù)線

          3. 外設(shè)設(shè)置PtrClk為低指示byte數(shù)據(jù)有效

          4. 主機設(shè)置HostBusy為高指示接收到byte數(shù)據(jù),而正在處理

          5. 外設(shè)設(shè)置PtrClk為高應(yīng)答主機

          6. 重復(fù)步驟1到5來接收其他字節(jié)(byte)數(shù)據(jù)

          下圖描述了Byte模式的基本時序

          制造商首先在IBM PS/2并口上增加了對8-bit數(shù)據(jù)線的讀取能力,實現(xiàn)Byte模式,使之成為雙向口,稱為擴展并口的Type 1。此外,還提供了Type 2和Type 3,使用DMA方式。在Type 2 和 3的DMA 寫數(shù)據(jù)時,DMA控制器向數(shù)據(jù)寄存器寫數(shù)據(jù),而STROBE脈沖自動產(chǎn)生,當(dāng)從外設(shè)收到ACK,發(fā)出DMA請求,下一個字節(jié)發(fā)出。外設(shè)可以設(shè)置BUSY 來延遲傳輸。在Type 2 和 3的DMA 讀數(shù)據(jù)時,ACK脈沖產(chǎn)生DMA請求,發(fā)起對系統(tǒng)存儲器的傳輸, DMA 控制器讀取數(shù)據(jù)寄存器,STROBE脈沖自動產(chǎn)生。Type 2 和3的 DMA傳輸依照SPP模式時序進行。

          雖然IBM定義了Type 2和3方式提高了并口的性能,但只有IBM計算機實現(xiàn)這種功能,缺乏軟件來支持這種DMA特性。相比較,EPP和ECP 是種工業(yè)標(biāo)準(zhǔn),為更廣泛的硬件和軟件制造商支持。

          2.4)EPP模式:Enhanced Parallel Port增強型并行端口,可實現(xiàn)高速雙向數(shù)據(jù)傳輸

          EPP模式由Intel、Xircom, and Zenith Data Systems設(shè)計,提供了一個高性能的并行接口,是IEEE1284標(biāo)準(zhǔn)中的一部分,可以和標(biāo)準(zhǔn)并行接口通用,有相同的寄存器映射關(guān)系,協(xié)議首先由Intel 386SL芯片組(82360 I/O chip)實現(xiàn)。

          EPP模式的信號定義

          EPP模式有一個數(shù)據(jù)周期和一個地址周期,提供了4種傳輸周期時序:

          1. 數(shù)據(jù)寫周期時序

          2. 數(shù)據(jù)讀周期時序

          3. 地址寫周期時序

          4. 地址讀周期時序

          數(shù)據(jù)周期時序用于在主機和外設(shè)間傳輸數(shù)據(jù),地址周期時序用于分配地址、通道、命令和控制信息。

          EPP 地址寫周期:主機首先設(shè)置WRITE*,并把地址信號發(fā)到數(shù)據(jù)線上,設(shè)置ASTROBE*;外設(shè)取消WAIT*,指示已準(zhǔn)備接收地址字節(jié);主機然后取消ASTROBE* ;外設(shè)在ASTROBE* 上升沿鎖存地址數(shù)據(jù),然后設(shè)置WAIT*,指示準(zhǔn)備開始下一周期。

          EPP 地址讀周期:主機取消WRITE*,使數(shù)據(jù)線處于高阻狀態(tài),設(shè)置ASTROBE*;外設(shè)發(fā)地址字節(jié)到數(shù)據(jù)線,取消WAIT*指示地址有效;主機檢測到WAIT*取消,讀地址,然后取消ASTROBE;外設(shè)然后使數(shù)據(jù)線處于高阻狀態(tài),設(shè)置WAIT*,指示準(zhǔn)備開始下一周期。

          EPP 數(shù)據(jù)寫周期:主機設(shè)置WRITE*,把數(shù)據(jù)字節(jié)發(fā)到數(shù)據(jù)線,設(shè)置DSTROBE*;外設(shè)取消WAIT*,指示準(zhǔn)備接收數(shù)據(jù);主機然后取消DSTROBE* ;外設(shè)在DSTROBE*上升沿鎖存數(shù)據(jù),然后設(shè)置WAIT*,指示準(zhǔn)備開始下一周期。

          EPP 數(shù)據(jù)讀周期:主機取消WRITE*,使數(shù)據(jù)線處于高阻狀態(tài),設(shè)置DSTROBE* ;外設(shè)把數(shù)據(jù)字節(jié)發(fā)往數(shù)據(jù)線,取消WAIT*,指示數(shù)據(jù)有效;主機檢測到WAIT*取消,讀數(shù)據(jù),然后取消DSTROBE*;外設(shè)外設(shè)然后使數(shù)據(jù)線處于高阻狀態(tài),設(shè)置WAIT*,指示準(zhǔn)備開始下一周期。

          EPP模式在3個SPP模式并口寄存器外又定義了5個寄存器, 用于把地址或數(shù)據(jù)自動發(fā)到并口數(shù)據(jù)線上,然后自動產(chǎn)生地址和數(shù)據(jù)的選通(strobe)信號。EPP模式的數(shù)據(jù)、狀態(tài)和控制寄存器與SPP模式的配置相同。

          把數(shù)據(jù)寫入Auto Address Strobe寄存器,將把數(shù)據(jù)發(fā)到并口數(shù)據(jù)線,并伴隨自動產(chǎn)生的ASTROBE*低脈沖信號;把數(shù)據(jù)寫入任一Auto Data Strobe寄存器,將把數(shù)據(jù)發(fā)到并口數(shù)據(jù)線,并伴隨自動產(chǎn)生的DSTROBE*低脈沖信號;當(dāng)一個Auto Data Strobe寄存器在讀取, DSTROBE*信號受脈沖控制,返回電平值。

          EPP寄存器接口:

          從軟件角度看,EPP模式是擴展了SPP的并口寄存器。SPP的并口包括數(shù)據(jù)Data、狀態(tài)Status和控制Control 3個寄存器,地址為并口基址(base address)的偏移(offset)。

          EPP寄存器定義如下:

          通過產(chǎn)生一個對“base_address+4”的 I/O 寫指令,EPP控制器產(chǎn)生需要的數(shù)據(jù)寫(Data_Write)周期的handshake信號和strobes用來傳輸數(shù)據(jù)。而對基址(ports 0到 2)的I/O 指令將實現(xiàn)標(biāo)準(zhǔn)并行口的操作,以保證與標(biāo)準(zhǔn)并口的兼容。而對"base_address + 3"的I/O 操作,會產(chǎn)生地址讀寫周期。Ports 5到7 的作用在不同硬件中有差別,可用作實現(xiàn)16-bit或32-bit的軟件接口,或用作配置寄存器,也可能不使用。

          標(biāo)準(zhǔn)并口的數(shù)據(jù)傳輸需要7個軟件步驟,EPP增加了其他的硬件和寄存器,通過單I/O 指令自動產(chǎn)生控制strobes和數(shù)據(jù)傳輸?shù)膆andshaking信號,保證以ISA 總線速度傳輸,最大數(shù)據(jù)率為2 Mbytes/s,在其他平臺上可能達到10 Mbytes/s 。EPP的微處理器的總線結(jié)構(gòu)使之易于直接與外設(shè)硬件通訊。EPP模式還有進一步的塊傳輸能力,使用REP_IO指令,依靠主機適配器的支持。

          EPP模式數(shù)據(jù)寫時序的步驟:

          1. 程序?qū)ORT4 (EPP Data Port)執(zhí)行I/O寫周期

          2. nWrite信號有效,數(shù)據(jù)發(fā)送到并口

          3. 設(shè)datastrobe有效,然后nWAIT 設(shè)置為低

          4. 等待外設(shè)的響應(yīng) (nWAIT變?yōu)闊o效)

          5. 設(shè)置datastrobe無效,結(jié)束EPP周期

          6. ISA 的I/O 周期結(jié)束

          7. nWAIT 設(shè)置為低,指示下一個周期開始

          下圖是EPP數(shù)據(jù)寫時序的實例,CPU信號nIOW是用來強調(diào)全部的handshake在一次I/O中完成

          注意,全部數(shù)據(jù)傳輸發(fā)生在一次ISA 的I/O 周期中,這表明使用EPP協(xié)議,數(shù)據(jù)傳輸率可為500KB/s到2MB/s,這樣外設(shè)在性能上接近ISA卡。

          因為使用互鎖握手信號協(xié)議,數(shù)據(jù)可在很低的速率下傳輸。Nibble、Byte、EPP和ECP 模式都使用互鎖握手信號協(xié)議。所謂互鎖握手信號,指每次控制信號的變化都需要另一邊的響應(yīng)。

          EPP模式允許任一方向的高速字節(jié)傳輸,但不是同時,是半雙工方式,為光盤機、磁帶機、硬盤機和網(wǎng)絡(luò)適配器設(shè)計,數(shù)據(jù)率從500KB/S到2MB/S,使用AB-cable 電纜可傳6米,而使用新的CC-cable 電纜可達10米。

          2.5)ECP模式:Extended Capability Port 擴展功能并行接口,也可實現(xiàn)高速雙向數(shù)據(jù)傳輸

          ECP模式是由Microsoft and Hewlett Packard提出,是對標(biāo)準(zhǔn)并口的擴展,作為打印機和掃描儀類的外設(shè)的高級通訊模式,允許圖象數(shù)據(jù)壓縮、排隊中的FIFO(先入先出)和高速雙向通信。數(shù)據(jù)傳送速度大約2—4MB/S。

          ECP協(xié)議重新定義了SPP模式的信號,如下表:

          ECP模式提供了2種數(shù)據(jù)傳輸周期時序,可用于2個方向:

          1. 數(shù)據(jù)周期data cycle

          2. 命令周期command cycle

          命令周期又分為2種類型,RLE(Run-Length Count)和通道編址(Channel address)。

          RLE方式實現(xiàn)數(shù)據(jù)的實時壓縮,壓縮率可達64:1,特別用于打印機和掃描儀傳輸大量光圖像數(shù)據(jù)(含有大量的相同數(shù)據(jù)串)時,但必須主機和外設(shè)都支持才可以實現(xiàn)。通道編址與EPP的地址有不同,是用于一種物理設(shè)備包括多種邏輯設(shè)備的場合,比如FAX/Printer/Modem一體機。

          ECP模式定義前向傳輸為主機到外設(shè),有2種前向傳輸周期,當(dāng)HostAck 為高,指示進行data周期;當(dāng)HostAck為低,command 周期進行,數(shù)據(jù)描述用RLE count 或 Channel address,數(shù)據(jù)字節(jié)的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. 主機發(fā)送數(shù)據(jù)到數(shù)據(jù)線,并設(shè)置HostAck 為高來指示一個data cycle 的開始

          2. 主機設(shè)置HostClk為低,指示數(shù)據(jù)有效

          3. 外設(shè)設(shè)置PeriphAck 為高響應(yīng)主機

          4. 主機設(shè)置HostClk為高,這是邊緣觸發(fā)信號,用于使數(shù)據(jù)存入外設(shè)

          5. 外設(shè)設(shè)置PeriphAck為低,指示準(zhǔn)備好接收下一字節(jié)

          6. 循環(huán)重復(fù),但這次為command cycle,因為HostAck為低

          注意:接口2側(cè)都使用FIFO ,發(fā)出的數(shù)據(jù)都認為已被接收。在第4步,HostClk變?yōu)楦?,data 被觸發(fā)進入外設(shè),數(shù)據(jù)指針計數(shù)器更新。在有些情況下這有可能造成傳輸數(shù)據(jù)丟失。

          ECP模式定義反向傳輸為從外設(shè)傳輸?shù)街鳈C,反向傳輸時,當(dāng)并口線上數(shù)據(jù)有效,外設(shè)設(shè)置PeriphClk 為低,主機在接收數(shù)據(jù)后設(shè)置HostAck 為低。下圖描述了反向通道的command周期緊隨data周期的時序:

          上圖也顯示出ECP和EPP協(xié)議的不同。在EPP模式,軟件可以執(zhí)行混合的讀寫操作,而不需要額外的協(xié)議;而在ECP模式,改變數(shù)據(jù)傳輸方向必須協(xié)商。主機要求反向傳輸通道需設(shè)置nReverseRequest并等待外設(shè)的nAckReverse的響應(yīng), 然后才可以進行反向數(shù)據(jù)傳輸。另外, 如果以前為DMA傳輸,軟件必須等待DMA完成或中斷DMA(要FIFO確定準(zhǔn)確的已傳輸?shù)臄?shù)據(jù)量),然后要求反向通道。

          ECP模式的反向Data和Command周期

          1. 主機設(shè)置nReverseRequest 為低,要求反向傳輸通道

          2. 外設(shè)設(shè)置nAckReverse 為低,響應(yīng)主機

          3. 外設(shè)發(fā)送數(shù)據(jù)到數(shù)據(jù)線,并設(shè)置PeriphAck 為高指示data 循環(huán)

          4. 外設(shè)設(shè)置PeriphClk為低指示數(shù)據(jù)有效

          5. 主機設(shè)置HostAck 為高確認

          6. 外設(shè)設(shè)置PeriphClk為高,這是邊沿觸發(fā)信號,用于使數(shù)據(jù)存入主機

          7. 主機設(shè)置HostAck為低,指示準(zhǔn)備好接收下一個字節(jié)

          8. 循環(huán)重復(fù),但這次是command周期,因為PeriphAck為低

          ECP FIFO的使用,無論DMA方式或可編程I/O方式,減弱了與ISA的關(guān)聯(lián),軟件不會精確知道數(shù)據(jù)傳輸?shù)臓顟B(tài),只關(guān)心傳輸是否完成。

          在Microsoft 的規(guī)格書"The IEEE 1284 Extended Capabilities Port Protocol and ISA Interface Standard"中,定義了基于ISA的ECP模式的通用寄存器和適配器的工作模式。ECP寄存器利用了定義的6個寄存器,只需要3個I/O口操作,注意寄存器的定義與工作模式有關(guān)。

          ECP寄存器描述:

          ECP模式在3個SPP模式并口寄存器外又定義了6個寄存器, 用于把地址或數(shù)據(jù)自動發(fā)到并口數(shù)據(jù)線上,然后自動產(chǎn)生地址和數(shù)據(jù)的選通(strobe)信號。

          ECP的Address和Data的FIFO包括至少16字節(jié),可用于前向和反向傳輸,可以平滑數(shù)據(jù)流和提高數(shù)據(jù)率。向Address FIFO寄存器寫數(shù)據(jù),會自動發(fā)往并口。ECP的Data FIFO寄存器用于主機和外設(shè)間的數(shù)據(jù)傳輸。

          ECP模式并口寄存器配置圖:

          ECP模式的目的是實現(xiàn)并口的即插即用(plug-and-play)性能和在Windows環(huán)境下進行高性能雙向傳輸。ECP模式允許任一方向的高速字節(jié)傳輸,也是半雙工方式,為打印機和掃描儀設(shè)計,數(shù)據(jù)率從500KB/S到1MB/S,使用AB-cable 電纜可傳6米,而使用新的CC-cable 電纜可達10米。ECP主要使用DMA而不是直接的I/O操作,目的是傳輸大的數(shù)據(jù)塊。

          2.6)工作模式選擇過程(Negotiation):

          一個設(shè)備可能設(shè)計為有多種工作模式,但不能同時使用,每次只能選用一種。IEEE 1284發(fā)明了協(xié)商(negotiation)方式,主機必須要判斷所連接的外設(shè)的能力以及使用的模式,決定出使用哪種IEEE1284模式,這種協(xié)商方式不會影響過去的設(shè)備,一個舊式設(shè)備不會響應(yīng)協(xié)商的時序,但符合IEEE 1284標(biāo)準(zhǔn)的設(shè)備會響應(yīng)這一時序,使主機獲得設(shè)備的ID碼(Device ID code) ,并通過對ECR寄存器的操作來選擇一種較高的工作模式。

          主機用Device ID序列來識別并口設(shè)備。Device ID是定義了外設(shè)特性和性能的ASCII字符串。因為沒有一個授權(quán)中心來分派設(shè)備和制造商編碼,在即插即用(Plug and Play)系統(tǒng)中,主機必須能夠測定和識別加入的設(shè)備,并自動安裝需要的設(shè)備驅(qū)動程序。

          使用IEEE 1284的所有設(shè)備,上電時都為SPP模式。主機執(zhí)行IEEE 1284工作模式選擇的過程如下:

          1. 把IEEE 1284的8-bit擴展碼(extensibility code )發(fā)到數(shù)據(jù)線

          2. 設(shè)置SelectIn信號線為高,并設(shè)置AUTOFD為低

          3. 外設(shè)然后設(shè)PError為高、ACK為低、FAULT為高、Select為高表示為為IEEE1284標(biāo)準(zhǔn)設(shè)備(如果外設(shè)不設(shè)置這些信號,主機認為外設(shè)不是IEEE1284設(shè)備),然后做以下操作。

          4. 使STROBE為低

          5.使STROBE為高、AUTOFD為低

          6. 如果extensibility code與提供的模式匹配,外設(shè)使PError為低、FAULT為低、Select為高

          7. 外設(shè)使ACK為高,指示狀態(tài)線可用

          IEEE1284 擴展碼:Extensibility Request Bytes

          ECR寄存器用來設(shè)置當(dāng)前工作模式,另外也用于軟件確定安裝于PC機的并口的性能。

          ECR寄存器的模式:

          如果要退出Nibble、Byte或ECP模式,設(shè)置SelectIn為低,而退出EPP模式主機要設(shè)置INIT信號有效,然后外設(shè)將恢復(fù)到SPP模式。

          如果一個并口既支持SPP模式,也可實現(xiàn)其他雙向模式,那么其前3個寄存器與標(biāo)準(zhǔn)并行口的寄存器完全一致,以便兼容過去的標(biāo)準(zhǔn)。

          2.7)不同模式下25PIN D-sub連接器信號的不同定義:



          關(guān)鍵詞: 計算機并行接

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();