バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
ISO11898-2ことCANの物理層について。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
登場規格復習

前回、車両診断通信のレイヤについて説明したが、
そこにいくつかの規格番号が出てきたの覚えてるかい?

お、覚えては無いけど、
メモってはいる。

じゃー言ってみて。
UDS側だけでいいよ。

うーんと、
- ISO11898-2(CAN物理層)
- ISO11898-1(CANデータリンク層)
- ISO15765-2(診断通信のネットワーク層とトランポート層)
- ISO14229-2(UDSのセッション層)
- ISO14229-2(UDSのアプリケーション層)
かな。

正解。

というわけでOSI参照モデルの下層から攻め上がっていく感じで学んでいこう。
ISO11898-2(CAN物理層)

そういえば、CANっていままで結構扱っていたけど、
実際はなんなのかってあんまり考えてなかったな。
一気に8byteのデータが遅れるシリアル通信程度の理解しかないや。

まぁいままではCANoeとか使ってたんで、
物理層とかデータリンク層は意識しなくて良かった。
しかし、実際にDoCANを実現しようと思ったらやはりCANの知識習得は避けられないね。

これはちゃんと規格を読まないとダメな感じなのかな?

以前はそーだっただけど、
CANも最早一般的になったのか結構情報あるんだよね。
まずはVector社の「はじめてのCAN/CAN-FD」
Vector社の「はじめてのCAN/CAN-FD」

あとはWikipediaにも相当詳しく載ってたりする。
Wikipedia Controller Area Network

おー。ちゃんと日本語だ。

というわけで、私から改めて解説はしない予定。

確かに一通り読み込めば大丈夫そうな気がする。

あと、書籍としては以下が有名どころだね。
一般的なCANのコネクタ、ピン配置や歴史的な話もあるし、一読してみるのも良いだろう。
CAN入門講座: 組込みマイコンで学ぶCANプロトコルとプログラミング
CANおよびCANopenによる組み込みネットワーク
DoCANに於いての一般的なCAN

と、言ったものの、
一応、今回のDoCANの前提に相当する部分は簡単に説明するかな。

確かにCANも高速、低速、CAN-FDとバリエーションがあったね。

今回のCANに対しての前提は以下とする。
- 高速CAN
- ボーレートは500kbps
- 今のところはCAN-FDは対象外

あれ?
CANって1Mbpsまで行けるのに500kbpsなの?

うん。
理由はいくつかある。
- 法規で指定されているのが500kbpsのためこれが主流になっている。
- 1Mbpsだとサンプリングポイントを最も後ろにしないと安定しない。
- CANトランシーバの遅延が120nsであることが多く、出力側と入力側合わせて240nsとなり、1Mbpsの1bitの1/4が遅延となる。

1Mbpsはトランシーバの物理的な仕様でちょっと危ういってことかー。

ところでサンプリングポイントって何?
Vectorの資料でちょっとそれっぽい単語はあるけど。

そこらへんはCANのデータリンク層の話になるんで、次回かな。
まとめ

まとめだよ。
- 必要な規格番号復習。
- CANは割と一般的になってきたのでネット上からそこそこ情報が得られる。
- DoCANでは1Mbpsが使われることはほぼ無い。
- 法規の都合。
- 1Mbpsだと安定性が欠ける面がある。
バックナンバーはこちら。
ボッシュ自動車ハンドブック 日本語第4版
CAN入門講座: 組込みマイコンで学ぶCANプロトコルとプログラミング
CANおよびCANopenによる組み込みネットワーク
カーハッカーズ・ハンドブック ―車載システムの仕組み・分析・セキュリティ
車載イーサネット “クルマIT”高度化への基盤技術
詳解 車載ネットワーク -CAN、CAN FD、LIN、CXPI、Ethernetの仕組みと設計のために
自動車用ECU開発入門 システム・ハードウェア・ソフトウェアの基本とAUTOSARによる開発演習 (エンジニア入門シリーズ122)
車載ネットワ-ク・システム徹底解説: CAN,LIN,FlexRayのプロトコルと実装 (Design wave mook)
コメント