📄 interfacing the enhanced parallel port.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0038)http://www.beyondlogic.org/epp/epp.htm -->
<HTML><HEAD><TITLE>Interfacing the Parallel Port</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META
content="Describes interfacing the EPP (Enhanced Parallel Port), complete with register details and waveforms."
name=description>
<META
content="Parallel Port, Printer Port, IEEE 1284, EPP1.7, EPP1.9, EPP, Enhanced Parallel Port"
name=keywords>
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY leftMargin=0
background="Interfacing the Enhanced Parallel Port.files/bgyellow.gif"
topMargin=0 FACE="ARIAL" BASEFONT marginwidth="0" marginheight="0">
<STYLE type=text/css>#TITLEBLOCK {
COLOR: #ffffff; TEXT-DECORATION: none
}
TD {
FONT-FAMILY: Arial
}
P {
FONT-FAMILY: Arial
}
FONT {
FONT-FAMILY: Arial
}
</STYLE>
<BR>
<CENTER>
<TABLE width="95%" BOARDER="0">
<TBODY>
<TR>
<TD width="25%">
<CENTER><A href="http://www.beyondlogic.org/"><IMG alt="Beyond Logic"
src="Interfacing the Enhanced Parallel Port.files/beyondsmall.gif"
border=0></A></CENTER></TD>
<TD width="50%">
<CENTER>
<SCRIPT type=text/javascript><!--google_ad_client = "pub-7725444460812017";google_ad_width = 468;google_ad_height = 60;google_ad_format = "468x60_as";google_ad_type = "text_image";google_ad_channel ="";google_color_border = "0033FF";google_color_bg = "FFFFFF";google_color_link = "0000FF";google_color_url = "008000";google_color_text = "000000";//--></SCRIPT>
<SCRIPT src="Interfacing the Enhanced Parallel Port.files/show_ads.js"
type=text/javascript></SCRIPT>
<NOSCRIPT><FONT color=red>This page is optimised with JavaScript 1.2.
Currently your browser has JavaScript switched off.</NOSCRIPT>
</CENTER></FONT></TD>
<TD vAlign=center align=right><BR><FONT face=ARIAL>
<SCRIPT language=javascript
src="Interfacing the Enhanced Parallel Port.files/beyondmenu_plain.js"></SCRIPT>
<NOSCRIPT></FONT></TD></TR></TBODY></TABLE></CENTER></NOSCRIPT>
<CENTER>
<TABLE width="95%">
<TBODY>
<TR>
<TD><BR>
<CENTER><FONT color=green size=5>Interfacing the Enhanced Parallel
Port</FONT></CENTER>
<CENTER><BR><B><FONT size=+2>Table of Contents</FONT></B></CENTER><BR>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#1">Enhanced
Parallel Port</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#2">EPP Hardware
Properties</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#3">The EPP
Handshake</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#4">EPP Data Write
Cycle</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#5">EPP Address
Write Cycle</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#6">EPP Data Read
Cycle</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#7">EPP Address
Read Cycle</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#8">The EPP's
Software Registers</A></CENTER>
<CENTER><A href="http://www.beyondlogic.org/epp/epp.htm#9">EPP Programming
Considerations</A></CENTER><BR><BR><A name=1><I><FONT size=+2>EPP -
Enhanced Parallel Port</FONT></I></A>
<HR>
<UL>
<P>The Enhanced Parallel Port (EPP) was designed in a joint venture
between Intel, Xircom & Zenith Data Systems. EPP Ports were first
specified in the EPP 1.7 standard, and then later included in the IEEE
1284 Standard released in 1994. EPP has two standards, EPP 1.7 and EPP
1.9. There are differences between the two standards which may affect
the operation of devices. This is further discussed latter. EPP has a
typical transfer rate in the order of 500KB/S to 2MB/S. This is achieved
by allowing the hardware contained in the port to generate handshaking,
strobing etc, rather that have the software do it, which was the case
with Centronics. </P>
<P>For the hobbyist, EPP is more commonly used than ECP. EPP differs
from ECP by the fact that the EPP Port generates and controls all the
transfers to and from the peripheral. ECP on the other hand requires the
peripheral to negotiate a reverse channel and control the handshaking.
This is harder to achieve with common glue logic, thus really requires a
dedicated controller or ECP Peripheral Chip. </P></UL><A name=2><I><FONT
size=+2>EPP Hardware Properties</FONT></I></A>
<HR>
<UL>
<P>When using EPP mode, a different set of tasks and labels are assigned
to each line. These are listed below in Table 4. It's very common to see
both the SPP and EPP names interchanged in Parallel Port Data Sheets and
Literature. This can make it very hard to focus on what is exactly
happening. Therefore all the documentation here will use the EPP names.
</P>
<CENTER>
<TABLE width="80%" border=1>
<TBODY>
<TR>
<TD>
<CENTER><B>Pin</B></CENTER></TD>
<TD><B>
<CENTER>SPP Signal</CENTER></B></TD>
<TD><B>
<CENTER>EPP Signal</CENTER></B></TD>
<TD><B>
<CENTER>IN/OUT</CENTER></B></TD>
<TD>
<CENTER><B>Function</B></CENTER></TD></TR>
<TR>
<TD>
<CENTER>1</CENTER></TD>
<TD>
<CENTER>Strobe</CENTER></TD>
<TD>
<CENTER>Write</CENTER></TD>
<TD>
<CENTER>Out</CENTER></TD>
<TD>A low on this line indicates a Write, High indicates a
Read</TD></TR>
<TR>
<TD>
<CENTER>2-9</CENTER></TD>
<TD>
<CENTER>Data 0-7</CENTER></TD>
<TD>
<CENTER>Data 0-7</CENTER></TD>
<TD>
<CENTER>In-Out</CENTER></TD>
<TD>Data Bus. Bi-directional</TD></TR>
<TR>
<TD>
<CENTER>10</CENTER></TD>
<TD>
<CENTER>Ack</CENTER></TD>
<TD>
<CENTER>Interrupt</CENTER></TD>
<TD>
<CENTER>In</CENTER></TD>
<TD>Interrupt Line. Interrupt occurs on Positive (Rising)
Edge.</TD></TR>
<TR>
<TD>
<CENTER>11</CENTER></TD>
<TD>
<CENTER>Busy</CENTER></TD>
<TD>
<CENTER>Wait</CENTER></TD>
<TD>
<CENTER>In</CENTER></TD>
<TD>Used for handshaking. A EPP cycle can be started when low, and
finished when high.</TD></TR>
<TR>
<TD>
<CENTER>12</CENTER></TD>
<TD>
<CENTER>Paper Out / End</CENTER></TD>
<TD>
<CENTER>Spare</CENTER></TD>
<TD>
<CENTER>In</CENTER></TD>
<TD>Spare - Not Used in EPP Handshake</TD></TR>
<TR>
<TD>
<CENTER>13</CENTER></TD>
<TD>
<CENTER>Select</CENTER></TD>
<TD>
<CENTER>Spare</CENTER></TD>
<TD>
<CENTER>In</CENTER></TD>
<TD>Spare - Not Used in EPP Handshake</TD></TR>
<TR>
<TD>
<CENTER>14</CENTER></TD>
<TD>
<CENTER>Auto Linefeed</CENTER></TD>
<TD>
<CENTER>Data Strobe</CENTER></TD>
<TD>
<CENTER>Out</CENTER></TD>
<TD>When Low, indicates Data transfer</TD></TR>
<TR>
<TD>
<CENTER>15</CENTER></TD>
<TD>
<CENTER>Error / Fault</CENTER></TD>
<TD>
<CENTER>Spare</CENTER></TD>
<TD>
<CENTER>In</CENTER></TD>
<TD>Spare - Not used in EPP Handshake</TD></TR>
<TR>
<TD>
<CENTER>16</CENTER></TD>
<TD>
<CENTER>Initialize</CENTER></TD>
<TD>
<CENTER>Reset</CENTER></TD>
<TD>
<CENTER>Out</CENTER></TD>
<TD>Reset - Active Low</TD></TR>
<TR>
<TD>
<CENTER>17</CENTER></TD>
<TD>
<CENTER>Select Printer</CENTER></TD>
<TD>
<CENTER>Address Strobe</CENTER></TD>
<TD>
<CENTER>Out</CENTER></TD>
<TD>When low, indicates Address transfer</TD></TR>
<TR>
<TD>
<CENTER>18-25</CENTER></TD>
<TD>
<CENTER>Ground</CENTER></TD>
<TD>
<CENTER>Ground</CENTER></TD>
<TD>
<CENTER>GND</CENTER></TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -