Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Podobne dokumenty
Wbudowane układy peryferyjne cz. 2 Wykład 8

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Podstawy Techniki Mikroprocesorowej Laboratorium

Układy czasowe / liczniki (timers/counters)

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET

Przerwanie. Źródła przerwań

Omówimy przykłady 8-mio bitowego licznika z wyposażenia ADuC812 (CISC 51) oraz mikrokontrolera ATMega128 należącego do rodziny AVR.

Dokumentacja mikrokontrolera Atmega16 firmy Atmel

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0

był w momencie wystąpienia zewnętrznego zdarzenia. Jest bardzo przydatna przy pomiarach częstotliwości. Pracę timera Timer1 kontrolują następujące

Programowanie mikrokontrolerów. 5 grudnia 2007

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Układy czasowo-licznikowe w systemach mikroprocesorowych

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

SYSTEM PRZERWAŃ ATmega 32

Układy czasowo-licznikowe w systemach mikroprocesorowych

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Stanowisko laboratoryjne dla mikrokontrolera Atmega16 firmy Atmel

Mikroprocesory i Mikrosterowniki

równoległe (w wersji 4-, 8- i 16-bitowej). Same wyświetlacze ze względu na budowę i możliwości możemy podzielić na dwie grupy:

Metody obsługi zdarzeń

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Przerwania, polling, timery - wykład 9

Mikroprocesory i Mikrosterowniki

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Politechnika Białostocka

Mikroprocesory i mikrosterowniki

Komunikacja w mikrokontrolerach Laboratorium

