Odczyt EEPROM M35080 programatorem 95080 i zmiana pinout

Pytanie

odczyt eeprom 35080 za pomocą programatora 95080 przy zmianie pinout

Odpowiedź Sztucznej Inteligencji AI Generated


Bezpośrednia odpowiedź na pytanie

Tak, M35080 można odczytać programatorem ustawionym jako 95080/M95080, ale tylko po wykonaniu adaptera zmieniającego pinout. Protokół odczytu jest zgodny z SPI, a komenda odczytu pamięci to 03h, więc do samego odczytu zwykle wystarcza poprawne podłączenie linii: CS/S, CLK/C, MOSI/D, MISO/Q, VCC, GND. M35080 ma jednak inny rozkład pinów niż typowa 95080, dlatego nie wolno wkładać jej bezpośrednio do podstawki 95080.

Najważniejsze połączenia:

M35080 pin Funkcja M35080 Pin podstawki/programatora 95080 Funkcja 95080
1 VSS / GND 4 VSS / GND
2 S / CS 1 S / CS
3 W / WP 3 W / WP
4 Q / MISO / DO 2 Q / MISO / DO
5 NC nie podłączać
6 C / CLK 6 C / CLK
7 D / MOSI / DI 5 D / MOSI / DI
8 VCC 8 VCC

Pinout M35080 według noty ST to: 1 VSS, 2 S, 3 W, 4 Q, 5 NC, 6 C, 7 D, 8 VCC; dla typowej M95080: 1 S, 2 Q, 3 W, 4 VSS, 5 D, 6 C, 7 HOLD, 8 VCC. (agelectronica.lat)


Szczegółowa analiza problemu

1. Dlaczego nie można włożyć M35080 bezpośrednio jako 95080

M35080 i 95080 są układami SPI EEPROM o pojemności 8 kbit, ale mają różny fizyczny rozkład wyprowadzeń. Dla M35080 zasilanie dodatnie jest na pinie 8, tak jak w wielu EEPROM-ach SPI, ale masa jest na pinie 1, a nie na pinie 4. W standardowej 95080 pin 4 to masa, pin 1 to CS, pin 2 to Q/MISO, pin 5 to D/MOSI. (agelectronica.lat)

Jeżeli włożysz M35080 bez adaptera do podstawki 95080:

  • pin 1 M35080, czyli GND, trafi na sygnał CS programatora,
  • pin 4 M35080, czyli Q/MISO, trafi na GND programatora,
  • pin 7 M35080, czyli D/MOSI, trafi na pin HOLD profilu 95080,
  • układ najczęściej nie odpowie, a w skrajnym przypadku można przeciążyć wyjścia programatora lub uszkodzić pamięć.

Dlatego potrzebny jest prosty adapter SO8–SO8 albo przewody typu kynar wykonane zgodnie z tabelą krosowania.

2. Poprawny pinout M35080

Widok od góry, z wycięciem/kropką przy pinie 1:

        M35080
       .----U----.
 VSS  1|         |8  VCC
 /S   2|         |7  D / MOSI
 /W   3|         |6  C / CLK
 Q    4|         |5  NC
       '---------'

3. Typowy pinout 95080/M95080 w podstawce programatora

Typowa 95080/M95080 SPI:

        95080 / M95080
       .----U----.
 /S   1|         |8  VCC
 Q    2|         |7  /HOLD
 /W   3|         |6  C / CLK
 VSS  4|         |5  D / MOSI
       '---------'

4. Adapter — połączenia praktyczne

Najprościej wykonać adapter z dwóch podstawek SO8/DIP8 albo przewodami:

M35080 pin 1  ->  95080 pin 4
M35080 pin 2  ->  95080 pin 1
M35080 pin 3  ->  95080 pin 3
M35080 pin 4  ->  95080 pin 2
M35080 pin 5  ->  NC
M35080 pin 6  ->  95080 pin 6
M35080 pin 7  ->  95080 pin 5
M35080 pin 8  ->  95080 pin 8

Pin 7 podstawki 95080, czyli /HOLD, nie ma odpowiednika w M35080 i pozostaje niepodłączony po stronie M35080.

Dla samego odczytu pin W nie jest krytyczny, ale nie powinien wisieć w powietrzu. Najlepiej:

  • połączyć pin 3 M35080 z pinem 3 programatora 95080, albo
  • podciągnąć W do VCC rezystorem np. 4,7–10 kΩ, jeśli programator nie steruje poprawnie tym pinem.

W nocie M35080 podano, że pin W pozostawiony niepodłączony jest interpretowany jako stan niski, co ma znaczenie głównie dla ochrony zapisu, ale w praktyce wejść cyfrowych nie należy zostawiać pływających. (agelectronica.lat)


Aktualne informacje i trendy

M35080 jest układem specyficznym, często spotykanym w elektronice samochodowej, zwłaszcza w zespołach wskaźników. Z punktu widzenia programatora wygląda częściowo jak zwykły SPI EEPROM, ale ma specjalny obszar inkrementacyjny. Nota ST opisuje pamięć jako 1024 × 8 bitów, zgodną z SPI, z zasilaniem 4,5–5,5 V i zegarem do 5 MHz. (agelectronica.lat)

W praktyce warsztatowej obecnie zaleca się używanie programatorów, które mają bezpośrednią obsługę rodziny M35080 / M35080V6 / 080D0WQ / 160D0WQ, szczególnie jeśli oprócz odczytu planowany jest zapis lub kasowanie obszaru inkrementacyjnego. Programator ustawiony jako 95080 zwykle wystarczy do odczytu, ale nie jest pełnym zamiennikiem obsługi M35080.


Wspierające wyjaśnienia i detale

1. Kompatybilność komend odczytu

M35080 używa komendy:

