Meinung zu meinem Spartan 3 Eval Board

OP #2276284
Lesenswert?

Hallo Leute,

da mir diese ganzen Eval Boards fürn Spartan 3 alle zu teuer waren und 
zu viel Schnick-Schnack dran hatten den ich nicht brauche habe ich in 
den letzten paar Tagen nebenbei immer ein wenig an einem Spartan 3 Eval 
Board gebastelt. Drauf soll ein XC3S50 im TQFP100 Gehäuse.
Zudem ist ein FT232 drauf, um das Gerät auch mitm PC verbinden zu 
können, für Debug Kram oder sowas. JTAG ist rausgeführt und das EEPROM 
ist natürlich auch schon drauf.
Ich würde mir wünschen, wenn da mal ein Experte drüber schauen kann was 
er davon hält, im Grunde will ich nur wissen ob das funktionieren wird 
oder ob ich irgendwas wichtiges vergessen habe ;)
Angehängte Dateien:
OP #2276309
Lesenswert?

Mir ist da gerade selbst etwas aufgefallen, was die Config Pins M0-M2 
angeht. Ich will den FPGA direkt programmieren können, also direkt in 
RAM oder alternativ ins EEPROM. Ich vermute mal, dass ich das dann an 
den besagten Pins mit nem Jumper/Schalter umstellen muss was ich will 
oder? Ist es korrekt, dass ich dann M1 mit GND verbinde und M0 und M2 
mit einander verbinde und mit nem Doppel-Jumper nach GND oder Vcc 
verbinde? Und: Welches Vcc muss ich hier nehmen??? Vccio oder Vccaux?
Angehängte Dateien:
Gast #2276371
Lesenswert?

Nimm einen FT2232H, der kann als JTAG Adapter dienen. Damit kannst du 
sowohl den FPGA direkt laden als auch das ConfigFlash (wenn korrekt 
daisy chained).

Der FT2232H löst zur Zeit den CypressFX2 als Standard USB JTAG Adapter 
ab, du musst nur auf die korrekte Pinbelegung achten um mit den meisten 
Tools kompatibel zu sein.
OP #2276373
Lesenswert?

Joa habe ich auch erst überlegt, weil das Teil auch ne ganz nette 
Durchsatzrate hat wenn man ihn in FIFO sync Modus schaltet, aber mir war 
das Teil zu kompliziert und das brauch glaube ich nochmal eine oder zwei 
extra Spannungen.
Aber du meinst, dass das Teil von Impact erkannt wird? Das wäre dann ja 
echt nochmal nen Argument dafür das doch nochmal um zu bauen.
Gast #2276385
Lesenswert?

Fabian S. schrieb:
> Aber du meinst, dass das Teil von Impact erkannt wird? Das wäre dann ja
> echt nochmal nen Argument dafür das doch nochmal um zu bauen.

ich kann es nicht 100% Versprechen (da Lattice User und nicht Xilinx 
User :-) ) aber die Chancen stehen nicht schlecht. Einfach mal etwas das 
Netz durchforsten, auch wegen der Pinzuordung.
OP #2276388
Lesenswert?

Also ich habe jetzt schon 2 Forenbeiträge gefunden wo behauptet wird, 
dass Xilinx nur die eigenen Xilinx Prommer unterstützt. Von daher werde 
ich das Risiko nicht eingehen.
Ich meine vor einem halben Jahr oder so mal gelesen zu haben, dass es 
für Xilinx ISE unter Linux nen umgebogenen Treiber für das Teil gibt, 
war damals aber noch Beta Status oder schlimmer ;)
Gast #2276403
Lesenswert?

Ein Risiko gibt es IMO nicht, schlechter als mit dem alten FT232 stehst 
du ja auch nicht dar.

Wenn vielleicht auch nicht direkt von Impact unterstützt, indirekt über 
XSVF geht sicher. Es gibt definitiv XSVF Player für den FTDI2232. (Linux 
und Windows)

Ausserdem ist es IMO nur eine Frage der Zeit, Hersteller von Evalboards 
wollen immer öfter den USB JTAG Programmer gleich mit integrieren, und 
dafür ist der FT2232 ideal. Und Onboard brauchts auch keine zusätzlichen 
Spannungen.
OP #2276412
Lesenswert?

Wie jetzt es kann nicht schlechter sein als mitm FT232? Wenns nicht 
funktioniert sitz ich da mit ner Platine und kann sie nicht 
programmieren!

Mag sein, dass ich dann mit irgendwelcher Software da die Daten rauf 
bekomme, und wie stehts um Chipscope und ähnliche Dinge? Das soll ein 
Eval Board werden mit dem ich die Funktionen Testen will und nicht ein 
riesen Aufwand betreiben muss um das Teil erstmal ans laufen zu bringen.

Wenn ich sicher weiß, dass ALLE Xilinx Tools den FT2232 unterstützen 
werde ich ihn als JTAG Adapter einsetzen, sonst nicht.

Hat noch jemand ne Idee wie ich das mit den Config Pins machen muss?
OP #2276489
Lesenswert?

Joa ich hab hier auch noch einen viel älteren CPLD von Xilinx, der läuft 
aber noch, meinst du das ist beim Spartan 3 anders???
Ich hab keinen neueren FPGA genommen, weil die dann auch mindestens im 
144Pin Gehäuse sind und ich hab schon Pipi in den Augen wenn ich dran 
denke den 100er löten zu müssen!

Ich wollte eigentlich nur wissen ob das funktioniert und nicht 100 Tips 
zu anderen Sachen bekommen.
Gast #2276810
Lesenswert?

Keine Panik: alles wie oben beschrieben. Mach nen FT2232 drauf. Verwende 
den Port A für JTAG und Port B zur Kommunikation. Mit Impact erzeugst du 
dir dann ein XSVF-File. Darin enthalten sind dann die 
JTAG-Shift-Instructions um dein FPGA zu laden bzw. externe Komponenten 
zu programmieren.

Mit diesem Tool funktioniert das definitiv. (ein wenig Eigenwerbung):
http://wesche.we.ohost.de/Homepage/Version_3/index.php?section=PC_Delphi_FT2232_JTAG.html

Alternativ dazu können (glaube ich zumindest) openocd und urjtag 
ebenfalls mit xsvf-files umgehen.

Gruß Andreas
#2276838
Lesenswert?

Naja, wenn du wirklich mit ChipScope und/oder Impact direkt arbeiten 
willst, geht das nur mit den original Xilinx Programmern. Aber hast du 
denn überhaupt eine Lizenz für ChipScope? Das ist ja im Webpack nicht 
drin, oder?

Ansonsten ist der FT2232(H) schon gut, es gibt verschiedene Programme 
zum Programmieren via (X)SVF. Das von Andreas funktioniert sehr gut.

Ob nun 100 oder 144 Pins löten ist ja egal, der Abstand ist der gleiche. 
Ich würde eher auf einen Spartan 3a gehen, der braucht eine 
Versorgungsspannung weniger und kann auch SPI Flash als Boot-Medium 
benutzen.

Den Extended Spartan 3A gibts als 50 und 200 auch im VQ100 Gehäuse...

Für die 3 Mode Pins würde ich auf jeden Fall Jumper, Dip-Switch oder 
umlötbare Pullup/Pulldown Widerstände vorsehen.
Gast #2277122
Lesenswert?

> Joa ich hab hier auch noch einen viel älteren CPLD von Xilinx, der läuft
> aber noch, meinst du das ist beim Spartan 3 anders???

Die Chips laufen schon noch, aber in neueren ISE/Webpackversionen wird 
er dann halt nicht mehr unterstützt.

> Ich wollte eigentlich nur wissen ob das funktioniert und nicht 100 Tips
> zu anderen Sachen bekommen.

Ich bitte untertänigst um Entschuldigung.
#2281790
Lesenswert?

Das steht doch alles im Spartan 3 Configuration User Guide (UG331). Die 
Größe der Pull-Ups/Pull-Downs richtet sich danach, ob du den HSWAP Pin 
auf High oder Low hast, also ob während der Config die internen Pull-Ups 
aktiviert sind. Und die müssen natürlich dann an die Spannung, die an 
der entsprechenden Bank anliegt. Da sie beim alten Spartan 3 in der 
Config-Bank liegen, also an VCCAUX. Siehe UG331, Tabelle auf Seite 50. 
Die M-Pins fest zu verdrahten ist keine gute Idee, wenn das ein 
Eval-Board sein soll. Also Jumper rein und Pull-Widerstand.
#2281805
Lesenswert?

Hallo,

im Datenblatt (ds099.pdf) steht doch alles,
z.B. bezüglich Funktion auf der Seite 45 gibt es
eine Tabelle. Direkt drunter steht:
1
The Dedicated configuration
2
pins (CCLK, DONE, PROG_B, M2, M1, M0,
3
HSWAP_EN) and the JTAG pins (TDI, TMS, TCK, and
4
TDO) always have a pull-up resistor to VCCAUX during configuration,
5
regardless of the value on the HSWAP_EN pin.

Also, je nach gewünschte konfigurationsmögligkeit die M0, M1 und
M2 Pins ainfach auf GND legen. Unbeschaltete Pins liegen auf VCCAUX
über interne PULLUP-Widerstände.

In meinem fall habe ich die M0-M2 Pins ganz frei gelassen
(Slave Serial Configuration)

MfG aus Westerwald
OP #2281823
Lesenswert?

Christian R. schrieb:
> Die M-Pins fest zu verdrahten ist keine gute Idee, wenn das ein
> Eval-Board sein soll. Also Jumper rein und Pull-Widerstand.

Before and during configuration, the mode pins have a relatively strong 
internal pull-up resistor to the VCCAUX supply, regardless of the 
HSWAP_EN pin.
Also ich verstehe das so, dass die nen Pull-Up haben, unabhängig von 
HSWAP_EN. Also bräuchte ich nur Jumper nach GND. Und HSWAP_EN wollte ich 
eigentlich NC lassen, dann sind die Pull-Ups aller anderen Pins 
deaktiviert.
Gast #2284710
Lesenswert?

Als Testplatine sieht interessant aus... aber:

. Die Spannungen kannst du ganz gut mit low-drop (LM1117-xx) machen...
. Du kannst viel günstiger ein Stick von trenz-electronik bestellen 
(besonders wenn du keine Speicher oder so was baust)
. M0..M2... macht es fest zu "Master serial" und kannst du problemlos 
via JTAG programmieren (Steht auch im Datenblatt).
OP #2295787
Lesenswert?

Ich bin gerade dabei ne neue Version zu basteln mit dem FT2232H und dem 
Spartan 3A. Nun bin ich da auf ein Problem gestoßen: Und zwar muss der 
FPGA ja mit einem JTAG zu SPI Adapter programmiert werden, um das SPI 
Flash programmieren zu können. Geht das auch mit dem FT2232H??? In den 
ANs steht, dass Impact das mit dem Programmieren des FPGA übernimmt, da 
ich ja aber kein Impact verwenden kann, würde ich sagen funktioniert das 
nicht!
Also muss ich entweder das "not recommended" direct programming 
verwenden oder doch ein PROM mit JTAG von Xilinx nehmen, richtig?
Und da wird meine Wahl wohl auf das PROM von Xilinx fallen!
#2295941
Lesenswert?

Ansonsten kannst du mit dem Tool auch den Flash quasi direkt 
programmieren. Dazu gibst du dem Programm das BSDL File des Spartan und 
sagst, an welche Pins der Flash angeschlossen ist. Das Tool wackelt dann 
selbst über Boundary Scan Kommandos an den Flash-Pins. Geht aber 
sicherlich nicht so schnell wie XSVF.
Gast #2296336
Lesenswert?

Vielleicht bin ich nur blind, aber ich vermisse einen Takt für den FPGA. 
Bei 99,9% aller Anwendnungen wäre der durchaus nützlich.

Was braucht der S3 denn so an Strom auf den 1.2V? Wird da ein 
Linearegler mit 2V Spannungsabfall nicht doch etwas zu warm? Vor allem 
da ja keine grössere Fläche an seinem Pin 4 zu Wärmeableitung vorgesehen 
ist.

Eventuell wäre es auch sinnvoll per Jumper auswählbar eine externe 5V 
Einspeissung vorzusehen.

ESD Dioden am USB?
Ist eventuell nur Panikmode, aber nichts ist ärgerlicher als wenn wegen 
einer soclchen Kleinigkeit einem das Board ständig abraucht.
OP #2296346
Lesenswert?

Ohh ja, den Takt habe ich vergessen ;) Bau ich also noch ein, danke!

Was der an Strom braucht steht zumindest nicht im Datenblatt, da wird 
immer nur auf diesen dämlichen Power Estimator verwiesen, den ich nicht 
starten kann, weil er ein Excel Dokument ist und ich kein Excel besitze. 
Ein Kollege hat das mal für mich versucht, aber der hat egal was man 
eingestellt hat immer 15mW angezeigt, was ja wohl kaum sein kann.
Auf jeden Fall habe ich dann durch Zufall bei TI so eine Komplettlösung 
gefunden wo ein maximaler Strom von 100mA für Vccint angegeben ist. Der 
Regler kann etwas mehr, muss ja den FT2232H auch noch versorgen.

Das Pad kann ich wohl noch vergrößern für die bessere Wärmeabfuhr. Und 
der Linear-Regler wird von den 3,3V und nicht den 5V gespeist, also nur 
2,1V Abfall. Hoffe das passt so ;)

Das mit der externen Einspeisung ist auch ne gute Idee, werde ich noch 
einbauen.

