Przegląd możliwości timerów w STM32F
W artykule przedstawiamy ekspresowy przegląd cech i możliwości timerów-liczników zastosowanych w mikrokontrolerach STM32F2/F4 i pozostałych STM32, z uwzględnieniem ich podstawowych obszarów aplikacyjnych.
Pomimo swojej krótkiej rynkowej historii mikrokontrolery STM32F nieustannie ewoluują, co szczególnie jest widoczne na przykładzie wbudowanych w nie bloków peryferyjnych, w tym także timerach. Znaczenie sprzętowych timerów we współczesnych aplikacjach rośnie, rosną także wymagania im stawiane, na co producenci mikrokontrolerów starają się możliwie szybko zareagować. Jedne z najnowszych timerów firma STMicroelectronics zastosowała w mikrokontrolerach STM32F2 i STM32F4, których wyposażenie – poza rdzeniami CPU – jest bliźniacze.
Timery w STM32: jakie i do czego
W zależności od przynależności do rodziny, mikrokontrolery STM32 są wyposażane w różne rodzaje mikrokontrolerów, co w przejrzysty sposób pokazano w tabeli 1. W mikrokontrolerach STM32F2 i STM32F4 zastosowano łącznie 14 timerów, w tym dwa 32-bitowe (TIM2 i TIM5).
Tab. 1. Zestawienie wyposażenia w timery poszczególnych rodzin mikrokontrolerów STM32
Typ timera | STM32F101…107 | STM32F100 | STM32L1 | STM32F2/F4 |
Advanced | TIM1 | TIM1 | TIM1 | |
TIM8 | TIM8 | |||
General Purpose | TIM2 | TIM2 | TIM2 | |
TIM3 | TIM3 | TIM3 | TIM3 | |
TIM4 | TIM4 | TIM4 | TIM4 | |
TIM5 | TIM5 | |||
General Purpose 32-b | TIM2 | |||
TIM5 | ||||
Basic | TIM6 | TIM6 | TIM6 | TIM6 |
TIM7 | TIM7 | TIM7 | TIM7 | |
1-channel | TIM10 | TIM10 | TIM10 | |
TIM11 | TIM11 | TIM11 | ||
TIM13 | TIM13 | TIM13 | ||
TIM14 | TIM14 | TIM14 | ||
2-channel | TIM9 | TIM9 | TIM9 | |
TIM12 | TIM12 | TIM12 | ||
1-channel z wyjściami komplementarnymi | TIM15 | |||
2-channel z wyjściami komplementarnymi | TIM16 | |||
TIM17 |
Timery w STM32 dzielą się na pięć zasadniczych grup:
- advanced – timery najbardziej rozbudowane funkcjonalnie o największych możliwościach konfiguracyjnych z wbudowanymi komparatorami, przystosowane do pracy w systemach wielofazowego sterowania silnikami (m.in. możliwość zadania czasu martwego pomiędzy fazami, możliwość sprzętowego zatrzymania sterowanego silnika),
- general purpose – uniwersalne timery o dużych możliwościach funkcjonalnych, pozbawione komparatorów, przystosowane do pomiaru czasu i okresu przebiegów, zliczania impulsów i odstępów między nimi, zliczania impulsów z czujników i enkoderów itp.
- basic – timery pozbawione wejść i wyjść zewnętrznych, przeznaczone do pracy w generatorach podstawy czasu (np. do wyzwalania przetworników C/A).
- 1-/2-channel z wyjściami komplementarnymi – timery o nieco mniejszych możliwościach niż dotychczas wymienione, zliczające wyłącznie w górę, wyposażone w komparator, a także – wyłącznie w wersji 2-kanałowej – także w generator czasu martwego.
Wszystkie wymienione dotychczas timery mają dostęp do DMA, dzięki czemu ich obsługa pochłania minimalne zasoby CPU. Ostatni rodzaj timerów stosowanych w obecnie dostępnych wersjach mikrokontrolerów STM32 to:
- 1-/2-channel – timery nie mające dostępu do DMA, pozbawione komparatora i generatora czasu martwego.
Tab. 2. Skrócone charakterystyki funkcjonalne poszczególnych grup timerów stosowanych w mikrokontrolerach STM32
Typ timera | Rozdziel-czość | Zlicza-nie | Dostęp do DMA | Liczba kana-łów | Liczba kom-para-torów | IC/OC/ PWM/OP | Tryb master | Tryb slave |
Advanced | 16 | up, down, center aligned | + | 4 | 3 | +/+/+/+ | + | + |
General purpose | 16/32 (wyłącznie w STM32F2/F4) | up, down, center aligned | + | 4 | 0 | +/+/+/+ | + | + |
Basic | 16 | up | + | 0 | 0 | -/-/-/- | + | – |
1-channel | 16 | up | – | 1 | 0 | +/+/+/+ | + | – |
2-channel | 16 | up | – | 2 | 0 | +/+/+/+ | + | + |
1-channel z wyjściami komple-mentar-nymi | 16 | up | + | 1 | 1 | +/+/+/+ | + | – |
2-channel z wyjściami komple-mentar-nymi | 16 | up | + | 2 | 1 | +/+/+/+ | – | + |
Najważniejsze cechy poszczególnych grup timerów zestawiono w tabeli 2. Warto zwrócić uwagę, że za wyjątkiem TIM2 i TIM5, które w mikrokontrolerach STM32F2 i STM32F4 są 32-bitowe a w innych rodzinach 16-bitowe, wszystkie pozostałe timery o takich samych nazwach charakteryzują się podobną budową i cechami użytkowymi.