Reale Geschwindigkeit des Parallelports?

OP #1098406
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
Gast #1098414
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.
OP #1099044
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.
(Firma: TravelRec.) Persönliche Seite #1099134
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.
OP #1099225
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.
Gast #1099242
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.
#1099365
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.