令和4年度 秋期 午前Ⅱ 問2
ハードウェア
センサーに関する問題
マイコンと,表に示す二つのセンサーとを I^2C で接続した。センサーからマイコンへのデータの読込みは,センサーアドレス,内部アドレス,センサーアドレスの順にアドレスを送信した後に行う。最初のセンサーアドレスは対象センサーアドレスを左に 1 ビットシフトして,LSB を 0 にしたものであり,二つ目のセンサーアドレスは対象センサーアドレスを左に 1 ビットシフトして LSB を 1 にしたものである。4A,01,4B の順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。ここで,リスタートコンディションは自動的に行われるものとし,アドレスは 16 進数表記である。
| センサー | センサーアドレス | 内部アドレス | データ |
|---|---|---|---|
| ジャイロセンサー | 25 | 00 | X 軸角速度 |
| 01 | Y 軸角速度 | ||
| 加速度センサー | 2A | 00 | X 軸加速度 |
| 01 | Y 軸加速度 |
- アX 軸角速度
- イX 軸加速度
- ウY 軸角速度
- エY 軸加速度
答えと解説を見る
✓ これが正解ウY 軸角速度
解説
4Aと4Bはジャイロセンサーの25を表し、内部01はY軸角速度です。
送信する最初のセンサーアドレスは、対象のアドレスを左に1ビットシフトしてLSBを0にした値です。逆にたどると、4Aは2進数で01001010で、LSBの0を除いて右に1ビット戻すと0100101、16進数の25になります。これはジャイロセンサーのアドレスです。続く01はジャイロセンサーの内部アドレス01で、Y軸角速度を指します。最後の4Bは01001011で、25を左にシフトしてLSBを1にした値なので、同じジャイロセンサーからの読込みを表します。よって読み込まれるのはY軸角速度です。アドレスを2進数に直し、シフトを逆にたどるのがポイントです。
ほかの選択肢はなぜ違うのか
- アX 軸角速度:X軸角速度は、ジャイロセンサーの内部アドレス00のデータです。センサーの特定は合っていても、2番目に送った内部アドレスは01なので、00のデータは読み込まれません。
- イX 軸加速度:X軸加速度は、加速度センサー(アドレス2A)の内部アドレス00のデータです。2Aを左に1ビットシフトすると54になり、送信した4Aとは一致しないので、加速度センサーは選ばれず、内部アドレスも00ではありません。
- エY 軸加速度:Y軸加速度は、加速度センサーの内部アドレス01のデータです。内部アドレスは合っていますが、送信した4Aは2Aではなく25をシフトした値なので、対象は加速度センサーではなくジャイロセンサーです。
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)