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: not getting sampled data from ADC

Part Number: ADS131A04

Hi there, I'm using ADS131A04 in Synchronous slave mode (16 bit), I followed the flowchart and got all the responses for the commands but not getting sampled data after Lock command.

sharing you the image of all the commands and there responses.

  • Hi priti gaikwad,

    Could you correctly read internal register? for example, read A_SYS_CFG register or CLK1/2 register.

    Regards,

    Dale

  • yup, i can read internal register and getting their responses

    https://photos.app.goo.gl/dafA169nS5iBRE4x9

  • Hi priti gaikwad,

    This is great and it can demonstrate your SPI communication is good.

    Can you read STAT_M2 register before locking the ADC so that you can make sure the ADC is configured in a correct mode?

    If you are using internal voltage reference, you will have to change INT_REFEN bit from the default 0 to 1 in A_SYS_CFG register. By default, this ADC uses external voltage reference. I did not see you have programmed this register in your initialization process.

    Also, when you post your image, please directly upload them to this forum. Thanks. 

    Regards,

    Dale

  • Hi, I have read the STAT_M2 register before locking.

    As for the voltage reference  we are using external voltage reference because of that i have not configured A_SYS_CFG register.

  • Hi priti gaikwad,

    Dale is out of the office for the next few days, we will get back to you by the end of the week. Thanks for your patience

    -Bryan

  • Hi priti gaikwad,

    Thanks for your patience and information.

    Your register reading for STAT_M2 register is 0x09 which indicates that  your actual configuration is16-bit device word and asynchronous slave mode, but you expect "Synchronous slave mode" as you said, please double check. This configuration is related to how you deal with /DRDY signal and how you retrieve the data.

    Regards,

    Dale

  • Hi Dale Li,

    We have now configured our ADC as an asynchronous slave. And we are getting DRDY signal and also data.

    collecting the sampled data on DRDY low.

     But we are unable to relate the calculated values with the adc sampled data.

    sharing you the sheet of collected reading of 4 channels with similar input and internal reference of 2.44v

    https://docs.google.com/spreadsheets/d/1SCq-__CfdjiLFEeOWIHVte4IaAzBFeC1/edit?usp=drive_link&ouid=116462157484167567227&rtpof=true&sd=true

  • Hi priti gaikwad,

    I'm glad to hear you were able to get /DRDY and data from the ADC. Can you directly upload you data file in this forum? we are not allowed to access the google drive. Also, please let me know your analog input signal for getting these data.

    Regards,

    Dale

  • Hi Dale Li,

    I have mentioned in the first column of the sheet input value to the adc channel which is in millivolt.

    I/p(in mvolt) ADC sampled data(16 bit same i/p to all 4 ch )
    observed readings calculated values
    0.0159 0x7d2 0xfa6b 0xfb9c 0x00 0.427 ADC  configuration
    0x14d 0xfc6d 0xfdce internal reference  voltage  2.44v
    0x438 0xfd65 0x16a external clock 16.384 Mhz
    0x7fff 0x7fff 0x7fff CLK1(0x4D04) 16.384/4 4.096
    CLK2(0x4E21) 4.096/2 2.048
    0.286 0x9c1 0x1db 0x52e 0x07 7.68 2.048/2048 1Khz
    0x21d 0xfdb1 0x556 resolution 16 bit
    0xe68 0x521 0x1013 SPI mode Asynchronous interrupt mode
    0x7fff 0x7fff 0x7fff
    0.486 0x621 0xf5c7 0xfbb7 0x0d 13.05
    0x8cb 0x5f7 0x56
    0xfc14 0xfceb 0xfd2d
    0x7fff 0x7fff 0x7fff
    0.744 0xe27 0x5ff 0xfd76 0x13 19.98
    0x374 0xac4 0x58c
    0x755 0xe6 0xF6
    0x7fff 0x7fff 0x7fff
    0.915 0x8f2 0x36c 0x56c 0x18 24.57
    0x9d2 0x2ca 0xfb8f
    0x4c5 0x3f9 0x741
    0x7fff 0x7fff 0x7fff
    1.352 0x2ca 0x44a 0x110 0x24 36.31
    0x4ad 0x1ae 0xff9a
    0x656 0x3e6 0xff8a
    0x7fff 0x7fff 0x7fff
    2.006 0x91d 0x363 0xc06 0x35 53.87
    0xa26 0x7de 0x7c5
    0xd23 0x6ce 0x3dc
    0x7fff 0x7fff 0x7fff
    3.028 0x6c3 0x76e 0x6c1 0x51 81.32
    0x9d9 0x8de 0xff35
    0xa66 0x826 0x6a2
    0x7fff 0x7fff 0x7fff
    4.074 0xc52 0xaab 0x991 0x6d 109.42
    0xc09 0x3eb 0x4a5
    0xaa4 0x11b4 0x72a
    0x7fff 0x7fff 0x7fff
    5.034 0xc69 0xe33 0x606 0x87 135.2
    0x8f0 0x12bc 0xa33
    0xbed 0xd8e 0x64c
    0x7fff 0x7fff 0x7fff
    6.362 0xa3e 0x7c3 0xea5 0xaa 170.87
    0x107f 0xb0e 0x11bf
    0xe5b 0xb12 0xde5
    0x7fff 0x7fff 0x7fff
    7.461 0x12f2 0xba8 0x142e 0xc8 200.39
    0x117c 0x282 0x1531
    0x1405 0x700 0x12ff
    0x7fff 0x7fff 0x7fff
    8.135 0x115e 0xc00 0xdca 0xda 218
    0xe8b 0xcf2 0xba5
    0x13c7 0x3f4 0xf56
    0x7fff 0x7fff 0x7fff
    10.699 0x17bb 0x18e6 0x1e26 0x11f 287.36
    0x1994 0x142f 0x1e09
    0xdd9 0x1549 0x1ac5
    0x7fff 0x7fff 0x7fff
    20.369 0x277d 0x2163 0x2108 0x223 547.08
    0x1b70 0x2858 0x26ed
    0x16a5 0x226c 0x250f
    0x7fff 0x7fff 0x7fff
    30.187 0x3e37 0x3df3 0x39f0 0x32a 810.78
    0x38c9 0x38a6 0x3399
    0x41a9 0x3e19 0x3f97
    0x7fff 0x7fff 0x7fff
    40.411 0x4c06 0x47ab 0x5326 0x43d 1085.38
    0x417c 0x49d9 0x4d19
    0x43ce 0x420f 0x4fe8
    0x7fff 0x7fff 0x7fff
    50.087 0x5b9e 0x632a 0x6bf6 0x541 1345.26
    0x6148 0x6045 0x67f4
    0x6570 0x5ed5 0x6a04
    0x7fff 0x7fff 0x7fff
    60.018 0x6bcc 0x7984 0x560e 0x64b 1611.99
    0x6ba9 0x7d04 0x5a80
    0x678b 0x7e92 0x580e
    0x7fff 0x7fff 0x7fff
    70.444 0x7fff 0x6e1d 0x7fff 0x764 1892.027
    0x7fff 0x6c0c 0x7fff
    0x7fff 0x6f4d 0x7fff
    0x7fff 0x7fff 0x7fff
    80.93 0x7fff 0x7fff 0x7fff 0x87d 2173.667
    0x7fff 0x7fff 0x7fff
    0x7fff 0x7fff 0x7fff
    0x7fff 0x7fff 0x7fff
  • Hi priti gaikwad,

    Some of your input signals are too small, for example, 0.0159mV (15.9uV) which is much lower than the ADC's offset error(500uV) and noise. The code is always 0x7fff when your input is 80.93mV, this is incorrect if you not using a large gain, so something is wrong.

    Are you using the default Gain=1? How did you connect AIN1N when you connect your analog signal to AIN1P and measure it with the ADC? the following figure shows two correct input configurations. Did you short REFN to AVSS? your schematic will be helpful to check. Can you check the voltage on REFP pin to see if it's correct 2.44V?

    Regards,

    Dale

  • Hi Dale Li,

    We are using ADC in internal reference voltage configuration with differential input. And yes, we are using default unity gain.

    i/p voltage(in volts) channel 1 channel 2 channel 3 channel 4
    0 0x145 0x115 0x8000 0x8000
    0.234 0x3b5 0xd5 0x7fff 0x7fff
    0.438 0x243 0xd7a 0x8000 0x8000
    0.604 0xfe85 0x883 0x7fff 0x7fff
    0.815 0x565 0x10f2 0x7fff 0x8000
    1 0x26c 0x49c 0x8000 0x8000
    1.215 0xfded 0x3a0 0x7fff 0x7fff
    1.419 0xcd1 0x31c 0x8000 0x7fff
    1.606 0x47e 0x43f 0x8000 0x8000
    1.803 0x5ef 0x955 0x8000 0x8000
    1.971 0x38f 0xff33 0x7fff 0x7fff
  • Hi priti gaikwad,

    It is hard to see schematic. If you could provide a clear schematic, that will help.

    As I asked, the REFN pin should be directly connected to AVSS, I saw you connect REFN pin to somewhere with a resistor, please clarify. Also, please check the voltage between REFP and REFN pin, I have asked in the previous post but did not get your response so far.

    Once I get a clear schematic and check it, I will let know my feedback and also the next step testing to address the issue.

    Regards,

    Dale

  • Hi Dale Li,

    As we are using Internal reference voltage, At the hardware side we have connected the REFN pin  to VSS. 

    And voltage between REFP and REFN is 0.501 millivolt.

     

  • Hi priti gaikwad,

    Your schematic is still too blurred to see even I zoomed it in, you can open the image you uploaded to check.

    It seems like you have connected REFN pin to +Vref through a resistor (R13?) as shown below, not AVSS:

    You can re-upload your schematic in a pdf version so that I can check it, or let me know the following information:

    • AVDD?
    • AVSS?
    • IOVDD?

    If your power supply for the ADC is bipolar supply (e.g. +/-2.5V for AVDD and AVSS), you can simply connect a precision DC voltage (e.g. 50mV, 500mV or 1V) to AIN_xP pin and short AIN_xN pin to GND, then measure the voltage between AIN_xP and AIN_xN, read conversion data from the ADC. Let me know the input voltage you measure and also the code you get from the ADC. This is a simple test to verify if the ADC works as expected.

    Regards,

    Dale