ハンドROMライタ製作記
回路図を描く前に
2002.Jun.16
データシートを見直す

当たり前だがターゲットの仕組みがわかっていなければ、ROMライタなど作ることなんてできない
しかし初心者というのは、どうもその辺りは「なんとかなるだろう」なんて楽観的な考え方を持ってしまう。もちろん俺も。
それではダメダメなのだ。
きちんとターゲットの信号のタイミング、動作電圧、周波数、果ては温特(温度特性)まで考えなくてはいけない。
なので、ちょっとここで回路図を描く前にデータシートを見直すことに。

筆者、ROMの知識は全くなかったので、考えてた以上にボロボロとボロが出てきました。
まずデータを書き込むのには、P端子をL(Lowレベル)にするのではなく、P端子には100uSのパルスを与えなくてはいけない事に気付く。
つまり「パシッ」と一発Lにしなくてはいけない。

あとVccは6.25V、Vppは12.75Vが必要。
・・・しまった。俺の持ってる2電源は使えないじゃないか。
TTL用にも5Vが必要なので、計3電源必要になってしまった。


とりあえず気が付いたのはこんくらい。
G端子はLにしっぱなしで、アドレスを変えても良いと知ったので、回路がちょっと楽になった。(RAMはこれが出来ない)

まず1つづつ問題を解決していこうと思います。

3つの電源はどうする

まず大元の電源はACアダプタを使って、14〜18Vくらいの電圧をもらう。
んで、あとは三端子レギュレータに任すことにする。
しかし5Vは7805あたりでいいとし、7806.25などという便利な三端子レギュレータなどあるわけないので、ターゲットのVccとVppは「可変三端子レギュレータ」を使う事にしました。
可変三端子レギュレータとは、その名の通り取り出せる電圧を変えることができます。
出力電圧の計算方法は今度説明したいと思います。
とりあえず電源部の回路図を描いてみました。

電源部

実際に回路に組み込む場合はバイパスコンデンサや過電圧防止ダイオードを入れます。
抵抗は可変抵抗器を使っていますが、出力させる電圧は決まっているので固定抵抗を使った方が良いでしょう。


パルスはどうする

これが今回まだ回路図が出来ていない原因です。
まず「パルスが必要」と知って思いついたのが「ワンショット回路」です。
ワンショット回路は、スイッチをオンすればある一定時間信号を放出し続けるという便利な回路。
今回は100uS長の信号が欲しいので、74123とか555などでRとCの値を計算すればよい。
始めはこれでイケると思い、セコセコ回路図をおこしていました・・・が。
1つ大きな問題。

今回の仕様の1つに「タクトスイッチかなんかでポチッと一発書き込み」とある。
ところが、今回欲しいのは100uSのパルスである。
ワンショット回路のタイミングチャートは下の様な感じである。



どこの世界にマイクロ秒を扱える人間がいるだろうか。
つまり今回の回路にワンショット回路を組み込んだ場合、スイッチを押したら100uS以内に離さなくてはいけない
無茶言うな。
そんなのは高橋名人でも無理だ。

「う〜んどうしよう・・・」と悩んだ末、我が師でもある上司に頼ってみることにする。
周波数カウンタをロジックのみで作った人だ。この程度の問題ならアッサリ解決してくれるだろう。

「あぁ、昔作ったよ」

あっさり解決。
黄ばんだ手書きの回路図と、1985年出版のトラ技(トランジスタ技術)を俺に手渡してくれた。
俺が5歳の頃からこの人は一体何をやっていたんだろうか。不思議だ。

頂いた回路図には、「自己停止カウンタ」なるものが記載されており、つまり外部クロックをカウントし、指定回カウントしたら停止するというもの。
これを応用し、「カウントしている間は出力させる」というものを作れば100uSを正確に出せるうえ、リトリガも考えなくて良いし、上で書いた問題も解決できる。
オッケーこれでいこう。

この部分の回路図は今度動作説明付きで紹介したいと思います。(まだ出来てないから)



「週一更新」とか言ったわりに、いきなり先週サボりましたが、とりあえず着々と進んでおります。
完成させるのは今夏中には仕上げたいな、と思っています。




[次のページへ]

リンクフリー  Copyright (C) K_Yaguchi