Forum: FPGA, VHDL & Co. FPGA board mit 1GHz ADC


von Philipp (Gast)


Lesenswert?

Hi,

ich brauche ein FPGA der an einem ADC mit 1 ns Auflösung (also 1GHz) 
hängen würde dazu noch ein USB Anschluss oder gbit Ethernet für die 
Daten Kommunikation.

Die Problemstellung ist die folgende, 3 Excimer Laser schissen in einem 
Abstand von paar 100 µs und haben jeweils ein paar ns jitter (Timing 
Ungenauigkeit von Triggerpuls bis zum Schuss). Dieser jitter muss jetzt 
auf die ns genau gemessen werden und an ein Computer zur weiteren 
Verarbeitung geleitet werden, also die genaue zeit des Laser Pulses 
gesehen von einer Photodiode + plus Höhe und Länge. Das ganze wiederholt 
sich 100 bis 250 mal in der Sekunde.

Die FPGA Boards mit ADC die mir Google so auf die schnelle ausgespuckt 
hat sind alle zu langsam.

Könnt ihr mir das was empfehlen?

Philipp

von uwe (Gast)


Lesenswert?

> 3 Excimer Laser schissen in einem Abstand von paar 100 µs
Wo haben die denn hingeschissen =;)

von flups (Gast)


Lesenswert?

4DSP ist eine gute Adresse für ADC im Gigaherz Bereich:

Besipielsweise:

http://www.4dsp.com/FMC110.php
oder
http://www.4dsp.com/FMC161.php

Dazu brauchst du nur noch ein FPGA-Board mit FMC-Connector. 
Beispielsweise eines der 7er Serie von Xilinx (Artix,Kintex oder 
Virtex). Dann must du nur noch das ADC-Board auf das xilinx board 
stecken und fertig ist die Hardware. Dann musst du dir natürlich noch 
die Firmware schreiben oder die Examples von 4DSP nehmen

Besipielsweise dieses FPGA Board nehmen:

http://www.xilinx.com/products/boards-and-kits/EK-V7-VC707-G.htm

Gruß

von Raymund H. (raymund_h)


Lesenswert?

Braucht es da eine so hohe Abtastrate?

Wie lang sind denn die Impulse?

Evtl. ist man mit weniger Bandbreite, Bandbegrenzungsfilter und mehr 
Bits besser bedient und genauer?

Oder braucht es einfach nur einen Komparator und einen TDC (time to 
digital converter)?

von Christoph Z. (christophz)


Lesenswert?

Die kombination schneller ADC plus USB/GigEthernet wirst du 
typischerweise auch nicht finden. Der ADC produziert ja viel mehr Daten 
als durch die Leitung passen.

Deine Anwendung kann ja damit umgehen und reduziert die Daten ja, bevor 
sie gesendet werden.

Mir sind da zwei Lösungen durch den Kopf:

