15.02.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • 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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!