Forum: Mikrocontroller und Digitale Elektronik Geschwindigkeit der Druckerschnittstelle


von Torsten (Gast)


Lesenswert?

Hallo,

bei meinen Basteleien ist mir aufgefallen, das der LPT Port am PC eine
bestimmte max. Frequenz bei Ein / Ausgaben zulässt. (Ca. 700 kHz).
Warum ist das eigentlich so?

Da diese Geschwindigkeit mir nicht genügt, wollte ich kurzfristig eine
kleine ISA Karte mit einem 8255 bauen um ein paar Ports zum Steuern zu
erhalten. Hier habe ich aber die Befürchtung das das auch nicht
schneller läuft. ISA ist doch eigentlich mit 8 MHz getaktet, kann man
diese Frequenz direkt nach aussen führen?

Ich weiss, das mir alle von ISA abraten werden, aber ich hab gerad den
Port IC da, und es wird auch keine neuartige Entwicklung dran hängen.
Später (an einem kalten Winterabend) löt ich die FT245 zusammen. Dann
gibts auch USB.

Danke

MfG Torsten

von Thomas Burkhardt (Gast)


Lesenswert?

Hallo,

die 700 kB/s kann ich nur bestätigen. Du hast wahrscheinlich im
SPP-Modus (dem einfachsten) gearbeitet. Man sieht dabei nicht den
Bustakt und muss noch allerlei Handshake's von Hand machen - was alles
nur noch langsamer macht.

Schneller wirds mit EPP/ECP (bis zu angeblich 2 MB/s). Ziehe dir zu
diesen Modi Informationen (z.B. von www.beyondlogic.org [oder com, oder
so...]).


Viele Grüße

von Benedikt (Gast)


Lesenswert?

ISA ist genausoschnell wie der LPT, wenn du direkt auf die Hardware
zugreifst (jeweils ein Inp out Out Befehl). Der LPT ist nicht anders
als ein I/O Treiber mit (mittlerweile) einigen Zusatzfunktionen.
Da der ISA Bus aber nur mit 8MHz getaktet wird, sind selbst mit
Assembler nur ein bis zwei MB/s möglich... (andere Geräte wollen ja
auch noch was über den ISA Bus übertragen.

Eigne ISA Karten zu entwickeln ist eigentlich einfach:
16bit Adresse, 8 bit Daten, WR\, RD\ das wars.
Am besten verwendet man einen 8bit Vergleicher um sich einen Teil des
Adresraums auszusuchen. Zusätzlich sollte man überprüfen ob AEN Low ist
(ansosnten ist es ein DMA Zyklus).
Das wichtigste dabei: Die Leitungen so kurz wie möglich !

von Axel Rühl (Gast)


Lesenswert?

Im epp modus kannst du signale über die 8 Datenleitungen einlesen. nur
eben nicht auf der Hex378, sondern auf der Hex37C.
Ein Read-befehl auf diesem Port erzeugt automatisch ein
Readstrobesignal(pin10 glaube ich), welches die Hardware, welche
ausgelesen werden soll, bestätigen muss. tut sie das nicht, wird nach
10uS ein Timeoutbit im ControlRegister gesetzt, und erst jetzt kann der
nächste Read-Befehl gesetzt werden, das wären dann ca. 100Khz. Ich habe
einfach - da ich nicht wusste, wie ich meine Hardware überreden kann,
ein Read zu bestätigen, 3 Gatter hintereinander geschaltet und über die
Laufzeit mein Bestätigungssignal erzeugt, unabhängig ob meine Hardware
tatsächlich bereit ist.
Die Datenrichtung wird ebenso automatisch umgeschaltet (PIN1), bei Read
ist dann da LOW, bei Write ein HIGH. Ein Writestrobe gibt es auch.
Eigentlich alles, was man braucht, um Ein-AusgabeLatches anzusteuern.
Man muss sich nicht mal drumm kümmern, nur lesen oder schreiben...
änlich wie das X-Sram interface beim Atmel.
Ich habe auch lange suchen müssen, das ist auch nicht auf meinem Mist
gewachsen...
Im Funkamateur www.funkamateur.de steht/stand irgentwo im
Downloadbereich ein Videograbber mit einem CA3306 (6BitParallel 15Mhz
AD-Wandler) als Projekt bereit. Das habe ich mir näher angesehen. Ich
habe allerdings den DA-Wandler nie eingestzt, obwohl ich ihn mir
gekauft hatte.
Satt dessen habe ich mir mit Delphi einen 8Kanal Logikanalyser
gebastelt. 2Mhz sind gerade so drinne.

Vielleicht find ich den Link mit den EPP-Doku's noch. Warum solls in
meinem Rechner nicht genauso aussehen, wie auf meinem Schreibtisch.

Gruß
Axel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.