- Schnelle Data Capture Karte von Alpha-Data (ADC Modul: 
http://www.alpha-data.com/products.php?product=xrm-adc-d3-1g5) und dann 
beliebiges FPGA Modul dazu. Wird dann aber direkt in den PC gesteckt 
(PCIe).

- Evaluationsmodule der ADC Hersteller + passende Data Capture Card

Bei Analog z. B. kann man sich das auf dieser Seite zusammensetzen:
http://www.analog.com/en/content/CU_High-Speed_ADC_FIFO_evaluation_tools/fca.html

Nur als Beispiel diese kombination: 
http://www.analog.com/en/analog-to-digital-converters/high-speed-ad-converters/ad9625/products/Eval-AD9625/eb.html 
zusammen mit http://wiki.analog.com/resources/eval/hsc-adc-evale


Texas Instruments hat ähnliches:
ADC Modul http://www.ti.com/tool/adc12j1600evm
Data Capture http://www.ti.com/tool/TSW14J56EVM


Ist natürlich mit diesen FPGA Boards je nach dem nicht einfach, etwas 
eigenes zu entwickeln. Sicher den Hersteller zuerst anfragen, wie viel 
informationen man dazu bekommt, bzw. welche Teile vom FPGA Design sie 
dir mitgeben können, damit das USB und ADC Interface nicht mühsam 
nochmals entwickelt werden muss.

von Christoph Z. (christophz)


Lesenswert?

Raymund H. schrieb:
> Oder braucht es einfach nur einen Komparator und einen TDC (time to
> digital converter)?

Guter Ansatz, der sich sicher lohnt zu prüfen. Die Zeitauflösung wäre 
dann auch nochmals höher als mit dem ADC. Z. B. hier zu sehen:
http://www.acam.de/products/time-to-digital-converter/overview/

von Raymund H. (raymund_h)


Lesenswert?

Christoph Z. schrieb:
> Guter Ansatz, der sich sicher lohnt zu prüfen. Die Zeitauflösung wäre
> dann auch nochmals höher als mit dem ADC. Z. B. hier zu sehen:
> http://www.acam.de/products/time-to-digital-converter/overview/

Nur muss dann die Komparatorschwelle evtl. auf individuelle 
Amplitudenunterschiede angepasst werden.

Die Zeitauflösung ist übrigens nicht die Periodendauer der A/D 
Samplerate, vorausgesetzt das Signal ist bandbegrenzt.
Die Zeitauflösung ergibt sich dann ca. aus dem Produkt Samplerate und 
Amplitudenauflösung.

von Philipp (Gast)


Lesenswert?

Die von Analog habe ich gesehen das sind zusammen 2k€ dachte das geht 
evl einiges billiger.

TDC reicht nicht wir wollen auch die Höhe der Pulse wissen nicht nur 
wann sie kommen.

Die anderen Kombinationen schau ich mir gleich im Detail an danke schon 
mal.

LG

von TB (Gast)


Lesenswert?

Philipp schrieb:
> TDC reicht nicht wir wollen auch die Höhe der Pulse wissen nicht nur
> wann sie kommen.

Ja, aber braucht ihr die Amplitude auch mit 1Ghz oversampled? Oder 
reicht gar schon ein einziger Wert (Peakdetector)?

Bei 1ns Zeitauflösung sind analoge Lösungen zu bevorzugen wie zb ein 
(schneller) Komparator dessen Ausgang einen Kondensator auflädt. Oder 
für bessere Linearität kann man noch eine Konstantstromquelle vorsetzen.

von Irgendwer23 (Gast)


Lesenswert?

Hallo,

das klingt jetzt vielleicht dumm, aber kann man nicht eine Art 
Triggersignal analog generieren (analoges Signal mit schnellem 
Komparator mit Referenz vergleichen) statt das Analog zu  erfasen?

Weil eine hochgenaue Zeitmessung im 1ns-Bereich lässt sich mit Countern 
oder ähnlichem relativ leicht umsetzen.

Wenns ein dummer Vorschlag ist, gleich vergessen und nicht hauen ;-)

von Duke Scarring (Gast)


Lesenswert?

Irgendwer23 schrieb:
> aber kann man nicht eine Art
> Triggersignal analog generieren
Wird auch schon gemacht. Dummerweise verändert sich aber oft der 
Triggerzeitpunkt durch die Signalform. Die klassische Kernphysik 
verwendt da gerne einen Constant Fraction Discriminator (CFD):
http://de.wikipedia.org/wiki/Constant_Fraction_Discriminator

Aber das Allheilmittel ist das auch nicht, da dort die Anstiegszeit 
kontant sein muss.

Duke

von Philipp (Gast)


Lesenswert?

>Wie lang sind denn die Impulse?
~ 5 ns

>Aber das Allheilmittel ist das auch nicht, da dort die Anstiegszeit
>kontant sein muss.
Die Laser schwanken in der Puls Energie von Schuss zu Schuss um bis zu 
20%


>Ja, aber braucht ihr die Amplitude auch mit 1Ghz oversampled? Oder
>reicht gar schon ein einziger Wert (Peakdetector)?
Wen dann das Integral über den ganzen Puls, der max wert schwankt zu 
viel.


Philipp

von Raymund H. (raymund_h)


Lesenswert?

Philipp schrieb:
> Die Laser schwanken in der Puls Energie von Schuss zu Schuss um bis zu
> 20%

Es soll also die Energie jedes Pulses gemessen werden.

Philipp schrieb:
> Wen dann das Integral über den ganzen Puls, der max wert schwankt zu
> viel.

Um hier genau zu sein ist die Bandbegrenzung so dass es wenig Aliasing 
gibt wichtig.

Also wie ich sagte ist vielleicht gar kein 1Gs/s bei 8Bit nötig, sondern 
z.B. 150MHs/s bei 12Bit sogar etwas genauer, passende Bandbegrenzung 
natürlich vorausgesetzt.

Die Zeitauflösung um die Position des Pulses zu bestimmen ist angenähert 
die Abtastperiode geteilt durch Amplitudenauflösung, also bei 1GS/s 8Bit 
maximal ca. 40ps, bei 150MS/s 12 Bit maximal ca. 16ps.

Die hohe Frequenzbandbreite und dammit Abtastrate macht kaum Sinn wenn 
danach integriert wird um das Messergebnis zu bekommen.

Die Pulswiederholfrequenz ist wohl unter 10Khz, so dass im Prinzip schon 
eine Banbreite der Erfassung von 100Khz-1MHz ausreichen würde, hohe 
Amplitudenauflösung natürlich vorausgesetzt.

Denn noch mit 1MS/s  12Bit könnte man dann wohl die 1ns Zeitauflösung 
erreichen und die Energie exakt messen.

von Duke Scarring (Gast)


Lesenswert?

Raymund H. schrieb:
> Die Zeitauflösung ist übrigens nicht die Periodendauer der A/D
> Samplerate, vorausgesetzt das Signal ist bandbegrenzt.
Jedes Signal ist bandbegrenzt. Wie muss denn die Begrenzung Deiner 
Meinung nach aussehen, damit die Zeitauflösung verbessert werden kann?

> Die Zeitauflösung ergibt sich dann ca. aus dem Produkt Samplerate und
> Amplitudenauflösung.
So ganz hab ich die Milchmädchenrechnung noch nicht verstanden.
Wenn man mit 'zufälligen' Signalen arbeitet, kann man den ADC nicht 
optimal aussteuern. Dann bleiben von 16 Bit ganz schnell nur noch 8 Bit 
übrig, die ich für die Verbesserung der Zeitauflösung nutzen kann, oder?

Duke

von Raymund H. (raymund_h)


Lesenswert?

Duke Scarring schrieb:
> Jedes Signal ist bandbegrenzt. Wie muss denn die Begrenzung Deiner
> Meinung nach aussehen, damit die Zeitauflösung verbessert werden kann?

So dass das Maß an Aliasing nach dem Abtasten nicht zu viel 
Ungenauigkeiten für die nachfolgenden Berechnungen bringt.

Duke Scarring schrieb:
> So ganz hab ich die Milchmädchenrechnung noch nicht verstanden.

Ich sage dass Bandbegrenzung Zeitauflösung zu Amplitudenauflösung macht, 
sollte doch zu verstehen sein?

> Wenn man mit 'zufälligen' Signalen arbeitet, kann man den ADC nicht
> optimal aussteuern. Dann bleiben von 16 Bit ganz schnell nur noch 8 Bit
> übrig, die ich für die Verbesserung der Zeitauflösung nutzen kann, oder?

-45Db?

Wenn dass wirklich so wäre, dann müsste man den A/D entsprechend 
"überdimensionieren".

Und genau da wäre ein 8Bit 1GS/s offensichtlich überfordert, es bräuchte 
ca. 16Bit bei 5MS/s.