ESD... Joa hab ich noch nie gemacht bei USB. Im Datenblatt steht fürs 
HBM, dass der bis 2kV aushält. Meinst das tut dann noch not da noch mehr 
abzusichern? Ich kann ja mal nen IC rein setzen und schauen ob ichs 
bestücke. Kannst mir da was empfehlen?
Gast #2296473
Lesenswert?

Fabian S. schrieb:
> Ohh ja, den Takt habe ich vergessen ;) Bau ich also noch ein, danke!

Freut mich geholfen zu haben :-)

>
> Was der an Strom braucht steht zumindest nicht im Datenblatt, da wird
> immer nur auf diesen dämlichen Power Estimator verwiesen, den ich nicht
> starten kann, weil er ein Excel Dokument ist und ich kein Excel besitze.
> Ein Kollege hat das mal für mich versucht, aber der hat egal was man
> eingestellt hat immer 15mW angezeigt, was ja wohl kaum sein kann.
> Auf jeden Fall habe ich dann durch Zufall bei TI so eine Komplettlösung
> gefunden wo ein maximaler Strom von 100mA für Vccint angegeben ist. Der
> Regler kann etwas mehr, muss ja den FT2232H auch noch versorgen.
>
> Das Pad kann ich wohl noch vergrößern für die bessere Wärmeabfuhr. Und
> der Linear-Regler wird von den 3,3V und nicht den 5V gespeist, also nur
> 2,1V Abfall. Hoffe das passt so ;)

Die Datenblätter von FPGA schweigen sich da gerne aus. Der 
Stromverbrauch hängt halt extrem davon ab was man da rein packt. D.h. 
von der Clockfrequenz und wieviele Signale sich bei jedem Takt ändern. 
Das sollte man aber im Powerestimator irgendwo eingeben können (Beim 
Lattice Power Estimator kann man das, auch wenn man es erst suchen und 
verstehen muss).

Vielleicht kann sich mal jemand äussern der Erfahrung zu dem Thema mit 
Spartan3A hat.


>
> Das mit der externen Einspeisung ist auch ne gute Idee, werde ich noch
> einbauen.
>
> ESD... Joa hab ich noch nie gemacht bei USB. Im Datenblatt steht fürs
> HBM, dass der bis 2kV aushält. Meinst das tut dann noch not da noch mehr
> abzusichern? Ich kann ja mal nen IC rein setzen und schauen ob ichs
> bestücke. Kannst mir da was empfehlen?


Wegen ESD z.B.
http://www.nxp.com/documents/data_sheet/IP4234CZ6.pdf
http://www.nxp.com/documents/data_sheet/IP4220CZ6.pdf

Schützt auch vor Überspannung an der Versorgung. ich habe mir gerade mal 
2 PC Motherboards angeschaut, die hatten beide sowas an den USB Ports.

HMB für ESD gilt leider nicht für den Fall wenn man 2 eingeschaltete und 
getrennt versorgte Geräte zusammensteckt.
OP #2296824
Lesenswert?

Lattice User schrieb:
> HMB für ESD gilt leider nicht für den Fall wenn man 2 eingeschaltete und
> getrennt versorgte Geräte zusammensteckt.

Joa gut dann halt MM, weiß es jetzt nicht mehr genau, meine das war auch 
bis 200 oder 400V abgesichert. Naja wie auch immer, werde den Chip wohl 
im Layout vorsehen und wenn ich ihn habe auch bestücken, nimmt ja jetzt 
nicht die Massen an Platz weg.
#2304003
Lesenswert?

ESD würde ich mal nicht überbewerten. Am USB ist es wichtig, den Schirm 
hochohmig auf Masse zu legen, also 1M und parallel dazu 10nF. Dann 
vielleicht noch eine Ferritperle in die USB 5V.
Am SPI Flash würd ich lieber die beiden Widerstände am SCLK noch dran 
machen, schau mal in den Spartan 3 Configuration User Guide beim CCLK 
rein. Man sollte den CCLK ordentlich terminieren. Wir hatten unter 
speziellen Umständen schon mal Schwierigkeiten damit.
Gast #2304216
Lesenswert?

Da der SM77H ohnehin kein Quarz sondern ein kompletter Oscillator ist, 
ist es auch nicht relevant.

Sinnvoller wäre C9 der die beiden Leitungen des Quarzes am FT2232 
überspannt auf die Platinenunterseite zu verlegen.


Du hast einige Bauteile vor allem Blockkendensatoren (z.B. C15) in einer 
kleineren Bauform verwendet als alle anderen Bauteile. Sowas sollte man 
ohne Not vermeiden. Selbst beim manuellem Bestücken stellt das 
zusätzlichen Aufwand dar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren