連載
» 2008年12月05日 00時00分 UPDATE

車載ネットワーク“CANの仕組み”教えます(6):演習で振り返る“車載ネットワークCAN”の基礎 (1/2)

連載第1回から第4回までの内容を基にCANに関するさまざまな演習問題をお届け。CANの理解度チェックに役立ててほしい

[増田浩史(ベクター・ジャパン),@IT MONOist]

 本連載第1回から第4回までの内容では、「CAN(Controller Area Network)」のプロトコルや物理層の仕組みなどについて解説し、第5回ではCANの活用・トラブル事例などを紹介した。

 ここまでの内容でCANの設計・開発、採用検討などに必要な基礎知識について十分に理解できただろうか?

 そこで、最終回となる今回はこれまでのような解説ではなく、連載第1回から第4回の内容を基にした2つの演習問題をお届けする。いままでの内容の再確認としてぜひ活用していただきたい。また、今回の演習問題は1問1答の選択形式となっているので、気軽にチャレンジしてほしい。


注:JavaScriptの設定が「無効」になっていると正常に表示・動作しない場合があります。また、ブラウザの種類によっては得点などが表示されない場合があります。

【演習1】(全20問/1問5点)

 最初の演習問題は、全部で20問ある。選択項目から当てはまる解答を選んでいただきたい。なお、出題範囲は「CANの特長」についてと、「データフレーム」「リモートフレーム」についてだ。


CANの特長について

問1.CANネットワークで使用される接続方式とは?
答え.

問2.各ノードの接続方式とは?
答え.

問3.CANで使用される優先順位が高いものを衝突させることなく送信する仕組みとは?
答え.

問4.CANで使用されるIDを使用して送信する方式とは?
答え.

問5.データ伝送時の「0」と「1」のうち、「0」の状態のことをCANでは何と呼ぶか?
答え.

問6.CANで使用されるシグナルコーディングとは?
答え.

問7.各ノード間のシステムクロックの違いを補正する仕組みとは?
答え.

問8.通信線上で同じ状態が5回連続した場合、それまで送信されていた状態と反対の状態のビットを1つ挿入する仕組みとは?
答え.

問9.「0x7C1」を送信する場合、スタッフビットはいくつ追加されるか?
答え.

ヒント1:
第1回「CANプロトコルを理解するための基礎知識」
http://monoist.atmarkit.co.jp/mn/articles/0806/16/news124.html

「データフレーム」と「リモートフレーム」について

問10.データフレームにおいて、最初に送信される部分とは?
答え.

問11.標準フォーマットの場合、IDは何ビット長か?
答え.

問12.データフレームにおいて、ドミナントにすることでデータフレームであるということを表すビットとは?
答え.

問13.DLCは何を表すものか?
答え.

問14.データフレーム内のデータフィールドは最大何バイトか?
答え.

問15.正常なCRCシーケンスを受信したノードが肯定応答を送信するデータフレーム内の場所とは?
答え.

問16.7ビットの連続したリセッシブから構成され、フレームの終わりを示すものとは?
答え.

問17.ビットスタッフィングエリアを示しているもので正しいものは?
答え.

問18.CANをベースとした、主に大型トラック向けのプロトコルとは?
答え.

問19.自分が送信しているIDを含んだリモートフレームを受信したECUは何を送信するか?
答え.

問20.同時に「ID:0x25D」「ID:0x25B」「ID:0x26E」をそれぞれ持つデータフレームが送信された。どのIDのデータフレームがバス上に送信できたか?
答え.

ヒント2:
第2回「CAN通信におけるデータ送信の仕組みとは?」
http://monoist.atmarkit.co.jp/mn/articles/0807/09/news140.html

答え合わせをしてみよう! 〜【演習1】採点〜

 あなたの得点は:点  
 ※ブラウザの種類によって得点が表示されない場合があります。

【演習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】のポイント

 問1〜9については、連載1回「CANプロトコルを理解するための基礎知識」を参照してほしい。ここでは、主にCANの特長から出題した。そして、データフレームとリモートフレームに関する問題を出題した問10〜20については、連載2回「CAN通信におけるデータ送信の仕組みとは?」を参照してほしい。

 ここでは、CANの特長として絶対に覚えておきたいスタッフビットに関する問題(問9)について補足する。

 スタッフビットの数は比較的簡単に求められるが、スタッフビットの追加される位置に注意する必要がある。なぜなら、追加されたスタッフビットも、バス上の状態として認識されるからだ。

 「0x7C1」は2進数で表すと、「011111000001」となる。これにビットスタッフィングルールを適用する。

 最初の「1」が連続する部分は比較的分かりやすいと思う。ここまでを表すと、

0111110   ※赤文字がスタッフビット

となり、「1」が5回連続した後にスタッフビット「0」が追加される。

 続くデータでは「0」が5回連続する。その際、先ほど追加したスタッフビット「0」も考慮する必要があるので、

01111100000101   ※赤文字がスタッフビット

となる。よって、ここでの解答は「2」となる。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.