news 2026/6/17 7:57:39

血氧饱和度测量电路设计:从原理到工程实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
血氧饱和度测量电路设计:从原理到工程实践

1. 血氧饱和度测量电路的核心设计思路

在医疗电子领域,脉搏血氧仪是一个将光学、模拟电路、数字信号处理和嵌入式系统紧密结合的经典案例。它的核心任务,是精准地从指尖、耳垂等部位透射或反射的光信号中,提取出微弱的、与心跳同步的脉搏波信息,并据此计算出血液的氧合程度。听起来简单,但要把这件事做准、做稳,尤其是在复杂的临床环境和个体差异下,电路设计的每一个环节都充满了挑战。这不仅仅是照着原理图焊几个元件,更是对噪声抑制、信号完整性、功耗控制和算法鲁棒性的综合考验。

我接触过不少从原理到产品的转化项目,血氧仪算是其中“麻雀虽小,五脏俱全”的代表。很多人理解了“用660nm红光和940nm红外光测量”这个原理后,就觉得大功告成,但真正动手设计电路时,才会发现从“知道”到“做到”之间,隔着一道道需要精心设计的鸿沟。比如,光电信号极其微弱,如何从强大的环境光和工频干扰中把它捞出来?两路LED如何驱动才能既保证光强稳定又互不干扰?采样时机如何把握才能准确捕捉脉搏波的峰谷值?这些问题,都需要在电路层面给出扎实的答案。

一个可靠的血氧测量电路,其设计思路必须紧紧围绕着“信噪比”这个核心指标展开。整个信号链,从传感器到MCU,本质上是一个对抗噪声、放大真实生理信号的战役。设计者需要像一个侦探,仔细甄别哪些是有效的脉搏信号(AC分量),哪些是无效的静态组织吸收和背景光(DC分量),哪些又是外部的电磁干扰。电路架构、器件选型、布局布线,乃至软件算法,都必须服务于这个目标。下面,我们就来逐一拆解这个系统中的关键模块,看看如何将它们组合成一个稳定可靠的测量系统。

2. 核心电路模块解析与设计要点

一套完整的血氧测量电路,可以清晰地划分为几个功能模块:光源驱动、光电信号接收与前置放大、模拟信号调理(滤波与放大)、模数转换(ADC)、以及核心的微控制器(MCU)或数字处理单元。每个模块都有其独特的设计考量和陷阱。

2.1 光源驱动电路:稳定与效率的平衡

光源驱动电路的任务是控制660nm和940nm两个LED,让它们按照特定的时序和强度发光。这里最大的挑战有两个:一是如何实现两路光源的快速、无串扰切换;二是如何保持LED发光强度的稳定,因为光强的波动会直接被当作信号噪声。

方案选择:恒流驱动与脉冲调制常见的驱动方案是采用恒流源。使用一个运算放大器配合MOSFET或三极管,可以构建一个精密的电压控制电流源(VCCS)。MCU通过数模转换器(DAC)或脉宽调制(PWM)经滤波后产生控制电压,从而精确设定LED的电流。为什么用恒流而不是恒压?因为LED是电流型器件,其光输出强度与正向电流有直接且相对线性的关系,受温度和环境的影响比电压驱动要小得多。

为了分时复用同一个光电检测器,两路LED必须交替点亮。通常采用如图所示的反向并联接法,配合两个独立的驱动开关(如MOSFET)。当驱动红光时,MCU控制红光驱动管导通,红外光驱动管关闭,电流沿一个方向流过红光LED。下一个时刻,则反过来。这种接法巧妙地将电缆线从4根(两个LED的阳极和阴极)减少到3根(共阴极、红光阳极、红外阳极),降低了线缆成本、复杂度和断线风险,是工程上非常实用的优化。

注意:反向并联时,必须确保两个驱动开关有足够快的关断速度,并留有“死区时间”。如果关断不彻底或存在交叠,会导致两路LED有瞬间同时导通的可能,不仅造成光信号串扰,严重时还可能因电流倒灌损坏驱动管。通常会在软件驱动时序中插入几个微秒的空白间隔。

驱动模式:为什么用脉冲而非常亮?原文提到了脉冲驱动,这是关键。让LED以一定占空比(例如1/4或1/8)的脉冲工作,而非持续发光,有三大好处:

  1. 降低平均功耗与发热:这是穿戴式或便携设备续航的关键。峰值电流可以设得较高以获得足够的光强,但平均电流很低。
  2. 提高信噪比:在LED熄灭的周期,采样电路可以测量一次环境光(包括工频光噪声),后续在信号处理中可以将这部分背景噪声减掉,这就是所谓的“环境光消除”技术。
  3. 便于同步采样:ADC可以在LED点亮并稳定后的特定时刻进行采样,这个时刻的信号质量最高,避开了LED开启和关闭时的瞬态噪声。

