連載第1回から第4回までの内容を基にCANに関するさまざまな演習問題をお届け。CANの理解度チェックに役立ててほしい
本連載第1回から第4回までの内容では、「CAN(Controller Area Network)」のプロトコルや物理層の仕組みなどについて解説し、第5回ではCANの活用・トラブル事例などを紹介した。
ここまでの内容でCANの設計・開発、採用検討などに必要な基礎知識について十分に理解できただろうか?
そこで、最終回となる今回はこれまでのような解説ではなく、連載第1回から第4回の内容を基にした2つの演習問題をお届けする。いままでの内容の再確認としてぜひ活用していただきたい。また、今回の演習問題は1問1答の選択形式となっているので、気軽にチャレンジしてほしい。
注:JavaScriptの設定が「無効」になっていると正常に表示・動作しない場合があります。また、ブラウザの種類によっては得点などが表示されない場合があります。 |
最初の演習問題は、全部で20問ある。選択項目から当てはまる解答を選んでいただきたい。なお、出題範囲は「CANの特長」についてと、「データフレーム」「リモートフレーム」についてだ。
【演習1】:解答 問1.ライン型 問2.マルチ・マスター方式 問3.CSMA/CA 問4.メッセージアドレッシング方式 問5.ドミナント 問6.NRZ方式 問7.同期 問8.ビットスタッフィングルール 問9.2 問10.SOF 問11.11 問12.RTR 問13.データフィールド内のデータバイト数 問14.8 問15.ACKスロット 問16.EOF 問17.SOF〜CRCシーケンス 問18.SAE J1939 問19.データフレーム 問20.ID:0x25B |
問1〜9については、連載1回「CANプロトコルを理解するための基礎知識」を参照してほしい。ここでは、主にCANの特長から出題した。そして、データフレームとリモートフレームに関する問題を出題した問10〜20については、連載2回「CAN通信におけるデータ送信の仕組みとは?」を参照してほしい。
ここでは、CANの特長として絶対に覚えておきたいスタッフビットに関する問題(問9)について補足する。
スタッフビットの数は比較的簡単に求められるが、スタッフビットの追加される位置に注意する必要がある。なぜなら、追加されたスタッフビットも、バス上の状態として認識されるからだ。
「0x7C1」は2進数で表すと、「011111000001」となる。これにビットスタッフィングルールを適用する。
最初の「1」が連続する部分は比較的分かりやすいと思う。ここまでを表すと、
0111110 ※赤文字がスタッフビット
となり、「1」が5回連続した後にスタッフビット「0」が追加される。
続くデータでは「0」が5回連続する。その際、先ほど追加したスタッフビット「0」も考慮する必要があるので、
01111100000101 ※赤文字がスタッフビット
となる。よって、ここでの解答は「2」となる。
Copyright © ITmedia, Inc. All Rights Reserved.