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.

ADS1298R: DOUT not responding in RDATAC mode

Part Number: ADS1298R
Other Parts Discussed in Thread: TMS320F28377S, ADS1298

Hello,

I am communicating with the ADS1298 using a TMS320F28377S. I am able to program the ADC and verify that the registers are changing to the value I desire. However, once I put it in RDATAC mode I cannot get data from the DOUT pin. Here is an image of my waveform. Please note that the top DATA is DIN and the bottom DATA is DOUT. 

I expect this to work as I start the clock once DRDY goes low. I also expect to see 0xC for the first nibble, then other data afterwards due to the defaults of the 24-bit STATUS. I shouldn't be seeing all 0s

Here is a copy of my ISR

 interrupt void ISR_DRDY_XINT1(void)
 {
  //Delay_us(1);
  ADC_DOUT = SPI_RX_DATA();
  Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP1);
 }

Here is a copy of my MAIN

void main(void)
{
 General_Setup();

    // Set up SPI, manual control over /CS-pin61
    SPI_INIT();

    // Begin Power up routine for ADC, requires manual control over /CS-pin61
    ADC_POWER_INIT();

 INTERRUPT_INIT();   // will cause above mentioned ISR to trigger when DRDY goes low

    SPI_TX_CMD(SDATAC);   // stop default data flow so we can write to registers
 SPI_RX_BYTE(ID);    // verify SPI works by confirming ID
 SPI_TX_STRING(ADC_INIT_ADDR, ADC_INIT_DATA, sizeof(ADC_INIT_ADDR));   // Program the device: write to register and read from register to confirm proper write
 SPI_TX_CMD(RDATAC);   // put device is read data continuous mode
 SPI_TX_CMD(START);    // start data conversions

    while(1);  // wait here forever while ISR get triggered
}

  • Hi Seth,

    I'm not immediately sure what the issue might be. I do know that you should not be sending any SPI commands while you are in RDATAC mode, so the START command should come before RDATAC is re-enabled.

    Nonetheless, the device appears to be converting since you captured /DRDY going low. How do you have the START pin configured on your board?

    Best Regards,
  • Hello Ryan,

    I now have the START command occurring before the RDATAC command. So far I get the same output on my LSA.

    I hold the start pin low throughout the entire duration of my program.

    Regards,
    Seth KIttles