カウンタ ic。 ロジックICで構成した周波数カウンタの製作 【設計編 その2】

5分周期(カウンタIC)について

カウンタ ic

LED10個の順次点滅回路などが簡単に作れるICです。 このタイプはジョンソン・カウンタともよばれます。 今回の実験では日立のHD74HC4017Pを用いました。 形状は16ピンDIP型です。 もうひとつ、シュミットNANDゲートの74HC132Pも使ったので、このICの接続図も下に掲げます。 LED10個の順次点滅回路 まずはいちばん基本となるLED10個の順次点滅回路をやってみました。 回路図は下記の通りです。 IC1・74HC132はクロックパルスの発振器です。 4つのシュミットNANDゲートのうちの1つを用いて方形波の発振回路を組んでいます。 周期は約0. 9秒になりました。 IC1a, IC1b, IC1dは使用しませんので、入力端子を電源プラスまたはマイナスにつなぎます。 ここで作った方形波信号をIC2・74HC4017のクロック端子CK 14番 に入れます。 クロックの立ち上がりごとにQ0〜Q9が順にLからHに変わる、つまりカウントアップしていくので、ここにつながれたLED0〜LED9も1個ずつ順番に点灯していきます。 LED9が点灯すると、次のクロックでまたLED0に戻って同じことを繰り返します。 リセット端子R 15番 につながっているC2とR3は、電源スイッチを入れたとき必ずLED0から順に点灯するようにするためのもので、いわゆる「パワーオンリセット」です。 これがないと、最初に光るLEDが一定しません。 パワーオンリセットの必要がないときは、リセット端子は直接GNDに接続しておけばOKです。 それと、シュミットNAND発振回路の性質なのかもしれませんが、電源オン直後の最初のLEDだけは2サイクル分 この回路では約2秒間 光ります。 下の図はCKとQ0〜Q9出力の関係をタイミングチャートで表したものです。 LEDの点灯のようすを表すGIFアニメも出しておきますが、パソコンによってはうまく表示されないかもしれません。 ブレッドボード上の配線図と試作写真を下に示します。 リセット端子のはたらき リセット端子R 15番 の動作について調べました。 この端子は「クリア」とよばれることもあります。 通常のカウントアップ動作をさせるときはこの端子はLにしておきます。 ここがHになるとカウントがクリアされ、LED0の点灯に戻ってそこからカウントが再開されます。 上にタイミングチャートを掲げます。 これはQ2がHのとき、つまりLED2が点灯中にリセットがかかったという設定です。 クロックのどのタイミングであってもR端子がHになればただちにリセットがかかり、その時点でHだったQ端子はLに戻り、代わってQ0がHになります。 RがHの間はずっとそのままです。 RがLに戻るとリセットは解除されますが、Q0はまだHのままです。 クロックの次の立上がりが来た時点でQ0がLになり、代わってQ1がHになります。 以降、順次カウントアップしていきます。 図3-2はリセット専用の押しボタンスイッチを付けた回路です。 LEDが順次点滅している途中でスイッチをチョンと押すと、LED0に戻ってそこから点滅を再開します。 スイッチを長く押すと、押している間じゅうLED0が点灯し続けます。 スイッチから手を放すとカウントが再開されます。 図3-3は9個以下の順次点滅にする回路です。 図の回路ではQ4出力 10番 がリセット端子に結ばれています。 こうすると、Q4がHになった瞬間にリセットがかかり、カウントはクリアされます。 したがって、LED0〜LED3の4個だけの順次点滅動作になります。 なお、この場合Q4にLEDをつなぐ必要はありません。 また、Q0またはQ1をR端子につなぐと、ずっとLED0だけが点灯した状態になります。 上図はR-Sラッチとよばれる回路をリセット端子につないだものです。 R-Sラッチは2個のNANDゲートで構成され、スイッチが2個付いています。 これにより、スイッチのチョイ押しでカウントのスタート及びリセットのコントロールができます。 R-Sラッチ部分はIC1の余っているゲートが利用できます。 電源を入れるとリセット状態でスタンバイします。 つまりLED0だけが点灯しています。 ここでスタートスイッチ SW2 をチョンと押すとリセット端子がLになってカウントがスタートし、LEDが順次点滅を始めます。 適当なところでリセットスイッチ SW1 をチョンと押すと今度はリセット端子がHになり、カウントはクリアされてLED0だけが点灯した状態に戻ります。 図3-2の回路とは異なり、スイッチのボタンから指を放してもそのままリセット状態を保持します。 SW2をチョンと押すとまたカウントを始めます。 図の回路はパワーオンリセットになっていますが、C2とR3を取ると電源オンでどれか途中のLEDから順次点滅を開始します。 その後の動作は上と同じです。 イネーブル端子のはたらき 13番Eはイネーブル クロック・イネーブル という名前の端子です。 カウントアップを途中で止めてその状態を保持する機能があります。 通常の動作の際はLにして GNDにつないで おきます。 「イネーブル」に決まった訳語があるのかどうか知りませんが、ここでは「クロックが有効」という言い方をしておきます。 上はイネーブル端子の動作のタイミングを表した図です。 Q2がHになっているとき、つまりLED2が点灯しているときにイネーブル端子EがHになったとします。 するとここでクロックが無効となってカウントがストップし、Q2はHのままになります。 EがLに戻ると再びクロックが有効になり、クロックの次の立上がり時点からカウントの続きが開始されます。 リセットとは違ってカウントがゼロに戻ることはありません。 図4-2はカウントを途中の決められた場所で自動的にストップさせてそのままにする回路です。 図ではQ9出力 11番 がE端子に接続されています。 LED0から順に光ってLED9まで来るとカウントアップが停止し、LED9が点灯したままになります。 リセットスイッチを押すとLED0からカウントが再スタートします。 図4-3は手動のストップスイッチです。 任意の時点でカウントを止めることができます。 イネーブル端子と+5Vラインとの間にスイッチを付ければいいのですが、直接スイッチを付けると接点のバウンス チャタリング によって誤動作してしまいます。 そこで、IC1の余ったゲートでデバウンス回路を組みました。 これならうまくいきます。 順次点滅状態のときにスイッチを押すと動きが止まり、1個だけが点灯した状態になります。 スイッチを放すと次の 右隣の LEDから順次点滅を再開します。 イネーブル端子にもR-Sラッチをつないでみました。 リセットスイッチも付けました。 スタートスイッチ SW2 のチョイ押しで点滅がスタート、ストップスイッチ SW1 のチョイ押しで点滅ストップ、リセットスイッチ SW3 のチョイ押しでLED0が点灯した状態に戻ってリセット状態を保持します。 ただし、順次点滅状態からストップスイッチを押さずにいきなりリセットスイッチを押した場合は、点滅はLED0に戻るもののリセット状態をキープできず、ボタンから手を放すとすぐに順次点滅を再開します。 図4-5はクロック信号をイネーブル端子に入力する回路です。 クロック端子 14番 はHに固定しておきます。 これでも同じように10個のLEDを順次点滅させることができます。 しかしクロック端子にクロックを入れた場合とはカウントアップのタイミングが反対になります。 上図に示したように、クロック端子にクロックを入れたときはクロックの立上りでカウントが進みますが、イネーブル端子にクロックを入れたときはクロックの立下りでクロックが進みます。 上の回路図ではクロック発振器の出力にもLED LED10 が付いていますが、これとLED0〜LED9の光り方を見比べるとタイミングの違いがわかります。 クロックのオン・オフ 上は、クロック発生器のNANDゲートの片方の入力にスイッチを付けたものです。 これによりクロック発振のオン・オフができます。 電源を入れると普通に順次点滅が始まりますが、スイッチを押すとクロック信号がHになった状態で発振が停止するので、その時点で点灯していたLEDがそのまま点灯し続けます。 スイッチから手を放すとその次のLEDから順次点滅を再開します。 見た目は、イネーブル端子をHにしたときと同じ動作です。 図5-2はスイッチを押すたびにクロックパルスがひとつだけ出る回路です。 スイッチをチョンと1回押すたびにLEDがひとつづつカウントアップします。 スイッチを長く押しても同じです。 この回路もNANDゲートでデバウンス処理をしています。 これがないと、スイッチを1回だけ押したつもりでもカウントが3つも4つも進んでしまいます。 なお、電源オン直後はどれかひとつのLEDが点灯した状態で停止しています。 キャリーアウト端子のはたらき キャリーアウト端子CA 12番 は複数の4017を連結する際に桁上がり信号を出す端子です。 下図のように、Q0〜Q4がHのときはCAもHになります。 Q4がLに変わりQ5がHになった瞬間にCAはLになります。 Q9からQ0に戻るときにまたHになります。 つまり10クロック毎にひとつのパルスを出すことになります。 言い換えれば周波数を10分の1にする分周器です。 CA端子にLEDをつないで光らせるとこのようすを観察できます。 図6-2は2個の74HC4017にそれぞれ10個のLEDをつなぎ、100までカウントする回路です。 IC2のキャリーアウトCA 12番 をIC3のクロックCK 14番 につなぎます。 IC2が1の位のカウント、IC3が10の位のカウントをします。 電源を入れるとまず両方のICのQ0がHになり、LED0とLED10が点灯します。 その後はクロックがHになるたび、IC2の方だけカウントアップしていきます。 LED9までカウントすると次はLED0に戻りますが、その瞬間にIC2のCAがHに変わり、それにつながったIC3のCKもHになるのでIC3のカウントも1進んでLED11が点灯します。 これが「10」を表しています。 このようにIC2の10カウントごとにIC3のカウントが1アップするので、2個のICで100までカウントできます。 LED19が点灯した状態でIC2のカウントがLED9まで進むと、次のクロックで最初の状態すなわちLED0とLED10の点灯に戻って1からのカウントを繰り返します。 下はこの回路の動作をアニメーションで表したものです。 分周機能 74HC4017はカウンタICなので、クロック端子に入力した信号を何分の1かに分周して出力することができます。 下の図7-1は10分の1の周波数を出力する回路ですが、上記のキャリーアウト端子CAのほか、Q0〜Q9出力でも10分周が可能です。 クロックを可聴周波数にしてスピーカーを鳴らしてみました。 IC1のNANDゲートでクロック信号を作ってIC2のCK端子に入れ、CAおよびQ0出力にスピーカーをつないで音を聞きます。 CKからもリード線を出して、スイッチで切り替えて聞き比べができるようにしました。 図中に記した周波数はデジタルテスタでの実測値です。 クロック周波数が5382Hzなのに対し、CA出力およびQ0出力は539Hzになりました。 10分の1より少しだけ大きくなった理由はわかりません。 CAにもQ0にもクロックの10分の1の周波数が出てきますが、スピーカーで聞くと音色が違うことがわかります。 上のタイミングチャートを見てください。 CA出力のデューティ比は50%ですが、Q0出力 Q1〜Q9も同じ のデューティ比は10%です。 波形が違うので音色も違って聞こえるわけです。 上はクロック周波数を5分周する回路です。 Q5 1番 とR 15番 を接続します。 Q0からカウントアップしていって、Q5がHになるたびリセットがかかるのでカウントはQ0に戻ります。 つまりQ0〜Q4はクロックの5サイクルに1回だけHになるので、ここにスピーカーをつなげばクロック周波数の5分の1の周波数の音が聞こえます。 下にタイミングチャートを掲げます。 今回の回路はQ5をRにつないだので5分周になりましたが、もしQ3とRをつなげば3分周、Q7とRをつなげば7分周というように、Q出力の番号に応じた分周回路を作ることができます。

