Arduinosが20MHzではなく16MHzの水晶を搭載しているのはなぜですか?


33

Arduinoボードが20MHzではなく16MHzの水晶を搭載しているのはなぜですか?結局、それらは20MHzで動作するように仕様化されています。

ゆっくり実行することにはいくつかの利点があると思います(低消費電力、長寿命)が、私は何かを見逃しているに違いありません。


1
これは、古いArduinoフォーラムでも尋ねられました:arduino.cc/cgi-bin/yabb2/YaBB.pl
num=

3
この25%のアプリケーション速度のギャップは、適切なプログラミングで何度も獲得できることに注意してください。ただし、ICの極端な制限には近づかないようにしています。
-tyblu

回答:


29

Arduinoフォーラムで答えを購入します。

元のATmega8 Arduinoは16MHzで動作しました。これは、使用されているATmega8 CPUの最高定格クロック速度です。ATmega168に「アップグレード」すると(最高20MHzのCPU速度で)、クロックは16MHzのままになります(おそらく)。 CPUパフォーマンスの割合。 私は確かに彼らが正しいと思います...


6

実際、私が聞いた最良の理由の1つは、16 MHzで実行しているときはUARTが1 Mビットと2 Mビットのレートを完全に一致させることができるが、20 MHzで実行するときは一致しないことです。ロボットサーボのダイナミクセルラインなど、1および2メガビットのUART入力を持つデバイスが多数あります。


5

3番目のポイントは、ATmega168およびATmega328の低電力水晶発振器が16 MHz以上で動作しないことです。XTALピンに20 MHzの水晶を接続している場合、より多くの電力を消費する(または水晶をまったく使用しない)フルスイング水晶発振器を使用する必要があります。

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