没志青年
发布于 2025-09-20 / 22 阅读
0

心率血氧 MAX30102

MAX30102 的 IRD、RD 这两个引脚是 MAX30102 内部 LED 驱动电流源的输出口,用来给模块上的 红光 / 红外 LED 供电,LED 已经焊在芯片边上,芯片内部已经把 RD、IRD 接到 LED 上了。对用户来说,不需要再接任何外部电路。

就是说,买到的芯片其实里面是有LED的,所以就不用接了,接了会导致发热严重。

用于驱动外部LED?

DeepSeek:

核心原理:内部集成LED与光学结构

MAX30102不是一个简单的传感器芯片,而是一个高度集成的光学系统模块

  1. 内部LED:红光LED和红外LED直接封装在芯片内部。它们物理上就在芯片的那个小窗户下面。

  2. 内部光电二极管:接收反射光的传感器(光电二极管)也集成在芯片内部,紧挨着LED。

  3. “自上而下”的工作方式:芯片被设计为直接贴在皮肤表面(如手指)上。LED向下发出光线,光线穿透皮肤后被血液反射,再向下被内部的光电二极管接收。整个光路都在芯片和皮肤之间完成,无需外部元件。

那么,RD和IRD引脚到底是做什么的?

既然 LED 在内部,这两个引脚为什么还存在?它们的作用是:

提供给用户灵活驱动外部LED的选项。

芯片的设计者考虑到了各种可能的应用场景:

  1. 默认模式(内部LED模式)当RD和IRD引脚悬空(什么都不接)时,芯片内部的控制逻辑会自动将驱动电流引导至内部的LED。这是最常见的使用模式,也是您购买的模块默认的工作方式。您通过I2C寄存器设置的电流,就是驱动这两个内部LED的。

  2. 外部LED模式:如果您有一个特殊的应用,需要驱动更大功率的LED或需要特殊安装方式(比如需要把LED和接收器分开一定距离),就可以使用这些引脚。

    • 您可以将外部LED的正极通过一个限流电阻接到电源(VCC),负极接到MAX30102的RDIRD引脚。

    • 当芯片工作时,它会通过RD/IRD引脚** sinking电流**(即电流从外部LED流入芯片,引脚作为接地端)来驱动外部LED发光。

    • 此时,内部的LED会被禁用,芯片所有的驱动电流都提供给外部LED。

引脚

名称

说明

1,5,6,7,8,14

NC

只是用于满足封装,不连接。

2

SCL

3

SDA

4

PGND

GND

9、10

VLED+

+3.3V

11

VDD

+1.8V

12

GND

13

INT

中断引脚,开漏输出,低电平有效

应用电路参考

芯片手册上的5、6引脚明明是NC不要连接,不知道为什么淘宝上卖的 MAX30102 模块把 5、6 引脚引出来了。

这两个引脚起不到什么作用,反而如果连接了 VCC 或 GND的话,芯片发热严重,甚至烧毁。

FIFO

32个样本数据,每个样本6字节

红外数据3字节,只使用低18位

红光数据3字节,只使用低18位

I2C 时序

寄存器

中断

FIFO

FIFO 写指针

FIFO 溢出寄存器

当 FIFO 满了,数据会丢失,这个寄存器记录丢失的样本数,上限值为0x1F,读取样本后该寄存器自动清零。

FIFO 读指针

读数据寄存器的时候,读指针是自动变化的,因此数据可一次不读取完,分批次读取,每次都读取0x07就行了。

对于其他的寄存器,读取的时候地址自增,但是读取 FIFO Data 寄存器,地址不会自增。

SMP_AVE 采样平均,控制在写入 FIFO 前,对多少个采样点取平均值,平均有助于降低噪声,但会降低信号动态响应。

FIFO_ROLLOVER_EN:置 1 新数据覆盖旧数据

配置

SHDN 置1进入低功耗模式:所有中断标志清零,寄存器内容保持,I2C通信正常。

ADC满量程

脉冲宽度、输出速率、ADC分辨率之间的关系:

通过上表,如果想要411脉冲宽度,采样率最高为 400 Hz

LED 控制

设置电流大小

LED1_PA RED

LED2_PA IR

电流从0~255,使用 uint8_t 即可表示。

用不到这个,先不研究。

温度

器件ID