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 を開くと、左にグループツリー、右にオブジェクト 1 行ずつのテーブルが表示され、グループ・種別・名前・型・アドレス・変換・書式・最小・最大・単位・説明の列が並びます。XLSX 出力も同じ形で、Records シートに 1 行ずつ、さらにファイル統計と解析診断をまとめた短縮 Info シートが付きます。解析はローカルで完結するため、ツールチェーンの中でも特に機密性の高いキャリブレーションデータがアップロードされることはありません。未知のキーワードや不正な /end を診断として報告し、ファイル全体を捨てない寛容なパーサがここでも重要です。実 ECU 記述にはベンダ固有の拡張が頻繁に含まれるからです。
ビューアで試す
サンプルファイルを開くか、自分の DBC / A2L ファイルをドロップしてください。解析はブラウザ内で完結し、アップロードはありません。
ビューアを開くよくある質問
A2L は DBC と同種のファイルですか?
いいえ。DBC は CAN フレームの信号、A2L/ASAP2 は ECU メモリ上の計測・調整オブジェクトを記述し、通常 XCP/CCP でアクセスします。
COMPU_METHOD が重要な理由は?
ECU の整数を物理値へ変換する規則を定め、生のカウント値ではなく工学的単位で表示できるようにします。