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.

Tester do pamięci flash? Jak testować pamięci flash?

tkoras 13 Lut 2012 10:20 1746 6
  • #1 13 Lut 2012 10:20
    tkoras
    Poziom 16  

    Witam serdecznie,

    Ostatnio coraz częściej zdarza mi się wymieniać pamięci flash w urządzeniach które przychodzą na naprawy. Ponieważ nigdy tematem programowania i elektroniki cyfrowej się nie interesowałem, postanowiłem postawić pierwsze kroki.

    Tym pierwszym krokiem jest pytanie jak testować pamięci flash? Bo przyznaje że do tej pory wymieniałem ja na "czuja" na podstawie objawów, jednak czasami były to "ślepe" strzały, dla tego chciałbym w jakiś sposób testować wylutowane pamięci flash.

    Czy któryś z kolegów mógłby mi podpowiedzieć jak to mogę zrobić? Czy zbudować jakiś tester, czy może kupić jakiś programator? Jak kupować to jaki? Bo jak kupić, to chciałbym taki który będzie przyszłościowy i pozwoli mi rozwijać się w temacie. Podobno programatory Wellon są dobre, czy to prawda?

    0 6
  • #2 13 Lut 2012 10:39
    tmf
    Moderator Mikrokontrolery Projektowanie

    Krótko - praktycznie nie da się testować pamięci FLASH. Jeśli obecne w niej dane są zabezpieczone CRC (a powinny być) i ono się nie zgadza to znaczy, że któraś komórka padła i pamięć jest do wymiany. Oczywiście zaprogramujesz ją ponownie, niewykluczone, że nawet poprawnie, ale wada w niej ciągle będzie tkwiła i urządzenie ponownie trafi do serwisu.

    0
  • #3 13 Lut 2012 10:42
    tkoras
    Poziom 16  

    A jeżeli taki układ wyczyszczę i zaprogramuje go "czymkolwiek", po czym sprawdzę poprawność zapisu, to nie będzie to dobra metoda?

    0
  • Pomocny post
    #4 13 Lut 2012 12:20
    piotrva
    Moderator na urlopie...

    Niekoniecznie. Czasem "uszkodzone" są tylko niektóre bity i np. pod adresem 0x14AB będzie "upalony" bit 4 (np. stale ustawiony, niemożliwy do skasowania). I jak zapiszesz 00001111 (15) to będzie wszystko wydawało się być ok, ale jak zapiszesz np. 16 (00010000) to już odczytasz 00011000 i nie będzie działało. Dlatego pamięci po zaprogramowaniu się zawsze weryfikuje, a jeśli coś jest nie tak to się najczęściej pamięć wymienia.

    0
  • #5 13 Lut 2012 13:07
    tkoras
    Poziom 16  

    A to ciekawe co piszesz, bardzo przydatna informacja. Czyli trzeba sprawdzać z oryginalnym wsadem, wtedy jest większa "pewność" że pamięć jest dobra.

    A czy flash'e mogą mieć zabezpieczenia przez zrzuceniem zawartości (fuse bit jeżeli dobrze mi się wydaje), tak jak mają to np. Atmel'e?

    0
  • Pomocny post
    #6 13 Lut 2012 13:36
    tmf
    Moderator Mikrokontrolery Projektowanie

    Trochę to nie tak jak przedstawia piotrva. FLASH zużywa się poprzez nietrzymanie ładunku, w efekcie bity o wartości 0 stopniowo kasują się, a ich ładunek przechodzi w zakres odpowiadający wartości 1. Poszczególne stany rozróżniane są poprzez wprowadzenie pewnego zakresu niedozwolonego - musisz pamiętać, że informacja we FLASH wcale nie jest informacją binarną tylko analogową. Dopiero odpowiedni układ zamienia ją na postać binarną. Zużywanie komórki FLASH polega na tym, że stopniowo traci ona zdolność do utrzymania ładunku, ale to nie jest tak, że traci ją natychmiast. W efekcie FLASH zaprogramuje się poprawnie, ale informacja ulegnie uszkodzeniu po kilku minutach, a może kilku dniach, miesiącach, latach. Dlatego nie jesteś w stanie sprawdzić FLASH - zużycie polega właśnie na stopniowej utracie zdolności do trwałego przechowywania informacji. Stąd najlepszym rozwiązaniem jest po prostu wlutowanie nowej kości.
    Co do zabezpieczenia - nie, takich nie ma - w końcu układ zewnętrzny musi jakoś do tej informacji się dostać. Są co prawda pamięci które szyfrują dane, żeby je odzyskać trzeba do nich załadować odpowiedni klucz, ale to wielka rzadkość.

    0
  • #7 13 Lut 2012 13:46
    tkoras
    Poziom 16  

    Dziękuje bardzo za wyczerpującą odpowiedź, bo dla mnie to nowa, ważna nauka:)

    To może jeszcze podpytam o programator. Czy programator np ten:

    http://allegro.pl/programator-gp-20-polski-soft-3-lata-gw-nowosc-i2061598408.html

    Czy on może programować flash'e? Czy w ogóle to dobre rozwiązanie dla rozwijającego się serwisu? Czy może nie warto inwestować tyle pieniędzy i kupić coś tańszego? Chodzi mi o taki, którego nie będę musiał np. za rok zmieniać

    0