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 Single Shot Mode

Other Parts Discussed in Thread: ADS1298

Hello to everbody,

i would like to configure the ADS1298 in Single Shot Mode to start a conversion and get a new sample every 5ms.

I set the SINGLE_SHOT bit in CONFIG4 register to '1' and START is low.

The following c-function shows the initalization of the ADS1298.

// SPI: ADS1298 initalization
// --------------------------
void init_ADS1298(void)
{
    // register data = {CONFIG1,CONFIG2,CONFIG3,LOFF,CH1SET,CH2SET,CH3SET,CH4SET,CH5SET,CH6SET,CH7SET,CH8SET,RLD_SENSP,RLD_SENSN,LOFF_SENSP,LOFF_SENSN,LOFF_FLIP,LOFF_STATP,LOFF_STATN,GPIO,PACE,RESP,CONFIG4}
    unsigned char reg_data[23] = {0x85,0x00,0xDC,0xE3,0x60,0x86,0x81,0x81,0x81,0x81,0x81,0x81,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x0F,0x00,0x00,0x06};
    //unsigned char reg_data[14] = {0x86,0x00,0xDC,0x00,0x60,0x86,0x81,0x81,0x81,0x81,0x81,0x81,0x01,0x01};
    //unsigned char reg_data[12] = {0x86,0x00,0xDC,0x00,0x00,0x81,0x81,0x81,0x81,0x81,0x81,0x81};
    // set #PWDN and #RESET
    PORTB |= (1<<RESET_Pin) | (1<<PWDN);
    // wait 1s for power-On Reset and oscillator start-up
    _delay_ms(1000);
    // set CS low
    CS_state(0);
    // issue reset pulse and wait for 18 tclks
    SPI_TransmitByte(RESET);
    _delay_us(9);
    // send SDATAC (stop read data continuosly mode)
    SPI_TransmitByte(SDATAC);
    _delay_us(2);
    SPI_TransmitByte(STOP);
    _delay_us(2);
    // set all configurations
    Write_Reg_ADS1298(0x41,0x16,reg_data,23);
    // START high
    PORTB &= ~(1<<START_Pin);
    // SPI_TransmitByte(START);
    // RDATAC mode
    // SPI_TransmitByte(RDATAC);
    // CS high
    CS_state(1);              
}

In the main routine i send the START opcode and wait until DRDY is low and the read out data.

So with this configuration i get only zeros for each conversion even if i touch the electrodes with my hands.

Have i done everything correct??

kind regards,

Sebastian