Hallo, ich habe eine Problemstellung und suche gerade nach einer Lösung. Das Problem ist: ich möchte ein einmaliges Signal mit 100MSa/s und 16Bit abtasten und einfach in einen Festspeicher überführen. Oszis sind dazu entweder nicht in der Lage oder einfach sehr Kostenintensiv. Es gibt FPGA-Lösungen mit ADC's die auch immernoch nicht billig sind aber immerhin handlebar (NI mit dem RIO). Ich habe Zeit und Zugriff auf entsprechende Mess-/Ätztechnik usw. Nun die Frage: Wie Anspruchsvoll ist es ein Board mit 2 ADC's + FPGA + 512MB SDRAM so zum laufen zu bringen, dass die FPGA die Daten der ADC's einliest und in einen Ringspeicher überträgt. Im Grunde eine einfache Schleife und bei Triggerung einfach stoppt. Im zweiten Schritt könnten die Daten noch auf einen Festspeicher übertragen werden. In meiner Vorstellungswelt klingt das nach hochwertigen ADC's und einem sehr einfachen FPGA mit einem großen Speicher (leider finde ich unter den ganzen Boards (Xilinx/Altera) solch eine Konfiguration nicht). Die Frage ist ob ich mich damit auseinandersetze und das Problem tatsächlich lösen kann. Ich möchte verhindern, dass ich in 2 Monaten feststellen muss, dass ich im Grunde schon von Anfang an keine Chance hatte. Daher die Frage: kann man das realistisch schaffen wenn man sich da 3 Monate hineinarbeitet? Grüße
Hm, naja, da sind einige anspruchsvoelle Sachen dran. 1. 100MS/s Abtastrate bedeutet du willst Signale im MHz Bereich messen. Dazu muss deine Schaltung um die 50MHz Bandbreite haben. Sowas macht man nicht mal nebenbei und schon gar nicht auf einer 2-Lagen Platine. Da sind 4 Lagen Minimum, und auch das wird in Verbindung mit dem FPGA nicht reichen. Rechne mit einem 8-Lagen-Design, das ist realistisch, wenn du noch was von den 16 Bit haben willst. Deine Analogtechnik muss schließlich dann mindestens 96dB Signal-Rausch-Abstand haben, damit du die 16 Bit nutzen kannst, wenn ich mich jetzt nicht verrechnet habe. 2. Der ADC. 16 Bit 100MSa/s sind schon sportlich, da ist viel Erfahrung nötig, um den richtig zu treiben. Siehe oben. 3. Der SDRAM. SDRAM zu betreiben ist ebenfalls nicht gescheit mit einem 2-Lagen Design machbar, alle Leitungen müssen gleich kurz sein, die Terminierung muss dran. 4. Das FPGA Design. Das scheint noch (bis auf den SDRAM Controller) das geringste Problem zu sein. Problemtatisch ist der SDRAM Controller, da muss man sich schon eine Weile einarbeiten, speziell, wenn man den auch noch als FIFO missbrauchen will. Ist das eine Diplomaufgabe oder sowas? Aber das ist nix für einen Anfänger, gerade das Platinendesign. Mein Tipp: FPGA-Demo-Board plus ADC-Platine. Dann hast du immer noch das Analogteil, an dem du dir mindestens 3 Monate die Zähne ausbeißen kannst. Schau mal bei Xilinx, die haben da einige FMC Platinen gelistet, da ist sicher was passendes dabei.
Komplett neubauen und Null Erfahrung mit FPGA in 3 Monaten sehr sportlich. Wenn du Erfahrung mit Analogtechnik und Elektronik hast müßtest du dir nen FPGA Board mit DDR RAM + USB + genug IOs für selbstgebastelte Analogwandler Platine besorgen. Dann baust du die Wandlerplatine passend zum FPGA board selber. Ist in einem Monat sicherlich zu schaffen. Dann must du "nur" noch die Wandler am FPGA zum laufen bekommen. Die DDR RAM Anbindung sollte mit den IP Cores zu machen sein. Danach die PC Software. z.B. als FPGA Board http://www.ebay.de/itm/Spartan-6-LX25-FPGA-Entwicklungskit-USB-2-0-64MB-RAM-/270790226670?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3f0c5af2ee
Danke für die schnelle Antwort. Den zeitlichen Rahmen habe ich jetzt mehr oder weniger aus der Luft gegriffen. Ich hätte auch die Möglichkeit mich erstmal einzuarbeiten mit dem vorgeschlagenen Testboard. Letztlich habe ich so etwas im Auge: http://www.entegra.co.uk/x5_rx_adc_virtex5_pcie.htm oder: http://www.gbm.de/fpga-systeme/dime-2-module/BENADDA-16-LX155T/ Nur würde ich mir das gerne selber erarbeiten (in der Hoffnung es auch etwas günstiger hinzubekommen). Es kann auch länger dauern - solange es Aussicht auf Erfolg hat. Gibt es evtl. empfehlenswerte Literatur die sich zum Einstieg gut eignet? Dass die Anforderungen recht sportlich sind, ist mir durchaus klar :] Schöne Grüße fritze^
>Nur würde ich mir das gerne selber erarbeiten (in der Hoffnung es auch >etwas günstiger hinzubekommen). Selbst wenn Du für die Herstellung der Platine und das Bestücken nichts zahlen musst, die Bauteile wirst Du kaufen müssen. Und die sind in kleiner Stückzahl teuer -- und dass der erste Prototyp funktioniert ist selten. Eigentlich hätte man auf Deine Frage antworten können: Das weiß vermutlich keiner besser als Du selber, und wenn Du überhaupt fragen musst, dann wirst Du lange brauchen. (Ich habe mal etwas ähnliches gebaut, ging mir auch so. Leider muss ich für Platine, Bauteile und Bestückung je ca 500 Euro zahlen, daher ruht das Projekt.) Aber mach nur, man lernt viel.
Uwe schrieb: > komplett neubauen und Null Erfahrung mit FPGA in 3 Monaten sehr > sportlich. Vollkommen Unmöglich! Selbst, wenn alles im zweiten Schuss läuft, sind es Analog nicht mal 60dB Güte und ich gehe nicht davon aus, dass jemand ohne Erfahrung ein DDR-Design hinbekommt. Ich weiss, wovon ich rede und kenne mein erstes ADC+FPGA-Design ganz genau :-) Wenn Dir 14Bits reichen, kann ich Dir das hier empfehlen: http://www.mikrocontroller.net/articles/Datei:Altera_fpga_based-oscilloscope-logic_analyzer-spectrum_analyzer.jpg Gesamtkosten sind etwa $700,- Macht 150 MHz und ein Samplespeicher ist mit dem internen Logic Analyzer "Signal Tap" binnen Minuten aufgebaut und per JTAG ausgelesen. Du musst also nichts bauen - abgesehen, von ein bissl ADC -Ansteuerung. Es gibt da aber ein Beispieldesign, dass Du abwandeln kannst. Der Gesamtaufwnad dürfte bei 2h liegen, bis es läuft. Wenn Du etwas mehr Zeit investierst, kannst Du ein serielles Interface, USB oder Ethnet in Betrieb nehmen und das Ganze bequem auf den PC hochladen. Da sieht es mit Beipielen aber dunkler aus.
Hallo, ich wollte einen Oszi selber bauen, also auch ADC + FPGA, aber ja das lohnt sich nicht wirklich. Jetzt will ich villeicht mal Messdaten damit digitalisieren und auswerten und ein uraltes Gerät ersetzen. Jedenfalls hatte ich nach billigen schnelle ADCs gesucht und da gibt es von der Firma Terasic welche die auf deren Boards passen. http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=67&No=278 Hier gibt es auch noch welche: http://www.knjn.com/ShopFlashy.html
Das ist die Altera-Lösung: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=53&No=226&PartNo=2 http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=278 Die hatte ich heute Nachmittag auch schon im Auge. Die ist im Vergleich zu meinen bisherigen Lösungen um den Faktor 10-15 günstiger, quasi ein Schnäppchen. Wobei ich diese hier auch recht interessant finde. http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.d.html Danke schonmal an dieser Stelle. Es scheint jedenfalls nicht unmöglich zu sein. Nur das war mir erstmal wichtig. Grüße fritze^
Naja, selbst mit ADC-Board hast du noch kein Stückchen Frontend dran. Das ist die wahre Arbeit. Um halbwegs sinnvoll sowas ähnliches wie ein Oszi zu haben, ist da ein riesen Grab von Analog-ICs nötig.
Das ganze wird kein echtes Oszi. Es kommen lediglich ein Antialising je Kanal, PreAmps und für einen Kanal noch nen Integrierer rein. Dannach wird das ganze gekapselt und soll nur funktionieren. Mit den 14Bit und den 65MSa/s kann ich durchaus leben. Lediglich über das Auslesen der Daten mach ich mir noch Gedanken. Grüße
Bist du sicher, dass das ADC-Board an das DE2-70 angeschlossen werden kann? Das ADC-Board hat glaube ich ein HSMC-Connector, das DE2-70 nicht. Es gibt aber das kaum teuerere DE2-115 (Cyc-IV statt Cyc-II), das ein HSMC hat.
Das Terasic ADC Board gibt es wie hier http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=67&No=278 auf den Bildern zu sehen und darunter zu lesen mit GPIO und HSMC. Über das Auslesen machst du dir Gedanken, ja, da wären die Eckdaten wichtig. Du schreibst ja, dass du ein einmaliges Signal abtasten möchtest. Also: Wieviele Daten fallen an? Wie schnell müssen diese ausgelesen werden? Welche Schnittstellen bist du bereit zu bauen? Ich speichere auch Daten in einen RAM, Spektren sind das die dann bis zu 2MBytes groß sind. Da lässt sich sehr bequem mit 921600 Baud seriell übertragen. Das machen zwar nicht alle serielle Schnittstellen am PC mit, aber es gibt recht günstige USB-UARTS dann kann man den PC gleich über USB anschließen. Ich verwende http://www.poscope.com/pousb12-57 Wenn es mehr Daten sind oder schneller gehen soll, dann kannst du Ethernet verwenden was aber deutlich schwieriger ist, ich hab mich da nicht rangewagt. Du könntest aber auch eine SD-Card verwenden, ein Steckplatz ist auf vielen Terasic Boards verbaut. Vielleicht ist das noch halbwegs einfach oder es liegen Beispiele bei. Da könntest du die Daten aus dem RAM auf Karte speichern und dann zum PC, ist halt mit Latenz und du müsstest dich vielleicht um das Dateisystem kümmern.
Einen PC wird es im Einsatz nicht mehr geben, die Daten werden in meiner Vorstellung einfach hintereinanderweg in den RAM und im Anschluss auf einer SD-Karte oder über USB auf einen Datenträger gespeichert (die SD-Karte ist aber die rezivollere Variante). Das neuere Board hat darüber hinaus auch 128MB RAM, was zusätzlich reizvoll ist. Die Datenmenge wird durch den Speicher vorgegeben. Interessant sind im Grunde nur etwa 10ms, jedoch aus einem längeren Ereignis von dem es sich lohnt auch mehr aufzunehmen (mit den 128MB RAM wären ja rein theoretisch (128*1024*1024*8/28)/(65e6) = 589,97ms möglich. Die Triggerung könnte hier noch Probleme bereiten. Das Speichern als roher Bitstream müsste dann die FPGA übernehmen. Vielleicht kann mir aber einer bei einem Verständnisproblem helfen. Der ADC arbeitet mit 65MSa/s -> der FPGA jedoch nur mit 50MHz. Wie will er es dennoch schaffen diese Daten einzulesen, ausser der ADC übergibt immer 2 Daten parallel also 28Bit und das je Kanal (56Bit)? Grüße Martin
Der Eingangstakt hat 50MHz; lässt sich aber intern auf deine Wunschfreq. umwandeln (Stichwort PLL/DCM etc.).
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.