令和6年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4

テクノロジ組込み・IoTハードウェア

この問題は2024(R6)秋 エンベデッドシステムスペシャリスト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

マイコンと,表に示す二つのセンサーとを I²C で接続した。センサーからマイコンへのデータの読込みは,アドレス1,内部アドレス,アドレス2の順にアドレスを送信した後に行う。アドレス1は対象センサーアドレスを左に1ビットシフトして,LSBを0にしたものであり,アドレス2は対象センサーアドレスを左に1ビットシフトして,LSBを1にしたものである。4A,01,4Bの順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。ここで,リスタートコンディションは自動的に行われるものとし,アドレスは16進数表記である。

表
図の説明テキスト
センサー センサーアドレス 内部アドレス データ
ジャイロセンサー 25 00 X軸角速度
01 Y軸角速度
加速度センサー 2A 00 X軸加速度
01 Y軸加速度

解答・解説を読む

正解: 選択肢

本設問は、I²C通信におけるアドレス指定の仕組みを理解し、与えられた16進数のデータから対象のセンサーと取得データを特定する問題です。送信されたアドレスから対象センサーアドレスを逆算することがポイントとなります。

1. 対象センサーアドレスの特定

問題文より、アドレス1は「対象センサーアドレスを左に1ビットシフトして、LSB(最下位ビット)を0にしたもの」と定義されています。送信されたアドレス1は 4A4\mathrm{A}(16進数)です。
これを2進数に変換すると 010010100100 1010 となります。これを右に1ビットシフト(LSBを切り捨て)すると 001001010010 0101 となり、16進数では 2525 となります。したがって、対象センサーのアドレスは 2525 です。
同様に、アドレス2である 4B4\mathrm{B}(16進数)は2進数で 010010110100 1011 であり、対象センサーアドレス 001001010010 0101(16進数の 2525)を左に1ビットシフトし、LSBを 11 にしたものであることが確認できます。

2. 読み込まれるデータの特定

次に送信された内部アドレスは 0101(16進数)です。
一般的なセンサー仕様の構成(出題のベースとなっている設定)では、センサーアドレス 2525 は「角速度センサー」、内部アドレス 0101 は「Y軸データ」に対応します。
したがって、対象センサーアドレス 2525、内部アドレス 0101 の組み合わせによって読み込まれるデータは「Y軸角速度」となります。

各選択肢の解説

  • ア(X軸角速度):対象センサーアドレスは角速度センサー(2525)で正しいですが、X軸に対応する内部アドレスは一般的に 0000 となるため誤りです。
  • イ(X軸加速度):対象センサーアドレスが加速度センサー(一般的に 3232)、内部アドレスが 0000 の場合の組み合わせであり誤りです。
  • ウ(Y軸角速度):正解です。センサーアドレス 2525、内部アドレス 0101 の組み合わせに合致するため、マイコンに読み込まれるデータとなります。
  • エ(Y軸加速度):対象センサーアドレスが加速度センサー(3232)、内部アドレスが 0101 の場合の組み合わせであり誤りです。