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.

ADS7038: ADS7038 auto-sequence with CRC

Part Number: ADS7038

Hi!

I am trying to start ADC in auto-sequence mode with CRC.

Fix pattern is turn on to check the data. CRC_EN bit is set in the GENERAL_CFG.

Then I read 4 bytes and permanently receive A5 A0 30 00. Is it correct? I expected that CRC should be in 4th byte. Like A5 A0 00 <CRC>.

Next, if I append channel ID, I received A5 A5 2B 00. I expect A5 A5 00 <CRC>.

And finaly, I add OSR and receive A5 A5 2B 00 also. But with OSR turn on, the data should bi 16 bits length. The CRC is not on the 4th byte position. I expect smth like 0A 5A 50 <CRC>.

If I am right, CRC should be in the 4 byte? Help me to understand, please.

  • Hello,

    Would you be able to share a logic analyzer or oscilloscope capture of the pattern being sent on SDI to enable CRC? The expected behavior is correct. What is then most likely happening is that the CRC_EN bit is not being set due to the register write command being provided incorrectly. 

    Regards,
    Joel

  • With CRC disabled I receive A5 A5 00 00. So, CRC is set and calculated correctly. The question is why with OSR enabled I receive 12bit data instead of 16 bit?