[8051] Odczyt NVRAM bez wylutowywania

Kącik dla elektroniki retro - układy, urządzenia, podzespoły, literatura itp.
Awatar użytkownika
photin
Posty: 16
Rejestracja: niedziela 08 paź 2023, 12:43
Lokalizacja: Klaudyn-Pruszkow
Kontaktowanie:

[8051] Odczyt NVRAM bez wylutowywania

Postautor: photin » środa 22 sty 2025, 15:17

Preludium = wiem, ze tak sie nie da na 99.9%, ale po prostu musialem sprobowac ;-)..

2025-01-08 12.54.02.jpg


Procesory 8051/MCS51 czesto pracuja w tandemie z 74HC373/74HC573 wspoldzielac szyne adresow i danych dla pierwszych 8 bitow.
8051_scheme.png

Ja to czesto bywa w urzadzeniach z lat 90-tych, parametry konfiguracyjne urzadzenia sa zapamietywane w pamieci NVRAM, wlutowanej bezposrednio w PCB. Gdy NVRAM padnie, urzadzenie jest martwe (8051 ma WatchDoga i steruje plytka PSU, wiec kompletny brak oznak zycia)

W plytce z procesorem, dekodowanie przestrzeni adresowej jest prowadzone przy pomocy 74HC139 liniowego dekodera 2->4.
Linie adresowe A13 i A14 sa doprowadzone do IP1, IP2, a wyjscie Y2 jest polaczone z wejsciem ~CE pamieci RAM/NVRAM 2kB x 8bit.
Lokuje to NVRAM w zakresie C000 - C7FF.
Linia ~OE pamieci NVRAM jest podlaczona do lini ~RD 8051.

Wylutowalem chip NVRAM, naprawiono 1 zepsuta sciezke (upewniono sie, ze A7 linia ma polaczenie z A7 linia 74HC573, a linia DA7/Q7 z linia D7 NVRAM).

Wstawilem 80C51 z wewnetrznym FLASH, w ktorym wstawilem edytor pamieci(EA do VCC, aby startowal z wewn. pamieci ROM), oraz wstawilem do plytki NVRAM 2kB x8 wypelniony bajtami FF do plytki... i probowalem odczytac zakres pamieci NVRAM.

NVRAM_FF_to_7F.png

Ku memu zdziwieniu wydaje sie, ze D7 nie jest odczytywany poprawnie i nie rozumiem dlaczego..
Pierwsze 127 bajtow gdzie D7 powinien byc 1, jest 0, natomiast zakres 128-256 D7 jest juz 1 poprawnie.

Nastepnie wypelniono NVRAM ciagiem 00, i ponownie odczytano po montazu w plytce.
NVRAM_00_to_80.png

Tak samo jak poprzednio linia D7 jest odczytywana jako 0 dla pierwszych 127 bajtow, a 1 dla 128-256.

Nie rozumiem w jaki sposob w ogole D7 moze byc zle odczytany, kiedy inne D0-D6 sa dobrze odczytane, przeciez odczyt jest sterowany w ten sam sposob chipem 74HC573?
Czy ktos ma pomysl w jaki sposob taki blad odczytu moze zachodzic?

Caly wysilek po to, zeby byc w stanie w przyszlosci odczytac NVRAM, bez wylutowywania, i zabezpieczyc jego zawartosc na wypadek gdy w koncu bateria w nim padnie, aby byc w stanie rozwiercic NVRAM i podlaczyc zewnetrzna baterie, a nastepnie zaprogramowac go ponownie.
Urzadzenie ma malo miejsca i NVRAM + podstawka juz blokuje wstawienie innej plytki, wiec trzeba bedzie "obnizyc" wysokosc NVRAM.. wiec bede musial torturowac NVRAM-y i wyciagac z nich baterie i chip SRAM i probowac zrobic jakiegos golego pajaka.. ;-).
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Zegar
User
User
Posty: 334
Rejestracja: wtorek 02 lip 2019, 14:42

Re: [8051] Odczyt NVRAM bez wylutowywania

Postautor: Zegar » środa 22 sty 2025, 17:59

Nie zmieści się jakaś mała bateria i zwykły SRAM? Lutujesz tylko podciąganie do Vcc WR i CS i zasilanie przez diodę. Baterię możesz wymienić, kiedy układ jest zasilany. Mam taki wynalazek z czasów, kiedy program wpisywało się ręcznie. ;)
NVRAM-86.jpg
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"If A = success, then the formula is A = X + Y + Z.
X is work. Y is play. Z is keep your mouth shut."
A. Einstein

Awatar użytkownika
photin
Posty: 16
Rejestracja: niedziela 08 paź 2023, 12:43
Lokalizacja: Klaudyn-Pruszkow
Kontaktowanie:

Re: [8051] Odczyt NVRAM bez wylutowywania

Postautor: photin » środa 22 sty 2025, 23:22

@Zegar Dziekuje Ci za podzielenie sie Twoim rozwiazaniem :-). Bardzo podoba mi sie takie proste i eleganckie rozwiazanie. Zamierzam je wyprobowac, na jednym z chipow SRAM!

Problem sie wyjasnil. Slabej jakosci podstawka, i cienkie nozki NVRAM, sprawily ze kilkukrotnie akurat D7 nie stykal za dobrze.
Nagle dzis w jednej z prob, odczyt z NVRAM okazal sie prawidlowy... a potem znow bledny, ... i juz nagle mnie olsnilo.. ;-).


Wróć do „Retro”

Kto jest online

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