REVELTRONICS company will be closed from 7th Sept to 30th Sept. Support will be very limited during this time. More details.

Odczyt zabezpieczonego DS2431

Pytania techniczne oraz porady dotyczące programowania pamięci oraz funkcjonalności programatora.
Post Reply
Marcin
Posts: 4
Joined: Sun Feb 24, 2019 10:02 pm

Odczyt zabezpieczonego DS2431

Post by Marcin »

Cześć wszystkim,
na wstępie napiszę, że są to moje pierwsze kroki z programowaniem dlatego będę wdzięczny za wyrozumiałość.
Zakupiłem programator celem skopiowania zawartości DS2431, niby zawartość odczytałem, ale po wgraniu na inny układ nie działa, zacząłem drążyć temat i z tego co widzę układ jest zabezpieczony przed kopiowaniem0084h1)R/(W)Copy Protection Byte55h or AAh: Copy Protect 0080:008Fh, andany write-protected Pages(wycinek wsadu na zdjęciu), moje pytanie brzmi czy ktoś ma jakieś rozwiązanie problemu? Idzie jakoś ominąć to zabezpieczenie?
Będę wdzięczny za sugestie bądź gotowe rozwiązanie.
Attachments
IMG_5233.jpg
IMG_5233.jpg (665.69 KiB) Viewed 13988 times
ArT
Posts: 1613
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 61 times
Been thanked: 176 times

Re: Odczyt zabezpieczonego DS2431

Post by ArT »

Programator wszystkie 4 strony (4*256bit = 1024bit = 128 bajtów) zapisuje bez problemu. Przy zapisie powinien przejść weryfikacje - jeżeli przeszedł weryfikacje to zapisał poprawnie. Więc pierwsze pytanie - czy podczas zapisu przechodzi weryfikacje?

Jeżeli tak, to moim zdaniem przyczyna leży zupełnie gdzie indziej. Każdy DS ma unikalny 64-bitowy ID (wypalany laserem na etapie produkcji - nie da się go zmienić) i urządzenie z którym działa Twój układ widocznie ma wpisany ID poprzedniej kości, a nie tej nowej i dlatego nie działa. Trzeba by odnaleźć teraz w drugim układzie (tym który komunikuje się z DS2431) obszar w którym jest zapisane ID i spróbować je zmienić. W REVELPROG-IS odczytasz 8 bajtów ID dla obu układów (menu narzędzia - odczyt ID).

W dokumentacji faktycznie jest wzmianka że zapisanie 0xAA lub 0x55 pod addresy 0x80 - 0x84 nie może zostać już cofnięte (jest read-only) więc jeżeli masz tak ustawione te bajty w odczytanym wsadzie to możesz je zmienić na 0xFF przed zapisaniem do drugiej pamięci. Na stronach 7-8 więcej info https://datasheets.maximintegrated.com/en/ds/DS2431.pdf
Marcin
Posts: 4
Joined: Sun Feb 24, 2019 10:02 pm

Re: Odczyt zabezpieczonego DS2431

Post by Marcin »

Dzięki za odpowiedź, weryfikację przechodzi pomyślnie, ale może rozjaśnię temat, układ pracuje jako licznik w części wymiennej, zawartość wsadu zmienia się w zależności jaki ma przebieg, wartość jest sczytana z nowej części i wgrana na używaną, suma CRC się zgadza. Wydaje mi się, że nie jestem w stanie odczytać całości zawartości, muszę odnaleźć nową kość i ją spróbować zaprogramować.
ArT
Posts: 1613
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 61 times
Been thanked: 176 times

Re: Odczyt zabezpieczonego DS2431

Post by ArT »

Z tego co widzę w datasheet to tej pamięci nie da sie zabezpieczyć przed odczytem, więc musi ją poprawnie całą odczytywać. Moim zdaniem to jest kwestia ID pamięci - w innym miejscu/w innej pamięci jest wpisane ID tej starej pamięci i dlatego nie działa z nową pamięcią która ma inne ID. Trzeba by poszukać gdzie to ID jest przechowywane i tam zmienić (bo samego ID pamięci nie zmienisz).
Marcin
Posts: 4
Joined: Sun Feb 24, 2019 10:02 pm

Re: Odczyt zabezpieczonego DS2431

Post by Marcin »

Dziękuję za wcześniejsze odpowiedzi, musiałem odpuścić projekt, ale właśnie do niego wracam, proszę o informacje jak zmienić abym mógł odczytać 9 linijkę kodu, bo czyta mi tylko do 00000070 a dopiero jak zmienię na inny układ pojawia się 00000080 i tam muszę wprowadzić zmiany
ArT
Posts: 1613
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 61 times
Been thanked: 176 times

Re: Odczyt zabezpieczonego DS2431

Post by ArT »

Rzuć proszę okiem na notę katalogową strona 7
https://datasheets.maximintegrated.com/en/ds/DS2431.pdf

0x80h są rejestry a nie sama pamięć - które dane musisz zmienić? Postaram Ci się przygotować odpowiednie skrypty.
Marcin
Posts: 4
Joined: Sun Feb 24, 2019 10:02 pm

Re: Odczyt zabezpieczonego DS2431

Post by Marcin »

Muszę zmienić wartości jak w załączonym zdjęciu, tam gdzie jest wpisane 55, bo gdy odczytuje kość i zapiszę ją nawet tą samą wartością, urządzenie tak jakby nie czyta zawartości i domniemuję że to wina właśnie tego
ArT
Posts: 1613
Joined: Wed Mar 25, 2015 8:54 am
Location: Warsaw, Poland
Has thanked: 61 times
Been thanked: 176 times

Re: Odczyt zabezpieczonego DS2431

Post by ArT »

Na pierwszym zdjęciu masz 0x55 pod adresem 0x85 oraz 0x8F
Wg datasheeta pod adresem 0x85 jest "Factory Byte. Set at Factory." jako read only - niestety jego nie zmienisz, 55h oznacza włączony write protect. Tutaj masz skrypty na obsługę tych rejestrów w DS2431: https://forum.reveltronics.com/viewtopic.php?f=32&t=699 Podsumowując: odczytać możesz, zostaje tylko opcja skopiowania do nowej pamięci, ale ona już będzie miała inne ID.
Post Reply