Kłopotów z pamięcią ciąg dalszy.

  Tym razem problem jest tylko sprzętowy. 😉 Wcześniej opracowałem programator EEPROM-ów w oparciu o notę katalogową KM28C64A, bo takie kości miałem. Kiedy ich zabrakło, kupiłem AT28C64B. Okazało się, że różnią się jedynie czasem zapisu, więc wystarczyła mała modyfikacja programu.

CA80-MINI
Zmontowana najnowsza wersja CA80-mini.


Ostatnio kupiłem większą partię AT28C64 i okazało się, że mój programator nie działa. Sprawdziłem kilka egzemplarzy i w każdym zapisane były te same bajty poprawnie, a pozostałe miały wartości losowe, więc podejrzenie padło na metodę zapisu. Znowu odnalazłem notę i znalazłem różnicę... Jest to prawdopodobnie wczesne stadium rozwoju tych pamięci. Nie mają ani zapisu całych sektorów (64 bajty), ani SDP (software data protection)... Za to bardzo krótki czas zapisu (200us - 1ms). Napisałem nową procedurę programowania i jest sukces, jednak są pułapki, na które trzeba uważać. Dosłownie:


"

;.COMMENT%

;Jesli pulapek nie bylo to powyzsza petla spo-

;woduje niszkodliwe, dwukrotne wpisanie informa-

;cji do komorki pam. o adr. 0000H. W CA80 jest

;to obszar pamieci stalej - EPROM.

;%

" (Fragment MIK08)


Niestety jest to szkodliwe... Każdy zapis EEPROM-u powoduje jego odcięcie od magistrali danych na kilkaset mikrosekund. Nawet dla Z80 taktowanego CLK = 4MHz to kawał czasu. Procesor zamiast kodów kolejnych rozkazów odczytuje śmieci, co powoduje nieprzewidziane zachowanie komputera. Również zapis zleceniem *D zakończy się w nieprzewidzianym miejscu. To znaczy zapiszemy to co chcemy tam gdzie chcemy, ale jeżeli piszemy w tym samym czipie, w którym jest aktualnie wykonywany program, następny rozkaz będzie przypadkowy (być może RST 38H).

Fragment płytki CA80-mini
Tylko jedno cięcie...


Jest na to rada - wystarczy sygnał WR przy U9 odciąć od magistrali procesora i podciągnąć do +5V. (W najnowszej wersji CA80-mini punkt H połączyć z C zamiast z F.) Stracimy wtedy możliwość modyfikacji pamięci, ale zabezpieczymy program przed przypadkowym skasowaniem. 😎 Ścieżki między punktami H-F, B-E oraz A-D są na spodniej stronie płytki i zastępują zworki. Kiedy je przetniemy, możemy wlutować goldpiny i łączyć je zworkami zamiast przewodów z wcześniejszych wersji.


Komentarze

Popularne posty z tego bloga

Uruchamiamy CA80 na RCbus.

Magnetofon CA80.