2020-08

車両診断通信

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

ISO-TPのシミュレーションをしよう。のシリーズ。CanTpのコンフィグレーション詳細について。CanTpのコンフィグレーション構造はAUTOSAR仕様に記載されている。しかし、UMLによる表記無し。OSEK時代からの踏襲であるため更新優先度が下がってる可能性あり。今回はコンフィグレータを使用せず、手動で該当の構造体実体を定義していく方針。
車両診断通信

【CanTp】車両診断通信 その35【シミュレーション㉒】

ISO-TPのシミュレーションをしよう。のシリーズ。CanTpのコンフィグレーションについて。CanTpは送信、受信の1対で1チャンネルという概念になっている。チャンネルは複製可能。ただし、動的複製は不可。静的複製のみ。
車両診断通信

【CanTp】車両診断通信 その34【シミュレーション㉑】

ISO-TPのシミュレーションをしよう。のシリーズ。CanTpを取り巻く構造などを頑張って絵に描いてみる。AUTOSAR CanTpのインターフェースの復習。AUTOSAR CanTpのインターフェースを図解してみた。各種インターフェースはそれぞれのヘッダファイルで定義はされている。シミュレーション用に辻褄合わせは必要。
車両診断通信

【CanTp】車両診断通信 その33【シミュレーション⑳】

AUTOSAR CanTpの仕様はAUTOSAR_SWS_CANTransportLayeで公開されている。最低限把握する必要のあるインターフェースは以下。CanTp_Transmit。CanTp_MainFunction。CanTp_RxIndication。CanTp_TxConfirmation。CanIf_Transmit。PduR_CanTpCopyRxData。PduR_CanTpCopyTxData。PduR_CanTpRxIndication。PduR_CanTpStartOfReception。PduR_CanTpTxConfirmation。
車両診断通信

【CanTp】車両診断通信 その32【シミュレーション⑲】

ISO-TPのシミュレーションをしよう。のシリーズ。A-COMSTACKからCanTpだけを引っこ抜いてくる。A-COMSTACKのCanTpの本体はcantp.c。多くのヘッダファイルも持ってくる必要がある。タイマ割り込み、排他はWin32APIで実現。
車両診断通信

【CanTp】車両診断通信 その31【シミュレーション⑱】

TOPPERS協会からA-COMSTACKというAUTOSARの通信スタックBSW群が公開されている。この中のCanTpを使用。A-COMSTACKはAUTOSARパートナーになっていないと商用利用出来ない。今回は学習目的で利用。動作確認用のオフボードテスタ側はpython can-isotpを使用する。
車両診断通信

【CanTp】車両診断通信 その30【シミュレーション⑰】

ISO-TPのシミュレーションをしよう。のシリーズ。XLドライバライブラリの受信割り込みと送信完了割り込みの再現方法について。割り込みエミュレーションのコードを提示。WaitForSingleObjectでシグナル待ち。xlCanReceiveで受信、送信、エラーの各種情報を取得。xlEvent.tagで各種処理に振り分け。
車両診断通信

【CanTp】車両診断通信 その29【シミュレーション⑯】

MCAL-CANDRVを実現するには受信割り込みと送信完了割り込みの再現が必要。XLドライバライブラリは受信、送信済み、エラーのイベントをWin32APIのイベントオブジェクト経由で通知する。よって、Win32APIによるスレッド、イベントオブジェクトのハンドリング知識が必要。
車両診断通信

【CanTp】車両診断通信 その28【シミュレーション⑮】

ISO-TPのシミュレーションをしよう。のシリーズ。Pythonから一旦離れて、AUTOSAR CanTpの話。AUTOSAR CanTp編に突入だよー。AUTOSARはSW-C、RTE、BSW、MCALのレイヤー構造になってる。AUTOSAR CanTpはBSWの一つでISO15765-2を再現している。
車両診断通信

【CanTp】車両診断通信 その27【シミュレーション⑭】

ISO-TPのシミュレーションをしよう。のシリーズ。Pythonパッケージcan-isotpによる疑似ECU。のパラメータを弄ってみる回。can-isotpのFCパラメータ変更実験をした。can-isotpの完成度は高い。少なくとも、そこらの構造が破綻したヤッツケ車両診断通信よりかは遥かに良い。