Przegląd możliwości timerów w STM32F

Synchronizacja timerów w STM32

W zestawieniu prezentowanym w tabeli 2 widoczne są dwie nieoczywiste kolumny: tryb master i tryb slave. Dotyczą one jedynie niektórych typów timerów, które są przystosowane do pracy w konfiguracji wielopoziomowej, niektóre z nich jako źródła sygnałów taktujących dla kolejnych timerów (master), niektóre jako timery taktowane (slave), timery general purpose oraz advanced mogą pracować w obydwu trybach.

 

Rys. 1. Schemat blokowy systemu multipleksera sygnałów wyzwalających

Rys. 1. Schemat blokowy systemu multipleksera sygnałów wyzwalających

 

Rys. 2. Budowa timerów TIM1/TIM8 i zintegrowanego w nich multipleksera <EM>timer system link</EM>

Rys. 2. Budowa timerów TIM1/TIM8 i zintegrowanego w nich multipleksera timer system link

 

Konfiguracją sygnałów wejściowych i wyjściowych wyzwalających zliczanie programista może zarządzać dzięki specjalnemu multiplekserowi timer system link (występuje w każdym timerze obsługującym tryby master/slave), którego schemat blokowy pokazano na rysunku 1, a na rysunku 2 pokazano jego zastosowanie w timerze TIM1/TIM8 (advanced). Przykładowy sposób kaskadowego połączenia timerów w trybie master/slave pokazano na rysunku 3.

 

Rys. 3. Przykładowa konfiguracja kaskadowa timerów w STM32

Rys. 3. Przykładowa konfiguracja kaskadowa timerów w STM32

 

Maksymalne częstotliwości taktowania

Taktowanie timerów w mikrokontrolerach STM32F2 i STM32F4 zostało podzielone na dwie niezależne grupy:

  • taktowanych z preskalera APB1, są to: TIM2, TIM3, TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14,
  • taktowanych z preskalera APB2, są to: TIM1, TIM8, TIM9, TIM10, TIM11.

Cechy konstrukcyjne mikrokontrolerów STM32F2/F4 powodują, że maksymalna częstotliwość wewnętrznego taktowania timerów wynosi (tabela 3):

  • w przypadku STM32F2: z grupy APB1 30 MHz, a z grupy APB2 – 60 MHz, które w obydwu przypadkach są powielane x2 dając wynikowo 60 lub 120 MHz.
  • w przypadku STM32F4: z grupy APB1 42 MHz, a z grupy APB2 – 84 MHz, które w obydwu przypadkach są powielane x2 dając wynikowo 84 lub 168 MHz.

 

Tab. 3. Maksymalne częstotliwości taktowania timerów w mikrokontrolerach STM32F2/F4

Mikrokontrolery Timery fTIMmax
[MHz]
STM32F2 TIM2, TIM3, TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14 60
TIM1, TIM8, TIM9, TIM10, TIM11 120
STM32F4 TIM2, TIM3, TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14 86
TIM1, TIM8, TIM9, TIM10, TIM11 168

 

Żeby było łatwiej: narzędzia i pomoc dla programistów

Konfiguracja toru taktującego timery nie jest zadaniem bardzo trudnym, ale może sprawiać problemy początkującym programistom. Żeby zminimalizować ryzyko pomyłki firma STMicroelectronics udostępniła bezpłatnie proste w obsłudze konfiguratory (w postaci interaktywnych arkuszy XLS), które umożliwiają łatwe i – co ważne – pod kontrolą, ustawienie odpowiednich współczynników podziału i powielania w PLL, do tego potrafią wygenerować kod w C służący do konfiguracji bloku RCC. Okno konfiguratora z przykładowymi nastawami pokazano na rysunku 4.

 

Rys. 4. Wygląd okna arkusza XLS wspomagającego konfigurację systemu taktującego w mikrokontrolerach STM32

Rys. 4. Wygląd okna arkusza XLS wspomagającego konfigurację systemu taktującego w mikrokontrolerach STM32

 

Równie praktyczną pomocą dla programistów są przykładowe programy dostarczane m.in. z zestawami DISCOVERY (np. STM32F4DISCOVERY), dostępne na stronie internetowej producenta. Są wśród nich m.in. przykłady różnych konfiguracji poszczególnych timerów, które bez wątpienia są najbardziej poglądowe dla praktyków.

O autorze