Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Vadná EEPROM u PIC?
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
forbidden



Založen: Feb 14, 2005
Příspěvky: 8972
Bydliště: Brno (JN89GF)

PříspěvekZaslal: út červen 04 2019, 17:31    Předmět: Vadná EEPROM u PIC? Citovat

Setkal se někdo s vadnou EEPROM u PICu? Dělám teď jednu kostrukci a občas mi čtení z EEPROMky vrátí hodnotu 0xFF místo té, co tam má být. Procedura čtení z EEPROM vypadá takto, úplně standardně:
kód:

unsigned char eeprom_r (unsigned char ee_adr)
{
    EEADR=ee_adr;               // adresa
    EECON1bits.EEPGD=0;         // pristup do datove pameti -> EEPROM
    EECON1bits.RD=1;            // cteni
    return EEDATA;
}


Přerušení je v tu dobu zakázaný. Zatím jsem nezkoušel, jestli se to projeví dvakrát za sebou, zatím jsem vždy vadnou hodnotou přepsal, ale vyzkouším ji nepřepisovat. PIC je starej, vyndanej z něčeho, co jsem kuchal, naprosto netuším, co má naběháno.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
monterjirka



Založen: Jun 14, 2003
Příspěvky: 2794
Bydliště: Blížejov

PříspěvekZaslal: út červen 04 2019, 18:34    Předmět: Citovat

Ještě se mi nedostal do ruky PIC s vadnou EEPROM, ale už se mi ji podařilo "zdevastovat" chybou v programu, kdy tam zapisoval a zapisoval... I když měl jen občas zapsat pokud se změnilo nastavení
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
masar



Založen: Dec 03, 2005
Příspěvky: 12389

PříspěvekZaslal: út červen 04 2019, 19:42    Předmět: Citovat

A bylo důsledkem té "devastace" občasné chybné čtení nebo trvale(stabilně) chybné čtení? Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Neniu



Založen: May 01, 2015
Příspěvky: 1151
Bydliště: Doupě kdesi v severních horách :-)

PříspěvekZaslal: út červen 04 2019, 21:28    Předmět: Citovat

Pokud se dobře pamatuji, tak u některých PICek výrobce v DS psal, že se nemá používat nultá buňka EEPROM, protože zapomíná, nebo se přepisuje. Už si to nepamatuji, je to už fakt moc dlouho. V té době kralovala 16F84 Smile

Takže se když tak zkus podívat do katalogu, jestli tam není podobná poznámka.

_________________
Jsem na cestě k šípku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
forbidden



Založen: Feb 14, 2005
Příspěvky: 8972
Bydliště: Brno (JN89GF)

PříspěvekZaslal: st červen 05 2019, 8:35    Předmět: Citovat

Nic takovýho jsem tam nenašel. Adresu 0x00 sice používám, ale zaznamenaný chyby čtení zatím nastaly na jiných (0x01 a 0x03). Všechno samozřejmě ze začátku, kde se dá čekat, že to používá každej. Stane se to tak v jednom čtení asi z padesáti, takže nijak často. Poprvé se to stalo, když byl PIC asi týden bez napájení, podruhé ale nebyl. Čtení EEPROM probíhá na začátku programu, nic jinýho v tu dobu ani neběží, nic to přerušit nemůže. Ani zatím nereaguje na vstupy. Každopádně zatím jsem přidal do programu kontrolu a při zjištění hodnoty 0xFF hodí hned chybu a zastaví běh.
V nejhorším napíšu nějakej Memtest a pustím ho na něm. Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
masar



Založen: Dec 03, 2005
Příspěvky: 12389

PříspěvekZaslal: st červen 05 2019, 8:41    Předmět: Citovat

Pořád píšeš jen o chybném čtení buňky. Skutečný stav buňky přece neurčuje její čtení. Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
forbidden



Založen: Feb 14, 2005
Příspěvky: 8972
Bydliště: Brno (JN89GF)

PříspěvekZaslal: st červen 05 2019, 8:59    Předmět: Citovat

To ne, ale zapisuju do ní jen zřídka. A shodou náhod obě chyby se projevily zrovna u hodnot, který jsem nezapisoval mezi jednotlivýma startama PICu vůbec. Vím, že zápis je celkem choulostivej, detekci chyby zápisu jsem zatím nezařadil, protože to mám snad ošetřeno správně. Opět je samozřejmě vyplý přerušení a program při zápisu na nic nereaguje.
Hodně mi pomůže, až se to zase stane, že to jen vypnu a zapnu. Jestli se to opět načte špatně, nebo správně. Na to momentálně čekám, jenže zatím marně.
Jo a adresy EEPROM mám v programu nacvakaný růčo fůčo, ani při zápisu, ani při čtení, se nedosazují pomocí nějakých proměnných, že by mohla být chyba v algoritmu jejich generování.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
masar



Založen: Dec 03, 2005
Příspěvky: 12389

PříspěvekZaslal: st červen 05 2019, 9:37    Předmět: Citovat

