JP2012039296A - カウンタ回路 - Google Patents
カウンタ回路 Download PDFInfo
- Publication number
- JP2012039296A JP2012039296A JP2010176326A JP2010176326A JP2012039296A JP 2012039296 A JP2012039296 A JP 2012039296A JP 2010176326 A JP2010176326 A JP 2010176326A JP 2010176326 A JP2010176326 A JP 2010176326A JP 2012039296 A JP2012039296 A JP 2012039296A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- output
- pulse
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Pulse Circuits (AREA)
Abstract
【課題】 ジッタが同期型カウンタと同等であり、出力信号の出力波のパルス幅を変えることを可能にするカウンタ回路を提供する。
【解決手段】 分周設定データDBを生成するシフトレジスタ111〜1110と、信号COUTのパルス幅を決めるためのデータDCを生成するシフトレジスタ11〜110と、信号LSが入力されるとデータDBをロードし、このデータを基にダウンカウントをするレジスタ部と、ダウンカウントの値が所定値になったときなどに、信号LSを出力する第1の信号作成部と、信号COUTを出力するとき、信号LSが出力されるタイミングで、信号COUTのパルスの始めとする出力作成回路3と、データDCとカウント値QDとの比較結果から、カウント値QDが所定値になった後から現時点の値QDを得るまでの期間が、決められたパルス幅に該当すると、パルス信号を出力する比較回路2とを備え、出力作成回路3は、パルス信号の変化を検出すると、出力信号COUTのパルスの終わりとする。
【選択図】 図1
【解決手段】 分周設定データDBを生成するシフトレジスタ111〜1110と、信号COUTのパルス幅を決めるためのデータDCを生成するシフトレジスタ11〜110と、信号LSが入力されるとデータDBをロードし、このデータを基にダウンカウントをするレジスタ部と、ダウンカウントの値が所定値になったときなどに、信号LSを出力する第1の信号作成部と、信号COUTを出力するとき、信号LSが出力されるタイミングで、信号COUTのパルスの始めとする出力作成回路3と、データDCとカウント値QDとの比較結果から、カウント値QDが所定値になった後から現時点の値QDを得るまでの期間が、決められたパルス幅に該当すると、パルス信号を出力する比較回路2とを備え、出力作成回路3は、パルス信号の変化を検出すると、出力信号COUTのパルスの終わりとする。
【選択図】 図1
Description
この発明は、カウンタ回路に関し、詳しくは、非同期式カウンタ回路に関する。
カウンタはパルス数を計測する回路であるが、見方を変えればカウンタの動作クロックの分周を行っているとも言える。カウンタにはクロックに同期して動作する同期式カウンタがある。同期式カウンタは、例えばAD/DAコンバータの動作クロック生成に用いられている。同期式カウンタの動作クロックの立上り、立下りの両エッジを用いて動作する場合は、Duty50%(デュティ比50%)が最も高速にAD/DAコンバータを動作できる。一般的に、高機能な回路に用いる場合は、同期式カウンタを用いる。一方、カウンタには、クロックとは非同期で動作する非同期式カウンタがある(例えば、特許文献1参照。)。非同期式カウンタは同期式カウンタに比べて消費電力が少ない、という特徴がある。
こうした非同期式カウンタの一例を図4に示す。このカウンタは、データ設定付き非同期式10bitダウンカウンタである。ダウンカウンタは1bitシフトレジスタ(SREG)111〜1110(以下、「シフトレジスタ111〜1110」という)を備えている。前段の1bitシフトレジスタのQ端子と、次段の1bitシフトレジスタのD端子とが接続されている。つまり、シフトレジスタ111〜1110がシリアルに接続されている。これにより、10段のシフトレジスタ111〜1110で10bit(ビット)のシフトレジスタが構成されている。
シフトレジスタ111〜1110は、CK端子に入力されるシフトレジスタ用クロックSCの立上りエッジで、D端子に入力される設定データDTをQ端子からデータSD1〜SD10として出力する。シフトレジスタ111〜1110は、L端子に入力されるロード信号LPが「H」(ハイレベル)のとき、Q端子のデータSD1〜SD10をO端子にそれぞれ出力する。なお、ロード信号LPは、「H」でO端子にデータを出力するための信号である。シフトレジスタ111〜1110のL端子が「L」(ローレベル)のとき、シフトレジスタ111〜1110はO端子から出力されるデータを保持する。
ここで、10段のシフトレジスタ111〜1110で構成される10bitのシフトレジスタの動作について、図5を用いて説明する。設定データDTはシリアルデータであり、シフトレジスタ用クロックSCの立上りエッジで、シフトレジスタ111〜1110はシリアルデータをシフトする。シフトレジスタ111〜1110にデータが揃ったところで、シフトレジスタ111〜1110はロード信号LPにより分周データDB1〜DB10を出力する。図5のチャートでは、分周データDB1〜DB10は2進数の「0000000110」(2進数が分周データDB1〜DB10と一致するが、分周データDB1が最下位bit)であり、分周設定データDBは分周データDB1〜DB10で表される値「6」である。そして、図5は、これらの値による動作例を示す。
シフトレジスタ111〜1110では、シフトレジスタ用クロックSCの立上りエッジで、設定データDTがデータSD1として送られる。つまり、データの送りは、
設定データDT→データSD1→データSD2→データSD3→…→データSD10
である。ロード信号LPが「H」のとき、シフトレジスタ111〜1110のO端子からは、データSD1が分周データDB1として出力され、データSD2が分周データDB2として出力され、データSD3が分周データDB3として出力され、というようになる。
設定データDT→データSD1→データSD2→データSD3→…→データSD10
である。ロード信号LPが「H」のとき、シフトレジスタ111〜1110のO端子からは、データSD1が分周データDB1として出力され、データSD2が分周データDB2として出力され、データSD3が分周データDB3として出力され、というようになる。
非同期式10bitダウンカウンタはデータロード付きTフリップフロップ(TFFL)121〜1210(以下、「Tフリップフロップ121〜1210」という)を備えている。前段のTフリップフロップのQ端子およびQX端子が次段のTフリップフロップのC端子およびCX端子にそれぞれ接続されている。これにより、10段のTフリップフロップ121〜1210がシリアルに接続されている。Tフリップフロップ121〜1210のそれぞれは、カウンタの1bitに相当し(左が下位bit)、初段のTフリップフロップ121のC端子(CX端子はC端子の反転)はクロックCLKの入力用である。つまり、Tフリップフロップ121〜1210は、クロックCLKを入力とし、クロックCLKをダウンカウント(分周)する。
Tフリップフロップ121〜1210は、クロックCLKの立上りエッジにより、Q端子(QX端子はQ端子の反転)から出力されるデータが反転する。Tフリップフロップ121〜1210のPI端子は分周データDB1〜DB10の入力用である。そして、L端子が「H」のとき、Tフリップフロップ121〜1210はPI端子のデータをロードする。L端子が「L」のときは、Tフリップフロップ121〜1210は通常のTフリップフロップ(TFF)としての動作を行う。
非同期式10bitダウンカウンタは、8入力NOR回路(NR8)131(以下、「NOR回路131」という)と、2入力NAND回路(ND2)132(以下、「NAND回路132」という)とを備えている。NOR回路131のI1端子〜I8端子には、Tフリップフロップ1210〜123のQ端子からのカウントデータQ10〜データQ3が入力される。NAND回路132のI1端子には、NOR回路131の演算結果を表す、O端子からの出力が入力され、I2端子には、Tフリップフロップ121のQX端子の出力が入力される。NOR回路131とNAND回路132とは、ダウンカウンタのカウント値QD(2進数がカウントデータQ1〜Q10と一致するがカウントデータQ1が最下位bit)が値「2」(2進数で「0000000010」)になることを検出する。そして、このときに、NAND回路132はO端子から出力するデータを「L」にする。
非同期式10bitダウンカウンタはリセット付Dフリップフロップ(DFF)141(以下、「Dフリップフロップ141」という)を備えている。Dフリップフロップ141は、入力端子としてD端子、C端子、CX端子およびI端子を備え、出力端子としてQ端子とQX端子とを備えている。そして、クロックCLKがC端子に入力され、クロックCLKの反転がCX端子に入力されている。また、NAND回路132のO端子からの出力がD端子に入力され、クリア信号CLRがI端子に入力されている。
Dフリップフロップ141はクロックCLKに同期して動作し、Dフリップフロップ141のI端子に入力されるクリア信号CLRが「H」のときに、Dフリップフロップ141のQ端子(QX端子はQ端子の反転)の出力が「L」になる。Dフリップフロップ141のC端子(CX端子はC端子の反転)はクロックCLKの入力用であり、クロックCLKの立上りエッジにより、Dフリップフロップ141はD端子からデータをQ端子に出力する。クリア信号CLRが「L」であるときに、NAND回路132のO端子からの出力の「L」により、Dフリップフロップ141は、Tフリップフロップ121〜1210にデータロードをするための、「H」のデータロード信号LSを生成して、QX端子から出力する。
非同期式10bitダウンカウンタはNOT回路(INV)151、152を備えている。NOT回路151はクロックCLKを反転して出力し、NOT回路152はNAND回路132のO端子からの出力を反転し、出力信号COUTとする。
次に、データ設定付き非同期式10bitダウンカウンタの動作について説明する。このダウンカウンタの分周設定データDBは、図6に示すように、分周データDB1〜DB10の「0000000110」により値「6」である。クリア信号CLRが「H」のときは、Tフリップフロップ121〜1210にデータロードをするための、Dフリップフロップ141から出力されるデータロード信号LSが「H」である。これにより、Tフリップフロップ121〜1210から成るカウンタは、シフトレジスタ111〜1110からのデータを得るデータロード状態になっているため、入力信号であるクロックCLKが入ってきても動作しない。この状態のときのNOT回路152からの出力信号COUTは「L」を保持する。
クリア信号CLRが「L」になると、クロックCLKの立上りエッジでデータロード信号LSは「L」となる。これにより、次のクロックCLKの立上りエッジから、カウンタは分周動作を開始する。Tフリップフロップ121〜1210がクロックCLKによりダウンカウントを行い、カウント結果を2進のカウントデータQ1〜Q10(カウントデータQ4〜Q10は常に「0」)として出力する。2進のカウントデータQ1〜Q10で表されるカウント値QDが値「2」になったとき、NAND回路132の端子Oの出力が「L」となり、NOT回路152がこの出力を反転し、出力信号COUTが「H」になる。
次のクロックCLK(番号「1」のパルス)の立上りエッジで、カウント値QDが値「1」となり、出力信号COUTは「L」となる。さらに、Tフリップフロップ121〜1210にデータロードをするためのデータロード信号LSを、Dフリップフロップ141が「H」にするために、Tフリップフロップ121〜1210はデータDBをロードし(カウント値QDは値「6」)、次のクロックCLK(番号「2」のパルス)の立上りエッジでDフリップフロップ141がデータロード信号LSを「L」とする。さらに、次のクロックCLK(番号「3」のパルス)の立上りエッジから、カウンタは分周動作(ダウンカウント)を繰り返す。出力信号COUTのパルスの1周期は、クロックCLKのパルス6個(番号「1」〜「6」のパルス)であり、分周設定データDBの値「6」でクロックCLKが分周されている。
しかし、データ設定付き非同期式10bitダウンカウンタには、次の問題点がある。つまり、クロックCLKに対して、カウントデータQ1はTフリップフロップ1の1段分として時間a21だけ遅延する。1段分の遅延には、波形の揺らぎ(ジッタ)がある。カウントデータQ1をクロックとして動作する次段のTフリップフロップ122が出力するカウントデータQ2は、さらに時間a22だけ遅延し、ジッタが加算される。同様にして、カウントデータQ2をクロックとして動作する次段のTフリップフロップ123のカウントデータQ3は、さらに時間a23だけ遅延し、ジッタが加算される。
この結果、出力信号COUTは、分周動作するTフリップフロップ(TFFL)の段数分だけ、つまり時間a20だけ遅延し、ジッタが加算される、という問題がデータ設定付き非同期式10bitダウンカウンタにはある。
こうした問題点に対して、ジッタ対応型のデータ設定付き非同期10bitダウンカウンタがある。このダウンカウンタを図7に示す。図7では、10段のシフトレジスタ111〜1110と、10段のTフリップフロップ121〜1210と、NOR回路131と、NAND回路132と、Dフリップフロップ141と、NOT回路151、152とは、図4の非同期カウンタと同じ構成であり、動作も同じであるので、これらの説明を省略する。
図7のダウンカウンタには、リセット付Dフリップフロップ(DFF)161(以下、「Dフリップフロップ161」という)と、NOT回路(INV)162と、2入力NAND回路(ND2)163(以下、「NAND回路163」という)が付け加えられている。
また、図7のダウンカウンタでは、Dフリップフロップ141を次のようにして用いている。Dフリップフロップ141のI端子が「H」のときに、Q端子(QX端子はQ端子の反転)の出力が「L」になる。この出力は、NOT回路162を経て、Dフリップフロップ161のD端子に加えられている。なお、図4と同様に、クリア信号CLRが「L」であるときに、NAND回路132のO端子から出力されるデータC41の「L」により、Dフリップフロップ141は、Tフリップフロップ121〜1210にデータロードをするための、「H」のデータロード信号LSを生成する。
Dフリップフロップ161は、リセット付Dフリップフロップ(DFF)であり、入力端子としてD端子、C端子、CX端子およびI端子を備え、出力端子としてQ端子とQX端子とを備えている。Dフリップフロップ161はクロックCLKに同期して動作し、I端子に入力されるクリア信号CLRが「H」のときに、Q端子(QX端子はQ端子の反転)の出力が「L」になる。C端子(CX端子はC端子の反転)は、クロックCLKの入力用であり、クロックCLKの立上りエッジにより、D端子に入力されるデータC42をQ端子から出力する。Dフリップフロップ161は、Dフリップフロップ141のQ端子の出力をNOT回路162で反転して得たデータC42を、D端子に入力するデータとしている。そして、Dフリップフロップ161は、このデータC42をQX端子からデータC43として出力する。
NAND回路163はNOT回路152と共に、データC42とデータC43とのAND論理の演算で得たデータを、出力信号COUTとして生成する。
次に、ジッタ対応型のデータ設定付き非同期式10bitダウンカウンタの動作について説明する。このダウンカウンタの分周設定データDBは、図8に示すように、「0000000110」の分周データDB1〜DB10により値「6」である。クリア信号CLRが「H」のときは、Tフリップフロップ121〜1210にデータロードをするための、Dフリップフロップ141から出力されるデータロード信号LSが「H」である。これにより、Tフリップフロップ121〜1210から成るカウンタは、シフトレジスタ111〜1110からデータを得るデータロード状態になっているため、入力信号であるクロックCLKが入ってきても動作しない。この状態のときの、NOT回路152からの出力信号COUTは「L」を保持する。
クリア信号CLRが「L」になると、クロックCLKの立上りエッジでデータロード信号LSは「L」となる。これにより、次のクロックCLKの立上りエッジから、カウンタは分周動作を開始する。Tフリップフロップ121〜1210がクロックCLKによりダウンカウントを行い、カウント値QDをカウントデータQ1〜Q10(カウントデータQ4〜Q10は常に「0」)として出力する。カウント値QDが値「2」になったとき、NAND回路132の端子Oの出力つまりデータC41が「L」となる。
次のクロックCLK(番号「1」のパルス)の立上りエッジで、カウント値QDが値「1」となり、NAND回路132からのデータC41は「L」である。これにより、Dフリップフロップ141が、データロードをするためのデータロード信号LSを「H」とするため、Tフリップフロップ121〜1210はデータ分周データDB1〜DB10(カウント値QDの値「6」)をロードし、NAND回路162はデータC42を「H」とする。Dフリップフロップ161は、データC42を基に出力するデータC43を「H」にする。そして、データC42とデータC43とを基にした、NAND回路163とNOT回路152とによるAND論理の演算で、データC42の立上りで「H」となる出力信号COUTが生成される。
次のクロックCLK(番号「2」のパルス)の立上りエッジで、NAND回路132が出力するデータC41が「H」であるので、Dフリップフロップ141はデータロードをするためのデータロード信号LSを「L」とし、NOT回路162は出力するデータC42を「L」とする。Dフリップフロップ161は、データC42を基に出力するデータC43を「L」にする。そして、データC42とデータC43とを基にした、NAND回路163とNOT回路152とによるAND論理の演算で、データC43の立下りで「L」となる出力信号COUTが生成される。
こうして生成される出力信号COUTの1周期は、クロックCLKの6パルス(例えば番号「1」〜「6」のパルス)であり、分周設定データDBの値「6」に分周されている。
同時に、クロックCLKに対して、分周動作するTフリップフロップ121〜1210の段数分だけ遅延しているが、データC41を入力するDフリップフロップ141のQ端子から出力されて反転されるデータC42は、クロックCLKに対して、Dフリップフロップ141の1段分の遅延(ジッタ)つまり時間a1の遅延になる。同じように、データC42を入力するDフリップフロップ161のQX端子から出力されるデータC43は、クロックCLKに対して、Dフリップフロップ161の1段分の遅延(ジッタ)つまり時間a1の遅延になる。出力信号COUTは、NAND回路163により、データC42の立上りでのジッタa1と、データC43での立下りでのジッタa1とが加算され、同期型のダウンカウンタと同等のジッタになる。
先に述べたジッタ対応型のデータ設定付き非同期式10bitダウンカウンタには、次の課題がある。つまり、先の図4に示すダウンカウンタに比べて、先の図7に示すジッタ対応型のダウンカウンタではジッタが大幅に改善されている。しかし、先の図8に示すように、ジッタ対応型のダウンカウンタには、出力信号COUTのパルス幅TPが、ダウンカウンタに入力されるクロックCLKの1パルス分の出力となる欠点がある。
例えば、先に述べたように、AD/DAコンバータは動作クロックとしてカウンタ出力信号COUTのDuty50%(デュティ比50%)が最も高速で動作をする。これに対して、ジッタ対応型のデータ設定付き非同期式10bitダウンカウンタの出力信号COUTは入力クロックCLK1クロック分のパルス幅「H」であり、Dutyは分周データによって変わる。分周データ「6」の場合、Dutyは17%となり、設定する分周データが大きくなると、DUTYはさらに小さくなる。そのため、このカウンタはAD/DAコンバータでの使用には不向きである。
この発明の目的は、前記の課題を解決し、ジッタが同期型カウンタと同等であり、出力信号の出力波のパルス幅を変えることを可能にするカウンタ回路を提供することにある。
前記の課題を解決するために、請求項1の発明は、入力されたパルスをダウンカウントするときの分周数を設定するための第1の設定データを生成する第1の設定部と、分周結果を表す出力信号のパルス幅を設定するための第2の設定データを生成する第2の設定部と、ロード信号が入力されると、前記第1の設定部から第1の設定データをロードし、この第1の設定データを基に、入力されたパルスのダウンカウントをするレジスタ部と、クリア信号が入力されたとき、または、前記レジスタ部でのダウンカウントの値が所定値になったとき、前記第1の設定データをロードするための前記ロード信号を前記レジスタ部に出力する第1の信号作成部と、分周結果を表す前記出力信号を出力するとき、前記第1の信号作成部がロード信号を出力するタイミングで、この出力信号のパルスの始めとする出力作成部と、前記第2の設定部が生成した第2の設定データと前記レジスタ部によるダウンカウントの値との比較結果から、このダウンカウントの値が所定値になった後から現時点のダウンカウントの値を得るまでの期間が、この第2の設定データで設定されたパルス幅に該当すると判定すると、レベルが変化するパルス信号を出力する第2の信号作成部と、を備え、前記出力作成部は、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、前記出力信号のパルスの終わりとすることを特徴とするカウンタ回路である。
請求項1の発明では、入力されたパルスをダウンカウントするときの分周数を設定するための第1の設定データを第1の設定部が生成し、分周結果を表す出力信号のパルス幅を設定するための第2の設定データを第2の設定部が生成する。レジスタ部は、ロード信号が入力されると、第1の設定部から第1の設定データをロードし、この第1の設定データを基に、入力されたパルスのダウンカウントをする。
また、請求項1の発明では、第1の信号作成部は、クリア信号が入力されたとき、または、レジスタ部でのダウンカウントの値が所定値になったとき、第1の設定データをロードするためのロード信号をレジスタ部に出力する。第2の信号作成部は、第2の設定部が生成した第2の設定データとレジスタ部によるダウンカウントの値との比較結果から、このダウンカウントの値が所定値になった後から現時点のダウンカウントの値を得るまでの期間が、この第2の設定データで設定されたパルス幅に該当すると判定すると、レベルが変化するパルス信号を出力する。
そして、請求項1の発明では、出力作成部は、分周結果を表す出力信号を出力するとき、第1の信号作成部がロード信号を出力するタイミングで、この出力信号のパルスの始めとする。また、出力作成部は、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、出力信号のパルスの終わりとする。
請求項2の発明は、請求項1に記載のカウンタ回路において、前記入力されたパルスはクロックであり、前記出力作成部は、前記第1の信号作成部がロード信号を出力するタイミングで、かつ、前記クロックの立上りで、この出力信号のパルスの始めとし、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、かつ、前記クロックの立上りで、前記出力信号のパルスの終わりとする、ことを特徴とする。
請求項3の発明は、請求項2に記載のカウンタ回路において、前記出力作成部は、前記出力信号のパルスの立上りを始めとし、前記出力信号のパルスの立下りを終わりとする、ことを特徴とする。
請求項1の発明によれば、第2の設定データを変更することにより、出力信号のパルスの終わりの位置が変わるので、出力信号のパルス幅を変えることを可能にする。
請求項2の発明によれば、クロックに同期した出力信号を出力することができる。この結果、クロックの立上りで、出力信号のパルスを生成するので、レジスタ部によるダウンカウントの遅延の影響を除いて、出力信号におけるジッタを低減することが可能である。
請求項3の発明によれば、第2の設定部の設定データで設定された幅に対応してハイレベルとなり、残りがローレベルであるパルス周期の出力信号を生成することができ、例えばAD/DAコンバータでの使用を可能にする。
次に、この発明の実施の形態について、図面を用いて詳しく説明する。
(実施の形態1)
この実施の形態によるカウンタ回路を図1に示す。この実施の形態によるカウンタ回路は、データ設定付き非同期10bitダウンカウンタである。このカウンタ回路は、シフトレジスタ(SREG)111〜1110、Tフリップフロップ(TFFL)121〜1210、NOR回路(NR8)131、NAND回路(ND2)132、Dフリップフロップ(DFF)141およびNOT回路(INV)151を備えている。さらに、カウンタ回路は、シフトレジスタ(SREG)11〜110と、カウントデータ比較回路(COMP)2と、出力作成回路(PG)3とを備えている。なお、この実施の形態では、先に説明した図4および図7のデータ設定付き非同期式10bitダウンカウンタと同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。
この実施の形態によるカウンタ回路を図1に示す。この実施の形態によるカウンタ回路は、データ設定付き非同期10bitダウンカウンタである。このカウンタ回路は、シフトレジスタ(SREG)111〜1110、Tフリップフロップ(TFFL)121〜1210、NOR回路(NR8)131、NAND回路(ND2)132、Dフリップフロップ(DFF)141およびNOT回路(INV)151を備えている。さらに、カウンタ回路は、シフトレジスタ(SREG)11〜110と、カウントデータ比較回路(COMP)2と、出力作成回路(PG)3とを備えている。なお、この実施の形態では、先に説明した図4および図7のデータ設定付き非同期式10bitダウンカウンタと同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。
カウンタ回路のシフトレジスタ11〜110は、1bitシフトレジスタである。前段の1bitシフトレジスタのQ端子と、次段の1bitシフトレジスタのD端子とが接続されている。さらに、シフトレジスタ11のD端子がシフトレジスタ110のQ端子に接続されている。こうした接続により、シフトレジスタ11〜110とシフトレジスタ111〜1110とは、20bitのシフトレジスタを構成している。なお、シフトレジスタの接続方法はシリーズに接続されていればよく、図1はその一例である。シフトレジスタ11〜110は、シフトレジスタ111〜1110と同様に、CK端子に入力されるシフトレジスタ用クロックSCの立上りエッジで、D端子に入力されるデータをQ端子から出力する。シフトレジスタ11〜110のL端子に入力されるロード信号LPが「H」(ハイレベル)のとき、シフトレジスタ11〜110はQ端子のデータをO端子に出力する。L端子が「L」(ローレベル)であるとき、シフトレジスタ11〜110はO端子から出力されるデータを保持する。
ここで、シフトレジスタ111〜1110とシフトレジスタ11〜110とで構成される20bitのシフトレジスタの動作について、図2を用いて説明する。設定データDTは、シリアルデータであり、所定の間隔で「H」になる。設定データDTにより、分周設定データDBの値とハイレベル設定データDCの値とが変化する。つまり、設定データDTが「H」である期間と、設定データDTの「H」と次ぎの「H」までの期間とを調整することで、分周設定データDBの値とハイレベル設定データDCの値とを変えることができる。こうした設定データDTがシフトレジスタに入力されると、20bitシフトレジスタは、シフトレジスタ用クロックSCの立上りエッジで、シリアルデータをシフトしていく。この様子については、先の図5に示されている。なお、図2では、データSD1とデータSD19とを例示し、他のデータは省略している。
20bitシフトレジスタにデータが揃ったところで、このシフトレジスタは、ロード信号LPにより、シフトレジスタ111〜1110のO端子から分周データDB1〜DB10を出力し、シフトレジスタ110〜11のO端子からデータDC1〜DC10を出力する。分周データDB1〜DB10により、分周数が分周設定データDBとして表され、データDC1〜DC10により、出力信号COUTの「H」部分の検出数がハイレベル設定データDCとして表される。図2では、分周設定データDBは、分周データDB1〜DB10の「0000000110」で表される値「6」である。また、ハイレベル設定データDCは、データDC1〜DC10の「0000000011」で表される値「3」である。以下では、値「6」の分周設定データDBと、値「3」のハイレベル設定データDCとを用いた場合を例として説明する。なお、2進数「0000000110」が分周データDB1〜DB10と一致し、分周データDB1が最下位bitである。また、2進数「0000000011」がデータDC1〜DC10と一致し、データDC1が最下位bitである。
具体的に、20bitシフトレジスタでは、シフトレジスタ用クロックSCの立上りエッジで、設定データDTがデータSD1に送られる。そして、データの送りは、
設定データDT→データSD1→データSD2→データSD3→・・・→データSD10→データSD11→データSD12→・・・→データSD19
である。ロード信号LPが「H」であるとき、データSD1が分周データDB1として出力され、データSD2が分周データDB2として出力され、データSD3が分周データDB3として出力され、というようにデータSD10が分周データDB10として出力されるまで同様である。さらに、20bitシフトレジスタでは、ロード信号LPに応じて、データSD10がデータDC10として出力され、データSD11がデータDC9として出力され、というようにデータSD19がデータDC1として出力されるまで同様である。
設定データDT→データSD1→データSD2→データSD3→・・・→データSD10→データSD11→データSD12→・・・→データSD19
である。ロード信号LPが「H」であるとき、データSD1が分周データDB1として出力され、データSD2が分周データDB2として出力され、データSD3が分周データDB3として出力され、というようにデータSD10が分周データDB10として出力されるまで同様である。さらに、20bitシフトレジスタでは、ロード信号LPに応じて、データSD10がデータDC10として出力され、データSD11がデータDC9として出力され、というようにデータSD19がデータDC1として出力されるまで同様である。
カウンタ回路では、先に述べたように、Tフリップフロップ(TFFL)121〜1210、NAND回路(ND2)132、NOR回路(NR8)131、Dフリップフロップ(DFF)141は、図7と同じ構成であり、動作も同じである。
カウンタ回路のカウントデータ比較回路(COMP)2は、入力端子としてC1〜C10端子とD1〜D10端子とを備え、出力端子としてO端子を備えている。カウントデータ比較回路2は、シフトレジスタ110〜11からのデータDC1〜DC10をD1〜D10端子から得る。データDC1〜DC10で表されるハイレベル設定データDCは、出力信号COUTの「H」部分の数に相当する。この場合の「H」部分の数は、クロックCLKの1周期を基準としたものであり、値「3」のハイレベル設定データDCはクロックCLKの3周期に相当する。この実施の形態では、回路を小規模にするため、各値の関係は、ハイレベル設定データDCの値=分周設定データDBの値−出力信号COUTの「H」部分の数とする。
カウントデータ比較回路2は、Tフリップフロップ121〜1210のQ端子から出力される、2進のカウントデータQ1〜Q10を、C1〜C10端子から得る。なお、カウントデータQ1〜Q10は先の図6に示されている。そして、この実施の形態では、カウントデータ比較回路2は、2進のカウントデータQ1〜Q10で表されるカウント値QDが生成されたときの「H」部分の数と、D1〜D10端子のデータDC1〜DC10で表されるハイレベル設定データDCの値「3」とが一致したところで、O端子に「L」を出力する。こうした動作をするカウントデータ比較回路2には、例えば次のものがある。このカウントデータ比較回路では、2進のカウントデータQ1〜Q10で表されるカウント値QDが値「1」になってからの経過時間とクロックCLKの周期とを比較して、この経過時間に含まれるクロックCLKの数を調べる。そして、経過時間に含まれるクロックCLKの数が「3」である時間は、カウントデータ比較回路2はO端子から「L」のデータC3を出力する。また、カウント値QDと、この経過時間に含まれるクロックCLKの数とが不一致であると、カウントデータ比較回路2は「H」のデータC3を出力する。
また、カウントデータ比較回路2としては、カウント値QDが変化した数がハイレベル設定データDCの値「3」と一致したときに、カウントデータ比較回路2はO端子から「L」のデータC3を出力する。この場合、カウント値QDが「1」に変化して、「6」に変化し、この後、「5」に変化した時点で、つまり、カウント値QDの変化が3つになった時点で、カウントデータ比較回路2は、「L」のデータC3を出力する。そして、カウント値QDが「4」に変化した時点で、カウントデータ比較回路2は「H」のデータC3を出力する。この他にも、カウントデータ比較回路2には各種のものがある。
カウンタ回路の出力作成回路(PG)3は、入力端子としてC端子およびCX端子と、I1端子およびI2端子と、R端子とを備え、出力端子としてQ端子を備えている。出力作成回路3では、Dフリップフロップ141から出力されるデータC2がI1端子に入力され、カウントデータ比較回路2のO端子から出力されるデータC3がI2端子に入力される。また、出力作成回路3では、クロックCLKがC端子に入力され、NOT回路151によるクロックCLKの反転がCX端子に入力される。さらに、出力作成回路3では、クリア信号CLRがR端子に入力される。
出力作成回路3は、クロックCLKに同期して動作し、データC2、C3と、クロックCLKと、クリア信号CLRとにより、出力信号COUTを生成する。つまり、出力作成回路3は、R端子に入力されるクリア信号CLRが「H」であるときに、この他の入力端子に対する入力によらず、常に、Q端子からの出力信号COUTを「L」にする。
また、出力作成回路3は、R端子に入力されるクリア信号CLRが「L」であるときには、次の動作を行う。出力作成回路3は、Dフリップフロップ141から出力されるデータC2の立下りを検出し、この立下りのタイミングつまり立下り時点を出力信号COUTの立上りとする。さらに、出力作成回路3は、カウントデータ比較回路2のO端子から出力されるデータC3の「L」を、クロックCLKの立上りエッジで検出し、この立上りのタイミングつまり立上り時点を出力信号COUTの立下りとする。こうして、出力作成回路3は出力信号COUTを生成する。
次に、この実施の形態によるカウンタ回路の動作について、カウンタ回路の分周設定データDBが値「6」(2進数では「0000000110」)であり、ハイレベル設定データDCが値「3」(2進数では「0000000011」)である場合を例として説明する。これは、出力信号COUTにおいて、「H」期間がクロックCLKの3クロック(3周期)に相当し、「L」期間がクロックCLKの3クロックに相当する。
図3に示すように、クリア信号CLRが「H」のときは、Tフリップフロップ121〜1210にデータロードをするためのデータロード信号LSが「H」となり、カウンタ回路はシフトレジスタ111〜1110からのデータをロードする状態になっている。このため、入力信号としてクロックCLKが入ってきても、カウンタ回路は動作しない。出力信号COUTは「L」を保持する。クリア信号CLRが「L」になると、クロックCLKの立上りエッジで、Tフリップフロップ121〜1210にデータロードをするためのデータロード信号LSは「L」となり、次のクロックCLKの立上りエッジから、カウンタ回路は分周動作を開始する。
Tフリップフロップ121〜1210がクロックCLKによりダウンカウントを行い、カウント値QDをカウントデータQ1〜Q10(カウントデータQ4〜Q10は常に「0」)として出力する。カウント値QDが値「2」になったとき、NAND回路132の端子Oの出力つまりデータC1が「L」となる。
次のクロックCLK(番号「1」のパルス)の立上りエッジで、カウント値QDが「1」となる。さらに、NAND回路132が出力する、「L」のデータC1がDフリップフロップ141のD端子に加えられている。この結果、クロックCLK(番号「1」のパルス)の立上りエッジで、Tフリップフロップ121〜1210にデータロードをするためのデータロード信号LS、つまり、QX端子からの出力を、Dフリップフロップ141が「H」にする。これにより、Tフリップフロップ121〜1210は、分周データDB1〜DB10をロードする。
さらに、クロックCLK(番号「1」のパルス)の立上りエッジで、「L」のデータC1がDフリップフロップ141のD端子に加えられているので、Dフリップフロップ141は、Q端子からの出力、つまり、データC2を「L」にする。これにより、出力作成回路3は、データC2の立下りを検出し、データC2の立下りを出力信号COUTの立上りとする。
次のクロックCLK(番号「2」のパルス)の立ち上がりエッジで、カウント値QDが値「6」になっているので、NOR回路131と共にカウント値QDの値「2」を検出するNAND回路132が「H」のデータC1を出力する。これにより、Dフリップフロップ141は、Q端子からの出力、つまり、データC2を「H」とする。
この後、クロックCLK(番号「3」のパルス)で、カウントデータ比較回路2は次ぎの動作を行う。カウント値QDが値「1」になってからの経過時間に含まれるクロックCLKの数が「3」になると、カウントデータ比較回路2は、データDC1〜DC10で表されるハイレベル設定データDCの値「3」にクロックCLKの数が同じになったことを検出し、O端子から「L」のデータC3を出力する。カウントデータ比較回路2は、経過時間に含まれるクロックCLKの数が「3」である間、O端子から「L」のデータC3を出力する。
次のクロックCLK(番号「4」のパルス)の立上りエッジで、カウントデータ比較回路2は、経過時間に含まれるクロックCLKの数が「4」であるので、O端子から「H」のデータC3を出力する。出力作成回路3は、データC3の立上りを検出し、出力信号COUTの立下りとする。
この後、Tフリップフロップ121〜1210はダウンカウントを続け、カウントデータQ1〜Q10が表すカウント値QDが「2」になったとき、NAND回路132はデータC1を「L」にする。このときの動作については、先に説明した通りである。
このように、カウンタ回路は、分周設定データDBの値「6」に応じて、カウント値QDを「1」、「6」、「5」、…、「2」のようなダウンカウントを行い、出力信号COUTを生成する。このとき、クロックCLKに対して、分周動作するTフリップフロップ121〜1210の段数分だけ遅延が発生するが、データC1を入力とするDフリップフロップ141のQ端子から出力されるデータC2は、クロックCLKに対して、このDフリップフロップ141の1段分の遅延時間a1(ジッタ)になる。つまり、データC2の立下りエッジを出力信号COUTの立上りエッジに用いることで、出力信号COUTは、Dフリップフロップ141の1段分の遅延時間a1(ジッタ)となる。また、データC3の立上りエッジとクロックCLKで作る出力信号COUTの立下りエッジは、Dフリップフロップ141の1段分の遅延時間a1(ジッタ)になる。これらの遅延時間a1(ジッタ)は同期型カウンタと同等のジッタとなる。
また、この実施の形態では、出力信号COUTは、「H」の期間がクロックCLKの3クロック(3周期)であり、「L」の期間がクロックCLKの3クロックである波形、つまり、duty50%の波形であり、非同期型(低消費電力)で同期型と同等な分周波形を生成することができる。また、シリアルデータ(設定データ)の設定によって、出力信号COUTのduty比を変えることもできる。
さらに、この実施の形態によれば、カウンタ回路に対する入力は、
a.シフトレジスタ用クロックSC
b.ロード信号LP
c.設定データDT
d.クロックCLK
e.クリア信号CLR
の5種類である。これらのa〜eの入力は、図4や図7に示す、従来のカウンタと同じである。つまり、この実施の形態によれば、カウンタ回路を各種回路に実装する際に、上記a〜eの入力以外は用いないので、各種回路の変更を不要にすることができる。
a.シフトレジスタ用クロックSC
b.ロード信号LP
c.設定データDT
d.クロックCLK
e.クリア信号CLR
の5種類である。これらのa〜eの入力は、図4や図7に示す、従来のカウンタと同じである。つまり、この実施の形態によれば、カウンタ回路を各種回路に実装する際に、上記a〜eの入力以外は用いないので、各種回路の変更を不要にすることができる。
(実施の形態2)
実施の形態1では、Tフリップフロップ121〜1210の出力カウントデータQ1〜Q10を、カウントデータ比較回路2のC1〜C10端子に入力し、D1〜D10端子に入力される値と一致したところで、O端子に「L」を出力する。この実施の形態では、分周設定データDBを表す分周データDB1〜DB10と、ハイレベル設定データDCを表すデータDC1〜DC10の両方を、カウントデータ比較回路2に入力する。つまり、分周設定データDBが分周数を表し、ハイレベル設定データDCが出力信号COUTの「H」部分の数を表すので、ユーザに対する利便性を向上することができる。なお、この場合はカウントデータ比較回路2に対しては、分周設定データDBとハイレベル設定データDCとカウント値QDとを基にデータC3を生成する演算回路が追加されることになる。
実施の形態1では、Tフリップフロップ121〜1210の出力カウントデータQ1〜Q10を、カウントデータ比較回路2のC1〜C10端子に入力し、D1〜D10端子に入力される値と一致したところで、O端子に「L」を出力する。この実施の形態では、分周設定データDBを表す分周データDB1〜DB10と、ハイレベル設定データDCを表すデータDC1〜DC10の両方を、カウントデータ比較回路2に入力する。つまり、分周設定データDBが分周数を表し、ハイレベル設定データDCが出力信号COUTの「H」部分の数を表すので、ユーザに対する利便性を向上することができる。なお、この場合はカウントデータ比較回路2に対しては、分周設定データDBとハイレベル設定データDCとカウント値QDとを基にデータC3を生成する演算回路が追加されることになる。
11〜110 シフトレジスタ(第2の設定部)
111〜1110 シフトレジスタ(第1の設定部)
2 カウントデータ比較回路(第2の信号作成部)
3 出力作成回路(出力作成部)
121〜1210 Tフリップフロップ(レジスタ部)
131 NOR回路(第1の信号作成部)
132 NAND回路(第1の信号作成部)
141 Dフリップフロップ(第1の信号作成部)
151 NOT回路
111〜1110 シフトレジスタ(第1の設定部)
2 カウントデータ比較回路(第2の信号作成部)
3 出力作成回路(出力作成部)
121〜1210 Tフリップフロップ(レジスタ部)
131 NOR回路(第1の信号作成部)
132 NAND回路(第1の信号作成部)
141 Dフリップフロップ(第1の信号作成部)
151 NOT回路
Claims (3)
- 入力されたパルスをダウンカウントするときの分周数を設定するための第1の設定データを生成する第1の設定部と、
分周結果を表す出力信号のパルス幅を設定するための第2の設定データを生成する第2の設定部と、
ロード信号が入力されると、前記第1の設定部から第1の設定データをロードし、この第1の設定データを基に、入力されたパルスのダウンカウントをするレジスタ部と、
クリア信号が入力されたとき、または、前記レジスタ部でのダウンカウントの値が所定値になったとき、前記第1の設定データをロードするための前記ロード信号を前記レジスタ部に出力する第1の信号作成部と、
分周結果を表す前記出力信号を出力するとき、前記第1の信号作成部がロード信号を出力するタイミングで、この出力信号のパルスの始めとする出力作成部と、
前記第2の設定部が生成した第2の設定データと前記レジスタ部によるダウンカウントの値との比較結果から、このダウンカウントの値が所定値になった後から現時点のダウンカウントの値を得るまでの期間が、この第2の設定データで設定されたパルス幅に該当すると判定すると、レベルが変化するパルス信号を出力する第2の信号作成部と、
を備え、
前記出力作成部は、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、前記出力信号のパルスの終わりとすることを特徴とするカウンタ回路。 - 前記入力されたパルスはクロックであり、
前記出力作成部は、前記第1の信号作成部がロード信号を出力するタイミングで、かつ、前記クロックの立上りで、この出力信号のパルスの始めとし、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、かつ、前記クロックの立上りで、前記出力信号のパルスの終わりとする、
ことを特徴とする請求項1に記載のカウンタ回路。 - 前記出力作成部は、前記出力信号のパルスの立上りを始めとし、前記出力信号のパルスの立下りを終わりとする、
ことを特徴とする請求項2に記載のカウンタ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010176326A JP2012039296A (ja) | 2010-08-05 | 2010-08-05 | カウンタ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010176326A JP2012039296A (ja) | 2010-08-05 | 2010-08-05 | カウンタ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012039296A true JP2012039296A (ja) | 2012-02-23 |
Family
ID=45850815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010176326A Pending JP2012039296A (ja) | 2010-08-05 | 2010-08-05 | カウンタ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012039296A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109391247A (zh) * | 2018-12-10 | 2019-02-26 | 珠海市微半导体有限公司 | 一种基于pwm信号的滤波器、处理电路及芯片 |
-
2010
- 2010-08-05 JP JP2010176326A patent/JP2012039296A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109391247A (zh) * | 2018-12-10 | 2019-02-26 | 珠海市微半导体有限公司 | 一种基于pwm信号的滤波器、处理电路及芯片 |
CN109391247B (zh) * | 2018-12-10 | 2024-05-03 | 珠海一微半导体股份有限公司 | 一种基于pwm信号的滤波器、处理电路及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5401180B2 (ja) | ディジタルノイズフィルタ回路 | |
JP6034153B2 (ja) | 乱数生成回路 | |
US7889581B2 (en) | Digital DLL circuit | |
JP5097573B2 (ja) | 分周回路 | |
US8253449B2 (en) | Clock switch circuit and clock switch method of the same | |
JP4111932B2 (ja) | クロック分周器とそのトリガ信号発生回路 | |
WO2010004747A1 (ja) | 多相クロック分周回路 | |
KR101406087B1 (ko) | 분주기 및 분주기의 분주 방법 | |
US9590637B1 (en) | High-speed programmable frequency divider with 50% output duty cycle | |
JP2012039296A (ja) | カウンタ回路 | |
JP6344979B2 (ja) | 可変分周回路 | |
JP2005045507A (ja) | 非整数分周器 | |
JP2006157849A (ja) | 分周回路及びそれを具備した半導体集積回路 | |
US7924966B2 (en) | Symmetry corrected high frequency digital divider | |
JP4666462B2 (ja) | カウンタ回路と、それを含む半導体装置 | |
JP5900053B2 (ja) | クロック切替回路 | |
US7403074B2 (en) | Oscillator | |
KR101418519B1 (ko) | 분주기 및 분주기의 분주 방법 | |
JP2009112184A (ja) | スイッチング電源装置 | |
JP4718387B2 (ja) | 周波数比較回路、pll周波数シンセサイザテスト回路及びそのテスト方法 | |
JP4321432B2 (ja) | クロック信号出力回路 | |
JP2009253722A (ja) | パラレル/シリアル変換回路 | |
JP2006295320A (ja) | 逓倍クロック信号出力回路 | |
JP6254465B2 (ja) | 分周クロック生成回路 | |
JP2009171206A (ja) | ばらつき調整回路 |