Auch ist dann zu vermuten dass man ganz andere Probleme der 
Störeinstreuung im Messaufbau bekommt die schwierig zu lösen sind.

Die Laserpulse des OP sind aber wohl nicht von solcher Dynamik im 
Amplitudenbereich.

von -gb- (Gast)


Lesenswert?

Ok ich hänge mich mal mit ran an den Fred, denn hier werden auch die 
Flächen unter Impulsen benötigt die proportional zur Zerfallsenergie 
sind. Derzeit sample ich das Signal mit 75MSamples und erhalte so aus 
den 3us langen Implusen schöne Flächenwerte.

Wie würde das mit einem deutlich langsameren ADC funktionieren? Bei 
1MSample wäre der Impuls dann nur 3 Samples breit, bei noch niedrigerer 
Samplerate wäre das dann auch weniger Werte.

Die eigentliche Frage ist für mich: Sind zwischen den Samples Lücken? 
Also vergeht Zeit bei der der Pegel des analogen Signals nicht in einen 
Samplewert einfließt?

Von der Zeitauflösung her würde mir 1us locker reichen, aber auch hier 
wird es doch bei niedriger Samplerate schwer zu erkennen wo der Peak 
beginnt oder wo der sein Maximum hat wenn der gesamte Peak nur noch 
wenige Samples breit ist.

von Schreiber (Gast)


Lesenswert?

-gb- schrieb:
> Wie würde das mit einem deutlich langsameren ADC funktionieren? Bei
> 1MSample wäre der Impuls dann nur 3 Samples breit, bei noch niedrigerer
> Samplerate wäre das dann auch weniger Werte.

Ganz einfach: mit einem analogen Integrator. Der gibt ein zum Integral 
des Impulses proportionales Signal aus.

-gb- schrieb:
> Von der Zeitauflösung her würde mir 1us locker reichen, aber auch hier
> wird es doch bei niedriger Samplerate schwer zu erkennen wo der Peak
> beginnt oder wo der sein Maximum hat wenn der gesamte Peak nur noch
> wenige Samples breit ist.

Auch da kann man eine analoge Signalaufbereitung machen und einen 
Peak-Detektor vorschalten. Der gibt dann ein digitales Signal aus.

von egal (Gast)


Lesenswert?

Philipp schrieb:
> Dieser jitter muss jetzt
> auf die ns genau gemessen werden und an ein Computer zur weiteren
> Verarbeitung geleitet werden, also die genaue zeit des Laser Pulses
> gesehen von einer Photodiode + plus Höhe und Länge. Das ganze wiederholt
> sich 100 bis 250 mal in der Sekunde.

Ein geeignetes DSO + GPIB + AuswerteSkript auf dem PC gänge vielleicht 
auch.

von Raymund H. (raymund_h)


Lesenswert?

-gb- schrieb:
> Die eigentliche Frage ist für mich: Sind zwischen den Samples Lücken?
> Also vergeht Zeit bei der der Pegel des analogen Signals nicht in einen
> Samplewert einfließt?

Das ist das Wesen der Abtastung.

Deswegen wird bei DSP so viel von der Nyquistgrenze also der 
Bandbegrenzung des abzutastenden Signals auf die halbe Samplerate 
geredet.

Denn Nyquist sagt wenn das abzutastende Signal keine Frequenzen >Fs/2 
enthält, braucht man sich nicht um die "Lücken" also was zwischen den 
Abtastungen passiert grämen, es geht keine Information verloren oder 
wird verfälscht.

-gb- schrieb:
> Von der Zeitauflösung her würde mir 1us locker reichen, aber auch hier
> wird es doch bei niedriger Samplerate schwer zu erkennen wo der Peak
> beginnt oder wo der sein Maximum hat wenn der gesamte Peak nur noch
> wenige Samples breit ist.

Auch wenn man mit 75MHz sampled und nur ganze Samples zählt entspricht 
das nicht dem genauen Zeitpunkt, sondern ist auf ganze Sampleintervalle 
quantisiert.

