【Dcm】車両診断通信 その85【シミュレーション㉓】

【Dcm】車両診断通信 その85【シミュレーション㉓】 車両診断通信

バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/

はじめに

AUTOSAR-Dcmのシミュレーションの話。
WriteDataByIdentifierのシミュレーションおまけ。

登場人物

博識フクロウのフクさん

イラスト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

NRCの特殊な仕様

太郎くん
太郎くん

前回、妙な事言ってたけど、今回はなにするの?

フクさん
フクさん

前回のWriteDataByIdentifierでNRC$78が出てきたと思うけど、
あれの特殊な挙動をやってみようと思う。

太郎くん
太郎くん

どんな感じ?

フクさん
フクさん

まぁすぐ終わるんで、まずは挙動を見せるよ。

特殊な挙動のシミュレーションの結果(メッセージ)

フクさん
フクさん

まずはメッセージ。

Send msg : 1003			// extendDiagnosticSessionへ遷移
Recv msg : 500300300064
Send msg : 2713			// Seed要求
Recv msg : 6713deadbeef
Send msg : 2714deadbeef		// Key送信
Recv msg : 6714
Send msg : 2e567811223344	// DID=5678へ書き込み
Recv msg : 7f2e78		// NRC$78(ResponsePending)
Recv msg : 7f2e78		// NRC$78(ResponsePending)
Recv msg : 7f2e10		// NRC$10(generalReject)
Exiting

特殊な挙動のシミュレーションの結果(CAN回線)

フクさん
フクさん

そしてCAN回線ログ。

Begin Triggerblock
 0.000000 Start of measurement
 
 // extendDiagnosticSessionへ遷移
 0.000000 1  18DA10F1x       Rx   d 8 02 10 03 CC CC CC CC CC
 0.001884 1  18DAF110x       Rx   d 8 06 50 03 00 30 00 64 55
 
 // Seed要求
 0.005841 1  18DA10F1x       Rx   d 8 02 27 13 CC CC CC CC CC
 0.007823 1  18DAF110x       Rx   d 8 06 67 13 DE AD BE EF 55
 
 // Key送信
 0.011862 1  18DA10F1x       Rx   d 8 06 27 14 DE AD BE EF CC
 0.013787 1  18DAF110x       Rx   d 8 02 67 14 55 55 55 55 55
 
 // DID=5678へ書き込み
 0.017834 1  18DA10F1x       Rx   d 8 07 2E 56 78 11 22 33 44
 0.066617 1  18DAF110x       Rx   d 8 03 7F 2E 78 55 55 55 55
 1.066197 1  18DAF110x       Rx   d 8 03 7F 2E 78 55 55 55 55
 2.067071 1  18DAF110x       Rx   d 8 03 7F 2E 10 55 55 55 55
End TriggerBlock
太郎くん
太郎くん

これは・・・。
WriteDataByIdentifierでNRC$78でP2*時間で延長してるようだけど・・・。

太郎くん
太郎くん

最後にNRC$10(generalReject)になってるね???
どういう状態なの?

フクさん
フクさん

NRC$78って無限に返すとどうなると思う?

太郎くん
太郎くん

んー?
無限に待ち続ける???

フクさん
フクさん

そうだね。
ただ、仕様としてそれって良いのかな?

太郎くん
太郎くん

さすがに無限はまずいと思うよー。
どっかでタイムアウトなりしないと・・・。

フクさん
フクさん

そこで登場するのが、DslDiagRespMaxNumRespPendってDslの内部パラメータ。

DslDiagRespMaxNumRespPendとは?

太郎くん
太郎くん

DslDiagRespMaxNumRespPendって何?

フクさん
フクさん

NRC$78を返す回数の上限を規定する。

太郎くん
太郎くん

ん?返す回数?

太郎くん
太郎くん

あ!
この上限を超えるとNRC$10になるのか?!

フクさん
フクさん

Yes!

フクさん
フクさん

まぁISO14229-1には規定されていないAUTOSAR-Dcmとしての仕様だねー。

太郎くん
太郎くん

ISO14229-1に規定されてないのにAUTOSAR-Dcmで規定して良いの?

フクさん
フクさん

まぁ、ISO14229-1で規定されてないとはいえ、
各完成車メーカとしては規定していることが多いんじゃないかなー。
AUTOSARも規格に準拠するという面完成車メーカのデファクトを取り込むって面があるんで、
今回の話は後者に該当。

太郎くん
太郎くん

なるほどねー。

まとめ

フクさん
フクさん

まとめだよ。

  • NRC$78(ResponsePending)が一定回数を超えるとNRC$10(generalReject)を返すパターンを見た。
  • この仕様はISO14229-1では規定されていない
  • しかし、デファクトスタンダードである可能性が高い。
    • よって、AUTOSARの仕様として取り込まれていると推測。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました