Pin IO für einen Computer mit Linux [Duplikat]

Ich möchte einige Eingangspins (z. B. 5) und einige Ausgangspins (mindestens 2) von einem Computer aus steuern. Der Computer hat keinen parallelen Anschluss. Was ist der beste Weg, dies zu tun? USB-zu-Parallel-Adapter (kann jemand einen empfehlen, der unter Linux funktioniert)? Oder gibt es vielleicht eine andere USB-Steuerplatine für allgemeine Zwecke, auf der ich Leseeingaben von einigen Pins verwenden und Ausgaben auf andere schreiben kann? Ich weiß nicht einmal, wonach ich googeln soll, also bin ich für jeden Hinweis dankbar!

"Ein paar Pins fahren"? Ich verstehe, dass Sie mehrere Pins eines Mikrocontrollers von einem Linux-Hostcomputer aus steuern möchten? Was einfach ist.

Antworten (3)

Es hängt davon ab, mit welcher Geschwindigkeit Sie Daten lesen oder schreiben müssen. Viele der FTDI-Chips unterstützen jedoch diese Art von USB<->parallel unter Verwendung der D2XX-Schnittstelle ( Programmieranleitung hier ).

Einige Chips wie der FT245B ( Datenblatt hier ) sind für die Implementierung benutzerdefinierter paralleler Schnittstellen ausgelegt. Siehe Blockdiagramm unten.

Geben Sie hier die Bildbeschreibung ein

Ja, aber seien Sie sich bewusst, dass flexible Teile wie der FT245 normalerweise nicht die Chips sind, die normalerweise in parallelen USB-Druckeradapterkabeln verwendet werden - diese verwenden normalerweise Chips, die für vieles, was über das eigentliche Drucken auf Druckern hinausgeht, nutzlos sind. Vorkonfektionierte FT245-Kabel sind zwar vorhanden, aber eher für Nischenanwendungen wie Geräteprogrammierer oder Experimentierprojekte.
@ChrisStratton Printing war nicht in Frage - unsicher, ob ich hier etwas vermisse?
Ich wollte nur auf den Unterschied zwischen Ihrer sehr angemessenen, aber Nischenmarkt-Empfehlung und den einfacher zu beschaffenden, aber ungeeigneten Kabeln hinweisen, die für Paralleldrucker verkauft werden.

Wenn Sie 108 US-Dollar übrig haben, kann dieses „erschwingliche Multifunktions-DAQ mit USB“ ( http://labjack.com/u3 ) von LabJack Ihre Probleme lösen . Vielleicht übertrieben für das, was Sie wollen (16 E / A-Pins), aber es funktioniert mit Linux und ist aus allen wichtigen Sprachen programmierbar.

Wenn Sie nach suchen, linux daq usbwerden Sie im Allgemeinen viele Optionen finden.

Es ist sehr einfach, mit einem Mikrocontroller wie einem Arduino oder mbed einen eigenen zu erstellen. Der Mikrocontroller wird als virtuelle serielle Schnittstelle angezeigt, wenn er mit USB angeschlossen ist, und Sie können ihm Befehle senden. Schreiben Sie auf der Seite des Mikrocontrollers ein kleines Programm, das die Befehle interpretiert und die Ausgabe der Pins ändert oder eine Eingabe zurückgibt. Dies bietet möglicherweise kein so gutes Timing wie eine "echte" DAQ-Box, aber wenn Sie diese Art von Qualität nicht benötigen, kann es eine erschwingliche Lösung sein.