Flüchtiger Flash-Speicher bei DCG und DIV?

Wenn unter den anderen Hardware-Themen kein passendes dabei ist oder wenn das Thema mehrere Bereiche überspant, dann versuche es hier einmal.
Antworten
Viviatis
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 63
Registriert: 29.11.2007, 13:04
Wohnort: Berlin

Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Viviatis » 21.07.2011, 16:16

Ich habe diese Woche seit lägerer Zeit mal wieder mit dem LAB experimentiert und erschreckenderweise festgestellt, dass sowohl meine beiden DCGs, als auch mein DIV unter Amnesie zu leiden scheinen. Folgende Daten zu meinen Beobachtungen:

1. Ich habe alle Module (2 x FPGA, ADA-IO, 2 x DCG und das DIV) vor ca. einem Jahr mit der letzten Firmware geflasht und alle Module mit den LabView VIs abgeglichen.
Zum damaligen Zeitpunkt hat alles prima funktioniert.
2. Ich habe das Lab zum letzten mal im Dezember genutzt und keine Auffäligkeiten festgestellt.
3. Die DCGs haben jeweils ein DCP. Beim flashen habe ich dem Optobus abgeklemmt, das DCP blieb als Versogungsgerät dran - ist das korrekt so?

Gestern habe ich dann ein paar Experimente machen wollen und Folgendes festgestellt:
Eines der beiden DCGs liefert keine Ausgangspannung mehr. Die Anzeige und der Drehgeber auf dem PM8 scheinen allerdings zu funktionieren.
Das zweite DCG liefert zwar noch eine halbwegs korrekte Ausgangsspannung, allerdings lief der 20mA Strombereich gar nicht mehr. Der Sollstrom ließ sich im DCG-Abgleich-VI auch nicht mehr
einstellen.

Bei meinem DIV ist es irgenwie noch schlimmer: Die Werte zeigen alle "Im Himmel ist Jahrmarkt" an - sinnlos zu kommentieren.

Die DCGs scheinen nach einem neuen Flash wieder zu funktionieren, also wahrscheinlich kein Hardware-Problem. Allerdings müssen sie erst wieder neu kalibriert werden - finde leider die EEPROM-Dateien nicht mehr. Vor dem DIV habe ich jetzt schon Horror.....

Hat von Euch schon einmal jemand ähnliche Erfahrungen gemacht? Liegt es vielleicht am ISP-Adapter oder an PonyProg? Ich benutze den BlueMP3 ISP Programmieradapter...



Bin echt verzweifelt....

Gruß

Frank

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 913
Registriert: 25.01.2008, 23:34

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von psclab38 » 21.07.2011, 18:42

Hi Frank,
Viviatis hat geschrieben:3. Die DCGs haben jeweils ein DCP. Beim flashen habe ich dem Optobus abgeklemmt, das DCP blieb als Versogungsgerät dran - ist das korrekt so?
Den Optobus brauchst Du nicht abklemmen, der UART ist beim Flashen automatisch inaktiv.
Viviatis hat geschrieben:Hat von Euch schon einmal jemand ähnliche Erfahrungen gemacht?
Über diesen Effekt ist hier im Forum schon hin und wieder berichtet worden. Ich selbst hatte das Problem aber noch nie (und ich habe viel geflasht beim C-Firmware-Programmieren) ... hoffentlich fängt's jetzt nicht an 8)
Viviatis hat geschrieben: Liegt es vielleicht am ISP-Adapter oder an PonyProg? Ich benutze den BlueMP3 ISP Programmieradapter...
Den Einfach-Adapter habe ich nur ein paarmal verwendet und bin dann auf den USBprog3 umgestiegen; der hat aber inzwischen mechanisch wohl eine Macke und geht irgendwie mal und mal nicht. Seit langer Zeit verwende ich nun den AVRISPmk2, der ist schnell und absolut zuverlässig. Im Zweifel sind die 35-40€ m. E. gut angelegt.

Du hast nicht rein zufällig die Controller vor dem Neu-Flashen ausgelesen und mit den Solldaten verglichen?

