KopherBit
診断通信

AUTOSAR DEM / DCM / FiM: ECU 診断モジュール アーキテクチャ

AUTOSAR Classic の DEM (診断イベント マネージャー)、DCM (診断通信マネージャー)、および FiM (機能抑制マネージャー) が一緒になって ECU 診断サブシステムを形成します。この記事では、3 つの役割、対話方法、KopherSAR、およびその完全な実装を整理します。

まとめ

AUTOSAR Classic ECU の診断サブシステムは、3 つのコア モジュールで構成されています。

  • DEM (診断イベント マネージャー): 管理イベント、DTC ステート マシン、スナップショット、エージング。
  • DCM (診断通信マネージャー): UDS (ISO 14229) サービス リクエストを処理し、DEM/SWC にルーティングします。
  • FiM (Function Inhibition Manager): 障害の状況に応じて機能を禁止します (障害が発生したときに機能が動作し続けて、大きな損害が発生するのを防ぎます)。

KopherSAR は 3 つを完全に実装し、KopherConfig を通じて DTC リスト、スナップショット、禁止条件、UDS セッション、および SecurityAccess を均一に構成します。

技術的な役割

DEM (診断イベント マネージャー)

  • Dem_SetEventStatus を通じてアプリケーション層 SWC または BSW によって送信されたイベント ステータスを受信します。
  • イベントと DTC のマッピングに従って、DTC ステート マシン (テスト失敗、確認済み、保留中、修復済み、期限切れなど) を更新します。
  • スナップショット レコード (フリーズ フレーム) と拡張データ レコードを維持します。
  • DTC を NV メモリ (NvM) に永続化します。

DCM (診断通信マネージャー)

  • ISO 14229 UDS メッセージを受信します (PduR / CanTp / DoIP 経由)。
  • サービス ID、サブ機能、パラメータを解析し、DEM、NvM、ECU ステート マネージャー、またはアプリケーション SWC にルートします。
  • 診断セッション (デフォルト / プログラミング / 拡張)、SecurityAccess、TesterPresent を管理します。
  • 肯定/否定応答コード (NRC) に応答します。

FiM(機能阻害マネージャー)

  • DEM によって提供される DTC ステータス (確認済みなど) に基づいて特定の SWC 機能を抑制します。
  • アプリケーション層 SWC は、実行前にまず FiM に問い合わせ (FiM_GetFunctionPermission) を行い、その結果に基づいて実行するかどうかを決定します。
  • 誤動作により、より大きな損害を引き起こす可能性のある機能が誤って作動しないようにしてください (バッテリーが過熱したときに急速充電をオフにするなど)。

建築

┌───────────────┐
│ テスター / KopherUDS │
━─────────┬─────────┘
│ UDS CAN / DoIP 経由

┌───────────────┐
│PduR / CanTp / DoIP │
━─────────┬─────────┘

┌───────────────┐
│ DCM │
│ (サービスルーティング、│
│セッション管理)│
━─┬───┬───────┘
│ │
0x19/0x14│ │0x27/0x10/0x11/0x31...
▼ ▼
┌─────┐ ┌───────┐
│ DEM │ │ ルーチン │
│ (DTC FSM)│ │ ハンドラー │
└──┬────────┘ └──────┘

│ 阻害

┌─────┐ ┌───────┐
│ FiM │◀───│ SWC │
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

主要な機能

DEM

  • イベントと DTC の対応、DTC ステート マシン (UDS DTC ステータス バイト 8 ビット)。
  • スナップショット/拡張データ構成。
  • 老化サイクル/治癒サイクル/動作サイクル管理。 -DTC 重大度/優先度。
  • OBD互換のDTCエンコーディング。
  • DTC を NV メモリに保存します。

DCM

  • フル ISO 14229 サービス セット (0x10、0x11、0x14、0x19、0x22、0x23、0x27、0x28、0x2E、0x2F、0x31、0x34/0x36/0x37、0x3D、0x3E、0x85、 0x87)。
  • セッション/セキュリティ管理。
  • TesterPresent ハートビート。
  • SWC ルーチン、DEM、NvM へのルーティング。

FM

  • DTC ステータスに基づく抑制機能 (ブラックリスト機構)。
  • 統合された BswM モード切り替え。
  • 複数の DTC 条件の組み合わせをサポートします。

