0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于BH1790GLC脉搏数据采集的设计方案

科技观察员 来源:罗姆半导体社区 作者:罗姆半导体社区 2022-04-24 16:39 次阅读

硬件组成与连接

1、ROHM的传感器底板Sensor Shield

2、BH1790GLC传感器

3、ArduinoNANO电路板。

poYBAGJlDN2AcU1rAAJlhxDXa4Y115.png

连接关系如上图所示

程序解读

ROHM官方提供的BH1790GLC_HeartRate例程是基于arduino写的,文件结构如下图:

pYYBAGJlDN6ANR3LAACUYChQZ8Y247.png

这样的程序目录,显然很不合适使用arduino IDE去查阅,这里推荐大家使用Source Insight的软件去查看代码。需要注意的是,Source Insight不支持.ino文件,为了方便,将HeartRate.ino另存为一个.c的文件,方便Source Insight查看。

将程序烧录到硬件中运行如下:

poYBAGJlDN6Acqk0AACaqKxRYDA608.png

当前心率为70,反复测试几次,数值都在70-75,看来一致性还是不错。

废话不多说,先看看ROHM怎么写的,下面开始直接上代码:

poYBAGJlDOCAWAPKAAIdQhNx-SQ857.png

在setup()函数中,有两个比较关键的函数hr_bh1790_Init()和hr_bh1790_StartMeasure()函数

其中hr_bh1790_Init()并没有对bh1790硬件进行初始化,只是简单的读取了传感器的两个ID寄存器,验证了一下传感器的身份,同时让硬件进行复位。

poYBAGJlDOGAbgL4AAC-LhqG9AA808.png

其主要的工作还是去初始化程序定义的结构体,给这些结构体赋上初值。

其中pwCalc_Init(void)函数也很重要,程序中定义了两个IIR数字滤波器,这个函数是将这个数字滤波器进行初始化。

两个IIR数字滤波器是3.5HZ的高通滤波器和0.5HZ的低通滤波器。

小知识:

在律规则的情况下,心率和脉搏是一致的。如果有心律不齐的人,会测到心率和脉率不一致,脉率少于心率。正常人心率在60—100次/分钟,在此范围有波动都是正常的

所以将两个数字滤波器设置在这个这个范围是合适的。

接下来就是在setup()函数中的另外一个函数hr_bh1790_StartMeasure (void)

pYYBAGJlDOGAbi3uAACNeCsEsp8997.png

在这个函数中程序对MEAS_CTRL1、MEAS_CTRL2、MEAS_START寄存器进行了操作

接下来就是最关键的loop()函数,看看ROHM官方是怎么将波形数据进行处理的。

pYYBAGJlDOKAEXo3AAHXiY1R-dc285.png

在loop函数中,timer_flg是一个32HZ的计时标志,每隔31.25MS,就读一次传感器的数据,并进行计算。

其中hr_bh1790_Calc(s_cnt_freq)是本次分析的关键函数,在这个函数中,程序将传感器数据进行读取,滤波,判断,最后计算出心率值;而hr_bh1790_GetData()仅仅是将心率结果数据和判断读出来,方便串口打印而已。

直接查看hr_bh1790_Calc()函数:

pYYBAGJlDOWAa7NTAAJPFz7_e6E245.png

在这个函数中,程序通过pw_GetMeasureData(&s_pwData);将寄存器DATAOUT_LEDOFF和DATAOUT_LEDON的数据读出来保存到s_pwData结构体中。

pwCalc(&s_pwData,&pw);及将s_pwData数据传入到IIR滤波器中,经过高通和低通滤波器之后,得到的数据保存到PW变量中。

poYBAGJlDOaAFTtXAAFuGON9Uwk962.png

ma_AverageF()滑动求平均,

iir_Filter()即数字滤波器,先后经过s_iirPrm_hpf高通数字滤波器和s_iirPrm_lpf低通数字滤波器。

我在BH1790GLC_HeartRate例程上插入自己的代码,将s_pwData(红色DATAOUT_LEDON,蓝色DATAOUT_LEDOFF)以及经过IIR滤波之后的数据 pw(绿色)绘制出来。

pYYBAGJlDOiAFgwtAAGEbASZ3q8276.png

将绿色图形放大:

poYBAGJlDOiAcw-oAADF9ttdYWI875.png

可以看到,经过IIR滤波之后,pw几乎呈现很规律的正弦波。

并且,这个波形与s_pwData的幅值大小没太大的关系。所以,最这样的波形进行统计和判断是就比之前要容易很多了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2545

    文章

    50434

    浏览量

    750928
  • 数据采集
    +关注

    关注

    38

    文章

    5800

    浏览量

    113413
收藏 人收藏

    评论

    相关推荐

    一种高速图像数据采集板的设计方案

    本文提出了一种基于FPGA+ARM的高速数据采集板的设计方案。该方案采用FPGA完成高速数据采集,通过ARM对FPGA进行控制管理。利用DMA技术实现了FPGA与ARM之间的
    发表于 03-04 09:04 2138次阅读

    ROHM开发出支持压力和血管年龄测量的高速脉搏传感器“BH1792GLC

    全球知名半导体制造商ROHM面向智能手表和智能手环等可穿戴式设备,开发出实现1024Hz高速采样、支持压力测量和血管年龄测量的光电式脉搏传感器“BH1792GLC”。
    的头像 发表于 04-03 14:15 1.1w次阅读

    用CC2530 建立Zigbee数据采集系统的设计

    给出了该设计方案在LED路灯电压数据采集实验中的应用实例。实验结果表明这种设计方案不仅能有效地采集设备的各项数据,而且使系统的扩展、维护变得
    发表于 03-08 10:03

    多路模拟数据采集接口设计

    该文档为基于FPGA的多路模拟数据采集接口设计讲解文档,介绍一种基于 8,RQ 的多路模拟数据采集接口的设计方案。该方案使用Max1281 作为模数转换芯片,在 APA150 FPGA
    发表于 09-21 14:37

    基于FPGA的数据采集控制器IP核的设计方案和实现方法研究

    此提供了新的解决方案。IP核(IP Core)是具有特定电路功能的硬件描述语言程序,可较方便地进行修改和定制,以提高设计效率[3]。本文研究了基于FPGA的数据采集控制器IP 核的设计方案和实现方法,该IP核既可以应用在独立IC
    发表于 07-09 07:23

    基于FPGA的高速数据采集系统该怎么设计?

    目前,在数据采集系统的硬件设计方案中,有采用通用单片机和USB相结合的方案,也有采用DSP和USB相结合的方案,前者虽然硬件成本低,但是时钟频率较低,难以满足
    发表于 09-05 07:22

    基于ARM和FPGA的微加速度计数据采集设计方案

    方案。这里介绍一种MEMS器件微加速度计的数据采集设计方案,结合当前应用广泛的处理芯片ARM和FPGA,给出了一种配置灵活、通用性强的数据采集方案
    发表于 11-25 06:17

    分享一款不错的创新高精度数据采集SoC设计方案

    关于创新高精度数据采集SoC的设计方案
    发表于 04-07 06:19

    分享一种不错的一种三十二通道扫描数据采集模块的设计方案

    本文介绍了一种三十二通道扫描数据采集模块的设计方案。该方案最高采样率为200KSa/s,存储深度IM×16bit ,垂直分辨率16bit,增益可编程为1、2、5、10、100五个等级的PCI
    发表于 04-14 07:00

    求一种多通道同步数据采集及压缩系统的设计方案  

    求一种多通道同步数据采集及压缩系统的设计方案。  
    发表于 04-28 06:13

    基于CAN 总线的数据采集模块设计

    本文提出了一种以CAN 总线为基础的数据采集模块设计方案,介绍了该数据采集模块的功能、软件、硬件设计方法。实验证明基于CAN 总线的数据采集模块具有结构简单、转换速度
    发表于 06-15 08:11 14次下载

    楼宇设备测控系统的无线数据采集与传输模块设计

    针对楼宇设备测控系统,提出一种无线数据采集与传输模块设计方案,该设计方案采用nRF24LE1无线数据采集模块和nRF24LU1+无线USB模块构成,采用GFSK调制技术,工作频率为2.
    发表于 07-21 15:52 23次下载

    无线数据采集系统设计

    无线数据采集系统的设计方案 摘 要:在工业控制领域,常常需要采集大量的现场数据,然后传输给主机进行处理。而目前数据传输通常使用的是RS
    发表于 03-05 16:16 792次阅读

    ROHM公司BH1790GLC心率算法及资料

    ROHM公司BH1790GLC心率算法及资料
    发表于 11-01 09:53 1次下载

    网关数据采集解决方案

    随着物联网技术的快速发展,数据采集已成为企业运营、管理和决策的重要支撑。网关作为连接不同网络的关键设备,其在数据采集过程中发挥着至关重要的作用。本文将详细介绍一种网关数据采集解决方案,旨在确保
    的头像 发表于 03-08 16:05 543次阅读
    网关<b class='flag-5'>数据采集解决方案</b>