[elementy] NVRAM - nieulotne statyczne pamięci RAM

Pozostałe układy mikrokontrolerów, układy peryferyjne i inne, nie mieszczące się w powyższych kategoriach.
Awatar użytkownika
tasza
Geek
Geek
Posty: 1082
Rejestracja: czwartek 12 sty 2017, 10:24
Kontaktowanie:

[elementy] NVRAM - nieulotne statyczne pamięci RAM

Postautor: tasza » niedziela 14 maja 2017, 14:42

#slowanawiatr

Wspomniane w artykule `Statyczna pamięć RAM` :arrow: viewtopic.php?f=27&t=1045&p=6997 kostki mają z zupełnie praktycznego punktu widzenia szereg zalet.
Podstawowa to taka, że zawartość pamięci bez uszczerbku na zdrowiu przetrwa twardy (sprzętowy) reset systemu, w którym pracuje.
Kostki SRAM, w odróżnieniu od pamięci dynamicznych (typu 4116, etc) nie wymagają do podtrzymania zawartości specjalnych cykli odświeżania, wystarczy im ciągłość zasilania.
Tym tropem rozumując, producenci układów SRAM zaczęli się zastanawiać, jakby tu sprawić, aby kostka pamięci statycznej przetrwała także ... totalny pad zasilania.
Owocem tych przemyśleń było powstanie pierwszych układów klasy NVRAM (Non Volatile RAM), czyli nieulotnych pamięci statycznych RAM.
Prekursorem była firma MOSTEK ze swoimi kultowymi aktualnie układami ZERPOWER RAM typu M48Z02. Funkcjonalnie są to odpowiedniki pamięci 6116, ale niosąc bateryjkę w plecaku z powodzeniem służą jako 'modyfikowalna' pamięć ROM.

00_IMG_6574.JPG
01_IMG_6580.JPG



:arrow: http://www.meditronik.com.pl/doc/b0-b9999/m48z02.pdf

Układy 48z02, które ja posiadam w swych zbiorach pochodzą z roku 85, pomimo upływu +30 lat mocno trzymają zawartość, to jest po prostu mikroelektronika w starym, dobrym wydaniu.

Z innych producentów kostek NVRAM można wskazać firmę Benchmarq (data zgonu nieznana), dostawcę układów bq4xxx

02_IMG_6575.JPG

https://media.digikey.com/pdf/Data%20Sh ... Q4011(Y,LY)_Rev_Apr_2014.pdf


Z wielkich i nadal obecnych - firma Dallas/Maxim, aktualnie po synergiach - Maxim Integrated i ich superanckie układy DS12xx, DS15xx
03_IMG_6576.JPG

07_IMG_6577.JPG

ds1220 2k
:arrow: https://datasheets.maximintegrated.com/ ... 1220AD.pdf
ds1225 8kB
:arrow: https://datasheets.maximintegrated.com/ ... 1225AD.pdf
ds1230 32k
:arrow:https://datasheets.maximintegrated.com/ ... S1230Y.pdf
ds1553 8k + RTC
:arrow: https://datasheets.maximintegrated.com/ ... S1553P.pdf

Układ DS1553 jest o tyle ciekawy, że pełniąc funkcję pamięci nieulotnej pracuje także jako zegar czasu rzeczywistego (RTC), ot, po prostu kilkanaście ostatnich na mapie komórek pamięci zawiera zmieniające się w rytm czasu wartości, które można bardzo łatwo odczytać.
Takie układy są super fajne, bo mamy zupełnie za friko zegarek na pokładzie, ale też trzeba bardzo uważać.
W przykładowo CA80 taka kostka może pracować w dowolnie niskim banku, od 0x4000 czy 0x8000, ale nie w ostatnim, systemowym 0xC000 !!!
Tam właśnie, zmienne monitora i inne żywotne dla systemu dane nakładałyby się na obszar zegarka, CA80 działałby bez zakłóceń, natomiast zegarek - co chwila dostawałby input od czapki zupełnie i odczyty czasu są wtenczas zupełnie niewiarygodne.

