バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
can-isotpでCAN-FDのシミュレーション結果。
今回は特にSingleFrameとFirstFrameについて解説する。
実際のCAN-FD回線上のログを見ながら解説。
登場人物
博識フクロウのフクさん

イラスト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
シミュレーション結果

シミュレーションをした上でCAN回線上のログはこうなった。
長いメッセージは途中省略してる。
Begin Triggerblock
0.000000 Start of measurement
0.000000 1 18DA10F1x Rx d 8 07 01 02 03 04 05 06 07
0.014868 1 18DAF110x Rx d 8 07 01 02 03 04 05 06 07
0.203358 1 18DA10F1x Rx d 64 00 3C 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 55 55
0.222282 1 18DAF110x Rx d 8 07 01 02 03 04 05 06 07
0.404857 1 18DA10F1x Rx d 64 10 78 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02
0.421732 1 18DAF110x Rx d 8 30 00 00 CC CC CC CC CC
0.422724 1 18DA10F1x Rx d 64 21 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 55 55 55 55 55
0.448758 1 18DAF110x Rx d 8 07 01 02 03 04 05 06 07
0.609231 1 18DA10F1x Rx d 64 10 00 00 00 13 88 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08
0.611156 1 18DAF110x Rx d 8 30 00 00 CC CC CC CC CC
0.612213 1 18DA10F1x Rx d 64 21 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01
/*省略*/
03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09
0.618979 1 18DA10F1x Rx d 64 2E 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02
0.619053 1 18DA10F1x Rx d 32 2F 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 55 55 55
0.651149 1 18DAF110x Rx d 8 07 01 02 03 04 05 06 07
End TriggerBlock
SingleFrame解説

まず7byte以下のSingleFrameは従来通りだね。
0.000000 1 18DA10F1x Rx d 8 07 01 02 03 04 05 06 07

そして、8byte以上のSingleFrameは、先頭が0x00で次の0x3C=60[byte]がLengthになるって話だったけど、
まさにその通りになってるね。
0.203358 1 18DA10F1x Rx d 64 00 3C 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 55 55
FirstFrame解説

従来の4095byte以下のFirstFrameは1byte目の以下ニブルと2byte目がLength。
0.404857 1 18DA10F1x Rx d 64 10 78 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02

4096byteを超えたFirstFrameは1byte目の以下ニブルと2byte目が0x000になって、その後ろ4byteがLength。
今回の場合だと、0x1388=5000[byte]がそれに該当するね。
0.609231 1 18DA10F1x Rx d 64 10 00 00 00 13 88 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08 09 10 01 02 03 04 05 06 07 08

おー!バッチリだ!

元々の診断フレームが分かってれば、割と理解しやすいかもだねー。

じゃー、いよいよAUTOSARの方に行く感じかなー。
まとめ

まとめだよ。
- CAN回線ログとった。
- SingleFrameの確認。
- 7byte以下のSingleFrame。
- 8byte以上のSingleFrame。
- FirstFrameの確認。
- 4095byte以下のFirstFrame。
- 4096byte以上のFirstFrame。
バックナンバーはこちら。
コメント