HSI — Hardware-Software Interface 文档
本质与导读
本质 HSI 是 ISO 26262 项目里 Part 4 / Part 5 / Part 6 之间的合同。任何寄存器映射、中断号、配置参数、诊断标志、安全机制都必须显式写在这份受控文档里,三方(系统 / 硬件 / 软件)联合签字才算落地。审计员开口第一句话经常是"你的 HSI 文档版本号?"——因为 HSI 漏一项或不同步,就是 build 错产品、release 前才被发现要返工的根因。本页把 HSI 的 5 类必含信息、三方签字制度、变更生命周期、逆变器实战示例串成一份能直接当 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 死区 @ 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. 端到端 Worked Design — TC397 EPS ECU HSI 文档片段
本节展示一份 ASIL D EPS ECU 的 HSI 关键条目,覆盖 5 类 × 10 条,并量化 FTTI 时序预算。真实项目 HSI 单 ECU 量级 200-500 行,本示例抽取最具代表性的安全关键条目作为模板。
系统背景:TC397(Infineon AURIX 三核 Lockstep)+ TLF35584(SBC)+ 1EDI3035AS(gate driver)+ 6× SCT3080AL(SiC MOSFET)。FTTI = 50 ms(ASIL D 扭矩安全)。
6.1 HSI 文档头字段
HSI 受控文档的头字段是追溯与责任的源头——审计员直接对照版本号、基线日期和签字人进行交叉核查:
| 字段 | 示例值 | 说明 |
|---|---|---|
| Doc ID | EPS-ECU-HSI-001 | 唯一编号,入变更管理系统 |
| Version | v1.3 | 语义版本,每次 CCB 后递增 |
| Baseline Date | 2026-03-01 | 冻结后 SW 才可按此设计 |
| ASIL Context | D (分解 B(D)+B(D)) | 决定 HSI 严格度等级 |
| Sys Signatory | Zhang San (Sys Lead) | 三方之一 |
| HW Signatory | Li Si (HW Lead) | 三方之二 |
| SW Signatory | Wang Wu (SW Lead) | 三方之三 |
| Safety Manual Ref | TC397 Safety Manual v2.3 | SEooC 器件 AoU 来源版本 |
6.2 10 条代表性 HSI 条目
每条 HSI 覆盖:ID、类别、需求描述、关键约束值(Part A)和 ASIL、验证、Owner、状态(Part B)。
Part A — 需求与约束
| ID | 类 | 描述 | 关键约束 | ASIL |
|---|---|---|---|---|
| HSI-001 | ① | ADC0 同步触发源 = GTM_CH0 | TRIG0 source = GTM-CH0;不可运行时修改 | D |
| HSI-002 | ② | ADC 采样窗口(PWM 中点) | fsw = 10 kHz,T = 100 µs;中点触发窗 ±0.5 µs;不与开关瞬态区重叠 | D |
| HSI-003 | ② | PWM 死区寄存器 | GTM-TOM DEADTIME = 450 cycles @ 300 MHz = 1.5 µs;写保护;CRC 入 NVM | D |
| HSI-004 | ② | Safety WDT 服务窗口 | Twdt = 10 ms;窗口 = [30%, 70%] = [3 ms, 7 ms];Ttask = 5 ms;5 ms ∈ [3 ms, 7 ms] ✓ | D |
| HSI-005 | ③ | Fault IRQ 向量及优先级 | 向量 24,NMI priority 0;latency < 10 µs;ISR 直接拉 GATE_OFF,禁止进调度器 | D |
| HSI-006 | ③ | SMU 命令写入顺序 | SCMD = 0x4 (ASCE) 激活 SafeState;写顺序不可颠倒;激活后 100 ms 内禁止 SW 清除 SMU_CMD | D |
| HSI-007 | ④ | RAM ECC 双 bit 错标志 | SMU_AG3.SF3 = 1 → 双 bit 不可恢复错误 → 立即进 SafeState;单 bit 计数 + 日志,阈值触发降级 | D |
| HSI-008 | ④ | Lockstep 比较错误标志 | SMU_AG0.SF0 → CPU Lockstep 比较失配 → 立即 SafeState;响应必须在 FDTI = 30 ms 内完成 | D |
| HSI-009 | ⑤ | SMU_SMR 安全模式寄存器 | SW 只读;HW 在 SafeState 下置位;SW 禁止清除——防软件遮盖 HW 检出的故障 | D |
| HSI-010 | ⑤ | TLF35584 FS0B 路径 | SMU_AG* 告警 → TLF35584 FS0B LOW → 1EDI3035AS EN LOW → PWM 关断;全链路时延 < 10 ms | D |
Part B — 验证状态
| ID | 验证方法 | Owner | 状态 |
|---|---|---|---|
| HSI-001 | Static review | HW | Verified |
| HSI-002 | Func test | SW | Verified |
| HSI-003 | Static + FI | HW | Verified |
| HSI-004 | Func test | SW | Verified |
| HSI-005 | Timing meas | SW | Verified |
| HSI-006 | Static review | SW | Open |
| HSI-007 | FI | SW | Verified |
| HSI-008 | FI | SW | Verified |
| HSI-009 | Static review | SW | Verified |
| HSI-010 | FI + timing | SYS | Verified |
6.3 FTTI 时序预算推导
从 HSI 条目出发,FTTI 预算必须端到端量化——否则 HSI 只是"数字列表",不是安全约束文件:
FTTI = 50 ms(EPS ASIL D 扭矩路径)
SW 路径:
- FDTI_SW = 30 ms:200 Hz 扭矩环每 5 ms 检测一次,6 个周期 × 5 ms = 30 ms 检测窗
- FRTI_SW = 5 ms:下一个 5 ms 任务周期内完成 SafeState 指令
- 余量 = 50 − 35 = 15 ms(30%)
HW 路径(DESAT → FS0B → PWM 关断):
- 源自 topic-desat-protection worked design:tblank + tdetect ≈ 1.2 µs;HSI-010 全链 < 10 ms 为 HW 路径 FRTI 上限
ADC 采样窗口合规性(HSI-002):
关键在于区分采样点与开关边沿。中心对齐 PWM 的开关边沿发生在占空比翻转处,而载波峰/谷(即"PWM 中点")恰好落在导通(或关断)区间的正中——这正是选它做 ADC 触发点的原因:它离最近的开关边沿最远,而非落在开关瞬态里。以 ()、占空比 50% 为例,采样点到最近开关边沿约 :
故采样窗与开关瞬态区不重叠 ✓,HSI-002 合规成立(对应 Part B 标 Verified)。注:切勿把开关瞬态区误摆到周期中点(采样点所在处)——那样会算出虚假重叠。实际 EV 逆变器用三角载波峰/谷触发 ADC,精确触发点与死区裕量仍需在具体 GTM 配置中核验;HSI 条目应注明"ADC trigger locked to GTM carrier peak,不允许软件改变触发源"。
6.4 FMEDA DC 贡献映射
HSI-007、HSI-008、HSI-009 三条安全机制直接贡献到 FMEDA 的诊断覆盖率(DC)分子——任何一条 HSI 条目 status=Open,对应 SM 的 DC 不能计入:
| HSI ID | 对应 SM | DC 贡献 | FMEDA 影响 |
|---|---|---|---|
| HSI-007 | RAM ECC(双 bit → SafeState) | 99% (ASIL D 目标) | 贡献 SPFM 分子;DC 漏算 → SPFM 低估 |
| HSI-008 | Lockstep 比较 | 99% | 贡献 SPFM 分子 |
| HSI-009 | SMU_SMR 只读策略 | 验证 SW 不会清错误位 | 间接维护 DC 的有效性 |
HSI 条目未 Verified 时,审计员会要求将对应 SM 的 DC 回退到 0%,导致 SPFM 不达标。
7. 设计陷阱 G1–G7
HSI 文档有七类高频、高代价的设计陷阱,多数到集成后期才暴露,修复成本极高。
G1: HSI 缺 ⑤ 安全机制类
审计员第一优先查类别⑤。只列了 HW resources 和 config,没有 Lockstep 状态读取约束、SMU SafeState 进入路径、WDT 服务序列——Confirmation Reviewer 直接退回,导致 HSI 版本冻结推迟 2-4 周。根因:安全机制通常在系统层设计时已决定,但"写进 HSI"这一动作被遗漏。
G2: 三方签字过期
HSI 签字人离职或换岗后,文件变成"无主文件"——审计员判定"未签 = 未交付"。规模 200 人以上的 Tier-1 项目,3 年开发周期内签字人变动概率接近 100%。纪律:每次 CCB 后若签字人已变动,必须新签字人重审并签字,不能沿用前任。
G3: 变更没走 CCB
最危险的场景:HW lead 把 Fault IRQ 优先级从 0 改为 5(认为是"小改"),SW 团队不知道 → ISR latency 假设失效 → 集成测试时 FTTI 超标才发现。即使是"只改一个 bit"的 HSI 修改,都必须走 CCB → SIA → 三方 Review,否则追溯链断裂。
G4: 追溯断链
HSI-008 的 ECC 告警寄存器地址从 SMU_AG3.SF3 变成了 SMU_AG2.SF5(MCU 版本升级),但 FMEDA 里的 DC 计算还引用旧地址的覆盖描述。FMEDA 重算时找不到这条 HSI 与测试用例的链接 → 审计员判定 DC 不可信 → SPFM 重新核算可能不达标。
G5: HSI 写在代码注释里
常见于初创公司或学术衍生项目:SW 把寄存器宏用注释标注为"HSI",但代码注释没有版本控制基线、没有签字、没有 CCB 历史。OEM 审计员看到"HSI 文档"指向 GitHub README → 立刻判定"no controlled HSI"→ 整批 ASIL D work product 被挂起。
G6: Safety Manual 版本不同步
TC397 Safety Manual v2.3 规定 WDT 服务窗口为 30-70%;如果厂商发布 v2.4 将窗口收紧为 40-60%,而系统 HSI 未更新,则 SW 仍按 30-70% 服务 → 实际上不满足 AoU → ASIL D 声明失效。芯片厂商 Safety Manual 更新通知必须强制触发 HSI Change Review,不能等到下个 milestone 才对齐。
8. 工作极限 C1–C3
三种场景下 HSI 管理面临结构性压力,需要在系统层预先规划缓解。
C1: 变更速度瓶颈 — 晚期集成压力
EPS ECU 进入系统集成阶段(距 SOP T-3 个月),SW 发现 ADC 触发时序假设与实际 GTM 实现不符 → 提出 HSI-002 变更 → CCB → SIA → ASIL D 三方 Review = 5-7 个工作日。若同期还有 3 条待审 CR,串行走完需 15-21 天,集成冻结直接推迟 3 周。缓解:HSI 草稿在 Part 6 设计启动前完成并通过三方 Review;独立无依赖的 CR 可并行进 CCB;紧急 CR 设立 24 小时快速通道(但签字不可省)。
C2: SEooC 双层 HSI — Safety Manual AoU 是隐式第一层
TC397 Safety Manual 规定的 AoU(Assumptions of Use)是芯片级 HSI(第一层);系统 HSI 是第二层。第一层发生变化时,第二层必须联动更新。典型场景:Safety Manual v2.4 新增 AoU"SW 激活 ASCE 命令后 100 ms 内禁止清除 SMU_CMD"(HSI-006 中已有此约束),但初版系统 HSI(基于 v2.3)未包含此项。集成测试时 SW 复位 SMU_CMD 触发安全机制误清 → FI 测试失败 → 追溯发现 AoU 未进系统 HSI。纪律:系统 HSI 头字段显式记录 Safety Manual 版本号;厂商更新通知 → 30 天内必须 HSI Review 对齐。
C3: 跨 MCU HSI 条目遗漏 — 多处理器接口盲区
EPS ECU 采用双 MCU 冗余架构(MCU-A ASIL D 监控 + MCU-B ASIL C 控制),两者通过内部 SPI 总线交换心跳和 CRC 校验。MCU-A 的 HSI 文档只描述 MCU-A 自身寄存器;MCU-B 的 HSI 只描述 MCU-B 自身。两份 HSI 都没有 inter-MCU 接口条目:SPI 帧格式、心跳超时(Thb)、CRC 多项式、共享 RAM 的地址分区。集成时双方对 SPI 帧大小、超时阈值各有假设 → 集成测试第一天就崩。缓解:创建"Inter-Processor HSI"专节(或独立文档)覆盖:共享内存布局、SPI 协议帧格式、心跳/挑战-应答时序、FTTI 贡献分配;三方签字覆盖到这份 inter-HSI。
9. 与其他 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 流程不能省。
10. 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 实战(TC397 EPS ECU):FTTI 50 ms → SW 路径 FDTI + FRTI = 35 ms 余量 30%;WDT 服务窗 [3, 7] ms @ 10 ms 超时,5 ms 任务周期服务 ∈ 窗口 ✓。
- Excel 维护不到一个月就崩——ASIL ≥ C 必上 DOORS / Polarion / Codebeamer。
- 变更走 6 步 CCB,紧急改动也不能省三方签字,ASIL D 均值 5-7 个工作日/条。
- 改 HSI 一条至少 5 个下游 work product 要同步——TSC / HW SR / SW SR / FMEDA / Safety Validation。
- 7 大陷阱:缺安全机制类 / 签字过期 / 绕 CCB / 追溯断链 / 代码注释代 HSI / Safety Manual 版本不同步 / ASIL 分解路径共用 SM。
- 3 极限场景:晚期变更瓶颈(5-7 天/条 × 并发 CR)/ SEooC 双层 AoU 未联动 / 跨 MCU 接口条目盲区。
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