HID TPIライター
2012年4月 V-USBを応用してHID TPIライターを作りました。米粒AVRと呼ばれるATtiny10用です。12V電源を利用し、RESETピンをI/O利用しているATtiny10にも書き込めます。 正直に言うと「FT232Rモジュール利用 AVR TPIライター」が遅くて不便だったので、リンク先記事の一番下にある図「TPIライター製作案」(3)のライターを作りました。 他に、「V-USBをINT1割り込みで使用してみる」「自作12Vモジュールの使い道として」という理由もありました。
|
HID TPI Writer | |||||||
HIDTPIW : AVR-HID TPI Writer
「FT232Rモジュール活用 FT232-AVRライター」 ←秋月電子FT232RモジュールをSPIライターにする方法。 「AVRライターを選ぶ 〜始める人の1台目、慣れた人の2台目〜」 ←AVRライターいろいろ紹介。 使用例 (ver 1.30) 右:V-USBはUSBハブを中継すると転送速度がアップすることがある、ということが知られています。手持ちのUSBハブ(サンワサプライ USB-HUB220WH)で試したところ、書き込みが6秒、読み込みが10秒ほど縮まりました。 ATtiny20,ATtiny40への書き込み例 (ver 1.30) |
回路図と配線図 | ||||||
回路図
下段左はMAX662Aを使用した5V→12Vの昇圧回路です。RESET制御線は負論理なのでトランジスタはPNP型です。 配線図
【参考】 |
使い方とオプションスイッチ | ||||||||||||||||||||||||||||||||||
ヘルプ画面 ……。見ての通り「雰囲気英語」です。オプションの意味が思い出せればよし。※日本語だと文字数が多くて画面に収まらない。 使い方とオプションスイッチは拙作ライター「FTAVRW」「FTTPIW」と同様です。※元々はavrsp.exe(ChaN氏)を参考にしています。 ATtiny10/20/40で動作確認しました。ATtiny4/5/9にも対応したつもりですが動作未確認です。 使い方:書き込み方法 方法1 コマンドライン入力で実行します。 'hidtpiw'の後にHEXファイル名を指定します。オプションスイッチも一緒に指定します。 方法2 hidtpiw.exeのアイコン/ショートカットアイコンに、HEXファイルをドラッグ&ドロップします。オプションスイッチは別途iniファイルに記述しておきます(後述)。 ヒント/注意
ターゲットAVRからケーブルを抜かずに、AVRの動作を開始することができます。いわゆる「ライターを論理的に切り離す」機能です。コマンドラインから「go」コマンドを入力します。例: >hidtpiw go 動作中のAVRを書き込み待機状態に戻すには「stop」コマンドを入力します。例: >hidtpiw stop ただ、「stop」コマンドを実行せずとも、AVRの動作中にいきなりhexファイルをドラッグ&ドロップしても書き込みはできるので、「stop」コマンドはあまり使わないかもしれません。
オプションスイッチ
|
iniファイル |
hidtpiw.ini オプションスイッチをhidtpiw.iniに記述しておくと、hidtpiw.exe実行時にそれが反映されます。 hidtpiw.iniはhidtpiw.exeと同じフォルダに置きます。 iniファイルとコマンドラインに、値が違う同じオプションスイッチがあった場合、コマンドラインの方が有効となります。 例: iniファイルに'-w1'が記述されていて、コマンドラインから'-w2'を指定すると、'-w2'の方が有効となる。 |
V-USBをINT1割り込みで使用する | |||
V-USBはUSBのD+線をINT0割り込みに接続して駆動するようにできています。TPIライターを作るにはRXD,TXD,XCKピンが使用できると都合がよいです。しかしATtiny2313ではXCKがINT0と兼用ピンになっているので、V-USB技術を使ったTPIライターが作れません。 ATmega48シリーズはXCKとINT0は別のピンに割り当てられているので、その点は悩むことなくTPIライターが作れます。ですが、それでは面白くありません。※一部機能が壊れたATtiny2313が手元にあり、捨てるにはもったいないので再利用したかった。 コメントによるとV-USBはINT0以外のハードウェア割り込みでも駆動することができるので、そのように改造することにしました。 具体的には、usbconfig.hに記述されている INT0関係の定義値のコメントマークを外して有効化し、INT1に対応する値に書き換えればOKです。それらは自動的に usbdrv.hと usbdrvasm.S内の該当箇所に反映されます。[2014/02 訂正] [usbdrv/usbconfig.h]
|
◆ ◆ ◆ |
TPIライターは今のところATtiny10以外に使うあてがなく、ATtiny10自体もあまり使わないAVRです。 そんなに頑張ってライターを作り込んでも仕方がないので、そこそこのところで切り上げました。 2012/07 追記2 デジット(通販は共立エレショップ)でATtiny20(14ピンSOP),ATtiny40(20ピンSOP)の取り扱いが 始まりました。ATtiny10ではピンが足りず、しかし小型軽量であって欲しい場合に活躍しそうです。 |
(C) 『昼夜逆転』工作室 | [トップページへ戻る] |