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

ATmega16

Preskaler timerów/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

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 T1/T0 pin może zostać użyte jako zegar timera/licznika (clkT1/clkT0). Końcówka T1/T0 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 clkT1/clkT0 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 T1/T0 do momentu uaktualnienia licznika.

Włączanie i wyłączanie wejścia zegarowego musi być wykonane, gdy T1/T0 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

SFIOR – Special Function IO Register – Rejestr funkcji specjalnych

Bit 7 6 5 4 3 2 1 0  
0x30 (0x50) ADTS2 ADTS1 ADTS0 ACME PUD PSR2 PSR10 SFIOR
Zapis/Odczyt Z/O Z/O Z/O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bit 0 – PSR10: Prescaler Reset Timer/Counter1 and Timer/Counter0 – Reset preskalera timera/licznika 1 i 0

Gdy bit ten zostanie zapisany stanem jeden, to zresetuje się preskaler timera/licznika 1 i 0. Bit zostanie wyzerowany sprzętowo po wykonaniu operacji. Zapis zera do tego bitu nie wywołuje żadnego efektu. Zwróć uwagę, iż timer/licznik 1 i timer/licznik 0 współdzielą ze sobą ten sam preskaler, a zatem zresetowanie preskalera wpłynie na oba timery. Bit przy odczycie daje zawsze wartość zero.


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