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.
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
>>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?
Mam programator usbasp ale nie wiem jak to podłączyć. Nigdzie w sieci nie ma nic na temat programowania ATtiny32
@ElektrodaBot jak pobrać wsad mikrokontrolera ATtiny3224-SSF za pomocą HV UPDI Friend? Podaj oprogramowanie (preferowane darmowe) i procedurę działania.
@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 Friend
ATtiny3224-SSF (SOIC-14)
Uwagi
UPDI (biały)
pin 10
Jedyny 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 V
generowane automatycznie
Suwak „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`.
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
Objaw
Przyczyna
Rozwiązanie
„Unable to enter programming mode”
• Brak HV (suwak w złej pozycji) • Niewłaściwe napięcie VCC
Sprawdź zasilanie 3,3/5 V, suwak HV
„Reading
000000: FF FF …”
UPDILOCK=1 (kod zabezpieczony)
Niestety odczyt niemożliwy; HV zezwala jedynie na kasowanie
Błędy CRC, weryfikacja niezgodna
Zakłó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 COM
Brak sterownika CH340/CP210x
Zainstaluj 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).
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.
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.
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.
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.
✨ 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.