動作環境
Raspberry Pi 2 Model B (以下RPi)
Raspbian Jessie
Tektronix TDS 2024C (200 MHz, 2GS/s)
とあるI2Cセンサ
デバイスアドレスが0x28のセンサからデータを読もうとしている。
i2cgetを実行してみるが、オシロに波形が見られず、立ち上がりエッジの検出でも何も引っかからない。
その一方でi2cdumpではSCL, SDAともに矩形波が見られる。
i2cdumpにはアドレス範囲を指定するオプションがあるようなので、それを使ってみた。
波形が見えるケース
$ sudo i2cdump -y -r 0x03-0x18 1 0x28
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: b8 b8 b8 b8 b8 b8 38 38 38 38 38 38 38 ??????8888888
10: b8 38 38 38 b8 b8 b8 b8 b8 ?888?????
波形が見えないケース
$ sudo i2cdump -y -r 0x03-0x07 1 0x28
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: b8 b8 b8 38 b8 ???8?
上記の違い
アドレス範囲を広くとった場合はSCL, SDAに矩形波が見られ、アドレス範囲が狭い場合は矩形波が見られない。
原因の切り分けはできていない。