HIDasp ドライバインストール不要のAVRライタ
Tiny2313とAVR USBでAVRライタを作ってみました.大学の授業やサークルで,USBaspを使っていたのですが,ドライバのインストールでのトラブルも多く,mega88は高価なので,自分で作ってみました.USBのHIDクラスなのでドライバのインストールは不要ですし,ATTiny2313は秋月で100円で買えるのでとてもコストパフォーマンスが高いです.
特徴
- USBのHIDクラスに対応したAVRライタ
- HID対応なので,ドライバのインストール不要
- そのへんに余っているTiny2313で作れる
- 低コスト(笑) 500円未満で作れます
-
……でも遅い(1KB/s程度です)高速化してくれた方がいます
制作方法
下の説明のように回路を製作したのち,ファームウェアを書き込んでください.
AVRを使うので,AVRライタをすでに持っていないと作れません.
回路
AVRの動作電圧を下げる代わりに,USBの信号線に3.6Vのツェナーダイオードを入れました.
今まで,USBaspにあわせていましたが,HIDsph互換に変更しました.
ライタ側のTiny2313がSPIのマスターになるので,MOSI,MISOの順序は気をつけてください.
ヒューズの設定は手元では以下のようにしてます.
- Low: 11101111
- High:11-11011
USBの線の色は以下のようになっているものが殆どです.100均とかで買ったUSBケーブルを切って使う場合は参考にしてください.
黒 | GND |
赤 | 5V |
緑 | D+ |
白 | D- |
必要な部品
部品 | 個数 | 購入場所の例 |
---|---|---|
attiny2313 | 1 | 秋月 |
12MHzクリスタル | 1 | 秋月 |
ピンヘッダ | 1 | 秋月 |
68Ω | 2 | 千石 |
100Ω | 4 | 千石 |
1kΩ | 2 | 千石 |
1.5kΩ | 1 | 千石 |
22pF | 2 | 千石 |
0.1uF | 2 | 千石 |
LED | 2 | 千石 |
3.6V ZD | 2 | 千石 |
他に,基板とか,線材とか.
ソフト・ファームウェア
ここにあるものよりも,千秋ゼミのHIDaspのページにあるhidspxの方が完成度も高くお勧めです.
Macの人は,hidspx-1012b_osx.tar.gz(hidspx for MacOS X)を作ってみたので使ってください.(HIDaspx用です.HIDaspファームウェアでは使えません…汗)MacPorts等でlibusbをインストールしてからmakeしてください.Linux等でも動くかもしれませんが,BSDだとダメなのを確認….
HIDaspxを使ってターゲットAVRと通信するサンプル(hidaspxterm.zip)も作ってみました.ちょっとした工夫でAVRでもprintfデバッグ可能です.
ダウンロード(非推奨)
- ファームウェア+HIDasp対応のavrspx(hidasp-0.2.1.zip)
- HIDaspを使ってAVRと通信するサンプル hidaspterm.zip
- avrspxからUSBaspを除いたものavrspx_nousbasp.zip(libusb無くても動く)
ファームウェアのライセンスは,AVR USBに準じます.avrspxも元のavrspxとavrspに従ってください.
使い方
avrspxに「-ph」をつけると,HIDaspを使います.
avrspx -ph test.hex
-dでディレイを指定できます.数値は時間に比例します.
プロトコル
もう少ししたら固めます.
考察
2313側では単純なことしかしていませんが,2KBのプログラムと128Bのメモリに収めるのにかなり苦労しました.もっとプロトコルを工夫すればスピードアップも可能かと思いますが,プログラムサイズを削るのが大変です.
どうしてもサイズがオーバーしてしまうので,AVR USBのusbdrv.cも多少変更しました.AVR-USBの最新版は小さくなったようで大丈夫でした.少し余裕が出来たので色々出来そうです.
とりあえず動いたという状態で放置していたわけですが,irukaさんとsenshuさんの御二方の改良によって,快適に使えるAVRライタになりました.感謝.
リンク
このサイトより分かりやすい説明を書いてくれている方がいるのでそっちも参照するといいかも.
- 千秋ゼミのHIDaspのページ 私も今はHIDaspxを使ってます
- irukaさんの解説 高速化していただいたようです
- HIDsphの方も良さそうです.
- オリジナルのavrspはELMさんのとこから
- avrspxはAVR Wikiから入手してください.
- AVR USB
履歴
- 2007-03-18 暫定公開
- 2008-09-20 v0.2 AVR USBを最新に,ピン配置変更,色々.1年半経ってますね…
- 2008-10-12 MacOS X用のソフトを公開(まだテストは不十分です)
- 2008-10-13 MacOS用のを最新に(hidasp.cしか見てません…),hidaspxterm公開