HSI — Hardware-Software Interface 文档
本质与导读
本质:HSI 是 ISO 26262 项目里 Part 4 / Part 5 / Part 6 之间的合同。任何寄存器映射、中断号、配置参数、诊断标志、安全机制都必须显式写在这份受控文档里,三方(系统 / 硬件 / 软件)联合签字才算落地。审计员开口第一句话经常是"你的 HSI 文档版本号?"——因为 HSI 漏一项或不同步,就是 build 错产品、release 前才被发现要返工的根因。本页把 HSI 的 5 类必含信息、3 方签字制度、变更生命周期、逆变器实战示例串成一份能直接当 review checklist 用的实务指南。
1. HSI 为什么是三方契约
ISO 26262 把硬件设计(Part 5)和软件设计(Part 6)拆成两本独立标准,两侧靠 HSI 这份文档对接。Part 4(系统)给出 TSC,Part 5 写硬件需求规范、Part 6 写软件需求规范,HSI 把两侧的约束精确锁定下来:寄存器在哪个地址、中断号是几号、配置写一次就 lock、错误位读后写清。任意一方单方面改动而不同步,另一方 build 出来就和硬件对不上。
工程实务上,系统架构师拟初稿、硬件和软件 lead 联审,三方签字才进版本控制。变更走 6 步 CCB 流程(见 §5)。Part 4-6.4.6 明确写"HSI shall be jointly agreed by system, hardware and software development"——这是车规审计员引用频次最高的条款之一。
2. HSI 必含 5 类信息
Part 6 Clause 6.4.6 + Part 4 Annex B 一起规定 HSI 必须涵盖 5 类信息。任一类缺失都不算合规 HSI,审计员会逐类问"⑤ 安全机制在哪一页?"
5 类内容速览:
| 类 | 内容 | 例子 |
|---|---|---|
| ① HW resources | 寄存器映射 / 中断号 / DMA 通道 / 共享 RAM 区 / 外设 base addr | ADC0 = 0x40012000,IRQ24 = FaultLine |
| ② Config params | PLL 倍频 / Flash wait-state / ADC 采样窗 / PWM 死区 / WDT 超时 | PWM = 10 kHz,死区 = |
| ③ Constraints | 读写顺序 / 中断屏蔽窗口 / 资源互斥 / 写保护期 / 复位顺序 | lock 后写 X → HardFault |
| ④ Diagnostics | ECC 状态位 / 奇偶 flag / 温度告警 / BIST 触发寄存器 / 硬件错误码 | DERR_STA[3] = 1 → SafeState |
| ⑤ Safety mech | Lockstep 状态 / MPU/DAM 配置 / WDT 喂狗序列 / SafeState 进入路径 | SMU_CTRL.SS = 1 → 切母线 |
第 ⑤ 类是审计员重点查的部分——必须每项标注 ASIL 等级 + SW 响应路径。
3. 逆变器 HSI 节选示例
下面是一份典型 800V 主驱 ECU 的 HSI 节选,覆盖 ADC 同步采样、PWM 死区、Fault IRQ、ECC、WDT、Lockstep 状态六大类。每行有唯一 ID + ASIL + verification status,实际项目单 ECU 量级 200-500 行。
工程要点:
- ADC
SYNC = PWM_CC0:采样窗对齐 PWM 中点 ,确保电流采样不踩开关瞬态。SW 不可运行时改 sync 源,校验回读 ≠ 写值 → 进 SafeState。 - PWM 死区
$1.5\ \mu s$@ 100 MHz:写保护,lock 后写 → HardFault;CRC 入 calib 区,启动验校。 - Fault IRQ vector 24:latency 必须 < ,NMI 级 priority 0;ISR 直接拉 GATE_OFF,不进调度器。
- RAM ECC
DERR_STA:双 bit 错(unrecoverable)立刻进 SafeState;单 bit 计数 + 日志,周期阈值触发降级。 - WDT 喂狗
0x55AA / 0xAA55序列:windowed key,早 / 晚都 reset,迫使 SW 用主循环喂狗而非中断里。 - Lockstep
SMU_CTRL.SS:HW 置 1 = 已切 SafeState,SW 只读不参与状态机决策——避免软件再误清错误位。
实际项目 HSI 单条目还要附:verification method(static review / functional test / fault injection)、owner(HW / SW / Sys 三方某人)、status(open / verified / waived)、linked TSR(追溯到 TSC 哪一条)。
4. HSI 不能用 Excel 维护
200-500 行 + 每行 6-8 列 + 双向追溯到 TSC / SW SR / 测试用例 + 三方签字时间戳——Excel 维护不到一个月就崩。ASIL D 项目必须用受控工具:
| 工具 | 适用 | 优点 | 痛点 |
|---|---|---|---|
| Excel + Git | < 50 项 / Demo 项目 | 零成本,版本可追 | 无 baseline 锁、追溯需手维 |
| Polarion ALM | 中-大型 Tier-1 项目 | DOORS-class 追溯 / 集成 V-cycle | 许可贵 (~5k USD/seat 年) |
| DOORS Next | 大型 OEM 项目 | 业界标准、ASIL D 项目首选 | 学习曲线、UI 陈旧 |
| Codebeamer | 中型 + Agile 项目 | 现代 UI / API 易集成 | 国内代理稀少 |
| Jama Connect | OEM 跨域协同 | 跨地域协作好 | 性能弱、宏视图差 |
判断阈值:HSI 行数 > 50 或 ASIL ≥ C 或 OEM-Tier1 协同必装 DOORS / Polarion / Codebeamer 之一。
5. HSI 变更生命周期
任何一方提出 HSI 改动都走 6 步——CCB(Change Control Board)是审批节点。紧急改动允许 24 小时 cycle,但三方签字一项都不能省。
| 步 | 责任方 | 关键产出 |
|---|---|---|
| ① Change Request | 提案方(Sys/HW/SW 任一) | CR 编号 + 描述 + 紧迫度 |
| ② Impact Analysis | 三方 + Safety Engineer | 受影响 work product 清单 |
| ③ Safety Impact Analysis (SIA) | Safety Engineer | yes/no + 是否触发 HARA 重审 |
| ④ 三方 Review (CCB) | Sys + HW + SW lead + SE | 决策 approve / reject / defer |
| ⑤ Version bump + tag | Configuration Mgr | v1.3 → v1.4,changelog 写明 |
| ⑥ Distribute | CM + Tooling | 推 Part 5/6 团队,触发回归 |
审计员最爱问的问题:"上次 v1.4 改了什么?三方都谁签的?触发了哪些回归?"——所以 changelog 必须可追溯。
6. 5 大常见 HSI 缺陷
实战中 ASIL D 项目 Confirmation Review 阶段被打回的 HSI 缺陷,Top 5:
- HSI 缺 ⑤ 安全机制类。只列了 HW resources 和 config,没标 Lockstep / SMU / SafeState 入口——直接被 Confirmation reviewer 退回。
- 三方签字过期。半年内有人离职 / 换岗,但 HSI 没重签——等于无 owner,审计员判定未签 = 未交付。
- 变更没走 CCB。改了 IRQ priority 但只在 commit log 提了一句,SW 团队不知道——回归测试漏掉 → 集成阶段才发现 latency 超标。
- 追溯断链。HSI 条目改了但对应的 TSR / SW SR / 测试用例没同步——FMEDA 重算时拉不出依赖。
- HSI 写在代码注释里而不是文档。常见于"工程师懒"的小公司——SW 把寄存器宏注释成 HSI、然后版本控制只追代码不追 HSI——OEM 审计立刻判 "no controlled HSI"。
7. 与其他 work product 的接口
HSI 不孤立存在,输入是 TSC + HSI 初稿,输出影响 Part 5/6 全套设计。下游影响范围:
- TSC(Part 4 输出)→ HSI 是 TSC 的技术实例化。TSC 改"扭矩超 5% 进 SafeState",HSI 要落到具体 IRQ / 寄存器。
- HW SR(Part 5)→ HSI ① ② ④ 直接对硬件需求生成约束。硬件设计师按 HSI 选 SoC、定 ADC 通道、画 PCB。
- SW SR(Part 6)→ HSI ② ③ ⑤ 是软件驱动的输入。SW lead 必须每条 HSI 都映射到 driver 实现。
- FMEDA(Part 5)→ ④ Diagnostics 项决定 DC 数值——HSI 改 → FMEDA 重算 SPFM/LFM。
- Safety Validation(Part 4)→ HSI ⑤ Safety mech 每条都要 fault injection 测试覆盖。
结论:改 HSI 一条,至少有 5 个下游 work product 要同步。这就是为什么 CCB 流程不能省。
8. ASIL 等级与 HSI 严格度
不同 ASIL 项目对 HSI 严格度要求不同:
| ASIL | HSI 严格度 | 工具 | 三方签字 |
|---|---|---|---|
| QM | 可以 wiki / Markdown | Git 版本即可 | 建议但不强制 |
| A | 受控文档(Excel + Git) | Excel 可接受 | I1 reviewer |
| B | DOORS / Polarion / Codebeamer | 选其一 | I2 reviewer |
| C | DOORS / Polarion 必须 | 强制 | I2 + 部分 I3 |
| D | DOORS / Polarion + Tool Qualification | TCL2+ | I3 全程 |
ASIL D 项目 HSI 改一条 → CCB → SIA → 三方 Review → FMEDA 重算 → 回归测试 → release note,平均 cycle 5-7 工作日。
核心要点
- HSI = Part 4 / Part 5 / Part 6 三方契约,不是单方"硬件交付物"。
- 5 类必含:HW resources / Config / Constraints / Diagnostics / Safety mech——缺一不合规。
- 三方联合签字(Part 6-6.4.6)是审计员引用频次最高的条款之一。
- 逆变器 HSI 单 ECU 量级:200-500 行,覆盖 ADC 同步、PWM 死区、Fault IRQ、ECC、WDT、Lockstep 等。
- Excel 维护不到一个月就崩——ASIL ≥ C 必上 DOORS / Polarion / Codebeamer。
- 变更走 6 步 CCB,紧急改动也不能省三方签字。
- 改 HSI 一条至少 5 个下游 work product 要同步——TSC / HW SR / SW SR / FMEDA / Sa.Val。
- 5 大常见缺陷:漏安全机制类 / 签字过期 / 变更绕 CCB / 追溯断链 / HSI 写在代码注释而非受控文档。
Cross-references
- ← 索引
- HSI Document 写作工程化深度 — Tier-1 系统工程师怎么写 HSI 的 12 章 + 5 阶段 SOP + timing 端到端追溯 + shared resource 冲突矩阵(本页是其基础概念,写作 SOP 走深度页)
- topic-iso26262-part4-system — TSC + HSI 系统层视角
- topic-iso26262-part6-software — HSI 对软件的影响
- topic-iso26262-part5-hardware — HSI 对硬件的影响
- topic-functional-safety — 功能安全 hub
- topic-aurix-tc3xx-asil-d — AURIX 实战 HSI 模板
- topic-mcu-sbc-asil-d-integration — MCU+SBC 双芯片 HSI
- topic-safety-assessment-audit — HSI 是审计员高频靶点
- topic-fmea-practical-guide — HSI 改触发 FMEDA 重算
- topic-freedom-from-interference — FFI 配置入 HSI