ARM MCUは外部クリスタルよりも高速に動作しますか?


12

そのため、これまでは単純な8ビットAtmel MCUでしか作業していませんでしたが、開発ボードの回路図では12Mhzのクリスタルしか搭載されていませんが、MCUは最大100MHzで動作します。(デフォルトは80MHzだと思います。楽しみのために一度だけ高くしました。これはコードの簡単な行です。)

それはどうやって?たとえば、Atmega328が使用されている水晶の速度で実行されるのはなぜですか?


5
1)mHzはミリヘルツを意味するため、ヘルツの1000分の1で、メガヘルツを意味する場合はMHz(大文字のM)を使用します。2)8ビットMCU 3)開発ボードは何ですか?4)ATMega 328は水晶の速度で実行する必要はありません。データシートのクロッキングのセクションを読んで、可能なことを確認してください。5)一部のICには、外部クロック周波数を逓倍するために使用できるPLLがあります。
Bimpelrekkie

1
@Bimpelrekkie:そのコメントのほとんどが答えです。それに答えたいですか?
JRE

12 MHzと比較するVCO分周器はfを乗算します。これがPLL周波数シンセの機能です。
トニースチュワートサニースキーガイEE75

@Bimpelrekkieは既に誰かが修正してくれたようです。Atmelとatmega328についてはすでに言及しました。しかし、それは例であるため重要ではありません。afaik atmega328pにはPPLがありませんか?私はあなたが単にそれを単に増やすことができる方法について主に興味がありました。ありがたいことに、マーカス・ミュラーはすでにそれを非常によく説明しました。
user3033693

これを読んでいるコンピューターのプロセッサーは、おそらく100Mhzの基準クロックを使用しているか、それより遅いのに、コアはghzで実行されています。
old_timer

回答:


28

これは、ARMプロセッサであるコアとは関係ありません。クロッキング回路がどのように機能するかについてです。

マイクロコントローラ、RFチップ、オーディオチップなどの多くのシステムでは、基準クロックの正確な倍数である高速クロック(外部水晶など)を生成する必要があります。

そのためには、制御電圧を増減することで周波数を調整できる電圧制御発振器(VCO)を使用します。

これで、制御電圧を設定するだけで、入力周波数の正確な倍数ではなく、おおよそ右の「球場」の周波数で発振させることができます。特に、VCOは少しドリフトする可能性があり、そのため周波数は場所全体で継続的に「さまよう」ことになります。基準発振器と比較して、その発振器を制御する必要があります。

その方法は、Phase-Locked Loopを使用することです。アイデアは簡単です。

  1. N
  2. fVCO/Nfref

上記は制御ループで、フェーズにロックされています。したがって、名前です。

多くの周辺機器を備えているため、内部で複数のクロックを使用するメリットがある「リッチ」マイクロコントローラーの場合、通常は少なくとも1つのPLLが必要です。ATMega328は、その点で少し奇妙です。これは、比較的電力を消費し、比較的周辺機器が豊富なマイクロコントローラであり、まだPLLがありません。


1
ありがとう:)これは非常によく説明しています!面白おかしくしたり、私の愚かな間違いに集中したりする代わりに、あなたは私が明らかに求めていることを教えてくれました。失読症で注意を払うのが非常に難しいこともあります。投稿を2〜3回読んでも、多くのメイクを見逃したり、必要のない場所に誤って大文字を使用したりします。英語はもちろん私の母国語ではありません。
user3033693

7
@AmyGambleしかし、あなたの英語はとても上手です!非常に多くの若いエンジニアが単にユニットの大文字化を忘れているからだと思います。これは後で非常に問題になる可能性があります:)
マーカスミュラー

9

一部のデバイスには、水晶周波数をより高い周波数に逓倍できるPLLが組み込まれています。ATMega328にはPLLがなく、水晶を直接使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.