ギャングライター

 あまり聞き慣れない名前だが、複数のROMをいっぺんに書き込むROMライターのこと。

 ギャングというと、犯罪組織を思い浮かべてしまうが、ROMライターの場合は「群、集団」と
いう意味になるだろう。でも私は、映画か何かのギャングの印象が強く、すぐにそれを思い出し
てしまう。

 先日、実家で、4〜5年ぐらい前に作った「ギャングライター」を発掘した。たしか当時、PICの
ギャングライターを商品化できないかと思って、まず最初にこういうものを試作したんじゃなか
ったかと思う。なお、この試作品はPIC用ではなく、一般のEPROM用です。

 ハードからソフトまで全部一人で作って、ほとんど趣味の世界というか・・・ハッキリ言って
いわゆる「闇研」みたいな事をコソコソやっていたのであった。

 じつは、こいつが完成した頃には出番がなくなっていた(笑)。ギャングライターなんてものは
工場設備ぐらいだからそんなに台数が売れそうもないという事でボツになった。それで眠っ
ていたわけだが、このまま保存しておいてもしょうがないので、一度バラして、PIC用にでも
組み替えて活用したいと思っている(あくまでも希望で、時間がない)。

 バラす前に、せっかく作ったのでその姿を保存して、さらにいくつかのノウハウなどを公開し
ておきます。


これがブツだ!!


 見た目は、いかにも試作品です。

 アクリル板にスペーサで基板を固定し、その2階建てがお互いにフラットケーブルで接続
されています。
 この写真に見える2階部分に、表示および操作部、レバー式ソケットが並んでいます。

 青い操作ボタンは、リセット、ロード、イレースチェック、プログラム、コンペア、などです。

 ソケットは一番左がマスターROM用で、あとは生ROM1〜4用です。ソケットの上部に
ある緑と赤のLEDは、緑がアクセス中を、赤がエラーを表示します。


表示、操作部


 液晶ディスプレイの取り付け方に迷ったのか、ユニバーサル基板に穴をあけて、裏側
から取り付けています。

 右上の円筒形のものはブザーです。白いシールがついたままですが、はがすと音がうるさいの
でそのままにしています。
 たしか秋月で100円だったやつです。シールに針穴ほどの穴をあけるとちょうど良い音量ですが
それが1ミリぐらいになると、ピーッとうるさくてダメなんです。

 操作ボタンの意味は、概ね次の通りです。
      RST ・・・ リセット(トップメニューに戻る)
      LOD ・・・ マスターROMの読み込み
      ERS ・・・ イレースチェック(生ROMがブランクか調べる)
      PRG ・・・ プログラム(書き込みの一連の手順を自動で行う)
      CMP ・・・ コンペア(書き込んだROMの内容がマスターROMと一致するか)
      SEC ・・・ セキュリティ(PICにもあるリードプロテクトを書き込む機能を付けようと思いました)
      MNU ・・・ 拡張メニュー(通常ギャングライタとしては使わない機能を入れました)
      SET ・・・ メニュー項目の選択、コマンドの実行時に押す。
 通常は、PRGボタンのみで容易に書き込み作業が継続できるように作ったと思います。

 これは基板の裏側です。


 あまり、やる気が感じられない配線です(笑)。


レバー式ソケット部分


 ここは特に配線が面倒くさかった部分です(笑)。バス配線はウンザリです。

 しかし面倒くさいと言いながらも、おそろしく丁寧に作ってしまうのが私らしいです。


 ほとんどビョーキでしょうな。


 あー面倒くさそう。それに右側のやつ、配線の処理がいまいち。(自分で言うなヨ)


 これが裏側。

 試作品というものは、こういうものです(笑)。

 たたき台を作った時点では、予想もしていなかった問題がデバッグを進めていく中で出てくる
事があります。そういう時は、こんなふうな大改造もありえます。

 左下に、ICが直接くっついています。抵抗アレイも直づけです(裏側のほうが取り付けやすか
ったのかも)。

 このリレーは、あのリレー式電卓に使ったのと同じ、というか、まとめ買いしたやつの中から
1個だけ使ったわけです。

 すなわち、このギャングライターは、リレー式電卓とは血縁関係と言えましょう。(?)

 このリレーの用途ですが、たしか、ROMがソケットにささっているかどうかを検出するため
のものだったと思います。(もう忘れました)
 さっきの裏側の黄色いジャンパー線が、リレーにつながっているので、どうやら後から
その機能を追加したと思います。

 <なぜROMがソケットにささっているかを検出する必要があるか?
 このギャングライターは、生ROM(書き込み対象ROM)が4個まで装着可能ですが、
