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: ECG data streaming from ADS1298

Part Number: ADS1298

Hi,

I was trying to read  12 lead ECG data from ADS 1298 through SPI communication. I am read the same 8 bit data all the time. Is it like that?

And Is there any structure for the streaming data (like is it obtaining in any packet structure)?

Thanks,

Neelima

  • Hi,

    Could you explain your question a bit more clear?

    Do you have an ADS1298 evaluation kit/board(EVM)?

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

    Could you check have you 

    done proper power up sequence?

    done proper reset sequence?

    followed the SPI timing diagram in the datasheet and to read the ID: ID Control Register (address = 00h)  correctly and repeatedly?

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

    what data or signal are you trying to read?

    What might be your signal source?

    Could you also try to read the internal test signal?

    Thanks

  • Hi,

    We are not using ADS1298 evaluation kit/board(EVM).

    I have checked the power-up sequence. Basically I am able to read and write to the registers of AFE. That is how I confirmed that the power-up sequence is fine.

    Now I am trying to read the 12 lead ecg data from the channels. Given below is the configuration I have done.

    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); //reset

    HAL_Delay(100);

    ADS1298_writeReg(CONFIG3, 0b11001100);

    HAL_Delay(100);

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

    HAL_Delay(100);

    ADS1298_writeReg(CH1SET, 0b01100000); //Channel1 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH2SET, 0b01100000); //Channel2 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH3SET, 0b01100000); //Channel3 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH4SET, 0b01100000); //Channel4 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH5SET, 0b01100000); //Channel5 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH6SET, 0b01100000); //Channel6 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH7SET, 0b01100000); //Channel7 is active

    HAL_Delay(100);

    ADS1298_writeReg(CH8SET, 0b01100000); //Channel8 is active

    HAL_Delay(100);

    ADS1298_writeReg(RLD_SENSP, 0b11111111); //RNDP of channel 2 active

    HAL_Delay(100);

    ADS1298_writeReg(RLD_SENSN, 0b11111111); //RLDN of channel 2 active

    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);

    }

    The main section is given below:

    while (1)

    {

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 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 low

    HAL_SPI_Receive(&hspi1, &ecgData, 1, HAL_MAX_DELAY); // Receive data

    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // CS low

    }

    }

     When I am trying to read the ecg data I am getting 0xC0 with and without giving the input. Is there anything wrong in this?

  • Hi,

    Let's take one step back before looking at the ECG signal.

    Can you first check

    followed the SPI timing diagram in the datasheet and to read the ID: ID Control Register (address = 00h)  correctly and repeatedly?

    Could you also try to read the internal test signal?

    Let's make sure the internal test signal can be read properly first.

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

    what data or signal are you trying to read?

    What might be your signal source?

    Is the signal source from a ECG simulator?

    If internal test signal can be read properly, then try to see if you could read 1Channel ECG from a ECG simulator successfully.

    Thanks

  • I read the ID control register correctly and repeatedly.

    I didn't test with internal test signal.

    The signal source was from ECG Simulator.

  • Hi,

    Please try to read internal test signal first.

    If above is successful, then try read 1 channel ECG signal using a simulator.

    Thanks