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

Atmega32 16PI - jak ustawić fuse bity dla zewnętrznego kwarcu 16MHz?

KEN 02 Kwi 2004 22:57 6207 19
REKLAMA
  • #1 577282
    KEN
    Poziom 14  
    Posty: 138
    Pomógł: 2
    Ocena: 2
    Witam!
    właśnie chcialem zaprogramować Atmege32 16PI, żeby śmigała na zewnętrznym kwarcu 16Mhz no i oczywiście zle ustawilem Fusa no i przestala sie komunikować (BASKOM i programator stk200) nie widzi jej w ogóle. Wiec mam dwie sprawy:
    1. jak uratować tą atmege
    2. jaki dokładnie (bo jest ich tam pare) powinien być ustawiony bit aby
    atmega32 smigala na zewnetrznym kwarcu 16Mhz
    Dzieki za odpowiedzi!
  • REKLAMA
  • #2 577347
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Spróbuj podłączyć zewnętrzny generator do XTAL1 i powinno pomóc(generator nie kwarc). z zewnętrznym powinno być CKOPT=0(zaprogramowane) a cksel3:0 mają być same 1(niezaprogramowane).
  • #3 577392
    KEN
    Poziom 14  
    Posty: 138
    Pomógł: 2
    Ocena: 2
    Ale ja programuje w Bascomie i tam jest to troche inaczej opisane. Nie wiem czy dobrze zrozumialem ale:
    1. nowa atmega ma tak
    Fusebit A987 - 0001:Internal RC oscilator 1Mhz
    Fusebit P - 1: osc,option not programmed

    2. a ja mam przestawić na
    Fusebit A987 - 1111:Ceramic resonator/Crystal,BOD enabled
    Fusebit P - 0:osc,option programmed

    dobrze to zakumałem czy zle??????? cobym nie zablokowł se nastepnej!!!
  • #4 577404
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Właśnie czytam pdf jak zrobić programator typu parallel tak aby można było odblokowywać zablokowane atmegi. Zaprojektuję coś prostego tylko do ustawiania fusów i lock'bitów.Tylko jakie podstawki przewidzieć?
    Dla kwarców 8Mhz ckopt=1
    dla 16MHz ckopt=0(zaprogramowane)
    cksel powinno być 1111(niezaprogramowane i sut1,0 też można zostawić 11(niezaprogramowane).
  • REKLAMA
  • #5 577408
    KEN
    Poziom 14  
    Posty: 138
    Pomógł: 2
    Ocena: 2
    ja akurat DIP 40 bardzo chetnie.
  • REKLAMA
  • #6 742172
    szaro
    Poziom 19  
    Posty: 411
    Pomógł: 10
    Ocena: 17
    Czy ktos odblokowal juz atmege32 ???
    Pozdrawiam
  • #7 742319
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Ja na okrągło programuję ATmega16 i 32 Używam do programowania PonyProg 2000 jeszcze nie zablokował mi żadnego procka.
    Podaję ustawienia fuzuf dla zewntrznego kwarcu:
    CKSEL0 = CKSEL1 = CKSEL2 = CKSEL3 = 1
    co do CKOPT, to ja go nie ruszam i jest = 1 i kwarc zewnętrzny leci bez problemu.
  • #8 742333
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Też mam pare meg poblokowanych, tylko u mnie wyłączyłem SPI :)

    Jest programator równoległy do AVRów i Megów, nazywa się sanos parallel programmer i szturcha wszystkie procki, tylko czasem się trzeba z podstawkami pobawić. Pony dla procesorów AVR ma zintegrowany kwarc, (wersja Ponyprog for AVR 2003) także polecam go, jednak czasem bywa tak że przy programowaniu bitów dojdzie do błędu, zwłaszcza przy kiepskim zasilaniu, dlatego ponego trzeba bezwzględnie zasilać z zewnętrznego zasilacza. Mnie kiedyś zablokowało 90S8535, ale programator ERICA wyczesał i teraz działa.
  • #9 745477
    midas78
    Poziom 19  
    Posty: 360
    Pomógł: 12
    Ocena: 12
    PonyProg'iem można sobie wszystko poustawiać (nie licząć blokady SPI). A w bascomie jakoś dziwnie to jest poopisywane. Ja też miałem z tym przygody, najpierw chodził na wewnętrznym, przeprogramowałem. Przestał chodzić całkiem na kwarcu. Dorzuciłem rezonator o niskiej częstotliwości i znowu przeprogramowałem, znowu zdechł. Wtedy uratował mnie generator zewnętrzny i przeprogramowanie.
    Trcohę Atmel zamieszał z tymi bitami, że ustawione bity to logiczne 0 a nie 1
  • #10 3310318
    jacynka84
    Poziom 26  
    Posty: 1170
    Pomógł: 13
    Ocena: 29
    Tak mam na kwarc 11059200 Atmega32 ustawione Fuse'y:

    Atmega32 16PI - jak ustawić fuse bity dla zewnętrznego kwarcu 16MHz?
  • #11 3310980
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Mam takie pytanie, dlaczego koledzy piszą tu o "zewnętrznym kwarcu", czyżby istniał "wewnętrzny kwarc" o którym ja nic nie wiem?
    Pozdr. N.
  • #12 3310994
    jacynka84
    Poziom 26  
    Posty: 1170
    Pomógł: 13
    Ocena: 29
    Rzeczywiście, nie ma "wewnętrznego " kwarcu ,to tylko slang - jest Oscylator R/C.
    Ale to ważne aby powiedzieć 'zewnętrzny' , bo gdybyśmy powiadali oscylator czy rezonator -
    to po pierwsze bardzo niewielu by rozróżniło osc. od rez. a jeszcze mniej osób by wiedziało co może być w "środku" uP a co na zewnątrz.
    PS .ja nie wiem jaka jest różnica między Oscylator'em a Rezonator'em - Po mojemu żadna znacząca , ale pewnie ma to jakieśtam znaczenie.
  • #13 3311278
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    bardzo dobry wywód kolego jacynka84 ;) ... dodam do tego tylko, że jest jednak znacząca różnica pomiędzy rezonatorem a oscylatorem. Też tak bardzo ogólnie: ten pierwszy - rezonator działa w oparciu o kawałek kwarcu i częstotliwość jego drgań jest bardzo dokładna natomiast oscylatory to o wiele prostsze układy zbudowane w oparciu o elementy RC w związku z czym mają one dużo mniejszą dokładność jeśli chodzi o generowany sygnał częstotliwości i bardziej podatny na czynniki zewn. Dlatego stosuje się w prockach bity kalibracyjne, dzięki którym można w miarę dokładnie próbować dostroić sobie tę częstotliwość do wzrocowej ;)

    pozdrówka
  • #14 3311356
    jacynka84
    Poziom 26  
    Posty: 1170
    Pomógł: 13
    Ocena: 29
    O to to - bity kalibracyjne - cóż to i po co?? i jak je "zrobić"?
  • #15 3311405
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    np ATmega8 - rejestr OSCCAL - służy do kalibracji wewn oscylatora ;) Dokładność częstotliwości zależy od napięcia, temperatury itp... w różnych prockach może być różnie z tym ustawianiem ale mają to i AVRy i PICe i inne... trzeba poczytać w notach aplikacyjnych jak dokładnie się posługiwać kalibracją w danym procku - jest tam to zawsze dokładnie opisane

    pozdrówka
  • #16 3432137
    UkaszV6
    Poziom 13  
    Posty: 54
    Pomógł: 8
    Tak na szybko nie wiecie jakim sygnałem z generatora moge taktować zewnetrznie Atmege32. Głownie chodzi mi jaka amplituda? Tez głupi ustawiłem sobie same zera w CKSEL i ja zblokowałem .
  • #17 3432143
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Stan wysoki musi być wyższy niż 0.7Vcc, a stan niski mniejszy niż 0.3Vcc, przedział częstotliwości wiadomo jaki.
  • REKLAMA
  • #18 3432878
    UkaszV6
    Poziom 13  
    Posty: 54
    Pomógł: 8
    Dzięki Ci dobry człowieku
  • #19 3820546
    Xardas85
    Poziom 11  
    Posty: 7
    czzli reasumujac dla ATmegi8 dla kwaru 11,059 MHz konfiguracja ma byc:

    CKOPT 0 -> zaprogramowany
    CKSEL 3..1 --> wszystkie na 1 -->czyli niezaprogramowane

    rozumiem ze PB6,(Xtal1) wg dokumentacji jako input trzeba dac DDRB bit 6 na 0 jako wejscie, co z pull-upem ? na PORTB bit 6 ? 0 bez pull -upa??

    analogicznie PB7 (Xtal2) wg dokumentacji jako output, czyli DDRB bit 7 na 1 i tez bez pull -upa na portB bit 7 ?

    wie ktoś jak przy uzyciu AVR-GCC (WinAvr) ustawic CKOPT CKSEL ???
  • #20 3823498
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Jeżeli fusebity przełączają procesor na oscylator kwarcowy to przejmuje on piny XTAL i wtedy ustawienie pull-up i we/wy nie ma wpływu, można zostawić dowolnie, np. zerowe.
    Pzdr. N.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy ustawienia fuse bitów w mikrokontrolerze Atmega32 16PI do pracy z zewnętrznym kwarcem 16 MHz oraz sposobów odblokowania układu po błędnej konfiguracji. Zalecane ustawienia fuse bitów dla zewnętrznego kwarcu 16 MHz to CKSEL[3:0] = 1111 (niezaprogramowane), CKOPT = 0 (zaprogramowany). Wskazano, że bity fuse są aktywne na poziomie logicznym 0, co może powodować nieporozumienia. Do odblokowania zablokowanego mikrokontrolera polecane są programatory równoległe, np. sanos parallel programmer, lub programatory szeregowe jak PonyProg 2000, przy czym ważne jest stabilne zasilanie podczas programowania. W przypadku braku komunikacji po złym ustawieniu fuse bitów, pomocne jest taktowanie mikrokontrolera zewnętrznym generatorem sygnału podłączonym do pinu XTAL1. Omówiono także różnicę między oscylatorem RC (wewnętrznym) a rezonatorem kwarcowym (zewnętrznym) oraz kwestie kalibracji wewnętrznego oscylatora za pomocą rejestru OSCCAL. Przy pracy z kwarcem piny XTAL1 i XTAL2 są przejmowane przez oscylator i ustawienia portów (DDR, pull-up) nie mają wpływu. Podano również parametry sygnału zewnętrznego generatora: poziom wysoki powyżej 0,7 Vcc, niski poniżej 0,3 Vcc. W Bascomie i innych środowiskach programistycznych opis fuse bitów może być nieintuicyjny, dlatego zaleca się dokładne sprawdzenie dokumentacji i not aplikacyjnych.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA