0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于BH1790GLC脈搏數(shù)據(jù)采集的設(shè)計方案

科技觀察員 ? 來源:羅姆半導體社區(qū) ? 作者:羅姆半導體社區(qū) ? 2022-04-24 16:39 ? 次閱讀

硬件組成與連接

1、ROHM的傳感器底板Sensor Shield

2、BH1790GLC傳感器

3、ArduinoNANO電路板。

poYBAGJlDN2AcU1rAAJlhxDXa4Y115.png

連接關(guān)系如上圖所示

程序解讀

ROHM官方提供的BH1790GLC_HeartRate例程是基于arduino寫的,文件結(jié)構(gòu)如下圖:

pYYBAGJlDN6ANR3LAACUYChQZ8Y247.png

這樣的程序目錄,顯然很不合適使用arduino IDE去查閱,這里推薦大家使用Source Insight的軟件去查看代碼。需要注意的是,Source Insight不支持.ino文件,為了方便,將HeartRate.ino另存為一個.c的文件,方便Source Insight查看。

將程序燒錄到硬件中運行如下:

poYBAGJlDN6Acqk0AACaqKxRYDA608.png

當前心率為70,反復(fù)測試幾次,數(shù)值都在70-75,看來一致性還是不錯。

廢話不多說,先看看ROHM怎么寫的,下面開始直接上代碼:

poYBAGJlDOCAWAPKAAIdQhNx-SQ857.png

在setup()函數(shù)中,有兩個比較關(guān)鍵的函數(shù)hr_bh1790_Init()和hr_bh1790_StartMeasure()函數(shù)

其中hr_bh1790_Init()并沒有對bh1790硬件進行初始化,只是簡單的讀取了傳感器的兩個ID寄存器,驗證了一下傳感器的身份,同時讓硬件進行復(fù)位。

poYBAGJlDOGAbgL4AAC-LhqG9AA808.png

其主要的工作還是去初始化程序定義的結(jié)構(gòu)體,給這些結(jié)構(gòu)體賦上初值。

其中pwCalc_Init(void)函數(shù)也很重要,程序中定義了兩個IIR數(shù)字濾波器,這個函數(shù)是將這個數(shù)字濾波器進行初始化。

兩個IIR數(shù)字濾波器是3.5HZ的高通濾波器和0.5HZ的低通濾波器。

小知識:

在律規(guī)則的情況下,心率和脈搏是一致的。如果有心律不齊的人,會測到心率和脈率不一致,脈率少于心率。正常人心率在60—100次/分鐘,在此范圍有波動都是正常的

所以將兩個數(shù)字濾波器設(shè)置在這個這個范圍是合適的。

接下來就是在setup()函數(shù)中的另外一個函數(shù)hr_bh1790_StartMeasure (void)

pYYBAGJlDOGAbi3uAACNeCsEsp8997.png

在這個函數(shù)中程序?qū)EAS_CTRL1、MEAS_CTRL2、MEAS_START寄存器進行了操作

接下來就是最關(guān)鍵的loop()函數(shù),看看ROHM官方是怎么將波形數(shù)據(jù)進行處理的。

pYYBAGJlDOKAEXo3AAHXiY1R-dc285.png

在loop函數(shù)中,timer_flg是一個32HZ的計時標志,每隔31.25MS,就讀一次傳感器的數(shù)據(jù),并進行計算。

其中hr_bh1790_Calc(s_cnt_freq)是本次分析的關(guān)鍵函數(shù),在這個函數(shù)中,程序?qū)鞲衅鲾?shù)據(jù)進行讀取,濾波,判斷,最后計算出心率值;而hr_bh1790_GetData()僅僅是將心率結(jié)果數(shù)據(jù)和判斷讀出來,方便串口打印而已。

直接查看hr_bh1790_Calc()函數(shù):

pYYBAGJlDOWAa7NTAAJPFz7_e6E245.png

在這個函數(shù)中,程序通過pw_GetMeasureData(&s_pwData);將寄存器DATAOUT_LEDOFF和DATAOUT_LEDON的數(shù)據(jù)讀出來保存到s_pwData結(jié)構(gòu)體中。

