USBライタの自作 (PicerFT)

AVRライタ-PicerFT

AVRの自作ライタ

 

PICerのUSB版が公開され、PICerFTを自作してみました。

本来PIC用のライタですが、AVR用にも使用できる両対応ライタです。
自作AVRライターの1つとしてその実力は

PICerUSBとは

USB接続のICSP(ISP)のPIC用の書き込み器(ライタ)です。AVRのチップにも対応している。
現在フリーとして、回路図、書き込みソフトが公開されています。(将来有償になることもあるとのこと)

PICerFTについて詳しくは
  500円で始めるPIC  >> USBライタを作る を参考に

特徴として他の自作ライタと違う点は、書き込み器にPICやAVRなどのチップが不要のところ。
いわゆる卵と鶏問題というのがないこと。

 

代わりにUSB通信ボード FT232RL を使用しているライタでWindows7にも対応。

 

PICerFTライタ

 
  

 

AVRライタとしてだけなら不要な周辺回路を含むかと思いますが、PIC、AVR両用というライタです。 外部電源なしで、USBから電源供給で書き込みできます。

 

通信に FT232RLボードを使用。RS232C通信の記事で使ったUSB通信ボードです。
使う前に ダウンロードしてこのボードのソフト設定変更が必要(取説参照)

 

完成後、設定でつまったところは
通信ボードのジャンパ設定 JP1=2-3 をつなぎ、5V出力にする必要あります。JP1=1-2をつないで書き込むと、以後Fuse設定書き換えがうまくできなくなった。

 

AVRライタとして

AVR、PICの両方に対応なのでAVRライタにも使えます。AVRの主要なチップに対応していると思います。
AVRライタとしては端子6本PINをつなぐ、他のISPライタ同様の接続です。

 

このライタは標準のISP6本端子以外にプラス クロック出力端子を持っています(端子CLK)。普段は、他のISPライタ同様に接続の必要はない。外部発信器設定を書き込んで通信不能になった場合に使えます。

 

●書き込みソフト

 

 

Fuse読み込みは Detectボタン で チップ情報と一緒に16進数表示。
ほとんどのチップを自動認識します(取説など参照)

Write ボタンでファイル指定すると書き込み

Fuse設定は別設定ファイル.cfgに記述しておき、
プログラム書き込み時に一緒に書き込む方式。

 

1つ気づいたのは、
このライタソフトは書き込み容量オーバーのチェックがないようです。チップの容量以上のhexファイルでも、書き込み実行しOKがでます。


AVRStudioでは、チップ容量以上のhexファイルになってもエラー警告はでないので気づかないことがあるので注意が必要かも。

 

●AVR Fuse設定の方法

AVRチップを不能にしてしまうことのある、重要なFuse設定方法ですが、このライタでは
Fuse設定は別のテキストファイル ファイル名.cfg に記述。(記述形式などは取説参照)

 

ファイル名.cfg はファイル名.hex と同じファイル名にします

  • Fuse読み込みは Detectボタン で チップ情報と一緒に16進数表示。
  • Fuse書き込みは別のFuse設定記述ファイルcfgをプログラム書き込み時に一緒に書き込む方式。(Fuse名称ごとに各行設定)

 

PICのソースに書いておく方式を踏襲しているような感じ。Fuse設定をファイルごとに持っておける。ヒューズ設定だけを単独で書き込むことはできないようです。

 

ちょっと他のライタと違いFuse設定などもこんな特徴があります。

 

* Fuse設定ファイル内の各Fuseの記述は各ヒューズ名称で指定できますが、
不正な行があるとそのFuse値がエラーで書き込まれないために予定のFuse値にならずに通信ができなくなる恐れがあるので注意。

 

行頭に ; を付けるとコメントのようで、
 アセンブラみたいに行末に ; でコメント続けて書くとその行はエラーになったので注意

 

 

AVRのFUSEについて、取説に詳細が書いていない細かいところは問い合わせると回答をいただけました。

FAQ
Q1.ファイル名.cfg はファイル名.hex と同じファイル名にしなければいけないのでしょうか
hexファイルと同一の名前の.cfgファイルである必要があります。
Q2.ヒューズ設定だけを単独で書き込むことはできないのでょうか
できません。
Q3.ファイル名.cfg は ファイル名.hexの書き込み時にFuse設定も書き込まれるのでしょうか
hexファイルと同時に書き込まれます。
Q4.ファイル名.cfg が存在しなかった場合はFuse設定はどうなるのでしょうか
Fuse設定を書き込みません。

 

AVRライタは通常Fuse設定だけでも書き込みますが、プログラムはターゲットチップに対して作るので、プログラムファイルごとのFuse設定ファイルというのは考えれば合理的なのかもしれません。

 

Fuse設定の書き込みは各行ごとにFuse値を書けるが、読み取りはまとめて16進数表示、はちょっと違和感があります。。

 

使用感

使うと、通常のISPライタと同様の使用感です。

 

説明通りちょっと書き込み時間がかかるのは感じます。プログレスバー(棒が伸びていくやつ)があるのでそれほど気にはなりません。不安定感も感じません。

 

パラレル書き込みのPICer同様、面倒な設定がなく(通信ボード用初期設定はありますが)、チップ自動認識で簡単なのが長所でしょう。

PIC用ライタなのですが主要なAVRチップに対応ししているのでAVRにも不満はないと思います。

 

AVR,PIC両対応で、PICはdisPICを含む多種の新チップに対応しているので、
AVR派もPICを使うときのためにセカンドライタとしても、部品をそろえてkit工作としてもおもしろそうだと思いました


 

スポンサーリンク
  • facebook
  • twtter
  • google+
  • hatena