Hallo zusammen, ich habe folgendes Problem. Bei einem Bestandsgerät bleibt bei nicht stabieler Versorgungsspannung ein im System integrierter XP2-5 hängen. Gespeicherte Flags bleiben nicht vollständig erhalten, er spricht auf die Befehle nicht mehr an, verrechnet sich und gibt an den uC "sinnvolle" Fehlercodes ab. Also Teile von der Logik arbeiten noch und andere nicht mehr. Die eine Lösung wäre über den GSR alle Daten zurück zu setzen. Hierfür müsste der vhdl Code im FPGA geändert werden, was natürlich andere Risiken birgt. Nun habe ich im Datenblatt gelesen "At power-up, or on user command, data transferred from the on-chip Flash memory to the SRAM configuration cells that control the operation of the device." Was ist hier mit "user command" gemeint. Im Datenblatt selber tauchen die Worte in Kombination kein weiteres mal auf und in den Applikation Notes habe ich auch nichts dazu gefunden. Ich muss zugeben, dass ich mich noch nicht mit dem FPGA beschäftigt habe, sondern vom uC aus drauf schaue. Wahrscheinlich kann man über den JTAG oder die SSPI Befehle zum FPGA schicken, sogenannte "user commands". Ich weiß aber nicht, wo diese beschrieben sind. Vielleicht gelingt es mir ja so, den Baustein wieder zum Leben zu erwecken. Ein HW Reset kann ich auch nicht durchführen, dass das Design schon fertig ist und hier nichts mehr geändert werden kann. Gruß heiha
:
Bearbeitet durch User
Die SPI-Commands sind in TN1213 "LatticeXP2 Slave SPI Port User’s Guide" beschrieben. Zum erneuten Laden der Konfiguration müsste vermutlich 0xC4 "REFRESH" ausgeführt werden. Aber ob das überhaupt noch funktionert, nachdem das FPGA durch Spannungseinbrüche in einen "teilfunktionierenden" Zustand gekommen ist, ist fraglich. So etwas ist mir selbst noch nie untergekommen! Klar ist, die laufenden, internen Zustände sind natürlich weg, das FPGA konfiguriert sich neu, wie bei einem Powercycle. Über JTAG geht das natürlich auch, die Kommandos selbst sind annähernd gleich. Und falls eine JTAG-Schnittstelle auf dem Board ist, kannst Du das mit dem Diamond Programmer sogar ausprobieren, ob sich das FPGA wiederbeleben lässt.
Hallo Pat A., vielen, vielen Dank für die Schnelle Hilfe. Dann werde ich das mal so einprogrammieren. Das mit der JTAG im Fehlerfall ist auch eine gute Idee, dann kann ich im Debug Modus des uC gleich kontrollieren, ob der FPGA sich wieder fängt. Gruß heiha
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.