找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 20291|回复: 18
打印 上一主题 下一主题
收起左侧

自己翻译的Max30100寄存器中文资料(血氧心率传感器IC)

  [复制链接]
跳转到指定楼层
楼主
ID:393111 发表于 2018-9-25 20:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Max30100 可穿戴光电式的血氧心率传感器IC
总体描述:
Max30100是一款集成的脉搏血氧和心率检测传感器。它使用了两个LED灯,一个用来优化光学的光电探测器,和低噪声模拟信号处理器,用来检测脉搏的血氧和心率信号。
Max30100的运行电压在1.8V到3.3V之间,并且可以通过软件来控制,待机电流极小,可以忽略不计,这样可以使电源在如何时候都能保持连接状态。

应用:
  • 可穿戴设备;
  • 健身设备;
  • 医疗监控设备;、

Benefts和功能
  • 完整的脉搏血氧计和心率传感器解决方案简化了设计
集成的LED,照片传感器和高性能模拟面前端小x 2.8毫米2.8毫米5.6毫米14-Pin光学增强System-in-Package
  • 超低功耗操作增加电池寿命可穿戴设备可编程采样率和当前电力储蓄超低关闭当前(0.7,typ
  • 先进的功能提高了测量性能的高SNR提供了健壮的运动工件弹性集成环境光消除高采样率能力快速数据输出能力
Table1  寄存器图表及其描述
详细描述:
1、中断状态寄存器(基地址0x00)
              总共有5个中断状态,每个中断状态控制都是一样的:高电平的相关中断使能,直到中断被清除,中断才停止。
              无论什么时候,只要中断寄存器被读或者中断寄存器被触发,中断都会被清除。例如:如果SpO2传感器被触发当转换完成,读到FIFO的数据寄存器或者中断引脚的中断寄存器被清除,中断状态寄存器会被清除,中断寄存器为0.
  • Bit7FIFO数据填满了的标志(A_FULL
在SpO2和心率的模式下,当FIFO的写指针和读指针都被减去一时就会被触发,这也是说明FIFO只有一个数字没有填满。如果FIFO的数据在下一个转换之前没有被读出,那么FIFO的数据就会丢失。
  • Bit6:片内温度读标志位TEMP_RDY
当内部温度传感器的数据转换完成,这个中断就会被触发,此时处理器就可以读温度的数据寄存器了。
  • Bit5:心率数据完成标志位(HR_RDY
在心率或者SpO2模式下,当每个数据都被搜集后,这个中断就会被触发。一个心率数据只是由一个红外(IR)数据组成。当FIFO数据寄存器被读后,这个中断就会被自动的触发。
  • Bit4SpO2数据完成标志位(SPO2_RDY
在SpO2的模式下,当每次的数据都被转换完成这个中断就会被触发。一个SpO2的数据由一个红外(IR)和一个红光的点组成。当FIFO数据寄存器被读后,这个中断就会被自动的触发。
  • Bit3Bit2Bit1
省略
  • Bit0:电源准备完成标志位(PWR_RDY
在开机或者低功耗状态下,当电源电压在过低锁定(UVLO)之下或者之上,控制器(IC)开机并且数据收集完成,这个中断就会被触发。
2、中断使能寄存器(基地址0x01)
              在MAX30100 IC里,每一个硬件中断的来源都可以使用软件寄存器来控制其不使能状态,除了电源准备完成中断。开机中断不能被打断,因为在MAX30100复位时,默认状态下是不使能的。
              当中断使能位被设置成0的时候,相应的中断在其寄存器中是1(上一个介绍),但是INT引脚不是低电平(相反电平)。(B3:B0设置为0)

3、FIFO寄存器(基地址 0x02—0x05)              
              ①、FIFO写指针寄存器(FIFO Write Pointer)(FIFO_WR_PTR基地址 0x02)
              FIFO写指针指向MAX30100写的下一个数据或命令的位置。这个指针把每一个数据或者命令放进FIFO中。当 MOD[2:0]被设置的时候,也可以通过IIC总线的方式进行改变。
              ②、FIFO溢出计数器寄存器(OVF_COUNTER基地址 0x03)
              当FIFO寄存器的数据记满数据,采样的数据将溢出FIFO寄存器,并且数据将会丢失。OVF_COUNTER 会保存溢出的数据。保存在0xF中。当所有的数据从FIFO中取出,OVF_COUNTER就会被置零。
              ③、FIFO 读指针寄存器(FIFO_RD_PTR基地址 0x04)
              FIFO读指针指向处理器通过IIC总线从FIFO通道获取的下一个数据。每次只从FIFO取出一个数据。当在读数据的时候,控制器也可以使用这个寄存器来写命令或者数据到FIFO中,如果FIFO的数据传输出现错误,也可以重新从其读出样本。
              ④、FIFO数据寄存器(FIFO_DATA基地址 0x05)
              循环的FIFO是16位的数据存储,能够存储16个SPO2通道数据(Red 和 IR)。FIFO_DATA寄存器在IIC寄存器的映射下指向从FIFO中读出的下一个数据。FIFO_RD_PTR(FIFO读数据指针)指向这个数据。FIFO_DATA寄存器不会自动增加其地址值,因此会反复读取这个地址的数据。每一个样本是4字节的数据,因此得到一个样本需要读取4次的FIFO_DATA寄存器。理论上上面的所有寄存器都可以进行读取或者写入数据,但是在实际上,只有FIFO_RD_PTR寄存器才可以进行写入操作。其他的寄存器的数据只能自动增加或者由MAX30100进行填充(填满)。当开始一个新的SPO2或者心率转换,我们希望FIFO_RD_PTR、OVF_COUNTE、FIFO_WR_PTR寄存器能够被清零,以确保FIFO是空并且是已知的状态。当从IIC读取MAX30100寄存器时,地址指针寄存器就会自动的增加,那么读取的字节就是下一个寄存器发送的。FIFO_DATA寄存器不是这样的,他的指针不会增加。在FIFO数据寄存器中下一个被发送的数据就是下一个可用的数据。

  • FIFO读数据
正常情况下,在一个IIC总线数据传输事件中,因为寄存器地址可用自动增加,所以一次数据传输可用读取所有的寄存器。除了FIFO_DATA寄存器,其他的都可以这样读取。地址0xFF寄存器的数据没有意义。
  • FIFO数据结构
FIFO的数据存储器由16个IR和RED的ADC数据样本存储块组成。每一个样本由一个IR字和一个RED字,总共有4个这样的字节数据组成。因此FIFO数据由4*16=64字节的数据组成。
每一个样本数据由一个IR和一个RED数据字(2个寄存器)组成,因此每次读取一个样本,需要4个IIC字节数据读一行。当4字节样本被读取完毕,FIFO的读指针就会自动增加。
在心率模式下,每个样本的第3和第4字节会被置0,但是其他的FIFO配置都是一样的。

FIFO读取数据的例子,伪代码:
第一步:得到FIFO_RD_PTR
开始;
发送器件地址 + 写 模式
发送 FIFO_RD_PTR(地址0x04);
再次启动开始;
发送器件地址 + 读 模式
读 FIFO_WR_PTR (地址0x03);
停止;
主控制器检查从FIFO中读取的样本:
NUM_AVAILABLE_SAMPLES = FIFO_WR_PTR – FIFO_RD_PTR(应该考虑到指针包的问题)
NUM_SAMPLES_TO_READ  = < NUM_AVAILABLE_SAMPLES
              第二步:从FIFO读取 NUM_SAMPLES_TO_READ 的样本:
开始;
发送器件地址 + 写 模式
发送 FIFO_DATA 地址(0x05);
重新开始;
发送器件地址 + 写 模式
for( i = 0 ;i< NUM_SAMPLES_TO_READ;i++)
{
              读 FIFO_DATA;
              保存 IR[15:8];
              读 FIFO_DATA;
              保存 IR[7:0];
              读 FIFO_DATA;
              保存 R[15:8];
              读 FIFO_DATA;
              保存 R[15:8];
}
停止;
第三步:FIFO_RD_PTR寄存器。如果第二步成功了,在FIFO中的FIFO_RD_PTR指针就会指向下一个样本,那么第三步就不是特别重要了。否则控制器适当的刷新FIFO_RD_PTR寄存器,因此这个样本就是重新读取。
开始;
发送器件地址 + 写 模式
发送FIFO_RD_PTR寄存器地址(0x04);
写FIFO_RD_PTR;
停止;
  • 模式寄存器配置(基地址0x06
  • Bit7:关闭控制(SHDN
把这一位置为 1,就会设置成省电模式。当是设置成省电模式时,所有的寄存器都会保存他们当前的值,并且其读写功能正常。在这个模式下所有的中断都是被清除。
  • Bit6:复位控制(RESET
当这一位被置为1,所有的配置、阀阈值及数据寄存器都会被复位到上电状态。唯一的例外是,当温度数据寄存器0x16和0x17没有被清除时,并且RESET和TEMP_EN都被置1,声明的情况不会发生。当复位完成之后RESET位会被自动置为0.
  • Bit3:温度使能(TEMP_EN
当初始化单次温度数据从温度传感器读出来之后,这一位就会被清除。在SPO2或者心率模式下,和上面一样。
  • Bit2:0 模式控制
  • SpO2控制寄存器(基地址0x07
  • Bit6:高分辨率采样使能SpO2SPO2_HI_RES_EN
这位设置为1,SpO2的ADC就会设置成16位采样,LED脉冲为1.6ms(频率625Hz)
  • Bit5:复位,默认设置为0
  • Bit4:2 SpO2采样率设置
这一位被定义为有效扫描率控制,一个扫描由一个IR脉冲/转换和一个RED转换组成。
采样率和脉冲宽度是相关的,样本速率在脉冲宽度的时间内设置一个上界。如果用户选择的样本率对于选定的ledpw设置来说太高了,那么可能的最高样本率将被编入寄存器中。
  • Bit1:0 LED脉冲宽度控制
这些位设置了LED脉冲宽度(IR和红色具有相同的脉冲宽度),因此间接地设置了每个样本中ADC的集成时间。ADC的分辨率与集成时间直接相关。
  • LED控制寄存器(基地址0x09
  • Bit7:4  红色LED电流控制位
这一位设置红色LED的电流大小(等级)。
  • Bit 3:0 IR(红外)LED电流控制位
这一位设置红外LED的电流大小(等级)。
  • 温度数据寄存器(基地址0x160x17
  • 温度整数寄存器(基地址0x16
ADC采样的温度数值被分为两个部分,一个是整数部分,一个是分数部分。下面是其计算公式。
整数部分以二进制补码的形式存放在整数寄存器中(0x16)
  • 温度小数数据寄存器(基地址0x17
小数部分的数据以0.0625℃(1/16步进)


以上的Word格式中文翻译文档51黑下载地址:
max30100.docx (807.93 KB, 下载次数: 294)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏11 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:268888 发表于 2018-10-15 08:53 | 只看该作者
顶,这么好的文章都没人定
回复

使用道具 举报

板凳
ID:467373 发表于 2019-1-13 14:01 | 只看该作者
感谢楼主,特别好
回复

使用道具 举报

地板
ID:260379 发表于 2019-1-18 20:24 | 只看该作者
大哥威武 我正愁这个英文版的看不利索呢
回复

使用道具 举报

5#
ID:459369 发表于 2019-5-3 15:03 | 只看该作者
谢谢楼主,我正愁这个英文版的看不利索呢
回复

使用道具 举报

6#
ID:421308 发表于 2019-7-25 20:18 | 只看该作者
楼主威武 我正愁这个英文版的看不利索呢
回复

使用道具 举报

7#
ID:608001 发表于 2019-9-5 16:00 | 只看该作者
有没有资源呀  给看一下啊
回复

使用道具 举报

8#
ID:608001 发表于 2019-9-5 16:03 | 只看该作者
能不能分享一下百度云啊
回复

使用道具 举报

9#
ID:614262 发表于 2019-9-21 01:04 | 只看该作者
太及时了
回复

使用道具 举报

10#
ID:501451 发表于 2019-12-18 18:24 | 只看该作者
。。。没有后续了么
回复

使用道具 举报

11#
ID:283541 发表于 2020-3-9 10:31 | 只看该作者
感谢楼主分享,认真学习
回复

使用道具 举报

12#
ID:255170 发表于 2020-3-14 13:13 | 只看该作者
谢谢资源
回复

使用道具 举报

13#
ID:589541 发表于 2020-3-19 17:53 | 只看该作者
谢谢资源
回复

使用道具 举报

14#
ID:714887 发表于 2020-4-1 20:53 | 只看该作者
顶一个,可能以后会用到
回复

使用道具 举报

15#
ID:91165 发表于 2020-4-3 12:43 | 只看该作者
谢谢楼主辛苦了
回复

使用道具 举报

16#
ID:688059 发表于 2020-4-18 21:34 | 只看该作者
多谢分享
回复

使用道具 举报

17#
ID:185372 发表于 2020-6-20 10:26 | 只看该作者
英语小白的救星啊,感谢lz
回复

使用道具 举报

18#
ID:823045 发表于 2021-8-13 13:48 | 只看该作者
会看英文文档就是强啊,顶
回复

使用道具 举报

19#
ID:584195 发表于 2021-9-26 07:27 | 只看该作者
太好了,我还有两个传感器在吃灰列!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表