SSブログ

AVRびびったよん [電子工作]


これだけ沢山のメーカー、種類のマイコンが容易に入手可能で、開発環境も無償から1~2万円程度で用意できる状況下では、例えばROMだけではなく、RAMや周辺LSIを接続したい場合はH8/300HやSHを、アナログ入力中心ならMSP430を、そして速度ではAVRを選択しています。
もっともAVRに関しては未だ入門レベルではあります。いやいやMSP430は動かしてもいないのでそれ以前か。

今まで使って来たAVRはAT90S2313のみで、入門に最適と言う事で試してみましたが、なかなか使い勝手が良かったので、幾つか製品にも組み込んでみました。

しかし、AT90Sシリーズが収束方向となり、Megaシリーズ、Tinyシリーズが主力となってヒューズbitの存在が面倒となり、AVRを使うような案件も無かったので、AT90S2313以外は依然として使ってきませんでした。

ところが最近になって多pinのAVRが目的にピッタリの案件が出て、Atmega64LとAVRISPを用意し、AVRStudioをインストールしてAVRの開発の再開です。
しかしヒューズbitの扱いに不慣れな為それは起きました。

その前に、AT90S2313の場合は外付けで発振回路を必要とし、クリスタルかセラロック(CRも有ったっけ?)を特定の端子に接続する事となっていますし、特にヒューズbitなんていじらなくても電源ONでこれら発振子からクロックを発生させる事ができました。ある意味ハードウエアをちゃんと作れば、発振に関してはなにも考えずに済みました。

Atmega64Lはご存知の方は多いでしょうけれど、標準では内部RC発振回路、しかも1MHzが選択されており、ヒューズbitを書き換えないと、それ以上の周波数に設定したり、外付け発振子を利用したりができません。

Atmega64LはQFPパッケージなので、基板を作成しないと動かす事ができません。実際に基板を作成して動かしてみた所、上手く動きませんでした。
ターゲット上のAVRに書き込む前にシミュレータ上で動作を確認したので、プログラム上の問題ではなさそうな事は判ります。
しかしAVRISPはあくまでもISP機能のみで、オンチップデバック機能を持っている訳ではないので、何処で動かないのかは判らないのです。

さて困った、多分ヒューズbitの設定に問題が有るのだろう!と言う事で、ヒューズbitを色々いじくり出しました。これがAVRStudio上から簡単に設定できる物だから、よく考えずに、「ちょっと設定変更しては書き込んで、また変更して」を繰り返してしまいました。
そんなことをしている内に、とうとうISPから応答が返って来なくなりました。
どうやらヒューズbitを、外付けRC発振にしてしまった様です。

こうなるともう駄目です。基板上の回路はRC発振回路で構成している訳ではないので当然発振せず、よってISPも成立しなくなりました。
どうしようか?、取り敢えず抵抗とコンデンサでRC回路を構成してみるか!とやってみましたが、設定してしまったらしいのが外付けRC発振の8MHzで、やってみれば判りますが、とてもRCで8Mなんて正常に発振しません。だって、抵抗値は2Ω程度、コンデンサ容量は20pF位ですから。

そこで別の方法を考えました。「AVR自身が発振できないなら、外からクロックを注入してみればどうだろう!」、つまり「押しても駄目なら引いてみな」作戦です。
幸いUSBから電源を取る基板で、電源電圧は5Vでしたので、手持ちの発振器、EXO-3を使ってXTAL1端子にクロックを注入してみました。

シンクロでEXO-3の出力を見ると、本来は50%程度のDutyなのが、30%Dutyとなっており、大丈夫かな?と思いつつISP接続にチャレンジしてみると、無事ISPが成立しています。空かさずヒューズbitを正しい設定に直しました。

いやいやビビリましたよ、簡単に顛末を書いていますが、一日悩んじゃったもん。最悪貼替えかなあ!と。
今回の基板は、最終的にはクリスタルでシステムクロックを生成しますので、XTAL1端子に容易に接続が可能だったのが幸いでした。
次回AVRの基板を設計する時も、外付け発振を使わないにしても、XTAL1端子は引き出せるようにしておこう!と心に誓った失敗でした。

それと、EXO-3は便利です。色々な周波数を取り揃えておくと、なにかと使えますよ。

あと正常に動かなかった理由ですが、Atmega103互換モードに設定(これまたヒューズbit)されていた為でした。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。