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 odblokować ATmega8 po ustawieniu niewłaściwych lock i fuse bits?

jacek 02 Maj 2004 17:41 9837 27
REKLAMA
  • #1 622645
    jacek
    Poziom 11  
    Posty: 75
    Ocena: 6
    jestem poczatkujacy, zrobilem prosty programator SPI na lpt, podlaczylem atmega8 i wszystko w pozadku, programuje i odczytuje, zaznaczylem jakes lock albo fuse bits i 8O zabawa sie skaczyla :cry: , co zrobic, czytalem ze na SPI sie tego niezrobi, prawdopodobnie zablokowalem programowanie ale niejestem pewny,
    program niewykrywa sygnatury procesora, :cry: POMOZCIE
  • REKLAMA
  • #2 622661
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    spoko nieda się wyłączyć programowania przez SPI po SPI. Napewno przełączyłeś na jakiś inny generator zegarowy. I to napewno nie jest wina loc bit'ów jak ktoś próbował by powiedzieć. Panowie to jest Atmega8 a nie 2313. Tutaj zawsze pokazuje sygnaturę.
    Popróbuj z zewnętrznymi generatorami i również z generatorem RC. Napewno to jest to.
  • #4 622712
    jacek
    Poziom 11  
    Posty: 75
    Ocena: 6
    a jeszcze co do sygnatury to wypisuje (ff,ff,ff) :?
  • #5 624531
    Łokasz
    Poziom 16  
    Posty: 193
    Pomógł: 12
    Ocena: 43
    Witam. Właśnie udało mi się uporać z podobnym prooblemem. Pony prog też nie widział procesora ATmega 32. Przyczyny mogą byc dwie: 1.Uaktywniłeś zewnętrzny generator RC. Musisz wylutować kwarc i XTAL1 przez kondensator 22p połączyć do masy, i od XTAL1 przez rezystor 6,8k do 5V(patrz aplikacja procka). Wtedy próbować odczytać programatorem zawartość ATmega. 2. Zbudować zewnętrzny generator, ja zrobiłem to na bramce TTL schmitta i dwóch elementów RC, wyjście generatora do końcówki XTAL1. Wtedy próbować odczytać zawartość ATmega. Musi pomóc :D . W moim przypadku przyczyną była opcja 2. :) . Życzę miłej zabawy i pozdrawiam 8) .
  • #6 625451
    jacek
    Poziom 11  
    Posty: 75
    Ocena: 6
    wielkie dzieki za informacje :)
    szymto tez mi tak poradzil, dla niego tez slowa podziekowania,
    dzis sprobuje podlaczyc generator impulsow moze to pomoze,
    prawdopodobnie cos z ta atmega8 jest :? bo po podlaczeniu kondensatora i opornika na oscyloskopie jest cisza tzn. zero ipulsu,
    szymto powiedzial ze cos moze byc z tym generatorem wewnetrzny i poradzil podlaczyc generator albo zbudowac na bramkach,
    jeszcze raz dzieki, dam znac jak cos pomoze, :wink:
  • REKLAMA
  • #7 632462
    jacek
    Poziom 11  
    Posty: 75
    Ocena: 6
    dzieki wszystkim za pomoc :D
    udalo sie,
    przyczyna bylo ustawienie generatora wew na 8MHz,
    wedlug wzoru atmega8 F=1/(3RC) policzylem ze 22pF i 1,9k oma =8MHz
    dzieki i pozdrawiam
  • #8 634775
    sferix
    Poziom 12  
    Posty: 23
    Łokasz napisał:
    Witam. Właśnie udało mi się uporać z podobnym prooblemem. Pony prog też nie widział procesora ATmega 32. Przyczyny mogą byc dwie: 1.Uaktywniłeś zewnętrzny generator RC. Musisz wylutować kwarc i XTAL1 przez kondensator 22p połączyć do masy, i od XTAL1 przez rezystor 6,8k do 5V(patrz aplikacja procka). Wtedy próbować odczytać programatorem zawartość ATmega. 2. Zbudować zewnętrzny generator, ja zrobiłem to na bramce TTL schmitta i dwóch elementów RC, wyjście generatora do końcówki XTAL1. Wtedy próbować odczytać zawartość ATmega. Musi pomóc :D . W moim przypadku przyczyną była opcja 2. :) . Życzę miłej zabawy i pozdrawiam 8) .


    mam podobny problem z 90s8535 czy ta instrukcja podziała też i u mnie?
  • #9 636687
    jacek
    Poziom 11  
    Posty: 75
    Ocena: 6
    niewiem
    niemialem z nim jeszcze nigdy do czynienia
    musisz popytac kogos kto na takich pracuje
    zobacz w opisie procka na stronie producenta czy modles przy programowaniu cos przestawic
    pozdrawiam
  • REKLAMA
  • #10 636716
    Łokasz
    Poziom 16  
    Posty: 193
    Pomógł: 12
    Ocena: 43
    sferix napisał:
    Łokasz napisał:
    Witam. Właśnie udało mi się uporać z podobnym prooblemem. Pony prog też nie widział procesora ATmega 32. Przyczyny mogą byc dwie: 1.Uaktywniłeś zewnętrzny generator RC. Musisz wylutować kwarc i XTAL1 przez kondensator 22p połączyć do masy, i od XTAL1 przez rezystor 6,8k do 5V(patrz aplikacja procka). Wtedy próbować odczytać programatorem zawartość ATmega. 2. Zbudować zewnętrzny generator, ja zrobiłem to na bramce TTL schmitta i dwóch elementów RC, wyjście generatora do końcówki XTAL1. Wtedy próbować odczytać zawartość ATmega. Musi pomóc :D . W moim przypadku przyczyną była opcja 2. :) . Życzę miłej zabawy i pozdrawiam 8) .


    mam podobny problem z 90s8535 czy ta instrukcja podziała też i u mnie?
    Procedura którą przedstawiłem dotyczy tylko mikrokontrolerów ATmega, które mają fuse bity :? . W Twoim przypadku , jesli nie jest to ATmega, procedura nic nie pomoże, możesz miec uszkodzony mikrokontroler. Pozdrawiam 8)
  • #11 4943133
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    Nie mogę zaprogramować swojej atmega8. Mam programator jak w załączniku. Sprawdzałem wszystko 2 razy i jest dobrze połączone. Próbowałem zaprogramować przez ponyprog2000 ale nie widzi w ogóle uP. Do uP mam podłączone tylko to co na schemacie tzn:vcc, gnd, msio, mosi, sck,reset. Czy muszę podłączyć kwarc (mam tylko 20Mhz)?? i czy muszę coś konfigurować w ponyprog??
    https://www.elektroda.pl/rtvforum/files-rtvforum/avrisp-siprogramator_1498.gif
    Załączniki:
    • Jak odblokować ATmega8 po ustawieniu niewłaściwych lock i fuse bits? avrisp-siprogramator.gif (16.92 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #13 4943790
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    sprawdzałem parę razy i wszystko jest dobrze sprawdzę jeszcze raz
    a co z tymi fuse bits ?? jak one są na początku ustawione?? albo jak je ustawić?? nie potrzebuje zewnętrznego kwarcu?? jeżeli tak to jakiego??
  • #14 4943922
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    Na początku uC jest tak skonfigurowany, że działa sam bez zew. elementów:)
    Masz oczywiście kondensatory 100n w zasilaniu wpięte, prawda?:)
  • REKLAMA
  • #15 4944002
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    mam tylko kondensator 100uF
    to że nie mam kondensatorów 100nF nie znaczy że uszkodziłem atmege??
  • #16 4944066
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    Nie ale znaczy, że nie znasz podstaw elektroniki
    Koniecznie przylutuj 100nF(taki mały ceramiczny żółty albo niebieski) najlepiej prosto do padów uC:)
    I potem sprawdź czy jest transmisja:)
  • #17 4944200
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    po dolutowaniu 100n nadal wyskakuje błąd "Device missing or unknown device (-24)" po kliknięciu ignore wgrywa do 70% później weryfikuje i wyskakuje "write failed"
  • #18 4944274
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    Po co klikać ignore jeśli nie rozpoznaje sygnatury (bezsens).
    Sprawdzić raz i jeszcze raz zasilanie na procku Ma być 5V! (Na VCC i aVCC), sprawdzić masy!
    Potem sprawdzić zwarcia!
  • #19 4944357
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    jeszcze mam podać 5v na avcc a mase na agnd też napisz co ma byc podpięte jeszcze do procka poza vcc gnd miso mosi sck rst
  • #20 4944387
    Balu
    Poziom 38  
    Posty: 4397
    Pomógł: 323
    Ocena: 48
    Ja zawsze podłączam (co prawda w m8 jest jakiś błąd i jest ponoć wewnętrznie zwarte, ale ja i tak zawsze podaję:) ).
    Avcc=Vcc
    Agnd=GND
    Reszta w/g opisu Twojego:)
  • #21 4944467
    stas11
    Poziom 13  
    Posty: 93
    Pomógł: 1
    Ocena: 17
    A czy używasz najnowszej wersji PonyProga?
    I czy ustawiłeś w odpowiednich okienkach "AVR micro" i "ATmega8". Nastepnie w menu "SETUP" wybierz "Interface setup" i "I/O port setup" ustaw na "parralel" i wybierz "AvrISP I/O".
    Jak to już zrobiłeś i wciąż nie czyta sygnaturki procka to znaczy, że w dalszym ciągu brak komunikacji i trzeba by na spokojnie sprawdzić kabelki: ich prawidłowość połączeń i lutowanie.
    Ps. port LPT w biosie na 378.
  • #22 4951321
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    w końcu udało mi się uruchomić programator ale po wgraniu programu już nie mogę przeprogramować znowu wyskakuje mi ten sam komunikat
    to znaczy że znowu coś mi się stało z programatorem czy muszę podpiąć kwarc zewnętrzny taki jak podałem w programie?
  • #24 4951487
    malutki000
    Poziom 17  
    Posty: 247
    Pomógł: 11
    Ocena: 16
    cos grzebalem w fuse bitach tylko nie pamiętam co tam ustawilem ale z tego co pamiętam to wszędzie odznaczone ale to nic dzisiej pojdę po następny uP

    Moderowany przez And!:

    Z twojej wypowiedzi nic nie wynika,
    staraj się formułować bardziej sensowne posty.

  • #25 4952051
    stas11
    Poziom 13  
    Posty: 93
    Pomógł: 1
    Ocena: 17
    Jak wszystkie fusebity zaptaszkowane tzn. CKSEL również, więc uP chce kwarca zewnętrznego, jak go nie ma to nie ruszy.
  • #26 5688825
    jerzykiler
    Poziom 11  
    Posty: 10
    witam. mam usbasp i atmege8. programowala sie bardzo dobrze, az nagle cos chcialem zmienic w fusebutach i avrdude przestal widziec jej sygnature :/ uklad mam podlaczony w ten sposob: schemat
    , jako oscylator mialem podlaczone 8MHz(taki srebrny element w ksztalcie zaokraglonego prostokata). zmienilem fuse bita na, chyba, ext. rc osc 8-12MHz. teraz uklad nie chce sie programowac ani przy podlaczniu do xtal1-xtal2 ani kwarcu 8MHz, ani 12 MHz. nie pomaga tez zwarcie zworki "wolne programowanie". czy da sie jakos uratowac te procki? pozdrawiam.
  • #28 5689468
    jerzykiler
    Poziom 11  
    Posty: 10
    dzieki za odzew. w jednym procku(atmega8l)rzeczywiscie pomoglo podlaczenie c 33pF i 2k w ten sposob:
    Jak odblokować ATmega8 po ustawieniu niewłaściwych lock i fuse bits?, ale drugi dalej nie odpowiada(tym bawilem sie kiedys i nie mam pojecia, jak sa ustawione fusebity). mozna z nim cos jeszce zrobic? czy wyjsciemy byloby przeprogramowanie wszystkich fusebitow na ustawienia fabryczne?

    wiem juz jak sa ustawione fusebity: pomylilem high i low i wyszlo low=c9 high=ef. czy moge to jakos odblokowac, jesli mam kwarce 8 i 12 MHz? do tego mam ne555 generujacy ok. 37KHz. pozdrawiam. dodam, ze chodzi o atmege 8L.

