This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS1292:ADS1292R -心率数据检测

Guru**** 2538955 points
Other Parts Discussed in Thread: ADS1292R, ADS1292

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/746117/ads1292-ads1292r---heart-rate-data-detection

器件型号:ADS1292

您好!

我正在使用 ads1292r,并且能够在“连续读取模式”中读取9个字节的数据 。

我正在使用以下代码读取9个字节的数据。

nrf_log_info ("=========== ADS1292 ==== ");nrf_log_flush ();
nrf_drv_spi_config_t spi_config = nrf_drv_spi_default_config;
spi_config.ss_pin = ADS1292_CS_PIN;
spi_config.miso_pin = ADS1292_miso_pin;
spi_config_ssi_pin = ADS1292_spi_mode_pin
= ADS1292_se_pin;
SPI_CONFIG.BIT_Order = nRF_DRV_SPI_BIT_ORIG_MSB_FIRST;
SPI_CONFIG.MODE = nRF_DRV_SPI_MODE_1;
spi_config.frequency = nRF_DRV_SPI_FREQ_250K;
APP_ERROR_CHECK (nrf_drv_SPI_init (&SPI、&SPI_CONFIG、 SPI_EVENT_handler、NULL);
nrf_log_info ("- SPI 初始化");nrf_log_flush ();

ads1292_Reset ();
ads1292_StopReadDataContinuous();//SDATAC 命令
ads1292_ReadChipID ();

ads1292_Reset ();
delay (100);
ads1292_DisableStartPin ();
ads1292_EnableStartPin ();
ads1292_DisableStartPin ();
ads1292_StartDataConvCommand ();
ads1292_StopDataConvCommand ();
delay (50);
ads1292_StopReadDataContinuous();// SDATAC 命令
延迟(300);

ads1292_RegWrite (ADS1292_REG_CONFIG1、0x00); //将采样率设置为125SPS
延迟(10);
ads1292_RegWrite (ADS1292_REG_CONFIG2、0b10100000); //导联脱落补偿关闭、测试信号禁用
延迟(10);
ads1292_RegWrite (ADS1292_REG_LOFF、0b00010000); //lead-off 默认
延迟(10);
ads1292_RegWrite (ADS1292_REG_CH1SET、0b01000000); //Ch 1被启用、增益6、在
延迟(10)内被连接至电极;
ads1292_RegWrite (ADS1292_REG_CH2SET、0b01100000); //Ch 2被启用、增益6、在
延迟(10)内被连接至电极;
ads1292_RegWrite (ADS1292_REG_RLDSENS、0b00101100); //RLD 设置:FMOD/16、RLD 启用、仅来自 Ch2
的 RLD 输入延迟(10);
ads1292_RegWrite (ADS1292_REG_LOFFSENS、0x00); //LOFF 设置:所有禁用
延迟(10);
ads1292_RegWrite (ADS1292_REG_LOFFSTAT、0x00); //跳过寄存器8、LOFF 设置默认
延迟(10);
ads1292_RegWrite (ADS1292_REG_RESP1、0b11110010); //呼吸:仅限 MOD/DEMOD,0相
延迟(10);
ads1292_RegWrite (ADS1292_REG_RESP2,0b00000011); //Respiration:Calib Off、呼吸频率默认
为延迟(10);

ads1292_StartReadDataContinuous();
delay (10);
ads1292_EnableStartPin ();

nrf_log_info ("- ads1292 initialized");nrf_log_flush ();
nrf_log_info ("=========================================================================== ");nrf_log_flush(); 

通过使用上述代码、我将获得以下原始数据(9字节)...

应用程序:=========== ADS1292数据====
应用:43 30 20 30 20 30 20 30 20 36 |C0 0 6
应用:20 41 35 20 43 38 20 46 | A5 C8 F
应用:41 20 36 46 20 31 20 | A 6F 1
应用程序:========================================================
APP:心率:0 BPM
应用程序:=========== ADS1292数据====
应用:43 30 20 30 20 30 20 30 20 37 | C0 0 7
APP:20 39 46 20 42 43 20 46| 9F BC F
应用:38 20 44 43 20 34 33 20|8 DC 43
应用程序:========================================================
APP:心率:0 BPM
应用程序:=========== ADS1292数据====
应用:43 30 20 30 20 30 20 30 20 37 | C0 0 7
应用:20 43 41 20 36 46 20 46| CA 6F F
应用程序:38 20 46 39 20 34 39 20 |8 F9 49
应用程序:========================================================
APP:心率:0 BPM
应用程序:=========== ADS1292数据====
应用:43 30 20 30 20 30 20 30 20 36 |C0 0 6
APP:20 44 37 20 32 31 20 46 | D7 21 F
应用程序:41 20 34 44 20 30 20 | A 4D 0
应用程序:========================================================

现在、我要解码来自这9个字节的 RR 和心率数据。 那么,我该怎么做呢?

在这9个字节上是否有任何特定的算法或任何特定的转换? 请向我推荐有效的解决方案。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kaloliya、

    感谢您的发帖!  

    您是否曾尝试查看 ADS1292EVM 的源代码?

    您可以在 EVM 的产品页面上找到它:  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Alexander、

    我看一下您提供的 SDK 链接、我实现了该逻辑和滤波器、但我仍然从 ads1292获取原始数据、但不计算 bpm 和 RR。

    我每次都得到0 bpm 的心率。

    建议一些更好的解决方案。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kaloliya、

    编写代码最终由客户决定。 您是否查看了名为"ADS1x9X_RESP_Processing.c"的文件? 我认为这应该有助于您不再将原始数据转换为 bpm 和 RR。

    本应用手册可能也很有用、它概述了呼吸所用阻抗测量背后的理论。  www.ti.com/.../sbaa181.pdf

    我还在论坛上找到了另一个可能有所帮助的示例: e2e.ti.com/.../557963

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    正如您建议的、SDK 适用于5引线应用。 我正在使用3导联应用。 因此、对于两种应用(5引线和3引线)、ads1292的固件是否保持不变?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kaloliya、

    由于您将从3个导联而不是5个导联获取数据、是的、代码将会更改、因为生成的计算将不同。