小山智史(弘前大学)

USB接続のAVRライタ(USBasp)

ライタソフト:
AVR Wiki[1]で配布されている、kkkさんによるavrspxを使います。ライタ装置を接続した時に「新しいデバイス」の表示が現れるので、USBaspの配布ファイル中のbinのwin-driverの中のlibusbを組み込んでおきます。
ライタ装置:
下の左の写真は製作したUSBasp[2]です(回路図, パターン図, ケース)。右の写真はZIFソケットを付けたものです(回路図パターン図)。
下の写真のように、ターゲットのAVRマイコンをICクリップで挟んで書き込めるようにし、AT90S2313/ATtiny2313用の20ピンICクリップのケーブルと、ATtiny45/85用の8ピンICクリップのケーブルを用意しています。システムに組み込んだ状態で書き込むISP(InSystem Programming)方式のライタですから、回路設計時にはPB5〜PB7を利用する場合は若干の注意が必要です[4]。

 いずれも、USBaspのファームウェアはavrspxと共に配布されているhexファイルに書き換えます。

 これらの製作に際しては、kumanさんの「USB接続プログラムライタの試作」のページ[3]およびAVR Wikiのページを参考にさせていただきました。

「USBaspを認識できない」という問題について
 デスクトップPCや多くのノートPCでは、オリジナルのUSBaspで問題なく利用できたのですが、一部のノートPC(十分な確認をしたのはEPSON EDiCube L330H)で「USBデバイスを認識できない」という問題が生じました。この問題は、USBaspの回路中1.5kΩで5Vにプルアップされている「D-」の箇所を、3.3V(USBの仕様)にプルアップするように変更することで解決することができました。実際には回路図のように、1.5kΩの代わりに2.2kΩと3.9kΩの抵抗を用いるようにしました。ATtiny2313とATtiny45に対して、usbasp.2005-11-14およびavrspx_b9_5(AVR Wikiのsandboxで配布)を用いて書き込み、動作を確認しました。
 私はライタソフトやUSBのことをほとんど知らないものですから、1年近くの間この問題を解決できずにいました。しかし、kumanさんからご連絡をいただいたことがきっかけで、kkkさんに原因を究明していただくことができました。両氏には厚くお礼を申し上げます。
 同じようなトラブルで悩んでいる方がいらっしゃいましたら、是非お試しください。
 なお、現在公開されているUSBaspの回路図では、この問題に対策が施されています。

プリンタポート接続のAVRライタ

 私は長い間プリンタポート接続のAVRライタを使ってきましたが、プリンポートの無いノートPCを使っている方が多くなってきたことから、現在USBaspに移行中です。

 また、USBaspを初めてのAVRライタとして作ろうとする場合、USBaspの中に使うMega8にどうやってプログラムを書き込むかという「鶏と卵の問題」があります。その意味で、プリンタポート接続のAVRライタが1台あるといいかもしれません。

ライタソフト:
SP12(Programming a Spider's Brain)[5]を使います。WindowsNT/2000/XPの場合は、readme.winの記載を見ながらgiveio.sysを組み込んでおきます。
ライタ装置:
下の左の写真は、SP12のページに紹介されている「Ken's dongle」を参考に製作したもので、ZIFソケットを付けました(回路図パターン図)。また、下の右の写真は、ATtiny2313/AT90S2313専用のライタで、回路をコネクタハウジングの中に入れたものです(回路図)。

 ZIFソケットにチップをセットする場合は、チップの方向に注意する必要があります(下図)。また、8ピンのATtiny45/85と20ピンのATtiny2313/AT90S2313でスライドスイッチを図のように切り替えて使います。

 下の写真はターゲットボード上のAT90S2313やATtiny45にISPケーブルで接続して書き込んでいる様子です。接続時にはコネクタやICクリップの方向に注意する必要があります。

[1] kkk: avrspx, http://avrwiki.jpn.ph/wiki.cgi
[2] Fischl: USBasp, http://www.fischl.de/usbasp/
[3] kuman: USB接続プログラムライタの試作, http://www.geocities.jp/kuman2600/usbwriter.html
[4] Chan: AVRライタ製作集, http://elm-chan.org/works/avrx/report.html
[5] Steven Bolt: Programming a Spider's Brain, http://www.xs4all.nl/~sbolt/e-spider_prog.html


[ビデオ] [タイマー] [オルゴール] [ピアノ] [時計] [貯金箱] [ノック] [リモコン] [チャイム] [マウス] [テキスト]
koyama@cc.hirosaki-u.ac.jp