トリニティカウンター
それで、会話を続けます。 この記事では、3進カウンターの作成方法を説明します。 私は、三項論理で動作するシンプルだがプログラム可能なハードウェアを作りたいと思います。 「なぜ?」という質問に対する答えはこちらをご覧ください 。
これは3番目の記事であり、準備ができ次第続けます。 目次:
- 3つまでカウント:回(3進マルチプレクサーと加算器)
- 3にカウント:2(メモリ)
- 3つに数えます:3つ(カウンター)
- 最大3つまでカウントします。4つ(1桁のコンピューターと3コマンドのコマンドシステム)
いつものように、私の記事にはテキストよりも多くの写真があります。 これが、ハードウェアの主要部分がどのように見えるかです。これについては、今日説明します。

前のエピソードの要約
トリニティマルチプレクサ
設計全体で唯一使用されている要素は、実際には3ポジションスイッチである3進マルチプレクサーであることを思い出します。 論理的には、これは5つのピンに関するものです。そのうちの1つ(sel)は3進セレクター信号を受け取り、それに応じて3つの入力信号inN、inOまたはinPのいずれかがマルチプレクサーの出力(out)に送信されます:

これは、2つの(デ)マルチプレクサーを搭載したボードの外観です。 私は、 元の名前に続いて、「trimux」という単語を呼び出します。

マルチプレクサーが単純にリピーターとして接続され、レッグN、O、Pにそれぞれ-5V、0V、+ 5Vが印加される場合、三角形が入力Sに供給されると、出力Cはステップ信号になります。

今日は、半加算器とメモリセルの2つだけを使用します。
半加算器
最初の記事では、半加算器の動作を詳細に調べました。 ブレッドボードでは、次のようになります。

上部のレイアウトは半加算器自体であり、下部のレイアウトはI / Oボードです。 かなりの量のハーフアドミッターが必要であり、毎回別個のブレッドボードを組み立てるのは時間がかかりすぎるので、別個のハーフアダーボードを作成することにしました。 離婚したボードは次のようになります。

それはすでに行われています:


このボードには3つのトリムが差し込まれます。 これは、マルチプレクサをビルディングブロックとして排他的に使用するという私の意図から逸脱したものではありません。 私が持っている抵抗器でさえ、偏執的な電流制限としてのみ、安全に捨てることができます。 コンピューティングはまだトリムを行っています。 ここでは、半加算器の動作をテストしています。I/ Oボードはブレッドボードよりも大きくなりました。

さて、ここに操作の準備ができている半加算器モジュールがあります:

三元記憶
2番目の記事では、1つのtrimux(2つのターナリマルチプレクサ)で、レベルごとに記憶するメモリセル(ターナリラッチ)を作成できることを理解しました。 さて、マスターとスレーブに2つの3値ラッチを組み立てると、クロック信号のエッジによってトリガーされる動的制御を備えたメモリセルを取得できます(3値マスター-スレーブフリップフロップ)。
さらに、前の記事へのコメントで、尊敬されているmayorovpは、4つのマルチプレクサのみを使用するオプションを提案しました。 私は試してみると約束しました!
ここに彼の提案がありますが、私は自分のニーズのためにそれを定めました:

このセルは、入力Cでクロック信号が2つのステップNO、OPを連続して作成したときに、出力Qに入力Aに適用される値を格納します。
半加算器と同じように、私は別のメモリブロックを作成することにしました。離婚したボードは次のとおりです。

レベルによってトリガーされる2つの独立した3項ラッチを搭載しています。 4つのジャンパを取り付けると、上記のダイナミックメモリセルが得られます。
これはスカーフのようです。

さて、ここに完成したモジュールがあります:

最もシンプルな三元カウンター
合計で、直接マルチプレクサからわずかに抽象化して、より高いレベルのブロックを使用できます。 3つのメモリセルと3つの半加算器を使用してみましょう。 これは、最も単純な3進カウンターを作成するのに十分です。
合計で、次のように接続できる既製のブロックが6つあります。

