そのため、これまでは単純な8ビットAtmel MCUでしか作業していませんでしたが、開発ボードの回路図では12Mhzのクリスタルしか搭載されていませんが、MCUは最大100MHzで動作します。(デフォルトは80MHzだと思います。楽しみのために一度だけ高くしました。これはコードの簡単な行です。)
それはどうやって?たとえば、Atmega328が使用されている水晶の速度で実行されるのはなぜですか?
そのため、これまでは単純な8ビットAtmel MCUでしか作業していませんでしたが、開発ボードの回路図では12Mhzのクリスタルしか搭載されていませんが、MCUは最大100MHzで動作します。(デフォルトは80MHzだと思います。楽しみのために一度だけ高くしました。これはコードの簡単な行です。)
それはどうやって?たとえば、Atmega328が使用されている水晶の速度で実行されるのはなぜですか?
回答:
これは、ARMプロセッサであるコアとは関係ありません。クロッキング回路がどのように機能するかについてです。
マイクロコントローラ、RFチップ、オーディオチップなどの多くのシステムでは、基準クロックの正確な倍数である高速クロック(外部水晶など)を生成する必要があります。
そのためには、制御電圧を増減することで周波数を調整できる電圧制御発振器(VCO)を使用します。
これで、制御電圧を設定するだけで、入力周波数の正確な倍数ではなく、おおよそ右の「球場」の周波数で発振させることができます。特に、VCOは少しドリフトする可能性があり、そのため周波数は場所全体で継続的に「さまよう」ことになります。基準発振器と比較して、その発振器を制御する必要があります。
その方法は、Phase-Locked Loopを使用することです。アイデアは簡単です。
上記は制御ループで、フェーズにロックされています。したがって、名前です。
多くの周辺機器を備えているため、内部で複数のクロックを使用するメリットがある「リッチ」マイクロコントローラーの場合、通常は少なくとも1つのPLLが必要です。ATMega328は、その点で少し奇妙です。これは、比較的電力を消費し、比較的周辺機器が豊富なマイクロコントローラであり、まだPLLがありません。