MAX30102

一、简介
MAX30102是一个集成的脉搏血氧测量和心率监测模块。它包括内部led、光电探测器、光学元件和具有环境光排斥作用的低噪声电子器件。MAX30102提供了一个完整的系统解决方案,以简化移动和可穿戴设备的设计过程。MAX30102在单个1.8V电源和内部LED的单独的5.0V电源上工作。通信是通过一个标准的I2c兼容的接口。该模块可以通过具有零备用电流的软件关闭,允许电源导轨始终保持供电。

二、优点和特性
●心率监测器和脉冲测氧器传感器在LED反射解决方案
●小5.6mmx3.3mmx1.55mm14针光学模块集成盖玻璃最佳性能
●超低功率操作移动设备可编程采样率和LED电流节能低功率心率监测器(<1mW)超低关机电流(0.7µA,典型)
●快速数据输出能力高样本率
●鲁棒运动艺术家韧性高信噪比
●-40°C到85°C工作温度范围

三、系统框图

四、

与I2C 兼容的时序图

引脚图

在这里插入图片描述

五、从FIFO中读取数据的伪代码示例
1、首先: Get the FIFO_WR_PTR:
START;
Send device address + write mode
Send address of FIFO_WR_PTR;
REPEATED_START;
Send device address + read mode
Read FIFO_WR_PTR;
STOP;
2、中央处理器计算要从FIFO中读取的样本的数量:
NUM_AVAILABLE_SAMPLES = FIFO_WR_PTR – FIFO_RD_PTR
(Note: pointer wrap around should be taken into account)
NUM_SAMPLES_TO_READ = < less than or equal to NUM_AVAILABLE_SAMPLES >
3、其次:从FIFO中读取NUM_SAMPLES_TO_READ示例:
START;
Send device address + write mode
Send address of FIFO_DATA;
REPEATED_START;
Send device address + read mode
for (i = 0; i < NUM_SAMPLES_TO_READ; i++) {
Read FIFO_DATA;
Save LED1[23:16];
Read FIFO_DATA;
Save LED1[15:8];
Read FIFO_DATA;
Save LED1[7:0];
Read FIFO_DATA;
Save LED2[23:16];
Read FIFO_DATA;
Save LED2[15:8];
Read FIFO_DATA;
Save LED2[7:0];
Read FIFO_DATA;
}
STOP;
START;
Send device address + write mode
Send address of FIFO_RD_PTR;
Write FIFO_RD_PTR;
STOP;
4、最后:写入FIFO_RD_PTR寄存器。如果第三步成功,则FIFO_RD_PTR将指向FIFO中的下一个示例,并且不需要此 。否则,处理器会适当地更新FIFO_RD_PTR,以便重读样本。

六、时序图

1、启停时序
当总线未使用时,启动和停止条件SDA和SCL怠速过高。主服务器通过发出启动条件来启动通信。启动条件是在SCL高的SDA上的高到低过渡。停止条件是SDA上的低到高过渡,而SCL较高。来自主设备的启动条件发出到设备的传输的开始信号。主服务器通过发出停止条件来终止传输,并释放总线。如果生成重复启动条件而不是停止条件,则总线将保持活动状态。

2、提前停止条件
MAX30102在数据传输期间的任何一点识别停止状态,除非停止状态发生在与启动条件相同的高脉冲下。为了正常操作,不要在与启动条件相同的SCL高脉冲期间发送STOP状态。

3、从属服务器地址
从地址总线主服务器通过发出7位从设备I之后的启动条件来启动与从设备的通信D. 空闲时,MAX30102等待启动条件,然后是其从属设备ID. 串行接口逐位比较每个从属ID,如果检测到错误的从属ID,接口可以关闭电源,立即断开SCL,识别开始条件后,对MAX30102进行编程,接收或发送数据,LSB为读/写位,表示主是从MAX30102写入或读取数据(收发=0选择写条件,收发=1选择读取条件)。在收到适当的从属ID后,MAX30102通过将SDA降低一个时钟循环来发出ACK。MAX30102从属ID包括7个固定位,B7-B1(设置为0b1010111)。首先传输最重要的从属ID位(B7),然后是剩余的位。表17显示了设备可能的从属ID。

4、ACK应答信号
确认位(ACK)是第9位,MAX30102在写入模式时用来握手接收每个字节的数据(图8)。如果已成功接收到前一个字节,则MAX30102将在整个主节点生成的第9个时钟脉冲期间拉下SDA。监视ACK允许检测到不成功的数据传输。如果接收设备忙或发生系统故障,则数据传输失败。如果数据传输失败,总线主服务器将重试通信。主机在第9个时钟周期中拉下SDA,以确认在MAX30102处于读取模式时接收到的数据。主机在每个读取字节后发送一个确认,以允许数据传输继续。当主服务器从MAX30102读取最后一个字节的数据,然后出现STOP条件时,将发送不确认。

5、写入数据格式
对于写入操作,将从属ID作为第一个字节发送,然后是寄存器地址字节,然后是一个或多个数据字节。寄存器地址指针在收到每个字节的数据后自动递增,例如,整个寄存器库可以一次写入。以“停止”条件终止数据传输。写入操作如图9所示。内部寄存器地址指针会自动递增,因此写入额外的数据字节会依次填充数据寄存器。

