マイコン AT90S1200 ライターの製作
本文はできるだけ初心者の方にも判るように書いたつもりですがある程度の電子工作の経験とパソコンの操作ができる方を対象にしています。またそれなりの方には冗長の多い文章となっています。
AT90S1200は非常に簡単に書きこむことができます。今回は順を追って確実に動作するAT90S1200 ライターを作ってみましょう。その前にAT90S1200についての情報が必要ですので
http://www.atmel.com/atmel/products/prod23.htm で
0838.pdfと言うファイルをダウンロードして下さい。(PDFのリーダーが必要です)ここの32ページからシリアルでの書き込みの方法が記載されています。この方法をパソコンのプリンターI/Oから操作することにより実現します。0838.pdfのシリアルプログラミングの大意はおよそ次のようです。今は必要ないので読み飛ばして手順へ進んで下さい。
シリアルプログラミングのアルゴリズム
AT90S1200のプログラムとベリファイ(書き込みの確認)をシリアルで行うには以下のシーケンスが推薦されます。
表のように4バイト命令をAT90S1200に順にシリアルで送ることにより実現します。
1.電源オン
RESETおよびSCKがLowにセットされている間にVCCとGNDの間にパワーを接いで下さい。
下記のいずれかの方法でAT90S1200を動作させます。
@クリスタル発振子をXTAL1−XTAL2に接ぐ
A内部のRC発振器を有効にする
BXTAL1ピンにクロック・シグナルを注入する
もし電源オン時、SCKをLowに保持することを保証することができなければ電源オン後SCKをLowに保持してRESETにHighのパルスを与えて下さい。
2.その後、最低20ms待って、ピンMOSI/PB5にプログラミングEnableシリアル4バイト命令を送ることによってシリアルプログラム開始をAT90S1200に知らせて下さい。
3.チップイレースは,(フラッシュROMを消すには)実行された後、10msの待ち時間の後、再び上記1のようにRESETにHighのパルスを与えてシリアルプログラムをはじめからやり直して下さい。
4.フラッシュROM,あるいはEEPROMアレイは,指定されたアドレスとデータを4バイト命令で送り出すことによって一度に1バイトづつ書きこんで行きます。
EEPROMの場合メモリーに新しいデータが書かれる前に古いデータは自動的に消されます。
前の書き込み後、4ms待って次のバイトを書き込みます。
5.アドレスを指定して読出しの4バイト命令を使うことによりシリアルアウトプットピンのMISO/PB6から読出し、どのメモリーでもベリファイすることができます。
プログラミングが終了すれば,RESETをHighにしてチップを実行させることができます。
6.パワー-オフ・シーケンス(必要なら):
もし水晶を使わずデバイスが内部のRC発振器で動いていれば、XTAL1ピンをLowにして下さい。
次にRESETピンをHighにしVCCを切って下さい。
命令 1バイト目 2バイト目 3バイト目 4バイト目 Hex列 シリアルプログラムの許可 1010 1100 0101 0011 xxxx xxxx xxxx xxxx &HAC530000 チップイレース 1010 1100 100x xxxx xxxx xxxx xxxx xxxx &HAC800000 フラッシュROMの書込み 0010 h000 0000 000a bbbb bbbb oooo oooo &H2h0abboo フラッシュROMの読出し 0100 h000 0000 000a bbbb bbbb iiii iiii &H4h0abbii EEP-ROMの書込み 1010 0000 0000 0000 xxbb bbbb oooo oooo &HA000bboo EEP-ROMの読出し 1100 0000 0000 0000 xxbb bbbb iiii iiii &HC000bbii x:何でも可 h:"1":上位バイト "0":下位バイト a:アドレス上位 b:アドレス下位 o:書込みデータ i:読出しデータ
MOSIからデータを送っている間1バイト遅れでMISOからエコーバックして来ます。
MIN TYPE MAX tOVSH 1.25tCLCL tSHOX 2.5tCLCL tSHSL 4tCLCL tSLSH tCLCL tSLIV 10 16 32 ns fclock 0 4 MHz(2.7V)
■手順1.部品とソフトを用意する。
最初に下記のものを用意して下さい。(価格は目安)
品名 数量 価格 アトメル AT90S1200(AT90S1200A) 1 380円 36pDDKアンフェーノールコネクターLアングル 1 300円 プリンターケーブル 1 1,000円 抵抗300Ω 1/4〜1/16W 8 40円 セラミックコンデンサー 0.1μF 5V以上 1 10円 スイッチングダイオード(何でも可) 4 40円 20p ICソケット 1 20円 穴明き基板(またはブレッドボード類) 1 100円〜 テスター、はんだごて、配線材、工具など ??? プリンターケーブルは現在プリンターに使用しているもので間に合います。
またこの説明書と同梱されているソフトも確認してread1st.txtもお読み下さい。