epp mode.htm
来自「并口的接口规范」· HTM 代码 · 共 471 行 · 第 1/2 页
HTM
471 行
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0031)http://www.fapo.com/eppmode.htm -->
<HTML><HEAD><TITLE>Warp Nine Engineering - The IEEE 1284 Experts - IEEE 1284 EPP- Enhanced Parallel Port Mode</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META
content="The Enhanced Parallel Port protocol was originally developed by Intel, Xircom and Zenith Data Systems, as a means to provide a high performance parallel port link that would still be compatible with the standard parallel port. "
name=description>
<META content="Warp Nine Engineering's EPP Mode Page" name=abstract>
<META content="epp, EPP" 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="EPP Mode.files/toplogo3.gif"
width=1280 border=0><BR><IMG height=15 src="EPP Mode.files/spacer.gif"
width=14 border=0><A href="http://www.fapo.com/index.html"><IMG height=24
src="EPP Mode.files/home.gif" width=24 border=0></A><IMG height=15
src="EPP Mode.files/spacer.gif" width=14 border=0><IMG height=15
src="EPP Mode.files/spacer.gif" width=31> <IMG height=24
src="EPP 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="EPP 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="EPP Mode.files/spacer.gif" width=9> </TD>
<TD vAlign=top align=left width=536 height=297>
<DIV align=left>
<P> </P>
<P><FONT face="Arial, Helvetica, sans-serif" color=#000000><FONT
size=2><B>EPP Mode</B></FONT></FONT> </P></DIV>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>The Enhanced Parallel Port protocol was originally developed by
Intel, Xircom and Zenith Data Systems, as a means to provide a high
performance parallel port link that would still be compatible with the
standard parallel port. This protocol capability was implemented by Intel
in the 386SL chipset (82360 I/O chip). This was prior to the establishment
of the IEEE 1284 committee and the associated standards work. </FONT></P>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>The EPP protocol offered many advantages to parallel port
peripheral manufactures and was quickly adopted by many as an optional
data transfer method. A loose association of around 80 interested
manufacturers was formed to develop and promote the EPP protocol. This
association became the EPP Committee and was instrumental in helping to
get this protocol adopted as one of the IEEE 1284 advanced modes.
</FONT></P>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Since EPP capable parallel ports were available prior to the
release of the 1284 standard, there is a small deviation between the
pre-1284 EPP ports and 1284 EPP protocol. This will be made clearer later.
</FONT></P>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>The EPP protocol provides four types of data transfer cycles:
</FONT>
<DIV align=left>
<OL>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>Data
Write Cycle</FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>Data
Read Cycle</FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Address Write Cycle</FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Address Read Cycle</FONT> </LI></OL></DIV>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Data cycles are intended to be used to transfer data between the
host and the peripheral. Address cycles may be used to pass address,
channel, or command and control information. These cycles can be viewed as
just two different data cycles. The developer may use and parse the
address/data information in any method that makes sense for a particular
design. Table 1 describes the EPP signals and their associated SPP
signals</FONT><FONT face="Arial, Helvetica, sans-serif" color=#000000>.
</FONT></P>
<H4 align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=2>Table 1 -- EPP Signal Definitions</FONT></H4>
<DIV align=left>
<TABLE width=513 border=1>
<TBODY>
<TR>
<TH>
<P align=center><FONT face="Arial, Helvetica, sans-serif" size=2>SPP
Signal</FONT> </P></TH>
<TH align=middle>
<P align=center><FONT face="Arial, Helvetica, sans-serif" size=2>EPP
Signal Name</FONT> </P></TH>
<TH align=middle>
<P align=center><FONT face="Arial, Helvetica, sans-serif" size=2>EPP
Signal Description</FONT> </P></TH></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif"
size=1>nSTROBE</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>nWRITE</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Active low.
Indicates a write operation High for a read cycle.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif"
size=1>nAUTOFEED</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>nDATASTB</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Active low.
Indicates a Data_Read or Data_Write operation is in
process.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif"
size=1>nSELECTIN</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>nADDRSTB</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Active low.
Indicates an Address_Read or Address_Write operation is in
process.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>nINIT</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>nRESET</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>Out</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Active low.
Peripheral reset.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>nACK</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>nINTR</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Peripheral
interrupt. Used to generate an interrupt to the host.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>BUSY</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>nWAIT</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Handshake
signal. When low it indicates that is OK to start a cycle (assert a
strobe), when high it indicates that it is OK to end the cycle
(de-assert a strobe).</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif"
size=1>D[8:1]</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>AD[8:1]</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>Bi-Di</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Bi-directional
address/data lines.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>PE</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>user defined</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Can be used
differently by each peripheral</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif"
size=1>SELECT</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>user defined</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Can be used
differently by each peripheral.</FONT></TD></TR>
<TR>
<TD><FONT face="Arial, Helvetica, sans-serif"
size=1>nERROR</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>user defined</FONT></TD>
<TD align=middle><FONT face="Arial, Helvetica, sans-serif"
size=1>In</FONT></TD>
<TD><FONT face="Arial, Helvetica, sans-serif" size=1>Can be used
differently by each peripheral.</FONT></TD></TR></TBODY></TABLE></DIV>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Figure 1 is an example of a Data_Write cycle . The CPU signal nIOW
is shown just to emphasize that this entire handshake occurs within a
single I/O cycle.</FONT></P>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000><IMG
height=267 src="EPP Mode.files/eppfig1.gif" width=488><BR></FONT></P><FONT
face="Arial, Helvetica, sans-serif" color=#000000 size=1>Figure 1 -- EPP
Data_Write Cycle</FONT>
<P align=left><FONT face="Arial, Helvetica, sans-serif"
color=#000000><STRONG><FONT size=2>Data Write cycle phase
transitions:</FONT></STRONG></FONT>
<DIV align=left>
<OL>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>Program executes an I/O write cycle to port 4 (EPP Data Port)
</FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>The
nWrite line is asserted and the data is output to the parallel port
</FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>The
data strobe is asserted, since nWAIT is asserted low </FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>The
port waits for the acknowledge from the peripheral (nWAIT deasserted)
</FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>The
data strobe is deasserted and the EPP cycle ends </FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>The
ISA I/O cycle ends </FONT>
<LI><FONT face="Arial, Helvetica, sans-serif" color=#000000 size=1>nWAIT
is asserted low to indicate that the next cycle may begin
</FONT></LI></OL></DIV>
<P align=left><FONT face="Arial, Helvetica, sans-serif" color=#000000
size=1>One of the most important features to note here is that the entire
data transfer occurs within one ISA I/O cycle. The effect is that by using
the EPP protocol for data transfer, a system can achieve transfer rates
from 500K to 2M bytes per second. In this fashion, parallel port
peripherals can operate at close to the same performance levels as an
equivalent ISA plug-in card. The ability to get this level of performance
from a parallel port attached device is one of the major features of the
EPP protocol. With interlocked handshakes, the data transfer will happen
at the speed of the slowest of the interfaces, the host adapter or the
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?