JAJZ030C November 2024 – November 2025 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0G3529-Q1
SYSPLL モジュール
機能
SYSPLL 周波数が有効になっているとき、正しい周波数にロックされない場合がある。
SYSCTL.HSCLKEN レジスタ内の SYSPLLEN ビットを 1 に設定すると、SYSPLL は位相同期ループ のサーチを実行します。周波数が正しい値に設定されないと、サーチ動作が失敗することがあります。その場合は、得られる周波数が設定値と大きく異なってしまいます。
SYSPLLEN ビットが 1 に設定されている間は、周波数クロック カウンタ (FCC) を使用して SYSPLL の出力周波数を確認してください。正しい周波数に一度修正すれば、その後は無効化(SYSPLLEN = 0)および再有効化(SYSPLLEN = 1)されるまで維持されます。再有効化後は、ロック サーチが再実行されるため、SYSPLL 出力周波数も再確認する必要があります。
回避方法 1:SYSPLLCLK0 を FCC の CLK 入力として、LFCLK をトリガ ソースとしてそれぞれ設定します。FCC を実行し、設定した SYSPLL 周波数に対する測定値を LFCLK を基準として確認します。たとえば、SYSPLL = 80MHz、LFCLK = 32kHz の場合、FCC カウントは 80,000,000 / 32,768 ≒ 2441 になります。実際のカウント値はクロック精度に依存するため、許容範囲として ±5% を見込むことが推奨されます。FCC の推定実行時間は 30µs です。
FCC の設定:SYSCTL.GENCLKCFG.FCCTRIGCNT = 0、SYSCTL.GENCLKCFG.FCCTRIGSRC = 1、SYSCTL.GENCLKCFG.FCCSELCLK = 4。
FCC が異常値の場合は、SYSPLLEN を一度 0 にしてから 1 に戻します (SYSPLL をディスエーブルしてから再度イネーブルにする)。再度 FCC チェックを実行します。
回避方法 2:SYSOSC/2 を CLK_OUT ピンから出力し、その信号を FCC_IN に配線します。SYSPLLCLK0 を FCC CLK として、FCC_IN をトリガソースとしてそれぞれ使用します。16 クロック サイクルにわたって FCC を実行し、SYSOSC を基準として、設定された SYSPLL 周波数の値を確認します。たとえば、SYSPLL = 80MHz および SYSOSC/2 = 16MHz の場合、得られる FCC カウントは 80,000,000/16,000,000 * 16 ≒ 80 になります。実際のカウント値はクロック精度に依存するため、許容範囲として ±5% を見込むことが推奨されます。FCC の推定実行時間は 1μs です。
FCC の設定:SYSCTL.GENCLKCFG.FCCTRIGCNT = 0x0F、SYSCTL.GENCLKCFG.FCCTRIGSRC = 0、SYSCTL.GENCLKCFG.FCCSELCLK = 4。
FCC が異常値の場合は、SYSPLLEN を一度 0 にしてから 1 に戻します (SYSPLL をディスエーブルしてから再度イネーブルにする)。再度 FCC チェックを実行します。