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


von WpMD (Gast)


Angehängte Dateien:

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!

von Jan M. (mueschel)


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?

von WpMD (Gast)


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?

von WpMD (Gast)


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.

von WpMD (Gast)


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?

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
Noch kein Account? Hier anmelden.