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

Ustawienie taktowania procesora ATtiny2313 kwarcem 32,768kHz w mkAVR Calculator

Hann 14 Lis 2019 20:08 1086 10
  • #1 18278328
    Hann
    Poziom 12  
    Witam szanownych forumowiczów zamierzam wykonać zegarek na procesorze attiny 2313 i taktować go kwarcem zegarkowym 32,768kHz tylko nie mam pojęcia jak ustawić takie taktowanie procesora (w mk avr calculator nie ma do zaznaczenia takiej opcji) czy mógł by ktoś wyjaśnić jak to ustawić w mk avr calculator, programuję w języku C
  • #2 18278985
    Wp12345
    Poziom 8  
    Dobre pytanie.
    Z tego co wiem taktowania 32.768kHz nie da się ustawić w zakładce fusy uproszczone. Da się ustawić taktowanie przez Eclipse. Nie wiem jak to zrobić. O i chyba jeszcze da się ustawić taktowanie w zakładce fusy manualnie. Najlepiej byłoby gdybyś kupił mały rezonator ceramiczny 1MHz i dał go zamiast tego rezonator 32.768.kHz.Nic ci nie każe ale mówię według mnie 32.768kHz jest za wolne a 1MHz już będzie spoko. Jak już się uprzesz że musi być ten 32.768kHz to spróbuj z Eclipse i fusy manualnie. Pozdro
  • #3 18279121
    yokoon
    Poziom 29  
    Ustawiasz wewnętrzny oscylator np.na 8MHz a kwarc zegarkowy pod piny 4 i 5 w ATtiny 2313.
    Oczywiście napisany odpowiednio program.

    Mam tak zrobione na ATmega8.
    W Bascomie jest to proste.
  • #4 18279141
    tos18
    Poziom 42  
    Z tego co pamiętam to attiny 2313 nie potrafi pracować z kwarcem 32,768KHz - w swoim projekcie użyłem generatora DS32KHZ Dallasa. Dokładnością bije na głowę kwarce zegarkowe.
    yokoon napisał:
    Oczywiście napisany odpowiednio program.

    Czy możesz przedstawić działający przykład z attiny 2313 i kwarcem zegarkowym ?
    yokoon napisał:
    Mam tak zrobione na ATmega8.

    Atmega nie ma problemów z kwarcami zegarkowymi.
  • #5 18279286
    yokoon
    Poziom 29  
    Podałem jak podłączyć kwarc pod ATTiny.
    Nie mam przykładu ponieważ jak pisałem używałem programu Bascom.
  • #6 18279378
    Hann
    Poziom 12  
    spróbuję poszukać opcji taktowania w mkfile ponieważ sam je robię i korzystam z programmer notepad (jeśli attiny 2313 nie da rady to wezmę atmege 8) teraz kolejna kwestia kolega wp12345 napisał żeby dać 1MHZ, ja myślę ze kwarc zegarkowy ma taką częstotliwość ze jeśli timmer jest 8 bit tzn 0-255 to po wykonaniu się 255 taktów odmierzymy dokładnie sekundę czy dobrze to rozumie?

    w takim wypadku jak trzeba ustawić preskaller na jaką wartość? bo mi ten czas wyszedl 0,00778s
  • #7 18279422
    tos18
    Poziom 42  
    yokoon napisał:
    Podałem jak podłączyć kwarc pod ATTiny.

    Nie udało mi się zmusić do pracy wewnętrznego generatora attiny z tak podłączonym kwarcem 32.768kHz
    Dlatego pytam o przykład

    Tabela dostępnych częstotliwości kwarców (str 24 tabela 4 ) http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2543-AVR-ATtiny2313_Datasheet.pdf również nie podaje kwarcu zegarkowego. Co więcej na pierwszej stronie jest informacja "32 kHz, 1.8V: 20 µA (including oscillator)"

    Ponawiam wiec prośbę o działający przykład.
  • #8 18279530
    yokoon
    Poziom 29  
    Wszystko wyjaśniłem w Post #5.

    Dodano po 16 [minuty]:

    Wewnętrzny oscylator nie ma nic wspólnego z kwarcem 32.768 .
    Oscylator ten napędza sam uC, natomiast kwarc zegarkowy ma napędzać dodatkowo
    jakiś timer.W przypadku Bascom jest to Timer2, gdzie są dodatkowe instrukcje do ustawienia i pracuje asynchronicznie.

    Przykład w Bascom.
    Config Timer2 = Timer , Async = On
    Enable Timer2
    Config Clock = Soft
    Config Date = Dmy , Separator = -

    Być może w AT2313 nie można tak wykorzystać tego rezonatora.
    Ja bym proponował przejść na ATmaega8.
    W C nie próbowałem.
  • #9 18280155
    Hann
    Poziom 12  
    jak zrobić żeby przerwanie od timmera 0 w atmedze8 było taktowane kwarcem zegarkowym(tzn. podłączam kwarc w miejsce xtal 1,xtal2 i skąd timmer 0 będzie wiedział ze ma być taktowany takim kwarcem) i jak dobrać preskaler itd żeby po zapełnieniu licznika odmierzana była 1s używam programmer's notepad.
  • #10 18280479
    Konto nie istnieje
    Poziom 1  
  • #11 18283727
    tmf
    VIP Zasłużony dla elektroda
    Hann napisał:
    Witam szanownych forumowiczów zamierzam wykonać zegarek na procesorze attiny 2313 i taktować go kwarcem zegarkowym 32,768kHz tylko nie mam pojęcia jak ustawić takie taktowanie procesora (w mk avr calculator nie ma do zaznaczenia takiej opcji) czy mógł by ktoś wyjaśnić jak to ustawić w mk avr calculator, programuję w języku C

    Po prostu użyj odpowiednich narzędzi. Jest wiele fajnych nakładek graficznych, w których masz opisy fusebitów, podobnie np. w Atmel Studio masz opisy słowne poszczególnych konfiguracji. Dzięki temu nie musisz nawet zaglądać do noty procesora. Jeśli nie możesz programować bezpośrednio z poziomu AS, to wybranie odpowiedniej konfiguracji fusebitów spowoduje wyświetlenie jej wartości hex, co możesz użyć bezpośrednio np. przy wywołaniu AVRDude.
REKLAMA