Copyright(C) 2004 Takaharu Konno
シフトレジスタHC164を使った旧タイプ用のフラッシュROMライター
1.1 回路図
シフトレジスタHC164を3つ使ったフラッシュROMライタの回路図です。
とりわけ目新しい部分はありませんが、しいて特徴をあげるとすれば、CEを手動のタクトスイッチ制御にしたぐらいです。
※1 +5V電源供給は、PS/2マウスポートやUSB等からでもできます。PS/2マウスポートからの電源は便利ですが、ノイズの影響がありますので注意が必要です。
ROMライタボードの製作での電源部分は、パラレル信号のGND信号付近に回路を組むようにしてください。
PC以外の外部電源を使うとより安定すると思います。
※2 CEラインは、手動でできるようにしておりますが、トランジスタDTC114Eを一個使い、シフトレジスタのA19ラインを割り当てて自動コントロールできるようにしてあります。
※3 フラッシュROMの信号A18(1番ピン)は、2MビットROMでは、#RESET 機能を割り当てているものがあります。
読み書き開始アドレス 40000(16進)から始めれば扱うことができまが、ジャンパー切り替えで、はじめからHighに設定した方が分かりやすいと思います。
※4 データD0からD7を2.2Kで接地しています。これは、ノイズ除去とフラッシュROMからのデータ出力を安定するために使いました。
制御信号 #AUTOFD、#INIT、#STROBE、#SLCTIN は、プルアップしました。とりわけ、制御信号でのプルアップは、しなくとも大丈夫だと思います。
データ部にHC245などを使う場合は、次のような回路で動作可能です。回路は、GND経路も含めてプリンタからの信号近くに置いてください。
1.2 試作機
試作機の写真
1.3 配線、パターン例。図は、部品面。
今回は、大き目の基盤をつかって、ゆったりめに部品配置を取っています。
信号の配線は、基盤の表と裏で交差しますので、スルホール基盤では使えません。安い基盤を使ってください。
1.4 LS245を使った場合。
信号を安定させるためのバッファーモジュールを作ってみました。
データ読み取り時にノイズ等がでる場合は、試してみてください。
LS245と本体を接続しているフラットケーブルは、線を一本ずらして使っています。
2.1 動作環境
ソフトウェア stdflash は、MS−DOSの環境で使います。
MS−DOS起動のフロッピーディスクを作り、そこにダウンロードしたソフトウェアを解凍して保存します。
フロッピーディスクでパソコンを起動し、フラッシュROMツールを使ってください。
Win9xでは、WindowsからのMS−DOS起動でも動作します。
Win9xのDOS互換ボックス(フルスクリーン)でも、読み書き速度は遅くなりますが動作します。
2.2 内容
ソフトウェアは、ベースプログラム stdflash.exe と各ROM用に割り当てたバッチファイルになります。
各バッチファイルは、次のようになります。
STD_ID.BAT -> 製造元ID、デバイスID
STD_ID2.BAT -> 製造元ID、デバイスID
STD_DUMP.BAT -> ROMデータの表示。アドレスは、0 〜 7FFFF で示す。
STD_CHK.BAT -> 指定アドレスをカウント分、読み出して表示。ボード動作チェック用。
STD_READ.BAT -> ROMデータを読み出してファイルに保存。
STDERASE.BAT -> ROMデータの消去(Chip Erase)。
STDWRITE.BAT -> ファイルデータをROMに書き込む(バイト単位)。
PG_WRITE.BAT -> ファイルデータをROMに書き込む(ページライト)。
PG2_WRITE.BAT -> ファイルデータをROMに書き込む(ページライト)。エラーの場合は再度試みる。
書き込みがノイズ等で中断される場合は、こちらの方を使ってください。
STD_COMP.BAT -> ファイルデータとROMデータを比較チェック。
パフォーマンスは、P4−1.4GHzパソコンで、2MビットROMが読み込み時間15秒、ページライト書き込み40秒、バイト単位書き込み時間1分15秒ぐらいです。
ボードチェックプログラムに TESTSTDF.EXE を用意しました。これは、ボードを製作した後に、正常に配線されているかどうか確認するために使います。
3.1 ボード単体での導通チェック。
まず、ボード単体でのテスターでの導通チェックをします。各部品と部品の端子をチェックします。
パワースイッチをON時に、+5VとGNDが導通していないことを確認。
3.2 電源チェック。HC164は無し。ROM無し。
+5VとGNDを取り付け、パワースイッチON時に、HC164のICソケットVDD(14ピン)x3、A(1ピン)x3、
ROMのICソケットのVDD(32ピン)、CE(22ピン)がHighになっていることをチェック。そして、パワースイッチOFF。
3.3 プリンターポート接続。HC164あり。ボードのパワースイッチはON。
HC164を取り付けプリンターポートと接続します。そしてボードのパワースイッチをONにします。
TESTSTDF.EXE を実行して各信号のHigh/Low(ON/OFF)をチェックします。
3.4 タクトスイッチテスト。TEST_SW.BAT
CEを手動で行う場合、CEタクトスイッチのON、OFFに慣れるために一度テストを行ってください。
一応、ROMの読み書きにおいてCEの誤動作チェックを行っていますが、CE制御が適切にできるほうが望ましいです。
3.5 ROMセット。
パワースイッチOFFで、フラッシュROMをセット。
パワースイッチONで、フラッシュROMの表面や電池の表面に熱を持たなければOK。熱があれば止める(ROM自身が既に壊れている可能性あり)。
プログラム STD_ID.BAT を実行し、製造元ID、デバイスIDが表示されればOK。エラーの場合は、もう一度配線、電圧チェックする。
3.6 動作テスト。
メモリのダンプをする。STD_DUMP 0 100
このときに、ダンプされたデータの中で、00 の値を持つアドレス(addr)を調べる。
00 のアドレスのみを指定回数、読み取りテストする。STD_CHK xx 10000
00 の値が画面上にダンプされ続けるので、それを確認。データが化けたら、回路等にノイズの影響があります。
同様に FF のデータがあるアドレスを STD_CHK yy 100000 でチェックしてください。
データ読み取りテストをする。STD_READ fileA 、xSTD_READ fileB のデータ読み出しを複数行い、FC 等で同じデータであることをチェックする。
さらに STD_COMP fileA を何度か繰り返し、正常に終了することをチェックします。
3.7 あとは、実際のフラッシュROMの読み出し、書き込みテスト。
ROMのデータをファイルに保存する。 STD_READ filename
ROMのデータ消去。 STDERASE ALL
ROMの書き込み。バイト単位の書き込み用は、STDWRITE bios_filename ALL
ページライト機能の書き込みは、PG_WRITE bios_filename ALL
書き込んだデータの比較。 STD_COMP bios_filename
(ノイズ等が見られる場合は、確認のため STD_READ / STD_COMP は、2度行ってください。)
tkon@ap.wakwak.com
http://park2.wakwak.com/~tkon/
Copyright(C) 2004 Takaharu Konno