Das Magazin für Funk Elektronik · Computer - FTP Directory Listing
Das Magazin für Funk Elektronik · Computer - FTP Directory Listing
Das Magazin für Funk Elektronik · Computer - FTP Directory Listing
- Keine Tags gefunden...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Tabelle 3: Signalnamen im SPPund<br />
EPP-Modus<br />
Sub D Richtung SPP EPP<br />
1 Out nStrobe nWrite<br />
2 Bi D0 AD0<br />
3 Bi D1 AD1<br />
4 Bi D2 AD2<br />
5 Bi D3 AD3<br />
6 Bi D4 AD4<br />
7 Bi D5 AD5<br />
8 Bi D6 AD6<br />
9 Bi D7 AD7<br />
10 In nAck Intr<br />
11 In Busy nWait<br />
12 In PError UserDef1<br />
13 In Select UserDef3<br />
14 Out nAutoFd nDStrb<br />
15 In nFault UserDef2<br />
16 Out nInit nInit<br />
17 Out nSelectIn nAStrb<br />
18 – – –<br />
19 – – –<br />
20 Ground Ground<br />
21 Ground Ground<br />
22 Ground Ground<br />
23 Ground Ground<br />
24 Ground Ground<br />
25 Ground Ground<br />
Die Zyklen laufen automatisch ab, in Abhängigkeit<br />
davon, welches Portregister<br />
angesprochen wird. Ein Schreiben auf das<br />
EPP Address Port bewirkt ein Address<br />
Write, ein Lesen des EPP Address Ports<br />
ein Address Read auf den Peripherieleitungen.<br />
Besonders bemerkenswert ist<br />
das EPP Data Port. Es existiert gleich viermal<br />
und ermöglicht so 8-, 16- und 32-Bit-<br />
I/O-Zugriffe. Die Register sind in Tabelle 2<br />
dargestellt. Die SPP-Register haben im<br />
EPP-Modus keine Bedeutung. Alle Transfers<br />
laufen über die EPP-Register ab.<br />
Der aufmerksame Leser wird die neuen<br />
Signalnamen bemerkt haben. Tatsächlich<br />
haben die einzelnen Leitungen nicht nur<br />
neue <strong>Funk</strong>tionen, sondern auch neue Namen<br />
erhalten. Eine Gegenüberstellung der<br />
Signalnamen im SPP- und EPP-Modus und<br />
die Zuordnung zum 25poligen SUB-D-<br />
Druckeranschluß ist in Tabelle 3 zusammengestellt.<br />
Bei der Betrachtung der Signale zeigt sich,<br />
daß das EPP eigentlich als externer Bus angesehen<br />
werden kann. Die Datenleitungen<br />
führen nicht nur Daten-, sondern auch<br />
Adreßinformationen. Mit Hilfe externer<br />
Decoder können so bis zu 256 externe<br />
Adressen angesprochen werden. Zu diesem<br />
Zweck muß zunächst ein Address Write<br />
durchgeführt werden. Die Adresse wird<br />
durch nAddressStrobe in ein externes Latch<br />
gespeichert und kann dann decodiert<br />
werden.<br />
Die Peripherie kann durch ein nReset<br />
(aktiv Low) zurückgesetzt werden.<br />
Die beschriebenen Register und Signale<br />
existieren bei allen EPP-Chips der verschiedenen<br />
Hersteller in gleicher funktioneller<br />
Hinsicht. Leider unterscheiden sich<br />
CPU I/O Write<br />
nWrite<br />
AD-Bus<br />
nDataStrobe<br />
nWait<br />
die Schaltkreise jedoch in der Art und<br />
Weise, wie sie in die EPP-Betriebsart geschaltet<br />
werden können. Bei einigen dieser<br />
Bausteine ist die Umschaltung im Handling<br />
sogar recht kompliziert (82360 SL). Für<br />
den FDC 37665 gelten die Konfigurationseinstellungen<br />
nach Tabelle 4. Diese Tabelle<br />
zeigt das Konfigurationsregister, welches<br />
auf der Portbasisadresse plus Offset 402h<br />
zu finden ist. Die mit x gekennzeichneten<br />
Bits werden im ECP-Modus zur FIFO- und<br />
DMA-Steuerung benutzt.<br />
■ EPP-BIOS<br />
<strong>Das</strong> EPP-BIOS ermöglicht einen hardwareunabhängigen<br />
Zugriff auf das EPP-Port.<br />
<strong>Das</strong> EPP-BIOS wird in der CONFIG.SYS<br />
als Device-Treiber geladen. Es kann aber<br />
auch schon im System-ROM enthalten sein<br />
oder als TSR-Programm vorliegen. Hier soll<br />
das in [3] spezifizierte BIOS beschrieben<br />
werden. Es soll nicht unerwähnt bleiben,<br />
daß es auch andere BIOS-Erweiterungen<br />
gibt.<br />
Ob ein EPP-BIOS nach IEEE 1284 installiert<br />
ist, kann durch die neue Int17-<strong>Funk</strong>tion<br />
Installation Check überprüft werden.<br />
Diese <strong>Funk</strong>tion liefert bei Erfolg die <strong>für</strong><br />
nachfolgende <strong>Funk</strong>tionen wichtige EPP-<br />
BIOS-Einsprungadresse.<br />
Alle weiterem BIOS-Rufe erfolgen nun<br />
über einen Direktaufruf. Dabei steht im Register<br />
AH die <strong>Funk</strong>tion, im Register DX die<br />
EPP-I/O-Basisadresse. <strong>Das</strong> BIOS liefert im<br />
Register AH den Fehlercode. In den anderen<br />
Registern werden zusätzliche Informationen<br />
übergeben.<br />
Query Config (0): Diese <strong>Funk</strong>tion liefert<br />
die Konfiguration des EPP-Ports.<br />
Tabelle 4: Konfigurationsregister<br />
Code Betriebsart<br />
000xxxxx SPP<br />
001xxxxx PS/2<br />
010xxxxx FIFO<br />
011xxxxx ECP<br />
100xxxxx EPP<br />
101xxxxx reserviert<br />
110xxxxx Test<br />
111xxxxx Konfiguration<br />
1 2 3 4<br />
Ein I/O Zyklen<br />
Bild 2: <strong>Funk</strong>tionsweise im EPP-Modus bei der Ausgabe<br />
5 6<br />
PC<br />
Set Mode (1): Setzt die Betriebsart der<br />
Schnittstelle. AL=Mode-Bits.<br />
Get Mode (2): Fragt die gesetzte Betriebsart<br />
ab.<br />
Interrupt Control (3): Mit AL=1 kann der<br />
Interrupt ein-, mit AL=0 ausgeschaltet<br />
werden.<br />
EPP Reset (4): Setzt das EPP-Port zurück.<br />
Address Write (5): Die in AL übergebene<br />
Adresse wird ausgegeben.<br />
Address Read (6): Liefert in AL die Adresse.<br />
Write Byte (7): Gibt das Byte in AL aus.<br />
Write Block (8): Der durch DS:SI adressierte<br />
Speicherblock wird ausgegeben. Die<br />
Blocklänge steht in CX.<br />
Read Byte (9): Ein Byte vom Port lesen.<br />
Rückgabe in AL.<br />
Read Block (0Ah): Vom Port wird ein Datenblock<br />
mit der Länge CX in den Speicherbereich<br />
gelesen, der durch ES:DI adressiert<br />
wird.<br />
Address/Byte Read (0Bh): Es wird von der<br />
Adresse AL ein Byte gelesen. Rückgabe in<br />
AL.<br />
Address/Byte Write (0Ch): <strong>Das</strong> Byte in<br />
CL wird auf die Adresse AL ausgegeben.<br />
Address/Block Read (0Dh): Kombination<br />
der <strong>Funk</strong>tionen 5 und 0Ah.<br />
Address/Block Write (0Eh): Kombination<br />
der <strong>Funk</strong>tionen 6 und 8.<br />
Damit sind die wichtigsten BIOS-<strong>Funk</strong>tionen<br />
kurz beschrieben. Die BIOS-Spezifikation<br />
[3] steht als fünfundzwanzigseitiges<br />
WinWord-Dokument in der FUNKAMA-<br />
TEUR-Mailbox (Einwahl siehe Heft-Impressum)<br />
zum Download bereit. Ein BIOS<br />
<strong>für</strong> den weit verbreiteten SMC-Chip SMC<br />
finden Sie neben weiteren Utilities ebenfalls<br />
in unserer BBS. Es lohnt sich also,<br />
einmal in die Box hineinzuschauen.<br />
Literatur<br />
[1] Andreas Stiller: EPP, ECP ... etc, c’t 1994, Heft<br />
7, Seite 120<br />
[2] IEEE 1284: Standard Signaling Method for a Bidirectional<br />
Parallel Peripheral Interface for Personal<br />
<strong>Computer</strong>s.<br />
[3] IEEE 1284 Enhanced Parallel Port BIOS Specification.<br />
Revision 7<br />
[4] Larry Stein: The Enhanced Parallel Port<br />
[5] Torge Storm: Port Knox, ELRAD 1995, Heft 9,<br />
Seite 56<br />
FA 11/95 • 1181