驱动脉冲的频率需要仔细选择。它必须远高于脉搏波的最高频率(约4Hz),以避免引入低频调制噪声。通常选择几百赫兹到几千赫兹。同时,脉冲的上升沿和下降沿要尽可能陡峭,减少处于非稳态的时间。

2.2 光电接收与前置放大:捕捉微安级的信号

光电二极管(PD)或光电晶体管将接收到的光信号转换为微弱的电流信号,其大小通常在纳安(nA)到微安(μA)级。第一步放大电路至关重要,它决定了整个系统的本底噪声和动态范围。

跨阻放大器(TIA)是首选由于光电二极管输出的是电流,最自然的接口电路就是跨阻放大器。它将电流线性地转换为电压:Vout = Ipd * Rf。其中,Rf是反馈电阻。对于血氧信号,光电二极管产生的交流(AC)脉搏分量可能只有光电流直流(DC)分量的1%-2%。这意味着,如果DC分量是10μA,AC分量可能只有100nA到200nA。我们的目标就是放大这个微小的AC变化。

设计挑战与选型要点

  1. 运算放大器选择:必须选择低偏置电流(低至pA级)、低噪声、高增益带宽积的运放。偏置电流会与光电二极管电流叠加,造成误差。噪声则直接决定了能检测到的最小信号。JFET或CMOS输入级的运放是常见选择。
  2. 反馈电阻Rf与电容CfRf值很大,通常在1MΩ到10MΩ量级,以获得足够的电压增益。但大电阻会带来热噪声,并与运放的输入电容、二极管的结电容形成低通滤波器,限制带宽。并联在Rf上的小电容Cf(几皮法到几十皮法)用于补偿相位,防止振荡,但它也决定了电路的带宽。带宽需要足够宽以通过脉搏波信号(0.5-4Hz),但又不能太宽,以免引入过多高频噪声。
  3. 光电二极管工作模式:通常采用零偏压(光伏模式)或反偏压(光导模式)。光伏模式噪声更低,线性度更好,更适合精密测量;光导模式响应速度更快。血氧测量对速度要求不高(最高也就几Hz),因此光伏模式是更优选择。

实操心得:TIA电路布局是成败关键。反馈电阻Rf和电容Cf必须紧靠运放引脚,光电二极管也应尽可能靠近运放反相输入端,并用接地屏蔽层包围信号走线,以最小化寄生电容和电磁干扰。我曾在一个早期版本中忽略了这点,导致电路极易自激振荡,输出信号上叠加了高频噪声,后期滤波非常困难。

2.3 模拟信号调理:从毫伏到伏特级的清晰波形

TIA输出的电压信号仍然很微弱,且包含大量的无用DC分量和噪声。模拟信号调理电路的任务就是剥离DC、放大AC,并进行初步滤波。

AC/DC分离与增益级通常采用两级放大。第一级可能是一个高通滤波器(如截止频率0.1Hz的RC电路),用于阻断巨大的DC分量,只让脉搏波AC信号通过。否则,DC分量会占用ADC的大量量程,导致AC分量的分辨率不足。 随后,AC信号进入一个可编程增益放大器(PGA)。因为不同人的手指厚度、肤色、佩戴松紧度会导致信号强度差异巨大(可达几十倍),固定增益无法适应所有情况。MCU需要根据ADC采样的原始信号幅度,动态调整PGA的增益,使最终进入ADC的信号幅度稳定在最佳范围(例如满量程的50%-80%)。

滤波设计:抗混叠与工频陷波滤波是模拟调理的核心。主要包括:

  1. 抗混叠低通滤波:根据采样定理,在ADC之前必须设置一个低通滤波器,其截止频率低于采样频率的一半(奈奎斯特频率),以防止高频噪声混叠到低频信号中。如果采样率是120Hz,那么抗混叠滤波器的截止频率应设在50-60Hz以下。
  2. 工频陷波(50/60Hz Notch Filter):环境中日光灯、屏幕等光源会带来强烈的50Hz或60Hz工频干扰,其强度可能远大于脉搏信号。一个高品质的双T型或运放搭建的有源陷波滤波器至关重要,可以深度衰减该频点噪声。
  3. 带通滤波:最终,我们需要一个通带大约在0.5Hz到10Hz的带通滤波器,最大限度保留脉搏波形状,同时抑制超低频漂移(如呼吸、运动)和高频噪声。

电平移位经过高通滤波和AC放大后,信号是交流的,正负摆动。但大多数MCU内置的ADC只能测量0到正电源电压的信号。因此,需要一个加法器电路,将交流信号叠加一个直流偏置电压(例如Vref/2),使其整体偏移到ADC的输入范围之内。

2.4 模数转换与采样策略

ADC是将模拟世界与数字世界连接起来的桥梁。其分辨率、采样率和精度直接决定了算法的输入质量。

ADC关键参数

  1. 分辨率:至少需要16位。原因在于,我们需要从巨大的DC分量中分辨出微小的AC变化。假设DC分量对应ADC满量程的80%,AC变化只有满量程的1%,那么要清晰地数字化这个1%的变化,就需要足够多的码。16位ADC提供了65536个码,其1%约为655个码,足以进行精细分析。14位是底线,12位则会非常吃力。
  2. 采样率:如前所述,脉搏波频率上限约4Hz,根据奈奎斯特采样定理,采样率需大于8Hz。但为了更准确地重建波形,特别是捕捉脉搏波的细节特征(如重搏切迹),通常需要更高的过采样率。120Hz是一个常见且合理的选择,它远高于8Hz,对MCU来说负担也不大。
  3. 采样时机与同步:这是极易被忽视但至关重要的细节。ADC采样必须与LED驱动脉冲严格同步!理想情况下,应在每个LED脉冲点亮并达到稳定光输出后,在脉冲结束前的某个固定时刻进行采样。这个时刻的信号光强稳定,信噪比最高。MCU的定时器应同时控制LED驱动和触发ADC采样,实现硬件同步,避免软件延迟带来的时序抖动。

分时采样与信号重建对于120Hz的总采样率,红光和红外光各占一半时间,即每路光的有效采样率为60Hz。由于两路信号采样时刻略有错开,但错开时间极短(小于一个脉搏波周期的1/100),在数字信号处理中,可以认为它们是近似同步的。后续算法会分别对两路数字序列进行处理。

3. 系统集成与PCB设计实战要点

当各个电路模块设计完毕,将它们集成到一块PCB上时,又会面临新的挑战。医疗电子设备,尤其是接触人体的设备,对安全性和可靠性要求极高。

3.1 电源完整性设计与噪声隔离

血氧电路包含模拟小信号、数字开关、LED驱动电流等多种噪声源。电源设计是第一道防线。

  1. 模拟与数字电源分离:必须使用独立的LDO为模拟部分(运放、ADC基准源)和数字部分(MCU、逻辑电路)供电。即使共用同一个输入电源,也要通过磁珠或0Ω电阻进行隔离,并在各自区域布置完整的π型滤波网络(如10μF钽电容 + 100nF陶瓷电容)。
  2. 地平面分割与单点连接:采用统一地平面,但通过“壕沟”对模拟地和数字地进行分割,最后在电源入口处或ADC下方通过一个0Ω电阻或磁珠单点连接。这可以防止数字地的开关噪声窜入敏感的信号地。
  3. LED驱动电源:LED驱动是大电流脉冲负载,会在电源线上产生严重的毛刺。应为LED驱动电路单独布置较宽的电源走线,并靠近驱动芯片放置一个大容量(如47μF)的电解电容进行储能和退耦。

3.2 布局布线黄金法则

  1. 信号流直线布局:按照“传感器->TIA->滤波->PGA->ADC->MCU”的信号流向布置元件,避免信号线迂回交叉,减少耦合。
  2. 小信号区域保护:TIA及其反馈网络、前端滤波电路所在的区域,应被完整的地平面包围,上方避免有高速数字线(如时钟线、数据总线)穿过。如果必须交叉,应在其间用地线隔离。
  3. 去耦电容紧贴芯片:每个IC的电源引脚和地引脚之间,都必须就近放置一个100nF的陶瓷去耦电容,回路尽可能短。这是抑制芯片自身噪声向外辐射的关键。
  4. 传感器接口ESD保护:血氧探头通过电缆连接,是静电放电(ESD)侵入的主要路径。必须在连接器入口处放置TVS二极管和串联电阻,提供静电防护。

3.3. 微控制器选型与算法承载

