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

就是说,买到的芯片其实里面是有LED的,所以就不用接了,接了会导致发热严重。
用于驱动外部LED?
DeepSeek:
核心原理:内部集成LED与光学结构
MAX30102不是一个简单的传感器芯片,而是一个高度集成的光学系统模块。
内部LED:红光LED和红外LED直接封装在芯片内部。它们物理上就在芯片的那个小窗户下面。
内部光电二极管:接收反射光的传感器(光电二极管)也集成在芯片内部,紧挨着LED。
“自上而下”的工作方式:芯片被设计为直接贴在皮肤表面(如手指)上。LED向下发出光线,光线穿透皮肤后被血液反射,再向下被内部的光电二极管接收。整个光路都在芯片和皮肤之间完成,无需外部元件。
那么,RD和IRD引脚到底是做什么的?
既然 LED 在内部,这两个引脚为什么还存在?它们的作用是:
提供给用户灵活驱动外部LED的选项。
芯片的设计者考虑到了各种可能的应用场景:
默认模式(内部LED模式):当RD和IRD引脚悬空(什么都不接)时,芯片内部的控制逻辑会自动将驱动电流引导至内部的LED。这是最常见的使用模式,也是您购买的模块默认的工作方式。您通过I2C寄存器设置的电流,就是驱动这两个内部LED的。
外部LED模式:如果您有一个特殊的应用,需要驱动更大功率的LED或需要特殊安装方式(比如需要把LED和接收器分开一定距离),就可以使用这些引脚。
您可以将外部LED的正极通过一个限流电阻接到电源(VCC),负极接到MAX30102的
RD或IRD引脚。当芯片工作时,它会通过
RD/IRD引脚** sinking电流**(即电流从外部LED流入芯片,引脚作为接地端)来驱动外部LED发光。此时,内部的LED会被禁用,芯片所有的驱动电流都提供给外部LED。

应用电路参考

芯片手册上的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