次の

10進カウンタ⁄デコーダIC 74HC4017

カウンタ ic

カウンタの形式 [ ] 必要とする出力・対雑音特性・速度などに応じて各種のカウンタが使用される。 各ビットの重み付けがあり変化の周期が違うものを ウェイティング・カウンタ weighting counter と呼び、バイナリ・カウンタ、グレイ・コード・カウンタはこれに含まれる。 対して、各ビットに重み付けがないものを ノンウェイティング・カウンタ nonweighting counter と呼び、リング・カウンタ、ジョンソン・カウンタ、ワンホット・ステート・カウンタはこれに含まれる。 Linear feedback Shift Register と呼ばれ、任意のビット列をクロック・パルスごとに隣りのフリップフロップへ移動していく機能を持つレジスタがあり、ノンウェイティング・カウンタにはこれがよく用いられる。 また、ビット列の組み合わせを全て使用するものを フィルド・コード・カウンタ filled code counter と呼ぶ。 ビット列を全て使用するため、大きな数のカウントに適するが、デコーダは複雑になる。 バイナリ・カウンタ、グレイ・コード・カウンタ、2ビットのジョンソン・カウンタはこれに含まれる。 対して、ビット列の組み合わせを制限したものを アンフィルド・コード・カウンタ unfilled code counter と呼ぶ。 使用していない組み合わせになった場合の回復回路が必要だが、デコード回路が小さく高速化が可能である。 リニア・フィードバック・シフト・レジスタ、リング・カウンタ、3ビット以上のジョンソン・カウンタ、ワンホット・ステート・カウンタはこれに含まれる。 バイナリ・カウンタ [ ] D型フリップフロップによる4ビット同期型カウンタ バイナリ・カウンタ binary counter とは、2進数を出力するカウンタである。 このような接続により、初段に入力されたクロックパルスの立ち上がりが1個増えるごとに、Q出力の0と1が反転を繰り返すため、初段からの出力は入力されたクロックパルスの数を2進数表示した場合の最下位の桁、2段目は下から2番目の桁…というように、2進数による出力を行うことができる。 でカウンタ動作を行うには、各桁の出力が1010(10進数の『10』)に達した場合に0000にする回路を設ける。 4段バイナリ・カウンタの動作 0123456789ABCDEF Q 10101010101010101 Q 20011001100110011 Q 30000111100001111 Q 40000000011111111 グレイ・コード・カウンタ [ ] グレイ・コード・カウンタ Gray code counter とは、同時に1つのビットしか変化しないよう、数値にを割り当て、デコード時の(短時間のスパイク状のノイズ)を防止したものである。 4段グレイ・コード・カウンタの動作 0123456789ABCDEF Q 10110011001100110 Q 20011110000111100 Q 30000111111110000 Q 40000000011111111 リング・カウンタ [ ] リング・カウンタ ring counter とは、最終段の出力を1段目の入力に接続したもので、特定の初期値をフリップフロップにロードしておき、そのビット列をクロック・パルスごとに隣りのフリップフロップへ移動して行くもの。 に似ているが、すべてのビット列をシフトし終えた(以下の例では太字の列)次のステップで初期値にリセットされる点が異なる。 初期値を0011とした4ビットのリング・カウンタの動作(Q1が、Q4がである) 012 34 Q 1100 11 Q 2110 01 Q 3011 00 Q 4001 10 ジョンソン・カウンタ [ ] ジョンソン・カウンタ Johnson counter とは、2つのビットをデコードするだけで、任意の信号を取り出せるようにコードを割り当てたもの。 "1"と"0"の期間が同じ対称形のものと、不均一な非対称型とがあるが、いずれもはない。 4ビットの対称形ジョンソン・カウンタの動作 01234567 Q 101111000 Q 200111100 Q 300011110 Q 400001111 ワンホット・ステート・カウンタ [ ] ワンホット・ステート・カウンタ one-hot state counter とは、計数に対応するフリップフロップのみを1とし、他は0としてデコードを不要としたものである。 数える数だけフリップフロップが必要なためカウンタ本体の回路規模は最も大きくなる、外来ノイズなどによって動作が化けたなどの場合の検出は複雑である、といった点が不利である。 一方、デコーダが不要ないし極く単純、次の状態を決定する論理をそのまま埋め込むことができる、以上によりカウンタ本体も総合的にも高速、といった点が有利である。 4ビットのワンホット・ステート・カウンタの動作 0123 Q 11000 Q 20100 Q 30010 Q 40001 各種機能 [ ] 次のような機能を持つカウンタもある。 アップ・ダウン機能 通常の、数値を順に加算して計数する機能に加えて、数値を減算して計数したり、またこれらの機能を切り替えできる機能。 プリセット機能 0以外の初期値をあらかじめセットしておき、その値から計数を行う機能。 関連項目 [ ] ウィキメディア・コモンズには、 に関連するメディアがあります。 - -•

