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.

ADS131A04: Initialization

Part Number: ADS131A04


Here is what I see as init:

1. Set RESET pin high.

2. Wait for nDRDY to go low, or wait ~5 msec.

3. Send NULL.

4. Receive READY.

5. Send UNLOCK.

6. Receive UNLOCKED.

7. Send D_SYS_CFG contents.

8. Verify contents of D_SYS_CFG.

9. Send CLK1

10. Verify contents of CLK1

11. Send CLK2

12. Verify contents of CLK2

13. Send A_SYS_CFG

14. Verify contents of A_SYS_CFG

15. Send ADC_ENA

16. Verify contents of ADC_ENA

17. Send WAKEUP.

18. Receive AWAKE.

19. Read ADC results(1).

20. Read ADC results(2).

21. Read ADC results(3).

22. Read ADC results(4).


1. If I am using CRC, would it be worthwhile from initialization to insert a write to D_SYS_CFG near the end to turn on CRC, so that all of the other initialization steps can be done without having to generate CRC and check CRC response?

2. Is there benefit to adding a LOCK in the sequence? (There are times after initialization where some registers will need to change, depending on setup.)

  • Additional question:

    When I look at the activity on the ADS131a04EVM, I see


    WREG 0D 02  // CLK1 

    WREG 0E 48  // CLK2

    WREG 0C 3D  // D_SYS_CFG


    WREG 0F 0F  // ADC_EN

    Is there a reason that ADC_EN is done after WAKEUP? Does it make a difference?

    Is a NULL needed, or can that be avoided?


    Todd Anderson

  • Hi Todd,

    Thank you for your post.

    1. I do not see an issue with this idea. Since you are already reading back the register values written in each step, this might be sufficient enough. Enabling/disabling CRC can be done anytime after start-up.
    2. If you foresee a scenario where the registers may be written accidentally, then yes. Otherwise, the device register settings should retain their values without concern during normal operation. The LOCK command will not allow the device to retain register settings during a reset pulse or other power cycling events.

    Regarding your other questions, the data sheet mentions that the ADC channels should be enabled before issuing the WAKEUP command. However, I do not see why the order of commands would make any difference, as the startup routine on the EVM would indicate.

    The NULL command is used to poll the device data output for the READY word. I suppose an alternative method would be to continue sending the UNLOCK command over and over until the correct response is received.