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>&nbsp;</P></TD>
    <TD vAlign=top align=left width=1 bgColor=#ff0000 height=297>&nbsp; </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>&nbsp;</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 + -
显示快捷键?