AVR プログラムライターの準備

AVR chip のメモリ・プログラムミングには の方法がある。
前者は、既にプリンタで塞がっているのでシリアルポートしか空いていない。
したがって、「パラレルポート・プログラミング」でしかヒューズビットにアクセスできないデバイスはいくつかある制限はあるが、 など、普通に使っていれば関係なさそうなさそう。

Web 上の AVR 無搭載ライタで評判 ELM - Electronic Lives Mfg.(日本語ページ) にて公開されているもの。
ELM-COM-ISP

ELM - Electronic Lives Mfg.(In English).
Serial port version implemented ONLY 74hc126 or 125 for ISP operation(this chip function as Stability of exchange a signel),
thus you will don't need Programed AVR for make AVR programmer.

That 16bit-DOS,Win-DOS writer program contaning some fine English documents and sources.
And also this ISP programmer will worked with "AVRdude"(See http://elm-chan.org/works/avrx/avrdude.conf.txt).

avrsp_shot.gif
(Win-DOS COM2 port, "Reading device signature byte" command)

AVR Studio にはシュミレータがありますがこればかりでも面白くない。
AVR にプログラムを書き込むにはライターが必要。

Atmel純正以外の自作ライターはざっと見て、

  1. すでに AVR が載ったライター
  2. 載っていないライター
がありますが、もちろん後者でなければならないわけです。
(03/Apl/2006) 自作にあたって AVR をはじめて動かす場合には後者でなければならない

このなかの COM(シリアル) ポート版を製作する。付属ドキュメントも嬉しい内容。

AVR Studio から直接操作できないようだけども動作環境が多いのが魅力で安価である。

このシリアルポート用ライタを製品化したものがストロベリー・リナックス にて販売されている。余り売っていない 6Pコネクタが付いているし、別売りも有り。

とりあえず、これだけあればあとは好みのものを作るなりすれば良い。


部品

ケースはフリスクにかと思っていたけど、小さくて安いのが見付かった。

240x180(8240bytes)

ケース

タカチ電機工業 SW-55
W40*H20*D55

基板

TAKATI TPC34-49
上のケースにセットできる基板
2.54mm pitch, x12穴*y17穴

2つとも100yenくらいだった。ケース内寸法 H16mm, 35.5mm*50.5mm(マルツにて)

シリアル・ケーブル

"ストレート"と明記されているものを使用した方が良い。秋月電子や千石電商にて 300yen ほど。
基板側では RS-232C 9P メス を使用。
一般に入手できる基盤用のピン配置は「千鳥」になっている。
一列を曲げてユニバーサル基板に載せる。
rs232コネクタをユニバーサル基板に

また、LX 本体側は 2mm pitch のヘッダピンが立っている。ヘッダ・ソケット,ピンとも秋葉原では千石の 1F で購入できる。

ホストに 200LX のシリアルケーブル "HP F1015A" を繋っぱなしの場合、

を参考にしたら回路図の下にある "パラレルケーブルを使用した結線" となるのか? こちらも 2mm pitch

ライター to ターゲット 転送ケーブル

多色入りの平行ケーブルを使用
これは抵抗のカラーコードと同じで色とピン番号が分かり易い。

他に市販品だと信号線ごとに GND 線を入れた 10ピン仕様のものもあり。 ストロベリー・リナックスに書いてあった通りに 6p のものが余り見付からない。
どこかでちらっと見たコネクタ作成法を拝借。

  1. 秋月電子ついでに 20p とかのヘッダーソケットを買ってくる。
  2. ピンを抜いてそこを模型で使うような小さいノコで切る。
  3. やすりで整える
で、OK。
あとは、熱収縮チューブを通してハンダ付け。

プログラミング・スイッチ

トグル・スイッチまたはスライド・スイッチを使用。
良く店頭で見掛ける日本開閉器工業の A-12 とか A-22 とかが好み。
鈴商で見掛けたラダー長の短いものを使用。

インジケータ LED の追加

少しでも判り易くしたいので
Additional LED
完成後に追加したので少し無理矢理感がある。
  1. ターゲット側の Vcc に黄色 LED
  2. ライタ側プログラミング・スイッチ の後に赤色 LED 追加(警告色)。
後者はそのままでは苦しいと思う
そこで基本的な LED の駆動回路を追加した。

デジタル・トランジスタ RN1202 でスイッチして Vcc からドライブ。
RN1202 は鈴商で購入。
これはデジタル的に "H" をベースに加えると、"コレクター"->"エミッタ" に電流が流れる。
パッケージにトランジスタと抵抗を内包したもの。

チップ抵抗器は日米にて購入。


完成

小さいなりにいろいろと配置を考えてとりあえず完成。
回路図には 74HC126 の Vcc,GND が出ていないが配線する。
0.1uF 積層セラミック・コンデンサのパスコンも忘れない。
その辺は電子工作系のサイトを検索すれば OK。

ELM-COM 完成 ELM-COM 半田面

フラット・パッケージやチップ抵抗等を使えはかなり小さくなるはず。

com-isp_connect.jpg


AVR910 互換プログラマ

DOC0943.PDF にあるように AT90S1200 を使用したもの

Atmel 社の AVR 8bit RISC 向け Application NoteAVR910 を多くのユーザーがレポートしている。
レポートの内容は、ブレイクした 2002年頃 に書かれたものが多い。
ATmega系も出始め書き込めないなどあったようですが、2006年現在は以下に有るようなサイトのファーム・ウェアを使うことでトラブルなく書き込めるようだ。

日本語のサイトでは、AVRマイコン用プログラマの制作 がいろいろなサイトからリンクを張られている。
見慣れないトランジスタを使ったレベル変換部が MAX202(ADM232AAN 互換) に変更されていたりする。こちらの方が入手し易いので嬉しい。

これを参考にしてさらに調べてみると以下のような 互換プログラマが有ることが判った。


AT90S2313を使用したもの

AVR910 互換から機能を強化しているプログラマ
Elektronik fur den Modellbau で AT90S2313 を使った AVR910 互換プログラマが開発されている。
ドイツ語なので良く読めないけどもプログラマ・ソフトについても PalmOS 用など多くのリンクが張られている。 altaVista に独to英のサービスが有るのでそれを参考にして読んでみた。

なじみの無い型番のトランジスタはデーターシートの値から、日本の汎用品である 2SC1815, 2SA1015 の GR グレード品にすれば OK か。
ダイオードも 1S1588, 1S2076 などが使える。

ライタープログラム avrdude 等も使えるようなので嬉しい。

AT90S2313 を Tiny2313 でリプレイスする方法も紹介されている。

MAX232互換品でレベル変換

以前秋月電子で扱っていた ADM232AAN が有るので使ってみる。

日本国内では Tiny2313 にしたものが AVR910 ISP writer with tiny2313 - Mya?な電子世界 で紹介されていて、こちらは先のと同様にレベル変換チップの MAX232 に置き換えられている。
こちらは、2313側の 2:PD0(RXD),3:PD1(TXD) が逆に見えるが、最後まで読むと間違えのようなので気を付ける。

Memo:
(「PC<->基板回路」のような接続のとき、RS-232-C の規格では「コネクタピンはマスターとなるPC側の同じピン名にスレーブとなる基板のピンをつなぐ」。(トラ技Special-No.72に詳しい)
また、D-SUB/3pin(TxD)はPCがドライブするのでMPUは信号を受ける側になり、逆にD-SUB/2pin(RxD)はMPUでドライブしてPCへ送る動作になる)

*** MAX232は外付けのコンデンサが 1uFになる。
(MAX202/ADM232 は 0.1uF)

Oscillator は HC49US 型の 7.3728MHz がPartsForestで部品単価 5p/150yen で扱っている。
(500yen 未満は 100yen 手数料が掛かる(届いた梱包を見ると納得する)が定型外郵便使えるのでトータルではかなり安い)


Swaped to "MAX232" AVR910-Prog

とりあえず書いてみた。
ふたつある LED は、ソースを読むと「PB3 が Green の アノード」とある。

#RESET が内部で pull-up されている。しかし、AVR910 では外部の 4k7 ohm で pull-up。
at90s2313 internal reset pin pull up resistor (Ref: AT90S2313 datasheet)

ところで、下のような回路の場合、外部の pull-up はどのくらいの値が良いのだろう。
ATmega8 の内部 pull-up 抵抗は 30-80K ohm 。 (16/Apr/2006): とりあえず、4.7k ohm で組んでみた。

uPC29M05T が来たのでとりあえず書いてみただけ。
Arduino への書き込みは信頼性のある ELM-COM-ISP でやってみる。
(16/Apr/2006): Burning Frim-ware OK (bia ELM-COM-ISP with ELM's avrsp).

Still planing at now. not tested.(Date: 16/Apr/2006)

avr910prog_max232a_hc126_s.gif
(Click to large into opend new window)

Schematic+Parts_List, 3 pages PDF: avr910prog_max232a_hc126.pdf


[ Back ]