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

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

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

正解: ウ. Y軸角速度

正解の根拠

I²C(Inter-Integrated Circuit)通信において、送信されるアドレスから対象のセンサーとデータを特定します。

  1. 対象センサーアドレスの特定
    最初に送信されたアドレスは 4A4\mathrm{A}(16進数)です。これを2進数に変換すると 0100101001001010 となります。
    問題文の「最初のセンサーアドレスは対象センサーアドレスを左に1ビットシフトして,LSB(最下位ビット)を0にしたもの」という条件から、逆算として 4A4\mathrm{A} を右に1ビットシフトします。
    0100101001001010 を右シフトすると 0010010100100101 となり、これは16進数で 2525 です。
    表の記載に基づいて、センサーアドレス 2525 は ジャイロセンサー を示します。

  2. 内部アドレスの特定
    次に送信されたアドレスは 0101(16進数)です。これが内部アドレスとなります。
    表より、内部アドレス 0101 は Y軸 のデータを示します。

  3. 読み込み指示の確認
    最後に送信された 4B4\mathrm{B}(16進数)は、2進数で 0100101101001011 です。これは対象センサーアドレス 2525 を左シフトしてLSBを1にしたものであり、センサーからのデータ読み込み(Read)を指示しています。

以上より、読み込まれるデータは Y軸角速度 となります。

各選択肢の解説

  • ア:X軸角速度
    対象センサーアドレスが 2525、内部アドレスが 0000 の場合に読み込まれます。今回の内部アドレスは 0101 であるため誤りです。
  • イ:X軸加速度
    対象センサーアドレスが加速度センサーの 2A2\mathrm{A}、かつ内部アドレスが 0000 の場合に読み込まれるため誤りです。
  • ウ:Y軸角速度
    正解です。対象センサーアドレス 2525 と内部アドレス 0101 に該当します。
  • エ:Y軸加速度
    対象センサーアドレスが加速度センサーを示し、内部アドレスが 0101 の場合に読み込まれるため誤りです。

Spineチーム