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

ATtiny3224-SSF – jak odczytać program z uszkodzonego układu, zwarcie pinów 13 i 14

rsv6 25 Lip 2025 19:04 516 12
REKLAMA
  • #1 21616950
    rsv6
    Poziom 13  
    Posty: 1713
    Ocena: 284
    ATtiny3224-SSF czym i jak zgrać program z układu z uszkodzonego układu.
    W układzie pin 13 ma zwarcie do 14.
    Proszę o pomoc. Jakie programator jakie program. Ewentualnie ktoś kto by mógł to zgrać odpłatnie.
  • REKLAMA
  • #2 21617065
    jony
    Specjalista elektronik
    Posty: 7550
    Pomógł: 1823
    Ocena: 885
    A masz jakaś przejściówkę USB - UART na FTDI FT232 albo podobną?
    A może masz arduino uno?
  • REKLAMA
  • #3 21617164
    excray
    Poziom 41  
    Posty: 5500
    Pomógł: 739
    Ocena: 656
    Zwarcie 13-14 nie ogranicza możliwości odczytu tego uC. bo do odczytu i zapisu wykorzystuje on tylko pin 10 - UPDI. Odczytać możesz nawet za pomocą USBASP lub MPLAB Snap. Problemem może być:
    - większe niż Ci się wydaje uszkodzenie układu
    - pamięć programu zabezpieczona przed odczytem
  • REKLAMA
  • #4 21617246
    rsv6
    Poziom 13  
    Posty: 1713
    Ocena: 284
    >>21617164
    Układ siedzi w bms jk. Pod lodem LB12AA. Niestety układ przestał działac i nie mam odczytu temperatury z czujników. Układ odpowiada też za uruchomienie całego bms. Gdyż po wylutowaniu płytka nie uruchamia się wcale.

    Pisałem do producenta jednak nie chcą odsprzedać tego układu.. pisząc że ten układ nie jest ogólno dostępny.

    Kupiłem od nich 3 bms B624S6P i każdy jest inny w środku. Jeden z nich nie ma już wcale tego układu.

    Co do tego że program może być zablokowany biorę pod uwagę. Jednak urządzenie bez tego nie nadaje się do użytku.
    Z którym pinem usbasp mam podłączyć ten UPDI?

    Schemat pinów programatora USBasp z opisanymi sygnałami i zasilaniem.
    Zbliżenie na płytkę PCB z układem scalonym oznaczonym jako AT32.
    Zbliżenie na układ LB12AA na płytce PCB z zaznaczonym zwarciem między pinami

    Mam programator usbasp ale nie wiem jak to podłączyć. Nigdzie w sieci nie ma nic na temat programowania ATtiny32
  • #5 21617275
    gps79
    Poziom 37  
    Posty: 2208
    Pomógł: 495
    Ocena: 796
    rsv6 napisał:
    Mam programator usbasp
    Twój mikrokontroler nie wspiera programowania przez ISP (protokół używany przez Usbasp). Jedyna szansa, to UPDI.
  • #6 21617287
    rsv6
    Poziom 13  
    Posty: 1713
    Ocena: 284
    >>21617275
    Znalazłem taki programator:

    Programator HV UPDI Friend z przewodami, złączem USB-C i oznaczeniami UPDI, PWR, GND

    Jaki do tego program ?
  • #7 21617392
    gps79
    Poziom 37  
    Posty: 2208
    Pomógł: 495
    Ocena: 796
    @ElektrodaBot jak pobrać wsad mikrokontrolera ATtiny3224-SSF za pomocą HV UPDI Friend? Podaj oprogramowanie (preferowane darmowe) i procedurę działania.
  • REKLAMA
  • #8 21617404
    ElektrodaBot
    AI od OpenAI ChatGPT4
    Posty: 8863
    Pomógł: 364
    Ocena: 953
    gps79 napisał:
    @ElektrodaBot jak pobrać wsad mikrokontrolera ATtiny3224-SSF za pomocą HV UPDI Friend? Podaj oprogramowanie (preferowane darmowe) i procedurę działania.
    Bezpośrednia odpowiedź
    Aby odczytać zawartość pamięci Flash (i EEPROM) z ATtiny3224-SSF przy pomocy programatora Adafruit HV UPDI Friend:
    1. Zainstaluj bezpłatne narzędzie AVRDUDE ≥ 7.1 (lub alternatywnie `pymcuprog` / `pyupdi`).
    2. Podłącz: UPDI (pin 10 µC) ↔ biały przewód, VCC ↔ czerwony, GND ↔ czarny. Przełącz suwak na płytce programatora w pozycję HV.
    3. W wierszu poleceń uruchom (przykład dla portu COM6, Flash):
    Kod: text
    Zaloguj się, aby zobaczyć kod

    4. Jeżeli bit UPDILOCK jest ustawiony – odczyt będzie niemożliwy; HV pozwala tylko na chip-erase, co usuwa kod.

    Szczegóły i warianty poniżej.

    ---

    1. Dlaczego HV UPDI jest niezbędny
    • ATtiny3224 (tinyAVR 2-series) korzysta wyłącznie z jednoprzewodowego interfejsu UPDI.
    • Pin UPDI może zostać przełączony w GPIO; 12-voltowy impuls (HV) z programatora przywraca tryb programowania niezależnie od fuse’ów.
    • HV nie omija blokady odczytu (`UPDILOCK=1`) – jedyną operacją pozostaje wtedy kasowanie układu.

    ---

    2. Połączenia sprzętowe

    HV UPDI FriendATtiny3224-SSF (SOIC-14)Uwagi
    UPDI (biały)pin 10Jedyny pin danych
    PWR (czerwony)pin 1 (VCC)3,3 V lub 5 V – zgodnie z BMS
    GND (czarny)pin 14 (GND)Wspólna masa
    HV 12 Vgenerowane automatycznieSuwak „HV/ON”


    Dla pewności zasilaj płytkę BMS stabilnym lab-zasilaczem (obniża ryzyko kolejnych uszkodzeń).

    ---

    3. Bezpłatne oprogramowanie – trzy równorzędne ścieżki

    3.1. AVRDUDE ≥ 7.1 (rekomendowane – najmniej problemów)
    • Obsługuje protokół `jtag2updi`, z którym fabrycznie przychodzi firmware Adafruit.
    • Binaria dla Windows: `https://github.com/avrdudes/avrdude/releases`.
    • Linux: `sudo apt install avrdude` (Debian / Ubuntu 24.04 zawiera już 7.x).
    • Plik `avrdude.conf` ma wpis dla `t3224`.

    Przykłady:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    3.2. pymcuprog (oficjalne Microchip, Python ≥ 3.9)
    Kod: text
    Zaloguj się, aby zobaczyć kod


    3.3. pyupdi (lekki skrypt, brak weryfikacji fuse’ów)
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Uwaga: starsze wersje `pyupdi` nie wiedzą, kiedy programator wysyła HV – przy HV UPDI Friend zwykle działa to poprawnie, bo HV jest automatyczne.

    ---

    4. Procedura krok-po-kroku

    1. Zweryfikuj brak trwałego zwarcia 13↔14 (BMS). Zwarcie nie wpływa na UPDI, ale może wskazywać na awarię zasilania.
    2. Ustaw suwak na płytce programatora w pozycję „HV ON”.
    3. Podłącz trzy przewody wg tabeli (sekcja 2).
    4. Podłącz programator do USB; w Menedżerze urządzeń sprawdź port COM.
    5. Uruchom wybrane narzędzie (pkt 3) i wykonaj odczyt.
    6. Po udanym odczycie natychmiast wykonaj kopię zapasową powstałych plików.

    ---

    5. Diagnostyka i typowe problemy

    ObjawPrzyczynaRozwiązanie
    „Unable to enter programming mode”• Brak HV (suwak w złej pozycji) • Niewłaściwe napięcie VCCSprawdź zasilanie 3,3/5 V, suwak HV
    „Reading000000: FF FF …”UPDILOCK=1 (kod zabezpieczony)Niestety odczyt niemożliwy; HV zezwala jedynie na kasowanie
    Błędy CRC, weryfikacja niezgodnaZakłócenia na UPDI lub zbyt duża prędkośćDodaj rezystor 4,7 kΩ między UPDI a VCC, użyj `-B 1` w avrdude
    Programator nie pojawia się w COMBrak sterownika CH340/CP210xZainstaluj sterownik, użyj innego kabla USB-C


    ---

    6. Bezpieczeństwo, prawo i dobre praktyki
    • Wysokie napięcie 12 V pojawia się tylko na pinie UPDI, ale unikaj dotykania płytki w czasie operacji.
    • Kopiowanie firmware może naruszać prawa producenta BMS; korzystaj z kopii wyłącznie do legalnej naprawy własnego sprzętu.
    • Zawsze zachowuj oryginalny odczyt – przy kolejnych próbach napraw będziesz mieć punkt odniesienia.

    ---

    7. Co dalej jeżeli odczyt się nie uda
    1. Sprawdź czy mikrokontroler nie jest fizycznie uszkodzony (zasil go poza płytką).
    2. Jeżeli `UPDILOCK=1`, jedyna opcja to chip-erase + wgranie własnego firmware – potrzebujesz wtedy kompletny plik `.hex` od producenta albo samodzielnie napisany program.
    3. Jeśli uszkodzony jest tylko czujnik temperatury lub linia komunikacyjna, rozważ naprawę BMS bez re-flashowania µC (np. wymiana czujnika, naprawa ścieżki).

    ---

    8. Materiały do dalszej lektury
    • Dokumentacja „tinyAVR® 0- and 1-Series, 2-Series High-Voltage UPDI User Guide” – Microchip.
    • Repozytorium `jtag2updi`: https://github.com/mraardvark/jtag2updi
    • Przewodnik Adafruit: https://learn.adafruit.com/adafruit-updi-friend

    Gdyby pojawiły się błędy specyficzne dla Twojej płyty BMS (np. reset watchdog, brak zasilania części analogowej), daj znać – podpowiem, jak obejść lub zdiagnozować problem.
    Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
  • #9 21617412
    bart-projects
    Poziom 30  
    Posty: 836
    Pomógł: 200
    Ocena: 261
    Program "okienkowy" nazywa się AVRDUDES
    To nakładka na Avrdude.
    Działa z tym programatorem, wiem bo też go mam i testowałem.
    Inna sprawa to jest to, ze zabezpieczonego przed odczytem procesora tym nie odczytasz. Można go jedynie wyzerować i przygotować na nowy program.
  • Pomocny post
    #10 21617440
    jony
    Specjalista elektronik
    Posty: 7550
    Pomógł: 1823
    Ocena: 885
    rsv6 napisał:
    Jaki do tego program ?

    Pobierz sobie avrdudess https://github.com/ZakKemble/AVRDUDESS/releases/tag/v2.19
    I tam z listy wybierz procesor i programator (Serial UPDI).
    Ustaw prędkość na 57600 i wybierz port COM pod jakim zostanie wykryty twój programator.
    I zaznacz, że chcesz odczytać (read) pamięć flash do pliku intel hex. Następnie wykaż nazwę pliku i gdzie to ma być zapisane.

    I u mnie tak to wygląda:

    Mój programator został wykryty jak com17 i procesor też inny.
    Okno AVRDUDESS z ustawieniami odczytu pamięci flash mikrokontrolera ATtiny3226 przez COM17

    rsv6 napisał:
    Układ siedzi w bms jk. Pod lodem LB12AA


    A skąd wiadomo ze to ATtinyy? Bo osobiście w to wątpię.
    Ale spróbować możesz.
  • #11 21617787
    rsv6
    Poziom 13  
    Posty: 1713
    Ocena: 284
    >>21617440
    Na tej stronie tak twierdzą:
    https://forum-monitor.net.ru/threads/686932/
  • #12 21625776
    rsv6
    Poziom 13  
    Posty: 1713
    Ocena: 284
    Nic tego nie będzie układ ma zwarcie na pinach zasilania.
  • #13 21642205
    szel
    Poziom 20  
    Posty: 505
    Pomógł: 13
    Ocena: 10
    Jesteś pewien, że to układ ma zwarcie a nie na płytce montażowej ono daje taki efekt? Tylko odłączenie pinu zasilania pozwoli to sprawdzić.

