Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Zablokowany ATMEGA 8, złe ustawienie fuse bitów

pawelvod 10 May 2006 15:05 17478 21
  • #1
    pawelvod
    Level 18  
    Chciałbym prosić o potwierdzenie, bo nie mam pewności. Zablokowałem ATMEGA8 poprzez zzerowanie wszystkich fusebitów (stan 0) odpowiadających za zagar. Czy gdy w innym urządzeniu z mikrokontrolerem wykonam program:

    while (1){PORTB ^ = 0xFF;}

    i podłącze jeden z pinów do wyjścia xtal1 to zablokowany mikrokontroler ruszy?
    Czy będzie w ruszaniu przeszkadzał kwarc 16mhz z kondensatorami, bo tak wcześniej pracował mikrokontroler, czy też muszę go na czas ruszania wylutować?
  • #2
    morph13
    Level 25  
    Podaj sygnał zegarowy z generatora zewnętrznego na pin wejściowy generatora w AT8. Najlepiej przez rezystor 1k szeregowo połaczony z 10nF. Generator na bramkach lub tranzystorach. Nie musi to byc od razu 10MHz, wystarczy 100kHz. Ale proces odczytu z procka potrwa trochę dłużej.

    Jeśli tylko zmieniłes bity konfiguracji generatora to...
    Powodzenia.
  • #3
    pawelvod
    Level 18  
    Dla wszystkich co kiedyś zablokują mikrokontroler napiszę co i jak, bo udało mi się odblokować bez budowania generatora:

    Wziąłem poprzednie urządzenie mikrokontrolerowe, które działało, odpaliłem na nim program:

    Code:
    DDRC = 0b11111111;
    
    while (1) {PORTC ^= 0b11111111}

    Przylutowałem jedną z nóżek C działającego mikrokontrolera do niedziałającego XTAL-1. Oprucz tego w układnie z niedziałającym mikrokontrolerem musi być układ reset i zasilanie :) bo ja początkowo zapomniałem o tym.
    Ja swój reset zrobiłem trochę dłuższy, ale może zadziała na standardowym. Ja dałem opornik 10kΩ + kondensator 100µF.
    Wgrałem ww program do działającego układu z ustawieniami CKSEL 0011.
    W programie ISP Programmer po podłączeniu do niedziłającego mikrokontrolera ustawiłem częstotliwość na 1 000 000 bo domyślnie mam FASTEST.
    Zablokowany mikrokontroler ruszył... powodzenia.
  • #4
    wujo17
    Level 12  
    Odswiezam temat bo mam pytanie do tego co napisal pawelvod.

    Po co jest ten reset o ktorym jest mowa. Ja mam na plytce klawisz do resetowania podlaczony przez rezystor i kondensator, czy o to chodzi?

    Zrobilem tak jak jest napisane powyzej (CKSEL 0011 czyli Internal RC oscilator 4 Mhz) wgralem program, podalem go na XTAL1 niedzialjacego procka no i lipa.

    A moze nie da sie tego zrobic przez SPI?

    Pomozcie bo mam juz 3 zablokowane Atmegi8 i troche ich szkoda.
  • #5
    Holy

    Level 14  
    Jak w fusebitach wyłączyłeś SPI to zostaje Ci tylko programowanie równoległe. :(
  • #6
    wujo17
    Level 12  
    A jak na fusach wylacza sie SPI?

    Ja przestawialem tylko CKSEL3..0 i CSOP
  • #7
    Holy

    Level 14  
    Jest w fusach coś takiego jak SPIEN. Niestety miałem 2 takie przypadki (ATMEGA128 i ATTINY2313), które po zmianie konfiguracji zegara na niepoprawną w jakiś "magiczny" sposób wyzreowały sobie wszystkie fusy (łącznie z SPIEN). Złóż sobe programator równoległy, albo poszukaj na necie kogoś kto może "sprzedaje" taką usługę.
  • #8
    pawelvod
    Level 18  
    Mikrokontrolery które "zablokowałem" miały poprzestawiane tylko CKSEL w ten sposób, że chodziły na generatorze zewnętrznym. Mój opis tyczy się więc budowy takiego generatora przy użyciu programiku na innym kontrolerze. Oczywiście ma się to na nic kiedy zablokujemy port RESET mikrokontrolera, albo całe programowanie SPI. Wtedy tylko programator równoległy. Ja jednak najczęściej kombinuje coś przy bitach odpowiedzialnych za sztbkość zegara taktującego więc takich zablokowanych mikrokontrolerów zebrało mi się kilka. Zamiast budować generator można wtedy wykożystać stary działający układ na mikrokontrolerze, co w sumie jest oczywiste jak się pomyśli, ale po przeczytaniu jeszcze oczywistrze :) . Dlatego o tym napisałem.
  • #9
    kamyczek
    Level 38  
    Budowa takiego generatorka to banał 1 opcja wyjąc jaki bądz generator z zakresu 1MHz do 16MHz ze starej płyty od komputera , i podłaczyć do niej +5V mase i doprowadzić sygnał do we zegarowego
    2 możliwiść podłaczyć dowolny inny procek z kawarcem obok zasilić go dodać 1 buforek do Xtal out i zabrać sobie sygnał zegarowy do zablokowanego proca ... można nawet podpiąc układ na dowolnej ttlce lub c-mosie 7404 czy np ma 4060 ...
  • #10
    Espablo
    Level 14  
    Mnie też udało się zablokować atmege8 przy zmianie fusebitów. Czytając na tym forum sposoby odblokowania, coraz bardziej otwierał się przede mną czarny scenariusz. Jednak udało mi się go odblokować bez programatora równoległego i dodatkowych "bajerów". A zrobiłem to tak:
    do programowania atmegi używam program Adama Dybkowskiego "ISP prog" (nim też udało mi się uC zablokować). Miałem dwa zmontowane układy na Atmega8 i chciałem je przełączyć na zew. kwarc 4MHz no i oczywiście jeden układ "padł", programator go nie wykrywał, brak reakcji na wszelkie sposoby "ożywienia". Następnie podłączyłem układ z dobrym działającym uC i "zczytałem" z niego (tak mi się wydaje) ustawienia Fuse and lock bits, nie zatwierdzając żadnych ustawień przełączyłem programator (przełożyłem wtyczkę) na martwy uC i zatwierdziłem ustawienia fusbitów. I tu niespodzianka Atmega8 ŻYJE i ma się dobrze już kilka miesięcy.
    Może to w czymś Ci pomoże Pozdrawiam.
  • #12
    crazy_phisic
    VIP Meritorious for electroda.pl
    delta85 wrote:
    Niestety przy probie odblokowania ATmega 8535 sposobem opisanym przez pawelvod wszystkie bity ustawiaja sie na jedynki

    hmmm... same się ustawiają? Czy może im troszeczke pomogłeś? ;)
  • #13
    delta85
    Level 16  
    ATmega 8535 zablokowany. Program ISPProg odczytuje wszystkie fusebity jako jedynki. Po zmianie ich na takie, jakie sa na innym, nie zablokowanym i dzialajacym procku i probie ich zaprogramowania, zmieniaja sie spowrotem na jedynki.
  • #14
    zumek
    Level 39  
    To włącz autodetekcję , bo z zaptaszkowanym Don't autodetect device , force możesz odczytać fusebity , nawet z filiżanki po kawie :D

    Piotrek
  • #19
    zumek
    Level 39  
    Zaquadnik wrote:
    Czyli zachowuje się jakby nie wykryłprocesora.

    Dokładnie tak.
    Zaquadnik wrote:

    Może SPIEN zaprogramowałeś, a wtedy tylko programator równoległy pomoże.

    Z poziomu ISPprog-a , nie da się zmienić stanu bitu SPIEN.

    Piotrek
  • #20
    KwoiteK
    Level 16  
    nie wiem czy do tego tametu ale napisze.

    Mam magiczna atmege:). stracila sygnature, programatory ja nie widza, ale....
    ale sie programuje. Co najlepsze tylko przez Simple programmer i tylko przez bascoma. STK200 jej nie chce programowac.

    nie mozna zmienic fusebitow. kwarc jest wiec caly czas 11.0592 tak jak ustawilem kiedys przed "awaria".

    A co do odblokowania fusebitow. Pomysl z generatorkiem podlaczonym do xtal nie we wszystkich atmegach pomaga.

    Dziwaczne te procki:)
  • #21
    Holy

    Level 14  
    Tak sobie poczytałem, to dołożę i swoje. Ostatnio odblokowywałem dwa atmele m128 i t26 programatorem PAR/HVS (równoległy i wysokonapięciowy szeregowy). Jak zawsze przed tą robotą sprawdzam fusy - i co ciekawego? Człowiek niby zmieniał tylko opcje zegara za pomocą STK200, a wszystie fusy ustawiły się na jeden. A właśnie podobno SPIEN nie można zmienić szeregowym. :) I co Wy na to, hihi. :)
  • #22
    simoneus1
    Level 16  
    to musiałbym zbudować zewnętrzny zegar hhmmm..... A co potem zrobić jesli zrobie ten sygał zegarow na tym 7414 to co z tymi FuseBitami jak je ustawic żeby ich znowu nie zablokować ??

    Moderated By And!:

    Fusebity FAQ