Hallo zusammen, ich möchte einen Spartan 3 mit einer USB-Schnittstelle versehen. Die Schnittstelle soll beim Aufstarten die Konfiguration in den FPGA einspielen und im späteren Betrieb dann als Schnittstelle zur Außenwelt dienen. Wie kann ich meine Aufgabe lösen? Ich lese hier häufiger vom FT2232, mit dem es evtl. klappen könnte, aber auch von den Problemen damit. Wenn ich es richtig verstehe, dann kann man den einen Port des FT2232 als JTAG konfigurieren und damit den FPGA programmieren und später mit dem anderen Port während des Betriebes dann Daten austauschen. Ist das so richtig? Grüße Steffen
Steffen Hausinger schrieb: > Hallo zusammen, > > ich möchte einen Spartan 3 mit einer USB-Schnittstelle versehen. Die > Schnittstelle soll beim Aufstarten die Konfiguration in den FPGA > einspielen und im späteren Betrieb dann als Schnittstelle zur Außenwelt > dienen. > > Wie kann ich meine Aufgabe lösen? Ich lese hier häufiger vom FT2232, mit > dem es evtl. klappen könnte, aber auch von den Problemen damit. Wenn ich > es richtig verstehe, dann kann man den einen Port des FT2232 als JTAG > konfigurieren und damit den FPGA programmieren und später mit dem > anderen Port während des Betriebes dann Daten austauschen. Ist das so > richtig? > > Grüße > Steffen Es ist so möglich doch nicht ganz von Pappe. Ich nutze das Programm xc3sprog zum Programmieren öfters. Das kann mit USB-Jtag mit dem FTDI-Chip einen Spartan 3 umgehen und den FPGA programmieren. Das ist die erste Teilaufgabe deiner Frage. Über die JTAG Schnittstelle kann man auch im Betrieb kommunizieren. Das habe ich selber noch nicht praktiziert. Da müsstest du dir einen Treiber selber schreiben und das JTAG Protokoll implementieren. Einfacher ist eine asynchrone Schnittstelle in VHDL zu schreiben und auf dem zweiten Kanal des FTDIs zu legen.
Einfacher wäre eventuell der Slave Serial Modus des Spartan 3, da kannst du ebenfalls die MPSSE des FT2232 benutzen und nachher dann im SPI Modus mit dem Spartan kommunizieren. Das Konfigurieren des S3 über SPI ist auch recht simpel. Muss denn der Spartan unbedingt über den USB Chip booten? Eventuell tuts auch ein SPI Flash, den du im Betriebn ebenfalls aktualisieren kannst, da die Pins frei benutzbar sind nach der Konfig. Da startet die Büchse auch ohne Host-Programm.
Danke für Eure Antworten! Ich denke, mein Vorhaben ist nicht deutlich geworden. Ich möchte zweierlei Dinge machen: (1) Den FPGA über USB konfigurieren. Hintergrund ist, dass er genau einmal konfiguriert werden soll und anschließend seine Konfiguration batteriegepuffert hält (Ausleseschutz). (2) Die Anwendung des FPGA über USB mit einem PC kommunizieren lassen. Der FT2232 hat ja zwei Kanäle. Einen würde ich mit dem MPSS als JTAG konfigurieren und damit die Konfiguration laden. Den anderen würde ich halt als parallele Schnittstelle ("FT245-kompatibel") konfigurieren und damit meine Anwendung im Betrieb kommunizieren lassen. Das xc3sprog ist offensichtlich ein Tool, mit dem man den Spartan 3 über JTAG konfigurieren kann. Stimmt das? Ich finde hier (http://www.rogerstech.co.uk/xc3sprog/) leider keinerlei Infos, sondern nur den Download. Dort sind aber offensichtlich nur die Quellcodedateien enthalten?
Danke für den Link! Auf sourceforge habe ich gestern auch geschaut, aber die Verlinkung zu xc3sprog funktionierte nicht. Klappt das denn grundsätzlich so, wie ich mir das mit dem FT2232 vorstelle?
Grundsätzlich sollte das gehen. Aber hat der Spartan 3 überhaupt su gute Stromspar-Eigenschaften, damit dein Plan mit der Batterie klappt? Vorgesehen ist das ja nicht....und sooo wenig Strom brauchen die auch nicht gerade. Ausleseschutz würde ich mit einen Spartan 3 AN machen, da ist der Flash intern.
@Steffen: Was klappt an dem Link http://sourceforge.net/projects/xc3sprog/develop nicht? @Christian: JTAG Zugriff erlaubt auch direkten Zugriff auf die IO und ist damit universeller als Slave Serial.
Uwe Bonnes schrieb: > @Christian: > JTAG Zugriff erlaubt auch direkten Zugriff auf die IO und ist damit > universeller als Slave Serial. Das ist mir vollkommen klar, ich arbeite fast täglich mit dem Boundary Scan System von Göpel hier....
Der FPGA wird in einem Gerät eingesetzt, das praktisch dauerhaft extern mit Spannung versorgt wird. Die Pufferung muss daher nur den Frachtweg überstehen. Den 3AN hatte ich mir auch angesehen (er ist prädestiniert für meine Aufgabe), aber er hat zu wenig Block RAM oder ist nur im BGA Gehäuse lieferbar. Deshalb muss ich auf den 3A mit externer Confuguration ausweichen. Im Moment baue ich aber eh noch auf meinem Starter Board rum und dort sitzt der 3E. Der Link funktioniert (inzwischen). Am Montagabend habe ich versucht, mich über "http://sourceforge.net/projects/xc3sprog/" auf "http://xc3sprog.sourceforge.net/" weiterleiten zu lassen und das hat leider nicht funktioniert. Vielen Dank für Eure hilfreichen Antworten!! Steffen
Hmm...und ein Design, was in einen kleinen S3 im TQFP passt, ist so ausgebufft und einzigartig, dass so ein Aufwand getrieben werden muss, um das Bit-File zu schützen? Was passiert, wenn doch mal der Saft alle ist? Elektronik-Schrott?
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.