Eigentlich sollte es keinen Unterschied machen, welchen Adapter man verwendet, da der Controller selbst intern das Flash-Programmiertiming bestimmt. Der Programmer ist da IMHO untergeordnet (im Gegensatz zu den guten alten EPROM-Zeiten, wo der Programmer möglichst gut auf den Chip abgestimmt sein sollte.)

Grüße
Paul

Viviatis
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 63
Registriert: 29.11.2007, 13:04
Wohnort: Berlin

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Viviatis » 21.07.2011, 23:31

Hi Paul,

ich habe beschlossen, mir seit langem mal wieder eine LAB-Nacht zu gönnen :mrgreen: ...
Wurde ja auch mal wieder Zeit, dass ich Fraufreie Bude habe!
psclab38 hat geschrieben:Über diesen Effekt ist hier im Forum schon hin und wieder berichtet worden.
... mhhh, das stimmt mich irgendwie muffig. Vielleicht hat das was mit dem ständigen Gebrauch zu tun?
Wie gesagt habe ich lange nix mehr mit dem Lab veranstaltet. Aber irgendwie kann ich das auch nicht glauben....
psclab38 hat geschrieben:Du hast nicht rein zufällig die Controller vor dem Neu-Flashen ausgelesen und mit den Solldaten verglichen?
Nein, habe ich nicht. Welche Solldaten meinst Du?
psclab38 hat geschrieben:Seit langer Zeit verwende ich nun den AVRISPmk2, der ist schnell und absolut zuverlässig. Im Zweifel sind die 35-40€ m. E. gut angelegt.
Den hatte ich mir vor 2 Jahren mal bei Segor gekauft, musste aber feststellen, dass ich einen Adapter auf die 10-polige Wanne benötige. Damals war ich zu faul mir einen zu bauen und seit dem
liegt das Ding in der Kiste. Aber nachdem ich nun auch keinen vernünftigen PC mehr mit Druckerport habe, hatte ich mich heute Abend daran gesetzt.
Der Adapter ist gerade fertig geworden - war mit einer der Gründe für die späte Stunde. Ich habe das folgende Schema verwendet:

http://www.mikrocontroller.net/articles ... rammer#ISP.

Alle Anschlüsse von oben betrachtet. Ist das korrekt? Kann an dem MKii oder dem Lab etwas kaputt gehen, wenn das nicht korrekt ist?

Naja, ich werde das nochmal irgenwie genauer prüfen müssen, bevor ich mir was neues einhandele ;-)

Gruß aus Berlin

Frank

Viviatis
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 63
Registriert: 29.11.2007, 13:04
Wohnort: Berlin

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Viviatis » 22.07.2011, 12:12

Noch ein Nachtrag für Interessierte:

Ich habe mir jetzt AVR Studio 5 aufgespielt und erst einmal erhebliche Treiberprobleme mit dem Jungo-Treiber gehabt. (Windows 7 / 64 Bit)
Nach mehreren erfolglosen Versuchen hat es schließlich irgendwie manuell geklappt.

Nach mindestens 10 Kontrollen des MKii Adapters (6 --> 10) habe ich ihn nun angeschlossen - läuft wunderbar!

Dann habe ich mein DCG mal damit ausgelesen und bin etwas irritiert:

Zum Beispiel haben BOOTSZ, BOTLEVEL und SUT_CKSEL Werte, in PonyProg waren da nur Felder für Häckchen. SPIEN war unter PonyProg gesperrt und ist in AVR Studio selektiert.
Was bedeuten hier die Fuse-Register? Im Gegensatz zu Deinem (Paul) hat mein High Register 0xCF....

Naja, Hauptsache es funktioniert erst einmal mit dem MKii - das Arbeiten damit ist um Klassen besser, als die "PonyProg --> BlueMp3-ISP-Geschichte"!

Frank
Dateianhänge
DCG_AVR_FUSES.PNG
Fusebits DCG

