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

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATtiny2313A/4313

Preskalery liczników 0 i 1

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
Oba liczniki 0 i 1 korzystają wspólnie z tego samego modułu preskalera, lecz każdy z nich może posiadać własne ustawienia preskalera. Poniższy opis odnosi się do obu timerów/liczników 0 i 1.

Wewnętrzne źródło zegarowe

Tn jest używane jako nazwa ogólna, n = 0, 1. Timer/Licznik może być taktowany bezpośrednio przez zegar systemowy (przez ustawienie bitów CSn[2:0] = 1). Daje to najszybsze działanie z maksymalną częstotliwością timera/licznika równą częstotliwości zegara systemowego (fCLK_I/O). Alternatywnie jako źródło zegarowe można wykorzystać jedno z czterech wyjść z preskalera. Preskalowany zegar posiada jedną z częstotliwości fCLK_I/O / 8, fCLK_I/O / 64, fCLK_I/O / 256 lub fCLK_I/O / 1024.

Na początek:  podrozdziału   strony 

Resetowanie preskalera

Preskaler pracuje niezależnie od modułu wyboru zegara dla timera/licznika i jest współdzielony przez timery/liczniki 0 i 1. Ponieważ na preskaler nie wpływa wybór zegara dla timera/licznika, stan preskalera może powodować różne implikacje w sytuacjach, gdzie jest używany zegar preskalera. Jeden z przykładów artefaktów preskalera występuje, gdy timer zostaje uaktywniony i taktowany przez przez preskaler (6 > CSn2:0  > 1). Liczba cykli zegarowych od momentu uaktywnienia timera do pierwszego zliczenia może wynieść od 1 do N + 1 cykli zegara systemowego, gdzie N jest równe dzielnikowi preskalera (8, 64, 256 lub 1024).

Możliwe jest użycie zerowania preskalera do synchronizowania timera/licznika z wykonywaniem programu. Jednakże należy podjąć środki ostrożności, jeśli drugi timer/licznik współdzielący ten sam preskaler również korzysta z preskalowania. Reset preskalera wpłynie na okres taktowania wszystkich timerów/liczników, do których jest on podłączony.

Na początek:  podrozdziału   strony 

Zewnętrzne źródło zegarowe

Źródło zewnętrznego sygnału zegarowego przyłożonego do końcówek T0/T1 może być używane jako zegar dla timerów/liczników (clkT1/clkT0). Stan końcówki T0/T1 jest próbkowany w każdym cyklu zegara systemowego przez układ logiczny synchronizacji końcówki. Zsynchronizowany (próbkowany) sygnał następnie przechodzi przez detektor zbocza. Poniższy rysunek pokazuje schemat blokowy układu logicznego synchronizacji i detektora zbocza dla końcówki T0/T1. 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 impuls clkT1/clkT0 dla każdego dodatniego (CS2:0 = 7) lub ujemnego (CS2: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/T1 do aktualizacji licznika. Włączanie i wyłączanie wejścia zegarowego musi być wykonywane, gdy T0/T1 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.

Zewnętrzne źródło zegarowe nie może być preskalowane.

Na początek:  podrozdziału   strony 

Opis rejestrów

GTCCR – General Timer/Counter Control Register – Ogólny rejestr sterujący timerów/liczników

Bit 7 6 5 4 3 2 1 0  
0x23 (0x43) PSR10 GTCCR
Zapis/Odczyt O O O O O O O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bity 7:1 – Zarezerwowane

Te bity są zarezerwowane w ATtiny2313A/4313 i przy odczycie zawsze dają wartość zero.

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

Gdy ten bit ma wartość jeden, resetowany jest preskaler timerów/liczników. Ten bit normalnie zostaje natychmiast wyzerowany sprzętowo. Zwróć uwagę, iż oba timery/liczniki 0 i 1 współdzielą ten sam preskaler i jego wyzerowanie wpłynie jednocześnie na oba liczniki.

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
©2021 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.