Hallo erstmal! Ich bin beim erstellen eines recht universellen Entwicklungsboards zu Ausbildungszwecken. Bislang enthält es einen AT91SAM7X mit USB, Ethernet, CAN und RS485 Schnittstellen sowie einigen Kleinteilen. Ich möchte das Teil nun um einen möglichst einsteigerfreundlichen FPGA erweitern. Er sollte also recht weit verbreitet sein und sich mit freien Werkzeugen programmieren lassen. Geschwindigkeit ist nicht wichtig, es geht eher ums Prinzip. Hat jemand einen Vorschlag was ich für eine möglichst universelle FPGA Testumgebung alles aufs Board packen muss?
> Ich bin beim erstellen eines recht universellen Entwicklungsboards Soll das die berühmte eierlegende Wollmilchsau werden? Da muss man sich gut überlegen ob das Sinn macht. FPGA-Boards bekommt man schon für ~60 Euro. Zu Ausbildungszwecken OK, aber da würde ich erst mal konkrete Projekte definieren und danach die Hardware auswählen. > Ich möchte das Teil nun um einen möglichst einsteigerfreundlichen FPGA erweitern. Die sind alle gleich einsteigerfreundlich, ist eigentlich nur Geschmacksache. Wie wär's mit einem Spartan 3 (E) im einfachsten Gehäuse?
-Hersteller Xilinx oder altera, ich würde Xilinx bevorzugen, -Lowcost Serie da weit verbreitet -> Xilinx Spartan -Falls du TTL5 ansteuern musst Spartan2 sind aber schon etwas alt, besser Spartan3 -zum messen (Scope an FPGA pin) sind Nicht BGA gehäuse geeignet, sonst Pfostenleiste -keine Spartan3E da nur 4 IO-Bänke und Ärger mit Clock routing -5 IO-Bänke mit 3V3 versorgen, der Rest mit 2,5V, Lötbrücken vorsehen um die IO-Spannung ändern zu können, -zwei Oszillatoren vorsehen, einer 40 MHZ der andere wie der AT, diese an die Clk-Eingänge des FPGA legen (GCLK) -FPGA mit viel internen SRAM -JTAG kette mit PROM -7Segment anzeige Gut ist das spartan3 Starterkit von Xilinx, schaltpläne sind offen: http://www.xilinx.com/bvdocs/userguides/ug130.pdf
chipschmied wrote:
> -keine Spartan3E da nur 4 IO-Bänke und Ärger mit Clock routing
Kannst du das ein bisschen genauer ausführen?
Am liebsten wäre mir eine single Chip Lösung (ok, um einen Flashspeicher werde ich nicht rumkommen...) mit 3,3V Single Supply und möglichst wenig Pins in einem Nicht-BGA Gehäuse. Es handelt sich bei der Anwendung wie gesagt um ein Board zum testen und experimentieren, welches in Kleinserie (20 Stück) gefertigt werden wird. Wenn alle Teile bei Reichelt erhältlich wären, würde mich das freuen. Als Applikationen habe ich an die Ansteuerung eines VGA Displays und das einlesen von 2 ADCs incl. Signalfilterung und Mittelwertbildung gedacht.
Config-Flash muss nicht unbedingt sein, das kann auch der Controller übernehmen, bzw. beim Entwickeln kann man über JTAG direkt das FPGA konfigurieren. Schau dir mal die Spartan 3(E)-Serien auf xilinx.com an. Nimm am besten ein Package in dem es mehrere pinkompatible FPGAs gibt, dann bist du flexibler und musst dich nicht beim Layout auf einen Chip festlegen. Mit VQ100 deckst du z.B. 3S50 bis 3S200 ab.
VQ100 scheint mir ein wirklich guter Kompromiss zu sein. Danke! Werde ich voraussichtlich einsetzen, und zwar mit dem S200. Gibts auch bei Reichelt. Leider finde ich dort aber kein auf den ersten Blick geeigneten Speicher. Ich bin beim überlegen, ob es sinnvoll wäre, die Konfiguratonseinstellungen vom ARM von der sowieso vorhandenen SD-Karte laden und sie dem FPGA weiterschieben zu lassen. Wie aufwändig ist das? In welcher Form / Interface (SPI?) erwartet der FPGA seine Einstellungen? Müssen Timings eingehalten werden? Bleibt noch die Frage nach den RAM: Ich habe eine Menge SDRAM-66 von alten Mainboards ausgelötet herumliegen. Sind diese verwendbar? Wäre in sehr günstiger, großer und schneller Speicher.
<chipschmied wrote: <> -keine Spartan3E da nur 4 IO-Bänke und Ärger mit Clock routing <Kannst du das ein bisschen genauer ausführen? Na Klar: IO-Bänke: Für den Ausgangspegel der FPGA-Pins ist die High Spannung an das entsprechende IO-Spgs pin zu legen. Brauchst du 3V3 Pegel also 3V3, für 2V5 (z.b für DDR2-RAM) also 2V5. Dieser High Pegel ist nicht für jedes Pin individuell einstellbar sondern nur für eine Bank. Eine IO-Bank ist eine gruppe von FPGA-Pins. Beim Spartan3 hast du 8 davon, beim 3E nur 4. Beim Spartan3 ist also die Anzahl der Pins pro Ausgangspegel feiner einstellbar. Clock Routing: Beim Spartan3 kanns du alle Clockbuffer (8) an alle Takteingänge (FF,BRAM) führen, beim 3E nicht. Bei diesem können einige BUFG alle Takteingänge treiben, die anderen dagegen u. U. nur ein Viertel des FPGA's. Falls da versehentlich der falsche BUFG benutzt, wird istdie Überraschung groß. das Problem vermeidet man bei alleiniger Nutzung der 8 primären BUFG des spartan3E und Handplatzierung derselben. Genaueres im Datenblatt.
Die XP-Reihe von Lattice kommt mit einer Spannung aus und hat das Boot Flash integriert. Da musst nur 3,3V und nen Oszillator anschliessen. Ggf die PLL-Versorgung über Ferrite oder Sternpunkt entkoppeln. http://www.latticesemi.com/products/fpga/xp/index.cfm?source=topnav&jsessionid=ba3058f94db00$3Fx$3Fh
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.