第1章:嵌入式系统可靠性基础
1.1 为什么可靠性这么重要?
做医疗理疗仪这么多年,我最大的体会就是——可靠性不是锦上添花,而是生死攸关。你想想看,一台理疗仪如果突然死机,或者输出功率失控,后果是什么?轻则治疗中断,重则可能对患者造成伤害。
我入行第三年就遇到过一件事。一台低频理疗仪在临床试验中突然输出异常,患者被电了一下。虽然没造成严重伤害,但那次事故直接导致项目延期半年,公司赔了一大笔钱。从那以后,我对可靠性设计就再也不敢马虎了。
说白了,可靠性就是产品在规定的条件下、规定的时间内,完成规定功能的能力。听起来有点绕口?我换个说法:你希望你的理疗仪在患者使用的时候,别出幺蛾子。
1.2 MTBF——平均无故障时间
MTBF(Mean Time Between Failures)是衡量可靠性的核心指标。它表示产品在两次故障之间的平均工作时间。单位通常是小时。
举个例子:一台理疗仪的MTBF是5000小时,意味着平均每5000小时会出现一次故障。注意,我说的是「平均」。不是每台机器都刚好5000小时坏,而是大量样本统计出来的期望值。
我在项目中见过不少工程师把MTBF当成「保证寿命」,这是错的。MTBF是统计值,不是承诺值。你设计时算出来MTBF是1万小时,不代表每台机器都能用1万小时不坏。
MTBF的计算方法:
MTBF = 总运行时间 / 故障次数
比如10台样机各跑了1000小时,总共出现2次故障,那么MTBF = (10 × 1000) / 2 = 5000小时。
实际项目中,我们常用元器件失效率法来预估MTBF。每个元器件都有失效率λ,单位是FIT(Failures In Time,1 FIT = 10⁻⁹/小时)。整机的失效率就是所有元器件失效率之和,然后MTBF = 1 / λ总。
我的经验:做理疗仪时,电源模块和MCU往往是失效率大头。我习惯在选型阶段就查好每个关键器件的FIT值,提前做预算。别等到设计完了才发现MTBF不达标,那时候改起来就痛苦了。
1.3 故障树分析(FTA)
FTA是一种自上而下的分析方法。我们从顶事件(也就是最不希望发生的事故)出发,一层层往下找原因,直到找到最基本的故障模式。
举个例子:理疗仪的顶事件是「输出过流导致患者灼伤」。往下分析,可能的原因有:
- 电流检测电路失效
- MCU控制逻辑错误
- 功率管短路
- 软件看门狗失效
每个原因还可以继续分解。比如「电流检测电路失效」可能是采样电阻开路、运放损坏、ADC通道故障等等。
FTA的符号规则:
- 矩形:顶事件或中间事件
- 圆形:底事件(基本故障,不再分解)
- 与门:所有输入同时发生,输出才发生
- 或门:任一输入发生,输出就发生
我习惯在项目早期就画FTA。为什么?因为画完你就知道哪些地方是薄弱环节,该加冗余的加冗余,该做诊断的做诊断。我曾经在一个项目中,FTA分析发现「软件死锁」这个底事件概率很高,于是专门加了一个独立硬件看门狗。后来产品上市三年,没出过一次死锁故障。
注意:FTA的准确性取决于你对系统的理解深度。如果漏掉某个底事件,整个分析就白做了。我建议拉上硬件、软件、测试一起评审,别一个人闷头画。
1.4 失效模式与影响分析(FMEA)
FMEA和FTA正好相反。FTA是自上而下,FMEA是自下而上。我们从每个元器件或每个功能模块出发,分析它可能怎么失效,以及失效后对系统的影响。
FMEA的核心是三个指标:
- 严重度(S):失效后果有多严重,1~10分,10分最严重
- 发生度(O):失效发生的概率,1~10分,10分最频繁
- 检测度(D):现有手段能检测出失效的概率,1~10分,10分最难检测
然后计算风险优先数(RPN = S × O × D)。RPN越高,越需要优先处理。
一个真实的FMEA片段(理疗仪输出模块):
| 功能 | 失效模式 | S | O | D | RPN | 改进措施 |
|---|---|---|---|---|---|---|
| 功率输出 | 功率管短路 | 9 | 3 | 6 | 162 | 加串联保险丝+电流检测 |
| 电流采样 | 采样电阻开路 | 7 | 2 | 4 | 56 | 增加冗余采样通道 |
| MCU控制 | 程序跑飞 | 8 | 4 | 5 | 160 | 独立硬件看门狗+CRC校验 |
你看,RPN最高的两个是「功率管短路」和「程序跑飞」。这就是我们设计时要重点关注的。我一般设定RPN超过100就必须整改,低于50可以接受,中间值酌情处理。
避坑指南:我曾经犯过一个错——FMEA只做了一次就扔一边了。后来产品改版,新增了一个功能,但FMEA没更新。结果新功能有个失效模式没被识别,差点出事。现在我的习惯是:每次设计变更,FMEA必须同步更新。这是血的教训。
1.5 三个工具怎么配合使用?
很多新手会问:FTA和FMEA到底用哪个?我的答案是:两个都要用,而且配合着用。
- FTA帮你从顶层往下找原因,适合分析已知的故障场景
- FMEA帮你从底层往上找影响,适合发现未知的故障模式
- MTBF是最终的量化的指标,验证你的设计是否达标
我个人的工作流程是这样的:
- 先做FMEA,列出所有可能的失效模式
- 挑出RPN高的失效模式,用FTA深入分析根因
- 根据分析结果改进设计
- 最后用MTBF预估来验证整体可靠性
说白了,FMEA是「广撒网」,FTA是「深挖洞」,MTBF是「算总账」。三个工具缺一不可。
最后提醒一句:这些分析工具只是手段,不是目的。目的是做出安全可靠的理疗仪。别为了做文档而做文档,我见过有人FMEA写了上百页,但产品该出问题还是出问题。分析完了,一定要落实到设计改进上,否则就是纸上谈兵。
好了,这一章就讲到这里。下一章我们聊聊硬件可靠性设计,包括降额设计、冗余设计和热管理。这些东西在理疗仪里特别实用,到时候我会拿我踩过的坑来举例。