3、硬件原理图设计(上):电源电路设计、MCU最小系统、ESD与EMC防护
各位同学,欢迎来到硬件原理图设计的第一部分。今天咱们聊点实在的——电源、MCU最小系统,还有那些让人头疼的ESD和EMC问题。这些东西,说白了就是嵌入式系统的“心脏”和“骨架”。心脏跳不好,骨架搭不稳,后面软件写得再漂亮也是白搭。
我做了十年医疗电子,见过太多因为电源纹波大导致传感器读数飘移的案例。也见过MCU复位电路设计不当,设备在病房里隔三差五死机。嗯,这些坑我都踩过。今天我把它们掰开了揉碎了讲给你听。
3.1 电源电路设计:LDO、DC-DC、电池充电管理IC
电源设计是硬件工程师的基本功。理疗仪这类产品,通常需要多路电压:比如MCU核心1.8V或3.3V,模拟前端5V,电机驱动可能用到12V。怎么选电源方案?我个人的习惯是:先看电流需求,再看噪声要求。
3.1.1 LDO(低压差线性稳压器)
LDO的优点就是干净、简单。输出纹波可以做到几十微伏级别,非常适合给模拟电路供电。我在项目中遇到过,给心电信号采集前端供电时,用了DC-DC,结果50mV的纹波直接淹没了微弱的生物电信号。后来换成LDO,问题立刻解决。
选LDO时,有几个关键参数你得盯紧了:
- 压差(Dropout Voltage):输入输出之间的最小压差。比如你从5V转3.3V,压差1.7V,大部分LDO都能搞定。但如果你从3.6V锂电池转3.3V,压差只有0.3V,那就得选低压差型的LDO,比如TPS7A系列。
- 静态电流(Iq):电池供电的设备,这个值越小越好。我见过有人选了个Iq=2mA的LDO,结果待机电流直接超标。对于理疗仪这种需要长时间待机的产品,Iq最好控制在10μA以下。
- PSRR(电源抑制比):这个参数决定了LDO对输入纹波的抑制能力。高频段PSRR高的LDO,能更好地滤除DC-DC带来的开关噪声。
重要提示:LDO不是万能的。它的效率约等于Vout/Vin。如果你从12V降到3.3V,效率只有27.5%,剩下的能量全变成热量了。所以大压差、大电流的场合,别用LDO,用DC-DC。
3.1.2 DC-DC(直流-直流转换器)
DC-DC效率高,通常能做到85%-95%。但它的输出纹波大,一般在10mV到100mV之间。理疗仪里,给电机驱动、加热片供电,用DC-DC完全没问题。但给模拟前端供电,就得在DC-DC后面再加一级LDO。
设计DC-DC时,有几点我特别想强调:
- 电感选型:电感值决定了纹波电流的大小。我一般取纹波电流为输出电流的20%-40%。电感饱和电流要留够余量,至少是最大输出电流的1.3倍。否则电感一饱和,电流会失控,轻则输出掉电压,重则烧管子。
- 输入输出电容:陶瓷电容的ESR低,效果好。但要注意DC偏压特性——电容在额定电压下,容值可能掉到标称值的30%。我吃过这个亏,设计时用了10μF的电容,结果在12V下实际只有3μF,纹波大得吓人。
- 布局布线:DC-DC的开关节点(SW)是最大的干扰源。这个节点的铜皮面积要尽量小,远离敏感的模拟信号。反馈回路(FB)要远离电感和SW节点,走线要短而粗。
个人经验:对于理疗仪这种对噪声有一定容忍度的产品,我推荐使用TI的TPS5430系列或者MPS的MP2307系列。外围电路简单,文档齐全,量产验证充分。别为了省几毛钱去选那些没听过的小品牌,后面调试会哭的。
3.1.3 电池充电管理IC
理疗仪很多是便携式的,用锂电池供电。充电管理IC的选择,直接关系到电池寿命和安全性。我建议重点关注以下几点:
- 充电电流:一般按0.5C到1C来选。比如2000mAh的电池,充电电流选1A到2A。电流太大,电池发热严重,寿命缩短。
- 充电终止电压:锂电池的终止电压是4.2V±1%。精度不够的充电IC,可能导致电池过充,有起火风险。医疗产品,安全第一。
- 热调节功能:充电IC在高温下会自动降低充电电流。这个功能在夏天或者设备密闭环境下特别有用。我遇到过一款产品,充电IC没有热调节,夏天在车里充电,芯片直接烧了。
常用的充电IC有TI的BQ2407x系列、MCP73831等。对于需要USB充电的理疗仪,我推荐选带路径管理(Power Path)的芯片,这样即使电池没电,插上USB也能立刻开机工作。
3.2 MCU最小系统:晶振、复位、Boot模式
MCU最小系统,是嵌入式系统的“大脑”。它不复杂,但细节很多。我见过有人因为晶振匹配电容选错,导致系统跑不起来。也见过复位引脚没做处理,设备在强电磁干扰下频繁复位。
3.2.1 晶振电路
晶振是MCU的心脏起搏器。选晶振时,主要看频率精度和负载电容。对于理疗仪这种非实时性要求极高的产品,普通晶振(±50ppm)就够了。但如果涉及蓝牙通信或者精确计时,建议用温补晶振(TCXO,±2ppm)。
晶振的匹配电容怎么算?公式很简单:
C_load = (C1 * C2) / (C1 + C2) + C_stray
其中C_stray是PCB走线和引脚寄生电容,一般取3-5pF。比如你选了一颗负载电容为12pF的晶振,C1和C2各取22pF,那么(22*22)/(22+22)=11pF,加上3pF的寄生电容,正好12pF。
避坑指南:我曾经在量产时发现,同一批晶振,有的起振有的不起振。查了半天,发现是晶振的ESR(等效串联电阻)超标了。晶振的ESR不能太大,一般控制在50Ω以内。另外,晶振走线要尽量短,远离DC-DC和射频天线。晶振外壳最好接地,减少辐射。
3.2.2 复位电路
复位电路的作用,是确保MCU在上电时有一个确定的初始状态。最简单的复位电路就是一个电阻加一个电容:电阻上拉到VCC,电容下拉到GND。上电瞬间,RESET引脚为低电平,电容充电后变为高电平,MCU退出复位状态。
但实际应用中,我建议用专用的复位监控芯片,比如MAX809或STM809。原因有三:
- 电压监控:当电源电压低于阈值时,复位芯片会强制拉低RESET引脚,防止MCU在欠压下误操作。
- 手动复位:很多复位芯片带手动复位输入,方便调试。
- 去抖动:复位芯片内部有去抖动电路,防止按键按下时的毛刺导致误复位。
复位引脚的走线也要注意。它是个高阻抗输入,容易耦合噪声。我习惯在复位引脚上并联一个100nF的电容到GND,滤除高频干扰。
3.2.3 Boot模式
Boot模式决定了MCU上电后从哪里启动。常见的模式有:从Flash启动、从系统存储器启动(用于ISP下载)、从SRAM启动(用于调试)。
对于量产产品,Boot模式引脚通常固定接高或接低。但设计时,我建议留一个测试点或者跳线,方便产线烧录和现场升级。我曾经遇到过一款产品,Boot引脚直接焊死在PCB上,结果现场需要升级固件,只能拆机飞线,非常麻烦。
STM32的Boot模式配置如下:
| BOOT0 | BOOT1 | 启动模式 |
|---|---|---|
| 0 | X | 从Flash启动 |
| 1 | 0 | 从系统存储器启动 |
| 1 | 1 | 从SRAM启动 |
量产时,BOOT0和BOOT1都接GND,从Flash启动。需要烧录时,通过测试点将BOOT0拉高,进入ISP模式。
3.3 ESD与EMC防护设计
ESD和EMC,是医疗电子产品必须过的坎。理疗仪直接接触人体,ESD防护做不好,轻则设备死机,重则电击伤人。EMC做不好,产品过不了认证,上不了市。
3.3.1 ESD防护
ESD(静电放电)的电压可以高达15kV甚至更高。防护的核心思路是:疏导,而不是阻挡。把静电电流引导到地,而不是让它流过敏感芯片。
常用的ESD防护器件是TVS管(瞬态电压抑制二极管)。选TVS管时,注意以下几点:
- 工作电压(VRWM):要大于信号线的正常工作电压。比如USB D+/D-是3.3V,选5V的TVS管。
- 钳位电压(VC):要低于被保护芯片的耐压值。比如MCU的GPIO耐压是5.5V,TVS管的钳位电压要低于5.5V。
- 结电容(Cj):对于高速信号线(如USB、HDMI),结电容要小,否则会衰减信号。一般选Cj小于1pF的TVS管。
重要提示:TVS管要尽量靠近接口放置,走线要短而粗。TVS管到GND的过孔要加多个,减小接地阻抗。我见过有人把TVS管放在接口后面10cm的地方,结果静电还是打坏了芯片。为什么?因为走线电感太大,TVS管还没反应过来,静电已经过去了。
3.3.2 EMC防护
EMC(电磁兼容)包括两个方向:一是设备对外界的辐射不能超标(EMI),二是设备对外界的干扰要有足够的抗扰度(EMS)。
对于理疗仪,常见的EMC问题有:
- 辐射超标:DC-DC的开关节点、晶振、高速数字信号线都是辐射源。解决办法是:加屏蔽罩、优化布局、在电源输入端加共模扼流圈。
- 传导干扰:电源线上的噪声会通过电源线传导出去。解决办法是:在电源输入端加X电容、Y电容、共模扼流圈。
- 抗扰度不足:设备在强电磁场下死机或误动作。解决办法是:加强屏蔽、增加去耦电容、优化复位电路。
我个人的经验是,EMC设计要从原理图阶段就开始考虑。比如:
- 每个IC的电源引脚都要加去耦电容,一般0.1μF+10μF组合。
- 接口信号线要串联电阻(22Ω-33Ω),限制电流,减少反射。
- PCB的GND要完整,不要有孤岛。多层板的话,最好有一层完整的GND平面。
个人经验:EMC问题很多时候是“玄学”。你按照教科书做了所有防护,但测试还是不过。这时候别慌,先看看你的PCB布局。我遇到过一款产品,辐射超标,查了三天,最后发现是DC-DC的电感离USB接口太近,磁场耦合到了USB线上。把电感挪远5mm,问题解决。所以,布局比原理图更重要。
3.3.3 隔离设计
对于医疗电子,隔离是必须的。理疗仪直接接触人体,必须有足够的电气隔离,防止漏电流伤害患者。常见的隔离方式有:
- 光耦隔离:用于低速信号,如按键、LED指示。
- 数字隔离器:用于高速信号,如SPI、I2C、UART。常用的有ISO7240、ADuM1201等。
- 隔离电源:用隔离DC-DC模块,如B0505S,将输入和输出电源隔离。
隔离设计的关键是:隔离带。PCB上要划出明确的隔离区域,隔离带内不能有任何走线。隔离带两侧的GND要分开,不能有电气连接。爬电距离和电气间隙要满足医疗标准(如IEC 60601)的要求,一般至少4mm。
避坑指南:我曾经在量产时发现,隔离电源模块的输出纹波很大,导致模拟电路工作异常。查了半天,发现是隔离电源模块的输出电容没加。隔离电源模块的输出端一定要加电容,一般10μF+0.1μF。另外,隔离电源模块的负载不能超过额定值的80%,否则纹波会急剧增大。
好了,这一章的内容就到这里。电源电路、MCU最小系统、ESD/EMC防护,这三块是硬件设计的基石。下一章,我们会继续讲模拟前端电路设计、传感器接口、以及电机驱动电路。到时候见。