www.mikrocontroller.net

Forum: PC-Programmierung Treiber für schnelle Parallele Schnittstellen


Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie implementiert man einen IRQ fähigen Treiber für schnelle parallele 
Schnittstellen. z.B für LCD Displays mit Hitachi Ctrl, für die Centronix 
- Schnittstelle etc.

Mir fällt nur ein
 - mit dem Ack Signal einen IRQ auslösen: ggf hohe IRQ Last
 - alle 1-x ms IRQ Auslösen und hoffen daß die Gegenseite READY ist
   wenn nein in 1-x ms nochmal fragen

Gibt es besseres? Wie war das etwa bei MS, bei LINUX implementiert, als 
eben noch die parallele Schnittstelle (Centronix) gab ?

Mario

: Verschoben durch Moderator
Autor: Martin B. (martin_b35)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würd sagen..

Zieh dir den Kernelsource von kernel.org, also z.B. 
http://www.kernel.org/pub/linux/kernel/v2.6/linux-...

Dadrin findest du auch den Code vom parport-Treiber.

Gruß,
    Martin

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die parallele Schnittstelle ("Centronics" mit "cs", nicht mit "x") 
kannte in ihren letzten Zuckungen auch Hardwareunterstützung für 
schnellere Datenübertragung, das wurde mit den erweiterten Betriebsarten 
ECP und EEP eingeführt.

Überblick & Links auf mehr: 
http://en.wikipedia.org/wiki/IEEE_1284#Specifications


Wenn Du schon mit dieser toten Leiche herumspielen möchtest, dann 
solltest Du Dich an diesen Möglichkeiten orientieren.

Autor: Kilgore, Bill (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mir fällt nur ein
> - mit dem Ack Signal einen IRQ auslösen: ggf hohe IRQ Last
> - alle 1-x ms IRQ Auslösen und hoffen daß die Gegenseite READY ist
>   wenn nein in 1-x ms nochmal fragen

>Gibt es besseres? Wie war das etwa bei MS, bei LINUX implementiert, als
>eben noch die parallele Schnittstelle (Centronix) gab ?

Wenn du das Irq-Signal auslöst, dann findet "sofort" ein Kontextswitch 
statt und es wird in den Kernelhandler gesprungen. Der Handler ist nicht 
unterbrechbar, also zumindest nicht für die abarbeitende CPU. (Du kannst 
ihn aber unterbrechbar machen.) Das heisst, du solltest die Abarbeitung 
schnell erledigen. Für hohes Datenvolumen ist dies keine geignete 
Massnahme. Für "schnelle" Reaktionszeit schon.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.