freedom from interference、partitioning、層級架構
SWE.2 軟體架構設計:把軟體需求分配到架構元件,定義層級結構、介面與靜態/動態關係,並確保高 ASIL 元件不受干擾。
| 層 | 職責 | ASIL 考量 |
|---|---|---|
| 應用層 | AEB 決策、TTC | 通常最高 ASIL(D) |
| 服務層 | 排程、通訊、日誌 | 視分配而定 |
| 驅動層 | CAN、ADC、GPIO | 需證明不受其他層干擾 |
高 ASIL 元件要避免被其他元件「干擾」而失效,干擾面向包括:
| 干擾類型 | 例子 | 緩解 |
|---|---|---|
| 時序 | 低優先任務拖垮安全任務 | 優先權 + 靜態排程 |
| 記憶體 | 越界覆寫安全資料 | MPU 分區、記憶體保護 |
| 資源 | CPU/匯流排壅塞 | 頻寬預算與監視 |
| 通訊 | 訊息錯誤/偽冒 | CRC、計數器、驗證 |
┌─ 應用層 ─────────────────────────────┐
│ [AEB 決策](ASIL D)[警示](ASIL B) │
├─ 服務層 ─────────────────────────────┤
│ [SafeOS 排程](ASIL D)[通訊](ASIL C)│
├─ 驅動層 ─────────────────────────────┤
│ [CAN] [Watchdog] [GPIO](皆受 MPU 隔離)│
└──────────────────────────────────────┘
分配範例:
SWR-AEB-011 → AEB 決策模組
SWR-AEB-012 → 通訊層(雷達解析)
SWR-AEB-014 → SafeOS 安全狀態管理
隔離:AEB 決策與警示模組位於不同 MPU 分區;
Watchdog 獨立監視,逾時 → 強制安全狀態。
動手:畫出你專案的軟體架構圖,標出每個元件的 ASIL 與隔離方式。
Freedom from interference 不是在架構圖上畫一條虛線,而是要回答低 ASIL 或非安全元件如何可能影響高 ASIL 元件,再逐一封鎖這些路徑。至少要檢查時間、記憶體、通訊與控制流:低優先任務是否能讓安全任務逾時?錯誤指標是否能覆寫安全資料?共享 buffer 是否有所有權與範圍檢查?重置、例外與診斷是否會把系統帶到不安全狀態?
| 干擾路徑 | 證明問題 | 常見證據 |
|---|---|---|
| 時間 | 最壞執行時間是否仍滿足 FTTI? | WCET、排程分析 |
| 記憶體 | 是否能讀寫別的分區? | MPU 設定、違規測試 |
| 通訊 | 錯誤訊息會不會被信任? | CRC、計數器、拒絕測試 |
| 控制 | 非安全程式能否改安全狀態? | 權限設計、故障注入 |
問題:QM 日誌任務與 ASIL D AEB 任務共享事件 buffer。 風險:日誌任務寫入超界,覆寫 AEB 的狀態旗標。 設計:分離記憶體區、只讀狀態快照、長度檢查、MPU 權限; 違規時觸發例外並進入預定安全狀態。 證據:靜態配置審查 + 越界故障注入 + 回歸測試報告。
架構評審可使用「如果低 ASIL 元件失控,會怎麼影響高 ASIL 元件?」作為固定問題。答案必須落到權限、時間預算、介面驗證或故障反應,而不能只引用「已隔離」四個字。
系統:進階駕駛輔助系統(ADAS) 元件 ASIL 分配: 雷達模組:ASIL C 攝影機模組:ASIL B 融合控制器:ASIL D 顯示器(HMI):ASIL A 安全分析方法選擇: ┌────────────────────────────────────────────────────────────┐ │ 1. FMEA(Part 4 §7.4.4): │ │ 目的:自下而上分析每個元件的故障模式 │ │ 應用:雷達模組的單一故障分析 │ │ 產出:FMEA 表格(含故障模式、影響、偵測率、RPN) │ │ │ │ 2. FTA(Part 4 §7.4.4): │ │ 目的:自上而下分析頂端事件的因果鏈 │ │ 應用:「AEB 誤觸發」的頂端事件分析 │ │ 產出:FTA 邏輯樹(含 AND/OR 門、概率計算) │ │ │ │ 3. 安全矩陣分析(Part 9 §7): │ │ 目的:識別 ASIL 分解後的獨立性要求 │ │ 應用:融合控制器的冗餘通道分析 │ │ 產出:安全矩陣(通道 A × 通道 B 的 ASIL 分配) │ │ │ │ 4. HAZOP(Part 9 §6): │ │ 目的:系統性識別偏離正常操作的危險 │ │ 應用:感測器融合演算法的邊界條件分析 │ │ 產出:HAZOP 工作表(含引導詞、偏離、原因、後果) │ └────────────────────────────────────────────────────────────┘ 多 ASIL 混合的關鍵挑戰: • 通訊通道的 ASIL 等級:取最高 ASIL(ASIL D) • 記憶體保護:按最高 ASIL(ASIL D)配置 MPU • 時間分区:按最嚴格的 FTTI(融合控制器:50ms)設計
ISO 26262 Part 9 §6-7 要求進行「安全分析」(Safety Analysis), 但未限定具體方法——FMEA、FTA、HAZOP、STPA 等均可接受。關鍵在於分析方法必須與 系統複雜度和 ASIL 等級匹配。
核心概念:「ASIL 等級继承」。當多個不同 ASIL 的元件共享通訊通道時, 通道的 ASIL 等級取最高值(Part 9 §5.4.3)。這是域控制器架構設計的關鍵約束—— 低 ASIL 元件的故障可能影響高 ASIL 元件的通訊。
| 症狀 | 可能原因 | 解決方案 |
|---|---|---|
| FMEA 結果與 FTA 結果不一致 | 分析角度不同(自下而上 vs 自上而下) | 交叉驗證:FMEA 的高 RPN 項目必須在 FTA 中有對應的最小割集合 |
| HAZOP 識別的危險場景過多 | 引導詞(Guide Word)設定過於寬泛 | 聚焦於安全關鍵場景,使用 ASIL 等級過濾低風險偏離 |
| 安全分析結果未更新到設計文件 | 安全分析與設計流程脫節 | 建立安全分析結果到設計文件的追溯機制,變更時同步更新 |