← 学習トップへ戻る

A2L / ASAP2 の基礎:CHARACTERISTIC・MEASUREMENT・COMPU_METHOD

ECU 記述ファイルがグループツリーと「1 オブジェクト 1 行」の出力になるまで。

更新日 2026-11-05

A2L は ASAM ASAP2 規格のファイル形式で、ECU メモリ上のオブジェクトを記述し、XCP や CCP のようなプロトコル経由で調整ツールが計測値を読み、パラメータを書き込めるようにします。DBC とは役割が異なります。DBC は CAN フレームの信号を説明し、A2L は名前付きメモリオブジェクト、アドレス、データ型、そして生の整数から物理値への変換を説明します。車両プロジェクトでは両方が配布され、CAN 信号名とそれを生成するキャリブレーションオブジェクトを対応付ける作業もよく発生します。ファイルは /begin と /end のブロックからなるプレーンテキストで、通常 ECU ソフトウェアのバイナリイメージと対で扱われます。

最上位は PROJECT で、その中に 1 つ以上の MODULE があります。モジュール内には読み書き可能な CHARACTERISTIC、読み取り専用の MEASUREMENT、変換規則である COMPU_METHOD、スカラ・カーブ・マップの構造を定義する RECORD_LAYOUT、そして参照をツリーにまとめる GROUP が並びます。CHARACTERISTIC は通常、変換方法とレコードレイアウトを参照し ECU アドレスを持ちます。MEASUREMENT も変換方法を参照し、さらにデータ型やビットマスクを持ちます。識別子は有効なトークンでなければならず、多くのツールは厳密に 1 バイトずつ字句解析するため、識別子や文字列にマルチバイト文字が入るとインポート全体が失敗します。エクスポート時のサニタイズやエスケープが一般的です。

実際に目にするブロック

/begin CHARACTERISTIC SparkAdvance "Base ignition angle"
  VALUE 0x8000 ECU_ADDRESS 0x1234
  COMPU_METHOD CM_deg
  /begin REF_MEASUREMENT EngineSpeed /end REF_MEASUREMENT
/end CHARACTERISTIC

/begin COMPU_METHOD CM_deg "" LINEAR "%.4" "deg"
  COEFFS_LINEAR 0.0625 -720
/end COMPU_METHOD
  • PROJECT / MODULE —— 最上位のコンテナ
  • CHARACTERISTIC —— 書き込み可能な調整パラメータ
  • MEASUREMENT —— 読み取り専用の計測オブジェクト
  • COMPU_METHOD —— 生値から物理値への変換・単位・書式
  • RECORD_LAYOUT —— スカラ・カーブ・マップ・軸の構造
  • GROUP + REF_CHARACTERISTIC / REF_MEASUREMENT —— ビューアのツリー

変換と単位

COMPU_METHOD は A2L における DBC の係数とオフセットに相当します。LINEAR は COEFFS_LINEAR で係数とオフセットを宣言し、%.4 のような書式と deg・rpm・bar などの単位を添えます。TAB_INTP、TAB_NOINTP、TAB_VERB は区分線形補間や列挙テキストを表します。同じ生の整数がある ECU では -720〜+720 度、別の ECU では全く別の範囲を示すのは、意味がメモリセルではなく変換方法にあるためです。ビューアが工学的単位を表示できるのは、オブジェクトからメソッドへの参照をたどっているからです。

レコード種別を選び、対応するビューア/エクスポート列を確認

A2L ファイルは CHARACTERISTIC と MEASUREMENT をグループ化し、COMPU_METHOD による変換を関連付けます。ビューアでは各レコードが 1 行になり、名前・種別・グループ・単位・変換方式・アドレス・説明の列を持ちます。GROUP ブロックは参照をツリーにまとめ、COMPU_METHOD が係数・オフセット・単位を提供して ECU の整数を工学的値に変換します。
A2L ファイルは CHARACTERISTIC と MEASUREMENT をグループ化し、COMPU_METHOD による変換を関連付けます。ビューアでは各レコードが 1 行になり、名前・種別・グループ・単位・変換方式・アドレス・説明の列を持ちます。GROUP ブロックは参照をツリーにまとめ、COMPU_METHOD が係数・オフセット・単位を提供して ECU の整数を工学的値に変換します。

ファイルからエクスポート表へ

ブラウザのビューアで A2L を開くと、左にグループツリー、右にオブジェクト 1 行ずつのテーブルが表示され、グループ・種別・名前・型・アドレス・変換・書式・最小・最大・単位・説明の列が並びます。XLSX 出力も同じ形で、Records シートに 1 行ずつ、さらにファイル統計と解析診断をまとめた短縮 Info シートが付きます。解析はローカルで完結するため、ツールチェーンの中でも特に機密性の高いキャリブレーションデータがアップロードされることはありません。未知のキーワードや不正な /end を診断として報告し、ファイル全体を捨てない寛容なパーサがここでも重要です。実 ECU 記述にはベンダ固有の拡張が頻繁に含まれるからです。

実務メモ:A2L を他ツール経由で往復させる場合は、GROUP と REF_CHARACTERISTIC の書き方を確認してください。GROUP 形式しか理解しないリーダが多く、識別子のマルチバイト文字は厳密な字句解析で拒否されます。

ビューアで試す

サンプルファイルを開くか、自分の DBC / A2L ファイルをドロップしてください。解析はブラウザ内で完結し、アップロードはありません。

ビューアを開く

よくある質問

A2L は DBC と同種のファイルですか?

いいえ。DBC は CAN フレームの信号、A2L/ASAP2 は ECU メモリ上の計測・調整オブジェクトを記述し、通常 XCP/CCP でアクセスします。

COMPU_METHOD が重要な理由は?

ECU の整数を物理値へ変換する規則を定め、生のカウント値ではなく工学的単位で表示できるようにします。

関連する解説

次のテーマは何がよいでしょうか。短いメールでお知らせください — フォームもトラッキングもありません。

lei_xu@163.com