14
2018-01-28 1 Układy czasowo-licznikowe w systemach mikroprocesorowych 1 Semestr zimowy 2017/2018, WIEiK-PK W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość wyrażona w bitach, różnią się dla konkretnych typów mikrokontrolerów. 2 Semestr zimowy 2017/2018, WIEiK-PK

Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

  • Upload
    vankhue

  • View
    248

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

1

Układy czasowo-licznikowe w systemach mikroprocesorowych

1 Semestr zimowy 2017/2018, WIEiK-PK

• W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy

• Liczba liczników stosowanych w systemie i ich długość wyrażona w bitach, różnią się dla konkretnych typów mikrokontrolerów.

2 Semestr zimowy 2017/2018, WIEiK-PK

Page 2: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

2

Podstawowe funkcje

• Praca czasowa (funkcja Timer) – jeżeli zadaniem licznika jest odmierzaniu czasu. Częstotliwość sygnału zegarowego (wejściowego) dla licznika jest znana i dokładnie generowana (stabilna). Najczęściej, tym sygnałem zegarowym jest wielokrotność lub podwielokrotność głównego sygnału zegarowego sterującego systemem mikroprocesorowym

• Praca licznikowa (funkcja counter) – jeżeli głównym zadaniem licznika jest zliczanie impulsów, głównie liczby impulsów zewnętrznych. Częstotliwość sygnału wejściowego dla licznika (i dla programisty) nie jest znana.

3 Semestr zimowy 2017/2018, WIEiK-PK

Funkcje układów czasowo-licznikowych Układy czasowo/licznikowe są stosowane do realizacji następujących funkcji:

• Funkcje związane z pracą w trybie czasowym (timer) – odmierzania dokładnych jednostek czasowych i generowanie sygnału przerwania sprzętowego w ściśle

określonych odstępach czasowych, – odmierzania odstępów czasu między zdarzeniami zachodzącymi w systemie mikroprocesorowym, – pomiaru czasu trwania impulsów zewnętrznych, (np. pomiar prędkości obrotowej), – pomiar częstotliwości sygnału zewnętrznego, – generowanie pojedynczych impulsów o ściśle określonych parametrach, – generowanie impulsów (sekwencji impulsów) w odstępach czasu o zaprogramowanej wartości, – generowanie przebiegu okresowego o zadanej częstotliwości, – generowanie przebiegów impulsowych o określonym czasie trwania lub przebiegów o zadanym

współczynniku wypełnienia – tzw. modulatory PWM (ang. PWM – Pulse Witdh Modulation), – generowanie sygnału zegarowego dla interfejsu szeregowego, w trybie synchronicznym lub asynchronicznym

(baud rate generator), – odmierzanie czasu rzeczywistego, tzw. zegar czasu rzeczywistego, (ang. RTC – Real Time Clock), – praca w trybie licznika nadzorcy (ang. watchdog),

• Funkcje związane z pracą w trybie licznikowym (counter)

– zliczanie liczby impulsów zewnętrznych i np. zgłoszenie przerwania po zliczeniu określonej liczby impulsów, – zliczanie impulsów z enkoderów obrotowych lub liniowych w celu pomiaru prędkości obrotowej lub pomiaru

przebytej drogi

4 Semestr zimowy 2017/2018, WIEiK-PK

Page 3: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

3

Podstawowa budowa układu licznikowego • Układ czasowy lub układ licznikowy zbudowany jest w oparciu o klasyczne

cyfrowe układy licznikowe (synchroniczne), składające się z przerzutników typu D lub J-K i zliczające w naturalnym kodzie binarnym (BIN)

• Aby taki układ mógł pracować w systemie mikroprocesorowym musi być wyposażony w dodatkowe elementy (bramki logiczne) i układy logiczne (rejestry, komparatory), które umożliwiają programowalność licznika i realizację kilku funkcji.

5 Semestr zimowy 2017/2018, WIEiK-PK

Symbol przerzutnika typu D D – wejście informacyjne CLK – wejście zegarowe /R – wejście asynchroniczne zerujące RESET /S – wejście asynchroniczne ustawiające SET Q – wyjście /Q – wyjście zanegowane

Przerzutnik typu D (data) (ang. Flip-flop) – jeden z podstawowych rodzajów przerzutników synchronicznych. Przerzutnik ten przepisuje stan wejścia informacyjnego D na wyjście Q. Przepisanie informacji następuje tylko przy odpowiednim stanie wejścia zegarowego, np. zbocza narastającego.