MCU是系统的大脑,它需要完成定时控制、ADC读取、数字滤波、血氧算法计算以及可能的显示和通信任务。

  1. 核心性能需求:主频不需要很高,几十MHz的Cortex-M0+或M3内核已绰绰有余。关键外设要求包括:
    • 多通道、高分辨率(16位)ADC,支持定时器触发。
    • 多个通用定时器,用于精确产生LED驱动PWM和ADC采样触发信号。
    • 足够的RAM和Flash,用于存储采样数据和运行算法。
    • 低功耗模式支持,对于便携设备尤为重要。
  2. 算法实现要点:血氧算法(如“比值法”)的核心是找到每一路光信号脉搏波动的AC分量与DC分量的比值R,然后通过经验公式或查找表将R转换为血氧饱和度值(SpO2)。在MCU中实现时需注意:
    • 数字滤波:在软件中实施额外的数字带通滤波(如IIR或FIR滤波器),进一步净化信号。
    • 峰值检测:需要稳健的算法来实时检测脉搏波的波峰和波谷,以计算AC分量。要能处理波形变异和运动伪影。
    • 均值与异常值剔除:通常对连续多个(如5-8个)脉搏周期计算出的R值取平均,并剔除明显超出生理范围的异常值,再计算SpO2,以提高读数的稳定性。

4. 调试、校准与常见问题排查

电路板焊接完成后,真正的挑战才刚刚开始。调试是一个系统性工程,需要由前至后,逐级验证。

4.1 上电前检查与静态测试

  1. 视觉与连通性检查:检查有无短路、虚焊、错件。
  2. 电源测试:不插MCU和主要IC,先上电,测量各点电压是否正常,特别是模拟电源的纯净度(用示波器AC耦合观察纹波)。
  3. LED驱动测试:编写简单程序,让MCU输出两路交替的PWM,用示波器观察驱动MOSFET栅极和LED两端的波形,确认时序、幅值、死区时间符合设计。

4.2 动态信号链调试

这是最核心的环节,需要信号发生器和示波器/逻辑分析仪配合。

  1. 模拟TIA与调理电路:断开光电二极管,用一个精密电阻网络模拟产生一个微弱的、叠加在直流上的交流电流信号,注入TIA输入端。用示波器观察各级运放的输出,验证增益、滤波效果和电平移位是否正确。
  2. ADC采样验证:让MCU运行采样程序,将ADC结果通过串口打印或用调试器实时查看。输入一个已知频率和幅度的正弦波,看ADC采集到的数据能否正确还原波形,检查有无失真、直流偏移。
  3. 系统联调(使用模拟手指):使用一个固定的、已知光学特性的仿生模块(模拟手指)进行测试。观察最终MCU计算出的脉搏频率是否稳定,数值是否合理。这是验证整个光路、电路、时序是否协同工作的关键一步。

4.3 常见问题与解决方案速查表

在实际开发中,以下问题非常典型:

问题现象可能原因排查思路与解决方案
信号噪声大,波形毛刺多1. 电源纹波大。
2. TIA布局不佳,引入寄生振荡或电磁干扰。
3. 未使用工频陷波滤波器。
4. 环境光干扰严重。
1. 用示波器检查模拟电源纹波,优化退耦电容。
2. 检查TIA反馈环路,微调Cf电容值;优化布局,缩短走线。
3. 检查陷波滤波器中心频率是否准确(50/60Hz)。
4. 确保探头与手指贴合紧密,软件启用环境光消除功能。
脉搏波形失真,或无法检出1. 模拟通道带宽不足,滤波截止频率设置过低。
2. LED驱动电流不足,AC信号太小。
3. PGA增益设置不当,信号过载或过小。
4. 峰值检测算法参数不匹配。
1. 检查高通和低通滤波器的截止频率,确保通带覆盖0.5-10Hz。
2. 适当增加LED驱动电流(需考虑安全与功耗)。
3. 实现自动增益控制(AGC)算法,动态调整PGA。
4. 根据实际采样率和波形调整算法中的阈值、超时等参数。
血氧读数不稳定,跳动剧烈1. 信号信噪比低,算法输入质量差。
2. 运动伪影干扰。
3. 计算R值时使用的AC/DC分量提取不准确。
4. 平均算法窗口过小。
1. 优先解决上述噪声和信号质量问题。
2. 在算法中增加运动伪影检测与抑制模块。
3. 优化波峰波谷检测算法,确保在低信噪比下仍鲁棒。
4. 增加用于平均的脉搏周期数量(但会降低响应速度)。
两路信号(红/红外)互相串扰1. LED驱动开关死区时间不足,同时导通。
2. 光电二极管响应慢,或后续电路带宽不足,导致信号拖尾。
3. 电源地噪声耦合。
1. 增加驱动时序中的死区时间,用示波器观察确认无交叠。
2. 检查光电二极管型号和TIA带宽,确保能快速响应脉冲光。
3. 强化LED驱动部分的电源去耦和地隔离。
不同个体或佩戴方式下读数差异大1. 未做自动增益控制(AGC)。
2. 算法参数固化,未适应不同信号强度。
3. 探头机械结构设计不佳,导致透光率不稳定。
1. 必须加入AGC,根据DC分量大小动态调整LED电流或PGA增益。
2. 研究自适应算法,使特征提取参数能随信号质量动态变化。
3. 优化探头结构,确保施加在测量部位的压力均匀、恒定。

