マイコンと、表に示す二つのセンサーとをI2Cで接続した。
センサーからマイコンへのデータの読み込みは、センサーアドレス、内部アドレス、センサーアドレスの順にアドレスを送信した後に行う。
最初のセンサーアドレスは対象センサーアドレスを左に1ビットシフトして、LSBを0にしたものであり、二つ目のセンサーアドレスは対象センサーアドレスを左に1ビットシフトしてLSBを1にしたものである。
4A, 01, 4Bの順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。
ここで、リスタートコンディションは自動的に行われるものとし、アドレスは16進数表記である。
センサー |
センサーアドレス |
内部アドレス |
データ |
ジャイロセンサー |
25 |
00 |
X軸角速度 |
01 |
Y軸角速度 |
加速度センサー |
2A |
00 |
X軸加速度 |
01 |
Y軸加速度 |
ア |
X軸角速度 |
|
イ |
X軸加速度 |
ウ |
Y軸角速度 |
|
エ |
Y軸加速度 |
答え ウ
【解説】
マイコンが送信したデータが「4A, 01, 4B」で、これは「センサーアドレス、内部アドレス、センサーアドレス」になっていて、最初のセンサーアドレスは対象センサーアドレスを左に1ビットシフトして、LSBを0にしたものであり、二つ目のセンサーアドレスは対象センサーアドレスを左に1ビットシフトしてLSBを1にしたものなので、送信しているセンサーアドレスを右に1ビットシフトしていると実際に指定しているセンサーのアドレスがわかり、25になる。
したがって、読み込まれるデータはセンサーアドレスが25で、内部アドレスが01なのでY軸角速度(ウ)になる。
【キーワード】
・I2Cバス
【キーワードの解説】
- I2Cバス(Inter-Integrated Circuit Bus、I2Cバス)
IC間用の双方向シリアルバスです。
信号線がシリアルクロック線(SCL)とシリアルデータ線(SDA)の2本のみで双方向の通信を行います。
基本的な仕様では最大112個のIC(ノード)が100kビット/秒(standard mode)や10kビット/秒(low speed mode)で通信を行うことが可能です。
もっと、「I2Cバス」について調べてみよう。
戻る
一覧へ
次へ
|