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

ATMEGA16 - Jak ustawić Fusebits dla kwarcu 16MHz?

PiotrLotnik 24 Maj 2005 15:55 1818 17
  • #1 1521112
    PiotrLotnik
    Poziom 15  
    Posty: 207
    Pomógł: 2
    Ocena: 2
    Witam, na wstępie chce zaznaczyć, że korzystałem z opcji "Szukaj" i to co tam znalazłem jeszcze bardziej mnie przekonało do napisania tego postu.
    Noty katalogowe też przeglądam ale dla amatora są one troche ciężko strawne :)

    Mam problem z M16, pewnie Fusebits sa temu winne.
    Raz układ wstaje i działa pięknie a raz nie.
    Problemy pojawiają sie przy podłanczaniu zasilania, nie pomaga reset z BASCOMa.


    Ostatnio bawiłem sie Fusebits zeby przestawić na kwarc i tylko sobie kłopotów narobiłem.

    Prosze niech ktoś poda ustawienia wszystkich Fusebits tak żeby układ się odpalał i działał na kwarcu 16MHz.

    Prosze jeszcze zwrócić uwage ze jestem amatorem i trzeba mi tłumaczyć jak dziecku.
  • #3 1521654
    damdam

    Poziom 34  
    Posty: 2299
    Pomógł: 274
    Ocena: 950
    Na poczatek 'do przywracania 'MEGI' do zywych' skonstruuj sobie prosty generatorek np 1MHz prostokat. Baaardzo sie przydaje przy zabawie z FUSE'ami :)


    --
    pzdr,damdam
    Konto firmowe:
    ACME Damian Michalski
    Boczna 3a, Żory, 44-240 | Tel.: +48XXXXXXXXX (Pokaż)
  • #4 1522008
    PiotrLotnik
    Poziom 15  
    Posty: 207
    Pomógł: 2
    Ocena: 2
    Co sie tyczy generatora zewnętrznego 1MHz to wczoraj przerabiałem ten temat :)
    Uzyłem wtedy M8 do ratowania M16:)

    Obym i tym razem nie namieszał bardziej w FuseBits

    Dodano po 1 [godziny] 2 [minuty]:

    No z tym M16 to dalej męczarnia :(
    Bawiłem sie tymi FuseBits (tak na oko) ale nic nie pomogła.
    Układ sie programuje ale sie nie odpala. zrobiłem najbanalniejszy programik wyswietlania na LCD (działającym) i nic.

    Bez pomocy sie nie obejdzie :(
  • #6 1522385
    PiotrLotnik
    Poziom 15  
    Posty: 207
    Pomógł: 2
    Ocena: 2
    $regfile = "m16def.dat"
    $crystal = 16000000

    '-------------------------------------------------------------------------------------------
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2



    '-------------------------------------------------------------------------------------------


    Led Alias Porta.0
    Ddra.0 = 0
    Cls


    Do
    Led = 0
    Wait 1
    Led = 1

    Lcd "Nareszcie działa"
    Wait 1
    Loop


    Prograamu prostrzego nie moze byc.
    NASZCZĘŚCIE JUŻ DZIALA, NA RAZIE SAMA DIODA MRYGA ALE WIEM ZE JUŻ M16 JEST OK. Teraz tylko znaleś przyczyne niedziałania wyświetlacza :)

    Pozdrawiam
    Piotr

    Dziala na 16MHz rezonatorze.
  • Pomocny post
    #7 1522582
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    No to żeś tak szczęśliwie trafił na JTAGA, który jest na porcie C... ;)
    Dorzuć na początku, po konfigach taką wstawkę w asemblerze, jeżeli nie widzisz potrzeby wyłączać JTAG-a fusebitami :
    $Asm
    push r16
    in r16, MCUCSR
    sbr r16, 1<<JTD
    cli
    out MCUCSR, r16
    out MCUCSR, r16
    sei
    pop r16
    $End Asm
  • #8 1522588
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 131
    A R/W wyswietlacza podpiete do masy?
  • #9 1522611
    PiotrLotnik
    Poziom 15  
    Posty: 207
    Pomógł: 2
    Ocena: 2
    Ok. Poszło i działa (jak na razie) :)

    Nie wiele pamiętam z ASM ale warto by tak napisać wstawke z ustawianiem wszystkich FuseBits
    Dla początkujących to nabezpieczniejsze rozwiązanie.

    Pozdrawiam

    A przy okazji co to jest JTAG (wiem tyle ze trzeba go przestawić na disable
  • #10 1522638
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Nie ma wstawek na konfigurację fusebitów, od tego jest programator, a to jest po prostu programowa (alternatywna do Fusebitu JTAGEN), ważna do następnego resetu, metoda wyłączania magistrali JTAG, służącej m.in. do śledzenia "krok po kroku" tego co robi procesor, taka symulacja "On chip". Więcej szczegółów jak zwykle na http://www.atmel.com/... ;)
  • #11 1526540
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Przy kłopotach z kwarcem spróbuj wymienic go na inny nawet innej firmy, kwarce są różne i w danej aplikacji różnie chodzą.
    Pozdr. N.
  • #12 1526588
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Nawigator napisał:
    Przy kłopotach z kwarcem spróbuj wymienic go na inny nawet innej firmy, kwarce są różne i w danej aplikacji różnie chodzą.
    Pozdr. N.


    A kto tu pisał o jakichkolwiek problemach z kwarcem?
  • #13 1526612
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Autor pytania PiotrLotnik:
    cyt:
    Raz układ wstaje i działa pięknie a raz nie.
    Problemy pojawiają się przy podłanczaniu zasilania, nie pomaga reset z BASCOMa.
    Prosze niech ktoś poda ustawienia wszystkich Fusebits tak żeby układ się odpalał i działał na kwarcu 16MHz. //cyt

    No to oczym to jest jak nie o kwarcu? Przy marnym kwarcu oscylator może sie nie wzbudzać, najłatwiej to sprawdzic wymieniając kwarc. Szczególnie kwarce w niskiej obudowie są kłopotliwe. McRancor - nie spotkałeś sie z tym zjawiskiem? Bo ja już wiele razy.
    Pozdr. N.
  • #14 1526646
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    PiotrLotnik napisał:
    Ok. Poszło i działa (jak na razie) :)

    Nie wiele pamiętam z ASM ale warto by tak napisać wstawke z ustawianiem wszystkich FuseBits
    Dla początkujących to nabezpieczniejsze rozwiązanie.

    Pozdrawiam



    Czytaj wszystko, a nie tylko pierwszego posta, problem nie leżał w kwacu tylko w źle ustwaionych fusach i został rozwiązany
  • #15 1527770
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Czytam pilnie z góry na dół ale pisało jak byk:
    "Raz układ wstaje i działa pięknie a raz nie".
    Jakby miał źle ustawione fuses to by albo chodziło albo nie a nie sporadycznie.
    Pozdr. N.
  • #16 1527831
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Nawigator napisał:
    Czytam . z góry na dół ale pisało jak byk:
    "Raz układ wstaje i działa pięknie a raz nie".
    Jakby miał źle ustawione fuses to by albo chodziło albo nie a nie sporadycznie.
    Proponuję od czystej teorii przejść do praktyki i pobawić się, dotykając palcem wyprowadzeń oscylatora 16MHz przy zaprogramowanym i nie zaprogramowanym bicie konfiguracyjnym CKOPT... Poza tym chyba warto już zakończyć tą jałową dyskusję, skoro autor tematu jest już zadowolony i nie ma dla nas żadnych nowych rewelacji ? ;)
  • #17 1528892
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    A którym palcem?
    U ręki czy u nogi?
    To nie jest klarowne zakonczenie tematu że autor zadowolony. W końcu nie wyjaśnił szczegółów co zrobił. No ale faktycznie dyskusja robi sie jałowa.
    Pozdr. N.
  • #18 1976489
    PiotrLotnik
    Poziom 15  
    Posty: 207
    Pomógł: 2
    Ocena: 2
    Temat zakończony.
    Problem rozwiązany :)
    Doświadczenie zdobyte :)
    Pozdrawiam

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy problemów z poprawnym ustawieniem fusebitów w mikrokontrolerze ATmega16 pracującym z kwarcem 16 MHz. Autor miał trudności z niestabilnym uruchamianiem układu, co najprawdopodobniej wynikało z błędnej konfiguracji fusebitów. Wskazano, że do programowania fusebitów służy programator, a nie kod źródłowy, oraz zwrócono uwagę na konieczność wyłączenia interfejsu JTAG, który domyślnie jest aktywny na porcie C i może powodować konflikty. Zaproponowano także użycie prostego generatora sygnału 1 MHz do testów oraz sprawdzenie poprawności podłączenia sygnałów wyświetlacza LCD, w tym podłączenia pinu R/W do masy. W końcu autor potwierdził, że po poprawnym ustawieniu fusebitów i wyłączeniu JTAG układ działa stabilnie na kwarcu 16 MHz. W dyskusji pojawiły się sugestie dotyczące wymiany kwarcu na inny model w przypadku problemów z oscylatorem, jednak ostatecznie problem leżał w konfiguracji fusebitów. Temat został zakończony z potwierdzeniem rozwiązania problemu i zdobyciem doświadczenia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA