バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
CAN-FDのシミュレーションに向けての話。
登場人物
博識フクロウのフクさん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
シミュレーションの順番
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
これも、下層から試していく感じかなー?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
そうだねー。
一気にAUTOSAR-dcmとcan-isotpを弄って一発で終わらせるってのもありだけど、
一層ずつクリアした方が良いかな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
とすると以下の流れになるのかな?
①python-canによるCAN-FD制御
②can-isotpでCAN-FD診断通信(ISO15765-2)
③AUTOSAR-CanTpでCAN-FD診断通信(ISO15765-2)
④AUTOSAR-DcmでCAN-FD診断通信(ISO14229-1)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
うん。
その流れで行こう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
大雑把に勘所を教えてもらえると助かるんだけど?
python-canによるCAN-FD制御の勘所
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
python-canによるCAN-FD制御の勘所は、以下だね。
- CAN-FDのフレームに紐づいたフラグの制御
- FDF(FD Format Indicator):CAN-FDであるフラグ
- BRS(Bit Rate Switch):FlexDataRateになる。(FDFが有効である必要あり)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
あー。前回言ってたCAN-FDならではのフラグだねー。
can-isotpでCAN-FD診断通信(ISO15765-2)の勘所
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
can-isotpでCAN-FD診断通信(ISO15765-2)の勘所は・・・。
- 8[byte]を超えるフレーム
- 7[byte]メッセージを超えるシングルフレームがあり得る
- 4095[byte]を超えるメッセージ
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あ、そうか!
CANの場合は1フレームの最大値が8[byte]だったから7[byte]を超えるシングルフレームはあり得なかったけど、
CAN-FDの場合は最大値が64[byte]だからあり得るってことになるのか?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
それと・・・。
4095[byte]を超えるメッセージ???
これは・・・フレーム構成が大きく変わるってことなのかな???
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
変わるというか、拡張されたってイメージかな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
(まぁその時になったら、また聞くか・・・。)
AUTOSAR-CanTpでCAN-FD診断通信(ISO15765-2)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
これは「can-isotpでCAN-FD診断通信(ISO15765-2)の勘所」と一緒。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
まぁそうだろーねー。
元となってる規格が一緒ってのもあるけど、
can-isotpとAUTOSAR-CanTpはパラメータもほぼ一緒だから
やれることも似たり寄ったりになるよねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
たぶん、これをやる回は単なる導通テストみたいな回になると思うよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
それまでにCAN-FDによるISO15765-2を理解しないとヤバいってことか・・・・。
AUTOSAR-DcmでCAN-FD診断通信(ISO14229-1)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
簡単に各サービスを流す感じかなー。
メッセージそのものは一緒だから、CAN-FDの回線上どうなってるってのか確認する程度になると思うよ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
ほー。
なんか上位層になるほど大変になるイメージでいたけど、
実際は下位層の方が確認する内容が多いイメージだね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
うん。
上位層は抽象化されてるんで、下位層の影響を受けないってのが
システム構成としての理想形なんで、診断通信もそれに習ってるって思って良いね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
なるほどー。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- シミュレーション手順と勘所説明。
- python-canによるCAN-FD制御。
- can-isotpでCAN-FD診断通信(ISO15765-2)。
- AUTOSAR-CanTpでCAN-FD診断通信(ISO15765-2)。
- AUTOSAR-DcmでCAN-FD診断通信(ISO14229-1)。
バックナンバーはこちら。
コメント