mikrocontroller.net

Forum: FPGA, VHDL & Co. Spartan 3AN: Ärger beim Download


Autor: Philipp H. (swissrookie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich nehme gerade ein kleines FPGA-Bord in Betrieb und bin auf komische 
Probleme gestossen...

Situation:
- FPGA = Spartan 3AN (XC3S50AN)
- Programmer = Parallel -> funktioniert mit anderen Boards die ich 
verwende problemlos
- Boundary Scan findet das Device
- Erase funktioniert
- Blank Check funktioniert
- Get Device ID funktioniert

Ziel:
BIT-File in den internen Flash Speicher laden

"Programm FPGA only" funktioniert. Bei "Program Flash and Load FPGA..." 
bricht er mir bei 61% nach dem Downloaden und dem Verifizieren mit dem 
Kommentar "Done did nit go high" ab.
Mode M[2..0] ist gesetzt auf [0,1,1], also internal Master SPI.


Ich weiss nicht wo weitersuchen... any ideas?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal in den Optionen von "Generate Programming File" (Rechtsklick)
mit dem Häckchen bei "Drive DONE pin high" herumprobiert?

Autor: Philipp H. (swissrookie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, leider ohne Erfolg.


In der Konsole hab ich noch gesehen, dass das Status Register scheinbar 
falsch ausgelesen wird...

'1': Reading status register contents...
CRC error                                         :         0
IDCODE not validated while writing FDRI           :         0
DCM Locked                                        :         1
status of GTS_CFG_B                               :         1
status of GWE                                     :         1
status of GHIGH                                   :         1
value of VSEL pin 0                               :         1
value of VSEL pin 1                               :         1
value of VSEL pin 2                               :         1
value of MODE pin M0                              :         1
value of MODE pin M1                              :         1
value of MODE pin M2                              :         1
value of CFG_RDY (INIT_B)                         :         1
DONEIN input from Done Pin                        :         1
POST_CRC_ERR error                                :         0
SYNC word not found                               :         0


M2 liegt mit einem PullDown an GND, kann ich am Pin auch messen

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> - Programmer = Parallel -> funktioniert mit anderen Boards
Na gut, ich hatte vor etwa 3 Wochen auch den Fall, dass so ein 
Einfach-Programmer nicht richtig getan hat (überall sonstwo funktioniert 
der aber).
Das Verkürzen der Programmierleitungen vom Programmer zum FPGA (<10cm) 
brachte Verbesserung, der Wechsel auf kommerzielle Programmierkabel 
(eines von AVNET (= ParallelCable 3), ein zweites von Digilent (=USB 
Cable)) brachte Abhilfe.

Autor: Philipp H. (swissrookie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende das IJC-2 von Memec. Bis zum Board habe ich die bunten, 
losen Kabel: 15cm lang.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die mode Pins checken - gfs musst Du am Jumper mal etwas verstellen.

Autor: Philipp H. (swissrookie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Mode Pins hab ich fix auf [0,1,1] (internal Master SPI) gesetzt, 
messe ich auch an den Pins.


Ich verstehe nur nicht wieso ich das FPGA beschreiben kann, obwohl beim 
auslesen des Status Registers nur Blödsinn rauskommt...

Autor: Philipp H. (swissrookie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, ich bin hier noch die Auflösung schuldig, schliesslich hab ich schon 
ein paar mal von diesem Forum profitiert:

Zuerst hab ich den alten Parallelprogrammer in Rente geschickt und mir 
den USB Programmer von Digilent geholt (kann ich an dieser Stelle 
übrigens empfehlen). Hat aber nichts gebracht ausser das ich schneller 
sah das der Download nicht geklappt hat.

Mit dem Oszzi entdeckte ich dann, dass von einem angeschlossenen 
Baustein die INIT_B Leitung während des Programmiervorganges auf GND 
gehalten wurde.
Seit dem ich das korrigiert habe, läuft alles prima.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.