三値のこぎり波信号がクロック入力に供給されます。 実際、メモリセルと半加算器により、単純な分周器が得られます。 赤い単位の代わりにマイナス1を送信すると、カウンターが減算されます。 これは、カウンターがブレッドボード上でどのように見えるか、I / Oボード上の左の3つのLEDが3つのメモリセルのステータスを示し、右端のスイッチがカウンターを手動でクロックするために使用されます。

そして、これは私が単に私たちのカウンターの27の可能な状態すべてをクリックするビデオです:
このカウンタの短所のうち、オンにしたときの状態はあまり明確ではないことに注意してください(実際には、長いシャットダウン後、ゼロ状態になります)。 そして、このカウンターをリセットするのは簡単ではありません。 少なくとも私は簡単な方法を見つけませんでした。
複雑にしましょう
そのため、提案されたメモリオプションについてmayorovpに感謝します。 前の記事に戻ると、ダイナミックメモリセルを作成するために、 mayorovpが提案した以上の2つのマルチプレクサを使用しました。 それらと一緒に試してみましょう:

このカウンターは、前のカウンターとまったく同じように機能しますが、さらに2つのマルチプレクサーがあります。 なんで? そんなに欲しいから! 入力BmとAs(私はそれらを灰色に塗った)はこの回路では使用されないことに注意してください。 マスターラッチのタイミング信号は決して正ではなく、フォロワーでは負になることはありません。
次に、さらに2つのマルチプレクサを回路に追加します。

入力信号Rがマイナス1に等しい場合、カウンターは前のものと完全に同等です。 しかし、ゼロまたは正の場合はどうなりますか? ラッチは、BmとAsの入力に供給されるものを記憶します!
必要な数をラッチに適用し、信号Rをリセットすることで、双方向でカウントでき、必要に応じて値を書き換えることができる3進カウンターを取得しました。以下に、操作の詳細を説明したビデオを示します。
合計で、34個のマルチプレクサー(17個のトリマックス)の助けを借りて、完全に機能する3進カウンターが組み立てられます。 その容量は、トリットごとに1つのメモリブロックと1つの半加算器を追加することにより、必要な容量まで削減できます。
アレクサンダーシャバルシンが 3時間で数分のカウンターを作成することを提案する方法を見てください(まあ、秒、時間、スキームは同じです):

1時間は60分なので、4トリットを使用する必要があります。 4つのトリットは81の異なる値を保持できますが、バランスのとれた3進システムでは、-40〜40の値を表します。たとえば、45分間を表す方法は? アレクサンダー非常に機知に富んだ申し出は、今は45分ではなく、15時間だと言っています! 回路の右下にある5つのマルチプレクサは、1時間後に分カウンターをリセットするだけです。
今日はこれで終わりです。次回は何かを計算しようとします。
ボーナス:食べ物
製造BPの簡単な説明
最初の2つの記事を書いたとき、バイポーラ電源を得るために、容赦なく加熱された最も単純な抵抗分割器を使用しました。 バイポーラ電源も必要ですが、すでに±12 Vの三角形ジェネレーターを作成する必要があるため、1つの回路内の2つのLATRはすでに過剰であり、集合農場であると判断しました。 中国で注文した既製の電源モジュール、まとめて:
理由はわかりませんが、何らかの理由で電源の前に電源フィルターを接続しました。 ここでは約230ボルトについて話しているため、ケーシングは必須で、厚さ3 mmのPVCシートをニクロム線で曲げました。
私はこのようなものを得ました:
これは、開いているPSUの外観です。
そして、とても食べる準備ができています:
総費用は計算しませんでしたが、およそ30ドルを見積もることができました。

理由はわかりませんが、何らかの理由で電源の前に電源フィルターを接続しました。 ここでは約230ボルトについて話しているため、ケーシングは必須で、厚さ3 mmのPVCシートをニクロム線で曲げました。

私はこのようなものを得ました:

これは、開いているPSUの外観です。

そして、とても食べる準備ができています:

総費用は計算しませんでしたが、およそ30ドルを見積もることができました。