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.

ADS124S06: ADS124S06 Serial Communication Issues

Part Number: ADS124S06

Hi,

I have a custom PCB where the ADS124S06 communicates with a processor off the board over SPI. We have the CS# pin grounded, RESET# tied high, and I have probed the logic vdd and analog vdd pins, and they readout correctly. Below is the schematic for clarity.

The issue arises when we attempt to communicate over the SPI bus. Below are the logic analyzer results.

As can be seen we either receive invalid data or nothing at all. One possible problem could be that our chip select pin is tied to the START/SYNC pin, but floating this pin or tying it low still results in the same problem. The real kicker is the device was allowing us to read/write registers (but was not converting), but then suddenly stopped for no obvious reason.

Any help would greatly appreciated, and thank you for your time!

Justin

  • Hello Justin,

    Welcome to the TI E2E Community!

    The primary support engineer for this device is on vacation and may have some additional suggestions when he returns.

    Just taking a quick look, I see that you are not using the chip select line.  Although you do not need to use chip select, it can be very difficult to get SPI working correctly during development.  If one SCLK pulse is missed, due to timing issues, firmware bugs, or poor signal integrity (ringing on SCLK), then the SPI controller can get out of sync and will not function correctly.

    I suggest using the chip select and following the datasheet examples for reading (Figure 88) and writing (Figure 89) to registers, as well as reading conversion data (Figure 90 or 91).

    Regards,
    Keith Nicholas
    Precision ADC Applications

  • Hi Justin,

    I agree with Keith's' comments.  You also mention connecting START/SYNC together with CS.  This will cause you much confusion.  I would suggest holding START/SYNC low, and instead use the START and STOP commands to start and stop conversions.

    I also noticed that with the RREG command you are sending 4 sets of SCLKs but only requesting one register to be read which should be 3 bytes.  So you have an error in this function.

    Also, you are sending a RESET command.  This requires some delay following the issue of the command.  If you begin to communicate too quickly, this may cause an issue with further communication, especially when holding CS low continuously.  This is also true at power up.  The internal POR (power-on reset) signal is set in a reset condition until all supplies are operating at nominal operating voltage.  Here you must also wait until the device properly starts before issuing an additional RESET command.

    I would suggest that following the initial POR at power-up you first attempt to read the STATUS register prior to sending any additional commands to verify that you can actually read from the device.  If you get the correct STATUS, then you can go about doing the remainder of your tasks.

    Best regards,

    Bob B

  • Hi Bob and Keith,

    Thanks for the suggestions, does appear that holding CS low was causing our issues.

    Thanks!

    Justin