Bei 1MS/s ist das besonders auffällig und muss mit Signalverarbeitung 
verbessert werden.

Man könnte entweder das Signal upsamplen und dann wieder einfach 
abzählen, oder die Position des Pulses mit COG (center of gravity) 
Berechnung subsamplegenau bestimmen, an die eigentliche Grenze von 
Zeit*Amplitudenauflösung herankommen.

Einen Nachteil gibt es dabei jedoch: Das antialiasing-Filter, sofern es 
als analoges IIR ausgeführt ist hat einen Phasengang der Verzerrungen 
der Pulsposition abhängig von der Pulsbreite bringt.
Doch dass ließe sich auf der digitalen Seite wieder kompensieren.

Auch macht ein analoges Filter was keine zeitlichen Überschwinger hat 
die Auswertung evtl. einfacher.

Das ist weniger steil als es sein könnte weswegen es evtl. Sinn macht 
die Samplerate etwas zu erhöhen.

Die effektive und genaue Messung eines banalen Pulses erfordert ein 
gewisses DSP Knowhow.

von Ro V. (robyn)


Lesenswert?

Suchst du soetwas in der Richtung? HMCAD1511 von hittite.com der macht 
z.B. 8 Bit 1000MSPS oder mehr als fertige ein Einheit.

von -gb- (Gast)


Lesenswert?

Bitte was?

Raymund H. schrieb:

> Denn Nyquist sagt wenn das abzutastende Signal keine Frequenzen >Fs/2
> enthält, braucht man sich nicht um die "Lücken" also was zwischen den
> Abtastungen passiert grämen, es geht keine Information verloren oder
> wird verfälscht.

Das mag stimmen wenn man nur die Frequenz bestimmen will, aber ich 
möchte die Fläche unter dem Impuls bestimmen, wenn da was fehlt dann ist 
das extrem schlecht. Liege ich falsch?

von Raymund H. (raymund_h)


Lesenswert?

-gb- schrieb:
> Das mag stimmen wenn man nur die Frequenz bestimmen will, aber ich
> möchte die Fläche unter dem Impuls bestimmen, wenn da was fehlt dann ist
> das extrem schlecht. Liege ich falsch?

Die Fläche unter dem Impuls enthält in dem gegebenen Zeitintervall per 
Definition nur DC ergo keine Frequenzen oder anders gesagt die genaue 
Form des Pulses ist egal, nur zeitlich Begrenzt muss dieser sein.

von -gb- (Gast)


Lesenswert?

Aber ... ich muss doch die Form kennen um die Fläche drunter zu 
bestimmen. Irgendwie verstehe ich das nicht, ich kann doch zwei Impulse 
mit total unterschiedlicher Fläche aber der gleichen Impulslänge haben?

von Raymund H. (raymund_h)


Lesenswert?

-gb- schrieb:
> Aber ... ich muss doch die Form kennen um die Fläche drunter zu
> bestimmen. Irgendwie verstehe ich das nicht, ich kann doch zwei Impulse
> mit total unterschiedlicher Fläche aber der gleichen Impulslänge haben?

Du sagst es selbst, das was dich interessiert ist die Fläche.

Und du hast eine Form, befreit von den "feinen Details" also hohen 
Frequenzen, jedoch mit der gleichen Fläche.

Hoffentlich fällt der Groschen jetzt.

von -gb- (Gast)


Lesenswert?

Nein, ich kann zwei Impulse haben die sagen wir 1us lang sind. Der eine 
ist aber doppelt so hoch, hat also auch die doppelte Fläche. Also 
interessiert das Aussehen schon?!

von Raymund H. (raymund_h)


Lesenswert?

-gb- schrieb:
> Nein, ich kann zwei Impulse haben die sagen wir 1us lang sind. Der eine
> ist aber doppelt so hoch, hat also auch die doppelte Fläche. Also
> interessiert das Aussehen schon?!

