I2C am EPP-Druckerport

Universelles Paralellport Interface

DH1AAD ,Ingo Gerlach , 21.02.2000, e-Mail : E-Mail bitte an:Ingo Gerlach


 

Info

Bisher veröffentlichte I2C-Interfaces basieren, wie diese Schaltung auch, meist auf eine Philips Applikation. Die Idee bei dieser Schaltung war nun, ein I2C Interface mit einem 8-Bit Interface zu kombinieren. Dazu bietet sich der Paralellport des PC's grundsätzlich an, da eine 8-Bit Ausgabe von Anfang an von IBM definiert wurde. Daten einzulesen ging nicht ohne weiteres, da die Datenleitungen nur für die Ausgabe bestimmt waren. Frühere Peripheriegeräte wie Parallelport Netzadapter oder auch Programme zur Kommunikation zwischen zwei PC's tauschten die Daten zum PC über den Statusport aus. Da dieser aber nur 5 Bit breit ist, musste dies Nibbleweise zu je 4 Bits geschehen. Durch die Entwicklung neuer Modes wie EPP (enhanced paralell port) oder dem ECP (extended capabilities port) wurde es möglich direkt über den Datenbus 8-Bit Daten einzulesen. Mit Einführung der erweiterten Modes, wie EPP/ECP nutzen auch immer mehr Peripheriegeräte, wie z.B. Scanner, die parallele Schnittstelle um mit dem PC zu kommunizieren, da jetzt eine entsprechend hohe Übertragunsgrate möglich wurde.

1.0 Schaltungsbeschreibung

Für die I2C Kommunikation sind die Gatter IC3A-IC3D zuständig. Die Signale SCL / SDA finden sich an der Ausgangsbuchse an den Pin'S 2 und 3. Die Erkennung ob ein Adapter angeschlossen(init_iic) ist, erfolgt mit Gatter IC2D. Über den ControlPort C2 (nInit) wird gesteuert, ob das Interface im I2C bzw. parallel Mode arbeitet. Diese Funktionalität, wird über die Funktionen io_enable/io_disable gesteuert. Eine genaue Beschreibung der verfügbaren Funktionen befindet sich weiter unten in diesem Text. Die parallele Ein- Ausgabe erfolgt über den 8-Bit bidirektionalen Bus-Transceiver IC1 74LS245. Die Datenrichtung (lesen/schreiben) wird über die Gatter IC2A-IC2B ausgewählt. Über das Gatter IC2C wird in Verbindung mit dem RC-Glied R1/C1 der erforderliche übernahmeimpuls für die Dateneingabe an (S7,nWait) erzeugt.

1.1 DLL

Alle Funktionen befinden sich in der ,,I2CDLL.DLL". Da diese auf den ,,C"-Funktionen ,,outp" und ,,inp" basieren, die direkt auf die Hardware zugreifen, funktioniert diese DLL nur unter den Betriebssystemen Windows 95 & Windows 98. Unter Windows NT geht dies nicht, da NT den direkten Zugriff auf die Hardware verbietet. Die ,,quasi" Schnittstelle zwischen der DLL und dem Anwendungsprogramm wie z.B. VisualBasic, befindet sich in der Datei ,,I2CEPP.BAS". Hier sind die Funktionen sowie die Aufrufparamter beschrieben. Download Sofware la.zip

2.0 Testprogramm

Um die Funktionalität zu Testen, gibt es das beiligende Programm "8 Kanal mini Logic-Analyzer". Das Programm ist bewusst sehr einfach gehalten. Hiermit ist es möglich, ohne weiteren Hardwareaufwand, 8 Kanäle (TTL-Pegel) ähnlich einem LogicAnalysator, darzustellen. Es sind maximal 64000 Messungen einzustellen. (Schieberegler Counts) Der darzustellende Bereich, wird mit den Reglern StartShow , EndShow eingestellt. Die gemessenen Werte können gespeichert und auch wieder eingelesen werden. Während einer Messung, wird Strobe (Pin 1 der Ausgangsbuchse) auf Low gezogen. Weiter besteht die Möglichkeit, extern die Messung zu starten. Dazu muss die CheckBox ,,PE Trigger" gesetzt sein. Die Messung wird erst dann gestartet wenn Pin 14 der Ausgangsbuchse auf auf LOW geht.

2.1 ScreenShot

3.0 Verwendete Literatur:

3.1 Verwendete Links:


© Ingo Gerlach, DH1AAD, 15.02.2002
E-Mail bitte an:Ingo Gerlach
Powered by website analytics technology.