clk

D

Q

t

t

t

Wejście asynchroniczne zerujące /R (w tym przypadku stan aktywny ‘0’) zeruje stan przerzutnika (na wyjściu Q stan ‘0’) bez względu na sygnały na wejściach clk i D.

Wejście asynchroniczne ustawiające /S (w tym przypadku stan aktywny ‘0’) ustawia stan ‘1’ na wyjściu Q przerzutnika bez względu na sygnały na wejściach clk i D.

UWAGA ! - Nie można w tym samym momencie podać sygnału /R i /S – jest to tzw. stan zabroniony.

Podstawowa budowa układu licznikowego

Licznik binarny 2n

wartość początkowa do zliczania

stan aktualny licznika

Bit pożyczki (borrow)

Bit przepełnienia (carry) Generator zegarowy

fclk

Sterowanie zliczaniem

Zerowanie reset

Wpis, set

Sterowanie kierunkiem zliczania, up/down

6 Semestr zimowy 2017/2018, WIEiK-PK

Podstawowe parametry licznika: • pojemność licznika – w kodzie BIN 28, 210, 216, 232 , w kodzie BCD - 1xBCD, 2xBCD,

3xBCD, 4xBCD • format zliczania, kod wyjścia licznika – kod binarny naturalny BIN i kod binarny

dziesiętny BCD, • kierunek zliczania – tylko w górę, tylko w dół, albo możliwość wyboru - tryb

rewersyjny, • max częstotliwość sygnału wejściowego, • wyjście bitu przepełnienia i bitu pożyczki, • wejście zerujące i ustawiające, • możliwość automatycznego wpisania wartości początkowej

Rejestr wartości początkowej

stan licznika

t

Max wartość

wartość „0” zerowanie

Zliczanie w górę

Zliczanie w dół

Page 4: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

4

Podstawowa budowa układu licznikowego

• W większości przypadków licznik w systemie jest licznikiem zliczającym w górę lub w dół z możliwością wpisywania wartości początkowej i odczytu aktualnego stanu licznika. Po przepełnieniu licznik ustawia bit przepełnienia i może generować przerwanie sprzętowe.

• Liczniki przeważenie są: – w prostych mikrokontrolerach 8-10-bitowe (8-bit MCU)

– 16-bitowe (8 lub 16-bit MCU),

– 32-bitowe w rozbudowanych mikrokontrolerach (16 lub 32-bit MCU)

7 Semestr zimowy 2017/2018, WIEiK-PK

Przykładowa struktura układu licznikowego w mikrokontrolerze

Licznik binarny 2n

wartość początkowa do zliczania

Aktualny stan licznika

auto-przeładowanie

Preskaler

fclk

Zerowanie bitu

IRQ

Sterowanie programowe

zliczaniem

Licznik binarny 2n

Bit przepełnienia

Wybór dzielnika

wstępnego

Rejestr LSB

komparator

Rejestr MSB

Zegar systemowy

Wybór źródła sygnału

fx

Bit równości

fext

Wartość do porównania

Rejestr LSB Rejestr MSB

Sterowanie zliczaniem sygnałem

zewnętrznym

Ext. Gate

8 Semestr zimowy 2017/2018, WIEiK-PK

Page 5: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

5

Podstawowe funkcje układu czasowego – odmierzanie jednostek czasowych

Licznik binarny 2n

Npo - wartość początkowa do zliczania

auto-przeładowanie

fclk

Zerowanie bitu programowe lub

automatyczne

Generowanie przerwania IRQ

Bit przepełnienia

Rejestr

Zewnętrzna końcówka

mikrokontrolera

Po wystąpieniu przepełnienia licznika może nastąpić: • wygenerowanie sygnału przerwania sprzętowego IRQ, • ustawienie stanu niskiego „0” (wyzerowanie) na końcówce (linii) wyjściowej, • ustawienie stanu wysokiego „1”(ustawienie) na końcówce wyjściowej, • zanegowanie stanu logicznego na końcówce wyjściowej, • wysłanie sygnału do urządzenia wewnętrznego mikrokontrolera (np. sygnał START dla

wewnętrznego przetwornika A/C), • jeżeli licznik ma taką funkcję, może wystąpić automatyczne przeładowanie licznika wartością