Aplikacja NVRAM we własnym systemiku otwiera szereg ciekawych możliwości. Oczywistą jest możliwość przechowywania tam wszelkich ustawień i innych danych, których obecności oczekuje nasz program zaraz po włączeniu zasilania, taki swego rodzaju setup.
Nic złego w tym, aby całe segmenty przestrzeni adresowej procesora przykryć pomięcia nieulotną, mamy wtenczas wielki komfort podczas pracy nad programem - można wyłączyć system w dowolnej chwili z prądu, pracowicie uruchamiany i odpluskwiany kod maszynowy czeka w NVRAM aż wrócimy do tematu z nowymi siłami. Nie trzeba posiłkować się pamięcią zewnętrzną, emulatorem ROM itp - jeden mały scalak załatwia to wszystko za nas.

W moich, do tej pory uruchomionych systemikach CA80 ja zawsze gdzieś dokładam NVRAM, taki mega użyteczny przydaś:
04_IMG_6571.JPG


Kostki NVRAM nie są jakąś wielką egzotyką, nie znaczy też, że można je kupić w byle warzywniaku.
Dobrym źródłem takich układów są stare mikroprocesorowe urządzenia automatyki przemysłowej, gdzie naturalnym było oczekiwanie, że system wstanie na nogi dokładnie w takim samym stanie, w jakim zakończył (świadomie, lub na skutek awarii) pracę.
Maxim Integrated swego czasu bardzo chętnie dzielił się samplami NV RAM, większość moich kostek pochodzi właśnie z programu rozsyłania próbek, no ale dzięki 'operatywnym inaczej', co sprzedawali takie układy na e-bay etc, sprawa została ukrócona, wielka szkoda....

Zagadnienie podtrzymania bateryjnego zawartości SRAM nie jest jakoś drakońsko skomplikowane, ale trzeba na kilka spraw zwórcić uwagę.
Poniżej przykład z MIK04 p.Gadrynika, gdzie domowym sumptem przygotowano układ do ochrony pamięci 6117.

04a-IMG_6582.JPG


Tak, to nie literówka - była sobie pamięć 2K typu 6117, która w odróżnieniu do 6116 posiadała dodatkowe wejście sterujące /CS2 i ono zostało właśnie wykorzystane do odcinania układu podczas przechodzenia na zasilanie bateryjne. Niby nic w tym wielkiego, ale proszę zauważyć, że aby sztuczka miała sens - zawartość SRAM nie ma prawa się zmienić podczas zaniku zasilania, a to oznacza że niedopuszczalna jest w takim momencie kombinacja /CS = L , /RD = H oraz /WR = L, bo to może nam `maznąć po pamięci`.
Dodatkowe /CS2 jest mega ułatwieniem, bo nie ingerując w pierwotną architekturę włączenia kostki w szyny systemu, zapewnia sprawne wprowadzanie układu pamięci w stan odcięcia i zawartość jest teoretycznie bezpieczna.

Kostki NVRAM łatwo zidentyfikować pośród innego, szarego i pospolitego plebsu po nieco pogrubionych obudowach - to właśnie ta litowa bateryjka.

05_IMG_6578.JPG


Stanowczo zalecam jednak powstrzymać atak euforii do czasu pełnej identyfikacji zdobytego układu, często bowiem można spotkać zwykłe układy RTC:
06_IMG_6581.JPG

ds1288 rtc
http://pdf.datasheetcatalog.com/datashe ... 12C887.pdf

Reasumując - gdy mamy pod ręką bateryjkowe SRAM-y - korzystajmy z tego dobrodziejstwa jak tylko się da :) póki co nic lepszego nie wymyślono.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)

Awatar użytkownika
gaweł
Geek
Geek
Posty: 1260
Rejestracja: wtorek 24 sty 2017, 22:05
Lokalizacja: Białystok

Re: [elementy] NVRAM - nieulotne statyczne pamięci RAM

Postautor: gaweł » niedziela 14 maja 2017, 22:31

tasza pisze:Stanowczo zalecam jednak powstrzymać atak euforii do czasu pełnej identyfikacji zdobytego układu, często bowiem można spotkać zwykłe układy RTC:

A już myślałem, że mam... :x
IMG_5534.JPG
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Prawdziwe słowa nie są przyjemne. Przyjemne słowa nie są prawdziwe.
Lao Tse


Wróć do „Inne mikroklocki, również peryferyjne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości