iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

CANの基礎の基礎

お疲れ様です、今回の記事を担当する鈴木です。

お客様先で自動車に搭載されるECU(電子制御ユニット)やECUに実装される制御のテストの業務に携わっております。そこでは制御系の車載ネットワークの標準的なプロトコルであるCAN(controller area network)に触れることも多いです。そこでCANの概念についてほんの触りですが学習したことをお話させていただきます。

車載ネットワークの始まり

自動車のECUの始まりは1970年台にエンジン制御で使用されるようになったことだと言われております。その当時は1つのECUにワイヤ・ハーネスによってセンサやアクチュエータと結線され制御されていたため、ネットワークという概念を意識する必要は乏しかった。
その後、制御の品質・精密さ上げるために、センサの個数や制御箇所が増え、ECUも一つでは対応できなくなり、複数のECUを自動車に搭載するようになっていきました。しかし、ECUが増加するにつれて、ワイヤ・ハーネスが増加するなどの問題が発生していきました。こうした背景を解決するためにCANなどの車載ネットワークのプロトコルが開発されるようになりました。

CANの特徴

今回はCANの中でも、ネットワークトポロジ、通信方式、ネットワークの管理方式の概念について記載します。

①. バス型トポロジ

下記の図のようにバスに各ノード(自動車ならばECU)が接続しています。
ノードの追加削除が行いやすく、ネットワークの設計が行いやすい構造となっています。
f:id:ipx-writer:20170901080220j:plain

②. ブロードキャスト

ネットワークにおいて、全てのノードに対して、同時にデータ(CANでいうならばフレーム)を送信すること。
下記の図のようにECU1が送信したデータは、CANバスに接続されている。ECU2、ECU3、ECU4、ECU5が同じメッセージを受信します。
f:id:ipx-writer:20170901080238j:plain

③. マルチ・マスタ方式

基本的にバスが空いているときに最初に送信を開始したノードが送信を行いますが、送信したいノードが複数ある場合はデータの衝突などが考えられるため、衝突回避策が必要となります。CANではデータフレームに含まれるID(識別子)によって、送信の優先度が決まります。IDの値が小さいデータが優先され、そのデータの送信終了後、直ちに調停で後回しにされたデータが送信されます。下記の図の場合、ECU1とECU3がそれぞれデータを送信しようとしていますが、IDの値が最も小さいECU1から送信されます。
f:id:ipx-writer:20170901080247j:plain

最後に

今回、挙げたものはCAN全体の仕様としても極々一部です。
特に本日記載したこと以外では、フレームのフォーマット、エラー検出処理、ツイストペアによるノイズに対するタフネス、同期処理などについても、機会がありましたら記載したいと思います。最後までご覧いただきありがとうございました。

参考文献

書籍

佐藤道夫(2016)『車載ネットワーク・システム徹底解説』CQ出版.

webページ

増田浩史(2008)
「CANプロトコルを理解するための基礎知識」, < http://monoist.atmarkit.co.jp/mn/articles/0806/16/news124.html>
2017年8月31日アクセス.

ベクター・ジャパン株式会社
「はじめてのCAN/CANFD」,
https://jp.vector.com/vj_beginners-can_jp.html
2017年8月31日アクセス.