CANとは?きゃん
CANとは、マルチマスタ型の車載シリアルバスで、差動2線へ全ノードが相乗りし、フレーム先頭のIDが内容の識別と優先度の両方を担う。同時送信が起きても、ビット単位の非破壊調停でIDの小さいフレームがそのまま送信を続け、負けたノードは自動で再送する。CRCとエラーカウンタを備え、ノイズの多い環境でも取りこぼしを検出できる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
配線をノード間で個別に引いていた時代は、機能を1つ足すたびにハーネスが太くなり、重量もコストも故障率も一緒に増えた。CANは1組のツイストペアへ全ノードをぶら下げ、宛先ではなくメッセージの種類で識別する形にしてこれを解いた。同時に、車両では重要なメッセージが遅れないことが必須なので、衝突したら再送するのではなく、衝突している最中に優先度の高いほうを生き残らせる調停を採っている。最悪応答時間を計算で保証できるのは、この非破壊調停があるからである。
具体例
ブレーキやエアバッグのように緊急度の高いメッセージへ小さいIDを割り当て、バスが混んでいても優先的に届くようにする。500kbpsなら、ID11ビットの標準フォーマットでデータ8バイトのフレームがおよそ250μs。この値と各メッセージの周期から、低優先メッセージの最悪応答時間を積み上げて設計する。仕様はボッシュが策定し、ISO 11898として標準化された。
試験での引っ掛け
宛先を指定するのではなく、IDで内容を識別してブロードキャストするメッセージ指向のバスである。IDはノードのアドレスではないので、「IDの小さいノードが優先される」と読むと調停の理屈ごと外す。IDが小さいほど勝つのは、劣勢ビット(1)に対して優勢ビット(0)がバスを支配するからで、値の大小そのものが規則として書かれているわけではない。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。