eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaOrganizacja danych w EEPROMRe: Organizacja danych w EEPROM
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin2!goblin.stu.neva.ru!feeder.erje.net!us.feeder.erje.net!news.glo
    rb.com!news-out.readnews.com!transit3.readnews.com!nx02.iad01.newshosting.com!n
    ewshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.
    news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Date: Thu, 06 Jun 2013 15:29:43 +0200
    From: Zbych <a...@o...pl>
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
    MIME-Version: 1.0
    Newsgroups: pl.misc.elektronika
    Subject: Re: Organizacja danych w EEPROM
    References: <51b04d1f$0$1255$65785112@news.neostrada.pl>
    In-Reply-To: <51b04d1f$0$1255$65785112@news.neostrada.pl>
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Lines: 31
    Message-ID: <51b08ec6$0$1266$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.15.192.162
    X-Trace: 1370525382 unt-rea-a-02.news.neostrada.pl 1266 83.15.192.162:1749
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:648100
    [ ukryj nagłówki ]

    W dniu 2013-06-06 10:49, Bool pisze:
    > W pewnym urządzeniu muszę zapisywać do 512 zdarzeń do pamięci EEPROM. Z
    > tym urządzeniem będzie się komunikować drugie, które kolejno będzie te
    > dane odczytywać. Potrzebuję więc dodatkowo zapisywać dwa wskaźniki
    > zapisu i odczytu danych. EEPROM ma 1mln cykli zapisu, więc przy
    > standardowym zapisie (dane i wskaźniki zawsze pod tym samym adresem)
    > zapiszę 1mln zdarzeń. Chciałbym zwiększyć tą liczbę. EEPROMy są bardzo
    > tanie, więc wykombinowałem że dam np. taki 8kB = 256 stron * 32 bajty.
    > Dane (zdarzenia) zapisywałbym powiedzmy na 254 stronach a wskaźniki na
    > dwóch ostatnich stronach. No i pojawia się problem zapisu wskaźników.
    > Najprostsze rozwiązanie jakie przychodzi mi do głowy to na początku
    > wyzerować całą stronę przeznaczoną na wskaźnik, i w momencie
    > zapisu/odczytu zapisywać wskaźnik po kolei w pamięci, a po dojściu do
    > końca pamięci zerować całą stronę i zapisywać od początku. Żeby odczytać
    > wskaźniki, trzeba by szukać "wartownika" w postaci 0x0000 (adres 16
    > bitowy). Czas nie jest tu elementem krytycznych, ponieważ minimalny czas
    > pomiędzy wystąpieniem zdarzeń to 400ms. Czy macie jakieś inne pomysły?

    A zamiast używać wskaźników nie lepiej w danych trzymać informację, czy
    dany wpis był już odczytany? EEPROM można chyba przeprogramowywać z 1 na
    0 bez wywoływania wbudowanego mechanizmu kasowania, więc nie powinno to
    dodatkowo obciążać komórek. Żeby przyśpieszyć wyszukiwanie
    nieodczytanych wpisów wystarczy zbudować indeks/mapę (jednobitową) w
    RAMie procka po każdym starcie i pilnować, żeby był zsynchronizowany z
    danymi w trakcie pracy urządzenia.
    Dodatkowo bloki danych możesz kolejno numerować, żeby wiedzieć który
    blok jest najstarszy i w pierwszej kolejności użyć go do zapisu nowych
    danych.



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 06.06.13 15:52 Bool

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: