Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bascom + Atmega - Pamięć ERAM - odczyty a trwałość

sundayman 21 Maj 2013 18:18 1155 4
  • #1 21 Maj 2013 18:18
    sundayman
    Poziom 24  

    Mam w programie pewne ważne zmienne trzymane w ERAM (ustawiane są one jednorazowo można powiedzieć).

    Do tej pory robiłem tak, że po restarcie programu przepisuję sobie wartości z ERAM do normalnych zmiennych. Wiem, że ilość zapisów do tej pamięci jest ograniczona, no i oczywiście odpowiednio wolniejszy jest ten zapis.

    Ale jak jest z odczytem ? Bo sporadycznie zdarzyło się, że zmienna przepisana z ERAM do zwykłej pamięci się "wykrzaczyła", i wolałbym jakoś cyklicznie odczytywać te dane z ERAM . Jednak zastanawiam się, czy to nie wypływa niekorzystnie na trwałość tej pamięci ?

    Ponadto - czy odczyt z ERAM jest również wolniejszy niż z RAM ?

    0 4
  • Pomocny post
    #2 21 Maj 2013 19:17
    piotrva
    Moderator na urlopie...

    1. Odczyt z EEPROM jest nieco wolniejszy niż z SRAM.
    2. Ogólnie podczas odczytu wartość nie powinna się zmieniać, ale znany jest ogólny problem z pamięciami EEPROM, mianowicie czasem (np. poprzez zakłócenia w zasilaniu podczas startu a ze źle ustawionym BOD, czy inne tego typu sprawy "niecyfrowe") wartość może się zmieniać.
    3. Sposób jest na to prosty - daną wartość (np. nastawę jakiegoś parametru) zapisujemy nieparzystą ilość razy - np. 5 razy - i potem podczas odczytu robisz taki myk, że odczytujesz te 5 komórek i jeśli wartość nie jest taka sama we wszystkich to zapisujesz do wszystkich wartość najczęściej się powtarzającą. Po tym zwracamy tę wartość i wtedy prawdopodobieństwo permanentnej utraty parametru jest zredukowane do minimum.

    0
  • #3 21 Maj 2013 19:30
    sundayman
    Poziom 24  

    No właśnie planuję wykonać podobne zabezpieczenie, chociaż nieco prostsze.
    W układzie mam dodatkową pamięć EEPROM na I2C, zapiszę dane i w EERAM procesora i w EEPROM, następnie przy odczycie będę porównywał.

    Jeśli dane będą inne, to po prostu urządzenie wystawi błąd - najważniejsze jest, żeby nie wykonać programu z błędnymi danymi.

    Główne pytanie jednak było - czy taki cykliczny, stały odczyt z EERAM jest dopuszczalny (tj. czy nie niesie za sobą podobnych skutków jak cykliczne zapisywanie - czyli zużycie tej pamięci).

    0
  • Pomocny post
    #4 21 Maj 2013 20:19
    Jacek Rutkowski
    Poziom 23  

    Witam,
    ilość odczytów nie ma znaczenia, mam układ gdzie 8 komórek 24C02 jest odczytywane cyklicznie co kilka milisekund w termometrze od ponad 7 lat i jeszcze nic się nie zmieniło.
    Nigdy nie spotkałem się z informacją o ilości cykli odczytu a jedynie zapisu do EEprom.

    0
  • #5 21 Maj 2013 20:21
    sundayman
    Poziom 24  

    A, no właśnie o to mi chodziło. Też się nie spotkałem z informacją o tym, ale wolę zapytać, niż potem jechać do klienta i wymieniać :)

    Dzięki serdeczne !

    0