pwCalc(&s_pwData,&pw);及將s_pwData數(shù)據(jù)傳入到IIR濾波器中,經(jīng)過高通和低通濾波器之后,得到的數(shù)據(jù)保存到PW變量中。

poYBAGJlDOaAFTtXAAFuGON9Uwk962.png

ma_AverageF()滑動求平均,

iir_Filter()即數(shù)字濾波器,先后經(jīng)過s_iirPrm_hpf高通數(shù)字濾波器和s_iirPrm_lpf低通數(shù)字濾波器。

我在BH1790GLC_HeartRate例程上插入自己的代碼,將s_pwData(紅色DATAOUT_LEDON,藍色DATAOUT_LEDOFF)以及經(jīng)過IIR濾波之后的數(shù)據(jù) pw(綠色)繪制出來。

pYYBAGJlDOiAFgwtAAGEbASZ3q8276.png

將綠色圖形放大:

poYBAGJlDOiAcw-oAADF9ttdYWI875.png

可以看到,經(jīng)過IIR濾波之后,pw幾乎呈現(xiàn)很規(guī)律的正弦波。

并且,這個波形與s_pwData的幅值大小沒太大的關(guān)系。所以,最這樣的波形進行統(tǒng)計和判斷是就比之前要容易很多了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2542

    文章

    50285

    瀏覽量

    750220
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    38

    文章

    5715

    瀏覽量

    113331