4.4 校准:从相对测量到绝对精度

电路调试保证的是设备自身的稳定性和一致性。而要获得准确的血氧饱和度绝对值,必须进行校准。这是医疗设备合规的关键步骤。 校准通常在标准实验室环境下,使用血氧模拟器进行。该设备可以模拟出不同血氧饱和度(如70%, 80%, 90%, 100%)和不同灌注强度下的标准光学信号。将待测血氧仪的探头连接到模拟器上,记录设备读数与模拟器设定值之间的差异,从而建立或校正设备内部的“R-SpO2”转换曲线或查找表。 没有条件使用昂贵模拟器的个人开发者,至少也应通过对比法进行粗略验证:在静止状态下,与一台经过认证的、临床级的血氧仪进行同步测量对比,观察读数趋势和偏差范围。但这无法替代正规的校准流程。

设计一个可靠的血氧测量电路,是一个不断与噪声、干扰、非理想器件特性作斗争的过程。它要求工程师不仅懂原理,更要懂如何将原理落实到每一个元器件的选型、每一段走线的布局、每一行控制时序的代码上。从LED驱动的一个脉冲边沿,到ADC采样时刻的一个时钟抖动,再到算法中一个阈值参数的设定,都可能最终影响那个小小的百分比数字的可靠性。这个过程没有太多捷径,需要的是严谨的工程方法、耐心的调试和大量的实测验证。当你的设备能在各种条件下稳定地输出一个可信的读数时,那种成就感,正是硬件开发的乐趣所在。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 12:34:42

哇塞!原来毕业论文还能这样写?2026降AIGC软件推荐合集

还在为查重太高、AI痕迹太重、格式乱七八糟而发愁?2026 年的 AI 论文工具已经全面升级,从选题构思到内容撰写、从降重处理到去除 AI 痕迹、再到格式排版,全流程帮你搞定!不管是写论文还是改论文,都能轻松应对&#xff…

作者头像 李华
网站建设 2026/6/17 7:55:49

Windows内存优化神器:Mem Reduct让你的电脑重获新生

Windows内存优化神器:Mem Reduct让你的电脑重获新生 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct 你是…

作者头像 李华
网站建设 2026/6/6 12:33:41

交通标志识别模型:ResNet融合注意力机制,适配GTSRB 43类数据集

本文还有配套的精品资源,点击获取 简介:一套开箱即用的交通标志分类实现,基于ResNet主干网络,在关键层嵌入通道与空间注意力模块,强化对标志形状、颜色等判别性区域的聚焦能力。完整支持GTSRB官方数据集&#xff0c…

作者头像 李华
网站建设 2026/6/6 12:29:12

保姆级教程:用Python脚本解析SAE J1939应用层数据(附代码)

Python实战:SAE J1939应用层数据解析全流程指南在汽车电子和物联网领域,SAE J1939协议就像一张无形的网络,将重型车辆中的各个ECU节点紧密连接。当面对从CAN总线捕获的一串串十六进制报文时,许多工程师都会感到无从下手——这些看…

作者头像 李华
网站建设 2026/6/6 12:29:08

一文搞懂计算机视觉四大核心任务:从分类到追踪,附 PyTorch 极简代码

计算机视觉就像给 AI 装上了 “眼睛”,让机器能看懂图像和视频里的世界。从手机相册的自动分类,到自动驾驶的行人检测,再到监控里的目标追踪,背后都离不开四个最基础也最核心的任务:目标分类、目标检测、目标分割、目标…

作者头像 李华