2. 系统架构设计:主控板硬件框图、电源树设计、信号流分析、MCU选型策略
好,咱们直接进入正题。这一章是整个课程的地基,你想想看,如果系统架构没搭好,后面画原理图、布PCB,那都是在沙滩上盖楼。我做了这么多年产品,见过太多因为架构设计草率,导致后期改板改到崩溃的项目。
今天我们就来聊聊,一台医用级制氧机的主控板,到底该怎么从零开始搭架构。
2.1 主控板硬件框图:先画个“全家福”
我个人习惯,拿到需求后第一件事,不是翻芯片数据手册,而是拿张白纸,画框图。把整个系统拆成几个功能模块,每个模块用方框表示,模块之间用箭头连起来,标清楚信号方向。
对于制氧机主控板,典型的硬件框图包含以下几大块:
- 核心控制单元:MCU,大脑,负责逻辑运算和调度。
- 电源管理单元:把输入的24V(或12V)转换成各路低压,给MCU、传感器、驱动电路供电。
- 传感器采集单元:氧气浓度传感器、流量传感器、压力传感器、温度传感器。这些是“眼睛”和“耳朵”。
- 执行机构驱动单元:电磁阀驱动、步进电机驱动(用于调节比例阀)、蜂鸣器。这些是“手脚”。
- 人机交互单元:按键、旋钮、OLED屏幕或数码管显示。
- 通信接口单元:RS485(用于和上位机或集中监控系统通信)、Wi-Fi/蓝牙模块(可选,用于物联网)。
- 安全与保护单元:看门狗、过流检测、漏电保护。
这里有个经验之谈:画框图时,一定要把“隔离”和“分区”的概念放进去。强电和弱电要分开,模拟信号和数字信号要分开。我在一个早期项目里,就是因为没注意这个,把传感器模拟信号线和电机驱动线走在一起,结果采集到的数据全是毛刺,折腾了两周才找到原因。
2.2 电源树设计:别让“电”成为短板
电源树设计,说白了就是搞清楚你的板子上,每一路电从哪里来,到哪里去,电流多大,纹波要求多高。这是最容易出问题的地方,也是我每次评审必查的环节。
以典型的医用制氧机为例,系统供电来自外部24V直流电源适配器。我们需要把这24V转换成多路电压:
| 电压轨 | 用途 | 典型电流 | 纹波要求 | 推荐方案 |
|---|---|---|---|---|
| 24V | 电磁阀、步进电机驱动 | 1-2A | ±5% | 直接输入,加TVS管保护 |
| 5V | 传感器供电、OLED屏、RS485 | 500mA | ±1% | DC-DC降压(如TPS5430) |
| 3.3V | MCU、逻辑芯片、Wi-Fi模块 | 300mA | ±1% | LDO(如AMS1117-3.3) |
| 1.8V | 某些高精度ADC参考电压 | 50mA | ±0.5% | 高PSRR LDO(如REF3030) |
我的一个小技巧:在电源树设计阶段,我会给每个电压轨预留20%-30%的电流余量。为什么?因为量产时可能会增加功能,或者更换功耗更大的传感器。留点余量,后面改板时能省很多事。
另外,要注意上电时序。有些传感器和MCU对供电顺序有要求。比如,某些氧气浓度传感器要求先上模拟电,再上数字电,否则可能初始化失败。嗯,这个坑我踩过,后来在原理图里加了电源监控芯片,用EN引脚控制各路DC-DC的启动顺序。
2.3 信号流分析:数据是怎么“跑”起来的
信号流分析,就是理清数据从采集、处理到输出的完整路径。这能帮你发现潜在的瓶颈和干扰点。
拿制氧机最关键的氧气浓度控制来说,信号流是这样的:
- 采集:氧气浓度传感器(比如氧化锆传感器)输出一个0-5V的模拟电压信号,对应0%-100%的氧气浓度。
- 调理:这个信号先经过一个运放组成的电压跟随器(提高输入阻抗),再经过一个二阶低通滤波器(截止频率10Hz,滤除工频干扰),最后送入MCU的ADC引脚。
- 转换:MCU的12位ADC以100Hz的采样率读取这个电压值,通过软件滤波算法(比如滑动平均滤波)得到稳定的浓度值。
- 决策:MCU将当前浓度值与目标设定值(比如93%)进行比较,通过PID算法计算出需要调整的阀门开度。
- 执行:MCU输出PWM波给步进电机驱动器,步进电机带动比例阀旋转,改变进气量,从而调节氧气浓度。
- 反馈:浓度传感器再次采集,形成闭环控制。
避坑指南:我曾经在一个项目中,把传感器模拟信号线和PWM信号线在PCB上平行走了很长一段距离。结果PWM的高频开关噪声直接耦合到了模拟信号线上,导致ADC读数跳动超过50个LSB。后来我把模拟信号线包了地,并和数字信号线隔开了至少3倍线宽的距离,问题才解决。
所以,在画原理图之前,先把信号流图画出来,标清楚哪些是敏感信号(模拟信号、高频信号),哪些是干扰源(PWM、电机驱动线)。这样在布局布线时,你心里就有数了。
2.4 MCU选型策略:STM32 vs 国产MCU
这是大家问得最多的问题。选MCU,说白了就是一场“性能、成本、供应链、开发资源”的平衡游戏。
先说说STM32。我用了快十年了,从F103到F407再到H743,生态确实好。库函数、HAL库、CubeMX,开发工具链非常成熟。遇到问题,网上随便一搜就有答案。对于医疗电子这种对可靠性要求极高的产品,STM32的长期供货承诺和工业级温度范围(-40°C到85°C)是很大的加分项。
再说说国产MCU。这几年国产MCU进步很快,像GD32(兆易创新)、AT32(雅特力)、APM32(极海)等,很多都是pin-to-pin兼容STM32的。这意味着什么?意味着你可以在不修改PCB的情况下,直接把STM32换成国产MCU,硬件成本能降30%-50%。
但是,这里有几个关键点要注意:
- ADC性能:我对比过GD32和STM32的ADC,在12位精度下,STM32的ENOB(有效位数)通常能做到11.2位左右,而某些国产MCU只有10.5位。对于制氧机这种需要高精度模拟量采集的场景,这个差距可能会影响控制精度。
- 长期稳定性:国产MCU的长期可靠性数据相对较少。我建议在量产前,至少做1000小时的加速老化测试,特别是高温(85°C)和低温(-20°C)环境下的运行测试。
- 开发工具链:虽然很多国产MCU兼容STM32的库函数,但总有一些细节差异。比如,某些国产MCU的DMA控制器在连续传输模式下会有bug,需要软件绕开。这些坑,需要花时间去踩。
我的建议:如果你做的是二类医疗器械(制氧机属于二类),而且产品生命周期长(5年以上),我建议前期用STM32做开发,快速验证功能。等产品稳定了,再评估是否切换到国产MCU来降成本。但切换前,一定要做充分的兼容性测试和可靠性验证。别为了省几块钱,把整个产品的口碑搭进去。
最后,给大家一个选型检查清单:
- MCU的主频是否满足PID控制周期(通常1kHz以内)?
- Flash和RAM是否够用?我一般留50%的余量。
- ADC的采样率和分辨率是否满足传感器要求?
- 定时器数量是否够?至少需要2个:一个用于PWM输出,一个用于系统心跳。
- 通信接口:UART(用于RS485)、I2C(用于传感器)、SPI(用于屏幕或Wi-Fi模块)。
- 封装是否便于手工焊接和返修?QFP封装比QFN好焊。
好了,这一章的内容就到这里。系统架构设计是硬件设计的“总纲”,花时间把这一步做扎实了,后面的原理图设计和PCB布局布线,你会感觉顺畅很多。下一章,我们开始讲具体的原理图设计,到时候见。