Forum: PC Hard- und Software Reale Geschwindigkeit des Parallelports?


von Mark .. (mork)


Lesenswert?

Hallo,

es wird überall angegeben, dass die maximale Gschwindigkeit des 
Druckerports bei Verwendung von DMA 2MB/s beträgt. Ist dieser Wert nur 
die Spitzengeschwindigkeit oder kann man tatsaächlich durchgehend mit 
2MB/s senden? Und kann man den LPT-Port auch mit DMA in Linux betreiben, 
ohne selbst einen Treiber dafür schreiben zu müssen? Habe hier noch 
einen alten Rechner mit PentiumII und 32MB RAM stehen, den ich als 
Controller für einen Roboter nutzen möchte, und über den LPT soll ne 
Kamera angeschlossen werden(über einen HW-Treiber dazwischen). 
USB-Webcam fällt wegen der hoher Latenzzeit und Ressourcenverbrauch 
leider aus.

MfG Mark

von oszi40 (Gast)


Lesenswert?

Selbst wenn rechnerisch die Geschwindigkeit möglich sein sollte, kann 
ein schlechtes Druckerkabel >1,80m schon einige Probleme bereiten.
Real erreichbare Werte würde ich im Bereich der Laserdrucker suchen.

von Mark .. (mork)


Lesenswert?

Längere Kabel als 50cm werd ich eh nicht verwenden. Wie schnell bekommen 
denn die Laserdrucker ihre Daten?

von [Frank] (Gast)


Lesenswert?

Hier gibt es die Grundlagen zum EPP- und ECP-Modus des Parallel-Ports.

http://www.beyondlogic.org/epp/epp.htm
http://www.beyondlogic.org/ecp/ecp.htm

von Mark .. (mork)


Lesenswert?

Danke, aber die Seite kenn ich. Hab mich etwas informiert, so wies 
aussieht, gibt es keine fertigen Treiber für Linux, die DMA und den FIFO 
nutzen, sondern man muss sich diesen anscheinend aus verschiedenen 
Beispielcodes zusammenfrickeln. Zu der Geschwindigkeit steht da nicht 
viel, nur, dass ECP sogar schneller als EPP sein soll.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Das Problem an der tatsächlich erreichbaren Datenrate ist das 
Betriebssystem, welches ständig dazwischenfunkt. Dies macht sich bei 
kleiner "motorisierten" Rechnern besonders hart bemerkbar. Mach mal 
während der Datenübertragung ein Programm auf oder verschiebe ein 
Fenster mit der Maus, dann siehst Du, was ich meine. Wenn Deine 
Ausgaberoutinen schnell sind, kommst Du vielleicht auf 60...150kBytes/s. 
Aber wie gesagt, alles extem hardwareabhängig.

von Mark .. (mork)


Lesenswert?

Hm, 60...150kBytes/s klingen etwas ernüchternd. Wenn man das ganze aber 
komplett per Kernel-Mode Trieber macht (notfalls auch die 
Bildverarbeitung) und einen echtzeitfächigen Kernel hat dann sollte es 
doch schneller sein oder? Anwendungen werden auf dem Ding fast keine 
laufen, da es wie gesagt für einen Roboter als µC ersatz dienen soll und 
all die Dienste, die eher für den Desktop/Server-Einsatz gedacht sind, 
nicht benötigt werden.

von Jorge (Gast)


Lesenswert?

300kBytes/s sind drin. Dazu habe ich "sozusagen DDR-Betrieb" verwendet 
(Pentium mit 233 MHz) und Stecker in Flachbandkabel gepresst. Die 
150kBytes gehen mit Laplink und Windows4Workgroups. Paketorientiert und 
mit EnterCriticalSection geht bei kleinen Paketen.

von Εrnst B. (ernst)


Lesenswert?

Hast du mal einen Blick auf die libIEE1284 geworfen? 
(http://cyberelk.net/tim/software/libieee1284/)

Da ist der ganze Parport-Zugriff schön weggekapselt, ECP + EPP Modi sind 
verfügbar, um den ganzen Hardware-Zugriff (/dev/parport oder ioperm oder 
/dev/port, oder sogar Windows-Treiber…) kümmert sich die Lib.

Sogar den Interrupt kannst du dir in den Userspace weiterleiten lassen, 
schick gemacht über ein Filehandle in select/poll.

Ein Testprogramm um deine Portgeschwindigkeit auszumessen sollte damit 
in einer Handvoll Zeilen erledigt sein.

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.