トランジスタでCPUをつくろう!
トランジスタで8080をつくってしまおうというまさにびっくり仰天、狂気のプロジェクトです!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
見事にできましたら、もちろんTK−80モニタを乗せて、それからBASIC、CP/Mを走らせましょう!
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
[第26回]
●オープンドレインのウラ技!
本日も余り時間がありません。
ひょっとすると途中で時間切れになってしまうかもしれません。
さて。
ワイヤードオア回路のためには出力はオープンドレインであることが必要です。
しかしオープンドレインの泣き所は、出力がローアクティブからハイインピーダンスに変わるときに時間がかかってしまうことです。
この立ち上がりをすこしでも速くするためには、ふつう入力ゲートの直近につけるプルアップ抵抗の値をできるだけ小さくすることです。
もちろんどれだけ小さくしてもよいというものではなくて、出力回路のドライブ能力を超えて小さくすることはできません。
74HCシリーズの場合、1KΩが大体無理のない限界だと思います。
プルアップ抵抗が1KΩのとき、出力がロウの期間、5mAの電流が出力端子に流れ込みます。
前回書きましたように、MYCPU80のワイヤードオア回路では、プルアップ抵抗を1KΩにしています。
それでもまだこの部分の立ち上がりが遅いために、本来20MHzくらいまで動作可能な74HCを使っていながら、CPUクロックを2MHzにするしかなかったのです(ほかにも理由はありましたが)。
できればトランジスタ版MYCPU80では、もう少し速いCPUクロックにしてみたい、という願望があります。
それでなくても、とにかくオープンドレイン回路で、出力がカーブを描いて立ち上がっていく様は、見ていて面白いものではありません。
こう、もうちっと、すぱっと上がってくれんものかいなぁ。
ついぐちのひとつも言いたくなってしまいます。
なんとかできないものか。
そこでどうしても思考はあのスピードアップコンデンサにいきます。
抵抗でプルアップするから遅い。
そこで2SA1015に変える。
でもまだ立ち上がりが遅い。
そこでスピードアップコンデンサをベース抵抗にかませると、立ち上がりは見事に速くなった。
うむ。
そこまでは、いい。
しかし、それではオープンドレインではない。
立ち上がりが速いのはいいが、そのあと出力はハイインピーダンスになってくれなくては困る。
つまり。
立ち上がる瞬間だけはA1015がアクティブでなくてはならないが、立ち上がってしまったら、A1015も(もちろん2N7000も)出力OFFになってもらわなければオープンドレインにならないので困る。
う?
立ち上がる瞬間だけA1015がアクティブになる?
おお。
できるかも!
かくして、下の回路を思いついたのでありました。
A1015を使ったオープンドレインらしからぬ「オープンドレイン回路」です。
トランジスタ回路だからこそ思いついたウラ技であります。
どこがオープンドレインやねん?
A1015がついとるさかい、ちっともオープンじゃないやねん。
いえ。
それが面白いことに、オープンなのですよお。
上の回路は[第21回]あたりでお見せしましたスピードアップコンデンサつきの回路とそっくりです。
しかしよく見ていただきますと、A1015のベースに1KΩが追加されています。
またベース抵抗の代わりにコンデンサがついています。
この抵抗とコンデンサがキモなのです。
この回路を思いついたときは、ほんと、思わず「やったぜ、ベィビィ」なんて、年甲斐もなく叫んでしまいましたです。
ちょいと興奮でありました。
やっぱり本日は時間がなくなってしまいました。
この続きは次回にいたします。
その間、この1KΩの効用をよっくお考えになってくださいませ。
2015.4.2訂正
回路図とその説明の一部を訂正しました。
詳しくは[第28回]を参照してください。
トランジスタでCPUをつくろう![第26回]
2015.3.31upload
2015.4.2一部訂正
前へ
次へ
ホームページトップへ戻る