第二章 硬件架构总览:系统框图、核心模块划分、关键器件选型原则
好,咱们正式开始搭建血氧仪的硬件架构。这一章是整个课程的骨架,说白了就是先画一张“地图”,搞清楚每个模块该放哪、该用什么芯片。我当年第一次做血氧仪时,就是没想清楚架构,结果后面改板改了三次,血的教训啊。
2.1 系统框图:一张图看懂血氧仪
先看整体。一个典型的反射式血氧仪,硬件上可以拆成这几个大块:
- 传感器前端:负责发射红光(660nm)和红外光(940nm),并接收反射回来的光信号。
- 模拟前端(AFE):把光信号转成电信号,再放大、滤波、模数转换。这是最核心的部分。
- 主控MCU:跑算法、控制时序、处理数据、驱动显示。
- 电源管理:给各个模块供电,尤其是LED驱动需要大电流脉冲。
- 显示与交互:OLED屏、按键、蜂鸣器。
- 通信接口:蓝牙、USB等,用于数据上传。
我习惯把系统框图分成“信号链”和“控制链”两条线来看。信号链是从LED→光电二极管→AFE→MCU的ADC;控制链则是MCU控制LED的亮灭时序、AFE的增益、以及显示刷新。
核心要点:血氧仪是典型的“时序敏感”系统。LED亮、采样、关断、环境光补偿,每一步的时间窗口都是微秒级的。框图里必须标清楚时钟和同步信号。
2.2 核心模块划分:各司其职
咱们把每个模块拆开细说。
2.2.1 传感器前端模块
这个模块包含LED和光电探测器。LED需要选双波长(660nm和940nm)的,最好是封装在一起的,比如OSRAM的SFH7050。光电探测器我建议用PIN光电二极管,响应速度快,暗电流小。嗯,这里要注意:LED的驱动电流不能太大,否则会灼伤皮肤,一般控制在10mA~50mA脉冲电流。
2.2.2 模拟前端(AFE)模块
这是血氧仪的“心脏”。AFE要完成:跨阻放大(TIA)、环境光消除、可编程增益放大(PGA)、低通滤波、以及ADC采样。市面上有专用的血氧AFE芯片,比如TI的AFE4400、AFE4490,或者Maxim的MAX30102。我个人建议新手直接用集成AFE,省去很多模拟设计的坑。
我的经验:如果你用分立元件搭AFE,光是噪声和漂移就能调到你怀疑人生。我第一版就是自己搭的运放,结果信噪比惨不忍睹。后来换了AFE4490,一周就调通了。
2.2.3 主控MCU模块
MCU负责控制AFE的时序、运行血氧算法、驱动显示。选型时注意几点:
- 要有硬件I2C或SPI接口,用来和AFE通信。
- 要有足够快的ADC(如果AFE没有内置ADC的话),采样率至少1kHz。
- RAM要够大,至少8KB以上,因为算法需要缓存脉搏波数据。
我常用的MCU是STM32G0系列,性价比高,外设丰富。或者用国产的GD32,也完全够用。
2.2.4 电源管理模块
血氧仪通常是电池供电(锂电池或纽扣电池)。电源管理要提供:
- 3.3V给MCU和AFE
- 5V或更高电压给LED驱动(因为LED需要正向压降)
- 低功耗模式下的待机电流要小于1μA
我推荐用升压芯片(如TPS61099)把电池电压升到5V,再用LDO(如XC6206)降到3.3V。注意LED驱动要用恒流源,不能用恒压源,否则电流不稳定。
2.3 关键器件选型原则:别踩坑
选型是门学问。我总结了几个原则,都是真金白银换来的教训。
| 器件类别 | 关键参数 | 推荐型号 | 避坑指南 |
|---|---|---|---|
| LED(双波长) | 波长精度、光功率、封装 | OSRAM SFH7050 | 不要买杂牌,波长偏移会导致血氧值不准 |
| 光电二极管 | 响应度、暗电流、结电容 | Vishay TEMD6010 | 结电容要小(<50pF),否则影响带宽 |
| AFE芯片 | 动态范围、噪声、采样率 | TI AFE4490 | 注意SPI时序,有些AFE需要严格的时钟同步 |
| MCU | 主频、RAM、外设接口 | STM32G030 | RAM别选太小,算法跑不动 |
| 升压芯片 | 效率、纹波、静态电流 | TPS61099 | 纹波要小于50mV,否则影响AFE精度 |
警告:我曾经贪便宜买了一批国产LED,波长标称660nm,实际测出来只有650nm。结果血氧值在低血氧区域(SpO2<90%)偏差高达5%!所以关键器件一定要从正规渠道采购,拿到手先测光谱。
2.4 模块间的连接与信号流
最后说说模块之间怎么连。我习惯画一张“信号流图”:
- MCU通过I2C配置AFE的寄存器(设置LED电流、增益、采样率)。
- MCU通过GPIO控制LED的亮灭时序(比如红光亮10μs,灭10μs,红外光亮10μs,灭10μs,然后环境光采样10μs)。
- AFE把光电信号放大、滤波、ADC转换后,通过SPI把数据传给MCU。
- MCU运行算法,计算出SpO2和脉率,然后刷新OLED显示。
这里有个细节:LED的驱动时序和ADC采样必须同步。我一般用MCU的定时器产生PWM波,直接触发LED驱动和AFE的采样保持。这样能保证时序误差小于1μs。
核心原则:信号链的噪声控制是关键。模拟地和数字地要分开,电源要加LC滤波,AFE的输入走线要短且远离数字信号线。我见过有人把AFE的输入走线布在SPI时钟线旁边,结果噪声直接耦合进去,数据根本没法用。
2.5 本章小结
这一章咱们把血氧仪的硬件架构理清楚了。从系统框图到核心模块,再到选型原则,每一步都关系到最终产品的性能。下一章我会手把手教你画原理图,把今天讲的这些模块变成实实在在的电路。
记住一句话:架构设计花的时间越多,后面调试的坑就越少。别急着画板子,先把框图画明白。