READ = 03h

czyli takiej samej jak typowe pamięci SPI EEPROM 95xxx/25xxx. Instrukcja READ jest opisana w zestawie instrukcji M35080 jako 0000 0011. (alldatasheet.com)

Sekwencja odczytu wygląda typowo:

CS = 0
wysyłasz 03h
wysyłasz adres 16-bitowy
odbierasz dane
CS = 1

Adresowanie obejmuje zakres:

0x000 – 0x3FF

czyli 1024 bajty.

2. Obszar specjalny M35080

M35080 nie jest zwykłą 95080 przy zapisie. Pierwsze 32 bajty:

0x000 – 0x01F

tworzą obszar inkrementacyjny zorganizowany jako 16 słów po 16 bitów. Według dokumentacji ST nowa wartość w tym obszarze może zostać zaakceptowana tylko wtedy, gdy jest większa od już zapisanej; zapis wartości mniejszej jest ignorowany. (agelectronica.lat)

Pozostały obszar:

0x020 – 0x3FF

zachowuje się bardziej jak standardowa pamięć EEPROM, z uwzględnieniem ustawień ochrony zapisu. (alldatasheet.com)


Aspekty etyczne i prawne

M35080 bywa używana w licznikach samochodowych. Sam odczyt pamięci do diagnostyki, naprawy lub archiwizacji wsadu jest normalną czynnością serwisową. Natomiast modyfikacja danych związanych z przebiegiem pojazdu może być nielegalna, jeżeli służy wprowadzeniu kogokolwiek w błąd. Nie udzielam instrukcji służących do cofania lub fałszowania przebiegu. Od strony technicznej można natomiast bezpiecznie omówić odczyt, wykonanie kopii zapasowej i weryfikację poprawności transmisji.


Praktyczne wskazówki

1. Zalecana procedura odczytu

  1. Najlepiej wylutuj układ z płytki.
    Odczyt w układzie może się nie udać, bo mikrokontroler licznika lub inne elementy mogą obciążać linie SPI.

  2. Ustal orientację pinu 1.
    Patrz na kropkę, wycięcie, sfazowanie obudowy albo oznaczenia na PCB.

  3. Wykonaj adapter według tabeli.
    Nie zakładaj, że „SO8 to SO8” — tutaj pinout jest inny.

  4. Ustaw programator jako 95080/M95080 SPI.

  5. Ustaw właściwe napięcie.
    Klasyczna M35080 według noty ST pracuje przy 4,5–5,5 V, więc typowo używa się 5 V. (agelectronica.lat)

  6. Odczytaj wsad co najmniej 2–3 razy.

  7. Porównaj pliki binarne.
    Jeśli każdy odczyt jest identyczny, połączenie i timing są najpewniej poprawne. Jeśli pliki się różnią, problemem jest zwykle zły pinout, niestabilny kontakt, zbyt długie przewody, zła masa albo niekompatybilny programator.

2. Długość przewodów

Dla SPI stosuj możliwie krótkie połączenia:

  • najlepiej poniżej 5–10 cm,
  • masa prowadzona blisko sygnałów,
  • unikać długich „pająków”,
  • w razie problemów zmniejszyć prędkość zegara SPI, jeśli programator na to pozwala.

3. Typowe objawy błędów

Objaw Możliwa przyczyna
Same FF FF FF... brak komunikacji, zły CS, brak GND, układ nieaktywny
Same 00 00 00... zwarcie MISO do masy, zły pinout
Inny wsad przy każdym odczycie długie przewody, słaby kontakt, zakłócenia, odczyt w układzie
Programator nie wykrywa układu brak prawidłowego zasilania lub zły profil układu
Układ się grzeje natychmiast odłączyć — możliwe błędne zasilanie lub zwarcie

Ewentualne zastrzeżenia lub uwagi dodatkowe

Trzeba uważać na oznaczenia typu:

  • M35080,
  • M35080-3,
  • M35080-6,
  • M35080V6,
  • 080D0WQ,
  • 160D0WQ.

Nie wszystkie zamienniki i wersje zachowują się identycznie przy zapisie/kasowaniu, choć do podstawowego odczytu SPI zasada jest zwykle podobna. Jeżeli programator ma w menu bezpośredni wybór M35080, lepiej użyć tego trybu niż 95080.

Istotna korekta względem jednej z podanych przykładowych odpowiedzi: pinout, w którym M35080 ma Q na pinie 1, S na pinie 2, C na pinie 3, D na pinie 4, VCC na pinie 5 i GND na pinie 8, nie odpowiada klasycznej M35080 ST z noty katalogowej. Dla M35080 ST poprawny jest układ: 1 VSS, 2 S, 3 W, 4 Q, 5 NC, 6 C, 7 D, 8 VCC. (agelectronica.lat)


Krótkie podsumowanie

Do odczytu M35080 programatorem ustawionym jako 95080 potrzebujesz tylko poprawnie przekrosować piny. Najważniejsze jest połączenie:

GND:  M35080 pin 1 -> 95080 pin 4
CS:   M35080 pin 2 -> 95080 pin 1
MISO: M35080 pin 4 -> 95080 pin 2
CLK:  M35080 pin 6 -> 95080 pin 6
MOSI: M35080 pin 7 -> 95080 pin 5
VCC:  M35080 pin 8 -> 95080 pin 8

Po odczycie wykonaj kilka kopii i porównaj binarnie. Do samego odczytu profil 95080 zwykle wystarczy, ale do pełnej obsługi M35080, zwłaszcza zapisu/kasowania obszaru inkrementacyjnego, potrzebny jest programator obsługujący M35080 bezpośrednio.

Oceń odpowiedź:
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.

Zadaj dodatkowe pytanie Sztucznej Inteligencji

Czekaj (2min)...