Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Fusebity do Atmegi8A i kwarcu 16Mhz

Wojtek001 05 Maj 2012 21:45 1919 12
  • #1 05 Maj 2012 21:45
    Wojtek001
    Poziom 15  

    Witam! Mikroprocesory programuje już od roku jednak dopiero teraz zaszła potrzeba użycia zewnętrznego kwarcu. Z uwagi na dużą ilość "wypadków" przy pracy z fusebitami oraz brak czasu i środków finansowych na podróże do sklepu elektronicznego i kupowanie nowych Atmeg8A ,zdecydowałem się upewnić na 100% czy dobrze ustawię swoją Atmege.


    Kompilator to AVR Studio
    Procesor to Atmega8A
    Kwarc pracuje z częstotliwością 16Mhz

    Poniżej zamieszczam screen'a AVR Studio.

    Fusebity do Atmegi8A i kwarcu 16Mhz

    1) Bardzo proszę bardziej doświadczonych kolegów o wskazanie mi co należy zmienić w tym oknie?
    2) Jakich powinienem użyć kondensatorów (o jakiej pojemności) do tego kwarcu?
    Tak się składa że najmniejsze jakie mam mają 10nF więc to chyba zbyt dużo. Czy kwarc będzie działał poprawnie bez żadnych kondensatorów?

    0 12
  • #2 05 Maj 2012 21:59
    mirekk36
    Poziom 42  

    Posłuchaj - zassaj sobie program MkAvrCalculator - i zajrzyj do jego zakładki "Fusy uproszczone" - zobacz - prościej się już tego nie da zrobić - a przy okazji tego programu już nigdy nie będziesz miał wypadku - ;) o jakim pisałeś tzn przypadkowym zablokowaniu procka.... Oczywiście program będzie działał w pełni za FREE z twoim prockiem m8. Sprawdź sam.

    0
  • #3 05 Maj 2012 22:18
    Wojtek001
    Poziom 15  

    Właśnie bałem się tego że będę namawiany do tego typu rzeczy jak np. pobieranie nowych aplikacji. Przecież w AVR Studio procedura zmiany taktowania ograniczona jest do wybrania odpowiedniej opcji z rozwijanej listy i ewentualnie do zaznaczenia jeszcze jakiegoś bitu. Czy tak trudno napisać co należy zrobić?

    A co do mirkka36 - zdążyłem się zorientować (bo kolega nie pierwszy raz reklamuje swoją aplikacje) ,że program MkAvrCalculator to nakładka na jakieś inne oprogramowanie. Niestety nie uśmiecha mi się posiadanie 50 aplikacji do zaprogramowania jednego procesora (do tej pory używam zresztą tylko [albo jak kto woli "aż"] 2 programów jednocześnie - AVR studio do wgrywania hex'a i BASCOM-AVR do kompilowania kodu źródłowego i mimo to praca jest niewygodna) .
    Ale jednak po części z ciekawości , po części z grzeczności zapytam w jaki sposób twój program chroni przed zablokowaniem procesora jeśli ktoś np. zlikwiduje sobie wejście RESET?

    Poza tym kolego Mirekk36 - na pewno pytania przeze mnie zawarte leżą w zasięgu twoich kompetencji ,więc byłbym wdzięczny gdybyś wykazał odrobinę pomocy i łaskawie odpowiedział mi na pytania dotyczące AVR studio a nie spamował po raz setny na tym forum.

    Jednocześnie mam nadzieje ,że dyskusja nie odbiegnie zbytnio na inny tor i ktoś odpowie mi na 1 i 2 pytanie ponieważ jestem zdecydowany na użycie AVR studio.

    0
  • #4 05 Maj 2012 22:26
    mirekk36
    Poziom 42  

    Widzisz - jak ktoś się zaperzy i uprzedzi to może pisać o jakimś tam reklamowaniu, masz prawo. Wcale nawet cię nie namawiam na ten program - ale jakbyś pomyślał to zajrzałbyś na jego pierwszą zakładkę po ustawieniu fusów w tej o której mówiłem wcześniej - i od razu znalazłbyś odpowiedź na swoje pytanie.

    Konkretnie jak ustawiać fusebity dla kwarca 16MHz w AVR Studio..... Ten program panie kochany nie został napisany tylko po to żeby sobie nim programować fusy - bo robić to można z różnych programów jak sam wspomniałeś - ale on pomaga też się ich nauczyć. Tylko trzeba chcieć a nie opowiadać o wydumanych reklamach.

    Zatem gdzie odbiegałem od dyskusji - chciałem właśnie żebyś sobie porównał bo w pierwszej zakładce masz widok fusków podobny właśnie do AVR Studio i dzięki temu łatwo patrzeć co i jak .... więc rób jak chcesz

    Kolejna rzecz o którą pytasz w jaki sposób program chroni przed zablokowaniem procesora. I znowu powiem, jakbyś go chociaż z tej ciekawości zassał i zobaczył to byś od razu poznał odpowiedź i na to pytanie. Wystarczy zajrzeć do zakładki "Ustawienia"

    bo domyślnie w programie wyłączona jest po prostu możliwość przeprogramowania tych neralgicznych fusebitów odppwiedzialnych za reset czy isp, mowa tu o

    RSTDISBL czy SPIEN

    Proste i bardzo skuteczne - i chroni niesamowicie przed omyłkowym często kliknięciem w nie to co trzeba. Jak mówię wystarczy go zassać i chociaż zobaczyć żeby przekonać się - bo ten efekt od razu jest widoczny w każdej zakładce fusów.

    no ale co tam ? ;) nie zasysaj i nie patrz - bo to przecież tylko jakaś tam reklama.

    0
  • Pomocny post
    #5 05 Maj 2012 22:30
    tmf
    Moderator Mikrokontrolery Projektowanie

    W AVR Studio jedyne co musisz zrobić to wybrać zewnętrzny kwarc przy opcji SUT_CKSEL i tyle. Akurat manipulowanie tymi fusami jest dosyć bezpieczne, nawet jeśli zablokujesz to wystarczy podać zewnętrzny przebieg zegarowy i po kłopocie. Kaplica to wyłączenie sobie resetu - wtedy tylko HV pomaga. Czy mikrokontroler ruszy bez kondensatoró to trudno powiedzieć, przy pewnym szczęściu tak, ale niekoniecznie będzie ruszał zawsze. Jednak e dwa kondensatory 8-15pF nie szkodzą i warto je dać. Ich rolę też trochę spełniają pojemności pasożytnicze.
    Natomiast jeśli masz obawy to są dwa rozwiązania na przyszłość - wybierać procki z JTAG, ten interfejs ma swój zegar, a rozwiązanie jeszcze lepsze to przejść na XMEGA - tam zegar się wybiera programowo i zablokowanie procesora wymaga dużego talentu.
    Jest jeszcze jedno rozwiązanie - konfigurować fusebity wprost w kodzie w C - a procek programować plikiem elf a nie hex (swoją drogą ciekawe czemu wszyscy na te dziwaczne hexy się uwzięli). Skoro programujesz z AS to elf jest o wiele ciekawszym rozwiązaniem.

    Dodano po 2 [minuty]:

    mirekk36 napisał:

    RSTDISBL czy SPIEN

    Proste i bardzo skuteczne - i chroni niesamowicie przed omyłkowym często kliknięciem w nie to co trzeba.


    Tak przy okazji - SPIEN nie da się wyłączyć przy pomocy interfejsu SPI, do tego trzeba JTAG (którego M8 nie ma) lub HV. Więc blokowanie tego niekoniecznie ma sens.

    0
  • Pomocny post
    #6 05 Maj 2012 22:41
    piotrva
    Moderator na urlopie...

    Osobiście też uważam, że AVR Studio tu w zupełności wystarcza, załączam screen z ustawieniami dla kwarcu 16MHz:
    Fusebity do Atmegi8A i kwarcu 16Mhz

    Dodano po 10 [minuty]:

    Cóż, kondensatory muszą być, inaczej (mnie przynajmniej) raz ruszało a raz nie.

    tmf napisał:

    Natomiast jeśli masz obawy to są dwa rozwiązania na przyszłość - wybierać procki z JTAG, ten interfejs ma swój zegar, a rozwiązanie jeszcze lepsze to przejść na XMEGA - tam zegar się wybiera programowo i zablokowanie procesora wymaga dużego talentu.

    Tu się nie zgodzę. Po co od razu JTAG? Jeśli nie potrzeba debugowania to moim zdaniem interfejs ISP doskonale spełnia swoje zadanie i przy na prawdę minimum uwagi i sprawdzeniu 2 razy wartości przed kliknięciem "Write" zablokowanie też wymaga zamierzonej chęci takiego działania - powiedzmy sobie otwarcie, 99% "zablokowań" wynika z nieuwagi i braku kontroli wgrywanych wartości.
    Owszem, JTAG jest fajny, ale do celów amatorskich i małych aplikacji nie ma sensu blokować sobie 4 pinów procesora, gdyż ISP w 100% wystarcza.
    Tym bardziej Xmega - po co mi do załóżmy prostego sterownika matrycy LED (mieści się na atmega8 właśnie) dawać od razu bogatszy w peryferia procesor klasy XMega, skoro i tak nie wykorzystam więcej jego możliwości ponad to co oferuje mi stara i poczciwa atmega8 lub jej młodsze pinowe odpowiedniki: 88 168 328?

    0
  • #7 05 Maj 2012 22:46
    mirekk36
    Poziom 42  

    tmf napisał:

    Tak przy okazji - SPIEN nie da się wyłączyć przy pomocy interfejsu SPI, do tego trzeba JTAG (którego M8 nie ma) lub HV. Więc blokowanie tego niekoniecznie ma sens.


    W programie można użyć różnych programatorów włącznie z jtagiem czy HV. Więc blokowanie ma jak najbardziej sens.

    Oczywiście że w AVR Studio znacznie poprawił się interfejs fusebitów, ale jakby było tak różowo - to nie byłoby takich pytań początkujących a nie jest to pytanie odosobnione. Dla początkujących wcale nie jest to takie oczywiste - jak ustawić zewnętrzny kwarc jak widać.....

    Oczywiste to jest dla tych, którzy już na tym zęby zjedli i znają się na tym jak mało kto czyli tak jak np kolega ;)

    A najbardziej mnie dziwi sugestia żeby przejść na Xmega. Z takiego powodu ?

    Owszem Xmega jest lepsza, szybsza i bardziej miodna - przyznaję. Ale są jeszcze szybsze i bardziej miodne procki jak np ARM ...

    0
  • #8 05 Maj 2012 22:48
    Wojtek001
    Poziom 15  

    tmf Piszesz żebym użył od 8pF do 15pF - nie ma znaczenia jaką będzie miał kondensator dokładnie pojemność? Wydaje mi się ,w notach katalogowych były te informacje podawane dokładnie dla poszczególnych częstotliwości rezonatora. Z drugiej strony przecież pewną pojemność ma także sama płytka stykowa na której wykonuje prototyp.

    Czy to oznacza że chodzi o to żeby porostu były tam jakieś kondensatory o minimalnej pojemności 8pF - czyli mógłbym użyć tych swoich 10nF ?

    Inni z kolei - jak np. pan Mirekk36 - twierdzi ,że jeśli nie budujemy sprzętu medycznego to możemy śmiało zrezygnować z tych kondensatorów?

    No i niech mi ktoś teraz mądry powie - co ja mam zrobić?

    piotrva Dziękuje za odpowiedź - dokładnie o coś takiego mi chodziło. Ale czy na pewno nie trzeba programować bitu CKOPT bo ktoś gdzieś pisał że dla 8Mhz to obojętnie jest a dla 16Mhz już nie?

    0
  • #9 05 Maj 2012 22:54
    mirekk36
    Poziom 42  

    Jak robisz coś na płytce stykowej to co za problem wstawić sobie kwarca bez tych kondensatorów i sprawdzić że też będzie działać tak do testów

    a jak tworzysz własną płytkę pcb to co za problem dać tam te kondensatory w sensie chociażby otworów. Potem też możesz sobie ich na początek nie przylutować i zobaczysz że każdy procek ci ruszy bez tych kondków. Ale jeśli już gdzieś oddajesz komuś coś na zlecenie to wlutuj że te kondki i już.....

    10nF ????? czy tu literówki nie zrobiłeś ? chyba miałeś na myśli 10pF ?

    0
  • #10 05 Maj 2012 22:55
    piotrva
    Moderator na urlopie...

    Nie trzeba programować tego fusebitu, ale podłącz kondensatory pod kwarc. 10nF nie mogą być bo spowodują Ci zatrzymanie zegara (mają za dużą pojemność i obetną pożądane częstotliwości). Ogólnie kondensatory daj wg. informacji z noty lub jakieś 27pF lub 33pF (mnie na tych chodzi choć to nie są wartości optymalne)

    0
  • #11 05 Maj 2012 23:02
    Wojtek001
    Poziom 15  

    Mirek -> To nie literówka. Gdy byłem w elektronicznym nie pomyślałem o tym ,żeby zakupić kondensatory odciągające rezonator do masy (poza tym nigdzie nie mogę znaleźć jakie to powinny być dokładnie wartości bo na pewno kiedyś w datasheet'cie widziałem tabelkę z kwarcami i odpowiednimi dla nich kondensatorami ale ja teraz nie mogę już jej znaleźć).

    Kondensatory 10nF zakupiłem swego czasu gdyż używam ich do filtrowania zasilania w układach. Nie mam mniejszych - ale jak będzie trzeba to oczywiście wyskoczę do sklepu.

    Jeśli natomiast przestawię ATMEGE na zewnętrzny kwarc 16Mhz i okażę się że bez tych kondensatorów XpF nie będzie działać to (zgodnie z moim aktualnym wyobrażeniem o mikroprocesorach itp. - jeśli mam złe wyobrażenie to proszę mnie poprawić) nie będę mógł jej "odprogramować" na wewnętrzny oscylator.

    0
  • #12 05 Maj 2012 23:06
    mirekk36
    Poziom 42  

    Wojtek001 napisał:

    Jeśli natomiast przestawię ATMEGE na zewnętrzny kwarc 16Mhz i okażę się że bez tych kondensatorów XpF nie będzie działać to (zgodnie z moim aktualnym wyobrażeniem o mikroprocesorach itp. - jeśli mam złe wyobrażenie to proszę mnie poprawić) nie będę mógł jej "odprogramować" na wewnętrzny oscylator.


    A no to rozumiem że obawa wynika z tego że masz jeden procek po ręką - i że nie odprogramujesz .... na wewn. Oscylator.

    Tyle że to nie żadne ryzyko na BANK ruszy bez kondensatorów. Jeśli nie to ja ci wysyłam za darmo nowy procek ;) A oczywiście później jak dostaniesz kondensatory to je sobie wlutujesz do docelowego układu zgodnie z notą PDF.


    A jeśli to nie była literówka z tymi 10nF to tak jak pisał kolega wyżej one na pewno nie mogą być do kwarca. Mnie już nawet nieraz z kondkami 33pF niektóre ATtiny nie ruszały więc jak ja stosuję to 18pF albo max 22pF (a bez kondensatorów zawsze przynajmniej ruszy)

    0
  • #13 05 Maj 2012 23:09
    Wojtek001
    Poziom 15  

    Dziękuję wszystkim za pomoc ;) . Temat zamykam.

    0