Hallo, Erstmal: ich kenne mich nicht sehr mit FPGAs aus ( habe bis jetzt nur AVR programmiert) Ich brauche für ein Projekt einen Counter der Signaleingänge an einem Eingang zählt. Die Auflösung sollte möglichst bei 1ns liegen. Ich habe mit der Quartus II Software von Altera mal ein Counterprogramm laufen lassen, mit der Cyclone Serie komme ich aber nur auf ~3.2ns.... Ein weiteres Problem ist, das ich kein "industrielle-lötapparatur" zur Verfügung habe, weshalb ich wahrscheinlich auf ein Evo. Board angewiesen bin. Meine Frage ist, ob die Auflösung von 1 ns überhobt zu realisieren ist, und wenn ja wie? Ich bedanke mich schonmal im voraus für jede Hilfe Mfg tillt
Hi, danke für deine Antwort. bei 500Mhz wären das dann 2ns? wie könnte man den die realisieren?
> Mit Tricks sind bis 500Mhz möglich. Das wird für einen Anfänger aber recht sportlich... :-o > Ich brauche für ein Projekt einen Counter der Signaleingänge an einem > Eingang zählt. Die Auflösung sollte möglichst bei 1ns liegen. Was genau willst du denn mit einer solch hohen Auflösung machen? > weshalb ich wahrscheinlich auf ein Evo. Board angewiesen bin. Mit derart hohen Taktfrequenzen solltest du aber schon sehr sehr genau auf das Layout schauen... Das geben die billigen EVAL-Boards idR. nicht her. Normalerweise ist bei derart hohen Signalfrequenzen irgendeine Art von Vorverarbeitung nötig, denn schon die Verzögerungen vom Pad in den FPGA-Core liegen im Bereich ab 3-5 ns (wobei Ausnahmen nur die Regel bestätigen).
mist... > Was genau willst du denn mit einer solch hohen Auflösung machen? ich habe ein Gerät, das in einem 20ns Intervall ein oder mehrere Signale ausgibt; ein Signal hat eine Pulsweite von ca. 5ns. Ziel ist es möglichst genau zu bestimmen, wann das Signal "eingegangen ist" und, 'das ist das wichtigere' auch im Intervall ein zweites Signal eingegangen ist. Bei einer Auflösung von 3,... irgendetwas besteht die Gefahr das z.B. 2 Signale als ein gewertet werden z.B. 1. Signaleingang bei 1ns (Pulsweite: 5ns) 2. Signaleingang bei 6ns -> 1. Messung bei 5ns : Signaleingang -> 2. Messung bei 8,5ns : Signaleingang -> 3. Messung bei 11,5ns : kein Signaleingang --> 1 Interpretationsmöglichkeit: 1 Signaleingänge --> 2 Interpretationsmöglichkeit: 2 Signaleingänge Problem: ich brauch ein "eindeutiges Ergebnis" ...klar man könnte sagen, dann mach halt deine 1. Messung bei 0,5ns und kannst dann aufgrund der differenz der Signaleingänge ausrechnen, wie lange der registrierte "Signaleingang" dar: unter 5ns: 1 Signal über 5ns: 2 Signale Problem: das Signal ist zeitlich andauernd und der zeitliche Begin kann nicht 100% bestimmt werden. Ziel ist es so eine Apperatur (am liebsten mit PC-Auswertung) "irgendwie" zu realisieren... (Wahrscheinlich muss ich (wenn das mit den FPGA oder "etweigigen" klappt) zur Signalübertragung zum PC Differenzialleitungen benutzen)-> Prob leider in ffeerrrnneerrr Zukunft lg tillt
Hm, naja, in solchen Bereichen wird´s mit einem FPGA alleine schwierig. Das müsste man mit externer ECL-Logik oder so machen. Oder mit einem schnellen ADC quasi abtasten (ADC08B3000 oder sowas). Oder eine Art simpler Logik-Analysator implementieren. 1GHz sind schon sportlich. Eventuell könnte man mit einem Virtex 4 oder 5 da was mit den ISERDES Elemnten hintricksen, man erzeugt 1GHz "Abtastrate" per DCM und lässt die ISERDES das Signal abtasten. Dann hast du es im Schieberegister und kannst die Laufzeiten usw. bestimmen. Aber selbst die 1GHz sind da noch sportlich. Wohl aber möglich, laut Datenblatt kann der Virtex 4 über 1GBit/s an den Single-Ended-I/Os. Die Übertragung der Messwerte zum PC ist dann eher einfach, da brauchts auch keine differenziellen IOs.
Hi, danke für deine ausführliche Antwort. Erstmal bin ich froh, das es anscheinend doch zu realisieren ist (-: Das Problem was sich jetzt leider ergibt, ist, das ich mich NULL mit den von dir erwähnten Elementen auskenne )-: ... Weiß du, ob irgendjemand sowas schonmal realisiert hat... oder es eine Art "Beschreibung" für das gibt was ich vorhabe? Die TFT-Monitore von heute müssten doch auch eine extrem hohe Taktrate haben? -> könnte man sich vielleicht an deren Aufbau orientieren? lg tillt
Koennte man fuer die Abtastung nicht die RocketIOs nehmen? Die muessten ja schnell genug sein....
@Tillt Tillt (tillt) >Erstmal bin ich froh, das es anscheinend doch zu realisieren ist (-: Machbar ist es schon, aber nicht bei deinem Wissensstand. >Das Problem was sich jetzt leider ergibt, ist, das ich mich NULL mit >den von dir erwähnten Elementen auskenne )-: ... Eben. >Weiß du, ob irgendjemand sowas schonmal realisiert hat... oder es eine Ja, nennt sich Digitaloszilloskop. Ist für dich wahrscheinlich hundertmal realistischer und einfacher. Kauf dir ein Zweikanal DSO der unteren Leistungsklasse, die machen 1 GSmp/s. Kann man einfach per PC auslesen und steuern. Problem für 3000 Euro und Null Zeit gelöst. MFG Falk
Hi, hast vermutlich recht. Was bedeutet in diesem Fall untere Bandbreite zw. 10Mhz, 100Mhz ... lg tillt
bin grad auf dieses gestoßen Rigol DS1052E: http://www.progshop.com/versand/oszilloskope/Rigol-DS1052E.html kostet aber nur € 499.- ... wäre es mit so einen Gerät auch mgl?
@ Tillt Tillt (tillt) >Hi, hast vermutlich recht. Was bedeutet in diesem Fall untere Bandbreite >zw. 10Mhz, 100Mhz ... Untere Bandbreite? Bandbreite allgemein sagt aus, wie schnell eine Signaländerung erkannt und dargestellt werden kann. Pi mal Daumen gilt Anstiegszeit eines Signals von 10 auf 90% = 0,35/ Bandbreite. Bei 100 MHz also 3,5ns. Kürzere Pulse weden verformt oder ganz verschluckt. >http://www.progshop.com/versand/oszilloskope/Rigol... 50 MHz sind zu mager, du brauchst wahrscheinlich eher 100...300MHz. MFG Falk
Was man noch als SEHR preiswerte Alternative nehmen kann, wenn man sich mit "lausigen" 2ns zufrieden geben kann. ANT-8 http://www.meilhaus.de/produkte/messgeraete-instrumente/?user_produkte[PATTR]=HPG_7-UPG1_3-UPG2_12&user_produkte[PR]=71&cHash=e0112fc604 MFG Falk
Danke für den Post -> klar ist deutlich einfach als nen Oszi ... muss mal schaun ob 2ns (500Mhz) ausreichen, ansonsten probier ichs über Oszi! ... das Oszi, was ich rausgesucht habe müsste doch "gehen" oder?
LeCroy MS500 mit dem Logik-Vorsatz wäre auch was. 2GS/s macht die Kiste. Wenn du so ein High-Performance Gerät selbst entwickeln willst, und dafür keinen Bastler-Stundensatz ansetzt, kommst du auch nicht günstiger.
@ Tillt Tillt (tillt)
>... das Oszi, was ich rausgesucht habe müsste doch "gehen" oder?
Nein.
Falk Brunner schrieb: > @ Tillt Tillt (tillt) > >>... das Oszi, was ich rausgesucht habe müsste doch "gehen" oder? > > Nein. Vielleicht noch als Begründung: Abtast-Theorem. Wenn du 2ns lange Impulse analog messen willst, brauchst du ein Oszi mit einer Analogbandbreite von schätzungsweise mindestens 10...20GHz, wenn nicht noch mehr. Ich schau mir manchmal USB 2.0 auf einem LeCroy Wave Pro 7100A an, der hat 1Ghz Bandbreite, das sieht schon sehr verschliffen aus, also bei digitalen Signalen mit schnellen Anstiegszeiten braucht man wesentlich mehr als Faktor 2 bei der Abtastung. Macht aber keinen Sinn, schließlich ist es ja rein digital. Ein 2 GS/s Logik-Analysator macht das viel besser.
Danke für Eure hilfreiche Unterstützung! Könnt ihr mir vielleicht ein 'billiges' Oszi empfehlen? Und wenn mit welcher Software die Programme eingelesen bzw. weiterverarbeitet werden können...
Entweder du wills was billiges, oder du willst etwas, womit du solche GHz Spikes messen kannst. Beides zusammen wird nix. Bei den leCroy Teilen ist das einlesen einfach, weil das Oszi sowieso ein Windows Rechner ist und es ein API gibt für die Verabeitung der Oszi-Daten...
@ Tillt Tillt (tillt) >Könnt ihr mir vielleicht ein 'billiges' Oszi empfehlen? Nöö. Aber z.B. die WaveJet von LeCroy sind ganz gut. http://www.lecroy.com/tm/products/Scopes/WaveJet/default.asp > Und wenn mit >welcher Software die Programme eingelesen bzw. weiterverarbeitet werden >können... Ist für jeden Oszi spezifisch. MFg Falk
Tillt Tillt schrieb:
>mit der Cyclone Serie komme ich aber nur auf ~3.2ns....
In der Tat ist die Sache so hoffnungslos nicht.
"All device I/O banks contain LVDS receivers that operate up to 875 Mbps
data rates" (Cyclone III Device Family). Die Abtastfrequenz von 875 MHz
brauchst Du so direkt nicht. Es ist genug schon 875/4=218,75 MHz zu
haben, aber 4 Clock's, die gegenüber einander um 90 Grad in Phase
verschoben sind (0 - 90 - 180 - 270). 4 D-flipflop's speichern Auszüge
von dem Eingangsignal. Damit bekommst Du die Auflösung von 1,14 ns. Die
nachfolgende Bearbeitung soll auch kein Problem sein.
Hi, sorry das ich erst jetzt zurücksschreibe dein Idee Igor klingt gut, hast du sowas schonmal gemacht? lg tillt
@ Tillt Tillt Ist zwar nicht so ganz meine Idee, aber ich habe etwas nach diesem Prinzip schonmal gemacht. Es gab damals AN356 (SDI Reference Design for Cyclone). Leider gibt es die auf der Altera's Seite nicht mehr.
Ich würde sagen: Kauf dir einen Frequenzzähler wie z.B. den SR620. Damit lassen sich Signale mit einer Auflösung von etwa 25-50 ps messen. Ähnlich gut ist unser Oszi mit 20 GS/s interleaved. Falls du bei deiner FPGA-Implementierung bleiben willst: ein Counter mit 500 MHz plus ein DDR-Register macht effektiv 1ns Auflösung. Den Counter muss man natürlich extremst pipelinen, damit man dahinkommt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.