いつも4個差すわけではありません。1個という場合もあるし、歯抜けで装着する場合も
考えられます。たとえばブランクチェックでエラーが出たら、その1個を抜いて書き込み
を続行する事もあるでしょう。

 また、基本的なことですが、ROMがささっていない状態で誤ってプログラムボタンを
操作した場合、馬鹿正直に書き込み手順が走ってしまうわけです。いかにもコイツが
バカに見えるじゃないですか。
 2足歩行ロボットを、テーブルの端に向かって歩かせると、断崖絶壁だという事が認識
できないもんだからそのまま転落します。(かなり歪んだ遊びだが)
 ちゃーんと、ROMがささっているかどうかがわかる、「かしこいヤツ」にしたかったの
です。

 <ROMがソケットにささっているかどうかは、どうやって検出するか?
 生ROMを読むと、必ず0FFHが読めるはずです。これが前提です。
 (ROMライタの書き込みの原理は、0ビットを書き込む事です。最初というか、イレース
された状態では全部1なんです。全アドレスのデータが0FFHです。)

 それぞれのROMのデータバスを100KΩぐらいの高めの抵抗でプルダウンしておいて、
ROMがささっていない状態では00Hが読めるようにしておきます。こうすれば、ROMの
有無がチェックできます。
 さっきのソケット基板の裏側の写真で、抵抗アレイが直づけされていたのは、このための
ものでした。

 このためには、それぞれのROMのデータバスが独立していなければ判断できませんので
それぞれに対してバッファが必要になります。さっきのソケット基板の写真を見ればわかる
ように、74HC245が実装されているでしょう。
 ひとつずつにバッファがつくので、この制御が面倒なんです。

 面倒だけど、さらに良い点があります。それはROMが不良だった場合です。バッファで分離
されているので、他のROMに影響を与えません。もし全部のROMのバスが並列だったら
不良ROMのためにエラーが出るし、どのROMが不良かも区別できません。


 一般メーカーのROMライターには、「ずれ差し」や「逆差し」の検出機能がありますが、
この自作ライターには付けませんでした。
 それを実際に作るのは大変です。

 逆差しは、ROMのVCC−GND間が等価的にダイオードであるという前提で検出しま
す。実際にテスターで抵抗を測ってみると良いでしょう。
 こうやって測定しているうちに、光を当てると針がふれることに気づくでしょう。そうです。
窓付きROMは太陽電池の働きもします。これで実際に電卓を動かした写真が、ここのホーム
ページの写真集のどこかにあります。

 さらにいえば、窓付きROMの窓は、ちゃんとシールで遮光しておかないと、誤作動につな
がるかもしれません。
 遮光シールは、5インチフロッピーがあった頃は、そのプロテクトシール(銀色のやつ)が
ちょうど良かったのだが・・・。


 さらに、「レベルチェック」もメーカー品にはありますが、これは結構大がかりな仕掛けになりま
す。コンパレータやD/A、A/Dコンバータが必要です。
 書き込み後、VCCを+5%、−5%とか、10%振ってベリファイをかけます。


1階部分
 これが1階部分です。


 ほとんど部品が載っていないように見えますが、左側のマイコンボードのおかげで
しょう。

 中央付近に、ROMの書き込みに必要な電圧を作り出す電源回路があります。
LM317の電圧設定の抵抗をトランジスタで切り替えて、何種類かの電圧を出力し
ソケット基板に供給しています。
 銀色の箱は、秋月で買ったDC−DCコンバータです。何種類かの電圧が出力され
るもので、この用途には便利でした。

 右側にあるのはAC100V入力、DC5V出力の電源です。秋月で安かったやつです。


 このマイコンボードは、ユニテク電子(現:ラステーム・システムズ)のUKC82/03です。
川鉄のZ80互換CPUがのっかっています。

 マ、マズイ・・・・・・これって職場から借りっぱなしだよ・・・(笑)。

 バッテリーバックアップ付きです。
 ROMの代わりにRAMを実装し、バグファインダーというデバッガを接続して、プログラムの
開発やデバッグが可能です。

 これが電源回路。

 放熱板は、間に合わせっぽいですね。左のレギュレータの放熱板は、確かパソコンの
マザーボードの不要になったやつから取ったものです。
 BA12003は、トランジスタアレイで、これによって電圧設定の抵抗を切り替えて
LM317により必要な電圧を出力します。
 銀色の箱がDC−DCコンバータで、5Vの入力により、確か15Vと、あと何種類かの
電圧が得られます。

 このへんは、トランジスタアレイが2個と、タイミング用の74HC123です。

 74HC123は、書き込みパルスのタイミングを作っています。マイコンでインターバル
タイマーを回すのが一般的な手法ですが、このようにハードウェアで実現する方法もありま
す。

 これは安い電源です。


いろいろ







戻る