Hi Art,
Talked to the lads in ADC test group, AD9225 was not done in Limerick it was done out of Greensboro. (Boston)
Right lets go.
Supply/GND pins - checked
[MiNi] Good
Decoupling caps across supplies - everywhere, on +-VDDs 100nF (should i put on GNDs too?)
[MiNI] Decoupling cap get placed from the supply pin to GND. So the cap goes +VDD to GND or -VDD to GND. Be very carefull and never place caps across +VDD to -VDD unless specifically told to do do.
I'm using the INTERNAL reference of 1v for signal span 0 to 2v (CCD signal) - it's noisy.
[MiNi] Noisy reference will translate directly in LSB code changes at the digital output for a constant ADC input.
Nice clean clock - it's nice but not so clean, since my board is not a nice PCB (i'm going to lower the clock today from 25MHz downto 8MHz)
[MiNi] Bit of noise on the clock is ok...What I'm concered about is the clock rising and falling edge it should be monotonic.
Clock rate is within spec boundaries.
[MiNi] Sweet...for testing though I'd reduce this wayyyyyy down to try and rule out any issues.
ADC input - single ended mode, DC coupled with op-amp buffer including matching resistors that recommended by spec.
[MiNi] Cool
BUT, i was checking it with connecting its input to GND in order to see x"000" in digital outputs. FAILED - it showing all 111s, or some trash codes.
[MiNi] All 111's could be well correct. If you are not configured correctly in singled ended mode mode, you MUST have SENSE connected to VREF connected to VINB for 0 to 2V input. and 1V reference.
So if you are not configured correctly for 1V reference single ended remeber that this ADC is giving a straight min output code at -Vref all way to max code at +Vref.
-Vref input would give code 0000 0000 0000
+Vref input would give code 1111 1111 1111
Perfect 0V input with very clean reference would equate to code
1000 0000 0000
Allowing a few LSBs for noise and stuff....For 0V static dc input I'd expect to see codes from
1000 0000 0111 (0V + 3LSBs)
:
1000 0000 0000 (0V)
:
0111 1111 1000 (0V -3LSBs)
To check you are configured correctly, use a multimeter to check the volatge between pin VREF and GND. If you see 1V all is well
I started testing the OTR bit, according to spec testing methods - (out of range bit, that responds to VINa-VINb </>/= VREF ) it responds to slow raising SAW wave in the input - but not clearly.
[MiNi] Not clearly ? Are the codes not increasing nice and linearly ? Would point to noisy input or reference.
Is your Saw tooth increasing from 0V to 2V ? or is there some DC bias on it ?
Using saw wave for testing in order to find a proper reference level.
[MiNi] Nice idea
CAPT, CAPB pins connected. There is one cap of 10uF according to spec -but, for now it's only 2.2uF. Is it crucial?
[MiNi] Decoupling is always critical. Even down to the type of cap not just the values. Decoupling caps should be as close to the device pins as possible, with as short leads as possible, SMT are ideal but I reckon you are using leaded ? You are running a 25Mhz part here with a Vref of 1V and a resolution of 12bits.......Thats a LSB = 0.4 mV ! ! To put it in perspective only 2mV of noise it going to equate to 5 LSBs (bits) of code change !
Ideally this circuit would be on a multilayer PCB with a full GND layer. Is that an option for this project ?
I can see that Tants and ceramics are recommeded in the datasheet, try and get the specific type and value of decoupling recommend. Anytime you skimp on caps and layout its going to hit you in performance.
Remember that Vref pins needs decoupling caps too to GND, and also the CML pin needs a decoupling cap to GND.
Just to note too on your Input buffer.....is this buffer supplied from +V -V or is it +V and GND....
Check that what you getting out of the buffer and inputting to the ADC is 0V to 2V and not -V to +V.
if you are configured correctly for single ended and have a Vref of 1V and you are mistakenly inputting say -2V to +2V then anything under 0V will give 0000 0000 0000 output with OTR bit set.