Ich habe ein paar Mal Stifte wie die GPIO-Stifte des Mikrocontrollers auf den Desktop-Motherboards gesehen. Ich wollte zuerst wissen, ob es sich wirklich um GPIOs handelt. Wenn ja, kann man von ihnen lesen oder darauf schreiben?
Ich habe ein paar Mal Stifte wie die GPIO-Stifte des Mikrocontrollers auf den Desktop-Motherboards gesehen. Ich wollte zuerst wissen, ob es sich wirklich um GPIOs handelt. Wenn ja, kann man von ihnen lesen oder darauf schreiben?
Antworten:
Normale PCs haben kein GPIO als solches im Sinne von "Stiften für allgemeine Zwecke". Die Anschlüsse an 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 verwendet werden.
Das GPIO, das PCs am nächsten kommt, ist wahrscheinlich der parallele Druckeranschluss mit einer Reihe von Datenleitungen und Handshake-Leitungen. Diese Leitungen ähneln in etwa GPIO-Pins, obwohl Sie in Bezug auf ihre Richtungen weniger Flexibilität haben. http://retired.beyondlogic.org/spp/parallel.htm
Die Handshake-Leitungen an den seriellen Ports können auch als allgemeine E / A verwendet werden, obwohl sie seltsame Spannungspegel aufweisen.
Parallele und serielle Anschlüsse sind seltener als früher, aber es ist immer noch recht einfach, Motherboards mit solchen Anschlüssen zu finden, wenn Sie einkaufen.
Möglicherweise können Sie auch Ein- und Ausgänge für Gehäuse-LEDs, Tasten usw. neu verwenden, aber ich kann mir vorstellen, dass die Details für ein bestimmtes System sehr spezifisch sind.
PCs verwenden einen I2C-basierten Bus namens SMBUS für verschiedene Verwaltungsfunktionen. Ich bin mir sicher, dass ich Berichte von Leuten gesehen habe, die ihre eigenen I2C-Geräte über Lötdrähte an diesen Bus angeschlossen haben, aber ich kann derzeit keine Links finden.
Es gibt einen weiteren I2C-Bus an den Videoanschlüssen, der zur Monitoridentifizierung verwendet wird. Ob Sie können Software - Zugang zu bekommen , um es auf welchem Betriebssystem und Video - Hardware ab , die Sie verwenden http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- Projekte /
Und natürlich gibt es USB. Mittlerweile gibt es günstige Mikrocontroller mit USB-Schnittstelle, über die Sie diese anschließen können.
Ich denke, die Frage, ob Motherboards GPIO haben, ist sehr modell- und herstellerspezifisch. Manche mögen, manche nicht.
Auf meinem Asus-Desktop-Board befindet sich beispielsweise ein Nuvoton NCT6775 zur Lüftersteuerung und Temperaturanzeige. Dies ist über die (vom Hersteller benutzerdefinierten) BIOS- und Windows-Desktop-Dienstprogramme möglich. Ich muss die Asus-Software ausführen, damit die Lüftersteuerung funktioniert. Das bedeutet, dass die PWM-Lüftersteuerung per Software erfolgt. Bei einer Linux-Installation muss ich es manuell über dieses Kernelmodul und pwmconfig einrichten.
Wenn Sie sich das Nuvoton NCT677xF- Datenblatt ansehen , finden Sie allgemeine Hardware zur Steuerung von PWM, zum Lesen von Temperatur und Spannungen sowie von GPIO über SMBus. Ausgestattet mit beidem hast du einen anständigen Start, damit es funktioniert. Theoretisch könnte man diesen Chipsatz für GPIO-Funktionen verwenden.
Ich würde es jedoch nicht anfassen. Sie wissen nicht, welche Hardware daran angeschlossen ist, es sei denn, Sie möchten in ein bestimmtes Motherboard-Modell eintauchen und es zurückentwickeln (z. B. Layout, Pinbelegung usw.). Es wird auch nicht zu einem Stecker herausgebrochen.
Vor allem, wenn Ihre Anwendung mehrere Jahre dauern muss, sollte das Motherboard-Modell auch. Wenn nicht, ist es keine gute Idee, an eine bestimmte Motherboard-Hardware zu binden.
Ich weiß, dass dies ein älteres Thema ist, aber trotzdem ...
Nachdem ich den BIOS-Code programmiert habe, kann ich sagen, dass jedes Motherboard über GPIOs verfügt und diese vollständig im Benutzeradressraum verfügbar sind und die Portadresse normalerweise sehr nahe am parallelen Port liegt. Ich habe benutzerdefinierte Treiber für benutzerdefinierte Motherboards mit standardmäßigen Treibern für den parallelen Anschluss erstellt. Ich musste lediglich die Adressnummer ändern, kannte diese Nummer jedoch im Voraus.
Kannst du sie benutzen? Nun, das hängt von der Person ab, die das BIOS programmiert hat. Der Status aller GPIOs muss vor dem Kompilieren festgelegt werden. Alle nicht verwendeten GPIOs können problemlos deaktiviert werden.
Wenn ein GPIO nicht verwendet und deaktiviert ist, wie lautet sein Standardstatus? Wahrscheinlich nur schwimmend (die meisten sind Tristate, also viel Glück).
Hat ein GPIO ein Pullup / Pulldown? Wer weiß, ob die EE eine hinzugefügt hat ..
Gibt es Spuren für einen der nicht verwendeten GPIOs? Ich bezweifle es, aber hey alles ist möglich ..
Kurz gesagt, Sie müssen sich glücklich schätzen, dass ein nicht verwendetes GPIO so festgelegt wurde, dass Sie es verwenden können. Ähnlich wie bei Arduino (aber ohne echte Standardeinstellungen), denken Sie an "INPUT / OUTPUT / TRI". Auf dem Motherboard muss eine verwendbare Spur vorhanden sein, auf die hoffentlich ein Stift oder Pad gelötet werden kann. Wenn Sie den Adressspeicherort des GPIO kennen, können Sie problemlos einen Standard-User-Space-Treiber verwenden.