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.

ADS8638: Register setup

Part Number: ADS8638

Team,

Please help answer my customer's question:

I've finally got the part talking to a Raspberry Pi3 (wrote a driver from scratch), but still seeing some odd behaviors I was hoping you can explain. Or maybe point me in a direction on further understanding them.

1.) I've got my application just doing simple Manual Reads from the ADS. Each read I write the channel and range (0-5V). I've actually found that if I write that register (04h) just once, the data I get on subsequent reads only ranges from 2048 - 2700 (when voltage on input goes from 0 - 5000mV).

2.) If I do my write register to 04h twice back-to-back, I can get the data to read from 0 - 2700 counts. (when going from 0 mV to 5000mV).

So, the 2nd scenario is much better, but I'm still not seeing the ADC values get up to the theoretical 4096 (12-bit, 0xFFF).

Is there something in the register setup I'm missing? Read through the datasheet numerous times and nothing caught my attention that had to be done prior to manual channel reads.

Thanks

Viktorija

  • Viktorija,

    When you say 04h, I presume you mean the registers for selecting the manual address you want to sample. Programming these registers should not affect the input range.
    I would suggest writting to your desired registers, and then reading them to make sure that you are in fact programing the device correctly.
    I also suggest only using the default manual channel for trouble shooting, once you have that working correctly, you can move forward to other channels.
    Try using only a DC input, this way you know what to expect as an output.
    Once that works try inputting a ramp covering the input range you selected, example 0 - 5V to make sure the entire range is covered.
    I can take a look at your timing if you can provide a screen shot including CS, SCLK, Dout, Din

    Regards
    Cynthia
  • Hi Viktorija,

    Has the issue here been resolved? If not, can you provide the additional information Cynthia has asked for?
  • Tom,

    Per customer:

    It is working but no quite the way I would expect. We get readings, they are half the range I thought they would be. Not sure why.

    We would like to understand what is causing that.

    Thanks

    Viktorija

     

  • Hi Viktorija,

    "Half the range" usually implies that you are missing the MSB somehow or that the registers are not correctly set. Having the scope plots that Cynthia asked for would really help here.

  • Customer found the error.

    Sorry, had a voltage divider that was added in for future/safety that I totally didn't see. So, we have a full 4095 counts on our 0.0-5.0V input; just most of our channels are clipped to 3.3V.

     Thanks

    Viktorija