początkową

Czas po którym nastąpi przepełnienie licznika T = (Nmax – Npo)/fclk

Start zliczania

Sterowanie układem wew.

Funkcja

Wybór funkcji

9 Semestr zimowy 2017/2018, WIEiK-PK

Podstawowe funkcje układu czasowego – odmierzanie jednostek czasowych

Semestr zimowy 2017/2018, WIEiK-PK 10

Czas [s]

Stan licznika

START

0x00

0xFF Nmax - wartość max licznika

Npo - wartość początkowa

Przepełnienie (overflow)

START zliczania od wartości 0 START zliczania od wartości 0xF0

Czas po którym nastąpi przepełnienie licznika T = (Nmax – Npo)/fclk

Page 6: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

6

Podstawowe funkcje układu licznikowego – zliczanie impulsów zewnętrznych

Licznik binarny 2n

Npo - wartość początkowa do zliczania

auto-przeładowanie

Zerowanie bitu programowe lub

automatyczne

Generowanie przerwania IRQ

Bit przepełnienia

Rejestr

Zewnętrzna końcówka

mikrokontrolera

Start zliczania

Zbocze

Wybór zbocza do zliczania

Aktualna wartość licznika

11 Semestr zimowy 2017/2018, WIEiK-PK

Licznik binarny 2n

Npo - wartość początkowa do zliczania

auto-przeładowanie

fclk

Generowanie przerwania IRQ

Bit przepełnienia

Rejestr

Zewnętrzna końcówka

mikrokontrolera

Start zliczania

Sterowanie układem wew.

Podstawowe funkcje układu czasowego – generator sygnału

Po wystąpieniu przepełnienia licznika następuje: • wygenerowanie sygnału, którego narastające zbocze (sygnał zegarowy clk

dla przerzutnika typu D) powoduje zmianę stanu wyjścia Q na przeciwny, • Sygnał wyjściowy z przerzutnika ma częstotliwość dwa razy mniejszą od

częstotliwości przepełnienia licznika i współczynnik wypełnienia sygnału wynosi 50%.

Przerzutnik typu D

clk

D

/Q

Q

szerokość impulsu - 50%

T - Okres sygnału

Okres sygnału wyjściowego T = 2 * (Nmax – Npo)/fclk

12 Semestr zimowy 2017/2018, WIEiK-PK

Page 7: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

7

Podstawowe funkcje układu czasowego – przechwytywanie zdarzeń (capture unit)

Licznik binarny 2n

Wpis do rejestru stanu licznika

fclk

Wybór zbocza sygnału

Sygnał przerwania IRQ

Wybór zbocza Rejestr 1

Start zliczania

Zewnętrzna końcówka

mikrokontrolera Stan rejestru 1

Wykrywanie zbocza

Wpis do rejestru stanu licznika

Wybór zbocza sygnału

Sygnał przerwania IRQ

Wybór zbocza

Zewnętrzna końcówka

mikrokontrolera Stan rejestru 2

Wykrywanie zbocza

Bit przepełnienia

Generowanie przerwania IRQ

Rejestr 2

13 Semestr zimowy 2017/2018, WIEiK-PK

Podstawowe funkcje układu czasowego – porównywanie (compare unit)

Licznik binarny 2n fclk

Sygnał przerwania IRQ

Rejestr stanu

1

Start zliczania

Bit równości

Bit przepełnienia

Generowanie przerwania IRQ

Komparator R Zewnętrzna końcówka

mikrokontrolera Funkcja

Wybór funkcji

R=L

L

Sygnał równości

Sygnał przerwania IRQ

Rejestr stanu

2

Bit równości Komparator R

Zewnętrzna końcówka

mikrokontrolera Funkcja

Wybór funkcji

R=L

L

Sygnał równości

Funkcje wyjścia: • zanegowanie wyjścia, • ustawienie wyjścia, • wyzerowanie wyjścia.

14 Semestr zimowy 2017/2018, WIEiK-PK

Page 8: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

8

Podstawowe funkcje układu czasowego – modulator PWM

• Mikrokontrolery przewidziane do zastosowań sterowania i kontroli w szczególności w układach napędowych zawierają rozbudowane i czasami skomplikowane układy czasowo-licznikowe (modulatory PWM - modulator szerokości impulsu).

