Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Depending on what the performance requirements for the ADC are, the answer can be yes (mostly). The basic idea is that the FPGA generates a pulse width modulated output signal. This PWM signal is then low pass filtered to generate an analog voltage which is essentially the FPGA's estimate of the analog signal's voltage. External to the FPGA, in addition the low pass filter, you would need an analog comparator which compares the analog signal that you are trying to digitize with that of the filtered PWM signal just discussed. That comparator output is then a digital signal where a '1' indicates that the analog signal is higher than the FPGA's estimate; a '0' indicates that the analog signal is lower than the FPGA's estimate. If the FPGA's estimate is too high, then adjust it down; if it is too low, then adjust it up.Hi guys,
Is it possible to implement ADC using fbga ?
Depending on what the performance requirements for the ADC are, the answer can be yes (mostly). The basic idea is that the FPGA generates a pulse width modulated output signal. This PWM signal is then low pass filtered to generate an analog voltage which is essentially the FPGA's estimate of the analog signal's voltage. External to the FPGA, in addition the low pass filter, you would need an analog comparator which compares the analog signal that you are trying to digitize with that of the filtered PWM signal just discussed. That comparator output is then a digital signal where a '1' indicates that the analog signal is higher than the FPGA's estimate; a '0' indicates that the analog signal is lower than the FPGA's estimate. If the FPGA's estimate is too high, then adjust it down; if it is too low, then adjust it up.
The limitations of the FPGA based ADC is primarily conversion speed. Since the FPGA is only receiving a 1 bit feedback on it's current estimate it can take a while for it to refine the estimate to match the analog voltage. Also, the PWM signal that needs to be filtered needs time to adjust to a new value. The more precision you desire, the longer the PWM stream needs to be. For example: for an 8 bit ADC you would need to output 256 clocks of '1' or '0' for the PWM output...this takes time. Lastly, if the analog voltage's range is just right, and the FPGA has differential inputs you might be able to use those differential input pins to implement the comparator instead of having it as an external device.
In short, it can be done, but the applications are for relatively low precision and slow A/D conversions.
Kevin Jennings
Hi guys,
Is it possible to implement ADC using fbga ?
Thanks
Is it possible to implement ADC using fbga ?
An external resistor and a capacitor are the total number of external components needed in certain situations. In other situations, an op-amp would also be needed to be the comparator. Doesn't seem like 'way too many' to me. As to quality, I'm not sure what you mean. If you mean performance in terms of conversions per second, I agree and stated that in the first post. As to number of bits of precision, I would disagree, in many situation it would be fairly comparable.K-J, your sugestion seems to be a low quality ADC using way too many components.
Well then we disagree. I posted how you could implement an ADC with an FPGA (or other programmable logic), apparently you didn't understand the post.If you mean creating an ADC circuit from scratch with an FPGA the short answer is: No! You would need plenty of analog components to perform the conversion and you probably wouldn't even need the FPGA in the end. I can't see how an FPGA can be used to create an ADC.
No, I meant implementing an ADC inside an FPGA (with a couple of external components). The real question though is under what circumstances would one really want to do this? ADC are fairly inexpensive, low pin count and higher performance than any programmable logic solution would likely be...but the OP simply asked if it could be done (it can), not whether or not you should bother to (in most instances, no).If you mean using an FPGA with an ADC, there are some but most use external ADCs.