Haben Desktop-Computer-Motherboards GPIO? Wenn sie das tun, wie man von ihnen liest oder ihnen schreibt

Ich habe einige Pins wie die GPIO-Pins des Mikrocontrollers auf den Desktop-Computer-Motherboards für ein paar Mal gesehen, ich wollte zuerst wissen, sind sie wirklich GPIOs? wenn ja, ist es möglich, von ihnen zu lesen oder zu schreiben?

Author: Mohsen Salahshoor, 2015-10-29

4 answers

Normale PCs haben kein GPIO als solches im Sinne von"Pins für allgemeine Zwecke". Die Anschlüsse auf einem PC-Motherboard (ob interne Header oder externe Ports) wurden alle für bestimmte Funktionen entwickelt. Einige von ihnen können jedoch für Ihre eigenen Zwecke wiederverwendet werden.

Das GPIO, das PCs am nächsten kommt, ist wahrscheinlich der parallele Druckeranschluss mit einer Reihe von Datenzeilen und Handshake-Zeilen. Diese Linien sind etwas wie GPIO-Pins, obwohl Sie weniger Flexibilität in bedingungen ihrer Richtungen. http://retired.beyondlogic.org/spp/parallel.htm

Die Handshake-Leitungen an seriellen Ports können auch als allgemeines IO verwendet werden, obwohl sie seltsame Spannungspegel haben.

Parallele und serielle Ports sind seltener als früher, aber es ist immer noch ziemlich einfach, Motherboards zu finden, die sie haben, wenn Sie einkaufen.

Möglicherweise können Sie auch Ein-und Ausgänge für Case-LEDs, Schaltflächen usw. wiederverwenden, aber ich würde mir die Details vorstellen wird sehr spezifisch für ein bestimmtes System sein.

PCs verwenden einen I2C-basierten Bus namens SMBUS für verschiedene Managementfunktionen. Ich bin sicher, ich habe Berichte von Leuten gesehen, die ihre eigenen I2C-Geräte in diesen Bus steckten, indem sie Drähte löten, aber ich kann momentan keine Links finden.

An den Videoanschlüssen, die zur Monitoridentifikation verwendet werden, befindet sich ein weiterer I2C-Bus. Ob Sie Softwarezugriff darauf erhalten, hängt davon ab, welches Betriebssystem und welche Videohardware Sie verwenden http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and-Projects/

Und natürlich gibt es USB. Es gibt jetzt billige Mikrocontroller mit USB-Schnittstellen, mit denen Sie eine Verbindung herstellen können.

 16
Author: plugwash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-03-27 12:14:58

Ich weiß, dass dies ein älteres Thema ist, aber trotzdem...

Nachdem ich den BIOS-Code programmiert habe, kann ich sagen, dass jedes Motherboard über GPIO verfügt und diese vollständig im Benutzeradressbereich verfügbar sind und die Portadresse normalerweise sehr nahe am parallelen Port liegt. Ich habe benutzerdefinierte Treiber für benutzerdefinierte Motherboards mit Standard-Parallelport-Treibern erstellt, ich musste nur die Adressnummer ändern, aber ich kannte diese Nummer im Voraus.

Kannst du sie benutzen? Nun, das hängt von der Person ab, die programmiert das BIOS. Der Status aller GPIO muss vor dem Kompilieren festgelegt werden, alle nicht verwendeten GPIO können einfach auf Deaktiviert gesetzt werden.

Wenn ein GPIO unbenutzt und nicht gesetzt ist, wie lautet der Standardzustand? Sehr wahrscheinlich nur schweben (die meisten sind Tri-State so viel Glück)..

Hat ein GPIO einen Pullup / Pulldown? Wer weiß, ob der EE einen hinzugefügt hat..

Gibt es Traces für eines der nicht verwendeten GPIO? Ich bezweifle es, aber hey, alles ist möglich..

Kurz gesagt, du musst Glück haben, dass ein unbenutzter GPIO wurde so eingestellt, dass Sie es verwenden können; ähnlich wie Arduino (aber ohne echte Standardeinstellungen) denken Sie an "INPUT/OUTPUT/OUTPUT". Es muss eine nutzbare Spur auf dem Motherboard haben, die hoffentlich einen Stift oder ein Pad zum Löten hat. Wenn Sie dann den Adressort des GPIO kennen, können Sie problemlos einen Standard-User Space-Treiber verwenden.

 4
Author: Ian Ide,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-07-29 02:21:30

Ich denke, die Frage, ob Motherboards GPIO haben, ist sehr spezifisch für das Modell und die Marke. Einige mögen, andere nicht.

Z. B. auf meinem Asus Desktop Board enthält es einen Nuvoton NCT6775 zur Lüftersteuerung und Temperaturauslesung. Dies ist über die (herstellerspezifischen) BIOS-und Windows-Desktop-Dienstprogramme zugänglich. Ich muss die Software von Asus ausführen, damit die Lüftersteuerung funktioniert, was bedeutet, dass die PWM-Lüftersteuerung per Software erfolgt. Auf einer Linux-Installation muss ich es manuell über diese einrichten Kernelmodul und pwmconfig.

Wenn Sie sich das Nuvoton NCT677xF Datenblatt ansehen, finden Sie generische Hardware zur Steuerung von PWM, Lesen von Temperatur und Spannungen sowie GPIO über SMBus. Ausgestattet mit beiden gibt Ihnen einen anständigen Start, damit es funktioniert. Theoretisch könnten Sie diesen Chipsatz für GPIO-Funktionen verwenden.

Aber ich würde es nicht berühren. Sie wissen nicht, welche Hardware damit verbunden ist, es sei denn, Sie möchten in ein ganz bestimmtes Motherboard-Modell eintauchen und reverse Engineer it (z. B. Layout, Pin-Zuordnungen usw.). Es ist auch nicht zu einem Stecker ausgebrochen.

Am wichtigsten ist, wenn Ihre Anwendung mehrere Jahre dauern muss, sollte auch das Motherboard-Modell. Wenn nicht, ist das Binden an sehr spezifische Motherboard-Hardware keine gute Idee.

 2
Author: Hans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-10-29 19:35:01

PCs haben in der regel i2c schnittstellen, und sie können finden IO expander chips für i2c wie die TI TCA9535DBR.

Damit Sie dies abhängig von Ihren Geschwindigkeitsanforderungen tun können. Wenn Sie auf einem PC sind, dann sind genaue Timing-Anforderungen sowieso schwierig.

 0
Author: Hans,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-07-25 15:39:02