ハンドROMライタ製作記
自己停止カウンタを作る
2002.Aug.04
どんなもの?

さて、前回更新から1ヶ月以上の間があいてしまいましたね。
すみません。
最初の方にも書いたとおり、作るのに挫折して諦めた訳ではありません。
作る気はいつでもマンマンです。
ただ、最近身の回りがちょっとゴタゴタしており、HPの更新自体が止まってしまいました。

っと、関係ない話は置いておき、今日は「ハンドROMライタ」に組み込む「自己停止カウンタ回路」の紹介です。
どういうものかというと、スイッチを押したら外部クロックによりカウントを開始します。
あらかじめ決めておいた回数をカウントすると自分で自分に停止信号を送り、勝手にカウントを停止させる。というものです。
実際の「ハンドROMライタ」に組み込む回路は、これを応用し「スイッチを押したら100uS出力させる」というものにします。

解説

ではまず、「自己停止カウンタ」の回路図です。

自己停止カウンタ

結構適当に書いたので、文字が重なっていたりしますが、、、
使っているICは全部で3つ。それぞれ、
74LS160
74LS74
74LS04
です。 動作確認も出来ていますが、実際確認した時のインバータはトランジスタ(2SC1815)を使いました。

では解説です。
まずパワーオン時の input はL(ローレベル)状態とします。
clock の立ち上がりで、カウンタの初期値がロードされますので、それまで待ちます(つっても一瞬だけど)
この時 output はH(ハイレベル)です。
74160はTもしくはP端子がLなら、カウントはせずに、ホールド(データ保持)状態となりますので、この段階ではまだカウントは開始されません。
んで、スイッチかなんかを押して input がHとなりました。(とします)
するとフリップフロップ(7474)のQにはDが、つまりHが出力されます。
/QはLとなります。
それと同時に、Pはアクティブ状態となりカウントが開始されます。
74160のCO端子は、リップル・キャリー・アウトプットといい、カウンタ値が9から0にオーバーフローする時だけHが出力されます。
このCOをインバータを介しCLR端子に接続する事により、フリップフロップをクリアし初期状態へと戻します。
これで「自己停止カウンタ」が実現できました。

この回路ならば、例えばカウントの最中に input に連続でHが入力されたとしてもリトリガは起きません。(DはHだから)
逆にずっとHにしっまなしでも、7474は立ち上がりを検出しますので、関係ありません。


なかなか面白い回路ですよね。
74160なんてのもあまり使わなさそうですが、互換性のあるものならなんでも構いません。
あと input の入力タイミングによっては、多少出力の幅に誤差が出ますが、許容範囲内でしょう。(クロックによるけどたぶん)

終わりに

なんとかかんとか、これで「ハンドROMライタ」の製作にとりかかれそうです。
他にも「回路の小技」みたいなのを紹介できればなと思います。




[次のページへ]

リンクフリー  Copyright (C) K_Yaguchi