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.

ADS131A02: Device only responds during first SPI data frame after power-up

Part Number: ADS131A02


Hello,

I am currently trying to establish SPI communication with a ADS131A02 ADC. However, so far I was unsuccessful in getting any useful output from the device, even though I've double- and triple-checked the communication parameters and board setup.

The screenshot below shows the configuration of the device. It is configured for 16 bit word size, asynchronous interrupt mode and disabled Hamming code validation. Originally the IC was configured for 32 bit word size communication, but I've removed the corresponding pull-up resistor for further troubleshooting.

Schematic of ADS131A02 showing default configuration

After power-up, I can manage to read exactly one status response from the device. When sending a NULL command in the first data frame, I am receiving "0xFF81" on DOUT within the same frame.

Screenshot of logic analyzer showing the device response

In the second frame, I am then getting "0x7FFF" in response. "0x7F81" would be the expected READY response of "0xFF02", but shifted one bit to the right, I believe.

In all subsequent data frames, there is no activity on DOUT, reading "0xFFFF".

Logic analyzer showing 0xFFFF in all subsequent frames

There is also no change when I am trying to read multiple words during a frame, and the device doesn't respond to any commands, including the "UNLOCK" command. I've made sure I am using the correct SPI mode (CPOL=0 and CPHA=1).

I've tried replacing the IC on the board to make sure it is not defective, but this also didn't solve the issue.

I am really at a loss at what I might be doing wrong here. Does anyone have a suggestion on what I could try to get the ADC to talk to me?

Thanks for your help.

  • Hi Kevin,

    Welcome to the E2E forum. 

    There is an error in your hardware/schematic, the REFN pin should be connected to AVSS which is GND in your design.

    When the ADC is powered up, the first command you should send to the ADC is UNLOCK (it will be good if you can provide the timing for sending UNLOCK command and also show the next/2nd frame so that we can see the response from the ADC)

    After the ADC is unlocked, you can read a register (please provide the timing for sending RREG command and also show the next/2nd frame so that we can see the response from the ADC).

    Notice that, in order to get correct conversion result, you will have to change the reference from the default external voltage reference to internal reference if this is expected, and also enable all channels because all channels are disabled by default.

    Best regards,

    Dale

  • Hello Dale,

    thanks for your quick response Slight smile

    It really does seem we have gotten REFN and REFP the wrong way around. According to the datasheet, REFP is an output, and we have shorted it directly to ground, possibly also leading to increased current flow. This might be another reason for the failure.

    We have corrected the issue and can now communicate with the ADC without issues.

    Thanks again,
    Kevin