※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

発振器について

AVR用の発振子の代表的な選択肢として、セラミック発振子と水晶発振子がある。

セラミック発振子

村田製作所のセラロックが有名。

安価(秋月で50円程度)で、消費電力が少ない。欠点は、ノイズに弱いこと、他のデバイスへのクロック供給に使えないこと。

振幅が狭く、ノイズが乗りやすいから、ノイズの多い環境では使用すべきでない。しかし、USBの基準クロックとして、いまのところ問題なく使えている。ノイズ対策が必要なら、水晶発振子に変えるべき。

ヒューズは、12MHzのセラミック発振子を使用する場合、以下のようにする。
  • CKSEL3..1 を 111
  • CKSEL0 を 0
  • SUT1..0 を 10

SUT1〜0は、MakefileでBODリセットを有効にする設定になっていたから、それに従った。BODリセットは、電圧がドロップしたときにリセットする機能で、電圧低下によりAVRの挙動が不安定になる前に、リセットする機能である。

水晶発振子

ノイズに強く、幅広い温度で安定した発振をする。欠点は、高価(秋月で100円程度)で、消費電力が大きいこと。振幅はフルスイングであるため、ノイズに強いし、他のデバイスにクロックを供給することもできる。安定性を求めるなら、水晶発振子を選んだほうがよい。

ヒューズは、ピン数により異なる。
(1) 12MHzの水晶発振子で、クロックのピンが1本の場合

  • CKSEL3..0 を 0000
  • SUT1..0 を 00

(2) 12MHzの水晶発振子で、クロックのピンが2本の場合
  • CKSEL3..0 を 0111
  • SUT1..0 を 01