EmbDev.net

Forum: FPGA, VHDL & Verilog How to interface FLASH ADC with FPGA?


von Safiqul (Guest)



Rate this post
useful
not useful
Hi,

I am trying to measure the RC time constant (exponential decay time) by 
FPGA. I have already done it by micro-controller with two comparators. 
But now, I want to do it by FPGA and want to use VHDL.

For that, I have choosed Flash ADC (MAX105) and FPGA - ACTEL ProASIC3E 
(A3PE1500). But, I have no idea how to interface between Flash ADC and 
FPGA. I need also the counter value that can count the time for each 
sample.

The RC time constant only 100 us.

Please help me to find out this! Thank you!

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
Safiqul wrote:
> Hi,
>
> I am trying to measure the RC time constant (exponential decay time) by
> FPGA. I have already done it by micro-controller
How fast is your uC? Is it that uC solution to slow?

> with two comparators.
How fast are your comparators?

> For that, I have choosed Flash ADC (MAX105)
Do you really need an 800MHz ADC? Sounds like "technical overkill"...

> But, I have no idea how to interface between Flash ADC and FPGA.
To connect them you will need some copper wires...

> I need also the counter value that can count the time for each sample.
What language?

> The RC time constant only 100 us.
Thast fairly slow compared with your ADC...   :-o
Because with T=100us you will get about 4.000.000 samples for a 5T 
charge.

Lets do it this way:
tell, WHAT you want to do, not HOW you want to do it.

von Safiqul (Guest)


Rate this post
useful
not useful
Hi,

Thanks for your step by step comments :D!

In my system, RC time constant represents the temperature constant. For 
each degree change, the RC time constant changes only 5ns. That is why, 
I have chossed that ADC. I want to do it by
1
VHDL code
:

1. Capture the time by counter for each sampling. To get the precision 
points, I need higher ADC clock as well.

2. So, for 8 bit Flash ADC, I will get 255 counter values. Then add all 
these counter values to get the RC time constant.

That what I want to do. Please help me!

von Lothar M. (Company: Titel) (lkmiller) (Moderator)


Rate this post
useful
not useful
> 1. Capture the time by counter for each sampling. To get the precision
> points, I need higher ADC clock as well.
What about noise? Any uncertainity of 1 bit will lead you false ways...
And this ADC has much of it:
1
DC ACCURACY 
2
Resolution RES 6 Bits          min    typ  max
3
Integral Nonlinearity     INL   -1   ±0.2    1 LSB
4
Differential Nonlinearity DNL   -1  ±0.25    1 LSB
5
Offset Voltage VOS (Note 2)     -1  ±0.25    1 LSB

> 2. So, for 8 bit Flash ADC, I will get 255 counter values.
But you have a 6 bit ADC...

> Then add all these counter values to get the RC time constant.
Are you sure?

Usually the time constant is to take the charge function of a capacitor 
for a calculation of the tim constant. So, the time to reach a level of 
approx. 63% is the time constant.

> For each degree change, the RC time constant changes only 5ns.
Just the practical way: why not choosing a much more simpler temperature 
sensor?

von PittyJ (Guest)


Rate this post
useful
not useful
As far as I understand, you simply want to measure the temperature?

Why not taking a integrated temperature sensor, which does everything 
for you?
e.g. LM73 with I2C interface or LM74 with SPI interface.
They are easy to access with a microcontroller or an FPGA. And the 
resolution is mostly sufficient.

von Uwe (Guest)


Rate this post
useful
not useful
You need to know how to develop digital Hardware (Printed Circuit 
Boards).(FlipFlops,and,or,not,nand,nor,xor,counter,muxes,latches,adder,s 
tatemachines)
And you have to know how you combine them. You have to know what are 
Setup times,hold times, Signal runtime and Routing, Clock domains ...
This is NOT C++
even if looks similar like Pascal VHDL is not a programming language.

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.