MAX30100血氧心率模块(四)寄存器 – 配置
MAX30100的配置寄存器不多但是对于设置有着严格的要求,比如分辨率和采样速率的设置。由于配置寄存器有三个,所以分三部分说明。
MAX30100 寄存器四 — 模式配置
- Bit 7: 省电模式(SHDN)
改位设置高电平’1’则会进入省电模式停止血氧和心率转换,但是寄存器不会清零还可以进行读写操作。注意,所有中断将会清零。 - Bit 6: 复位(RESET)
当RESET设置为1时所有的配置、阈值和数据寄存器都会复位成上电状态。唯一的例外就是RESET 和TEMP_EN同时设置为1的时候,温度数据寄存器0x16和0x17不被清零。当复位完成后RESET 自动清零。 - Bit 3: 启动温度转换(TEMP_EN)
当设置1时候启动温度转换,温度读数结束时,该位自动清零。 - Bit 2:0:控制模式(Mode)
这两个位设置MAX30100的工作状态,更改模式不会改变其他设置,也不会擦除数据寄存器以前的储存的任何数据(建议重新配置FIFO_RD和FIFO_WD)。
MAX30100 寄存器四 — 血氧配置
- Bit 6:SpO2高分辨率模式(SPO2_HI_RES_EN)
设置这个位高, SpO2 ADC分辨率为16位,LED脉冲宽度为1.6ms。 - Bit 5:保留设置低 (default)
- Bit 4:2:SpO2速率设置 (SpO2_SR)
这里是设置MAX30100的采样率,采样率和脉冲宽度相关(见下表),所以采样率限制了最高的脉冲宽度。如果用户选择LED_PW比相应的采样率高,则最高的采样率会被自动替换到寄存器中。 - Bit 1:0: LED脉宽控制(LED_PW)
这两个位设定LED的脉冲宽度(IR和RED宽度相同),因此间接设定ADC在每个采样中的积分时间。注意:ADC的分辨率和积分时间有关。
MAX30100 ADC是16位Σ-Δ转换器。 ADC采样率可以从50sps到1ksps配置。 ADC的最大采样速率取决于选定的脉冲宽度,进而决定ADC分辨率。 例如,如果脉冲宽度设置为200μs,则ADC分辨率为13位,所有采样速率从50sps到1ksps均可选择。 但是,如果脉冲宽度设置为1600μs,则只能设置100sps和50sps的采样率。 SpO2和HR模式的允许采样率总结在表8和表9中。
MAX30100 寄存器四 — LED电流
设定LED电流以防止波峰过顶,小孩子和老年人的手皮肤厚度不同,设置的电流也不一样,在采样的过程中适当调整LED电流以以适应不同的环境。Bit7:4设置RED电流,Bit3:0设置IR电流,具体参数在网页最下面。
MAX30100 寄存器四 — 温度
可能需要温度数据正确解析SpO2数据(温度对于血氧漂移),但温度并不需要经常采集,每隔几秒采集一次就足够了。在心率模式下不需要温度数据。
MAX30100的温度转换成功后数据存储在0x16和0x017这两个寄存器中,其中TINT存储整数温度,TFRAC存储温度分数,读取温度应该两者都读取。
整数温度数据存储是二进制补码格式,直接转换成signed char即可使用。
分数温度计算是每一刻度0.0625NC(1/16)度的增量计算,例如0x03 * 0.0625=0.4度。如果该温度与负整数温度整合,则它仍然作为正分数值添加,例如-128°C+0.5°C =-127.5°C。
LED电流寄存器设置: