令和6年度 秋期 午前Ⅱ 問4
入出力デバイス
ジャイロセンサーに関する問題
マイコンと,表に示す二つのセンサーとをI^2Cで接続した。センサーからマイコンへのデータの読込みは,アドレス1,内部アドレス,アドレス2の順にアドレスを送信した後に行う。アドレス1は対象センサーアドレスを左に1ビットシフトして,LSBを0にしたものであり,アドレス2は対象センサーアドレスを左に1ビットシフトして,LSBを1にしたものである。4A,01,4Bの順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。ここで,リスタートコンディションは自動的に行われるものとし,アドレスは16進数表記である。
| センサー | センサーアドレス | 内部アドレス | データ |
|---|---|---|---|
| ジャイロセンサー | 25 | 00 | X軸角速度 |
| ジャイロセンサー | 25 | 01 | Y軸角速度 |
| 加速度センサー | 2A | 00 | X軸加速度 |
| 加速度センサー | 2A | 01 | Y軸加速度 |
(原典の表ではセンサー名とセンサーアドレスの欄は内部アドレス2行分を結合した1マス)
- アX軸角速度
- イX軸加速度
- ウY軸角速度
- エY軸加速度
答えと解説を見る
✓ これが正解ウY軸角速度
解説
4Aと4Bはジャイロセンサー25宛て、内部アドレス01はY軸角速度。
アドレス1とアドレス2は、センサーアドレスを左に1ビットシフトし、最下位ビットを書込みなら0、読出しなら1にしたものです。送信した4Aを2進数にすると0100 1010で、最下位ビットを外して右に1ビット戻すと010 0101、つまり16進の25です。4Bも0100 1011から同じく25が得られ、最下位ビットが1なので読出しを表します。したがって、対象はセンサーアドレス25のジャイロセンサーです。間に送った内部アドレスは01なので、読み込まれるデータは Y 軸角速度です。加速度センサーの2Aなら、送信するアドレスは54と55になります。送信値を2で割るか右に1ビットずらしてセンサーアドレスに戻す、と覚えておくと素早く判断できます。
ほかの選択肢はなぜ違うのか
- アX軸角速度:X 軸角速度は、ジャイロセンサー25の内部アドレス00のデータです。送信先のセンサーは合っていますが、間に送った内部アドレスは01なので、読み出す項目が違います。
- イX軸加速度:X 軸加速度は、センサーアドレス2Aの加速度センサーの内部アドレス00のデータです。2Aを左に1ビットシフトすると54になり、送信した4Aとは一致しません。内部アドレスも違います。
- エY軸加速度:Y 軸加速度は、センサーアドレス2Aの加速度センサーのデータです。4Aは2Aではなく、25を左に1ビットシフトした値なので、送信先が加速度センサーにはなりません。
出典:令和6年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)