Künstliche Intelligenz
Diagnosegerät für Maker und Hardware-Entwickler
Haleng hat für I2C-Debugging den I2C Doctor entwickelt. Ein Diagnosewerkzeug mit integriertem Bildschirm, das die Analyse von I²C-Anwendungen vereinfachen soll.
Weiterlesen nach der Anzeige
Das Gerät basiert auf einem ESP32 mit zwei Prozessorkernen und 240 MHz Taktfrequenz sowie 4 MB Flash-Speicher. Die Bedienung erfolgt über drei Tasten und ein 1,3 Zoll großes TFT-Farbdisplay mit einer Auflösung von 240 × 240 Pixeln. Die Stromversorgung übernimmt eine USB-C-Buchse. Das eigentliche Einsatzgebiet liegt jedoch auf der Hardwareseite: Über Grove-, STEMMA-, QT- und QWIIC-Anschlüsse sowie zusätzliche Stiftleisten lässt sich der I2C Doctor direkt mit Schaltungen verbinden.
Hinweise in Textform
Nach dem Anschluss analysiert das Gerät den Zustand des I²C-Busses. Dabei werden Spannungen, Pull-up-Widerstände, Kurzschlüsse, Signalanstiegszeiten und Ströme bewertet. Anschließend berechnet die Firmware einen Gesundheitswert zwischen 0 und 100 Prozent und gibt konkrete Empfehlungen aus. Statt Rohdaten oder Oszilloskop-Kurven erhält der Anwender Hinweise in Klartext. Wer schon einmal mehrere Stunden damit verbracht hat, herauszufinden, warum ein OLED-Display einfach schwarz bleibt, dürfte diesen Ansatz zu schätzen wissen.
Die Analyse berücksichtigt dabei verschiedene I²C-Geschwindigkeiten von 10 kHz bis 1 MHz. Über DIP-Schalter können Pull-up-Widerstände mit 10 kΩ, 4,7 kΩ, 2,2 kΩ oder 1 kΩ zugeschaltet werden. So lässt sich direkt prüfen, wie sich unterschiedliche Konfigurationen auf die Busqualität auswirken. Zusätzlich überwacht ein Pull-up-Analyzer die Widerstandswerte und bewertet sie als passend, zu hoch oder zu niedrig.
Neben der eigentlichen Diagnose verfügt der I²C Doctor über eine Reihe weiterer Werkzeuge. Ein integrierter Adress-Scanner erkennt angeschlossene Geräte und versucht anhand einer internen Datenbank, bekannte Sensoren automatisch zu identifizieren. Ferner gibt es einen Live-Monitor, der die Kommunikation eines Masters beobachtet und Informationen wie Busgeschwindigkeit, Datenrate sowie die zuletzt übertragenen Bytes anzeigt.
Für Entwickler eigener Hardware dürfte insbesondere der Bereich „Fault Injection“ interessant sein. Hier können gezielt Fehlerzustände simuliert werden. So lassen sich zusätzliche Leitungskapazitäten zuschalten, um lange Kabel nachzubilden. Auch elektromagnetische Störungen, Clock Stretching oder ein blockierter Bus können künstlich erzeugt werden. Damit kann überprüft werden, wie robust eine Schaltung auf ungünstige Bedingungen reagiert. Wer seine Hardware bisher nur unter Idealbedingungen getestet hat, bekommt hier gewissermaßen einen eingebauten Nörgler für den I²C-Bus.
Weiterlesen nach der Anzeige
Für Entwicklung von Firmware
Ebenfalls vorhanden sind ein Stresstest für einzelne Geräte, ein Werkzeug zur Ermittlung der maximal stabilen Kommunikationsgeschwindigkeit sowie Funktionen zum Lesen und Schreiben von Registern. Sogar ein Sensor-Simulator ist integriert. Dabei verhält sich der I2C Doctor selbst wie ein I2C-Gerät und kann beliebige Daten an einen Master zurückliefern. Das kann bei der Entwicklung eigener Firmware hilfreich sein, wenn die eigentliche Hardware noch nicht verfügbar ist.
Auch an den Praxiseinsatz wurde gedacht. Die I²C-Schnittstellen sind durch Serienwiderstände geschützt.
Firmware-Updates erfolgen entweder per USB oder drahtlos über einen integrierten WLAN-Access-Point. Dazu wird eine neue Firmware-Datei über den Browser auf das Gerät übertragen. Der verbaute ESP32 besitzt zwar WLAN-Unterstützung, laut Dokumentation wird standardmäßig jedoch keine Antenne montiert. Für Updates sollte sich das Gerät daher in unmittelbarer Nähe befinden.
Mit Abmessungen von rund 84 × 50 mm inklusive Gehäuse bleibt der I2C Doctor kompakt genug für den Werkzeugkoffer oder die Schreibtischschublade. Für Maker, die regelmäßig mit Sensoren, Displays oder Mikrocontrollern arbeiten, könnte das Gerät eine interessante Ergänzung zu Multimeter und Logikanalysator sein. Ein Oszilloskop ersetzt es zwar nicht, dafür verspricht es eine deutlich angenehmere Antwort auf die Frage, warum der I²C-Bus mal wieder beschlossen hat, heute nicht mitzuarbeiten.
Erhältlich ist der I2C Doctor für 59 US-Dollar auf Tindie. Dort findet man auch eine ausführliche Dokumentation.
Wer doch ein Oszi haben möchte, wird in unserem Maker-Guide dazu an die Hand genommen
(das)