必要なエンジニアリング入力

入力目的
DTC リスト + 説明DEM 構成の基本。
スナップショット / 拡張データ項目どの信号が凍結され、どの統計がトリガー時に蓄積されるか。
老化と治癒のルールDTC が自動的に解除されるとき。
UDS サービス範囲どのセッションでどのサービスを有効にする必要があるか、また SecurityAccess が必要かどうか。
ルーチンリスト0x31 RoutineControl に対応するアプリケーション層ルーチン関数。
FiM 抑制ルールどの SWC 機能がどの DTC 状態で抑制されるか。
持続戦略DTC/スナップショットのNvMへの書き込みタイミングとセクション構成。

KopherBit がこれをサポートする方法

  • 完全な BSW: KopherSAR AUTOSAR Classic 仕様に準拠した DEM/DCM/FiM の完全な実装。
  • 構成ツール: DTC、スナップショット、UDS サービス、SecurityAccess、FiM ルールの KopherConfig グラフィカル構成。
  • ホスト コンピューター: KopherUDS は DCM に直接接続し、すべてのサービス動作の検証を容易にします。
  • 統合: SecurityAccess アルゴリズムとセッション ロジックを KopherBoot UDS ブートローダーと共有します。

よくある質問

DEM の DTC ステート マシンの 8 ビットとは何ですか?

DTC ステータス バイト (ISO 14229): testFailed、testFailedThisOperationCycle、pendingDTC、confirmedDTC、testNotCompletedSinceLastClear、testFailedSinceLastClear、testNotCompletedThisOperationCycle、warningIndicatorRequested。

DCM と SWC の間でルーチンを呼び出すにはどうすればよいですか?

DCM は 0x31 RoutineControl を受信すると、ARXML 設定に従って (RTE 経由で) アプリケーション層 SWC によって提供されるルーチン機能にルーティングします。SWC はルーチンを完了すると、結果を DCM に返し、DCM が UDS 応答を組み立てます。

FiM と BswM の違いは何ですか?

FiM は、障害状態に基づく抑制機能に焦点を当てています。 BswM は、通信、ECU モードの切り替え、その他の大規模なモード管理を処理します。この 2 つは相互に補完し合います。BswM は通信モードを切り替え、FiM は特定の機能を抑制します。

すべての SWC は FiM にクエリを実行する必要がありますか?

いいえ。「障害が発生した場合に実行すべきではない」機能 (安全関連機能など) のみが FiM に問い合わせる必要があります。構成はセキュリティ分析に基づいて決定されます。

DEM は DEM 2.0 をサポートしていますか?

KopherSAR DEM は、AUTOSAR Classic Platform 仕様に対応します。お客様が DEM 2.0 に対して特定の要件 (マルチイベント メモリ、DTC の優先順位、その他の高度な機能を含む) を持っている場合は、プロジェクトの構成範囲に応じて調整できます。

スナップショットとOBDフリーズフレームの違いは何ですか?

UDS スナップショットのコンテンツは OEM によって定義されます。 OBD Freeze Frameは、法規によって標準化された信号セットです。OBD 関連の ECU は OBD-II サービス (0x01 ~ 0x0A) を実装する必要があり、KopherSAR DCM は OBD サブモジュールを提供します。

JSON-LD

{
"@context": "https://schema.org",
"@type": "技術記事",
"headline": "AUTOSAR DEM / DCM / FiM: ECU 診断モジュール アーキテクチャ",
"description": "AUTOSAR Classic の 3 つの主要な診断モジュールの責任、DCM および FiM の責任、対話方法、および KopherSAR が完全に実装されています。",
"url": "https://kopherbit.com/knowledge/autosar-dem-dcm-fim-diagnostics/",
"公開日": "2026-05-09",
"dateModified": "2026-05-09",
"inLanguage": "zh-TW",
"キーワード": ["DEM""DCM""FiM""AUTOSAR""診断""UDS""DTC"],
"articleSection": "診断",
"著者": { "@type": "組織", "名前": "KopherBit", "url": "https://kopherbit.com" },
"publisher": { "@type": "組織", "name": "KopherBit", "logo": { "@type": "ImageObject", "url": "https://kopherbit.com/logo.png" } }
}