0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CANについて理解する

0
Posted at

CANの特徴についてまとめる

CANのプロトコルの特徴

1. マルチマスタ・プロトコル

2. 拡張CSMA/ CD

3. マルチキャスト・プロトコル

4. 優先順位付きメッセージ

5. 不具合抑制

1. マルチマスタ・プロトコル

バスがフリーのときは、どのノードもデータをネットワークに送信できる。(どのECUも信号をバスにのせていない場合、バスに信号をのせることができる。)
ただし、"バスがフリーのとき"を検知する機能が必要になる。
対になるプロトコルは"シングルマスタプロトコル"になる。
これは、送信を始めることができるノードが1つだけになってしまう方式。

2. 拡張CSMA/ CD

ベースとなったCSMA/CDは、複数のメッセージが競合して衝突が発生した場合、すぐに送信を中断する。そして、ランダムな時間だけ待って、この間に他のノードからの送信がない場合、送信を再開する。
しかし、この"ランダムな時間を待つ"という方法は、車のようなリアルタイム性を求めるものには向いていない。
その点を改善したのが拡張CSMA/ CD方式。拡張CSMA/ CD方式では、"送信しながら"、"バスの状態を監視しながら"、"競合したら優先度を決めて、負けたらその場でやめる"方式。

3. マルチキャスト・プロトコル

ネットワークに接続されているすべてのノードが同じメッセージを受信し、そのメッセージに対して各ノードがアクションをとる方式。
この方式は人間の会議と同じような方式をとっており、以下のように置き換えてみるとわかりやすい。

会議 マルチキャスト・プロトコル
発言する人はまず挙手する フレームの始まり(SOF: start of frame)
話す時間 データ長のコード(DLC: data length code)
話す内容 データフィールド
相槌 アクノリッジメント(ACK: acknowledgement)
話が終わったことの宣言 フレームの終わり(EOF: end of frame)

4. 優先順位付きメッセージ

拡張CSMA/ CDで述べたように、競合した場合は優先度を確認する必要がある。その優先度はCANのデータフレーム上にのせている、"ID"によって決められている。
このIDを使用して優先順位を示すことをアービトレーションという。

5. 不具合抑制

各ノードに対し、短い時間の障害と恒久的な不具合を識別し、欠陥ノード自身が離脱する機能がある。
CANネットワークで最も問題になるのが、ネットワーク全体がダウンすること。例えばネットワークにメッセージやノイズを出し続ける状態が続くような欠陥を抱えたノードが発生した場合、ネットワーク全体に与える影響が大きくなり、システムの暴走やダウンが発生する。
こういった問題を抱えたノードが離脱することで、影響を最小限に抑えることができる。
各ノードはエラーカウンタを持っており、ノード自身も自らが送信したメッセージをモニタし、エラーを検出することができる。そしてこのカウンタが規定値に達すると、自らをネットワークから離脱させる。

データフレーム構成

image.png
Vector 「はじめてのCAN/ CAN FD」より
https://cdn.vector.com/cms/content/know-how/VJ/PDF/For_Beginners_CAN_CANFD.pdf
マルチキャスト・プロトコルで書いた通り、CANのデータフレームは"SOF","DLC","データフィールド","ACK","EOF"で構成されている。

エラー検出方式(CRC方式)

アービトレーション

そもそもCAN信号は2本の線の電圧の差によって、"0"、もしくは"1"のデータを送信している。
この"0"のデータを"ドミナント"、"1"のデータを"レセシブ"という。
メッセージを送信するノードは常に通信バスの電圧を監視しており、送信したデータが本当にバスに流れているかを1bitずつ確認している。
この監視状態では、"ドミナント"が優先され、通信調停を行いレセシブを送信していたノードは送信を停止する。これを"アービトレーション"という。
image.png
Sunny Giken [CANとは]より
https://sunnygiken.jp/tech-info/can-protocol/

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?