基于CW32L系列MCU的指夹式血氧仪设计方案
10
拍明芯城
基于CW32L系列MCU的指夹式血氧仪设计方案
一、方案概述
指夹式血氧仪是一种基于光电容积脉搏波描记法(PPG)的便携式医疗设备,广泛应用于家庭健康监测、医院临床辅助以及运动健康管理等场景。本文提出的设计方案采用CW32L系列低功耗微控制器作为核心处理单元,配合高精度光电传感器、OLED显示模块、蓝牙通信模块及电源管理模块等关键电路,构建一个低功耗、高性能、便携式的指夹式血氧仪系统。

二、核心控制器件:CW32L系列MCU
优选型号:CW32L031F6PU
器件作用:CW32L系列MCU是系统的主控芯片,负责采集传感器数据、进行血氧和脉率的计算处理、驱动显示屏和蓝牙通信模块,实现整机控制。
选择理由:CW32L031F6PU基于Arm Cortex-M0+内核,具有低功耗特性,支持丰富的外设接口(I2C、SPI、USART、ADC等),同时具有较小的封装和适中的价格,非常适合便携式健康设备的应用。
器件功能:内置12位高精度ADC、定时器、低功耗休眠模式和快速唤醒机制,能有效保障电池供电设备的运行时间,确保系统在持续监测时功耗控制良好。
三、光电传感器模块
优选型号:MAX30102
器件作用:用于检测人体手指中血液对不同波长光的吸收,输出红光和红外光的反射信号,从而进行血氧饱和度(SpO2)和脉搏的测量。
选择理由:MAX30102集成红外和红光LED、光电探测器、信号处理和数字接口于一体,具有低功耗、小尺寸、高灵敏度的优点,适合穿戴式健康监测。
器件功能:通过内置的模拟前端与ADC进行信号采集和预处理,输出数字化PPG信号,可直接通过I2C与MCU通信,提高系统集成度和可靠性。
四、显示模块
优选型号:SSD1306 0.96寸OLED模块(I2C接口)
器件作用:用于实时显示血氧饱和度、心率及电量信息,提升用户交互体验。
选择理由:OLED屏幕对比度高、功耗低、显示内容清晰,SSD1306控制芯片支持I2C通信,与CW32L系列MCU兼容性良好,驱动简便。
器件功能:支持128×64像素图形显示,能够以图形化方式展示心率曲线、数值信息,具备较高的显示自由度与用户体验。
五、蓝牙通信模块
优选型号:JDY-08(基于BLE4.0)
器件作用:实现设备与手机App之间的数据传输,便于用户远程查看测量数据及历史记录。
选择理由:JDY-08支持低功耗蓝牙4.0协议,具有体积小、易配置、兼容性好等优势,适合移动健康类产品。
器件功能:通过串口与MCU通信,支持BLE广播和连接传输,兼容安卓和iOS平台上的主流健康管理App协议栈。
六、电源管理模块
优选型号:TP4056(带保护功能的锂电池充电管理芯片)+ XC6206P332MR(LDO稳压芯片)
器件作用:为系统提供稳定的供电电压,实现锂电池的安全充电和稳压输出。
选择理由:TP4056具有完整的锂电池充电管理功能,带有过压、过流、过温保护电路;XC6206输出稳定,适合为核心MCU与传感器供电。
器件功能:TP4056支持通过USB接口进行锂电池充电,带有充电指示功能;XC6206稳定输出3.3V电压,为CW32L和其他模块提供稳定供电。
七、电路框图说明

