logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zmienić dane w EEPROM S93A56 na adresach 67 i 87?

madamsz1 05 Kwi 2024 18:45 615 16
REKLAMA
  • #1 21033990
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Witam
    Tak łopatologicznie proszę o wytłumaczenie :)
    Mam odczytaną zawartość pamięci S93A56 ( w załączniku plik ), dane które chce zmienić są pod adresem 67 i 87. Nie wiem jak to odczytać i które to w edytorze aby je zmienić .
    Zrzut ekranu pokazujący dane w formacie heksadecymalnym.
    Coś takiego jeszcze znalazłem w informacji do maszyny.
    Schemat adresowania pamięci z danymi binarnymi i opisami
    Załączniki:
    • EEPROM_S93A56_16bit.bin (256 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 21034171
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2205
    madamsz1 napisał:
    Mam odczytaną zawartość pamięci S93A56 ( w załączniku plik ), dane które chce zmienić są pod adresem 67 i 87. Nie wiem jak to odczytać i które to w edytorze aby je zmienić .

    Po lewej w kolumnie masz podane adresy początku każdego bloku (w formie hex) a u góry kolejne numery kolejnych komórek pamięci w ramach jednego rzędu. Ustal najpierw czy te 67 i 87 to adresy zapisane w systemie dziesiętnym, czy szesnastkowym.
  • #3 21034218
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Wygląda że 16bit.
    "Jeżeli wystąpi błąd, dane w odpowiednim adresie EEPROM zostaną nadpisane. Dane w odpowiednich
    adres ma pojemność 2 x 16 bitów. Pierwszy adres (1 x 16 bitów) zawiera najnowszy zapis licznika godzin
    błąd. Drugi adres (1 x 16 bitów) zawiera zapis licznika godzin pierwszego błędu wraz z sumą
    liczba błędów w przeszłości. Dane zostaną zapisane do EEPROM po zaokrągleniu wszystkich wartości licznika godzin
    przez mniej niż godzinę"
  • #4 21036156
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Kolego masz w Windows wbudowany kalkulator. Przełączasz go w tryb Programisty. Wtedy on automatycznie przelicza wartości pomiedzy Dec i Hex i tym podobne.

    Zrzut ekranu kalkulatora w trybie programisty, pokazujący przeliczenie liczby 67 z systemu dziesiętnego na szesnastkowy. Zrzut ekranu przedstawiający wartości heksadecymalne w edytorze hex.

    Inna sprawa to własnie to czy szukasz adresu w Hex czy Dec.
    Jesli znasz wartośc licznika to wpisz go do kalkulatora a on pokaze zapis tego w Hex i moze coś się rozjaśni.
    Od adresu 0x00 do 0x47 to ewidentny licznik z wear leveling bo ostatnia wartość to 1B56 a pierwsza przepisana 1B57 :D

    BTW. Porządny edytor zawsze gdzieś pokazuje adres komórki wskazanej przez kursor.
  • REKLAMA
  • #5 21036297
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Pierwsze adresy to podobno obsługa licznika motogodzin. A od adresu 65 do bodajże 103 są zapamiętywane błędy, które są zapisywane w dwóch miejscach. Mam zegar od starej kopareczki i który dostał zasilaniem i wygląda, że przetwornik w procesorze robi pomiar napięcia w instalacji i teraz jest zapisany błąd, a nie reaguje na odczyt mniejszego napięcia i wisi. Jestem ciekawy czy wykasowanie go z tych dwóch komórek (w tym wypadku 67 i 87) pozwoli uruchomić tą maszynę. Nigdy czegoś takiego nie robiłem i kompletnie się na tym nie znam. Coś w dokumentacji jest ale ... :D dla mnie to zawsze był problem i "czarna magia" programowanie.

    "Erasing Method of Error Log
    The error log will be deleted by selecting Error Log Delete in Diagnosis Mode. In the software, only the 0th to
    third bits (the accumulated number of errors) in EEPROM addresses 85 through 103 will be zero cleared,
    but hour meter data will not be zero cleared. Error Log Delete in Diagnosis Mode judges that there is no
    error log if the number of errors is zero."
  • REKLAMA
  • #6 21036474
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Trudno zrobić kogoś "hakierem" bo tu dużo z programowania nie ma, ale potrzebne są inne umiejętności.
    Nie wszystko się z tym opisem zgadza. Zauwaz że pomiędzy 65 a 83 i 85 a 103 pomiedzy jest zawsze 18 bajtów. Licznik jest dwubajtowy więc powinno być dziewięć zapisów kazdego...

    Zacznij od podłączenia licznika i sprawdź co wskazuje. Wartości dwubajtowe są w pamięci zapisane jakby w odwrotnej kolejności. Tak więc 571B ro najczęściej 1B57 i to też można poznać po tym, że zmieniają się te wartości 57, 58, 59 a 1B jest stałe.
    1B57 to jest 6999 dla ludzi :D

    Trochę mało danych bo nawet nie wiadomo co to za maszyna i może ktoś już to machnął a Ty odkrywasz koło na nowo.
  • #7 21036602
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    To taka mała kopareczka KUBOTA, po zwarciu, coś się spaliło i coś zwarło. Zegar podłączyłem na stole, rusza, wyświetla alarm, motogodziny i o ile dobrze pamiętam 3 błędy. Znalazłem opis, że zegar po włączeniu robi procedurę diagnostyki, sprawdza co się dziej i podaje błędy. Błędy krytyczne nie pozwalają uruchomić silnika. Błąd z zasilaniem powinien zniknąć automatycznie po minimum 3s prawidłowego zasilaniu, tu tego nie ma, a już chyba przemierzyłem wszystko dlatego myślałem o wykasowaniu go ręcznie i próbę startu na stole.
    W załączniku strony w których jest chyba wszystko o tych błędach i ich zapisie do pamięci.
    Przed każdym błędem jest jeszcze podawany jego numer, np w tym wypadku to co mnie interesuje to "4 High voltage"
    Załączniki:
    • Kubota.pdf (523.56 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #9 21036607
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    bart-projects napisał:
    to jest 6999 dla ludzi

    To by się zgadzało bo chyba było stan 7000mth (albo 700 :D )
  • #11 21036624
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Przepraszam, musiałem popatrzyć w zapiski, bo pamięć wylutowana i jeszcze jeden układ.
    Dokładnie przy ostatnim podłączeniu było 700,3 mth

    PS. i błędy
    - 4 High voltage
    - 12 Governor sensor
    - 51 Coolant sensor
  • #12 21036629
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Okay, jesli dobrze zrozumiałem a czytałem tylko chwilkę to to jest rozwiązane tak, że motogodziny motogodzinami i to jest ten licznik u gór, ale jak wystąpi jakiś błąd to on jest zapisywany pod specyficznym adresem pamięci razem z aktualnymi motogodzinami. Czyli zapis błedu to motogodziny i licznik błedu. Na każdy błąd cztery bajty.
  • #13 21036641
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Tak jakby błąd był zapisywany w obu komórkach np 67 i 87 z tym że w 87 chyba jeszcze czas (mth) wystąpienia, a w przypadku ponownego tego samego błędu nadpisuje się czas (mth) - tak ja to zrozumiałem.

    Jest też coś ciekawa informacja producenta. że:
    "Zawartość adresów od 65 do 103 jest zerowana w komputerze przed wysyłką zegarów po naprawie u producenta"
    Poszedł by może na całość, ale trzeba dokładnie wiedzieć te adresy :D
  • #14 21036659
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Zobacz że najwyższy adres to 127 a pamięć ma 256 bajtów...
    Pisze że przebieg jest 0-35 czyli 36 adresów. 36x2 to 72 a to jest Xex 48
    Czyli jakby liczyć jeden adres dwa bajty to przebieg kończy się na 0x47 i to się zgadza.
    Wystarczy chyba po prostu adresy mnozyć razy dwa i to jest początek w pamięci.

    Jak zmienić dane w EEPROM S93A56 na adresach 67 i 87?

    To moze zamknac oczy i to wyzerować :D
    65x2=130= Hex 82
    103x2=206= Hex CE

    Jak zmienić dane w EEPROM S93A56 na adresach 67 i 87?
  • #15 21036712
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Właśnie liczyłem i tak mi wyszedł początek :)
    Zrzut ekranu przedstawiający edytor heksadecymalny z zaznaczonym adresem 0x82.
    Nie mam innej pamięci na wypadek problemów, ale chyba zaryzykuje. :D
  • #16 21036723
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Z pamięciami microWire automotive to trzeba zrobić zawsze tak że jeden odczyt i potem ja koniecznie wyjmujesz z programatora i wkładasz jeszcze raz i czytasz. Jak dwa odczyty się zgadzają po tym wyjmowaniu to jest nadzieja że dobrze odczytane.
    Sam drugi odczyt bez wyjmowania nie daje żadnej pewności.
    A jak juz masz jakiś pewny odczyt to tam nic się nie może z nią stać.

    W sumie jeśli czytana 16bit to przecież zawsze adres to dwa bajty :D
  • #17 21036821
    madamsz1
    Poziom 42  
    Posty: 5876
    Pomógł: 1057
    Ocena: 1709
    Dzięki za pomoc,
    Chyba poeksperymentuje :D.
    Poczekam na informację od kolegi bo miał popatrzyć za sterownikiem od Forda Focusa (Mazda, Toyota ) bo takie pamięci tam były (znalazłem takie info. ) nie chciałbym ruszać oryginalnej :)

Podsumowanie tematu

✨ Użytkownik poszukuje informacji na temat zmiany danych w pamięci EEPROM S93A56 na adresach 67 i 87. W odpowiedziach podano, że adresy te mogą być zapisane w systemie dziesiętnym lub szesnastkowym, a dane w tych adresach dotyczą licznika motogodzin oraz zapisów błędów. Użytkownicy sugerują użycie kalkulatora w trybie programisty do konwersji między systemami liczbowymi oraz zwracają uwagę na sposób zapisu danych w pamięci, który może być odwrotny. Wskazano również, że błędy są zapisywane w dwóch miejscach, a ich usunięcie może pomóc w uruchomieniu maszyny. Użytkownik planuje eksperymentować z pamięcią, czekając na dodatkowe informacje o sterownikach.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA