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.

ADS131M06: SPI/Programming clarifications

Part Number: ADS131M06

Hi,

I'm writing a MCU driver for ADS131 to be used in our measuring amplifier module that our company will manufacture and sell. I have these questions:

1. To enter Standby mode from normal run mode, does the STANDBY command have to be given after DRDY goes low, i.e. synchronously?

2. In standby mode, are the registers (especially configuration regs) accessible for reading and writing?

3. If so: in standby mode, is it necessary to write and read full length frames, i.e. with dummys in the ADC-data words (e.g. if all 6 channels were configured and word-size is 24 Bits, are frames 24 bytes long)?

4. To exit standby mode, the WAKEUP command can be given at any time?

5. (related to Q. 3 and 4): Does the WAKEUP command have to be given in a full length frame?

6. In normal run mode, if fewer channels than 6 are configured by the CLOCK register, are the frames shorter accordingly?

For example, I write 0x07xx to CLOCK, so that only channels 0 to CH_2 are enabled: Are the command frames 15 bytes long, if the word-length is 24 bits?

7. I assume that if CRC is not used, the CRC word still has to be present in all SPI frames, but all CRC bits are =0. Is that correct?

It's written on p.38 in the DS, but the code example on p. 85 doesn't seem to take care about that (among some more oddities), that's why I'm no sure.

Thanks in advance!

Sebastian

  • Hi Sebastian,

    welcome to our e2e forum and thank you for your interest in our ADS131M06.

    Let me see if I can address all your questions.

    1. To enter Standby mode from normal run mode, does the STANDBY command have to be given after DRDY goes low, i.e. synchronously?
    You can send the STANDBY command at any time. There is no need to synchronize it with the DRDYn indication.

    2. In standby mode, are the registers (especially configuration regs) accessible for reading and writing?
    Yes, they are.

    3. If so: in standby mode, is it necessary to write and read full length frames, i.e. with dummys in the ADC-data words (e.g. if all 6 channels were configured and word-size is 24 Bits, are frames 24 bytes long)?
    You can always "short cycle" an SPI frame if you are not interested in the conversion data.
    The only exception is the RESET command. You need to send a full frame for the RESET command to take effect.

    4. To exit standby mode, the WAKEUP command can be given at any time?
    Yes.

    5. (related to Q. 3 and 4): Does the WAKEUP command have to be given in a full length frame?
    No, you can use a short frame, i.e. you can take CSn high after the WAKEUP command word is clocked in. This assumes you have the input CRC disabled.

    6. In normal run mode, if fewer channels than 6 are configured by the CLOCK register, are the frames shorter accordingly?
    No. The number of enabled ADC channels does not change the frame length. The data for disabled channels will be 000000h.
    If you only have channels 0 to 2 enabled, then you could short cycle the frame (i.e. take CSn high) after you shifted out the data for ADC channel 2. However you will not be able to leverage the output CRC in that case and the DRDYn pin will not drive high because the device thinks you have not read all data. The DRDYn pin will drive high though shortly before the next conversion completes.

    7. I assume that if CRC is not used, the CRC word still has to be present in all SPI frames, but all CRC bits are =0. Is that correct?
    If RX_CRC_EN = 0b you would send 0s at the position of the CRC word after each command.
    You could also short cycle the frame right after the command word, before the input CRC word.

    BTW: We also have example code for the ADS131M0x family available on ti.com. You will find it on the ADS131M06 product folder under the "Design & development" section.

    Regards,
    Joachim Wuerker

  • Thank you very much for the quick and good support. Thank to the precise answers, my driver code works and I can proceed to do integration and performance tests.

  • You are very welcome Sebastian.

    I am glad I could help.

    Regards,
    Joachim Wuerker