6、读取数据格式
对于读取操作,必须执行两个I2C操作。首先,发送从属ID字节,然后是您希望读取的I2C寄存器。然后发送一个重复启动(Sr)条件,然后是读取的从属ID。然后,MAX30102开始从第一操作中选择的寄存器开始发送数据。读取指针自动递增,因此设备继续按顺序从其他寄存器发送数据,直到接收到停止§条件为止。其中的例外是FIFO_DATA寄存器,在读取附加字节时,读取指针不再递增。要读取FIFO_DATA之后的下一个寄存器,需要使用I2C写入命令来更改读取指针的位置。图10和图11显示了读取一个字节和多个字节数据的过程。需要一个初始写入操作才能发送读取寄存器地址。数据按顺序从寄存器发送,从初始I2C写入操作中选择的寄存器开始。如果读取FIFO_DATA寄存器,读取指针将不会自动增加,随后的数据字节将包含FIFO的内容。

MAX30102 高灵敏度脉搏氧器和心率传感器说明书相关推荐

  1. Arduino使用 MAX30102心率传感器

    1.1 介绍: MAX30102心率传感器主要用到MAX30102EFD元件,它是一个集成脉搏血氧仪和心率监视仪的传感器.它集成了一个红外LED和一个红外光LED.光电检测器.光器件,以及带环境光抑制 ...

  2. spo2数据集_自己翻译的Max30100寄存器中文资料(血氧心率传感器IC)

    Max30100 可穿戴光电式的血氧心率传感器IC 总体描述: Max30100是一款集成的脉搏血氧和心率检测传感器.它使用了两个LED灯,一个用来优化光学的光电探测器,和低噪声模拟信号处理器,用来检 ...

  3. ANT+ 之【心率传感器设计】【下】

    好久不见!!最近的几个月发生了不少事情,导致精力极度分散,自己todolist上各个项目的优先级不停地被调整,博客的事情就被暂时搁置了下来.现在抽出了时间赶紧继续更新一篇ANT博客好了. /***** ...

  4. 单片机课程设计数字心率计_光学心率传感器详细使用教程

    该方法非常简单,光学心率传感器基于以下工作原理:当血流动力发生变化时,例如血脉搏率(心率)或血容积(心输出量)发生变化时,进入人体的光会发生可预见的散射.下图1介绍了光学心率传感器的主要元件和基本工作 ...

  5. 光学心率传感器工作原理

    光学心率测量原理 原博地址 http://blog.csdn.net/richard_liujh/article/details/49615395 简介: 在这个什么都要和"智能" ...

  6. 采用arduino UNO和pulse sensor心率传感器进行心率测量

    转自:anning86525的博客 网址:https://blog.csdn.net/anning86525/article/details/80096816 1.准备工作 首先阅读一遍我们编写的pu ...

  7. pulse sensor心率传感器

    pulse sensor心率传感器 脉搏传感器本质上是一个光电容积描记器,用于无创心率监测的医疗设备.有时,光电容积描记器可以测量血氧水平,有时却不能.来自光电容积描记器的心脏脉搏信号是电压的模拟波动 ...

  8. Plusensor心率传感器简介

    今天小白给大家介绍一款很受欢迎的检测心率的传感器,即:PluseSensor传感器,欢迎大家一起讨论学习. 1 PluseSensor传感器简介 PulseSensor 是一款用于心率测量.脉搏波形测 ...

  9. 心率传感器和烟雾传感器的学习了解

    第三次培训 心率传感器和烟雾传感器的学习了解 一.pulsesensor传感器 1.学习了解 Pulse Sensor是一款用来检测心率的传感器,使用方法还是比较方便的,用户只需要用手指按住传感器就可 ...

  10. 【雕爷学编程】Arduino动手做(91)---XD-58C心率传感器

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

最新文章

  1. php5,Apache在windows 7环境搭建
  2. 04_Struts2标签
  3. 利物浦大学comp313课程第一节课
  4. 程序员看不起事业单位员工:一年收入才4万?网友:40岁再比一比,究竟谁更牛逼!!
  5. Asp.Net服务器控件开发的Grid实现(三)列编辑器
  6. vmware ubuntu硬盘空间不够用,空间扩展
  7. 百度回应李彦宏卸任百度云执行董事;甲骨文拟增聘 2000 员工拓展云服务;PostgreSQL 12 正式发布 | 极客头条...
  8. jeesite图片上传并显示
  9. 云清联盟发布全网协同防护方案 2017将继续“纳新”共赢未来
  10. S5PV210芯片的DRAM控制器介绍、初始化DDR的流程分析
  11. CSS压缩之:正则五步替换法
  12. mysqlin查询的java写法_[转载]常用的shell脚本
  13. python fun函数、求4x4整型数组的主对角线元素的和_输入4行4列的二维数组,求计算主对角线各元素之和,计算副对角线各元素之和。...
  14. LLVM系列(三)小插曲---Clang的常用命令
  15. TCP窗口管理之发送窗口
  16. 视频课--高斯消元法习题课
  17. MySQL数据库初次学习心得
  18. 关于VBS 文件执行后自动删除执行的文件
  19. 为什么OCPC推广效果总是不好? OCPC建模核心要素分析 -竞价推广
  20. warning : 无法找到 v142 的生成工具。安装 v142 可使用 v142 生成工具进行生成。等错误MFC

热门文章

  1. PDown(百度网盘第三方不限速下载工具)
  2. 计算机高深专业术语,计算机知识专业术语50个
  3. 使用Docker部署MySQL
  4. 自动化构建工作流--gulp
  5. 运维工程师面试题及答案(网络运维工程师面试题)
  6. Golang zip文件解压与压缩
  7. SVN忽略文件和文件夹
  8. 局域网 git服务器 虚拟机,GitLab服务器傻瓜式搭建教程
  9. matlab非线性规划
  10. Windows桌面文件夹删除被提示“找不到该项目”——顽固目录、文件的删除