gewo
kann c't-Lab-Bausätze löten
kann c't-Lab-Bausätze löten
Beiträge: 26
Registriert: 01.12.2009, 22:09

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von gewo » 22.07.2011, 16:21

Moin!

Habe auch 2xDCG/DCP (1x C FW + 1x Pascal FW), ist bei mir auch schon mehrfach passiert.
Flash war jedes mal OK. Aber im EEPROM gab es immer an unterschiedlichen Stellen falsche
Einträge. Konnte also mit neu einspielen der Abgleichdaten wieder reaktiviert werden.
Mit der C FW häufiger als mit der Pascal FW, wobei die die C FW noch das Dual DAC Add-on hat.
Die FW wird es wohl kaum sein. Scheint beim Ein- oder Ausschalten zu passieren.

Gerhard

Viviatis
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 63
Registriert: 29.11.2007, 13:04
Wohnort: Berlin

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Viviatis » 22.07.2011, 18:19

... mhhh, das hört sich aber gar nicht gut an. Jedenfalls kann ich das bestätigen.
Da es sowohl die C-Firmware, als auch die Pascal-Firmware betrifft, liegt es vielleicht doch (hoffentlich!) am Programmer???
Mit welchem hast Du die Firmware eingespielt, Gerhard?

Ansonsten fällt mir kein weiterer Übeltäter für das Alzheimer-Syndrom ein... Was sagt denn der Meister (cm) dazu?
Vielleicht könnte es auch helfen, wenn man mal vergleicht, wer welchen ISP-Programmieradapter und welche Software verwendet hat?

Wie gesagt: mein DIV war genauso betroffen!
Ich habe heute auf beide DCGs und das DIV die C-Firmware gespielt - gefällt mir eindeutig besser!

Großes Lob an den Macher und die Mitwirkenden!

Frank

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 913
Registriert: 25.01.2008, 23:34

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von psclab38 » 22.07.2011, 18:59

Viviatis hat geschrieben:Ansonsten fällt mir kein weiterer Übeltäter für das Alzheimer-Syndrom ein...
Ich stelle bei den Controllern generell die BrownOut-Detection an. Das verhindert, daß der Controller womöglich falschen Code ausführt, wenn die Stromversorgung beim Ein- oder Ausschalten nicht ok ist. Aber die Fuses hast Du ja gesetzt.
Wenn der Effekt trotzdem noch auftritt, dann muß ich auch mit den Schultern zucken.
gewo hat geschrieben:Aber im EEPROM gab es immer an unterschiedlichen Stellen falsche
Einträge. Konnte also mit neu einspielen der Abgleichdaten wieder reaktiviert werden.
Dann sollte man sich besser immer die Parameter sichern...
Viviatis hat geschrieben:Ich habe heute auf beide DCGs und das DIV die C-Firmware gespielt - gefällt mir eindeutig besser!

Großes Lob an den Macher und die Mitwirkenden!
... DIE Macher, die freuen sich bestimmt! :D Wenn's Probleme oder Anregungen gibt, dann bitte hier im Forum vermelden.

Grüße
Paul

Viviatis
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 63
Registriert: 29.11.2007, 13:04
Wohnort: Berlin

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Viviatis » 20.08.2011, 11:46

Hallo zusammen,

ich habe ja vor ein paar Wochen die C-Software mit einem mkII auf die DCGs und das DIV gespielt.
Bisher habe ich keine "Alzheimer Syndrome" mehr erlebt und konnte dann endlich mal ein wenig mit meinem
LAB experimentieren. Die Steuerung über das BASIC-Modul funktioniert tadellos und auch die Einstellung mit dem
PM8 ist wesentlich praktischer mit der neuen Firmware.

Auch das DIV habe ich nun wieder neu kalibriert - zumindest im DC-Bereich.
Die AC-Kalibrierung mit dem TMRSC ist ja etwas zeitaufwändiger, das mache ich dann im Herbst.

Dank an Euch alle für die Unterstützung!

Gruß aus Berlin,

Frank

Benutzeravatar
Technetium
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 02.05.2008, 13:42
Wohnort: Hannover

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Technetium » 28.10.2011, 23:47

