chevron_left

メインカテゴリーを選択しなおす

cancel
KEI
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/02/11

arrow_drop_down
  • 【XCP】最小構成のMBD事例 第2章 その208【AUTOSAR⑭】

    ついにAUTOSAR-XCPでSTIMを実現。 SET_MTA,DOWNLOADで実現していたコードを改修。 若干、遅れがあるように見えたが、CAN回線ログと比較した感じだと、全に正しい結果となっている。 思った以上の成果と言える。 フクさんが一点気になることがあるらしい。 これは次回説明予定。

  • 【XCP】最小構成のMBD事例 第2章 その207【AUTOSAR⑬】

    AUTOSAR-XCPのDAQ listモード設定コマンドの動作確認実施。 SET_DAQ_LIST_MODEを実施。 STIM側はTimeStampFieldは不要なので削除指定。 さらにRAM値への更新速度を上げるため1ms周期。 START_STOP_DAQ_LISTを実施。

  • 【XCP】最小構成のMBD事例 第2章 その206【AUTOSAR⑫】

    AUTOSAR-XCPのDAQ設定系コマンドの動作確認。FREE_DAQ、ALLOC_DAQ、ALLOC_ODT、ALLOC_ODT_ENTRYを一気に確認。ODT_ENTRYへの書き込み実施。SET_DAQ_PTR、WRITE_DAQを確認。この段階のDAQ listはDAQかSTIMかの利用方法の指定はしていない。

  • 【XCP】最小構成のMBD事例 第2章 その204【AUTOSAR⑩】

    AUTOSAR-XCPの動作確認開始。 XCPコマンドはPyXCPを使って実施。 XCP Basic、PyXCPで散々やったところなので巻き気味で推進。 一気にCONNECT、GET_STATUS、SYNCH、GET_COMM_MODE_INFOを実施。 当然ながら問題無く動作。 CAN回線ログも一緒に確認。

  • 【XCP】最小構成のMBD事例 第2章 その203【AUTOSAR⑨】

    Xcp_Cfg.cの作成したコードを確認。 DAQ、STIMで使うイベントチャンネルの定義がほとんど。 Online Calibrationで使用されるSegmentについても記載するパラメータがある。 アクセスするメモリ空間を疑似的に切り替える概念を実現。 今回は使用しないので、そういう概念があるのを認識程度に留める。

  • 【XCP】最小構成のMBD事例 第2章 その202【AUTOSAR⑧】

    AUTOSAR-XCPのコンフィグレーションはREADME.txtに説明あり。 Xcp_Cfg.hとXcp_Cfg.cを作成する必要あり。 Xcp_Cfg.hを作成。 README.txtに記載が無かった項目として以下がある。 XCP_PROTOCOL。 XCP_STANDALONE。 BYTE_ORDER。

  • 【XCP】最小構成のMBD事例 第2章 その201【AUTOSAR⑦】

    CanIfとかAUTOSAR-XCPから呼び出される関数群の辻褄合わせをmain.cで実施。 送信関数と送信完了割り込み、受信割り込み、エラー割り込み。 排他制御関数。 エラー通知関数。 main関数で初期化処理関連を実施。 これでやっとビルドが通った状態となる。

  • 【XCP】最小構成のMBD事例 第2章 その200【AUTOSAR⑥】

    AUTOSAR-XCPをビルドする上で排他同期等でWindowsAPIが必要となる。 しかしwindows.hが他の定義を競合することがある。 よってstub.cでラップ関数を定義して避けている。 マルチメディアタイマで1msコールバックを生成。 ECUの実装が1ms周期を起点に処理されることが多く、それを模擬してる。

  • 【XCP】最小構成のMBD事例 第2章 その199【AUTOSAR⑤】

    AUTOSAR-XCPをGithubからCloneしてきてソースコードを確認。 とりあえず、全部使う。 AUTOSAR仕様として必要そうなソースとヘッダを洗い出し。 TOPPERSプロジェクトのA-ComStackとATK2から頂戴する。 足りないかもしれないが、まずはこれでビルドを通してみる。

  • 【XCP】最小構成のMBD事例 第2章 その198【AUTOSAR④】

    AUTOSAR-XCP PCシミュレーションに向けてのロードマップを提示。 恒例の実験構成、環境、実験内容を提示。 実験構成の提示。 こちらもおなじみのVirtual CAN Busを使用した構成。 AUTOSAR-XCPのPCシミュレーション環境も恒例のVisual Studio 2017 express。

  • 【XCP】最小構成のMBD事例 第2章 その197【AUTOSAR③】

    AUTOSAR-XCPの機能範囲について説明。 純粋にXCP BWSを実現しているのみ。 よって、下位BSWのCanIfを実装する必要がある。 CanIfは以前、診断通信関連BSWであるCanTpのシミュレーションをしたときに作成してる。 微調整はあるかもしれないが、これを使いまわす予定。

  • 【XCP】最小構成のMBD事例 第2章 その196【AUTOSAR②】

    LGPLはライブラリ化すればライセンス汚染をある程度食い止められる。 しかし、完全に食い止められるわけではなくどうしてもリバースエンジニアリングを許容する条件は付く。 これは動的リンクであっても変わらない。 AUTOSARのXCP実装、STIMの実装を学べるという利点があるので、使ってみる方針で行く。

  • 【XCP】最小構成のMBD事例 第2章 その195【AUTOSAR①】

    XCP Basicとは別のXCPスレーブIPを見つけてきた。 その名はAUTOSAR-XCP。 以前やったCanTp、DCMと同じくAUTOSAR-BSWのXCP仕様に準拠したもの。 ライセンスがLGPL。 よって、条件によってはコード開示が必要になり、商用利用としては難しく場合がある。

  • 【XCP】最小構成のMBD事例 第2章 その194【PyXCP⑯】

    SET_MTAとDOWNLOAD以外のRAM書き換え方法はSTIM しかし、XCP BasicはSTIMは未対応。 XCP Basicに対してSTIM拡張をするかXCP Basic以外のXCPスレーブIPを探すか。 とりあえず後者の線でやってみる。 見つからなかったら諦めてSET_MTAとDOWNLOADで頑張る方向で。

  • 【XCP】最小構成のMBD事例 第2章 その193【PyXCP⑮】

    XCP BasicとPyXCPは微妙だった?ってことはない。 計測やちょっとしたキャリブレーションであれば問題無く使える。 HILSもどきと相性が悪いだけ。 オーバーヘッドを検討。 15msはSET_MTAとDOWNLOADの2回のコマンド発行分。 ここを何とかすればもう少しマシになりそう。

  • 【XCP】最小構成のMBD事例 第2章 その192【PyXCP⑭】

    DAQパケットを受信しながらSET_MTA、DOWNLOADのコマンド送信してみた。 一応動いた。 が、DAQパケットの吸い上げのリアルタイム性が若干悪い。 20~30[ms]程度の遅れがある。 Pythonでやる以上、やむを得ない問題ではあるが、もう少し手が無いか考える必要はありそう。

  • 【XCP】最小構成のMBD事例 第2章 その191【PyXCP⑬】

    PyXCPでDAQパケットを受信しながらSET_MTA、DOWNLOADのコマンド送信を行う実験。 XCP Basic側は問題なくできることは分かってるのでPyXCP側メインの実験。 一応PyXCP内コード的には大丈夫そう。 実験コードはDAPパケット受信ループ内で0.05秒周期でSET_MTA、DOWNLOAD発行。

  • 【XCP】最小構成のMBD事例 第2章 その190【PyXCP⑫】

    DAQパケットの取得方法の概要説明。 transport層に相当するクラスでdaqQueueが定義されている。 このdaqQueueに自動的にDAQパケットがキューイングされる仕組み。 上記仕組みはJSONコンフィグレーションのCAN_USE_DEFAULT_LISTENER trueでないと使えない点に注意。

  • 【XCP】最小構成のMBD事例 第2章 その189【PyXCP⑪】

    DAQ起動すべく以下のコマンドに相当するメソッドを実行。 SET_DAQ_LIST_MODE。 START_STOP_DAQ_LIST。 START_STOP_SYNCH。 狙い通りDAQ起動はした。 CAN回線上でDAQパケットが流れていることが確認できた。 しかし、PyXCP上でDAQパケットを確認する術が不明。

  • 【XCP】最小構成のMBD事例 第2章 その188【PyXCP⑩】

    ODT_ENTRYをnamedtupleを使ってデータ管理してみた。 今回は一個しかないのでほぼ効能はないが、ODT_ENTRYが増えてきた際には大きな効能が見込めそう。 実際にSET_DAQ_PTR、WRITE_DAQ実施。 問題なく動作。 毎回SET_DAQ_PTRを投げるようなコードになってるが、とりあえずOK。

  • 【XCP】最小構成のMBD事例 第2章 その187【PyXCP⑨】

    WRITE_DAQの前にODT_ENTRYのデータ管理の便利な方法について説明。 namedtupleと使う。 tupleは異なるデータを一組に管理する手法や構造。 namedtupleはtupleの各要素に明示的に名前を付けられるようにしたもの。 管理のし易さを見やすさの両方が得られる。

  • 【XCP】最小構成のMBD事例 第2章 その186【PyXCP⑧】

    DAQ listの構築を一気に実施した。 FREE_DAQ、ALLOC_DAQ、ALLOC_ODT、ALLOC_ODT_ENTRYを一気に実施。 以前XCP BasicでやったDAQ list構築に合わせた構成にしてある。 PyXCPのメソッド単位で隠蔽されていることもあり、かなり楽ちん。

  • 【XCP】最小構成のMBD事例 第2章 その185【PyXCP⑦】

    メモリアクセス系コマンドということでSET_MTA、DOWNLOAD、UPLOADを実施。 DOWNLOADの結果がUPLOADするまで分からないということと、一個ずつ試すがめんどいので一気に流した。 UPLOAD→DOWNLOAD→UPLOADの流れでverifyすることで読み書きが正常に行われていることが確認できた。

  • 【XCP】最小構成のMBD事例 第2章 その184【PyXCP⑥】

    SYNCHコマンドを投げた。 想定通りERR_CMD_SYNCHを受け取れた。 GET_COMM_MODE_INFOコマンドを投げた。 今回使用しないがinterleavedMode、masterBlockModeの有無や関連パラメータが返ってくる。 上記以外に適用しているXCP仕様Versionも取得可能。

  • 【XCP】最小構成のMBD事例 第2章 その183【PyXCP⑤】

    早速PyXCPでCONNECTとGET_STATUSのコマンドを投げて見た。 共に問題無く動作 該当メソッドの戻り値でレスポンスの詳細が取得できる。 かなり見やすい構造になっている。 GET_STATUSはレスポンス内容の性質上、DAQ起動中やCAL_PAGEのROM書き戻し完了待ちなどの確認使用されることが多い。

  • 【XCP】最小構成のMBD事例 第2章 その182【PyXCP④】

    コンフィグレーションパラメータ(JSON文字列)の作成と読み込みのコードを提示。 readConfigurationにStringIOを渡しているが、拡張子がjsonのファイル名を設定しておく必要あり。 コンフィグレーションを元にXCPマスターの生成。 コンフィグレーションを渡すことでXCPマスターが生成される。

  • 【XCP】最小構成のMBD事例 第2章 その181【PyXCP③】

    JSON文字列を再度確認。 それぞれのパラメータについて一気に説明。 使用できるCANインターフェースデバイスは多い。 有名どころは網羅されている。 トランポート層にSxIを指定できる。 SPI、SCI(UART)のことでPyXCPに於いてはCOMポートになる。 と言ってもそれほど利用シーンは無い。

  • 【XCP】最小構成のMBD事例 第2章 その180【PyXCP②】

    PyXCPを利用する上で必要なimportを列挙。 設定ファイルがJSONファイルを想定しており、Python内の文字列をファイル 認識されるためにio.StringIOもimport。 StringIOに引き渡すJSONを提示。 比較的自明なパラメータが多いが一部分かり難いものもあるので次回説明。

  • 【XCP】最小構成のMBD事例 第2章 その179【PyXCP①】

    Python-CANにXCPの上位プロトコルを載せたPythonLibraryが存在。 その名はそのまんまでPyXCP。 PyXCPのインストールはpip使えばOK。 pip install pyxcp。 PyXCPだけだと疎通確認も取れないからXCP BasicによるPCシミュレーション環境はかなり重要。

  • 【XCP】最小構成のMBD事例 第2章 その178【XCP Basic㉜】

    再度DAQパケットを確認。 XCPの一連のコマンド含めてCAN回線ログとして取得。 DAQパケットだけ抽出し、タイムスタンプを確認。 狙い通り10ms周期の送信周期になっていた。 ソースコード等はGithubに上げておいた。 Python側はJupyterNotebook形式。

arrow_drop_down

ブログリーダー」を活用して、KEIさんをフォローしませんか?

ハンドル名
KEIさん
ブログタイトル
シミュレーションの世界に引きこもる部屋
フォロー
シミュレーションの世界に引きこもる部屋

にほんブログ村 カテゴリー一覧

商用