Podsumowanie tematu

✨ Dyskusja dotyczy odczytu programu z mikrokontrolera ATtiny3224-SSF, który ma zwarcie na pinach 13 i 14. Zwarcie to nie blokuje interfejsu programowania, ponieważ ATtiny3224 korzysta wyłącznie z jednokierunkowego interfejsu UPDI na pinie 10. Programowanie i odczyt pamięci przez ISP (np. USBasp) nie jest możliwe, konieczne jest użycie programatora obsługującego UPDI, np. Adafruit HV UPDI Friend. Do odczytu pamięci zalecane jest użycie narzędzi takich jak AVRDUDE (wersja ≥7.1), pymcuprog lub pyupdi. W przypadku ustawionego bitu UPDILOCK odczyt pamięci jest zablokowany, a jedyną opcją jest wykonanie chip erase, co usuwa program. Autor posiada programator USBasp, ale ten nie obsługuje UPDI. Wskazano, że zwarcie na pinach zasilania może uniemożliwić odczyt, dlatego warto sprawdzić, czy zwarcie nie pochodzi z płytki. Program AVRDUDESS może ułatwić obsługę programatora i odczyt pamięci w trybie graficznym. Wątpliwości co do autentyczności układu i jego stanu technicznego zostały podniesione, jednak potwierdzono, że do programowania ATtiny3224 niezbędny jest programator UPDI z funkcją HV.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA