mikrocontroller.net

Forum: FPGA, VHDL & Co. Problem mit JTAG und S6: Done Pin bleibt Low.


Autor: Christian H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!

Ich habe ein Custom Spartan 6 Board mit PROM. Beide werden im 
Boundary-Scan korrekt erkannt.
Leider funktioniert das Konfigurieren über JTAG bei beiden Chips nicht.
Die Logs von IMPACT befinden sich im Anhang, der Schaltplan ebenfalls. 
Auf dem Schaltplan fehlt, dass an den Spannungspin vom JTAG VCC_AUX=2,5V 
angeschlossen sind und sich am Program_B Pin ein Pull-UP (3,9k nach 
VCCO_2=3,3V) befindet.
Mich wundert, dass beide Mode-Pins als High erkannt werden. Ist der 
angeschlossene Widerstand evtl. zu groß?
Manchmal kommt beim Prom erst beim Verify ein Fehler. Der schlägt dann 
bei Position 0 fehl.
Für JTAG verwende ich ein Parallel-Kabel von Digilent. Leider habe ich 
nur das. Sonst würde ich mal ein USB-Kabel probieren.
Folgendes habe ich, teils nach Suche im Internet, schon probiert:
- "use high Z instead of bypass" in IMPACT anwählen
- drive done pin high Einstellung aktivieren bei Generate Programming 
File
- Pegel und Signalform habe ich mit mit dem Oszilloskop angesehen. Die 
sehen so weit vernünftig aus.
- Den Analogen Schalter habe ich mit einem Kabel überbrückt.

Ich habe 3 identische Platinen, zwei habe ich bisher getestet und bei 
beiden besteht das gleiche Problem. Daher denke ich nicht, dass es ein 
Problem mit einer Lötstelle ist.

Bisher hat leider nichts geholfen. Die Datenverbindung scheint aber zu 
funktionieren, da der Boundary-Scan funktioniert.
Wahrscheinlich ist etwas ganz dummes und offensichtliches aber ich komme 
nicht drauf.
Hat jemand eine Idee?

Viele Grüße,
Christian

Autor: nuess0r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine zickende konfiguration beim fpga ist schon frustrierend. sieht so 
einfach aus und doch gibs viele tücken... könnte da noch schöne 
anekdoten erzählen.

einen offensichtlichen fehler habe ich grad nicht gefunden. sieht im 
schema meines spartan3 boards ähnlich aus.

pinning von deinem jtag stecker scheint ein anderes zu sein.

Christian H. schrieb:
> Für JTAG verwende ich ein Parallel-Kabel von Digilent. Leider habe ich
> nur das. Sonst würde ich mal ein USB-Kabel probieren.

kontrolliere den aufdruck auf der JTAG stecker seite. dort sollte stehen 
bis zu welcher minimalen I/O spannung das kabel funktioniert. ältere 
digilent kabel laufen nicht mit 2.5V (dann müsstest du ein paar 
widerstände zu hilfe nehmen. xilinx hat ein app note für 3.3V JTAG.)

sieh mal nach, ob du den JTAG clock langsamer einstellen kannst. das 
sollte irgendwo im "cable setup" einstellbar sein (wenn mich meine 
erinnerung nicht täuscht)

wenn der FPGA nicht richtig konfiguriert ist, probier es ein zweites 
mal.

> - Pegel und Signalform habe ich mit mit dem Oszilloskop angesehen. Die
> sehen so weit vernünftig aus.

wie sieht es aus wenn du daten und clock GLEICHZEITIG ansiehst? brav 
steile flanken? clock nicht zu früh? pegel schön über etwa 2.2 V?

> - Den Analogen Schalter habe ich mit einem Kabel überbrückt.
sicher mal ein guter versuch die komplexität zu reduzieren.

ich habe aber ein verständnis problem mit dem schalter:
du schaltest TDO um zwischen einem externen programmer und einem 
on-board programmer. TDO ist der daten AUSGANG des proms. geht also auf 
die EINGANGE des on-board und des externen JTAG programmers. wieso muss 
man das umschalten?

was auf dem schema irgendwie auch fehlt ist die verbindung vom on-board 
programmer und TDI...

ist der EZ-USB FX2 schon bestückt? was machen seine I/Os, könnten die 
reinfunken?
(sieh dir das xilinx app note an zum thema 3.3 V JTAG falls du mit dem 
FX2 den FPGA konfigurieren möchtest. der FX2 hat 3.3 V an seinen 
ausgängen!)


hoffe du kommst damit einen schritt weiter

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

Bewertung
0 lesenswert
nicht lesenswert
Christian H. schrieb:
> Mich wundert, dass beide Mode-Pins als High erkannt werden.
> Ist der angeschlossene Widerstand evtl. zu groß?
Der UG380 sagt:
The specific configuration mode is selected by setting the appropriate level on the mode 
input pins M[1:0]. The M1 and M0 mode pins should be set at a constant DC voltage level
either through pull-up or pull-down resistors (2.4 kΩ), or tied directly to ground or 
VCCO_2. 

Weiters lesen wir:
The DONE pin is by default an open-drain output with an internal pull-up. An 
additional external pull-up is recommended. The DONE pin has a programmable 
active driver that can be enabled via the BitGen option -g DriveDone.
Du hast da eher ein paar Pull-down Widerstände drin (R100+R22).
> - drive done pin high Einstellung aktivieren bei Generate Programming
> File
Aber wenn das nichts hilft...  :-/

Autor: Christian H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Vielen Dank für Eure Tipps!

Folgendes habe ich noch an den Boards gemacht:
- Widerstände an den Mode-Pins überbrückt -> Mode wird korrekt erkannt.
- Widerstand an Done (ich meine der war es) auf 330 Ohm verkleinert.
An den Pulldown durch R100 hatte ich auch schon gedacht, aber der war es 
nicht schuld.
- Kompatiblen Nachbau des Platform-Cable gekauft. Damit hat es dann auf 
Anhieb funktioniert.


Zum On-Board-JTAG:
Ja, es sind nicht alle Komponenten gezeigt. Es gibt noch weitere 
Analogschalter, die die Signale umschalten. Außerdem muss am 
JTAG-Stecker TDI nach TDO durch einen Jumper gebrückt werden.

Das mit den 3,3V vom FX2 ist ein guter Punkt. Ich werde in die App-Note 
mal reinschauen.

Leider habe ich beim dritten Board das Problem, dass im Boundary Scan 
nur der Flash auftaucht. Ich tippe da mal auf eine schlechte 
Lötverbindung am FPGA...

Danke und viele Grüße,
Christian

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.