forbidden napsal(a):
...Každopádně zatím jsem přidal do programu kontrolu a při zjištění hodnoty 0xFF hodí hned chybu a zastaví běh.
V nejhorším napíšu nějakej Memtest a pustím ho na něm. Very Happy
No možná by stačilo tu kontrolu rozšířit o opakované čtení právě zjištěné chyby v dostatečně dlouhé časové smyčce a výsledky uložit. Mohlo by to napovědět.
Wink
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
forbidden



Založen: Feb 14, 2005
Příspěvky: 8972
Bydliště: Brno (JN89GF)

PříspěvekZaslal: st červen 05 2019, 9:53    Předmět: Citovat

To jo, zatím ale spíš ladím program samotnej, tak nějaký větší složitosti zbytečně nevytvářím. Tu detekci čtení 0xFF jsem tam dal i proto, abych právě neladil program s vadnýma datama.
Pokud se mi opravdu prokáže, že přečtu 0xFF z jedné adresy opakovaně i po restartu PICu, tak napíšu něco speciálně na testování.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: st červen 05 2019, 15:55    Předmět: Citovat

Ja s tou spolehlivosti eeprom integrovanych v MCU mam taky nevalne zkusenosti a pouzivam to dost nerad. Nejen ze se to obcas blbe nacte, ale i sem tam neco prepise. Deje se to nahodne, nepodarilo se mi vysledovat nejaky mechanismus, snad mam jen pocit ze to muze mit neco spolecneho s prechodovymi deji pri kratkych vypadcich napajeni, silnym EMC rusenim apod. Kdyz uz tohle pouzivam, radeji tam zapisuju vsechno 3x a data se daji v naproste vetsine pripadu jednoduse automaticky obnovit. Pokud jsem eeprom v MCU nahradil externimi pametmi, problemy vzdy ustaly. V posledni dobe jsem si oblibil FRAM, jsou rychle a maji velky pocet zapisu takze je mozne nekdy je pouzivat i jako nahradu za RAM.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
MiloPS3



Založen: Aug 07, 2010
Příspěvky: 262

PříspěvekZaslal: po červen 10 2019, 19:20    Předmět: Citovat

Cau, zablokovany napajeni mas ?
zapis funguje ? on totiz trva docela dlouho ...
kdyz ty data zapises tak je hned precti pro kontrolu ...
nevim vhodnost programu a zapojeni ale po precteni spatne hodnoty skusit precist programatorem ...jestly data opravdu souhlasi s tim co si precet programove
citace:
Čtení EEPROM probíhá na začátku programu
mas zaply v pojistkach POR,BOR.. ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
RayeR



Založen: Aug 02, 2009
Příspěvky: 1302
Bydliště: Praha

PříspěvekZaslal: so červenec 06 2019, 23:45    Předmět: Citovat

Pokud by to bylo ojetou EEPROM, tak by problem byl spis opacny - jednickove bity by se cetly jako nuly. Teoreticky pokud by se utnul zapis predcasne, tak by se mohla 0 zapsat nespolehlive a pak nekdy precist jako 1. Nevim jak na PICech, ale na AVR je nejaka signalizace, jestli byl zapis dokoncen nebo ta zapisovaci funkce blokuje dokud zapis neni hotov, protoze to trva nekolik ms... Zkusil bych to opakovane vycitani EEPROM programatorem jak radil kolega nade mnou, zavolat v nake davce treba 1000x precist do souboru s inkrementalnim nazvem a pak na to pustit compare a uvidis...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
forbidden



Založen: Feb 14, 2005
Příspěvky: 8972
Bydliště: Brno (JN89GF)

PříspěvekZaslal: ne červenec 07 2019, 12:23    Předmět: Citovat

Tak jsem to dlouho nezaznamenal, až včera. Nahrál jsem do PICu novou verzi a při programování cíleně zaškrtnul "preserve EEPROM data", abych je nepřepsal. A ihned po nahrátí a resetu se to stalo opakovaně třikrát za sebou. Program skončí chybou hned na začátku, když detekuje vadnou hodnotu při čtení. Nic se nezapisuje. Takže to poškodilo programování, ne nedokončenej zápis, nebo samo od sebe. V těch minulých případech to možná bylo taky tak, to už si nevybavím, jestli to bylo po nahrávání. Každopádně, když jsem EEPROM přepsal spolu s programovou pamětí, tak je to v pořádku.
Ještě jsem včera zjistil, že se mi tvořila asi zemní smyčka přes programátor, tak to možná bylo tím, ale hlavní program se nikdy špatně nenahrál a verifikace vždy prošla.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Neniu



Založen: May 01, 2015
Příspěvky: 1151
Bydliště: Doupě kdesi v severních horách :-)

PříspěvekZaslal: ne červenec 07 2019, 12:49    Předmět: Citovat

A čím programuješ?
_________________
Jsem na cestě k šípku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
RayeR



Založen: Aug 02, 2009
Příspěvky: 1302
Bydliště: Praha

PříspěvekZaslal: ne červenec 07 2019, 13:22    Předmět: Citovat

Hm, a na kolika MCU se ti to takle sere? Mas vyrobeno vice ks? Jesi na 1, tak proste zkus koupit novej PIC...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.15 sekund