次の

【NXP】 カウンタIC

カウンタ ic

これをそのまま1ms時に当てはめた場合を図25に示します。 ゲートオープン Hレベル と閉じている Lレベル 時間は同じ1msです。 つまり、表示の更新時間は2msです。 当初からこのことは分かっていたのですが、実際に動作させてみると表示にチラツキとニジミが出てしまいます。 例えば、2と3の表示ではセグメントのcが点灯してニジミのようになって、2と3の区別がつきません。 結局、ゲート時間1msでは更新時間2msの方式は使えません。 ただし、ゲート時間は1msですから、この時間は変えられません。 したがって、図26のような制御が必要です。 また、Hレベルの時間は1msになり、この部分でカウントをさせます。 Lレベルの時間は19msですが、これでは適切な更新周期に不足していますので、N値を大きくすれば良いわけです。 例えば、Nを99とすればLレベルになっている時間は197msですから、約0. 2sの更新周期になります。 図29に回路を示します。 ダウンカウントは0(ゼロ)になるとボロー BOバー がLレベルになります。 後段カウンタのボロー出力でG1、G2のRSフリップ・フロップでデータをプリセットします。 設定値はN-1です。 74HC192のA~DにBCDコードで加えます。 1段目では8をセット、2段目では9を加えていますので、Nは99です。 05Hz となり、Hレベルの時間は1ms、Lレベルの時間は197msです。 つまり、更新周期は約0. 2sです。 図30にタイミングチャートを示します。 分かり易いように12をプリセットした場合です。 モノステーブル・マルチバイブレータとは図31のように入力(トリガ)を与えると一定時間のパルスを発生するもので、パルス幅Tは外付けのC、Rで決まります。 出力はQとQバーの2つで、常に逆の論理になり、都合の良い論理を選択できます。 パルス幅はCx,Rxで決めますが、トリガのH時間より短い設定をすれば、これにより短いパルスが得られます。 74HC123は2回路入りです。 そこで今回は図33の接続でラッチとリセットの信号を得ています。 このエッジ入力で発生するパルスがリセット信号になります。 それぞれのHレベルの時間はそれほど重要ではありません。 なお、ラッチからリセットへの間隔は図33では直後のタイミングに見えますが、実際にはデバイスのディレー(遅れ)時間があり、実測で10数nsです。 今回の場合、パルス幅はそれほどの精度は必要ありません。 パルス幅の計算方法またはその他の動作モードについてはメーカーのデータシートを参照願います。 精度は必要ありませんので、抵抗はカーボン抵抗です。 写真3はユニバーサル基板にて図29、34の回路を組んで動作確認している風景です。 デジタル回路での微妙なタイミングはオシロスコープでは分かりにくいのでロジックアナライザにて確認しています。 ゲート時間以外にラッチおよびリセットも同時に切り替える必要があります。 スイッチの機能(動作)を表現するなかで、「ノンショート」と「ショーティング」という言葉があります。 これは特にスライドスイッチ、ロータリースイッチなどで区別され、次のような意味です。 ショーティングタイプは接点切換途中にオープンになると不具合がある場合などに用い、ノンショートは切換途中のオープンが問題にならない場合に用います。 今回は図37のようにショーティングでは出力同士がぶつかるので、ノンショートが必要です。 NANDゲートを用いた選択回路です。 NANDゲートは両方の入力がHの場合、出力はLです。 別な見方をすれば図39 d のように片方の入力をLにすれば出力は常にHになって、片方の入力状態は出力に反映されません。 つまり、ゲートを閉じた状態です。 具体的には図38 a のようにスイッチONではG2の入力およびG4の入力はLです。 G3はNANDを「負論理入力のOR」で表現しています。 このICはNANDゲートが4個入っていますので、図38の方式ではこの部分でICが1パッケージです。 NANDは負論理のANDですが、図39 c のようにNOTにもなる便利なゲートです。 余ったゲートは他の回路で使用できますのでなるべくICの数を減らすことを考えてみます。 図38ではスイッチにON-OFFタイプを用いましたが、これをON-ONタイプとした場合を図40に示します。 それぞれの端子をプルアップすると2つの接点の論理は常に逆になります。 これを利用すればNOTの役割になってゲートが1つ減ります。 74HC00はNANDが4個入りですから、このICを2個用い、余ったゲートは他の部分で利用しています。 また、スイッチはノンショート、ショーティングは問わず、今回は一般的なトグルスイッチです。

次の