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.

ADS131M08: ADS131m08 SPI communication problems

Part Number: ADS131M08

Tool/software:

Hello experts,

i am trying to set up communication through SPI between an ads131m08 and an f280049 uC. I have big problems to understand how it should works properly.

Actually i have a routine that should simply read data from the ADC. The SPI clock is set to 10MHz, the ADC clock is 8.192MHz.

My steps are:

1. reset the ADC, and wait for it to exit reset.

2. starting to send NULL frames, to read datas.

The frame i send is 10 words of zeroes, each word is 24 bit, since after reset adc has 24bit size word by default.

My reading routine do the following:

- waits for the adc signal DRDYn to go low.

- i puts 15 16bit words of zeroes in the SPITXBUF of my SpiA

- i wait to receive 15 words in the FIFO RX, of the SpiA.

- I wait for the DRDYn signal from ADC to go up again and then repeat.

What i don't understand is that the DRDYn signal seems to have unpredictable behaviour, sometimes it goes up properly after reading a frame. Sometimes it stays DOWN, and makes a very narrow pike just very before the next conversion occurs (it means the DRDYn stays low for about 244us.). Sometimes the DRDY stay low for 4ms, to the end of ADC spi timeout.

What i am missing, to correctly read data from adc??

Do you have some example code, that interfaces a SPI peripheral of a uC, to this ADC?? just to make a comparison of what i am doing wrong??

Kind Regards

Emanuele Peruzzi

  • Hi Emanuele Peruzzi,

    Today is a holiday in the US, we will respond to your post later this week. Thanks for your patience

    -Bryan

  • Hi,

    i found the software examples in the site, under the adc software tab. I saw that my code had nothing wrong if compared to the ti routines, the problem was that my adc was defective. Substituting it with a new one solved the problem, the device now communicates without problems.

    Just a note, for proper SPI communication to work, i had to configure my master SPI with CLOCK = 0 and POLARITY = 0. With POLARITY = 1, (as the ADS131m0x datasheet suggest, if i m not wrong), i read only bad datas. Anyway all right.

    Thank You

    Kind Regards

    Emanuele Peruzzi

  • Hi Emanuele Peruzzi,

    Thanks for you update, I'm glad you have figured it out.

    SPI configuration (CPOL=0 and CPHA=1) is recommended and it should work on ADS131M08 ADC, please see my timing to read the GAIN register (0x4 address) with RREG command, the SPI configuration worked as expected.

    BR,

    Dale