AVRマイコンライタの製作
今回はAVRマイコンにプログラムを書き込むAVRマイコンライタを製作します。パソコンのUSBからライタに接続し前回用いた方法を利用してAVRマイコンに命令を書き込むことができます。
AVRライタの仕組み
AVRライタはUSBからの命令をISPという6本(10本の場合もある)のピンに変換し、そのピンから任意のAVRライタに接続することで命令を書き込むことができます。ATMEL社によってライタの回路、ライタに必要なプログラムはすべて公開されています。今回はその回路図(大元のサイト)を読みながらUSBからISPへと命令を変化する回路を作りました。 また、ISPからマイコンに繋ぐ方法はとても単純です。簡単に言えば任意のAVRマイコンの仕様書を読み6つのピン(MOSI,MISO,VCC,GND,CLK,RST)を繋ぐだけです。 ちなみに、ここではATMEGA168というAVRマイコンに書き込みを行うための回路製作法について説明しています。
- 基板取付用USBコネクタ(Bタイプ,メス)
- 抵抗(68Ω×2、1kΩ×2、2.2kΩ×2、10kΩ×1)
- コンデンサ(22pF×2、0.1uF×1、4.7uF×1)
- ツェナダイオード(3.6V×2)
- 水晶振動子(12MHz×1)
- PIN(6本)
- 28PINのPINプレッシャー
- ATMega48*
必要な電子部品
- AVRマイコンライタ(ライタを作るのにライタが必要なのです・・・)
- usbasp.atmega48.2007-10-23.hexというファイル(前回使ったusbaspの中に入ってます)
必要なもの・ソフトウェア
まずは回路を作ります。回路はATMEL社にあります。ATMEGA168へ書き込むためにはJP1,JP3を繋ぎ、JP2は繋ぎません。以上を踏まえて部品配置図を製作したので載せておきます。27×36穴の基板を裏から見た図です。以上のように部品を配置し半田付けをしましょう。
次はAVRMega48*にライタ用のプログラミングを書き込みます。前回と同じ方法でライタを用いてマイコンに命令を書き込みます。usbasp.atmega48.2007-10-23.hexを書き込みます。ただしそれだけではライタには使えません。Fuse Bitを下記図の通りの値に設定する必要があります。この設定の内容は、①動作クロック 1/8動作を禁止する ②外部XTAL動作クロックとする です。新品のマイコンの場合はこの設定をしないとライタとして使えないので要注意です。
AVRMega48を先ほど作った回路に装着しUSBを繋ぎます。USBaspとして認識すれば成功。不明なデバイスと表示された場合はマイコンのプログラムか回路にミスがないかを確かめましょう。