wtorek, 25 sierpnia 2015

[0] STM32F4 - Discovery - Taktowanie

Tym razem chciałbym przedstawić możliwości taktowania mikrokontrolera zastosowanego w układzie STM32F4 - Discovery.

Sposoby taktowania


W celu taktowania nie tylko całego układu ale także jego poszczególnych elementów możliwe jest wykorzystanie takich źródeł jak:
  • HSE (ang. High Speed External) – jest to zewnętrzne źródło sygnału. W zastosowanym module takim źródłem jest kwarc o częstotliwości 8 MHz.
  • PLL (ang. Phase Locked Loop) – zewnętrzna pętla powielacza częstotliwości.
  • HSI (ang. High Speed Internal) – wewnętrzny generator częstotliwości. Częstotliwość wynosi 16 MHz.
  • LSE (ang. Low Speed External) – jest to kwarc zegarowy. Jego częstotliwość wynosi 32,768 MHz.
  • LSI (ang. Low Speed Internal) – posiada częstotliwość z zakresu od 17 do 37 kHz. Typowa wartość wynosi 32 kHz
HSE, PLL, HSI są przystosowane do taktowania całego układu. LSI może taktować układ watchdoga bądź układ zegaru czasu rzeczywistego, natomiast LSE tylko do taktowania układu zegara.

Maksymalna częstotliwość:


Aby możliwe było wykorzystywanie maksymalnej częstotliwości (czyli 168 MHz), przy wykorzystywaniu oscylatora zewnętrznego 8MHz, należy wybrać następujące parametry:

HSE - 8 MHz
PLL_M - 8 MHz
PLL_N - 336
PLL_P - 2

Wzór na obliczanie częstotliwości:

Sprawdzenie oraz wygenerowanie potrzebnych plików systemowych można wykonać w przygotowanym programie w Excelu. 

Rys. 1. Konfiguracja zegarów

Jak można zauważyć na rysunku najpierw wybiera się rodzaj głównego źródła HSE bądź HSI. Następnie przy wybraniu opcji PLL, czyli powielacza częstotliwości, następuje zwiększenie  sygnału bazowego na odpowiednio wyższą, zależną od nastaw. W przypadku wyboru HSI bądź HSE otrzymujemy częstotliwość bazową tych układów.

Taktowanie pozostałych elementów jest przedstawione po prawej stronie rysunku tzn. timery, zegary taktujące linie danych, USB OTG, SDIO oraz RNG.