Podsumowanie tematu

✨ Problem dotyczy zablokowania mikrokontrolera ATmega8 po nieprawidłowym ustawieniu fuse i lock bitów, co skutkuje brakiem odczytu sygnatury procesora i niemożnością programowania przez interfejs SPI. W dyskusji podkreślono, że programowanie nie może zostać całkowicie zablokowane przez SPI, a przyczyną problemu jest najczęściej niewłaściwe ustawienie źródła taktowania (fuse bits dotyczące oscylatora). Rozwiązaniem jest zapewnienie odpowiedniego sygnału zegarowego, np. podłączenie zewnętrznego generatora RC lub kwarcu, zgodnie z konfiguracją fuse bitów. Zalecane jest także sprawdzenie poprawności połączeń, zasilania (5V na VCC i AVCC, masa na GND i AGND) oraz kondensatorów filtrujących (100nF). W przypadku ustawienia fuse bitów na zewnętrzny oscylator RC, konieczne jest podłączenie odpowiedniego układu RC do nóżki XTAL1. W niektórych przypadkach pomocne jest zbudowanie generatora impulsów na bramkach TTL. Próby programowania bez właściwego sygnału zegarowego skutkują odczytem sygnatury (FF,FF,FF) lub błędami komunikacji. Wskazano również, że przywrócenie ustawień fabrycznych fuse bitów wymaga podania właściwego sygnału zegarowego. Dyskusja zawiera także uwagi dotyczące konfiguracji programatora (np. PonyProg) i poprawnego ustawienia portu LPT. Podsumowując, odblokowanie ATmega8 po błędnym ustawieniu fuse bitów wymaga zapewnienia odpowiedniego źródła taktowania zgodnego z ustawieniami fuse oraz poprawnej konfiguracji sprzętowej i programowej.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA