令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
テクノロジ/コンピュータ構成要素マイコンと,表に示す二つのセンサーとを I²C で接続した。センサーからマイコンへのデータの読込みは,センサーアドレス,内部アドレス,センサーアドレスの順にアドレスを送信した後に行う。最初のセンサーアドレスは対象センサーアドレスを左に 1 ビットシフトして,LSB を 0 にしたものであり,二つ目のセンサーアドレスは対象センサーアドレスを左に 1 ビットシフトして LSB を 1 にしたものである。4A,01,4B の順にアドレスを送信したときにマイコンに読み込まれるデータはどれか。ここで,リスタートコンディションは自動的に行われるものとし,アドレスは 16 進数表記である。 センサー:センサーアドレス,内部アドレス,データ ジャイロセンサー:25,00,X 軸角速度 ジャイロセンサー:25,01,Y 軸角速度 加速度センサー:2A,00,X 軸加速度 加速度センサー:2A,01,Y 軸加速度 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
- アX 軸角速度
- イX 軸加速度
- ウY 軸角速度
- エY 軸加速度
正解:ウ
解説
I²C では,最初に送信するアドレス(センサーアドレスを左に 1 ビットシフトし LSB を書込み時は 0 としたもの)でセンサーを選択して読み出したい内部アドレスを指定し,リスタートコンディションの後,LSB を 1 にしたアドレス(読出し)を送ることで指定した内部アドレスのデータを読み込みます。4A は 0100 1010 であり,右に 1 ビット戻すと 010 0101(16 進で 25)となるのでジャイロセンサーが選択されます。続く 01 は内部アドレスなので,ジャイロセンサーの内部アドレス 01,すなわち Y 軸角速度が指定されます。最後の 4B(0100 1011)は同じセンサーアドレス 25 を LSB=1(読出し)で送ったものなので,先に指定した内部アドレス 01 のデータ,Y 軸角速度がマイコンに読み込まれます。
選択肢ごとの解説
- ア誤り。X 軸角速度はジャイロセンサーの内部アドレス 00 のデータです。今回指定された内部アドレスは 01 なので該当しません。
- イ誤り。X 軸加速度は加速度センサー(センサーアドレス 2A)の内部アドレス 00 のデータです。今回送信されたセンサーアドレスは 25(ジャイロセンサー)なので該当しません。
- ウ正しい。センサーアドレス 25(ジャイロセンサー)の内部アドレス 01 に対応するデータは Y 軸角速度です。
- エ誤り。Y 軸加速度は加速度センサーの内部アドレス 01 のデータです。今回選択されたのはジャイロセンサーなので該当しません。