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.

Linux/ADS7886: Converter has inconsistent behavior

Part Number: ADS7886

Tool/software: Linux

I'm currently using a raspberry pi running debian Jessie.

The ADS7886 documentation states that the data comes in MSB format but

I noticed that after converting to native hardware format the data is inconsistent.

By inconsistent I mean the documentation states the current value is the 12bits

but when I divide by 4096 I actually get half the expected value so it looks as

if it should be divided by 2048. Also sometimes it puts out data other times

it doesn't. I thought it may be wiring but I hooked it up to a scope and I see

voltage at VIN,VDD and the SPI interface is generating data (signal CS,CLCK).

1. The spec shows it uses 20Mhz clock but the frequency generated by the

Raspberry pi is based on a 250Mhz clock so I'm not sure whether the ADS7886

is just not working correctly because of the clock.

2. Any ideas about why I get half the expected value when I divide by 4096?

Thanks

  • Hi Jonathan

    ADS7886 maximum serial clock frequency is 20MHz. This corresponds to full throughput of 1MSPS. You need to provide external clock of <= 20MHz to SCLK based on your sampling speed. Though Rasberry Pi is based on 250MHz clock and if you are generating clock for ADS7886 based on that, it should work fine.

    One of the reason why are you reading half of the expected value  is you may be missing MSB bit due to timing mismatch on SCLK and SDO. Please refer to ADS7886 timing diagram on page 7 and see if you matching all the delyas as per datasheet. You can even try out at lower sampling spped (SCLK<20MHz) and see if you get correct results.

    You can apply ADS7886 analog input above AVDD/2 and capture SDO, SCLK, CS on scope. In this case you should get MSB  bit as 1 always. If you see this then your capture is correct and we may need to look into something else

    Thanks & Regards

    Abhijeet

  • Hi Abhijeet,

    I actually tried a lower sampling rate of 250Mhz/13 but the behavior was the same. I'll try your suggestion but I've seen data at 0V,3.3V and 5V it's just the behavior has always been inconsistent. I'll look at all three sources on the scope and see what they look like.

    Thanks