八、信号处理与算法模块
在CW32L031中集成血氧和脉搏算法模块。通过获取MAX30102的红光和红外光信号并分别进行低通滤波、心率检测、SpO2比值计算等步骤,采用浮点或定点算法实时计算输出值。该处理由MCU完成,无需外部DSP芯片,节省成本与功耗。信号算法中使用峰值检测来分析心率波形周期,并依据吸收光比值计算SpO2。为了提升鲁棒性,系统会在不同的环境光条件和运动状态下自适应调整参数。
在CW32L031 MCU中实现完整的血氧和脉搏计算算法模块,系统主要基于MAX30102传感器输出的红光与红外光PPG信号,执行多级数字信号处理和生理参数计算。该模块可划分为数据预处理、信号滤波、特征提取、参数计算与异常判断五大步骤,构建一套适应性强、实时性高、资源占用低的嵌入式算法体系。
数据预处理
使用I2C接口高速读取MAX30102输出FIFO数据,并将其缓存在环形缓冲区中。
实施动态基线校正技术(Baseline Wander Removal),消除因环境温度、光线变化及手指位置引起的DC偏移。
引入滑动窗口平均处理初步抑制瞬时毛刺干扰。
信号滤波
采用IIR低通滤波器(截止频率≈3Hz)滤除高频噪声,提高心率波形平滑性。
增设可选带通滤波器(0.5Hz~4Hz),用于隔离典型心率频段内的有效信号,特别适合运动状态下使用。
在滤波器系数设计中采用定点Q15表示,降低对MCU浮点运算能力的依赖。
特征提取与心率检测
使用快速一阶微分法检测PPG信号上升沿,结合阈值门限实现峰值提取。
引入脉搏间期(IBI,Inter-Beat Interval)计算,基于检测到的多个脉冲波峰之间的时间间隔,确定心率(HR = 60 / 平均IBI)。
为避免假峰干扰,采用峰值确认机制(如振幅与幅度梯度联合判断)提升检测准确率。
SpO2计算方法
基于红光与红外光信号的AC/DC成分比值,计算吸光比率R(R = (AC_red/DC_red) / (AC_ir/DC_ir))。
使用经验拟合公式推导SpO2值(如 SpO2 = 110 - 25 × R),其中拟合系数基于临床实验数据设定。
支持实时动态校准,根据历史值平滑更新R,提高在运动状态和暗光环境下的稳定性。
异常检测与信号质量评价
增设信号质量评分机制(Signal Quality Index, SQI),根据波形周期性、幅度稳定性、噪声比等参数评估信号可信度。
当SQI低于设定阈值时,暂停SpO2与心率更新,并在OLED界面提示用户调整手指姿态。
实施错误检测标志(如信号丢失、数据饱和等)输出,便于后端App做容错处理。
功耗优化与执行策略
算法执行采用双缓存方式,与传感器采样任务解耦,提高数据处理效率。
主循环中仅在数据有效并达到更新阈值时才触发完整计算流程,降低处理器负载。
在不活动时段关闭不必要外设并进入STOP模式,由定时器或外部中断唤醒,提高整体电池续航能力。
九、外壳结构与人机交互设计
采用ABS塑料注塑成型的指夹结构,搭配软硅胶衬垫,提高佩戴舒适性与测量稳定性。外壳设计符合人体工学,方便用户单手操作,且可适配不同手指粗细。显示界面采用高亮OLED屏幕并辅以单按键操控逻辑,用户短按可切换显示页面,长按则触发蓝牙配对,操作直观,学习成本低,适合所有年龄段用户。外壳预留充电口和散热孔,确保长时间使用下的设备安全性与稳定性。
十、系统软件设计简述
CW32L MCU固件开发可采用Keil或IAR平台,使用官方提供的HAL库驱动各外设模块。主程序采用状态机框架,实现以下功能模块:
系统初始化:完成时钟、GPIO、ADC、I2C、UART、定时器等外设初始化;
传感器数据采集与处理:周期性启动ADC采集任务,读取PPG数据并计算SpO2和心率;
显示刷新与用户按键响应:定时更新OLED显示内容,响应用户按键进行功能切换;
蓝牙连接与数据上传:检测JDY-08连接状态并将数据通过BLE推送至App;
睡眠唤醒管理:在无操作及无采样状态下进入STOP低功耗模式,按键或中断触发唤醒。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。

产品分类

2012- 2022 拍明芯城ICZOOM.com 版权所有 客服热线:400-693-8369 (9:00-18:00)