STマイクロエレクトロニクス(以下、ST)の汎用32ビットマイコン「STM32ファミリー」のSTM32G0マイコン*1)には、PLLが搭載されています。STM32G0マイコンのPLLには、CPUコアと各種ペリフェラルとで供給するクロック周波数を変更できるように、3系統の出力(PLLPCLK、PLLQCLK、PLLRCLK)が用意されています(図4)CPUのクロックには、PLLRCLKをクロック源として使用可能です。その他のPLL出力系統は、各種ペリフェラルの動作周波数設定に使用します。
*1):https://www.stmcu.jp/stm32/stm32g0/
STM32G0マイコンのPLL出力クロック周波数は、各分周器M、P、Q、Rによる分周と、PLL内の分周器Nによる逓倍を組み合わせて柔軟に設定できます。各分周器の分周比および、分周器Nの逓倍比はそれぞれ以下の通り選択可能です。
分周器M:1〜8
分周器P:2〜32
分周器Q、R:2〜8
分周器N(逓倍比):8〜86
STM32G0マイコンで発振子の周波数が8MHzで、CPUコアを64MHzで動作させる場合のPLL設定例を紹介します。
CPUのクロック源を選択するSystem Clock MuxをPLLのクロック出力であるPLLCLKに設定します。PLLの入力クロックをHSE(外部高速発振器)に設定します。分周器Mの分周比は1、分周器Rの分周比は2、PLL内の分周器Nの逓倍比は16に設定します。
この時、CPUコアの動作周波数は次のようになります。
式2:CPUコア動作周波数64[MHz]=PLLの入力クロック(発振子)周波数8[MHz]÷入力クロック分周比1(分周器M)×PLL逓倍比16(分周器N)÷PLL出力分周比2(分周器R)
Copyright © ITmedia, Inc. All Rights Reserved.