收藏 人收藏

    評論

    相關(guān)推薦

    一種高速圖像數(shù)據(jù)采集板的設(shè)計方案

    本文提出了一種基于FPGA+ARM的高速數(shù)據(jù)采集板的設(shè)計方案。該方案采用FPGA完成高速數(shù)據(jù)采集,通過ARM對FPGA進行控制管理。利用DMA技術(shù)實現(xiàn)了FPGA與ARM之間的
    發(fā)表于 03-04 09:04 ?2119次閱讀

    ROHM開發(fā)出支持壓力和血管年齡測量的高速脈搏傳感器“BH1792GLC

    全球知名半導體制造商ROHM面向智能手表和智能手環(huán)等可穿戴式設(shè)備,開發(fā)出實現(xiàn)1024Hz高速采樣、支持壓力測量和血管年齡測量的光電式脈搏傳感器“BH1792GLC”。
    的頭像 發(fā)表于 04-03 14:15 ?1.1w次閱讀

    用CC2530 建立Zigbee數(shù)據(jù)采集系統(tǒng)的設(shè)計

    給出了該設(shè)計方案在LED路燈電壓數(shù)據(jù)采集實驗中的應(yīng)用實例。實驗結(jié)果表明這種設(shè)計方案不僅能有效地采集設(shè)備的各項數(shù)據(jù),而且使系統(tǒng)的擴展、維護變得
    發(fā)表于 03-08 10:03

    多路模擬數(shù)據(jù)采集接口設(shè)計

    該文檔為基于FPGA的多路模擬數(shù)據(jù)采集接口設(shè)計講解文檔,介紹一種基于 8,RQ 的多路模擬數(shù)據(jù)采集接口的設(shè)計方案。該方案使用Max1281 作為模數(shù)轉(zhuǎn)換芯片,在 APA150 FPGA
    發(fā)表于 09-21 14:37

    基于FPGA的數(shù)據(jù)采集控制器IP核的設(shè)計方案和實現(xiàn)方法研究

    此提供了新的解決方案。IP核(IP Core)是具有特定電路功能的硬件描述語言程序,可較方便地進行修改和定制,以提高設(shè)計效率[3]。本文研究了基于FPGA的數(shù)據(jù)采集控制器IP 核的設(shè)計方案和實現(xiàn)方法,該IP核既可以應(yīng)用在獨立IC
    發(fā)表于 07-09 07:23

    基于FPGA的高速數(shù)據(jù)采集系統(tǒng)該怎么設(shè)計?

    目前,在數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計方案中,有采用通用單片機和USB相結(jié)合的方案,也有采用DSP和USB相結(jié)合的方案,前者雖然硬件成本低,但是時鐘頻率較低,難以滿足
    發(fā)表于 09-05 07:22

    基于ARM和FPGA的微加速度計數(shù)據(jù)采集設(shè)計方案

    方案。這里介紹一種MEMS器件微加速度計的數(shù)據(jù)采集設(shè)計方案,結(jié)合當前應(yīng)用廣泛的處理芯片ARM和FPGA,給出了一種配置靈活、通用性強的數(shù)據(jù)采集方案
    發(fā)表于 11-25 06:17

    分享一款不錯的創(chuàng)新高精度數(shù)據(jù)采集SoC設(shè)計方案

    關(guān)于創(chuàng)新高精度數(shù)據(jù)采集SoC的設(shè)計方案
    發(fā)表于 04-07 06:19

    分享一種不錯的一種三十二通道掃描數(shù)據(jù)采集模塊的設(shè)計方案

    本文介紹了一種三十二通道掃描數(shù)據(jù)采集模塊的設(shè)計方案。該方案最高采樣率為200KSa/s,存儲深度IM×16bit ,垂直分辨率16bit,增益可編程為1、2、5、10、100五個等級的PCI數(shù)
    發(fā)表于 04-14 07:00

    求一種多通道同步數(shù)據(jù)采集及壓縮系統(tǒng)的設(shè)計方案  

    求一種多通道同步數(shù)據(jù)采集及壓縮系統(tǒng)的設(shè)計方案?! ?/div>
    發(fā)表于 04-28 06:13

    基于CAN 總線的數(shù)據(jù)采集模塊設(shè)計

    本文提出了一種以CAN 總線為基礎(chǔ)的數(shù)據(jù)采集模塊設(shè)計方案,介紹了該數(shù)據(jù)采集模塊的功能、軟件、硬件設(shè)計方法。實驗證明基于CAN 總線的數(shù)據(jù)采集模塊具有結(jié)構(gòu)簡單、轉(zhuǎn)換速度
    發(fā)表于 06-15 08:11 ?14次下載

    樓宇設(shè)備測控系統(tǒng)的無線數(shù)據(jù)采集與傳輸模塊設(shè)計

    針對樓宇設(shè)備測控系統(tǒng),提出一種無線數(shù)據(jù)采集與傳輸模塊設(shè)計方案,該設(shè)計方案采用nRF24LE1無線數(shù)據(jù)采集模塊和nRF24LU1+無線USB模塊構(gòu)成,采用GFSK調(diào)制技術(shù),工作頻率為2.
    發(fā)表于 07-21 15:52 ?23次下載

    無線數(shù)據(jù)采集系統(tǒng)設(shè)計

    無線數(shù)據(jù)采集系統(tǒng)的設(shè)計方案 摘 要:在工業(yè)控制領(lǐng)域,常常需要采集大量的現(xiàn)場數(shù)據(jù),然后傳輸給主機進行處理。而目前數(shù)據(jù)傳輸通常使用的是RS
    發(fā)表于 03-05 16:16 ?783次閱讀

    ROHM公司BH1790GLC心率算法及資料

    ROHM公司BH1790GLC心率算法及資料
    發(fā)表于 11-01 09:53 ?1次下載

    網(wǎng)關(guān)數(shù)據(jù)采集解決方案

    隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,數(shù)據(jù)采集已成為企業(yè)運營、管理和決策的重要支撐。網(wǎng)關(guān)作為連接不同網(wǎng)絡(luò)的關(guān)鍵設(shè)備,其在數(shù)據(jù)采集過程中發(fā)揮著至關(guān)重要的作用。本文將詳細介紹一種網(wǎng)關(guān)數(shù)據(jù)采集解決方案,旨在確保
    的頭像 發(fā)表于 03-08 16:05 ?522次閱讀
    網(wǎng)關(guān)<b class='flag-5'>數(shù)據(jù)采集解決方案</b>