i2cdetect fängt keine Adresse ab. Wie kann ich feststellen, ob I2C ordnungsgemäß funktioniert?

8

Ich habe Schwierigkeiten, den Raspberry Pi an praktisch jeden I2C-Sensor anzuschließen. Ich habe viele Tutorials durchgearbeitet, wie der I2C-Treiber funktioniert, und meine Verbindungen sind korrekt. Trotzdem erhält ich von i2cdetect (oder einem I2C-basierten Code) keine Adresse.

Was sind die erforderlichen Schritte zur Fehlerbehebung für dieses Problem? Woher weiß ich, ob die Stifte zerstört sind oder nicht?

Ich verwende MPU6050 und MAG3110 als Beispielgeräte.

Ahmed Farid
quelle

Antworten:

4

Wenn Sie sich den richtigen I2C-Bus ansehen, wurde zwischen Version 1 und Version 2 der GPIO-Header von I2C 0 auf I2C 1 geändert. Weitere Informationen zu den verschiedenen Pin-Änderungen finden Sie unter eLinux - RPi Low-Level-Peripheriegeräte .

i2cdetect 0
i2cdetect 1

sollten beide Busse separat scannen. Wenn Ihre Geräte nach einem der Anrufe angezeigt werden, ist dies der Bus, auf dem sie sich befinden.

Andernfalls können Sie die Pins überwachen und i2cdetecterneut ausführen, wenn Sie Zugriff auf ein Oszilloskop haben . Sie suchen nach dem Spannungspegel, um eine digitale Sequenz zwischen hoch (3,3 V) und niedrig (0 V) an beiden Pins zu pulsieren.

I2C-Trace-Beispiel

Wenn Sie ziemlich sicher sind, dass die Pins nicht funktionieren, versuchen Sie, sie als einfache GPIO-Pins zu verwenden (0 & 1 für Rev. 1, 2 & 3 für Rev. 2) und fahren Sie sie manuell hoch. Überprüfen Sie sie mit a (3,3 V) Multimeter, dann fahren Sie sie niedrig und überprüfen Sie, ob sie niedrig sind (0V).

Wenn Sie nicht wissen, wie die GPIO-Pins manuell angesteuert werden, finden Sie hier ein Python-Beispiel und hier ein BASH-Beispiel.

Wenn sie auf Befehl nicht hoch und niedrig gehen, stimmt etwas mit den Pins nicht. Wenn dies der Fall ist, Sie I2C jedoch immer noch nicht zum Laufen bringen können, muss Ihr Problem weiter untersucht werden.

PiBorg
quelle
0

Hier ist eine wirklich gute Anleitung, die Ihnen helfen könnte!

http://www.instructables.com/id/Raspberry-Pi-I2C-Python/?ALLSTEPS

Mattias
quelle
Willkommen bei Raspberry Pi Stack Exchange! Während dies theoretisch die Frage beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Dies schützt vor "Link Rot", bei dem die verlinkten Informationen nicht mehr dort sind, wo sie waren, als der Link ursprünglich gepostet wurde.
RPiAwesomeness