📄 ecp mode.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0031)http://www.fapo.com/ecpmode.htm -->
<HTML><HEAD><TITLE>Warp Nine Engineering - The IEEE 1284 Experts - IEEE 1284 ECP Mode</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META
content="The Extended Capability Port, or ECP, protocol was proposed by Hewlett Packard and Microsoft as an advanced mode for communication with printer and scanner type peripherals."
name=description>
<META content="Warp Nine Engineering's ECP Mode Page" name=abstract>
<META content="ecp, ECP" name=keywords>
<STYLE type=text/css></STYLE>
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0
onload="if (self != top) top.location = self.document.location" marginheight="0"
marginwidth="0">
<DIV style="WIDTH: 1284px; HEIGHT: 235px" align=left><!-- #BeginLibraryItem "/Library/Top Nav w logo.lbi" -->
<TABLE height=1 cellSpacing=0 cellPadding=0 width=597 border=0>
<TBODY>
<TR vAlign=center align=right>
<TD bgColor=#000000 height=9>
<DIV align=left><IMG height=52 src="ECP Mode.files/toplogo3.gif"
width=1280 border=0><BR><IMG height=15 src="ECP Mode.files/spacer.gif"
width=14 border=0><A href="http://www.fapo.com/index.html"><IMG height=24
src="ECP Mode.files/home.gif" width=24 border=0></A><IMG height=15
src="ECP Mode.files/spacer.gif" width=14 border=0><IMG height=15
src="ECP Mode.files/spacer.gif" width=31> <IMG height=24
src="ECP Mode.files/button.gif" width=444 useMap=#buttons border=0>
</DIV></TD></TR></TBODY></TABLE><MAP name=buttons><AREA shape=RECT
coords=339,-1,393,22 href="http://www.fapo.com/search.htm"><AREA shape=RECT
coords=275,1,337,22 href="http://www.fapo.com/support.htm"><AREA shape=RECT
coords=203,1,273,24 href="http://www.fapo.com/fpcmail.htm"><AREA shape=RECT
coords=136,0,203,23 href="http://www.fapo.com/ieee1284.htm"><AREA shape=RECT
coords=69,0,131,23 href="http://www.fapo.com/fpcorder.htm"><AREA shape=RECT
coords=0,0,65,23 href="http://www.fapo.com/product.htm"></MAP><!-- #EndLibraryItem -->
<TABLE height=256 cellSpacing=0 cellPadding=0 width=597 border=0>
<TBODY>
<TR>
<TD vAlign=top align=left width=56 bgColor=#ffffff height=297>
<P><IMG height=77 src="ECP Mode.files/spacer2.gif" width=55></P>
<P> </P></TD>
<TD vAlign=top align=left width=1 bgColor=#ff0000 height=297> </TD>
<TD vAlign=top align=left width=9 height=297><IMG height=15
src="ECP Mode.files/spacer.gif" width=9> </TD>
<TD vAlign=top align=left width=533 height=297>
<DIV align=center>
<CENTER>
<H1 align=left><FONT face=Arial color=#000000 size=2><B><BR>ECP
Mode</B></FONT></H1>
<P align=left><FONT face=Arial color=#000000 size=1>The Extended
Capability Port, or ECP, protocol was proposed by Hewlett Packard and
Microsoft as an advanced mode for communication with printer and scanner
type peripherals. Like the EPP protocol, ECP provides for a high
performance bi-directional communication path between the host adapter and
the peripheral. </FONT></P>
<P align=left><FONT face=Arial color=#000000 size=1>The ECP protocol
provides the following cycle types in both the forward and reverse
directions: </FONT>
<DIV align=left>
<OL style="COLOR: rgb(0,0,0)">
<LI style="COLOR: rgb(0,0,0)" type=disc><FONT face=Arial color=#000000
size=1>Data cycles<BR></FONT>
<LI style="COLOR: rgb(0,0,0)" type=disc><FONT face=Arial color=#000000
size=1>Command cycles</FONT> </LI></OL></DIV>
<P align=left><FONT face=Arial color=#000000 size=1>The command cycles are
divided into 2 types, Run-Length Count and Channel address. </FONT></P>
<P align=left><FONT face=Arial color=#000000 size=1>Unlike EPP, when the
ECP protocol was proposed, a standard register implementation was also
proposed. This can be found in the Microsoft document <A
file="ecp_reg.pdf">"The IEEE 1284 Extended Capabilities Port Protocol and
ISA Interface Standard"</A> available from Microsoft Corp. This document
defines features that are implementation specific which the IEEE 1284
standard could not address. These features include Run_Length_Encoding
(RLE) data compression for the host adapters, FIFOs for both the forward
and reverse channels, and DMA as well as programmed I/O for the host
register interface. </FONT></P>
<P align=left><FONT face=Arial color=#000000 size=1>The RLE feature
enables real time data compression that can achieve compression ratios up
to 64:1. This is particularly useful for printers and scanners that are
transferring large raster images that have large strings of identical
data. In order for the RLE mode to be enabled both the host and the
peripheral must support it. </FONT></P>
<P align=left><FONT face=Arial color=#000000 size=1>Channel addressing is,
conceptually, a little different than the EPP addressing. Channel
addressing is intended to be used to address multiple logical devices
within a single physical device. Think of this in terms of a new
multi-function device such as FAX/Printer/Modem. Within one physical
package, having a single parallel port attached, there is a printer, fax
and modem. Each of these separate functions can be thought of as separate
logical devices within the same package. Using the ECP channel addressing
to access each of these devices, you could receive data from the modem
data device while the printer data channel is busy processing a print
image. With the compatibility mode protocol, if the printer gets busy then
no more communication can occur until the printer data channel if free.
With ECP, the software driver simply addresses another channel and
communication can continue. </FONT></P>
<P align=left><FONT face=Arial color=#000000 size=1>As with the other 1284
modes, the ECP protocol redefines the SPP signals to be more consistent
with the ECP handshake. Table 1 describes these signals. </FONT></P>
<H4 align=center><FONT face=Arial color=#000000 size=2>Table 1 -- ECP Mode
Signals</FONT></H4>
<TABLE width=498 border=1>
<TBODY>
<TR>
<TH><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>SPP Signal</FONT></TH>
<TH align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>ECP Mode Name</FONT></TH>
<TH align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>In/Out</FONT></TH>
<TH><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Description -- Signal usage when in ECP Mode data
transfer</FONT></TH></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>nSTROBE</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>HostClk</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Used with PeriphAck to transfer data or address information
in the forward direction.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>nAUTOFEED</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>HostAck</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Provides Command/Data status in the forward direction. Used
with PeriphClk to transfer data in the reverse
direction.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>nSELECTIN</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>1284Active</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Set high when host is in a 1284 transfer mode.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>nINIT</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>nReverseRequest</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Driven low to put the channel in reverse
direction.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>nACK</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>PeriphClk</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Used with HostAck to transfer data in the reverse
direction.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>BUSY</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>PeriphAck</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Used with HostClk to transfer data or address information in
the forward direction. Provides Command/Data status in the reverse
direction.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>PE</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>nAckReverse</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Driven low to acknowledge nReverseRequest.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>SELECT</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Xflag</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Extensibility flag.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>nERROR</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>nPeriphRequest</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Set low by peripheral to indicate that reverse data is
available.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Data[8:1]</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Data[8:1]</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
color=#000000 size=1>Bi-Di</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Used to provide data between the peripheral and
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -