2015年10月3日土曜日

Fuse Bitの設定を間違えたAVRを復活させた(京セラ EXO3)

はじめてヒューズビットを書き換えた時(「ATMega328Pを外部クリスタルで動かす」)、間違えて「Ext. Crystal Osc.: Frequency 0.4-0.9MHz」に設定してしまって普通の12MHzぐらいのクリスタルでは動作できなくなってしまった。

0.4-0.9MHzなので1MHz弱のクリスタルを使えばいいんだが、これぐらいの周波数の水晶振動子はなかなか売っていない。クォーツ時計用の32.768kHzのものでもだめだった。

多出力クリスタルオシレータ


秋月で「多出力クリスタルオシレータ EXO3(12MHz)」というのが売っていたので試してみた。

使い方はわりと簡単で電源をつないで、ピンで分周比を設定すれば動く。


AVRのヒューズビットの設定が「0.4MHz-0.9MHz」なので
12MHz / (1 / 2^4) = 0.75MHz
にEXO3を設定した。

ATMega328Pとの接続




ATMega328Pの方はAVRライタのSPIとRESET線をつないでいる。電源(+5V)もAVRライタから。

クロックの入力は、9Pinにつないだ。ヒューズビットの設定だと「クロック入力」ではなく「水晶振動子」を9Pin、10Pinにつながないとダメそうだが、ダメ元でやってみたら動いた。

ヒューズビット変更前

ヒューズビット変更後

ATMega328Pのデフォルトのヒューズビットにもどしてやった。

EXO3の出力波形


ch1:D(分周波) ch2:F(原振周波数)

波形は綺麗とは言えないが、手軽に周波数を生成できるのでなかなか便利なICだ。

(パスコンを入れたらもう少しきれいになるかな?)