一. 简介
MAX30102是一个集成的脉搏血氧仪和心率监测仪生物传感器的模块(芯片)。 它集成了一个660nm红光LED、880nm红外光LED、光电检测器、光器件,以及带环境光抑制的低噪声电子电路。 可通过软件关断模块,待机电流为零,实现电源始终维持供电状态,可运用于低功耗产品中。
MAX30102采用一个1.8V电源和一个独立的3.3V用于内部LED的电源,标准的I2C兼容的通信接口。 市面很多都将MAX30102芯片集成在一个PCB模块上,内部增加一个1.8V和3.3V LDO稳压电路,可对模块单独供5.0V电源,方便开发者进行开发。
二. MAX30102原理及参数
1. 芯片内部框图
从框图看,芯片可分为两部分,一部分为模拟信号采集电路,通过RED和IR灯发出特定波长的光,采集人体反射回来的光,经过PD管将光信号转化为电信号,最终通过18bit ADC转换器转化为数字信号。
第二部分为数字处理电路,将ADC转换出来的原始数据进行滤波处理后放置于缓冲区内; 单片机通过IIC接口读写芯片内部寄存器,读取出相应的数据;
2. 模块电路


芯片内部有3.3V-5.0V的LED电源和1.8V的逻辑电源,所以模块带有两路稳压电路,将5V电源分别转化为3.3V和1.8V;由于LED驱动电源的供电范围为3.3V-5.0V,3.3V稳压电路可省去。
由于MAX30102的逻辑电路的IIC通信电平为1.8V,这与我们常用的51单片机和STM32单片机的引脚电平不匹配。
这里有个解决方法,因为MAX30102的SDA、SCL、INT引脚为开漏,

可以将模块上的R1、R2、R3电阻去掉,对于51单片机来说,在SDA、SCL、INT引脚上分别加一个4.7-10k电阻上拉至5V;对于STM32单片机,只需要将相应的控制引脚配置为上拉模式即可。
模块只需要接上5V电源,SDA、SCL、INT引脚与单片机连接即可; IRD、RD一般不接,以STM32单片机接线为例(单片机采用模拟IIC的控制方式),如图:


三. MAX30102编程
MAX30102内部集成了一整套完整信号采集电路,包括光信号发射及接收、AD转换、环境光干扰消除及数字滤波部分,只将数字接口留给用户。 用户只需通过单片机的IIC接口(可用模拟IIC),对MAX30102内部的寄存器进行读写操作,就可以得到转换后的光强度数值。 最后需要通过相应的处理算法计算出心率值和血氧饱和度。
对于MAX30102的驱动程序,将其拆分出来,可分为标准IIC程序和MAX30102寄存器的读写操作,实现这两部分的编程,便完成MAX30102的驱动; 由于IIC程序比较常用,这里就不例举出来。 在完成IIC的通信程序后,实现以下程序;
(1)MAX30102写寄存器函数
讯享网
(2)MAX30102读寄存器函数
讯享网
(3)MAX30102读缓冲器FIFO
(4)MAX30102初始化(可根据自己的实际情况更改相应的配置)
讯享网
(5)数据采集
此程序只演示读取出温度,读取血氧数据需要通过max30102_FIFO_Read函数读出;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/172851.html