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

ATmega128 - blokada po zmianie fusebitów na zewnętrzny kwarc

chuppa 08 Mar 2012 12:02 2738 17
REKLAMA
  • #1 10649940
    chuppa
    Poziom 10  
    Witam. Pięć zablokowanych atmeg 128 to mój bilans na dzisiaj. Potrzebuję pomocy przy ustawieniu fusów w at128. Programator avtprog1 (czyli coś jak stk500), program avrstudio4. Po podłączeniu do programatora wszystko jest odczytywane z procka poprawnie. Wsad wchodzi bez problemu. Natomiast po zmianie na cksel 1111 11, czyli zewnętrzny kwarc atmega pada. Pierwszy Uc programowałem w układzie pozostałe cztery poza układem. Jako że zblokowałem ich pięć to mogłem poeksperymentować i zauważyłem że po zmianie jakiegokolwiek ustawienia w fusebitach (nawet zostawiając na domyślnym wewnętrznym oscylatorze 1mHz zmieniając jedynie z 64ms na 4ms) weryfikacja nie udaje się. Jeżeli ktoś jest w stanie mi pomóc to bardzo proszę, przetrzepałem już wujka google jak mogłem ale zapewne mój poziom wiedzy nie pozwolił mi znależć rozwiązania.

    poprawny odczyt:

    ATmega128 - blokada po zmianie fusebitów na zewnętrzny kwarc

    ATmega128 - blokada po zmianie fusebitów na zewnętrzny kwarc

    oraz odczyt po zmianie na zew. osc.

    ATmega128 - blokada po zmianie fusebitów na zewnętrzny kwarc
  • REKLAMA
  • #2 10649959
    mirekk36
    Poziom 42  
    Może tak pomyśleć o programie MkAvrCalculator i jego zakładce "Fusy uproszczone" ??? dzięki temu trudno zablokować procka .... a z twoim prockiem będzie działał w pełni za FREE
  • #3 10649997
    chuppa
    Poziom 10  
    oczywiście korzystałem z mkavr. najmniejsza zmiana powoduje blokadę.
    wiem że jesteś autorem tego programu. szacunek.
  • REKLAMA
  • #4 10650447
    Sławek-K
    Poziom 15  
    Ja co prawda używam PonyProg (na domyślnych ustawieniach), ale tą częstotliwość programowania to ustawiasz czy jest ona domyślna? Może warto zmniejszyć.......?
    Nie wiem też czy potrzebujesz M103C (zgodność z ATmega103) ....?
  • #5 10650517
    Konto nie istnieje
    Konto nie istnieje  
  • #6 10650555
    mirekk36
    Poziom 42  
    chuppa napisał:
    oczywiście korzystałem z mkavr. najmniejsza zmiana powoduje blokadę.
    .


    Ale poczekaj, opisz może co robiłeś czy robisz po kolei i co to wg ciebie blokada?

    Rozumiem, że gdy podłączasz procka z fabryki to można odczytać skorzystać z klawisza "Wykryj podłączony AVR" w zakładce "Programator" i wtedy wykrywany jest prawidłowo ATmega128 ???

    Jeśli tak ? - to później jak rozumiem zmieniasz ustawienia fusebitów

    tak przy okazji czy kasujesz fusebit:

    ATmega103 compatibility mode

    ????

    No i przy okazji gdy już przeprogramujesz na zewn. kwarc to czy masz go poprawnie podpiętego ? bo jeśli nie - to nie ma co się dziwić, że procek się więcej nie odzywa :(
  • #7 10650869
    chuppa
    Poziom 10  
    a więc tak. Podłączam nówke procek. Programator go wykrywa. Odczytuje sygnaturę prawidłową dla atmegi 128. Ładuję wsad i wsad wchodzi i jest ok. Potem wchodzę na fusy zmieniam oscylator na zewnętrzny, oczywiście odhaczam jtagen i zgodność z m103, programuje i koniec. Już procek nie jest wykrywany. Tzn nie można odczytać nawet sygnatury.
    Kwarc w adapterze do programowania jest 8mHz oraz 2 kondensatory 30pF.
    W mkavr program prawidłowo wykrywa nowy procek. Potem już wyskakuje napis błąd.
    A propo poprawności podpiętego zewnętrznego kwarcu. Jak już wcześniej pisałem pierwszy procek programowałem w układzie z tym właśnie kwarcem, gdy się zablokował resztę procków programowałem już poza układem w adapterze do programatora który ma swój kwarc zewnętrzny 8mHz i jest dokładnie to samo.
    Z prockiem nic się nie dzieje złego jeżeli zostawię fusy domyślne. Wystarczy że zmienię cksel z domyślnych Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms na Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms i już jest błąd.
  • #8 10651272
    mirekk36
    Poziom 42  
    chuppa napisał:
    Wystarczy że zmienię cksel z domyślnych Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms na Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms i już jest błąd.


    To bardzo ale to bardzo dziwne - hmmm nic mi na razie nie przychodzi do głowy...
  • #9 10651333
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #10 10651388
    chuppa
    Poziom 10  
    Nie ma kondensatora. Reset idzie bezpośrednio do programatora
  • #11 10651483
    Konto nie istnieje
    Konto nie istnieje  
  • #12 10651607
    chuppa
    Poziom 10  
    Jaki elektrolit... procek jest wsadzony w adapter do programatora. Fuse bitów nie ustawiam bo się nie da. Procek funkcjonuje tylko na domyślnych ustawieniach, jakakolwiek próba zmiany czegokolwiek blokuje procek. Programator jest zasilany z kompa czyli usb, nie jest to samoróba tylko kupny programator, na innych atmegach działa normalnie, tzn innych niż 128, czyli 8 i 32.
  • #13 10652418
    GienekS
    Poziom 32  
    Zrób próbę na innym typie programatora, jeżeli maż taką możliwość.
  • #14 10652617
    Fredy
    Poziom 27  
    Mam nadzieję że wiesz o tym , że zaprogramowany bit w AVR to bit który ma wartość =0.
    Może robisz odwrotnie?
  • #15 10652881
    chuppa
    Poziom 10  
    Ależ oczywiście. A w ponyprog jest na odwrót. Działam na tym programie i programatorze od dawna.
    A co do zmiany programatora, to nie mam możliwości ale przecież to żaden problem poskładać. I chyba będę musiał tak zrobić żeby wykluczyć programator. Lub potwierdzić jego błędne działanie.
  • REKLAMA
  • #16 10653404
    GienekS
    Poziom 32  
    A może coś jest z Avr-Studio jeżeli przez niego programujesz ? Którą wersje masz ? Może jest potrzebny Upgrade programatora ? Skore inne procesory programuje poprawnie a jedynie ATMega 128 ?
  • #17 10654083
    chuppa
    Poziom 10  
    korzystam też z bascoma i mkavr, a upgrade programatora mam ostatni.

    Dodano po 4 [godziny]:

    Korzystając z tej podpowiedzi BoskiegoDialera "Dokumentacja mówi, że aby atmega32 dawała się programować poprawnie, częstotliwość zegara w isp musi być mniejsza od f_cpu/4 lub nawet f_cpu/6. Jeśli pierwotnie się procesor programował idąc na wewnętrznym 1MHz, a teraz jest taktowany zewnętrznym 32kHz, to procesor nie będzie odpowiadał aż nie zmniejszysz częstotliwości programatora poniżej 6kHz. " z tego postu Link
    udało mi się odblokować procek. Teraz tylko trzeba go zaprogramować nie blokując.

    Dobra, wygląda na to że się udało

    ATmega128 - blokada po zmianie fusebitów na zewnętrzny kwarc


    Bardzo serdecznie dziękuję wszystkim za pomoc.

    Rozwiązanie problemu było bardzo proste. Programator podaje na vcc procka 2,15 v co wystarcza prawdopodobnie do odczytania sygnatury a nawet wgrania hexa ale już nie do zmiany fusów (tak myślę). Odblokowałem procek zmniejszając ISP do 22,48kHz, potem podałem z zewnątrz 5v i poszło. Czyli wniosek jest taki że gdybym od początku miał 5v na programatorze to nic by się nie blokowało przy zmianie fusów.
    Pozdrawiam i jeszcze raz dzięki za wykazane zainteresowanie.
  • #18 10723326
    j__g
    Poziom 1  
    Witam,

    Wczoraj też zablokowałem Atmegę 128 - co gorsza wlutowaną w moduł MMnet01.

    Przestawiłem CKSEL0 na 0 (podobnie jak CKSEL3..1) i wysłałem do procka.
    Oczywiście zaniemówił, a ja po lekturze tego forum uświadomiłem sobie co zrobiłem (jestem z pokolenia 8051, więc Fuse Bity to dla mnie nowość).

    Próbowałem podłączyć zewnętrzny generator bez wylutowywania rezonatora i kondensatora - nic to nie dało.
    Już postanowiłem wylutować te elementy, ale kolega podłączył złącze JTAG i ... udało się przestawić FB.
    Byłem w szoku, bo myślałem, że jak nie ma rezonatora, cze wewnętrznego oscylatora, to procek jest martwy, bo nie ma go co napędzać. A tu proszę. Może komuś przyda się taka informacja.

    Proszę poprawić post - regulamin pkt.3.1.13. Poleceni moderacyjne dotyczy wszystkich piszących w temacie. [dzimi]
REKLAMA