długo. W tym celu w czasie przeczesywania if (key) {

Programowany układ czasowy APSC

Komunikacja w mikrokontrolerach Laboratorium

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Programowanie mikrokontrolerów. 3 stycznia 2008

Programowany układ czasowy

Wbudowane układy peryferyjne cz. 1 Wykład 7

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

LOW ENERGY TIMER, BURTC

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Temat: Projektowanie i badanie liczników synchronicznych i asynchronicznych. Wstęp:

Urządzenia peryferyjne procesora ColdFire

Mikrokontrolery AVR ATmega

Timery w mikrokontrolerach STM32F3

Mikrokontrolery AVR ATmega

Standardowe bloki funkcjonalne

1. Porty wejścia wyjścia (I/O)

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Elektronika samochodowa (Kod: ES1C )

Podstawy Techniki Mikroprocesorowej

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Obsługa wyjść PWM w mikrokontrolerach Atmega16-32

Instytut Teleinformatyki

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

DOKUMENTACJA. dot. Budowy i przebiegu konstrukcji linefollower-a. Data: MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel

2. Architektura mikrokontrolerów PIC16F8x... 13

Programowanie mikrokontrolerów 2.0

Hardware mikrokontrolera X51

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Komunikacja w mikrokontrolerach Laboratorium

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Podstawowe elementy układów cyfrowych układy sekwencyjne Rafał Walkowiak Wersja

Mikroprocesory i kontrolery 1. Materiały do wykładu. Tom II MIKROKONTROLERY. Mikroprocesory i kontrolery 2. dr hab. inż.

ŚRODOWISKO PROTOTYPOWANIA SP AVR

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

WPROWADZENIE Mikrosterownik mikrokontrolery

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

W przypadku spostrzeżenia błędu proszę o przesłanie informacji na adres

Inne układy peryferyjne AVR

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

LABORATORIUM Komputery przemysłowe i systemy wbudowane

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Instytut Teleinformatyki

Technika mikroprocesorowa laboratorium. dr inż. Dorota Rabczuk

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

PROGRAMOWALNE SYSTEMY MECHATRONIKI

Mikrokontroler AVR ATmega32 - wykład 9

Programowanie mikrokontrolerów 2.0

Programowanie mikrokontrolerów 2.0

CPU architektura i rejestry

Mikroprocesory i Mikrosterowniki Laboratorium

Mikrokontrolery Xmega (4)

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Mikrokontrolery AVR Wprowadzenie

Enkodery czujniki cyfrowe

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Transkrypt:

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Licznik 0 Timer/Counter 0

Funkcje Służy do: zliczania: - impulsów zegarowych - impulsów zewnętrznych generowania sygnału o zadanej częstotliwości generowania PWM Cechy: 8-o bitowy (0-255) 1-o kanałowy 10-o bitowy prescaler

Sterowanie licznikiem T/C0 Do sterowania licznikiem: 3+2 rejestry specjalne: - Timer/Counter 0 Control Register (TCCR0) - Timer/Counter 0 Register (TCNT0) - Output Compare Register 0 (OCR0) - Timer /Counter Interrupt Mask Register (TIMSK) - Timer /Counter Interrupt Flag Register (TIFR) wejście Timer0 (T0 - PB0) wyjście Output Compare 0 (OC0 PB3) 2 przerwania: - Timer0 Overflow (TOV0, flaga TOV0, wektor 0x009) - Timer0 Compare (OCF0, flaga OCF0, wektor 0x013)

T/C0 - sterowanie

Struktura TIMSK TIFR Wnętrze mikrokontrolera Piny WE/WY

Taktowanie licznika

Piny WE/WY T0 wejście dla zliczanych impulsów

Struktura Wnętrze mikrokontrolera Piny WE/WY

Piny WE/WY

Struktura waveform generator Wnętrze mikrokontrolera Piny WE/WY

Piny WE/WY OC0 wyjście przebiegu prostokątnego T1 T2 T3 T4 T5 T6 T7

Piny WE/WY OC0 wyjście przebiegu prostokątnego

Piny WE/WY OC0 wyjście przebiegu prostokątnego COM01,COM00 = 00 COM01,COM00 = 11,01,10 wymaga DDR 1

Przerwania licznika T/C0 - Timer0 Overflow (TOV0, flaga TOV0, wektor 0x009) - Timer0 Compare Match (OCF0, flaga OCF0, wektor 0x013) Timer/Counter Interrupt Mask Register: Timer/Counter Interrupt Flag Register:

Timer0 Overflow (TOV0)

Timer0 Compare Match (OCF0)

Rejestry Licznika 0

Timer/Counter0 Control Register WGM0

Timer/Counter0 Control Register Force Output Compare FOC0 (zgodne z ustawieniami bitów COM)

Timer/Counter0 Control Register COM0 Tryb CTC

Timer/Counter0 Control Register Tryb Fast PWM

Timer/Counter0 Control Register Tryb PWM z korekcją fazy

Timer/Counter0 Control Register

Timer/Counter0 Register - TCNT0 Output Compare Register - OCR0 Timer/Counter0 Register: Output Compare Register:

Tryby pracy Licznika 0

Tryby pracy T/C0 Licznik T/C0 pracuje w jednym z czterech trybów: Normalny CTC (Clear on Compare) Fast PWM (Pulse Width Modulation) Phase Correct PWM Do wyboru trybów bity WGM0 oraz COM0 w TCCR0 WGM0 wybór trybu COM0 sposób działania wyjścia

Tryb normalny Służy do Zliczanie w górę Po doliczeniu do MAX (255) zerowanie licznika W dowolnym momencie można zmodyfikować wartość TCNT0 (stan licznika)przejściu MAX 0

Tryb Clear on Compare (CTC) Służy do Zliczanie Po doliczeniu do OCR0 W OCR0 wartość z zakresu zmniejsza zakres pracy licznika (0 OCR0)

Tryb CTC

Tryb Fast PWM Służy do Zliczanie Po doliczeniu do 255 tylko zbocze narastające: Praca normalna: odwrócona: pin OC0» 0 przy zrównaniu przy przepełnieniu pin OC0» 1 przy przepełnieniu przy zrównaniu DDRB» 1 aby OC0 działało!

Tryb Fast PWM

Tryb PWM z korekcją fazy Służy do Zliczanie Po doliczeniu do 255 2 zbocza (narastające i opadające): Praca normalna: odwrócona: pin OC0» 0 przy zrównaniu przy zrównaniu na zb. narastającym na zb. opadającym pin OC0» 1 przy zrównaniu przy zrównaniu na zb. opadającym na zb. narastającym DDRB» 1 aby OC0 działało!

Tryb PWM z korekcją fazy Zliczanie w Po doliczeniu do MAX 2 zbocza (narastające i opadające): - Praca normalna: odwrócona: pin OC0» 0 pin OC0» 1 DDRB» 1 aby OC0 działało! Flaga przepełnienia (TOV0) ustawiana przy przejściu przez `0`!

Tryb PWM z korekcją fazy

Licznik 1 Timer/Counter 1

Zastosowanie Służy do: zliczania: - impulsów zegarowych - impulsów zewnętrznych generowania sygnału PWM generowania częstotliwości

Cechy 16-o bitowy (0-65535) 10-o bitowy prescaler (wspólny z T/C0) 2x Output Compare (OCR1A, OCR1B) Input Capture (IC) detekcja zdarzeń zewnętrznych IC Noise Canceler 3 tryby PWM 4 przerwania: ICF1 TIMER1 CAPT wektor 0x005 OCF1A TIMER1 COMPA wektor 0x006 OCF1B TIMER1 COMPB wektor 0x007 TOV1 TIMER1 OVF wektor 0x008

Budowa Wnętrze mikrokontrolera

Sterowanie licznikiem T/C1 6+3 rejestry specjalne: - Timer/Counter 1 Control Register A (TCCR1A) 8 bit - Timer/Counter 1 Control Register B (TCCR1B) 8 bit - Timer/Counter 1 Register (TCNT1) 16 bit - Output Compare Register 1A (OCR1A) 16 bit - Output Compare Register 1B (OCR1B) 16 bit - Input Capture Register 1 (ICR1) 16 bit - Timer /Counter Interrupt Mask Register (TIMSK) - Timer /Counter Interrupt Flag Register (TIFR) - Special Function I/O Register (SFIOR) 2 wejścia: - Timer1 (T1) PB1 - Input Capture pin (ICP1) PD6

Sterowanie licznikiem T/C1 2 wyjścia: - Output Compare 1A (OC1A) PD5 - Output Compare 1B (OC1B) PD4 4 przerwania: - Input Capture Flag (ICF1, wektor 0x005) - Output Compare 1A (OCF1A, wektor 0x006) - Output Compare 1B (OCF1B, wektor 0x007) - Timer1 Overflow (TOV1, wektor 0x008)

Piny licznika T/C1

Piny WE/WY T1 PB1 ICP1 ICP1 PD6 OC1A, OC1B PD5, PD4

Taktowanie licznika CS12 CS11 CS10 - wybór źródła taktowania - wybór prescalera (dla źródła MCU) - wybór zbocza (dla źródła zewnętrznego) Źródło nie wybrane = licznik zatrzymany T1 T1

T/C0, T/C1 - prescaler T/C0 i T/C1 wykorzystują ten sam moduł prescalera (1, 8, 64, 256, 1024), ale mogą mieć różne dzielniki pin wejściowy T0 (T1) taktowanie licznika f < zewn f clk reset prescalera SFIOR (PSR10) 2 Special Function IO Register

Output Compare Unit (układ porównawczy) Przerwania OCR1A: 0x006 OCR1B: 0x007

Wyjścia ukł. porównawczego Wyjścia: OC1A: PD5 OC1B: PD4

Input Capture Unit (układ zatrzaskujący) PD6 Przerwanie: 0x005

Tryby pracy Licznika 1

Tryby pracy T/C1

Tryb normalny zob. T/C0

Tryby CTC 2 tryby: z OCR1A z ICR1

Tryby FAST PWM

Fast PWM Zliczanie Flaga TOV1 w TOP Zmiana na pinach OC1x przy: OCR1A, OCR1B, TOP

Tryby Phase Correct PWM (korekcja fazy)

Tryby Phase Correct PWM (korekcja fazy) Zliczanie Flaga TOV1 Zmiana na pinach OC1x przy: OCR1A, OCR1B Modyfikacja OCR1x w TOP => niesymetryczny PWM

Tryby Phase and Frequency Correct PWM (korekcja fazy i częstotliwości)

Tryby Phase and Frequency Correct PWM (korekcja fazy i częstotliwości) Zliczanie Flaga TOV1 Zmiana na pinach OC1x przy: OCR1A, OCR1B Modyfikacja OCR1x w BOTTOM => symetryczny PWM

PC / PFC PWM

PC / PFC PWM

Rejestry Licznika T/C1

Timer/Counter1 Control Register A (TCCR1A) Piny wyjściowe tryby NIE PWM

Timer/Counter1 Control Register A (TCCR1A) Piny wyjściowe tryby FAST PWM

Timer/Counter1 Control Register A (TCCR1A) Piny wyjściowe tryby PC i PCF PWM

Timer/Counter1 Control Register B (TCCR1B)

Timer/Counter1 (TCNT1H, TCNT1H) Input Capture Register (ICR1H, ICR1L)

Output Compare Registers (OCR1AH, OCR1AL) (OCR1BH, OCR1BL)

Rejestry 16-bitowe 16-bitowe: TCNT1 ICR1 OCR1A OCR1B

Timer/Counter Interrupt Mask Register Timer/Counter Interrupt Flag Register

Licznik 2 Timer/Counter 2

Cechy 8-o bitowy (0-255) 10-o bitowy prescaler (niezależny od T/C0 i T/C1) Output Compare (OCR2) 2 tryby PWM 2 przerwania: OCF2 TIMER2 COMP wektor 0x003 TOV2 TIMER2 OVF wektor 0x004

Zastosowanie Służy do: zliczania: - impulsów zegarowych - impulsów zewnętrznych generowania sygnału PWM generowania częstotliwości możliwość pracy jako licznik czasu rzeczywistego (Real Time Counter)

Budowa

Budowa - c.d.

Sterowanie licznikiem T/C2 4+3 rejestry specjalne: - Timer/Counter 2 Control Register (TCCR2) - Timer/Counter 2 Register (TCNT2) - Output Compare Register 2 (OCR2) - Asynchronous Status Register (ASSR) - Timer /Counter Interrupt Mask Register (TIMSK) - Timer /Counter Interrupt Flag Register (TIFR) - Special Function I/O Register (SFIOR) wejścia: - Timer Oscillator 1 (TOSC1) PC6 - Timer Oscillator 2 (TOSC2) PC7 wyjścia: - Output Compare 2 (OC2) PD7

T/C2 vs T/C0 Różnice dotyczą

Rejestry Licznika T/C2

Timer/Counter Control Register (TCCR2)

Pozostałe rejestry Timer/Counter Register (TCNT2) Output Compare Register (OCR2) Timer/Counter Interrupt Mask Register (TIMSK) (bity 7 oraz 6) Timer/Counter Interrupt Flag Register (TIFR) (bity 7 oraz 6) Special Function IO Register (SFIOR) (bit 1)

Asynchronous Status Register (ASSR) AS2 1 => Pozostałe sygnalizacja dostępności

Praca asynchroniczna Przy zmianie źródła taktowania możliwe Optymalna f = Zapis/odczyt rejestrów trwa (ważne m.in. przy ) Wybudzanie przerwaniem od T/C2 asynchro: T/C2 asynchro wyłączany tylko w Po wybudzeniu TOSC1/2 oraz CPU (wymaga czasu)

Przykładowe zagadnienia sprawdzające 1. Liczniki mikrokontrolerów cechy, różnice. 2. Tryby pracy cechy, różnice, zastosowania. 3. Wejścia i wyjścia rodzaje, zastosowania. 4. Bloki funkcyjne liczników. 5. Przerwania rodzaje. 6. Sposoby formowania przebiegów prostokątnych na wyjściu licznika. 7. Praca asynchroniczna, zegar czasu rzeczywistego wyjaśnij terminy.