搜索
热搜: ROHM 模拟 车载
查看: 3649|回复: 6

【罗姆传感器】6.脉搏传感器之测量数据分析

  [复制链接]

该用户从未签到

89

主题

513

帖子

0

精华

金牌会员

最后登录
2022-3-30
发表于 2018-11-19 20:58:45 | 显示全部楼层 |阅读模式
本帖最后由 小马哥-1650185 于 2018-11-19 21:36 编辑

上贴讲到了脉搏传感器模块测量脉搏的方法,可根据波形单位分钟内周期数量确定脉搏次数。
此贴具体分析测量过程:
先来看几个比较重要的寄存器
1.jpg

首先需要往寄存器41h,42h, 43h写数据
  1. #define BH1790GLC_MEAS_CONTROL1_RDY                     (1 << 7)
  2. #define BH1790GLC_MEAS_CONTROL1_LED_LIGHTING_FREQ_128HZ (0 << 2)
  3. #define BH1790GLC_MEAS_CONTROL1_RCYCLE_32HZ             (2 << 0)

  4. #define BH1790GLC_MEAS_CONTROL2_LED_EN_00               (0 << 6)
  5. #define BH1790GLC_MEAS_CONTROL2_LED_ON_TIME_0_3MS       (0 << 5)
  6. #define BH1790GLC_MEAS_CONTROL2_LED_CURRENT_10MA        (12 << 0)

  7. #define BH1790GLC_MEAS_START_MEAS_ST                    (1 << 0)

  8. #define BH1790GLC_MEAS_CONTROL1_VAL   (BH1790GLC_MEAS_CONTROL1_RDY | BH1790GLC_MEAS_CONTROL1_LED_LIGHTING_FREQ_128HZ | BH1790GLC_MEAS_CONTROL1_RCYCLE_32HZ)
  9. #define BH1790GLC_MEAS_CONTROL2_VAL   (BH1790GLC_MEAS_CONTROL2_LED_EN_00 | BH1790GLC_MEAS_CONTROL2_LED_ON_TIME_0_3MS | BH1790GLC_MEAS_CONTROL2_LED_CURRENT_10MA)
  10. #define BH1790GLC_MEAS_START_VAL      (BH1790GLC_MEAS_START_MEAS_ST)
复制代码
写入数据
  val[0] = BH1790GLC_MEAS_CONTROL1_VAL;
  val[1] = BH1790GLC_MEAS_CONTROL2_VAL;
  val[2] = BH1790GLC_MEAS_START_VAL;  
  rc = write(BH1790GLC_MEAS_CONTROL1, val, sizeof(val));

然后来看下这几个寄存器是什么
MEAS_CONTROL1 ( 0x41h )
2.jpg
MEAS_CONTROL2 ( 0x42h )
3.jpg
4.jpg

MEAS_START ( 0x43h ) :bit0 写1,开始测量
5.jpg

然后等待测量完成后一次读取54h to 57h中的数据
  1. #define BH1790GLC_DATAOUT_LEDOFF      (0x54)
复制代码
读取数据
  1. rc = read(BH1790GLC_DATAOUT_LEDOFF, data, 4);
复制代码

  DATAOUT_LEDOFF  = ((unsigned short)data[1] << 8) | (data[0]);
  DATAOUT_LEDON    = ((unsigned short)data[3] << 8) | (val[2]);
然后就是数据处理了,看下这几个数据寄存器DATAOUT ( 0x54/0x55, 0x56/0x57h )
6.jpg

DATAOUT_LEDOFF 表示绿色led没有发光时的计数,16位数据,低8位54h, 高8位55h
DATAOUT_LEDON  表示绿色led发光时的计数,16位数据,低8位56h, 高8位57h

读完57h后重新开始读取。

最后得到的数据为灯灭计数和灯亮计数。
下图中第一个数据为灯亮的计数,后面的为灯灭计数,可以看到灯亮计数秤周期性变化,所以记录单位分钟内周期数量可算的脉搏次数

8.jpg

为了更加直观的看测量结果,我们分析输出波形,蓝色为灯亮计数波形,周期性变化,红色为灯灭计数,基本不怎么变化

9.jpg
具体数据处理参考例程的HR算法

10.jpg
回复

使用道具 举报

该用户从未签到

2

主题

412

帖子

0

精华

金牌会员

最后登录
2021-10-27
发表于 2018-11-20 09:24:34 | 显示全部楼层
小马哥灯亮和灯灭分别代表什么意思啊
回复 支持 反对

使用道具 举报

该用户从未签到

2248

主题

1万

帖子

1

精华

论坛元老

最后登录
2024-4-26
发表于 2018-11-20 10:57:56 | 显示全部楼层
学习了。。。。
回复

使用道具 举报

该用户从未签到

89

主题

513

帖子

0

精华

金牌会员

最后登录
2022-3-30
 楼主| 发表于 2018-11-20 20:25:48 | 显示全部楼层
海迹天涯 发表于 2018-11-20 09:24
小马哥灯亮和灯灭分别代表什么意思啊

这个和工作原理有关.
这个传感器是通过测量led照射光的反射强度变化来测量脉动引起的血管容量变化
可参考下图解

QQ截图20181120202226.jpg

QQ截图20181120202320.jpg

回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

412

帖子

0

精华

金牌会员

最后登录
2021-10-27
发表于 2018-11-21 09:32:54 | 显示全部楼层
是不是脉动的时候血管容量变大就收不到反射的光,平时是能接受到反射的LED绿光
回复 支持 反对

使用道具 举报

该用户从未签到

89

主题

513

帖子

0

精华

金牌会员

最后登录
2022-3-30
 楼主| 发表于 2018-11-21 19:34:49 | 显示全部楼层
海迹天涯 发表于 2018-11-21 09:32
是不是脉动的时候血管容量变大就收不到反射的光,平时是能接受到反射的LED绿光 ...

应该是的,脉动时候血管容量变大,对绿光吸收增强,导致反射光变弱,心跳也是周期性的,反射光同样周期性变化
回复 支持 反对

使用道具 举报

该用户从未签到

1153

主题

5959

帖子

0

精华

论坛元老

最后登录
2021-2-19
发表于 2018-11-25 19:09:44 | 显示全部楼层
看看了
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

Archiver|手机版|小黑屋|罗姆半导体技术社区

GMT+8, 2024-4-26 09:19 , Processed in 0.115611 second(s), 19 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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