FUSEBLWN wegen fehlerhaftem SubChannel-Parameter

Hallo zusammen,

ich denke, mein Problem passt zum existierenden Thread.
Ein bestimmtes Fehlerbild des DCG, welches in größeren Zeitabständen bei mir wiederholt aufgetreten ist, hat mich im vergangen Monat September mal wieder genervt. Den Effekt, welcher bislang immer mal wieder bei Ein-(bzw. Aus-)schaltvorgängen auftrat, habe ich nochmal etwas genauer unter die Lupe genommen.

Nach dem Einschalten zeigt sich folgendes Fehlerbild:

- Die rote LED (Strom) leuchtet.
- Meldung in zweiter Displayzeile: FUSEBLWN (blinkend)

(Nichts geht mehr ...)

Eine Kontrolle der Schmelzsicherungen zeigte keinen Hardware-Fehler. Aus früheren Erfahrungen war mir bekannt, dass diese Hardware sich bei diesem Fehlerbild mit einem erneuten Flashen der Firmware (Pascal-FW von cm, V2.91) und einem Rückspielen der gesicherten Kalibrationsparameter "reparieren" ließ.

Diesmal bin ich etwas anders vorgegangen:

- Aktuelle Kalib-Werte mit Param-Backup-Restore ausgelesen (für Fehleranalyse).
- Alten (korrekten) Satz Kalibrationswerte zurückgeschrieben.

Ergebnis:
- Grüne LED (Spannung) leuchtet.
- Fehlermeldung im Display bleibt
- Nach Aus- und wieder Einschalten: Fehlermeldung verschwunden!
- Spannungs- und Stromwerte testweise überprüft: OK

Analyse:
- Die beiden Parameterdateien mit Compare-Tool verglichen und Unterschiede bei den SubChanneln 155,202,233 und [255] festgestellt.
- Der SubChannel 155 hat den Wert 0,0 und ist gültig (=1,0 laut Param-Backup-Restore)

Laut syntax.pdf vom 02.11.2010 bedeutet SubChannel 155:
"OPT* 5 155 Float Uref LT1019 =2,5000V oder LTC1257 = 2.048V"

Durch Setzen des SubChannel 155 auf 2,5000 mittels Param-Backup-Restore erhält man das gleiche Ergebnis wie beim Zurückschreiben der gesamten Kalib-Daten. Es sind anscheinend genau diese Bytes verantwortlich für den (reversiblen) Effekt.

Geflasht habe ich übrigens mit PonyProg und dem "MP3-Parallel-Port-Brenner". Das ist es wohl aber nicht, wenn die Sache an den Parameter-Werten liegt.

Hat jemand eine Idee, wie das passieren kann, bzw. welche Maßnahme dauerhaft Abhilfe gegen die "umgefallenen Bytes" schaffen könnte?


Grüße aus Hannover
Matthias

P.S. Hatte früher schon mal zum Thema Schutzschaltung für den ggf. vorhandenen Ringkern-Trafo gepostet, den ich allgemein im Verdacht hatte, auch für Transienten auf der 5 V-Versorgung (digitaler Teil) verantwortlich zu sein. Zwischenzeitlich hatte ich auch noch vorsorglich eine Überspannungs-Suppressor-Diode für den Controller-Teil eingebaut. Gebracht hat das in Bezug auf den Fehler oben jedoch nichts.

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 913
Registriert: 25.01.2008, 23:34

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von psclab38 » 29.10.2011, 08:29

Hi Matthias,
Technetium hat geschrieben:Hat jemand eine Idee, wie das passieren kann, bzw. welche Maßnahme dauerhaft Abhilfe gegen die "umgefallenen Bytes" schaffen könnte?
Du hast ja den Controller nicht komplett neu geladen, sondern festgestellt, daß sich "nur" EEPROM-Parameter geändert haben.

