RaspberryPiのI2C故障
2017年9月2日 - 未分類
RaspberryPiのI2Cとか1-Wireとかのインターフェースは壊れやすいですね。I2Cの故障時には、2つのパターンがありました。
故障パターン1
I2Cデバイスが接続されているにも関わらず、何も検出されない。
i2cdetect -y 1
$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —
故障パターン2
I2Cデバイスが接続されていると無茶苦茶な番号が出力される。
$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: 03 — 05 06 07 — 09 0a 0b 0c 0d 0e 0f
10: 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e —
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: 30 31 — 33 — — — — 38 39 3a 3b 3c 3d 3e —
40: 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
50: 50 51 — — 54 — — — 58 — — — 5c — — —
60: 60 61 62 63 64 65 66 67 68 69 6a — 6c 6d 6e —
70: 70 71 72 73 74 75 76 —
これは、I2C接続のGND線が切れている場合にも発生します。もちろん、RaspberryPiのI2Cインターフェースポート異常でも発生します。