Forum: FPGA, VHDL & Co. FPGA state machine SPI Problem


von Steve (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Ich habe ein sehr verwirrendes Problem. Ich habe mir einen SPI 
Baustein gebaut auf Grundlage eines Quellcodes von Falk Brunner. Ich 
hatte den Code hier im Forum gefunden.

Das Problem ist das der Code funktioniert und sobald ich teilweise 
kleine Änderungen vornehmen funktioniert er nicht mehr.Obwohl die 
Änderungen meiner Meinung nach nix ausmachen dürften.

Ein Beispiel: wenn ich in der state machine "MOSI Daten Übergeben" im 
Zustand C das auskommentierte rausnehme und das Programm auf dem FPGA 
lade funktioniert das Programm einige Sekunden und dann hängt es sich 
auf.
Ist es jedoch auskommentiert funktioniert es.

Ich hatte die meisten Zustände der State Machine "MISO Daten Übergeben" 
auf den Oszi gelegt und da konnte man erkennen, dass das Programm wenn 
es hängen bleibt nicht von Zustand C in Zustand D wechselt wie es sollte 
sondern einen Zyklus gar nichts macht und dann urplötzlich sich wieder 
in Zustand A befindet.

Mir ist das absolut Rätselhaft...ich weiss langsam nicht mehr weiter. 
Vor allem ändert sich rein logisch mit der Veränderung in der state 
machine  "MOSI Daten Übergeben" gar nichts wenn ich mich nicht 
täusche......

falls jemand Ratschläge hat wäre ich sehr dankbar....vielleicht hab ich 
da auch nen großen Denkfehler drin...ich bin noch mehr oder weniger ein 
Anfänger mit fpgas

Vielen Dank

Steve

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Sehe ich das richtig:
Wenn du in Data_receive was auskommentierst, das sowieso keine 
Auswirkungen haben kann, dann hast du mit Data_send Probleme?

> ich weiss langsam nicht mehr weiter.
Wie sieht das Verhalten in der Verhaltenssimulation aus?
Ich glaube, nur damit kommst du jetzt noch weiter...

von Steve (Gast)


Lesenswert?

Ja genau Du hast recht. Es bleibt in der anderen Statemachine hängen, in 
der ich gar nix geändert hab. Allerdings tritt das Problem auch auf wenn 
ich andere Teile des Programms ändere es ist völlig sporadisch wann.

Ich hab gelesen, dass es zu sogenannten illegal states kommen kann, wenn 
mann unsynchrone Signale verwendet. Kann es sein dass ich in der state 
machine "MISO Daten Übergeben" irgendwie ein Signal verwende was nicht 
synchron ist und deswegen Ärger verursacht?

mfg

Steve

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.