Welche Fuses hast Du bei der BrownOut-Detection (BDEN/BDLEVEL) und beim Clock-Selector (SUT_CKSEL) eingestellt? Wenn die Fehler bei Euch quasi "immer" beim Aus-/Einschalten auftreten, dann sind diese Fuses eventuell kritisch.

Grüße
Paul

Benutzeravatar
Technetium
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 14
Registriert: 02.05.2008, 13:42
Wohnort: Hannover

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von Technetium » 31.10.2011, 22:19

psclab38 hat geschrieben: Du hast ja den Controller nicht komplett neu geladen, sondern festgestellt, daß sich "nur" EEPROM-Parameter geändert haben.

Welche Fuses hast Du bei der BrownOut-Detection (BDEN/BDLEVEL) und beim Clock-Selector (SUT_CKSEL) eingestellt? Wenn die Fehler bei Euch quasi "immer" beim Aus-/Einschalten auftreten, dann sind diese Fuses eventuell kritisch.
Hallo Paul,

danke für die schnelle Antwort. (Da sieht man mal wieder wie schnell hier im Forum reagiert wird!) :lol:

Ich habe mal den "Blue-MP3-Parallel Brenner" angeworfen und die Configurations-Bits (Fuses) ausgelesen. Dabei habe ich aber vermutlich eine nicht ganz korrekte Einstellung in die PonyProg-Version 2.07c Beta gemacht: "AVRmicro" und "AVR169"(?) anstatt "ATmega32" (s. ScreenShot "Fuses ausgelesen"). Ich nehme an, dass die relevanten Bits (BOD*) trotzdem gelesen worden sind (oder nicht?).
Erstaunlicherweise ist (anscheinend) kein Fuse-Bit gesetzt!

Ich habe dann die Anleitung unter "http://www.heise.de/ct/projekte/machmit ... areFlashen" nochmal angeschaut und PonyProg auf den richtigen Controllertyp gestellt: "AVRmicro" und "ATmega32" und die Firmware neu mit dem Skript für PonyProg gebrannt (Ergebnis s. "Fuses neu geschrieben").
Es funktioniert nach dem zurückschreiben der Kalibrationdaten alles wie es soll.
So weit, so gut..

Hoffe, es bleibt auch so!

Grüße
Matthias
Dateianhänge
Configuration_Bits_curr.png
Fuses ausgelesen
Configuration_Bits_curr.png (9.45 KiB) 5015 mal betrachtet
Configuration_Bits_new.png
Fuses neu geschrieben
Configuration_Bits_new.png (9.12 KiB) 5015 mal betrachtet

psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 913
Registriert: 25.01.2008, 23:34

Re: Flüchtiger Flash-Speicher bei DCG und DIV?

Beitrag von psclab38 » 01.11.2011, 12:36

Technetium hat geschrieben:Dabei habe ich aber vermutlich eine nicht ganz korrekte Einstellung in die PonyProg-Version 2.07c Beta gemacht: "AVRmicro" und "AVR169"(?) anstatt "ATmega32" (s. ScreenShot "Fuses ausgelesen").Ich nehme an, dass die relevanten Bits (BOD*) trotzdem gelesen worden sind (oder nicht?).
Das ist ein wenig schade, weil vermutlich Ponyprog bei der falschen Controller-Einstellung auch nichts Sinnvolles ausliest. Ich mag Ponyprog schon aus dem Grunde nicht, weil die Fuse-Konfiguration so unübersichtlich ist. Und dann die verdrehte Logik! Mach' nen Haken für eine Null?! Atmel ist aber auch nicht ganz unschuldig, die haben damit angefangen und das Datenblatt genauso verdreht gestaltet.

Jetzt beobachte mal, ob der Effekt wieder auftritt. Der verbogene Wert 155 hat in der Firmware eine Schreibsperre (WEN=1!). Da kommt die Programmausführung eigentlich nicht "zufällig" vorbei. Meine Hypothese hier ist, daß wohl die Brown-Out-Detection nicht an war. Es wäre nämlich sehr bitter, wenn die Chips "einfach so" EEPROM verlieren würden...

Gruß
Paul

Antworten