Rodzaje zabezpieczenia przed zapisem i programowanie · Transceivery i formaty obudowy · Transceivery optyczne i kable · Dokumentacja · CodingBox
CodingBox Dokumentacja

Rodzaje zabezpieczenia przed zapisem i programowanie

Format obudowy mówi, gdzie znajdują się pola modułu. Druga, niezależna oś decyduje o tym, czy można je zmienić: jak moduł chroni swoją pamięć przed zapisem. Producenci stosują pięć podejść, a każde wymaga innej metody programowania. Rozpoznanie typu jako pierwszy krok oszczędza godziny nieudanych prób zapisu.

Pięć rodzajów zabezpieczenia

#TypJak rozpoznaćJak zaprogramować
1Bez zabezpieczeniaPrzyjmuje zapisy natychmiastBezpośredni zapis — ale przy wolnym zegarze
2Sprzętowy pin zabezpieczenia przed zapisemTylko do odczytu, cokolwiek zrobisz; hasło nie pomagaSterowanie linią WP podczas zapisu
3Hasło (kontroler firmware)WRITE FAIL, dopóki nie zostanie podane hasłoNajpierw wprowadź hasło pod 0x7B
4Pamięć tymczasowa + polecenie zapisuZapisy „się udają”, ale cofają się po cyklu zasilaniaWyślij sekwencję zapisu producenta
5KombinowaneWymaga sekwencji I/O specyficznej dla producenta, aby odblokowaćAlgorytm programowania producenta (skrypty)

1. Bez zabezpieczenia

EEPROM nie ma żadnego ograniczenia zapisu. Praktycznym haczykiem jest taktowanie: niezawodne programowanie zwykle wymaga zegara dwuprzewodowego rzędu 1 kHz — około dziesięciokrotnie wolniejszego niż normalna szybkość odczytu. Przy standardowej szybkości zapisy zawodzą sporadycznie i pozostawiają częściowo zapisane strony. Powiązany sygnał ostrzegawczy: w niektórych prostych modułach tylko A0h odczytuje się czysto, podczas gdy A2h zwraca błędy.

2. Sprzętowy pin zabezpieczenia przed zapisem

Pin WP układu EEPROM jest podciągnięty do zasilania przez rezystor, więc układ uruchamia się zablokowany. Odblokowanie oznacza ściągnięcie linii WP w stronę masy przez ścieżkę o niższej impedancji, podczas gdy trwa zapis — coś, co potrafi zrobić tylko płytka programatora mająca kontrolę nad tą linią. Samo oprogramowanie nie jest w stanie ominąć tego typu: moduł pozostaje tylko do odczytu mimo cykli zasilania i prób podania hasła.

3. Zabezpieczone hasłem (kontroler firmware)

Zgodnie z SFF-8472 blok A2h rezerwuje 7-bajtowy obszar hasła zaczynający się od offsetu 0x7B; większość modułów używa hasła 4-bajtowego. Kontroler w module porównuje to, co tam zapisano, z zapamiętaną wartością i dopiero wtedy odblokowuje zapisy do EEPROM. Bez hasła każdy zapis zwraca WRITE FAIL.

  • Wprowadź poprawne hasło, a potem zapisuj.
  • Jeśli jest nieznane: przeszukanie słownika znanych haseł producentów (typowe wartości w Przekodowanie EEPROM) albo kontakt z producentem.
  • Te kontrolery są wrażliwe na szybkość zegara i przerwy między blokami — to kolejny powód, aby programować powoli.

4. Pamięć tymczasowa z poleceniem zapisu

Zapisy trafiają do pamięci ulotnej. Wszystko wygląda dobrze — dopóki moduł nie przejdzie cyklu zasilania i nie wróci stary kod. Firmware producenta wymaga jawnego polecenia zapisu (zastrzeżonej sekwencji bajtów), aby zatwierdzić tymczasowy obraz w pamięci trwałej. Żaden standard tego nie definiuje; sekwencja każdego producenta jest inna i jest ujmowana jako skrypt.

5. Zabezpieczenie kombinowane

Najnowsze moduły łączą kilka mechanizmów: sprzętowy WP i hasło i polecenie zapisu i warunki wstępne działania — na przykład moduł musi zostać przełączony w tryb niskiego poboru mocy, zanim przyjmie zapisy. To typowe dla modułów na nowszych rewizjach SFF-8472, które udostępniają 256+ stron powyżej offsetu 0x80 w A2h, oraz dla modułów CMIS. Programowanie wymaga algorytmu producenta, zwykle udostępnianego klientom kupującym hurtowo.

Jak rozpoznać typ

  1. Spróbuj zwykłego odczytu: czy A2h odczytuje się czysto? (Typ 1 często tu zawodzi.)
  2. Spróbuj zapisu pojedynczego bajtu w niezabezpieczonym polu. Natychmiastowy sukces → typ 1. WRITE FAIL → typ 3 (albo 5). Cichy sukces, który cofa się po cyklu zasilania → typ 4.
  3. Wprowadź znane hasła. Wciąż tylko do odczytu → typ 2 (sprzętowy) albo typ 5 (kombinowany).
  4. Sprawdź format obudowy i rewizję specyfikacji — moduły CMIS oraz moduły SFF-8472 w późniejszych rewizjach to zwykle typ 5.

W CodingBox

  • Ustawienia hasła — adres tabeli, adres hasła (0x7B) i wartość ustawia się w Pamięć zabezpieczona przed zapisem i hasła; znane hasła są stosowane automatycznie z bazy danych.
  • Skrypty — skrypty programujące CodingBox zawierają sekwencje zapisu producenta i algorytmy odblokowania dla typów 4 i 5.
  • Zapis bajt po bajcie i wolne taktowanie dla modułów, które zawodzą przy standardowej szybkości.
  • Sprzętowy WP jest obsługiwany przez płytkę programatora, nie przez oprogramowanie.
  • Każdy odczyt jest zapisywany w code database przed zapisem, więc nieudaną próbę zawsze można cofnąć.

Objawy na stanowisku — WRITE FAIL, zapis, który się cofa, odrzucone hasło — i co zrobić w każdym przypadku: Błędy odczytu i zapisu EEPROM.

Dlaczego te typy istnieją — osobna EEPROM kontra mapa emulowana przez MCU, polecenia zapisu, kopie lustrzane firmware i sygnatury, tak jak je implementuje firmware: Kontroler i firmware.


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .