KopherBit
控制器

KCU 高位/低位驅動 (High Side / Low Side Driver) 模塊

KCU GEN1 / GEN2 提供整合式高位驅動 (HSD) 與低位驅動 (LSD) 模塊,支援 PWM 輸出、負載電流量測與通道診斷。本文整理 KopherBit 在 KopherSAR Driver Interface 中的 HSD / LSD API、診斷流程與 BSW 整合方式。

Summary

KCU 提供整合式 High Side Driver (HSD)Low Side Driver (LSD) 模塊,可直接驅動繼電器、馬達、燈具等車輛致動器,部分通道支援 PWM 輸出。KopherBit 在 KopherSAR Driver Interface 中提供標準化 API,包含輸出設定 (HS_SetOutput / LS_UpdateOutputState)、診斷觸發 (HS_Diagnosis_Enabler / LS_RunDiagnosis)、診斷讀取 (*_GetDiagnosisResult)、診斷清除 (*_CleanDiagnosis)、HSD 負載電流量測 (HS_GetLoadCurrent) 等功能,可直接整合於應用層 SWC。

Technical Role

HSD / LSD 是車用 ECU 控制致動器的物理介面:

  • High Side Driver (HSD):將電源 (VBATT) 連接到負載,負載另一端接地。常用於需要受保護電源的負載,如繼電器、燈、加熱元件。
  • Low Side Driver (LSD):將負載另一端連接到地,電源從外部供應。常用於高頻 PWM 控制(如電機 PWM、燈光調光)。

KopherBit 在 KCU GEN1 上將 HSD / LSD 封裝為 KopherSAR Driver Interface 模塊(屬於 ECU Abstraction Layer),讓應用層 SWC 不需直接觸及 SPI 切換 IC 或 MCU PWM 暫存器。

API 一覽

Low Side Driver (LSD) API

API功能
LS_UpdateOutputState更新 LSD 輸出狀態至暫存記憶體(後續由 BSW 應用至實體 IC)。
LS_GetOutputStatus從暫存記憶體取得指定 LSD 通道的輸出狀態。
LS_RunDiagnosis執行 LSD 各通道診斷並存入暫存記憶體。
LS_RunTimeModeCfg執行時動態配置 LSD 腳位功能(僅 Demo 用途)。
LS_GetDiagnosisResult取得選定 LSD 通道的診斷結果。
LS_CleanDiagnosis清除診斷錯誤狀態。

High Side Driver (HSD) API

API功能
HS_SetOutput設置 HSD 輸出狀態。
HS_Diagnosis_Enabler開啟 / 關閉 HSD 診斷功能。
HS_GetLoadCurrent取得選擇 HSD 通道的負載電流量測值。
HS_RunTimeModeCfg執行時動態配置 HSD 腳位功能(僅 Demo 用途)。
HS_GetDiagnosisResult取得診斷資訊。
HS_CleanDiagnosis清除診斷資訊。

Architecture

層級角色
Application Layer (SWC)呼叫 HS_/LS_ API,操作致動器並讀取診斷。
KopherSAR Driver Interface提供 HS_/LS_ 標準化 API,封裝 SPI / GPIO 細節。
BSW MCAL (Pwm / Dio / Spi)對應 MCU 與切換 IC(如 VNF1248FTR、TLE9104SH)的低階驅動。
Hardware (HSD / LSD IC)實體切換 IC,負責電源切換與保護。
DEM (Diagnostic Event Manager)記錄 HSD / LSD 診斷錯誤為 DTC。

Key Capabilities

  • PWM 輸出:KCU GEN1 LSD 18 路(含 4×PWM)、HSD 10 路(含 3×PWM);GEN2 LSD 28 路 PWM、HSD 6 路 PWM。
  • 負載電流量測:HSD 提供 HS_GetLoadCurrent 即時讀取通道電流,可用於負載偵測或閉迴路控制。
  • 整合診斷:開路、短路、過熱、過電流偵測,透過 *_GetDiagnosisResult 讀回,並可由應用層轉換為 DTC。
  • 暫存記憶體更新模式:LSD 採「先寫暫存 → BSW 統一刷新」模式,避免高頻 SPI 寫入。
  • 執行時配置:提供 *_RunTimeModeCfg 供 Demo 階段彈性切換腳位(量產建議於配置階段固定)。

Engineering Inputs Required

輸入用途
致動器清單與電流等級決定使用 HSD 還是 LSD、PWM 通道分配。
PWM 頻率與佔空比範圍配置 PWM 模組與診斷判讀條件。
診斷需求開路 / 短路 / 過熱 / 過電流偵測啟用範圍。
DTC 對應將通道診斷結果映射至 DEM DTC。
安全要求是否需要冗餘輸出、過電流自動關閉、Failsafe 反應。

How KopherBit Supports This

  • 基礎軟體:KopherSAR Driver Interface 提供標準化 HSD / LSD API。
  • 配置工具:KopherConfig 將通道分配與診斷參數匯出為 BSW 配置。
  • 診斷整合:DEM 模組可直接接收 HSD/LSD 診斷結果並轉為 DTC,再由 UDS 0x19 服務讀出。
  • 驗證:KCU 平台 Testbench 提供致動器迴路與診斷觸發測試。

FAQ

HSD 與 LSD 該如何選擇?

需要受保護電源連接(如車外燈具,避免線路接地短路時持續通電)→ 選 HSD;需要高頻 PWM 與較高效率(如電機 PWM)→ 選 LSD。實際選擇也與 ECU 接線、保險絲設計有關。

*_RunTimeModeCfg 是否可用於量產?

不建議。*_RunTimeModeCfg 提供 Demo / 開發階段彈性切換腳位功能,但執行時改變配置會增加除錯難度與失效模式。量產建議於 BSW 配置階段固定通道功能。

為何 LSD 採暫存記憶體更新而非直接寫入?

LSD 通道往往透過 SPI 連接外部切換 IC,若每次 LS_UpdateOutputState 都立即寫入會導致 SPI 流量爆增。BSW 統一在 cyclic task 中將暫存值刷新到實體 IC,可控制 SPI 利用率並避免重複寫入。

HSD 負載電流量測精度為何?

精度依使用的 HSD IC 而定。KopherBit 主要採用 VNF1248FTR、TLE9104SH 等內建電流量測之 IC,誤差約 ±10–15% (full scale)。詳細以實際選用 IC datasheet 為準。

診斷觸發後 DTC 是否會自動產生?

需在 KopherSAR DEM 中配置對應 EventId 與診斷條件。應用層呼叫 Dem_SetEventStatus 或在 BSW 中設定自動鏈接,由 DEM 將診斷結果轉為 DTC。

JSON-LD

{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "KCU 高位/低位驅動 (High Side / Low Side Driver) 模塊",
  "description": "KCU GEN1/GEN2 提供整合式 HSD / LSD 模塊,支援 PWM、負載電流量測與通道診斷,並透過 KopherSAR Driver Interface 標準化 API。",
  "url": "https://kopherbit.com/knowledge/low-side-high-side-drivers/",
  "datePublished": "2026-05-09",
  "dateModified": "2026-05-09",
  "inLanguage": "zh-TW",
  "keywords": ["High Side Driver", "Low Side Driver", "HSD", "LSD", "PWM", "致動器"],
  "articleSection": "Controller",
  "author": { "@type": "Organization", "name": "KopherBit", "url": "https://kopherbit.com" },
  "publisher": { "@type": "Organization", "name": "KopherBit", "logo": { "@type": "ImageObject", "url": "https://kopherbit.com/logo.png" } }
}