FPGA state machine SPI Problem

Gast #1555342
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
Angehängte Dateien:
Gast #1555515
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

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.