Guten Abend, Ich hoffe sehr mit diesem Anliegen hier richtig zu sein. Ich bin auf der Suche nach einem FPGA - vermutlich eher einer FPGA-Wollmilchsau, das ist mir bewusst, jedoch probiere ich es trotzdem mal hier im Forum. Ich habe mich bereits bei einigen FPGA Herstellern umgesehen,jedoch ist die auswahl fast noch ein wenig schlimmer als bei OpAmp's, wenn man nicht genau weiss was man möchte. Zusätzlich habe ich keine Kentnisse von FPGA's und vorallem nicht von der Menge an (benötigten Logikzellen). Meine Anforderung ist es, schnelle Pulse zu erkennen und mit einem relativ schnellen ADC (bereich 200MSPS) zu digitalisieren. Per Comparator wird eine Schwelle detektiert, dann soll losgesamplet werden bis der Comparator wieder abfällt. Optimalerweise soll im FPGA gleich die Spitze ermittelt werden. Da ich herausgelesen habe (korrigiert mich sollte ich falsch liegen) das FPGA eher ungeeignet für "Anspruchslose Task sowie Kommunikation" sind, möchte ich das Ergebniss an einen MCU weitergeben. Der MCU bedient einige Nebenaufgaben wie Temperaturmessung (I2C), Schnittstellen (USB,RS232), DAC sowie GPIO. Hier möchte ich auf STM32 setzen, da ich diese bereits kenne. Der FPGA hat also folgende Anforderungen zu erfüllen: - Genügende Taktrate für Auswertung eines 200MSPS ADC inkl. genügend Reserve - Möglichst kleine, angemessene Bauform (kein 144-pin IC für ~20pins) - Optimalerweise QFP/QFN - Gutes Preis-Leistungs-Verhältniss - Einfach Programmierung bzw. verständliche Software welche "Anfängerertauglich ist) - Einfache Versorgung Das mag natürlich nach einer Wollmilchsau klingen, jedoch sind das in etwa meine Anforderungen. Ich habe bereits mal ins blaue heraus bei Digikey nach den mir bekannten möglichen Anforderungen gesucht (Günstig & kleine Bauform) und bin auf folgende Typen gestossen: Lattice ICE5LP1L-SG48TR 2.75$ 1.1k Logikzellen, 64k RAM QFN32 Efinix T8Q144C3 4.45$ 7.3k Logikzellen, 128k RAM QFP-144 XILINX XC3S50AQG100c 8.3$, 1.5k Logikzellen, 184k RAM, LQFP100 Jedoch sagt mir das leider alles nicht wirklich viel. Aus diesem Grunde wollte ich hier bei euch mal nachfragen, ob mir jemand entsprechende Teile empfelen kann oder zumindest eine Schnellauskunft geben kann, wieviele Logikzellen etc überhaupt benötigt werden. Viele Grüsse Julian
:
Verschoben durch Admin
Julian schrieb: > Ich hoffe sehr mit diesem Anliegen hier richtig zu sein. Eher nicht. Fragen zu FPGAs wirst du besser im Unterforum https://www.mikrocontroller.net/forum/fpga-vhdl-cpld los Dort sind Fragen zur Anwendung von CPLD & FPGA, VHDL, Verilog usw. deutlich besser aufgehoben. Für Mikrocontrollern oder digitaler Elektronik ist das Thema nicht so wirklich passend.
Julian schrieb: > Ich habe bereits mal ins blaue heraus bei Digikey nach den mir bekannten > möglichen Anforderungen gesucht (Günstig & kleine Bauform) und bin auf > folgende Typen gestossen: Suchst du einen einzelnen FPGA oder ein Eval-Board? Privat oder kommerziell? Da ist für die Auswahl der Tools wichtig. Die Anzahl der Logikzellen wird vermutlich gar nicht der wichtige Punkte sein sondern die Menge an integriertem RAM (oder gleich externen einsetzen)
Grundsätzlich suche ich einen FPGA, wenn aber ein EVAL-Board für den selben bzw. ähnlichen FPGA verfügbar ist, wäre das ein toller Bonus. Der Einsatz ist nur privat/open source gedacht. Bezüglich Ram mache ich mir die folgenden Gedanken: 200MSPS / 14bit ADC ergibt 14bit per 5ns. Da die Pulse max. 12us lang sind, bedeutet das maximum 2,4k Samples, also rund 34k an Daten pro Event, welche nach dem "versenden" direkt wieder gelöscht werden dürfen.
Julian schrieb: > Meine Anforderung ist es, schnelle Pulse zu erkennen und mit einem > relativ schnellen ADC (bereich 200MSPS) zu digitalisieren. Per > Comparator wird eine Schwelle detektiert, dann soll losgesamplet werden > bis der Comparator wieder abfällt. Was sind das denn für Impulse? Und je nach ADC geht das vielleicht nicht. Schnelle ADCs haben oft eine Pipeline, sprich wenn du jetzt anfängst zu sampeln, dann bekommst du erst mehrere Takte später dein erstes valides Ergebnis. Ich würde also dauerhaft sampeln. Aber es gibt auch mehrere andere Möglichkeiten wie eine Peakhalteschaltung. Die gehaltene Spannung kannst du dann gemütlich abtasten. Das geht aber nur wenn die Impulse nicht zu schnell ancheinander reinkommen.
Dein FPGA haengt massgeblich vom ADC Typ ab und welche IO du dann genau brauchst. Die 200 MSPS sind mit modernen und gaengigen Typen kein Problem. Bei einem 14 bit ADC brauchst du aber schonmal eine Schnittstelle die 2.8 Gbps schafft. Das ist dann schonmal ne Hausnummer und da grenzt sich dann langsam auch die Auswahl ein. ;-) Hast du schon einen ADC in Aussicht oder kennst zumindest die Schnittstelle zum ADC?
Julian schrieb: > Das mag natürlich nach einer Wollmilchsau klingen, jedoch sind das in > etwa meine Anforderungen. Das ist weit weg von der Wollmilchsau :-) Du suchst nach einem sehr minimalistischen FPGA (was OK ist für deine Anforderungen) und deine Auswahl bestätigt das ja auch z. B. im Preis. Julian schrieb: > Lattice ICE5LP1L-SG48TR 2.75$ 1.1k Logikzellen, 64k RAM QFN32 > Efinix T8Q144C3 4.45$ 7.3k Logikzellen, 128k RAM QFP-144 > XILINX XC3S50AQG100c 8.3$, 1.5k Logikzellen, 184k RAM, LQFP100 Bestätigt was ich so aus dem Kopf heraus gewusst hätte. Ausser Lattice macht keiner der bekannteren Hersteller FPGAs in solch kleinen Gehäusen. Efinix ist ziemlich neu, würde mich mal interessieren ob hier im Forum schon jemand Erfahrung damit hat. Lattice liefert ordentliche Arbeit ab, gibt hier im Forum auch diverse Anwender. Den Xilinx XC3s50 kannst du wieder streichen, der ist schon soo alt, das ich den sicher nicht in ein neues Design einplanen würde. Julian schrieb: > einige Nebenaufgaben wie Temperaturmessung (I2C), Schnittstellen > (USB,RS232), DAC sowie GPIO. Hier möchte ich auf STM32 setzen, da ich > diese bereits kenne. Macht Sinn. Jeder Baustein für das, was er gut kann und bestehendes Wissen nutzen. Zusätzlich: Gerade bei Open Hardware Projekten besteht so wenigstens Chance, dass andere Personen bei der Mikrocontroller Software mithelfen. Open Source FPGA Projekte bestehen sehr oft nur aus dem Maintainer. Tobias B. schrieb: > Dein FPGA haengt massgeblich vom ADC Typ ab und welche IO du dann genau > brauchst. Aber wie Tobias schreibt, das ADC Interface ist entscheidend. Je nach dem wirst du so auch ADC und FPGA zusammen auswählen, damit das Gesamtkonzept am Günstigsten ist. Julian schrieb: > Schnellauskunft > geben kann, wieviele Logikzellen etc überhaupt benötigt werden. Da sich der übliche Entwicklungsablauf von Embedded Software und FPGAs doch recht stark unterscheidet, tendieren FPGA Entwickler dazu, ihre kritischen Funktionen zuerst zu Entwickeln und in der Simulation zu debuggen. Danach wird mit den entsprechenden FPGA Herstellertools geschaut, wie viele Ressourcen gebraucht werden und ob die geforderte Taktfrequenz erreicht werden kann und so die passende FPGA Familie ausgewählt (oder nochmals die Architektur überarbeitet).
Julian schrieb: > Optimalerweise soll im FPGA gleich die Spitze ermittelt werden. Da ich > herausgelesen habe (korrigiert mich sollte ich falsch liegen) das FPGA > eher ungeeignet für "Anspruchslose Task sowie Kommunikation" sind, > möchte ich das Ergebniss an einen MCU weitergeben. Wieso ungeeignet? Du kannst dem Design noch einen uC-Softcore spendieren und den auf deine Zwecke (Peripherie) so anpassen, dass er alle 'doofen' Aufgaben macht, wie Daten aufs Ethernet rausschaufeln, etc. Etwas, wo man mit reiner HDL eine Menge Zeit verbrät und Fehler sucht. Dazu kommt immer der Knackpunkt: Wie kriege ich die Daten weg. Ethernet und DMA ist schneller entwickelt als eine puffernde Lösung mit Memorycontroller. Wenn du schnelle ADC-Sachen machen willst, fällt der ICE40 aber eher raus. Würde eher MachXO2 oder Spartan6-LX9 nehmen (den kriegt man auch schon ab 2 USD beim Chinesen). Oder gleich ein Community-Brettle mit ECP5 und yosys, wo du nicht dauernd nerviges Gehampel mit Lizenzcodes hast, die auslaufen.
Bei den Signalen handelt es sich sich um Pulsen von einem Sikion-Fotovervielfacher (SiPM), ähnlich einer Standart Fotovervielfacherröhre nur sind diese etwas kürzer. Es gibt ein fertiges Modul der Firma Amptek (DP5) Dort wird auch per FPGA gesampelt und dann an einen 8051 MCU weitergegeben. Auf dem Board ist ein grosser IC zu sehen, was stark nach eine FPGA aussieht, natürlich ist der undokumentiert. Der Analogteil ist jedoch sehr gut Dokumentiert (Schema verfügbar) und kann daher nachgebaut werden. Ich hätte jetz nach einem Paralellen ADC gesucht, da dieser ja am wenigsten "Datenstrom" produziert. Bei einem Seriellen muss die Taktfrequenz ja aum ein weites höhers ein als der ADC. Beispielsweise der AD9262 wäre für mich jetz interessant (16bit, 160MSPS)
Bei dem ADC ist es aber nix mit einmal Abtasten nach einem Trigger. Das dauert viele Takte bis aus dem ein brauchbares Ergebnis rauskommt. Da würde ich die ganze Zeit abtasten. Das parallele Interface ist gut, da kann man auch alte langsamere FPGAs anschließen und braucht keine SerDes. Der sollte klar sein, dass der ADC nur eine geringe Analogbandbreite hat. Jedenfalls nicht die halbe Abtastrate. Sonst würde ich den Ad9650 empfehlen. Aber der kostet viel und fällt unter die Exportkontrolle bei den schnelleren Modellen.
:
Bearbeitet durch User
Julian schrieb: > Ich hätte jetz nach einem Paralellen ADC gesucht, da dieser ja am > wenigsten "Datenstrom" produziert. Bei einem Seriellen muss die > Taktfrequenz ja aum ein weites höhers ein als der ADC. > > Beispielsweise der AD9262 wäre für mich jetz interessant (16bit, > 160MSPS) Damit bleibt deine riesige Auswahl, riesig. Das bekommt so ziemlich jeder FPGA ohne grosse Muehe hin. Und das Konzpt mit dem separaten STM32 ist wie Christoph schon schrieb, voellig in Ordnung. Jetzt haengt es noch davon ab was mit den ADC Daten passieren soll. Werden die RAW irgendwo ausgegeben (z.B. zum STM32 gesendet) oder musst du die sogar vorher irgendwie bearbeiten weil der STM32 nicht genug Rechenpower hat? Was waere hier die Schnittstelle zwischen FPGA und STM32?
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.