Das Aussehen interessiert nicht bei hohen Frequenzen, es braucht nur so 
viel hohe Frequenzen um die Pulse nacheinander ausreichend zu trennen.

Im Intervall interessiert nur DC, denn das ist die Fläche.

Verschiedene Amplituden ist übrigens fast das gleiche Aussehen und 
identische Frequenzen.

Ich habe nicht gesagt dass die Form des Pulses egal ist, sondern, ich 
wiederhole mich:

Die Fläche unter dem Impuls enthält in dem gegebenen Zeitintervall per
Definition nur DC ergo keine Frequenzen oder anders gesagt die genaue
Form des Pulses ist egal, nur zeitlich Begrenzt muss dieser sein.

Signalverarbeitung scheint ein schweres Thema, für manche.

von -gb- (Gast)


Lesenswert?

Das mag sein, mich würde es sehr freuen, wenn das ausser dir noch Jemand 
bestätigen könnte.

Für mich passt das nicht zusammen:

> Verschiedene Amplituden ist übrigens fast das gleiche Aussehen und
> identische Frequenzen.

Und die Fläche ist doch das Integral.

Wenn ich jetzt zwei Impulse habe, beide die gleiche Frequenz, aber der 
eine eine größere Amplitude, dann ist doch auch die Fläche unter dem mit 
der größeren Amplitude größer.

Aber egal, ich kenne mich da tatsächlich nicht aus, das gebe ich gerne 
zu.

von Andreas S. (igel1)


Lesenswert?

Hmmm - ich gebe zu, daß ich Raymond auch noch nicht verstanden habe (... 
was ich allerdings wirklich gerne tun würde ...).

Ich würde Raymond sogar gerne widersprechen, wenn er nicht durch die 
vorigen Posts auf mich den Eindruck erweckt hätte, daß er weiß, wovon er 
spricht. Hmmm - echte Zwickmühle.

Trotzdem wage ich einmal einen Einwand:

- Auch einen einzelnen Puls kann man doch per Fourier-Analyse in seine 
Einzelbestandteile (will sagen: Sinus-Signale) zerlegen, oder?
(Ein schönes Beispiel ist z.B. der Dirac-Impuls).

Dementsprechend meine ich, daß auch ein einzelner Impuls bandbegrenzt 
sein muß, damit man ihn nach dem Samplen wieder 100%ig rekonstruieren 
kann (Nyquist).

Ansonsten fand ich die Antwort von Schreiber weiter oben im Thread 
eigentlich ganz gut. Damit könnte sich der TO das ganze Samplen im 
GHz-Bereich ersparen. Evtl. kann man sogar mit nur einem Transistor per 
Miller-Effekt so einen Integrator aufbauen - aber hier begebe ich mich 
auf sehr dünnes Eis. Mit etwas mehr Zeit würde ich zu gerne mal LTspice 
dazu befragen ...

Und final geht die Anregung an den TO, das Thema vielleicht im 
Analog-Forum hier auf MC nochmals einzustellen (ggf. noch etwas besser 
beschrieben). Dort wird der TO sicherlich noch mehr Experten ansprechen 
(womit ich Raymond nicht auf den Schlipps treten möchte).

Der Diskurs lebt ja bekanntlich von der Pluralität der Meinungen ...
Auch wenn sich Schaltungen nicht immer an Mehrheitsmeinungen halten :-)

Aber letztlich ist das Problem des TO kein VHDL-Problem sondern zu 
mindesten 70% ein Analogproblem - daher mein Vorschlag für einen 
"Forenwechsel".

Viele Grüße

Igel1

von dose (Gast)


Lesenswert?

Ich hatte schon mit Eximer Laser zu tun .
Du hast noch was vergessen. Der Laserstrahl eines Eximer lasers ist 
nicht Gaussverteilt. Der Materialabtrag ist abhängig von der 
Energiedichte pro Fläche. Wenn die Optik nicht den Fehler korriert 
kannst du rechnen wie du willst und kommst auf kein vernünftiges 
Ergebnis.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.