Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor artykułu: mgr Jerzy Wałaszek
Konsultacje: Wojciech Grodowski, mgr inż. Janusz Wałaszek

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATtiny13

Preskaler timera/licznika

obrazek

Educational and Non-Profit Use of Copyrighted Material:

If you use Microchip copyrighted material solely for educational (non-profit) purposes falling under the “fair use” exception of the U.S. Copyright Act of 1976 then you do not need Microchip’s written permission. For example, Microchip’s permission is not required when using copyrighted material in: (1) an academic report, thesis, or dissertation; (2) classroom handouts or textbook; or (3) a presentation or article that is solely educational in nature (e.g., technical article published in a magazine).

https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines

SPIS TREŚCI
Podrozdziały

obrazek

Przegląd

Timer/licznik może być taktowany bezpośrednio przez zegar systemowy (przez ustawienie CSn2:0 = 1). Udostępnia to najszybsze działanie z częstotliwością zegara timera/licznika równą częstotliwości zegara systemowego (fCLK_I/O). Alternatywnie można wykorzystać jedno z czterech wyjść preskalera jako źródło zegarowe. Daje to opcje częstotliwości zegara: fCLK_I/O / 8, fCLK_I/O / 64, fCLK_I/O / 256 lub fCLK_I/O / 1024.
Na początek:  podrozdziału   strony 

Reset preskalera

Preskaler pracuje niezależnie od układów wyboru zegara w timerze/liczniku. Ponieważ na preskaler nie wpływa wybór zegara dla timera/licznika, to stan preskalera będzie istotny w sytuacjach, gdy zostanie wybrany zegar z wyjścia preskalera. Takie artefakty preskalera pojawiają się w momencie uaktywnienia timera i taktowania go preskalowanym zegarem (6 > CSn2:0 > 1). Liczba cykli zegara systemowego  od uaktywnienia timera do pierwszego zliczenia może wynieść od1 do N+1, gdzie N jest równe współczynnikowi podziału w preskalerze (8, 64, 256 lub 1024).

Możliwe jest użycie resetu preskalera do synchronizacji timera/licznika z wykonywaniem programu.

Na początek:  podrozdziału   strony 

Zewnętrzne źródło zegarowe

obrazek

Źródło zewnętrznego sygnału zegarowego przyłożonego do końcówki T0 może być używane jako zegar dla timera licznika (clkTn). Stan końcówki T0 jest próbkowany w każdym cyklu zegara systemowego przez układ logiczny synchronizacji końcówki. Zsynchronizowany (próbkowany) sygnał jest następnie przekazywany do detektora zbocza. Poniższy rysunek pokazuje schemat blokowy układu logicznego synchronizacji i detektora zbocza dla końcówki T0. Rejestry są taktowane przy zboczu dodatnim (0 → 1) wewnętrznego zegara systemowego (clkI/O). Przerzutnik latch jest przezroczysty w górnym okresie wewnętrznego zegara systemowego.

Detektor zbocza generuje jeden impls clkT0 dla każdego dodatniego (CSn2:0 = 7) lub ujemnego (CSn2:0 = 6) zbocza, które wykrywa.

obrazek

Układ logiczny synchronizacji i detektora zbocza wprowadza opóźnienie od 2,5 do 3,5 cykli zegara systemowego od momentu pojawienia się zbocza na końcówce T0 do aktualizacji licznika. Włączanie i wyłączanie wejścia zegarowego musi być wykonywane, gdy T0 jest stabilne przynajmniej przez jeden cykl zegara systemowego, inaczej istnieje ryzyko generacji fałszywego impulsu zegarowego timera/licznika. Każdy półokres zewnętrznego zegara musi być dłuższy od jednego cyklu zegara systemowego, aby zapewnić poprawne próbkowanie. Należy zagwarantować, aby częstotliwość zegara zewnętrznego była mniejsza od połowy częstotliwości zegara systemowego (fExtClk < fclk_I/O / 2) przy wypełnieniu 50%/50%. Ponieważ detektor zbocza wykorzystuje próbkowanie, to maksymalna częstotliwość zegara zewnętrznego, który może poprawnie wykryć, wynosi połowę częstotliwości próbkowania (częstotliwość Nyquista). Jednakże z powodu wahań częstotliwości zegara systemowego oraz jego wypełnienia spowodowanych przez tolerancje oscylatora (kryształu, rezonatora i kondensatorów), zaleca się, aby maksymalna częstotliwość źródła zegara zewnętrznego była mniejsza od fclk_I/O / 2,5.

Źródło zegara zewnętrznego nie posiada preskalera.

obrazek

Na początek:  podrozdziału   strony 

Opis rejestrów

GTCCR – General Timer/Counter Control Register – Ogólny rejestr sterowania timerem/licznikiem

Bit 7 6 5 4 3 2 1 0  
0x28 TSM - - - - - - PSR10 GTCCR
Zapis/Odczyt Z/O O O O O O O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bit 7 – TSM: Timer/Counter Synchronization Mode – Tryb synchronizacji timera/licznika

Zapis logicznej jedynki do bitu TSM aktywuje tryb synchronizacji timera/licznika. W trybie tym wartość wpisana do bitu PSR zostaje utrzymana, co daje ciągły sygnał resetu preskalera. Zapewnia to, iż timer/licznik zostaje zatrzymany i można go skonfigurować bez ryzyka zwiększania jego zawartości podczas konfiguracji. Gdy bit TSM zostaje zapisany stanem logicznym zera, bit PSR jest zerowany sprzętowo i timer/licznik rozpoczyna zliczanie.

Bit 0 – PSR: Prescaler 0 Reset Timer/Counter 0 – Resetowanie preskalera dla timera/licznika 0

Gdy ten bit ma wartość jeden, resetowany jest preskaler timera/licznika 0. Ten bit normalnie zostaje natychmiast wyzerowany sprzętowo z wyjątkiem przypadku, gdy bit TSM jest ustawiony na 1.

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.