|
Wyjście Spis treści Wstecz Dalej
Autor artykułu |
©2026 mgr Jerzy Wałaszek
|

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

Ź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.

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.

| 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 |
Te bity są zarezerwowane w ATtiny2313A/4313 i przy odczycie zawsze dają wartość zero.
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.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.