技術團隊

虛擬 ECU (vECU) 驗證技術:加速軟體定義汽車開發

虛擬 ECU (vECU) 驗證技術:加速軟體定義汽車開發

什麼是虛擬 ECU (vECU)?

虛擬 ECU (Virtual ECU) 是將 ECU 的應用軟體 (Application Software) 與基礎軟體 (Basic Software, BSW) 編譯為可在 PC (Windows/Linux) 上執行的模擬單元。它脫離了對特定微控制器 (MCU) 硬體的依賴,使得軟體開發與測試可以提早進行,實現 “Shift-Left” (左移) 測試策略。

vECU 的層級定義

根據模擬的深度與所包含的軟體層級,vECU 通常分為以下幾個等級:

  • Level 0 (算法模型級):僅包含控制算法模型(如 Simulink 模型或 C 代碼)。在主機環境(PC)編譯,用於早期邏輯驗證,無底層軟體。
  • Level 1 (應用程式級):專注於應用層開發。移除中間件,改用基本的 Runtime 與 I/O 模擬代碼。不包含 RTE、OS 或 BSW,執行速度最快。
  • Level 2 (模擬中間件級):在 L1 基礎上加入生產級中間件(如 RTE、通訊棧、診斷棧),但 OS 仍由模擬代碼替代。適合驗證通訊與診斷服務。
  • Level 3 (生產級中間件級):主機編譯的最高等級。包含完整的生產級 OS 與大部分 BSW 模組。僅硬體相關驅動(如 CAN/ADC 驅動)由模擬代碼替代,最接近真實 ECU 軟體環境。
  • Level 4 (二進位級):目標編譯型,可執行真實 ECU 的二進位代碼(Binary Code)。
    • Level 4a (部分二進位):針對特定功能執行主機擴展(Host Extension),提升模擬效率。
    • Level 4b (完整二進位):完全模擬真實 ECU 的所有軟體層與硬體細節(包括 CPU 指令集、記憶體系統等)。

為什麼需要 vECU?

  • 平行開發:軟體團隊無需等待硬體樣品 (A-Sample/B-Sample) 即可開始整合測試。
  • 高擴展性:在伺服器或雲端環境中,可以同時執行數百個 vECU 實例進行大規模回歸測試。
  • 除錯便利:利用 PC 強大的除錯工具 (如 Visual Studio, GDB) 快速定位邏輯錯誤。

常見驗證技術與工具

Vector vVIRTUALtarget

Vector 提供了完整的 vECU 解決方案 vVIRTUALtarget。它可以將 AUTOSAR 配置 (MICROSAR) 自動生成為 vECU,並無縫整合到 CANoe 環境中。

  • Pro: 模擬完整的 AUTOSAR BSW,包括 OS 排程、中斷與記憶體保護。
  • Basic: 適用於簡單的應用層功能驗證。

Synopsys Silver

Synopsys Silver 是一款領先的虛擬開發與測試平台,支持從簡單的電腦碼到完整的二進制程式碼的 vECU 開發。

  • 快速模擬:能夠在高精確度的情況下實現極快的執行速度,適合大量自動化測試。
  • 多工具整合:可與 MATLAB/Simulink 以及其他的虛擬車輛環境無縫連接。

dSPACE VEOS

dSPACE VEOS 是一個適用於 PC 的模擬平台,專為 ECU 軟體在開發階段的早期驗證而設計。

  • 靈活的模擬架構:支持各個層級的模擬,從功能模組到整車網路。
  • 與 HIL 測試工具鏈同步:與 dSPACE 的 HIL 解決方案具有高度的一致性,方便測試案例在虛擬與實體環境間轉移。

以Vector為例的整合測試流程

  1. 生成 vECU: 使用 DaVinci Configurator Pro 配置 BSW,並透過 vVIRTUALtarget 生成執行檔 (.dll 或 .exe)。
  2. 建構虛擬匯流排: 在 CANoe 中設定虛擬的 CAN/Ethernet 網路。
  3. 執行測試: 將 vECU 掛載到 CANoe 節點上,執行 CAPL 腳本或 vTESTstudio 測試案例。
  4. 故障注入: 模擬通訊中斷、訊號丟失等故障場景,驗證 vECU 的錯誤處理機制。

開源工具整合

除了商業工具,vECU 驗證也可以結合開源生態系:

  • QEMU: 用於模擬特定 MCU 架構 (如 ARM Cortex-R5),執行底層驅動程式測試。
  • SystemC: 用於建立硬體周邊的行為模型。

透過 vECU 技術,車廠與 Tier 1 能夠顯著縮短開發週期,並在軟體發布前大幅提升品質信心。