#slowanawiatr
Wspomniane w artykule `Statyczna pamięć RAM` 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.
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
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
ds1220 2k
https://datasheets.maximintegrated.com/ ... 1220AD.pdf
ds1225 8kB
https://datasheets.maximintegrated.com/ ... 1225AD.pdf
ds1230 32k
https://datasheets.maximintegrated.com/ ... S1230Y.pdf
ds1553 8k + RTC
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ś:
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.
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.
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:
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.
[elementy] NVRAM - nieulotne statyczne pamięci RAM
[elementy] NVRAM - nieulotne statyczne pamięci RAM
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
______________________________________________ ____ ___ __ _ _ _ _
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Kończysz tworzyć dopiero, gdy umierasz. (Marina Abramović)
Re: [elementy] NVRAM - nieulotne statyczne pamięci RAM
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...
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