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

Jak zrobić backup wsadu Atmega 16L TQFP/MLF i zaprogramować nowy układ.

jedg 12 Paź 2024 16:52 1299 52
  • #1 21260275
    jedg
    Poziom 11  
    Witam forumowiczów
    Mam uszkodzony układ (wsad?) Atmega 16L w obudowie TQFP/MLF na płytce drukowanej. Posiadam również drugą identyczną płytkę z tym układem , która pracuje prawidłowo. Uszkodzenie zdiagnozowałem poprzez przelutowanie go z jednej do drugiej.
    Na płytce drukowanej jest 10 pinowe złącze do programatora.
    Czy można w prosty sposób zrobić backup (wsad) z działającego układu i zaprogramować nowy ewentualnie przeprogramować niedziałający?
    Ewentualnie czy ktoś z forum mógłby podjąć się tego?

    Ja jestem elektronikiem a z programowaniem miałem do czynienia tylko z eepromami.
    Poniżej fragment schematu PCB z Atmeg-ą.

    Pozdrawiam
    Fragment schematu PCB z układem Atmega 16L i złączem do programatora.
  • #3 21260374
    tmf
    VIP Zasłużony dla elektroda
    Dowolnym programatorem do AVR to zrobisz (najtańszy to USBAsp), ale pod warunkiem, że ATMega nie jest zabezpieczona przed odczytem. Jeśli jest to sprawa raczej przegrana.
  • #4 21260510
    jedg
    Poziom 11  
    Dziękuję za odpowiedzi.

    Na schemacie jest złącze pod programator Equinox. On ma chyba inne wyprowadzenia niż 10-pinowy programator USBasp.
    Będę musiał przelutować przejściówkę, żeby przeprogramować go w układzie?
  • #5 21260631
    tmf
    VIP Zasłużony dla elektroda
    jedg napisał:
    On ma chyba inne wyprowadzenia niż 10-pinowy programator USBasp.
    Będę musiał przelutować przejściówkę, żeby przeprogramować go w układzie?

    Wydaje mi się, że rozkład wyprowadzeń jest taki sam. Przylutowywać nie trzeba - wystarczy połączyć parę przewodów, albo użyć żeńskich/męskich kabelków do płytek stykowych.
  • #6 21260695
    robiw
    Poziom 26  
    tmf napisał:
    ...Jeśli jest to sprawa raczej przegrana.


    Chinole nie robią tego za jakieś rozsądne pieniądze tak na marginesie? AVR nie jest raczej jakimś super zabezpieczonym prockiem. Pytam z ciekawości, bo nie zgłębiałem tametu... R
  • #7 21260723
    tmf
    VIP Zasłużony dla elektroda
    Oczywiście, że można znaleźć firmy, które odczytają MCU, jednak to może przewyższać koszt urządzenia autora.
  • #8 21260797
    jedg
    Poziom 11  
    tmf napisał:
    Oczywiście, że można znaleźć firmy, które odczytają MCU, jednak to może przewyższać koszt urządzenia autora.

    Przy koszcie programatora za dwadziesia parę złotych to nie mam nic do stracenia, bo nie ma szansy na zdobycie wsadu do Atmegi.

    Zastanawiam się tylko czy bezpieczniej będzie wydać 400PLN na XGecu czy 25PLN na USBasp.
  • #9 21260852
    elktrod
    Poziom 36  
    Nie napisałeś czy i jaki masz programator, najtaniej gdy nie masz żadnego to można spróbować USBASP przed droższym zakupem, a co szkodzi, zwłaszcza jak kolega tmf wyżej pisze, że wystarczy programator USBASP? Adapter zrobisz sobie w parę minut, ja to robię odpowiednimi kabelkami, które sklejam cienko POXIPOLEM w newralgicznych miejscach a potem zalewam dwuskładnikowym DISTALEM, inna rzecz, że go już nie produkują ale może być każdy inny dwuskładnikowy:
    Zestaw programatora USBASP z kablami i adapterami na niebieskim tle.
    Wtyczkę czy gniazdo KANDA dla programatora 10-stykowego USBASP jak i kabelki czy styki możesz też kupić osobno i złożyć przejściówkę ale jak często używam to wolę na stałe je potem połączyć klejem, można też polutować drugą stroną te chyba 6 kabelków z 10, na czas odczytu i zapisu procesora? Można też zakończyć krokodylkami jak jedna z w/w przejściówek, wtedy lutuję 6 kabelków do układu a drugie strony odpowiednio podpinam pod krokodylki izolując na chwilę połączenia aby sobie nie zrobić zwarcia...
    jedg napisał:
    Na płytce drukowanej jest 10 pinowe złącze do programatora.

    Złącze KANDA u mnie dla programatora USBASP wygląda tak:
    Diagram wtyku i gniazda KANDA dla programatora USBASP
    Kwestia doboru: męskie, żeńskie końcówki oraz rastra wychodzi w praktyce a pozycję utrwalam klejami jak wyżej.
  • #10 21261001
    tmf
    VIP Zasłużony dla elektroda
    jedg napisał:
    Zastanawiam się tylko czy bezpieczniej będzie wydać 400PLN na XGecu czy 25PLN na USBasp.

    Cena programatora w tym przypadku nie odgrywa roli. Ten tańszy zadziała dokładnie tak samo jak droższy.Jeśli okaże się, że MCU jest zabezpieczony przed odczytem, to żaden programator go nie odczyta.
  • #11 21261369
    jedg
    Poziom 11  
    Dziękuję -tmf- i -elktrod- za wyjaśnienia.
    Taśmę do programatora już przerobiłem z komputerowej, bo złącze na płytce jest pod jakiś inny typ.
    Trzeba zamówić USBasp i do dzieła.
    Pozdrawiam wszystkich.
  • #12 21261791
    elktrod
    Poziom 36  
    Po moich doświadczeniach w tym temacie: https://www.elektroda.pl/rtvforum/topic4003840.html
    optuję za posiadaniem dwóch programatorów o różnych rozwiązaniach w celu sprawdzania sobie ich sprawności nawzajem bo czasem tracimy sporo czasu na ustalanie przyczyny braku odczytu wsadu, która może tkwić w nich czy też w oprogramowaniu jak i w naszym sprzęcie komputerowym czy w ich wzajemnej współpracy?
  • #13 21267822
    jedg
    Poziom 11  
    Witam
    Dzisiaj otrzymałem programator USBasp Atnel-a razem z licencją.
    Niestety po podpięciu komunikat jak na zdjęciu.
    Za każdym razem po naciśnięciu Sprawdź podłączony AVR woła o inną częstotliwość, ale zmiana nie przynosi rezultatu.
    Przejściówka z KANDA na EQUINOX (wg schematu ideowego w pierwszym poście) sprawdzona miernikiem od programatora do pinów Atmegi i jest OK.
    Zasilanie z programatora wychodzi 5V.

    Zrzut ekranu programu do obsługi AVRDude z komunikatem błędu.

    Zrobiłem drugą przejściówkę, krótszą i to samo.
    Podłączyłem płytkę z prawidłowo działającą Atmega i efekt taki sam.
  • #14 21267840
    robiw
    Poziom 26  
    Hej.
    Po pierwsze niepotrzebnie grubo przepłaciłeś za produkt ogólnodostępny w cenie 10 zł. Po drugie, jak coś nie działa to zwróć się do producenta tej podróbki, który chwali się świetnym supportem. Po trzecie, zasilaj programowany mikrokontroler napięciem 5V, czasami to pomaga, jak procek nie jest dziewiczy i pracuje na jakimś wysokim zegarze. No i kwestia zegara - czy Twój procek nie ma przestawionych fuse-bitow na zewnętrzny kwarc? I po czwarte, lepiej było kupić firmowego SNAP-a, niż przepłacać u Kardasia za klon USBasp. Pozdro! R
  • #15 21268045
    oscil1
    Poziom 20  
    tmf napisał:
    Oczywiście, że można znaleźć firmy, które odczytają MCU, jednak to może przewyższać koszt urządzenia autora.

    A często nawet koszt opracowania nowego oprogramowania od początku :)
  • #16 21268074
    elktrod
    Poziom 36  
    jedg napisał:
    Podłączyłem płytkę z prawidłowo działającą Atmega i efekt taki sam.

    Spokojnie, czy posiadasz jakikolwiek inny procesor nie zabezpieczony czy też nowy aby sprawdzić czy działa programator i nauczyć się jego obsługi? W MKAVRCalculator jest opcja USTAWIENIA, czy w niej skorzystałeś z podopcji zainstalowania sterowników? Tam są dwie podopcje, czy w obu próbowałeś?
  • #17 21268083
    jedg
    Poziom 11  
    Sterowniki wgrane. Programator widoczny w menedżer urządzeń.

    Tak, kupiłem nowy 16L. Zaraz spróbuję go podlutować.
  • #18 21268094
    elktrod
    Poziom 36  
    Spróbuj odczytać nowy, jeżeli czyta nowy i go rozpoznaje to ten jaki masz może być zabezpieczony przed odczytem...
  • #19 21268150
    jedg
    Poziom 11  
    Czysta Atmega rozpoznana, czyli programator działa.

    Czy spróbować wylutować z układu tą uszkodzoną i sprawdzić czy ją odczyta programator poza układem? Podłączałem już zewnętrzne zasilanie 3.3V ale bez efektu.

    A tu PrtCsr z programu eXtreme Burner - AVR i coś o zasilaniu (czysta Atmega odczytana OK).
    Zrzut ekranu programu eXtreme Burner - AVR z komunikatami o błędach połączenia.


    Cd...
    Stara Atmega wylutowana, podpięta bezpośrednio do programatora i dalej to samo.
  • #20 21268330
    elktrod
    Poziom 36  
    Czystą ATMEGĘ do odczytu zasilałeś z osobnego źródła czy nie?
    Rozumiem, że identycznie próbowałeś odczytać tę co Cię interesuje?
    No to jak się nie odczytała to zapewne jest chroniona przed odczytem?
  • #21 21268339
    jedg
    Poziom 11  
    Czysta zasilana była też z programatora i wszystko robiłem identycznie. Ta stara wylutowana z układu i niestety nie odpowiada. Komunikat jw.

    Edit:
    Na tej działającej Atmedze widać nadruk:
    EXCLK
    II : W1 (nie jest to czytelne lub N : W1)

    Na drugiej też EXCLK , a reszta nieczytelna)

    Czyli jest zewnętrzny zegar?

    Dodano po 2 [godziny] 25 [minuty]:

    Na schemacie do XTAL1 jest podłączony UC_CLK2_BUF.
    Czyli jest podpięty zewnętrzny zegar?

    W urządzeniu jest też druga Atmega. Próbowałem się do niej dostać i komunikat z MKAvr jw.
    Poniżej schemat i tam do XTAL1 i XTAL2 podpięty jest kwarc 8 Mhz. Czy to znaczy, żeby go odczytać trzeba podpiąć zewnętrzny kwarc?
    Schemat układu z mikroprocesorem ATmega16L

    Może te pytania są laickie ale próbuję zrozumieć co tu jest grane.
  • #23 21268878
    jedg
    Poziom 11  
    Na wyjściu z programatora USBasp jest 5V.
  • #24 21268900
    robiw
    Poziom 26  
    Jeśli mikrokontroler, który chcesz zaprogramować korzystał z kwarcu to musisz mu podłączyć kwarc w trakcie programowania, jeśli robisz to poza urządzeniem docelowym. R
  • #25 21268952
    jedg
    Poziom 11  
    Prawdopodobnie Atmega korzystała z sygnału kwarcu (8Mhz) który był dołączony do drugiej Atmegi w układzie, jak pisałem i zamieściłem schemat wyżej.

    Pytanie, może laickie. Czy mogę w takim razie podłączyć programator (oczywiście bez zasilania) do urządzenia, które jest włączone i spróbować się połączyć z Atmegą?
    I drugie: jeśli nie to czy posiadając drugie identyczne urządzenie mogę wyciągnąć z niego sygnał zegara z XTAL1 i podłączyć go Atmegi , którą mam wylutowaną z układu?

    Edit:
    Programator podłączony do pracującego urządzenia przez złącze i niestety dalej brak komunikacji z uP.
  • #26 21269206
    robiw
    Poziom 26  
    Reasumując:

    - jeden procek do programowania potrzebuje kwarcu,
    - drugi potrzebuje zewnętrznego przebiegu testującego na pinie XTAL1, z tego co wynika ze schematu.

    R
  • #27 21269222
    jedg
    Poziom 11  
    Dokładnie tak jak piszesz. Tylko jak to ugryźć? Ani jeden ani drugi nie odpowiada.
    Tam jest jeszcze podprowadzony do złącza 44 pin SS.
  • #28 21269401
    robiw
    Poziom 26  
    Procek z kwarcem zasilany jest napięciem 3.3V (zresztą drugi również). Być może uwaliłeś go ustawiając na USBasp napięcie 5V. Jeśli kwarc ma podpięty to powinien sie odezwać po ISP. Jeśli sie nie odzywa to jak wyżej lub też jakimś cudem ma ustawione fuse-bity na zewnętrzny zegar (bo na wewnętrznym RC też powinien ruszyć). Stawiam raczej na pierwszy powód.

    Procek drugi potrzebuje zegara zewnętrznego, abyś mógł go zaprogramować (tak sugeruje schemat). Możesz podać na pin XTAL1 dowolny przebieg zegarowy o częstotliwości powiedzmy 1 MHz (3.3V) i wtedy próbować nawiązać z nim kontakt.

    W obu przypadkach mówimy o programowaniu ISP z wykorzystaniem pinów:
    MISO, MOSI, SCK, RESET, VCC i GND, czyli tak, jak w typowym złączu KANDA. Przy czym, jeśli programowany system jest zasilany ze swojego źródła to należy pominąć sygnał VCC. Tyle w temacie... R

    Dodano po 21 [minuty]:

    Tutaj masz opis pinów interfejsu programowania szeregowego, więc wszystko się zgadza. Zegar zewnętrzny na XTAL1 nie jest niezbędny w Twoim przypadku. R

    Schemat programowania szeregowego SPI z pinami MISO, MOSI, SCK, RESET, VCC i GND.
  • #29 21269435
    jedg
    Poziom 11  
    Korzystam z programatora USBasp firmy Atnel, a tam nie ma możliwości zmiany napięcia. Jak piszą jest wbudowana przetwornica buforowa obsługująca napięcia 1,6 - 5V.
    Gdyby uszkodzeniu uległ procek to urządzenie prawdopodobnie by nie pracowało. Piszę o tym które mam sprawne i do niego też podłączałem programator (tak jak na schematach zarówno tego z kwarcem jak i z sygnałem sterującym). Oczywiście VCC wyłączone w programatorze.
    Przejściówka z KANDA na złącze z EQIUNOX przemierzona i jest OK.

    Edit:
    Spróbuję ruszyć jeszcze z tym generatorem, tylko muszę kupić.

    Co do Fuse bitów to nie mam o tym pojęcia.
  • #30 21269444
    robiw
    Poziom 26  
    Skoro Twoje urządzenie pracuje poprawnie co oznacza, że procek z kwarcem również pracuje (tak przynajmniej zakładam, bo może odpowiedzialny jest za jakieś inne niepracujące funkcje) to nie ma możliwości, żebyś się z nim nie połączył przy użyciu ISP. To pozostaje jakaś kablologia lub coś jeszcze korzysta z tych pinów, czego nie pokazałeś na schemacie. R

    Dodano po 3 [minuty]:

    A nawet na pewno jest podłączone. Widać to na schemacie. To podłączenie może zniweczyć możliwość zaprogramowania przez ISP. R

    PS.
    To jakiś sterownik muzyczny? Widzę MIDI-IN/OUT.

Podsumowanie tematu

Użytkownik forum poszukuje sposobu na wykonanie backupu wsadu z uszkodzonej Atmegi 16L w obudowie TQFP/MLF oraz zaprogramowanie nowego układu. Wskazano, że można użyć programatora USBasp lub XGecu, jednakże kluczowe jest, aby mikrokontroler nie był zabezpieczony przed odczytem. Użytkownik zdiagnozował problem, przelutowując układ do działającej płytki. W dyskusji poruszono kwestie dotyczące podłączenia programatora, konieczności użycia zewnętrznego kwarcu oraz problemów z komunikacją z mikrokontrolerem. Użytkownik zamówił programator USBasp i planuje dalsze próby z odczytem wsadu.
Podsumowanie wygenerowane przez model językowy.
REKLAMA