カウンタはデジタルデバイスであり、カウンタの出力には、クロックパルスアプリケーションに基づいて事前定義された状態が含まれます。の出力 カウンターは パルス数を数えます。一般に、カウンタは、同期カウンタまたは非同期カウンタのフリップフロップ構成で構成されます。同期カウンタでは、すべてのフリップフロップに1つのクロックi / pのみが与えられますが、非同期カウンタでは、 フリップフロップのo / p 近くのものからのクロック信号です。のアプリケーション マイクロコントローラー 正確な内部時間遅延の生成やパルス列の周波数などの外部イベントをカウントする必要があります。これらのイベントは、デジタルシステムやコンピューターで頻繁に使用されます。これらのイベントはどちらもソフトウェア技術で実行できますが、カウント用のソフトウェアループでは正確な結果が得られないため、より重要な機能は実行されません。これらの問題は、割り込みとして使用されるマイクロコントローラーのタイマーとカウンターによって修正できます。
カウンター
カウンターの種類
カウンターは、クロックの方法に応じてさまざまなタイプに分類できます。彼らです
- 非同期カウンター
- 同期カウンター
- 非同期ディケイドカウンター
- 同期ディケイドカウンター
- 非同期アップダウンカウンター
- 同期アップダウンカウンター
このタイプのカウンターをよりよく理解するために、ここではいくつかのカウンターについて説明します。
非同期カウンター
2ビット非同期カウンタの図を以下に示します。外部クロックは、FF0(最初のフリップフロップ)のクロックi / pにのみ接続されます。したがって、このFFはすべてのクロックパルスの立ち下がりエッジで状態を変更しますが、FF1はFF0のQ o / pの立ち下がりエッジによってアクティブ化された場合にのみ変化します。 FFを介した積分伝搬遅延のため、i / pクロックパルスの変化とFF0のQo / pの変化が正確に同時に発生することはありません。したがって、FFを同時にアクティブ化して、非同期操作を生成することはできません。
非同期カウンター
簡単にするために、上の図のQ0、Q1、およびCLKの変更は、非同期カウンターですが、同時として示されていることに注意してください。実際には、Q0、Q1、およびCLKの変化にわずかな遅延があります。
通常、すべてのCLEAR i / psは相互に接続されているため、カウントを開始する前に、1つのパルスですべてのFFをクリアできます。 FF0に供給されるクロックパルスは、水のリップルなどの伝搬遅延の後に新しいカウンタを介してリップルされるため、リップルカウンタと呼ばれます。
2ビットリップルカウンタの回路図には、4つの異なる状態が含まれており、それぞれがカウント値で構成されています。同様に、n個のFFを持つカウンターは2Nの状態を持つことができます。カウンター内の状態の数は、そのmod番号と呼ばれます。したがって、2ビットカウンターはmod-4カウンターです。
非同期ディケイドカウンター
前のカウンターには2nの状態があります。ただし、状態が2n未満のカウンターも可能です。これらはないように設計されています。これらは短縮シーケンスと呼ばれ、すべての状態を通過する前にカウンターを駆動してリサイクルすることで実現されます。シーケンスが短縮されたカウンタの一般的なモジュラスは10です。直列に10ステートのカウンタは、ディケードカウンタと呼ばれます。実装されたディケードカウンタ回路を以下に示します。
非同期10年カウンタ回路図
カウンターが10になると、すべてのFFがクリアされます。 Q1とQ3の両方のみが10のカウントをデコードするために使用されることに注意してください。これは、部分デコードと呼ばれます。同時に、0〜9の他の状態の1つでは、Q1とQ3の両方が高くなります。ディケードカウンターテーブルのシリーズを以下に示します。
ディケイドカウンターのシーケンス
非同期アップダウンカウンター
特定のアプリケーションでは、カウンターはアップとダウンの両方をカウントできる必要があります。以下の回路は3ビットのアップダウンカウンタで、制御信号の状態に基づいてアップまたはダウンをカウントします。 UP i / pが1で、DOWN i / pが0の場合、FF0とFF1の間のNANDゲートは、フリップフロップ(FF0)の非反転o / p(Q)をクロックi / pにゲートします。フリップフロップ(FF1)の。同様に、FlipFlop1の非反転o / pは、他のNANDゲートを介してflip-flop2のクロックi / pにゲートされます。したがって、カウンターはカウントアップします。
非同期アップダウンカウンタ回路図
制御i / p(UP)が0になり、DOWNが1になると、フリップフロップ0(FF0)とフリップフロップ1(FF)の反転o / psがFF1とFF2のクロックi / psに別々にゲートされます。 。 FFが最初に0に変更された場合、i / pパルスが適用されると、カウンターは以下のシリーズを通過します。 NANDゲートによって追加の伝搬遅延が発生するため、非同期アップダウンカウンターはUPカウンター/ダウンカウンターよりも遅いことに注意してください。
非同期アップダウンカウンターのシーケンス
“絶縁体の例は ”
同期カウンター
これで カウンターの種類 、すべてのFFのCLK i / psは相互に接続され、i / pパルスによってアクティブになります。したがって、すべてのFFは瞬時に状態を変更します。以下の回路図は、3ビットの同期カウンタです。フリップフロップ0の入力JとKはHIGHに接続されています。フリップフロップ1のJ&K i / psはフリップフロップ0(FF0)のo / pに接続され、フリップフロップ2(FF2)の入力J&KはANDゲートのo / pに接続されています。は、flip-flop0とflip-flop1のo / psによって供給されます。 FF0とFF1の両方の出力がHIGHの場合。 4番目のCLKパルスの立ち上がりエッジにより、FF2はANDゲートのためにその状態を変更します。
同期カウンタ回路図
3ビットカウンタテーブルのシリーズを以下に示します。これらのカウンタの主な利点は、すべてのFFが並列にアクティブ化されるため、時間遅延が増加しないことです。したがって、この同期カウンタの最大動作周波数は、同等のリップルカウンタの場合よりもかなり高くなります。
同期カウンタのCLKパルス
同期ディケイドカウンター
同期カウンターは、非同期カウンターと同様に0から9までカウントし、その後再びゼロをリサイクルします。このプロセスは、1010状態を0000状態に戻すことによって実行されます。これは切り捨てられたシーケンスと呼ばれ、以下の回路で設計できます。
同期ディケイドカウンタ回路図
左の表のシリーズから、次のことがわかります。
- Q0はすべてのCLKパルスに接続します
- Q1は、Q0 = 1およびQ3 = 0の場合、毎回次のクロックパルスで変化します。
- Q0 = Q1 = 1の場合、Q2は毎回次のクロックパルスで変化します。
- Q3は、Q0 = 1、Q1 = 1&Q2 = 1(カウント7)、またはQ0 = 1&Q3 = 1(カウント9)の場合、次のCLKパルスで毎回変化します。
同期ディケイドカウンターのシーケンス
上記の特性は、 ANDゲートまたはORゲート 。この論理図は上の図に示されています。
同期アップダウンカウンター
3ビット同期アップダウンカウンタ、表形式、およびシリーズを以下に示します。このタイプのカウンターには、非同期のアップダウンカウンターと同様のアップダウンコントロールi / pがあり、特定のシリーズを通じてカウンターの方向を制御するために使用されます。
同期アップダウンカウンタ回路図
表のシリーズは示しています
- Q0は、アップシリーズとダウンシリーズの両方の各CLKパルスに接続します
- アップシリーズでQ0 = 1の場合、Q1の状態は次のCLKパルスで変化します。
- ダウンシリーズのQ0 = 0の場合、Q1の状態は次のCLKパルスで変化します。
- アップシリーズでQ0 = Q1 = 1の場合、Q2の状態は次のCLKパルスで変化します。
- ダウンシリーズでQ0 = Q1 = 0の場合、Q2の状態は次のCLKパルスで変化します。
同期ディケイドカウンターのシーケンス
上記の特性は、ANDゲート、ORゲート、およびNOTゲートで使用されます。この論理図は上の図に示されています。
カウンターの用途
カウンタの用途は、主にデジタル時計と多重化に関係しています。カウンターの最良の例は、以下で説明するシリアルデータ変換ロジックと並列です。
平行線上で同時に実行されるビットのセットは、並列データと呼ばれます。時系列の1行で実行されるビットのセットは、シリアルデータと呼ばれます。パラレルからシリアルへのデータ変換は通常、以下の回路で説明するように、カウンターを使用してデータのバイナリシリーズを提供し、MUXのi / psを選択することによって行われます。
パラレルからシリアルへのデータ変換
上記の回路では、モジュロ8カウンターはQ o / psで構成されており、データに接続されています。 8ビットMUX 。パラレルデータの最初の8ビットグループは、MUXの入力に適用されます。カウンタが0〜7の2進系列を通過すると、各ビットはD0で始まり、シリアルに選択され、MUXを介してo / pラインに渡されます。 8-CLKパルスの後、データバイトはシリアルフォーマットに変更され、伝送ラインを介して送信されます。次に、カウンターは0に再処理され、同様のプロセスで別の並列バイトを再びシリアルに変更します。
したがって、これはすべて、非同期カウンター、同期カウンター、非同期10年カウンター、同期10年カウンター、非同期アップダウンカウンター、および同期アップダウンカウンターを含むカウンターとカウンターのタイプに関するものです。さらに、このトピックに関する疑問や 8051マイクロコントローラーのタイマーとカウンター 以下のコメントセクションにコメントしてください。