1. 安全概念基础:什么是技术安全概念(TSC)
各位好,我是老张。做了十几年安全架构,今天咱们聊聊技术安全概念——也就是 TSC。这名字听着挺唬人,说白了就是一套技术手段,用来保证系统出故障时不会伤到人。
我刚开始接触这个概念时,也觉得它很虚。直到有一次,我在一个汽车电子项目中,因为 TSC 定义得不够细,导致控制器在极端工况下误动作。嗯,从那以后,我再也不敢小看它了。
1.1 什么是技术安全概念
技术安全概念,英文叫 Technical Safety Concept,简称 TSC。它是从功能安全需求到具体技术实现的桥梁。
你想想看,功能安全告诉你「系统要做什么」,比如「刹车失灵时要自动制动」。但怎么实现?用硬件冗余?用软件监控?用故障诊断?这些具体的技术方案,就是 TSC 要回答的问题。
核心定义:TSC 是将功能安全需求(FSR)转化为具体技术实现方案的文档化过程。它定义了系统在故障情况下如何检测、响应和恢复,以确保达到目标安全完整性等级(SIL/ASIL)。
我个人习惯把 TSC 看作一张「安全路线图」。它告诉你:
- 哪些故障需要检测
- 用什么技术手段检测
- 检测到后怎么响应
- 响应后系统进入什么状态
1.2 TSC 在系统开发中的位置
TSC 不是凭空出现的。它在整个开发流程中,处于一个承上启下的关键位置。
我画了一张图,帮你理解 TSC 在 V 模型开发流程中的位置:
从图中你能看到,TSC 处于 V 模型的左侧下降阶段。它前面是功能安全概念(FSC),后面是硬件和软件的具体实现。
我举个例子帮你理解:
| 开发阶段 | 输入 | 输出 |
|---|---|---|
| 危害分析 | 系统定义、运行场景 | 危害事件、风险等级 |
| 功能安全概念 | 危害分析结果 | 安全目标、功能安全需求 |
| 技术安全概念 | 功能安全需求 | 技术安全需求、系统架构 |
| 硬件/软件实现 | 技术安全需求 | 硬件设计、软件代码 |
我的经验:很多团队在 FSC 阶段做得很好,但到了 TSC 阶段就开始含糊。结果就是,安全需求落地时发现实现不了,或者实现成本太高。TSC 一定要考虑工程可行性。
1.3 TSC 与功能安全的关系
这个问题,我经常被问到。说白了,功能安全和 TSC 的关系,就像「做什么」和「怎么做」的关系。
功能安全关注的是:系统在发生故障时,能不能维持安全状态。它定义的是「安全目标」和「安全需求」。
TSC 关注的是:用什么技术手段来实现这些安全目标。它定义的是「技术方案」和「实现细节」。
我整理了一个对比表,帮你更清楚地理解:
| 维度 | 功能安全 | 技术安全概念(TSC) |
|---|---|---|
| 关注点 | 系统行为(做什么) | 技术实现(怎么做) |
| 抽象层级 | 系统级 | 子系统/组件级 |
| 输出形式 | 安全目标、功能安全需求 | 技术安全需求、系统架构 |
| 验证方式 | 功能测试、故障注入 | 技术评审、仿真分析 |
| 典型内容 | "当车速超过120km/h时,自动限速" | "使用双核锁步CPU,每10ms进行一次比较" |
你看,功能安全告诉你「要限速」,TSC 告诉你「用双核锁步 CPU 来实现限速逻辑」。两者缺一不可。
注意:千万不要把 TSC 写成功能安全需求的翻版。我曾经见过一个项目,TSC 文档就是把 FSC 文档的措辞改了一下,完全没有技术细节。这种 TSC 等于没写,评审时直接被驳回。
1.4 TSC 的核心要素
一个合格的 TSC,至少应该包含以下几个要素:
- 故障检测机制:用什么方法检测故障?比如看门狗、ECC、CRC、双核比较等。
- 故障响应策略:检测到故障后,系统怎么反应?比如降级运行、安全停机、故障报警等。
- 安全状态定义:系统进入什么状态才算安全?比如切断动力输出、保持当前状态、进入休眠等。
- 故障容错时间:从故障发生到系统进入安全状态,允许的最长时间是多少?
- 安全机制分配:每个安全机制分配给哪个硬件或软件模块?
我习惯用一张表格来组织这些要素:
| 安全目标 | 故障类型 | 检测机制 | 响应策略 | 安全状态 | 容错时间 |
|---|---|---|---|---|---|
| 防止非预期加速 | 油门传感器短路 | 双通道比较 | 立即切断油门 | 怠速状态 | 100ms |
| 防止制动失效 | 制动踏板信号丢失 | 信号超时检测 | 启用备用制动 | 减速停车 | 200ms |
| 防止转向失控 | 电机过温 | 温度传感器监控 | 降低助力等级 | 手动模式 | 500ms |
我的建议:写 TSC 时,一定要把「容错时间」写清楚。很多团队只写检测和响应,忽略了时间约束。结果就是,故障检测到了,但响应太慢,系统已经失控了。
1.5 一个简单的 TSC 示例
光说不练假把式。我拿一个电机过温保护的例子,给你看看 TSC 长什么样:
技术安全需求编号:TSR-001
关联安全目标:SG-003(防止电机因过温损坏)
ASIL 等级:ASIL B
故障描述:
电机绕组温度超过 150°C,持续超过 2 秒。
检测机制:
1. 使用 NTC 温度传感器,采样周期 10ms
2. 软件低通滤波,截止频率 5Hz
3. 阈值比较:温度 > 150°C 触发报警
响应策略:
1. 立即降低 PWM 占空比至 50%
2. 向整车控制器发送过温报警信号
3. 如果温度继续上升至 180°C,执行安全停机
安全状态:
电机以 50% 功率降级运行,或完全停机
容错时间:
从温度超限到执行降级,不超过 50ms
分配模块:
温度检测 → 传感器驱动模块
阈值比较 → 安全监控模块
降级控制 → 电机控制模块
你看,一个完整的 TSC 条目,把「谁、什么时候、用什么方法、做什么、做到什么程度」都说清楚了。这才是能落地的安全设计。
总结一下:TSC 不是理论,是工程。它把抽象的安全目标,变成具体的、可实现的、可验证的技术方案。没有好的 TSC,功能安全就是空中楼阁。