I am observing ADC conversion times that seem significantly longer than specified in the data sheet:
Vsupply and ref are 5 V
TEST pin = high
Conversions are started and queried via I2C at 400 kHz
CEN = 0 (Noncontinuous Conversion mode)
TEN = 0 (External Signal Mode)
AREN = 0 (use external ADC reference)
Measured [specified] conversion time for ADC2X = 0 (1x conversion speed):
11 bits: 8.7 ms [6]
13 bits: 34 ms [24]
14 bits: 67 ms [50]
15 bits: 133 ms [100]
Measured [specified] conversion time for ADC2X = 1 (2x conversion speed):
11 bits: 4.5 ms [3]
13 bits: 17 ms [12]
14 bits: 34 ms [25]
15 bits: 67 ms [50]
I understand that the specifications in the data sheet are typical, but the observed conversion times seem quite far off.
Are the observed conversion times reasonable? If so, what am I missing when I look at the data sheet?
Can you specify the conversion times more than what the data sheet offers (e.g. min/max)?
Walt,
We are currently looking into this and will get back to you shortly.
Best Regards,Chris FeatherstoneLinear Characterization EngineerHigh Performance Linear Products
Hello Walt,
I believe the extra time you're observing is the PGA309 reading from the EEPROM lookup table before sending out data. I'm out of the office today, and tomorrow is a holiday, but I will take some measurements on Thursday and let you know what I find.
EDIT: The time for the PGA309 to read the lookup table is on the order of microseconds so it shouldn't affect the time that much. In any case I'll let you know my measurement results on Thursday.
Best regards,
Ian WilliamsLinear Applications EngineerHigh Performance Linear and Sensing Products
My test results are uploaded as an attached .pdf file. The conversion times I measured were as fast or faster than the typical times specified in the PGA309 User's Guide. These times are trimmed at final test so this is the expected result.
I know that your test method differed slightly as you were triggering single-shot conversions, but I feel that my method is a better indication of the conversion time in normal operation.
Ian Williams
Hi Ian,
Thank you for clarifying where the datasheet specs come from.
Can you offer specifications of end-to-end conversion times for single-shot external control (TEST pin high, I2C request/query, same conditions as in original post)? Specifically, how long is the ADCS high after it is set via a register write? If they are significantly longer than the typical specification, can you explain why, so I may better understand the chip's operation?
As you probably have guessed of similar, here is the code I used in the tests in my original post :
while (1) { PGA309_WriteRegister(6, 0x30A0); // Start conversion via I2C
do { status = PGA309_ReadRegister(6); // Get conversion status via I2C } while ((status & (1<<12)) != 0);
}
I can send scope screen shots if you would like.
I have found that controlling the PGA309 (TEST pin high) by an external microcontroller and reading Vout via the Temp ADC to be very useful. My application is a closed-loop motor controller where I want a fixed feedback sample rate, but does not require sensor temperature compensation. I use single-shot ADC mode to ensure that sample rate, which is on the same order as the ADC speed.
Is there a method to synchronize my servo to the PGA309 ADC conversions in continuous mode?.
I would like to see the screenshots of this activity. I will check with the digital designer of the PGA309 to see if there's a difference in the end-to-end conversion time in this situation.
I have attached a file that contains scope screen shots for 11- and 13-bit ADC resolutions in turbo mode, which, I think adequately represent other resolutions and non-turbo mode.
Perhaps other users of the PGA309 Test mode will find the results of your inquiry useful.
Regards,
Walt Rogers
6403.PGA309 Test mode conversion times.pdf
I've conferred with the PGA309 designers on this topic. Their input is that there's some internal "housekeeping" which happens in I2C slave mode, both at the beginning and end of communication, that makes the conversion seem longer. There is also some post-processing required to change the state of the ADCS bit, adding some extra time as well.
Unfortunately there is no way to re-simulate this behavior as the design databases are very old and no longer supported in our systems, so we could not give you more exact numbers on what the maximum "end-to-end" conversion time will be. However, based on your observations I feel that adding 50% to the data sheet spec would give a fairly accurate maximum time.
Thank you for your investigation and report.
In case you guys have a lot of free time on your hands, perhaps the slave processing time overhead could be mentioned in the datasheet or PGA309 Microcontroller Application document.
The conversion times I have seen are rock solid and easy to measure, so at least it looks like I have something I can depend on.
Thanks to TI for providing such a useful and flexible chip.
You're welcome. Thank you for your patience while I dug into this issue.
I agree that it would be useful to expand on the PGA309 documentation to account for this overhead. Your measurements will be helpful in determining how repeatable the I2C initiated, end-to-end conversion times are across devices. Based on my discussion with the designers and what you have reported, I believe that these will be very uniform.
I wish you all the best in your designs with the PGA309.