• Mają one za zadanie generowanie precyzyjnych przebiegów PWM, które następnie sterują tranzystorami mocy np. w układzie falownika, zasilacza impulsowego, itp.

15 Semestr zimowy 2017/2018, WIEiK-PK

Podstawy techniki modulacji PWM

Okres sygnału

Szerokość impulsu

T- okres sygnału PWM [s], T = toff + ton

F = 1/T – częstotliwość sygnału PWM [Hz] toff - czas trwania stanu niskiego [s] ton - czas trwania stanu wysokiego [s] Uavg = Umax*ton/T – wartość średnia napięcia

wyjściowego

Regulacja stanem niskim toff

T

ton

Umax

Uavg

Okres sygnału

toff

T

ton Regulacja stanem

wysokim

OUT

Regulacja stanem wysokim

/OUT

Ustawiany tzw. czas martwy (dead time)

Okres sygnału

toff

T Regulacja stanem niskim

od przodu i tyłu

toff

ton

Wyjście PWM komplementarne

16 Semestr zimowy 2017/2018, WIEiK-PK

Page 9: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

9

Przerzutnik

Przykładowa struktura modulatora PWM

Licznik binarny modulo Nt

fclk R

Komparator szerokości

Rejestr szerokości impulsów

Komparator okresu

Rejestr okresu sygnału Nt

Wyjście /PWM

S

=

=

Q Zerowanie

Okres sygnały

Szerokość impulsu

Wyjście z regulacją stanu „0”

17 Semestr zimowy 2017/2018, WIEiK-PK

• Rozbudowane struktury licznikowo-czasowe spotyka się w mikrokontrolerach stosowanych w urządzeniach napędowych do sterowania, np. silników trójfazowych asynchronicznych, popularnie zwanych falownikami.

• Są to specjalizowane trójfazowe modulatory PWM, które generują falę trójfazową PWM (dwa przebiegi na jedną fazę - OUT i /OUT) i mają możliwość ustawiania jeszcze tzw. czasu martwego, potrzebnego do bezpiecznego sterowania tranzystorami mocy w układzie mostkowym falownikowym.

• Do tego jeszcze, taki mikrokontroler zawiera kolejny tzw. szybki układ licznikowy do pomiaru prędkości obrotowej silnika i wykrywania kierunku wirowania silnika.

• Takie układy licznikowe spotyka się, np. w procesorach sygnałowych zaprojektowanych pod kątem zastosowania w napędach falownikowych lub sterowania silnikami bezszczotkowymi.

Podstawowe funkcje układu czasowego – modulator PWM

18 Semestr zimowy 2017/2018, WIEiK-PK

Page 10: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

10

Semestr zimowy 2017/2018, WIEiK-PK 19

Przykłady układów czasowo-licznikowych

Układ 8051, timer T1, tryb 0 - 13-bitowy, tryb 1 - 16-bitowy

Układ 8051, timer T1, tryb 2 – 8-bitowy z automatycznym przeładowaniem

Semestr zimowy 2017/2018, WIEiK-PK 20

Przykłady układów czasowo-licznikowych

Układ 8-bitowy, ATMEGA128, timer T3 – 16-bitowy

Page 11: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

11

Przykład 6-kanałowego modulatora PWM w

mikrokontrolerze typu ARM, LPC21XX

21 Semestr zimowy 2017/2018, WIEiK-PK

Przykład 32-bitowego licznika w mikrokontrolerze typu

ARM, LPC21XX

22 Semestr zimowy 2017/2018, WIEiK-PK

Page 12: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

12

Przykład 16-bitowego licznika w mikrokontrolerze typu Cortex-M4 w STM32F4xx

Schemat blokowy układu czasowo-licznikowgo TIM1 i TIM8 w STM32F407

Semestr zimowy 2017/2018, WIEiK-PK 23

Parametry licznika: • pojemność 16 bitów, kod BIN, • licznik zlicza w górę, w dół lub góra/dół,

automatyczne przeładowanie (up, down, up/down auto-reload counter),

• Dodatkowy licznik powtórzeń (repetition counter),

• dzielnik wstępny, prescaler 16 bitowy, • cztery kanały wyjściowe, komplementarne • cztery kanały wejściowe, wybór zbocza • cztery jednostki porównawcze, • kilka źródeł sygnału wejściowego, • max częstotliwość 168MHz , • Podstawowe tryby pracy:

