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 信号流分析:数据是怎么“跑”起来的

信号流分析,就是理清数据从采集、处理到输出的完整路径。这能帮你发现潜在的瓶颈和干扰点。

拿制氧机最关键的氧气浓度控制来说,信号流是这样的:

  1. 采集:氧气浓度传感器(比如氧化锆传感器)输出一个0-5V的模拟电压信号,对应0%-100%的氧气浓度。
  2. 调理:这个信号先经过一个运放组成的电压跟随器(提高输入阻抗),再经过一个二阶低通滤波器(截止频率10Hz,滤除工频干扰),最后送入MCU的ADC引脚。
  3. 转换:MCU的12位ADC以100Hz的采样率读取这个电压值,通过软件滤波算法(比如滑动平均滤波)得到稳定的浓度值。
  4. 决策:MCU将当前浓度值与目标设定值(比如93%)进行比较,通过PID算法计算出需要调整的阀门开度。
  5. 执行:MCU输出PWM波给步进电机驱动器,步进电机带动比例阀旋转,改变进气量,从而调节氧气浓度。
  6. 反馈:浓度传感器再次采集,形成闭环控制。

避坑指南:我曾经在一个项目中,把传感器模拟信号线和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布局布线,你会感觉顺畅很多。下一章,我们开始讲具体的原理图设计,到时候见。