mikrocontroller.net

Forum: FPGA, VHDL & Co. Lattice ECP2M + SPI FLash -> Clk Probleme


Autor: WpMD (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe ein Problem mit der Anbindung des SPI Flashs an den ECP2M.
Ich möchte mein Programm in den Flash speichern, so dass der FPGA sich 
nach dem Einschalten seine Konfiguration aus diesem Flash holt.
Ich habe ein entsprechendes Flash (SST25VF) wie im Datenblatt des FPGAs 
beschrieben angeschlossen:
/CE -> CSSPI0N (mit Pull up 3,3V)
SO -> D7
/WP -> Pull up 3,3V
SI -> SISPI
SCK -> CCLK (mit Pull down GND)
/Hold -> VCC (3,3V)

FPGA Pins:
CFG0, CFG1, CFG2 -> GND
SPIFASTN -> Pull Up 3,3V

Nun besteht das Problem dass ich nicht auf den Flashbaustein zugreifen 
kann.
Ich versuche im ispVM (Version 17.6) mittels "Scan SPI Flash Device" den 
Speicher zu erkennen. Dieses funktioniert jedoch nur sehr sporadisch. 
Meistens erhalte ich die Fehlermeldung "No Flash Device detected".
Nach mehreren Versuchen erkennt er dann doch mal den Flash richtig. Es 
klappt jedoch nicht ein Programm korrekt in den Speicher zu laden.
Ich habe daraufhin mal alle Signale am Flash gemessen und mit einem 
anderen, funktionierenden System verglichen. Dabei ist mir aufgefallen 
dass bei meinem (neu entworfenen) Board die Clock zum Flash nicht 
richtig läuft. Normalerweise sollte diese in dem interen Oszillator des 
FPGAs erzeugt werden und defaultmäßig 2,5MHz Taktrate haben. Bei meinem 
Board sieht die Clk jedoch alles andere als gleichmäßig aus (siehe 
Anhang, oben Referenzsystem, unten mein System).
Außerdem ist mir aufgefallen dass bei mir die "Clk" die ganze Zeit 
anliegt, bei dem Referenzsystem erst wenn der Flash angesprochen wird.
Hat jemand eine Idee was falsch sein könnte?

Ich hoffe mir kann jemand helfen...

Vielen Dank schonmal!

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Beschaltung der genannten Pins scheint soweit in Ordnung zu sein.
Hast du die TN1162 "Hardware Checklist" durchgeschaut? Insbesondere die 
Punkte 1 und 2 in der Tabelle auf Seite 5.

Dein Scope-Bild sieht für mich so aus, als würde der interne Oszillator 
nicht laufen. Versorgungsspannungen sind alle vorhanden und stabil? Xres 
vorhanden?

Autor: WpMD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan.

Also Xres habe ich über einen 10k Widerstand gegen GND gelegt.
Habe gerade die Spannungen gemessen. Alle liegen stabil an.
Mir ist aber aufgefallen dass die Einschaltrampen Stufen haben. Kann das 
zu Problemen führen? Im Datenblatt vom FPGA steht ja dass die Spannungen 
Vccio8, Vcc und Vccaux monoton steigen sollen...
Die Spannung an Vccio8 und am Flash ist dieselbe. Laut Datenblatt muss 
eine bestimmte Versorgungssequenz nicht zwingend eingehalten werden.
Ein Kondensator am PLLCAP ist für die Clk zum Flash doch nicht nötig 
oder? Wenn ich das richtig verstanden habe wird der Kondensator nur 
benötigt wenn eine geringere Frequenz über PLL erzeugt werden soll.

Gibt es noch andere Ideen woran es liegen könnte, oder ist das Problem 
mit den Stufen in den Einschaltspannungen wohl der auslöser?

Autor: WpMD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, das habe ich vergessen zu schreiben:
Der FPGA an sich läuft. Ich habe ein Programm über JTAG in den FPGA 
geladen und dieses läuft ohne Probleme. Nur die Ansteuerung des SPI 
Flash geht nicht.

Autor: WpMD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Also mitlerweile läuft der Flash, wenn ich auch nicht so ganz weiß 
warum...
Ich habe gesehen dass vor dem Pulldown an XRES eine Welligkeit mit einer 
Amplitude von ca. 0,5V lag. Ich habe den 10k Widerstand dann einfach mal 
gegen einen 4k7 ausgetauscht und schon kann ich den Flah benutzen.
Warum ich nun die Welligkeit bei dem 10k Widerstand habe verstehe ich 
allerdings nicht so richtig...
Hat da jemand eine Erklärung zu?

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.