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

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATmega640/1280/1281/2560/2561

Preskaler timerów/liczników 0, 1, 3, 4 i 5

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

Timery/liczniki 0, 1, 3, 4 i 5 dzielą ten sam moduł preskalera, lecz każdy z nich może posiadać różne ustawienia preskalera. Poniższy opis tyczy się  wszystkich timerów/liczników. Tn jest używane jako ogólna nazwa, a n = 0, 1, 3, 4 lub 5.

Wewnętrzne źródło zegarowe

Timer/licznik może być taktowany bezpośrednio przez zegar systemowy (przez ustawienie CSn2:0 = 1). Zapewnia to najszybszą pracę z maksymalną częstotliwością zegara timera/licznika równą częstotliwości zegara systemu (fCLK_I/O). Alternatywnie jako źródło zegarowe może zostać wybrane jedno z czterech wyjść preskalera. Preskalowany zegar może mieć częstotliwość: 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 działa niezależnie od logiki wyboru zegara timera/licznika i jest używany wspólnie przez timer/licznik 1 i timer/licznik 0. Ponieważ na preskaler nie wpływają ustawienia zegara timera/licznika, to stan preskalera będzie miał wpływ na sytuacje, gdzie jest używany preskalowany zegar. Przykład artefaktów preskalowania wystąpi, gdy timer jest włączony i taktowany przez preskaler (6 > CSn2:0 > 1). Liczba taktów zegara systemowego od czasu włączenia timera do wystąpienia pierwszego zliczenia może wynieść od 1 do N + 1 taktów zegara systemowego, gdzie N jest równe podzielnikowi preskalera (8, 64, 256 lub 1024).

Możliwe jest użycie resetu preskalera dla zsynchronizowania timera/licznika z wykonywaniem programu. Jednakże należy zachować ostrożność, jeśli inny timer/licznik współdzieli ten sam preskaler i również używa preskalowania. Reset preskalera wpłynie na okres preskalera dla wszystkich timerów/liczników, które są z nim połączone.


Na początek:  podrozdziału   strony 

Zewnętrzne źródło zegarowe

Zewnętrzne źródło zegarowe doprowadzone do końcówki Tn może zostać użyte jako zegar timera/licznika (clkTn). Końcówka Tn jest próbkowana raz przy każdym takcie zegara systemowego przez sieć logiczną synchronizacji końcówki. Zsynchronizowany sygnał (spróbkowany) jest następnie przekazywany do detektora zbocza. Poniższy rysunek pokazuje funkcjonalnie równoważny schemat blokowy sieci logicznej detektora zbocza. Rejestry są taktowane przy dodatnim zboczu wewnętrznego zegara systemowego (clkI/O). Przerzutnik latch jest przezroczysty dla górnej połówki okresu wewnętrznego zegara systemu.

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

Sieć logiczna układu synchronizacji i detektora zbocza wprowadza opóźnienie od 2,5 do 3,5 taktów zegara systemu od zbocza sygnału przyłożonego do końcówki Tn do momentu uaktualnienia licznika.

Włączanie i wyłączanie wejścia zegarowego musi być wykonane, gdy Tn było stabilne przez co najmniej jeden takt zegara systemu, w przeciwnym razie istnieje ryzyko wygenerowania fałszywego impulsu zegarowego dla timera/licznika. Aby zapewnić poprawne próbkowanie, każda połówka okresu zegara zewnętrznego musi być dłuższa od jednego taktu zegara systemowego. Zegar zewnętrzny musi posiadać częstotliwość mniejszą od połowy częstotliwości zegara systemu (fExtClk < fclk_I/O/2) przy współczynniku wypełnienia 50/50%. Ponieważ detektor zbocza używa próbkowania, to maksymalna częstotliwość zegara zewnętrznego, który może wykryć, wynosi połowę częstotliwości próbkowania (twierdzenie Nyquista–Shannona). Jednakże z powodu wahań częstotliwości zegara systemowego i współczynnika wypełnienia spowodowanego tolerancjami źródła oscylatora (kwarc, rezonator i kondensatory), zaleca się, aby maksymalna częstotliwość źródła zegara zewnętrznego była mniejsza niż fclk_I/O/2,5.

Źródło zegara zewnętrznego nie może być preskalowane.

Preskaler dla timera licznika 0 i 1(1)

Uwaga: 1. Logika synchronizacji na końcówkach wejściowych (T1/T0) jest pokazana na poprzednim rysunku.

Na początek:  podrozdziału   strony 

Opis rejestrów

GTCCR – General Timer/Counter Control Register – Ogólny rejestr sterujący timerami/licznikami

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

Bit 7 – TSM: Timer/Counter Synchronization Mode – Tryb synchronizacji timerów/liczników

Zapis jedynki do bitu TSM włącza tryb synchronizacji timerów/znaczników. W tym trybie wartość zapisywana do bitów PSRASY i PSRSYNC jest zapamiętywana, co utrzymuje w stanie aktywności odpowiednie sygnały resetowania preskalera. Zapewnia to, iż odpowiednie timery/liczniki są zatrzymane i mogą zostać skonfigurowane na tę samą wartość bez ryzyka, iż jeden z nich zwiększy swoją wartość podczas konfigurowania. Gdy bit TSM jest zapisany zerem, to bity PSRASY i PSRSYNC są zerowane sprzętowo, a timery/liczniki rozpoczynają zliczanie równocześnie.

Bit 0 – PSRSYNC: Prescaler Reset – Reset preskalera

Gdy ten bit ma wartość jeden, to preskaler timerów/liczników 0, 1, 3, 4 i 5 zostanie zresetowany. Bit jest zwykle natychmiast zerowany sprzętowo, z wyjątkiem sytuacji, gdy ustawiono na jeden bit TSM. Zauważ, iż timery/liczniki 0, 1, 3, 4, 5 dzielą ten sam preskaler i jego reset wpłynie na wszystkie te timery.


Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2024 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.