AVRプログラムライタ（書き込み器）について（作業のメモ）2014.01.08

JA1VCW

AVR（ Atmel社製1chipマイクロコンピュータの製品群）を、BASCOM AVR というベーシック言語のコンパイラを使用して、いくつかの機器を作りました。
その時のプログラムの書き込み器は自作で、COMポート（RS232）に接続する簡易型（SN74HC125Nを1個使用、以降旧ライタと呼びます）で、書き込みソフトはavrsp.exe（ChaN氏開発のフリーソフト）を使用しました。 この組み合わせは比較的書き込み速度も速く重宝していました。
ところが最近コンピュータを変えたら、COMポートが付いていないのです。 困りました。
それで何とかジタバタして、苦労の末USBを使用した書き込み器を動作させる事ができました。
同じような状況になった方もおられると思いますし、また作業を再現できるようにメモとして残します。
純正品も高価ではなくて（現時点で）¥3k-強 で売っています。 使い方は以降の方法と違いますのでその場合は本稿は不要です。
１． USB－RS232変換ケーブルを使用する。
COMポート（RS232）が無いのであれば、USB－RS232変換ケーブルというのがあるので、これを使用すれば大丈夫だろうと思って次のようにしました。
１）秋月電子通商から安価な［M-02746］という規格の変換ケーブルを購入。
２）取説通りソフトをインストールして動作させました。
３）動作試験としてCOMポートを使うFMRSという機器を接続して、問題無く動作しました。
４）従来の書き込み器を接続して動作させると・・・働きません。
５）スイッチ -r を付けるとデバイス名を返すはずですが、No COM1（0x3F8） port と返ってきます。
６）何も手がかりがないのでもう一度avrspの説明書を読むと、どうやら –pv1 スイッチが必要。
７）avrsp.exe –pv1 –r とするとデバイス名が返ってきました。
８）ヒューズの情報等のコマンドも正しく動作しました。
以前作ったプログラムを試しにこれで書きこみました。 LED点滅だけのプログラムですが、とても書き込み時間がかかります。 え～っという感じです。 しかしちゃんと書き込めました。
さらに4Kbyte位のプログラムを書いてみると、約30分位かかりました。 これでは使い物になりません。
avrspの取説にも–pv1 を付けると100倍位遅くなると書いてありました。
２． USBで動作する専用の書き込み器を作る（ここでは新ライタと呼ぶことにます）
以前からインターネットで見ていたのですが、AVRを使用してUSB経由の書き込み器が作れます。
何事も勉強ということで作ってみました。 回路は簡単で部品さえあれば半日位でできるでしょう。
１）以下のソフトをダウンロードします。 いろいろと接続があってかなり複雑ですが、必要なものは最後のzipで固めたソフト群です。
このzipのファイルを適当なディレクトリに解凍します。
http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/（千秋ゼミさんのHP のTOP）=> 開発記=> HIDaspx => 解説 ージ AVR/HIDaspx =>=> 最新のHIDaspx用 ー イブ（ 動しました） http:・・・・・・・・ => 最新のHIDaspx=> hidspxとHIDaspx（2のGUIを同 ） hidspx-2012-0326.zip録

ア カ種類

ペ移梱

1

関係ファイル２）ボードを作成します。 回路図は zipを解凍した中のファイル circuit 内にあります。
私の場合、旧ライタのコネクタのピン配置がオリジナルと違っていたため、新ライタは旧ライタに合わせてあります。 （そうしないといままで作った機器の書き込みコネクタと互換性が無くなる）
また、CN4,CN5,JMP2 の回路は省きました。
３）新ライタにはAVRが使用されています。 それに制御プログラムを書き込まなければなりません。
（ライタにはAVRが必要。 そのためにまたべつのライタが必要。 にわとりが先かたまごが先か・・・
にわとり－たまご問題と言われています）
ライタが全く無い場合でも簡単なハードウェアで書き込む方法が前記HPに掲載されています。
今回は旧ライタがありますのでこれを使用して新ライタのAVRにプログラムを書き込みます。
旧ライタではavrsp.exe を使用していましたが、今回のhidspx.exeはavrsp.exe の機能を包含しているので同様に使えます。
旧ライタのISPケーブルを新ライタの書き込み用のISPコネクタに接続します。
DOS窓とhidsx.exe の存在するファイルの両方の窓を開いて、hidspx.exe をDOS窓にD&Dすれば、パスを含めてファイル名がDOS窓に書き込まれます。 ***はパス名。
***¥hidspx.exe –pv1 －r//これでデバイス名が表示されれば一応OK先ず ヒューズの値を変更します。
***¥hidspx.exe –pv1 －fh11011011//ヒューズ Hi byte 0xDB***¥hidspx.exe –pv1 －fｌ11111111//ヒューズ Lo byte 0xFF***¥hidspx.exe –pv1 －rf//確認
次に書き込むプログラムは、解凍したファイル内の ***¥bin¥firmware¥main-12.hex です。
***¥hidspx.exe –pv1***¥ main-12.hexこの書き込みは15分程度かかっています。
４）新ライタを使用してターゲットAVRにプログラムを試しに書き込みました。
4kbyte程度のプログラムを書いてみました。
avrsp.exe –pv1 ・・・ 書き込み時間 約30分
hidspx.exe ・・・ 書き込み時間 約4秒
なんと450倍の速度。
５）旧ライタでは書き込み器にSWがありましたが、新ライタではISPケーブルをつないだままでOKでプログラムを書き込み終わった時にそのプログラムは自動的にスタートします。
３． 感想
１）これでまたAVRで遊べます。 良かった、一安心。
２）私のような知識のないシロートが手を染めると大変で、あっちのサイト、こっちのサイト、を見て動作させてうまく動かない、etcでえらく時間がかかりました。 １．から始めて書き込めるようになるまでにトータル20時間以上かかっていると思います。
３）取説はちゃんと読まないといけないなとつくづく思いました。 良く読めばみんな書いていただいています。 それをいい加減に読んで遠回りをしている事がいっぱいありました。
４）Atmel社純正の書き込み器が秋月電子通商で販売されていますが、今回は“これもあそび、頭の体操”という観点から自作してみました。

2

参考HP

「昼夜逆転」工 室 HP

http://www.geocities.jp/kuman2600/n6programmer.html
作
http://jsdiy.web.fc2.com/avr_writer/
AVR試用記 kumanさん HP
http://elm-chan.org/works/avrx/report.html
ChaNさん HP

その他 AVR書き込み器 で検索するといっぱい出てきます。

謝辞
千秋様 （HP） プログラム、回路その他資料を有難うございました。
ChaN様 （HP）
avrsp.exe便利に使用させていただきました。
作った書き込み器
右側 旧ライタ左側 新ライタ あとで百均に行って適当な箱を見繕っていれよう

3

A

C

COMポート

11
R
150

CD
DR
RD
RS
TDCS
ERRI
GND

174HC125

98

10

R120k

U74HC1255R
120k

CN
DSUB-9P-S

U
74HC125

1.5k

A

R

R
150U
74HC125

write : off

R
150

SW
SW1-1

1.5k

CCB

13MISO
VCC
SCK
MOSI
*RST
GND

CN
CN-6P

31R
120k

123456

R
150

622E

12U

41627384
95

D

131B

参考旧ライタR

C

D

E

13Poly SW (100mA)
Green

Red

Target Program (ISP)

3.3u

2.2k

100

12
3
475

10k
2075

1USB
4.3V

VCC

PB0
PB1PB2PB3PB4PB5PB6PB7RESET

12MHz

4.3V

5422p
42

XTAL1XTAL2PD0PD1
PD2PD3PD4C
PD5PD6

GND
22p
A

2B

10121314151617181923678911680

100680

MISO
VCC
SCK
MOSI
*RSTGND
CN-6P

1001002010.03.05 JA1VCWWriter Program

D

GND
U

12345642

AVR writer
MISO
VCC
E
SCK
MOSI
*RST
GND

123456ATTINY2313
CN-6P

注意! この回路で実際に動作していますが、コネクタのピン配置がオリジナルと違います。

34１）ＺｅｎｅｒDi 3.6Vが適当であるが、今回手持ちを使用。
２）6ピンのコネクタのピン配置が、WSNAK準拠になっていない。
（最初に本ピン配置でいくつも作ってしまったため変更ができない）
３）ISP用のMISO、MOSIはクロス接続。
４）FUSEは L=0xFF H=0xDB Ex=0x01
WSNAK準拠のピン配置は次の通り。
１： RST ２： VDD ３： GND ４： MOSI ５： MISO ６： SCK
A

3

参考新ライタ20140107 JA1VCW

AVR USB Writer

BCD

E

表示をクリックしてもそのページにに移行しない場合があります。 私の未熟で理由がわかりません。
その場合はお手数ですが手入力でお願いいたします。

Homepageの44