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.

[参考译文] ADS1298:通过 ADS1298实现 ECG 数据流

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1273192/ads1298-ecg-data-streaming-from-ads1298

器件型号:ADS1298

您好!

我试图 通过 SPI 通信从 ADS 1298读取12导联 ECG 数据。 我始终读取相同的8位数据。 是这样吗?

此外、流数据是否有任何结构(例如在任何数据包结构中获取)?

谢谢。

内利马

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

    您好!

    您能否更清楚地解释您的问题?

    您是否有 ADS1298评估套件/电路板(EVM)?

    -------------------------------------------------------

    您能检查一下是否让您  

    是否完成了正确的上电顺序?

    是否完成了正确的复位序列?

      是否已按照数据表中的 SPI 时序图正确且重复地读取 ID:ID 控制寄存器(地址= 00h)?

    ----------------

    您要尝试读取什么数据或信号?

    您的信号源可能是什么?

    您还能尝试读取内部测试信号吗?

    谢谢

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

    您好!

    我们没有使用  ADS1298评估套件/板(EVM)。

    我已经检查了上电顺序。 基本上、我能够读取和写入 AFE 的寄存器。 我正是通过这种方法来确认上电序列正常。

    现在、我将尝试从各个通道读取12导联 ECG 数据。 下面给出了我完成的配置。

    void ADS1298_init ()

    {

    HAL_DELAY (1000);

    ADS1298_Power_Up_Seq ();

    HAL_DELAY (1000);

    ADS1298_Power_Up_Seq ();

    HAL_DELAY (100);

    ADS1298_SDATAC ();

    HAL_DELAY (100);

    ADS1298_writeReg (config1、0b01000100);

    HAL_DELAY (100);

    ADS1298_writeReg (CONFIG2、0x40);//复位

    HAL_DELAY (100);

    ADS1298_writeReg (CONFIG3、0b11001100);

    HAL_DELAY (100);

    ADS1298_writeReg (LOFF、0x41);//////////////////////////////

    HAL_DELAY (100);

    ADS1298_writeReg (CH1SET、0b01100000);//通道1处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH2SET、0b01100000);//通道2处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH3SET、0b01100000);//通道3处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH4SET、0b01100000);//通道4处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH5SET、0b01100000);//通道5处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH6SET、0b01100000);//通道6处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH7SET、0b01100000);//通道7处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (CH8SET、0b01100000);//通道8处于活动状态

    HAL_DELAY (100);

    ADS1298_writeReg (RLD_SENSP、0b11111111);通道2的//RNDP 有效

    HAL_DELAY (100);

    ADS1298_writeReg (RLD_SENSN、0b11111111);通道2的//RLDN 有效

    HAL_DELAY (100);

    ADS1298_writeReg (LOFF_SENSP、0b11111111);

    HAL_DELAY (100);

    ADS1298_writeReg (LOFF_SENSN、0b11111111);

    HAL_DELAY (100);

    ADS1298_Start ();

    HAL_DELAY (100);

    ADS1298_RDATAC ();

    HAL_DELAY (100);

    主要部分如下:

    while (1)

    {

    /*用户代码结束时间*/

    /*用户代码开始3 */

    ADS1298_readReg (LOFF_STATP);

    if (HAL_GPIO_ReadPin (GPIOB、GPIO_PIN_9)= GPIO_PIN_RESET)

    {

    HAL_GPIO_WritePin (GPIOA、GPIO_PIN_4、GPIO_PIN_RESET);// CS 低电平

    HAL_SPI_RECEIVE (&hspi1、&ecgData、1、HAL_MAX_DELAY);//接收数据

    HAL_GPIO_WritePin (GPIOA、GPIO_PIN_4、GPIO_PIN_SET);// CS 低电平

     尝试读取 ECG 数据时、我在 提供输入和不提供输入的情况下获得了0xC0。 这有什么问题吗?

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

    您好!

    在观察 ECG 信号之前、让我们后退一步。

    您能先检查一下吗?

      是否已按照数据表中的 SPI 时序图正确且重复地读取 ID:ID 控制寄存器(地址= 00h)?

    您还能尝试读取内部测试信号吗?

    让我们确保可以首先正确读取内部测试信号。

    ----------------

    您要尝试读取什么数据或信号?

    您的信号源可能是什么?

    信号源是否来自 ECG 模拟器?

    如果可以正确读取内部测试信号、则尝试查看您是否可以从 ECG 模拟机成功读取单通道 ECG。

    谢谢

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

    我正确且重复地读取了 ID 控制寄存器。

    我没有使用内部测试信号进行测试。

    信号源来自 ECG Simulator。

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

    您好!

    请尝试先读取内部测试信号。

    如果上述操作成功、则尝试使用模拟器读取1通道 ECG 信号。

    谢谢