06-17-2012 05:36 AM
I have successfully written a VHDL code to interface the onboard pre-amplifier and ADC on Spartan 3E Starter Kit. But, the output of ADC is quite deviated from the ideal values. For example, with gain=-1(of amplifier) and Vin(A)=1 volt, ideally the output of ADC should be approx 4260(in decimal) (concerned mathematical I/O relation is equation 10-1 on page 76 of manual). I took the readings a no. of times and output was in the range of 6000-7000(in decimal) with few readings being closer to the desired value at 5100-5400. Not only is the extremely large amount of deviation from ideal values my concern, but also the range of output for same input. Same input of 1 volt would give output of 5100 in one set and 7000 in the other. Is there any way to improve the results? Does the VHDL code for adc need modifications(which I think should not be the case because code only controls the timings of various signals to be applied to ADC and amplifier.)? Also, what is, in general, the range of error of ADC's output?
06-17-2012 11:55 PM
for specific informations about the ADC you should consult the LTC 1407A datasheet.
There you can also read about the numeric range and the interface details.
The strange results from the ADC can have many causes.
It may be some timing issue, that causes some bits to be read at the wrong time. Or you just misinterpreted the two's complement value.
Or there may be something wrong with your analog setup. Were you able to measure the true input voltage at the ADCs input?
Also keep in mind, that the reference voltage is 1.65V, so your 1V signal is seen as a "negative" voltage compared to the reference.And the reference is just derived by two resistors from the 3.3V supply voltage. Small VCC deviations or noise may have impact to the GAIN and ADC results (see Figure 10-2 of the boards User Guide).
Have a nice synthesis
06-18-2012 09:28 PM
Could you please explain me how can I true input voltage at ADC's input directly?
Is there a knowledgeable and experienced design engineer nearby who can help explain to you the Starter Kit board schematics and the LTC1407 and LTC6912 datasheets? Perhaps your instructor might be able to help you?
-- Bob Elkind
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
06-18-2012 10:36 PM
you can use a voltmeter for an averaged value of your DC signal.
Or you can use an Oscilloscope, so you can also see the noise margin of that signal.
In any way, be VERY careful with the probes, so you don't shorten any pins and cause damage to the board.
If possible do as Bob sugggested: Ask some experienced engineer for help.
Have a nice synthesis