• tryb porównania (Output Compare), • tryb przechwytywania (Input Capture), • tryb pojedynczego impulsu wyjściowego

(One-pulse mode output), • tryb pracy PWM (PWM generation

(Edge and Center-aligned Mode)), • możliwość ustawiania czasu martwego, • współpraca z zewnętrznymi enkoderami

kwadraturowymi i czujnika Halla, • szybkie wejście do zerowania stanu wyjść

kanałów (Break input), • …… • …….

Układy RTC – Real Time Clock

• Zegar czasu rzeczywistego służy do odmierzania aktualnego czasu i daty.

• Jest to specjalizowany układ czasowo-licznikowy z dodatkowymi funkcjami, np. alarmu, dodatkowej pamięci RAM.

• W systemach mikroprocesorowych do tego celu stosuje się specjalizowane układy scalone, np. PCF8583, PCF8563, DS1307.

• Układy RTC obecnie są stosowane w prawie każdym urządzeniu przenośnym - telefon komórkowy, tablet, odbiornik GPS.

• W prostych mikrokontrolerach można zrealizować układ RTC w sposób sprzętowo-programowy, korzystając z typowego układu licznikowego.

• Rozbudowane mikrokontrolery posiadają specjalizowane wewnętrzne układy RTC, które wymagają dołączenia zewnętrznego rezonatora kwarcowego (najczęściej jest to kwarc o częstotliwości 32768Hz) i zasilania awaryjnego w postaci baterii, akumulatora lub kondensatora o dużej pojemności.

Semestr zimowy 2017/2018, WIEiK-PK 24

Page 13: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

13

Układy RTC – Real Time Clock

Semestr zimowy 2017/2018, WIEiK-PK 25

Układy RTC – PCF8563, firmy NXP

Podstawowe parametry układu:

• Zliczanie lat, miesięcy, dni, weekendów, godzin, minut, sekund na podstawie rezonatora kwarcowe 32.768 kHz

• Flaga wieku

• Napięcie zasilania 1.8 to 5.5 V

• Niski prąd zasilania, typowo 0.25 µA dla VDD = 3.0 V i Tamb = 25 °C

• Magistrala 2-przewodowa typu I2C, 400 kHz

• Programowalny sygnał wyjściowy (32.768 kHz, 1024 Hz, 32 Hz i 1 Hz)

• Funkcje alarmu i timera

• Wewnętrzny kondensator dla oscylatora

• Wewnętrzny układ zerowania w momencie włączenia zasilania (power-on reset)

• Adres dla I2C-bus: slave address: read A3H and write A2H

• Wyjście przerwania typu otwarty Dren (Open-drain interrupt pin).

Semestr zimowy 2017/2018, WIEiK-PK 26

Wewnętrzny schemat blokowy PCF8563

Schemat aplikacyjny

Wyprowadzenia układu

Page 14: Układy czasowo-licznikowe w systemach …mysinski.wieik.pk.edu.pl/UPCiMCU/Uklady czasowo-licznikowe.pdf · Przykładowa struktura modulatora PWM Licznik binarny modulo Nt fclk R

2018-01-28

14

Układ RTC w mikrokontrolerze STM32F4xx, firmy STM

Semestr zimowy 2017/2018, WIEiK-PK 27

Podstawowe parametry układu:

• zliczanie lat, miesięcy, dni, godzin, minut, sekund, ułamków sekund,

• trzy źródła sygnału zegarowego,

• napięcie zasilania 1.65 to 3.6 V,

• automatyczne przełączanie zasilania,

• funkcje alarmu, timera, znacznik czasu (Timestamp),

• dwa wyjścia alarmowe,

• wykrywanie tzw. sabotażu (Tamper detection),

• generowanie przerwań sprzętowych na zdarzenia,

• 80 bajtów pamięci z podtrzymaniem,

Układy RTC – DS3231, firmy Maxim Integrated

Układ zawiera:

• interfejs szeregowy I2C (400kHz),

• układ zegara RTC, czas i data (kalendarz do 2100 roku),

• układ alarmu,

• wewnętrzny rezonator kwarcowy 32768Hz,

• czujnik temperatury,

Semestr zimowy 2017/2018, WIEiK-PK 28

https://www.maximintegrated.com/en/products/digital/real-time-clocks/DS3231.html

Moduł z układem RTC DS3231 i pamięcią EEPROM 24C32