Forum: Mikrocontroller und Digitale Elektronik Mega8 Eeprom nach 2tem Powerup leer


von Lothar S. (magic33)


Lesenswert?

Guten Tag

Bascom Meg8 8Mhz quarz /eeprom am i2c und internes eeprom im Mega8


es klappt alles wenn die power stabil bleibt

nun soll es vorkommen das im Jahr mal der Stromausfällt
ich hatte mich schon dumm und dämlich gesucht im programm

ein TEST hat ergeben das BEI jedem Powerup das eeprom leer ist
trotz $eepromleave in dem quellcode
und preserve eeprom fuse

löscht der beim versorgen mit strom das eeprom von sich aus

bitte um hilfe
beim AT90S8515 ging das ohne probleme 2Jahre

danke

von Otto (Gast)


Lesenswert?

Fuse "Brown out detection" auf 4,5V setzen

Otto

von holger (Gast)


Lesenswert?

>löscht der beim versorgen mit strom das eeprom von sich aus

Nein, natürlich nicht. Aktiviere mal die Brown Out Fuse
und setz den Level so hoch wie möglich.

von Tim (Gast)


Lesenswert?

Hast du die Brownout-Detection per Fuses eingeschaltet und auf 4,2V 
eingestellt?

von Lothar S. (magic33)


Lesenswert?

ich hatte den preserve eingeschaltet
nun hab ich den wieder ausgeschaltet und den brown out
ein und auf 4volt

mal sehn in einer stunde wenn alle elkos leer sind was er sagt

danke erstmals

von Lothar S. (magic33)


Lesenswert?

warscheinlicher ist glaube ich das der code nicht sicher ins eeprom 
reinkommt danke für die info
+

von Otto (Gast)


Lesenswert?

> warscheinlicher ist glaube ich das der code nicht
> sicher ins eeprom reinkommt danke für die info

wie meinst Du das - entweder werden die richtigen Daten geschrieben und 
die sind dann auch "drin" oder nicht.

Otto

von Lothar S. (magic33)


Lesenswert?

nein ich meine das vom i2c eeprom der crc wert nicht der gleiche ist
ich lese momentan mit 16Mhz und so um die 400kHz i2c takt da geht schon 
mal was schief

der Proz bleibt auch hin und wieder einfach so hängen

und der watchdog löst nicht aus

der steht auf 2sec wegen dem i2c einlesen schreiben ist ok aber beim 
lesen kann der µC hängen bleiben

deswegen der watchdog

ich bastelöe mal weiter

Danke für die hilfe

von Peter D. (peda)


Lesenswert?

Lothar Sammel wrote:
> nein ich meine das vom i2c eeprom der crc wert nicht der gleiche ist

Daraus auf einen gelöschten internen EEPROM zu schließen, ist unsinnig.

- Entferne alle EEPROM-Schreibzugriffe,
- schreibe etwas per Programmer in den EEPROM,
- schalte mehrmals ein und aus,
- lese den EEPROM mit dem Programmer zurück.

Erst dann weißt Du ob wirklich was gelöscht wurde oder nicht.
Wenn aber alles stimmt, dann liegt der Fehler eindeutig in Deiner 
Software.



> der Proz bleibt auch hin und wieder einfach so hängen

Dann hast Du einen Fehler in der Software, warscheinlich wertest Du 
nicht die Returncodes (ACK/NACK) der (jeder!!!) I2C-Funktionen aus.


> und der watchdog löst nicht aus

Hängt davon ab, wie Du ihn triggerst.
Enablest Du ihn überhaupt richtig?

Während der Entwicklung ist es generell besser, den Watchdog immer aus 
zu lassen.
Man will ja seine Fehler finden und nicht verstecken.


> der steht auf 2sec wegen dem i2c einlesen schreiben ist ok aber beim
> lesen kann der µC hängen bleiben

Warum sollte er das?
Such einfach mal Deinen Fehler, dann hängt auch nichts mehr.


Peter

von Gast (Gast)


Lesenswert?

>ich lese momentan mit 16Mhz und so um die 400kHz i2c takt da geht schon
>mal was schief

Wenn Du das als 'normal' empfindest, kann man schlecht helfen.
Welche EEPROM Daten kippen denn angeblich um? Die des internen EEPROMs 
oder die im IIC-EEPROM?

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.