JP2012039296A - カウンタ回路 - Google Patents

カウンタ回路 Download PDF

Info

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
Application number
JP2010176326A
Other languages
English (en)
Inventor
Masahiko Egawa
政彦 江川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Radio Co Ltd
Original Assignee
Japan Radio Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Radio Co Ltd filed Critical Japan Radio Co Ltd
Priority to JP2010176326A priority Critical patent/JP2012039296A/ja
Publication of JP2012039296A publication Critical patent/JP2012039296A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Pulse Circuits (AREA)

Abstract

【課題】 ジッタが同期型カウンタと同等であり、出力信号の出力波のパルス幅を変えることを可能にするカウンタ回路を提供する。
【解決手段】 分周設定データDBを生成するシフトレジスタ11〜1110と、信号COUTのパルス幅を決めるためのデータDCを生成するシフトレジスタ1〜110と、信号LSが入力されるとデータDBをロードし、このデータを基にダウンカウントをするレジスタ部と、ダウンカウントの値が所定値になったときなどに、信号LSを出力する第1の信号作成部と、信号COUTを出力するとき、信号LSが出力されるタイミングで、信号COUTのパルスの始めとする出力作成回路3と、データDCとカウント値Qとの比較結果から、カウント値Qが所定値になった後から現時点の値Qを得るまでの期間が、決められたパルス幅に該当すると、パルス信号を出力する比較回路2とを備え、出力作成回路3は、パルス信号の変化を検出すると、出力信号COUTのパルスの終わりとする。
【選択図】 図1

Description

この発明は、カウンタ回路に関し、詳しくは、非同期式カウンタ回路に関する。
カウンタはパルス数を計測する回路であるが、見方を変えればカウンタの動作クロックの分周を行っているとも言える。カウンタにはクロックに同期して動作する同期式カウンタがある。同期式カウンタは、例えばAD/DAコンバータの動作クロック生成に用いられている。同期式カウンタの動作クロックの立上り、立下りの両エッジを用いて動作する場合は、Duty50%(デュティ比50%)が最も高速にAD/DAコンバータを動作できる。一般的に、高機能な回路に用いる場合は、同期式カウンタを用いる。一方、カウンタには、クロックとは非同期で動作する非同期式カウンタがある(例えば、特許文献1参照。)。非同期式カウンタは同期式カウンタに比べて消費電力が少ない、という特徴がある。
こうした非同期式カウンタの一例を図4に示す。このカウンタは、データ設定付き非同期式10bitダウンカウンタである。ダウンカウンタは1bitシフトレジスタ(SREG)11〜1110(以下、「シフトレジスタ11〜1110」という)を備えている。前段の1bitシフトレジスタのQ端子と、次段の1bitシフトレジスタのD端子とが接続されている。つまり、シフトレジスタ11〜1110がシリアルに接続されている。これにより、10段のシフトレジスタ11〜1110で10bit(ビット)のシフトレジスタが構成されている。
シフトレジスタ11〜1110は、CK端子に入力されるシフトレジスタ用クロックSCの立上りエッジで、D端子に入力される設定データDTをQ端子からデータSD1〜SD10として出力する。シフトレジスタ11〜1110は、L端子に入力されるロード信号LPが「H」(ハイレベル)のとき、Q端子のデータSD1〜SD10をO端子にそれぞれ出力する。なお、ロード信号LPは、「H」でO端子にデータを出力するための信号である。シフトレジスタ11〜1110のL端子が「L」(ローレベル)のとき、シフトレジスタ11〜1110はO端子から出力されるデータを保持する。
ここで、10段のシフトレジスタ11〜1110で構成される10bitのシフトレジスタの動作について、図5を用いて説明する。設定データDTはシリアルデータであり、シフトレジスタ用クロックSCの立上りエッジで、シフトレジスタ11〜1110はシリアルデータをシフトする。シフトレジスタ11〜1110にデータが揃ったところで、シフトレジスタ11〜1110はロード信号LPにより分周データDB1〜DB10を出力する。図5のチャートでは、分周データDB1〜DB10は2進数の「0000000110」(2進数が分周データDB1〜DB10と一致するが、分周データDB1が最下位bit)であり、分周設定データDBは分周データDB1〜DB10で表される値「6」である。そして、図5は、これらの値による動作例を示す。
シフトレジスタ11〜1110では、シフトレジスタ用クロックSCの立上りエッジで、設定データDTがデータSD1として送られる。つまり、データの送りは、
設定データDT→データSD1→データSD2→データSD3→…→データSD10
である。ロード信号LPが「H」のとき、シフトレジスタ11〜1110のO端子からは、データSD1が分周データDB1として出力され、データSD2が分周データDB2として出力され、データSD3が分周データDB3として出力され、というようになる。
非同期式10bitダウンカウンタはデータロード付きTフリップフロップ(TFFL)12〜1210(以下、「Tフリップフロップ12〜1210」という)を備えている。前段のTフリップフロップのQ端子およびQX端子が次段のTフリップフロップのC端子およびCX端子にそれぞれ接続されている。これにより、10段のTフリップフロップ12〜1210がシリアルに接続されている。Tフリップフロップ12〜1210のそれぞれは、カウンタの1bitに相当し(左が下位bit)、初段のTフリップフロップ12のC端子(CX端子はC端子の反転)はクロックCLKの入力用である。つまり、Tフリップフロップ12〜1210は、クロックCLKを入力とし、クロックCLKをダウンカウント(分周)する。
Tフリップフロップ12〜1210は、クロックCLKの立上りエッジにより、Q端子(QX端子はQ端子の反転)から出力されるデータが反転する。Tフリップフロップ12〜1210のPI端子は分周データDB1〜DB10の入力用である。そして、L端子が「H」のとき、Tフリップフロップ12〜1210はPI端子のデータをロードする。L端子が「L」のときは、Tフリップフロップ12〜1210は通常のTフリップフロップ(TFF)としての動作を行う。
非同期式10bitダウンカウンタは、8入力NOR回路(NR8)13(以下、「NOR回路13」という)と、2入力NAND回路(ND2)13(以下、「NAND回路13」という)とを備えている。NOR回路13のI1端子〜I8端子には、Tフリップフロップ1210〜12のQ端子からのカウントデータQ10〜データQ3が入力される。NAND回路13のI1端子には、NOR回路13の演算結果を表す、O端子からの出力が入力され、I2端子には、Tフリップフロップ12のQX端子の出力が入力される。NOR回路13とNAND回路13とは、ダウンカウンタのカウント値Q(2進数がカウントデータQ1〜Q10と一致するがカウントデータQ1が最下位bit)が値「2」(2進数で「0000000010」)になることを検出する。そして、このときに、NAND回路13はO端子から出力するデータを「L」にする。
非同期式10bitダウンカウンタはリセット付Dフリップフロップ(DFF)14(以下、「Dフリップフロップ14」という)を備えている。Dフリップフロップ14は、入力端子としてD端子、C端子、CX端子およびI端子を備え、出力端子としてQ端子とQX端子とを備えている。そして、クロックCLKがC端子に入力され、クロックCLKの反転がCX端子に入力されている。また、NAND回路13のO端子からの出力がD端子に入力され、クリア信号CLRがI端子に入力されている。
Dフリップフロップ14はクロックCLKに同期して動作し、Dフリップフロップ14のI端子に入力されるクリア信号CLRが「H」のときに、Dフリップフロップ14のQ端子(QX端子はQ端子の反転)の出力が「L」になる。Dフリップフロップ14のC端子(CX端子はC端子の反転)はクロックCLKの入力用であり、クロックCLKの立上りエッジにより、Dフリップフロップ14はD端子からデータをQ端子に出力する。クリア信号CLRが「L」であるときに、NAND回路13のO端子からの出力の「L」により、Dフリップフロップ14は、Tフリップフロップ12〜1210にデータロードをするための、「H」のデータロード信号LSを生成して、QX端子から出力する。
非同期式10bitダウンカウンタはNOT回路(INV)15、15を備えている。NOT回路15はクロックCLKを反転して出力し、NOT回路15はNAND回路13のO端子からの出力を反転し、出力信号COUTとする。
次に、データ設定付き非同期式10bitダウンカウンタの動作について説明する。このダウンカウンタの分周設定データDBは、図6に示すように、分周データDB1〜DB10の「0000000110」により値「6」である。クリア信号CLRが「H」のときは、Tフリップフロップ12〜1210にデータロードをするための、Dフリップフロップ14から出力されるデータロード信号LSが「H」である。これにより、Tフリップフロップ12〜1210から成るカウンタは、シフトレジスタ11〜1110からのデータを得るデータロード状態になっているため、入力信号であるクロックCLKが入ってきても動作しない。この状態のときのNOT回路15からの出力信号COUTは「L」を保持する。
クリア信号CLRが「L」になると、クロックCLKの立上りエッジでデータロード信号LSは「L」となる。これにより、次のクロックCLKの立上りエッジから、カウンタは分周動作を開始する。Tフリップフロップ12〜1210がクロックCLKによりダウンカウントを行い、カウント結果を2進のカウントデータQ1〜Q10(カウントデータQ4〜Q10は常に「0」)として出力する。2進のカウントデータQ1〜Q10で表されるカウント値Qが値「2」になったとき、NAND回路13の端子Oの出力が「L」となり、NOT回路15がこの出力を反転し、出力信号COUTが「H」になる。
次のクロックCLK(番号「1」のパルス)の立上りエッジで、カウント値Qが値「1」となり、出力信号COUTは「L」となる。さらに、Tフリップフロップ12〜1210にデータロードをするためのデータロード信号LSを、Dフリップフロップ14が「H」にするために、Tフリップフロップ12〜1210はデータDBをロードし(カウント値Qは値「6」)、次のクロックCLK(番号「2」のパルス)の立上りエッジでDフリップフロップ14がデータロード信号LSを「L」とする。さらに、次のクロックCLK(番号「3」のパルス)の立上りエッジから、カウンタは分周動作(ダウンカウント)を繰り返す。出力信号COUTのパルスの1周期は、クロックCLKのパルス6個(番号「1」〜「6」のパルス)であり、分周設定データDBの値「6」でクロックCLKが分周されている。
しかし、データ設定付き非同期式10bitダウンカウンタには、次の問題点がある。つまり、クロックCLKに対して、カウントデータQ1はTフリップフロップの1段分として時間a21だけ遅延する。1段分の遅延には、波形の揺らぎ(ジッタ)がある。カウントデータQ1をクロックとして動作する次段のTフリップフロップ12が出力するカウントデータQ2は、さらに時間a22だけ遅延し、ジッタが加算される。同様にして、カウントデータQ2をクロックとして動作する次段のTフリップフロップ12のカウントデータQ3は、さらに時間a23だけ遅延し、ジッタが加算される。
この結果、出力信号COUTは、分周動作するTフリップフロップ(TFFL)の段数分だけ、つまり時間a20だけ遅延し、ジッタが加算される、という問題がデータ設定付き非同期式10bitダウンカウンタにはある。
こうした問題点に対して、ジッタ対応型のデータ設定付き非同期10bitダウンカウンタがある。このダウンカウンタを図7に示す。図7では、10段のシフトレジスタ11〜1110と、10段のTフリップフロップ12〜1210と、NOR回路13と、NAND回路13と、Dフリップフロップ14と、NOT回路15、15とは、図4の非同期カウンタと同じ構成であり、動作も同じであるので、これらの説明を省略する。
図7のダウンカウンタには、リセット付Dフリップフロップ(DFF)16(以下、「Dフリップフロップ16」という)と、NOT回路(INV)16と、2入力NAND回路(ND2)16(以下、「NAND回路16」という)が付け加えられている。
また、図7のダウンカウンタでは、Dフリップフロップ14を次のようにして用いている。Dフリップフロップ14のI端子が「H」のときに、Q端子(QX端子はQ端子の反転)の出力が「L」になる。この出力は、NOT回路16を経て、Dフリップフロップ16のD端子に加えられている。なお、図4と同様に、クリア信号CLRが「L」であるときに、NAND回路13のO端子から出力されるデータC41の「L」により、Dフリップフロップ14は、Tフリップフロップ12〜1210にデータロードをするための、「H」のデータロード信号LSを生成する。
Dフリップフロップ16は、リセット付Dフリップフロップ(DFF)であり、入力端子としてD端子、C端子、CX端子およびI端子を備え、出力端子としてQ端子とQX端子とを備えている。Dフリップフロップ16はクロックCLKに同期して動作し、I端子に入力されるクリア信号CLRが「H」のときに、Q端子(QX端子はQ端子の反転)の出力が「L」になる。C端子(CX端子はC端子の反転)は、クロックCLKの入力用であり、クロックCLKの立上りエッジにより、D端子に入力されるデータC42をQ端子から出力する。Dフリップフロップ16は、Dフリップフロップ14のQ端子の出力をNOT回路16で反転して得たデータC42を、D端子に入力するデータとしている。そして、Dフリップフロップ16は、このデータC42をQX端子からデータC43として出力する。
NAND回路16はNOT回路15と共に、データC42とデータC43とのAND論理の演算で得たデータを、出力信号COUTとして生成する。
次に、ジッタ対応型のデータ設定付き非同期式10bitダウンカウンタの動作について説明する。このダウンカウンタの分周設定データDBは、図8に示すように、「0000000110」の分周データDB1〜DB10により値「6」である。クリア信号CLRが「H」のときは、Tフリップフロップ12〜1210にデータロードをするための、Dフリップフロップ14から出力されるデータロード信号LSが「H」である。これにより、Tフリップフロップ12〜1210から成るカウンタは、シフトレジスタ11〜1110からデータを得るデータロード状態になっているため、入力信号であるクロックCLKが入ってきても動作しない。この状態のときの、NOT回路15からの出力信号COUTは「L」を保持する。
クリア信号CLRが「L」になると、クロックCLKの立上りエッジでデータロード信号LSは「L」となる。これにより、次のクロックCLKの立上りエッジから、カウンタは分周動作を開始する。Tフリップフロップ12〜1210がクロックCLKによりダウンカウントを行い、カウント値QをカウントデータQ1〜Q10(カウントデータQ4〜Q10は常に「0」)として出力する。カウント値Qが値「2」になったとき、NAND回路13の端子Oの出力つまりデータC41が「L」となる。
次のクロックCLK(番号「1」のパルス)の立上りエッジで、カウント値Qが値「1」となり、NAND回路13からのデータC41は「L」である。これにより、Dフリップフロップ14が、データロードをするためのデータロード信号LSを「H」とするため、Tフリップフロップ12〜1210はデータ分周データDB1〜DB10(カウント値Qの値「6」)をロードし、NAND回路16はデータC42を「H」とする。Dフリップフロップ16は、データC42を基に出力するデータC43を「H」にする。そして、データC42とデータC43とを基にした、NAND回路16とNOT回路15とによるAND論理の演算で、データC42の立上りで「H」となる出力信号COUTが生成される。
次のクロックCLK(番号「2」のパルス)の立上りエッジで、NAND回路13が出力するデータC41が「H」であるので、Dフリップフロップ14はデータロードをするためのデータロード信号LSを「L」とし、NOT回路16は出力するデータC42を「L」とする。Dフリップフロップ16は、データC42を基に出力するデータC43を「L」にする。そして、データC42とデータC43とを基にした、NAND回路16とNOT回路15とによるAND論理の演算で、データC43の立下りで「L」となる出力信号COUTが生成される。
こうして生成される出力信号COUTの1周期は、クロックCLKの6パルス(例えば番号「1」〜「6」のパルス)であり、分周設定データDBの値「6」に分周されている。
同時に、クロックCLKに対して、分周動作するTフリップフロップ12〜1210の段数分だけ遅延しているが、データC41を入力するDフリップフロップ14のQ端子から出力されて反転されるデータC42は、クロックCLKに対して、Dフリップフロップ14の1段分の遅延(ジッタ)つまり時間a1の遅延になる。同じように、データC42を入力するDフリップフロップ16のQX端子から出力されるデータC43は、クロックCLKに対して、Dフリップフロップ16の1段分の遅延(ジッタ)つまり時間a1の遅延になる。出力信号COUTは、NAND回路16により、データC42の立上りでのジッタa1と、データC43での立下りでのジッタa1とが加算され、同期型のダウンカウンタと同等のジッタになる。
特開平8−84070号公報
先に述べたジッタ対応型のデータ設定付き非同期式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ダウンカウンタの一例を示す回路図である。 シフトレジスタの動作を説明するためのチャートである。 データ設定付き非同期式10bitダウンカウンタの動作を説明するためのチャートである。 従来のジッタ対応型のデータ設定付き非同期式10bitダウンカウンタの一例を示す回路図である。 ジッタ対応型のデータ設定付き非同期式10bitダウンカウンタの動作を説明するためのチャートである。
次に、この発明の実施の形態について、図面を用いて詳しく説明する。
(実施の形態1)
この実施の形態によるカウンタ回路を図1に示す。この実施の形態によるカウンタ回路は、データ設定付き非同期10bitダウンカウンタである。このカウンタ回路は、シフトレジスタ(SREG)11〜1110、Tフリップフロップ(TFFL)12〜1210、NOR回路(NR8)13、NAND回路(ND2)13、Dフリップフロップ(DFF)14およびNOT回路(INV)15を備えている。さらに、カウンタ回路は、シフトレジスタ(SREG)1〜110と、カウントデータ比較回路(COMP)2と、出力作成回路(PG)3とを備えている。なお、この実施の形態では、先に説明した図4および図7のデータ設定付き非同期式10bitダウンカウンタと同一もしくは同一と見なされる構成要素には、それと同じ参照符号を付けて、その説明を省略する。
カウンタ回路のシフトレジスタ1〜110は、1bitシフトレジスタである。前段の1bitシフトレジスタのQ端子と、次段の1bitシフトレジスタのD端子とが接続されている。さらに、シフトレジスタ1のD端子がシフトレジスタ110のQ端子に接続されている。こうした接続により、シフトレジスタ1〜110とシフトレジスタ11〜1110とは、20bitのシフトレジスタを構成している。なお、シフトレジスタの接続方法はシリーズに接続されていればよく、図1はその一例である。シフトレジスタ1〜110は、シフトレジスタ11〜1110と同様に、CK端子に入力されるシフトレジスタ用クロックSCの立上りエッジで、D端子に入力されるデータをQ端子から出力する。シフトレジスタ1〜110のL端子に入力されるロード信号LPが「H」(ハイレベル)のとき、シフトレジスタ1〜110はQ端子のデータをO端子に出力する。L端子が「L」(ローレベル)であるとき、シフトレジスタ1〜110はO端子から出力されるデータを保持する。
ここで、シフトレジスタ11〜1110とシフトレジスタ1〜110とで構成される20bitのシフトレジスタの動作について、図2を用いて説明する。設定データDTは、シリアルデータであり、所定の間隔で「H」になる。設定データDTにより、分周設定データDBの値とハイレベル設定データDCの値とが変化する。つまり、設定データDTが「H」である期間と、設定データDTの「H」と次ぎの「H」までの期間とを調整することで、分周設定データDBの値とハイレベル設定データDCの値とを変えることができる。こうした設定データDTがシフトレジスタに入力されると、20bitシフトレジスタは、シフトレジスタ用クロックSCの立上りエッジで、シリアルデータをシフトしていく。この様子については、先の図5に示されている。なお、図2では、データSD1とデータSD19とを例示し、他のデータは省略している。
20bitシフトレジスタにデータが揃ったところで、このシフトレジスタは、ロード信号LPにより、シフトレジスタ11〜1110のO端子から分周データDB1〜DB10を出力し、シフトレジスタ110〜1の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として出力されるまで同様である。
カウンタ回路では、先に述べたように、Tフリップフロップ(TFFL)12〜1210、NAND回路(ND2)13、NOR回路(NR8)13、Dフリップフロップ(DFF)14は、図7と同じ構成であり、動作も同じである。
カウンタ回路のカウントデータ比較回路(COMP)2は、入力端子としてC1〜C10端子とD1〜D10端子とを備え、出力端子としてO端子を備えている。カウントデータ比較回路2は、シフトレジスタ110〜1からのデータDC1〜DC10をD1〜D10端子から得る。データDC1〜DC10で表されるハイレベル設定データDCは、出力信号COUTの「H」部分の数に相当する。この場合の「H」部分の数は、クロックCLKの1周期を基準としたものであり、値「3」のハイレベル設定データDCはクロックCLKの3周期に相当する。この実施の形態では、回路を小規模にするため、各値の関係は、ハイレベル設定データDCの値=分周設定データDBの値−出力信号COUTの「H」部分の数とする。
カウントデータ比較回路2は、Tフリップフロップ12〜1210のQ端子から出力される、2進のカウントデータQ1〜Q10を、C1〜C10端子から得る。なお、カウントデータQ1〜Q10は先の図6に示されている。そして、この実施の形態では、カウントデータ比較回路2は、2進のカウントデータQ1〜Q10で表されるカウント値Qが生成されたときの「H」部分の数と、D1〜D10端子のデータDC1〜DC10で表されるハイレベル設定データDCの値「3」とが一致したところで、O端子に「L」を出力する。こうした動作をするカウントデータ比較回路2には、例えば次のものがある。このカウントデータ比較回路では、2進のカウントデータQ1〜Q10で表されるカウント値Qが値「1」になってからの経過時間とクロックCLKの周期とを比較して、この経過時間に含まれるクロックCLKの数を調べる。そして、経過時間に含まれるクロックCLKの数が「3」である時間は、カウントデータ比較回路2はO端子から「L」のデータC3を出力する。また、カウント値Qと、この経過時間に含まれるクロックCLKの数とが不一致であると、カウントデータ比較回路2は「H」のデータC3を出力する。
また、カウントデータ比較回路2としては、カウント値Qが変化した数がハイレベル設定データDCの値「3」と一致したときに、カウントデータ比較回路2はO端子から「L」のデータC3を出力する。この場合、カウント値Qが「1」に変化して、「6」に変化し、この後、「5」に変化した時点で、つまり、カウント値Qの変化が3つになった時点で、カウントデータ比較回路2は、「L」のデータC3を出力する。そして、カウント値Qが「4」に変化した時点で、カウントデータ比較回路2は「H」のデータC3を出力する。この他にも、カウントデータ比較回路2には各種のものがある。
カウンタ回路の出力作成回路(PG)3は、入力端子としてC端子およびCX端子と、I1端子およびI2端子と、R端子とを備え、出力端子としてQ端子を備えている。出力作成回路3では、Dフリップフロップ14から出力されるデータC2がI1端子に入力され、カウントデータ比較回路2のO端子から出力されるデータC3がI2端子に入力される。また、出力作成回路3では、クロックCLKがC端子に入力され、NOT回路15によるクロック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フリップフロップ14から出力されるデータ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フリップフロップ12〜1210にデータロードをするためのデータロード信号LSが「H」となり、カウンタ回路はシフトレジスタ11〜1110からのデータをロードする状態になっている。このため、入力信号としてクロックCLKが入ってきても、カウンタ回路は動作しない。出力信号COUTは「L」を保持する。クリア信号CLRが「L」になると、クロックCLKの立上りエッジで、Tフリップフロップ12〜1210にデータロードをするためのデータロード信号LSは「L」となり、次のクロックCLKの立上りエッジから、カウンタ回路は分周動作を開始する。
Tフリップフロップ12〜1210がクロックCLKによりダウンカウントを行い、カウント値QをカウントデータQ1〜Q10(カウントデータQ4〜Q10は常に「0」)として出力する。カウント値Qが値「2」になったとき、NAND回路13の端子Oの出力つまりデータC1が「L」となる。
次のクロックCLK(番号「1」のパルス)の立上りエッジで、カウント値Qが「1」となる。さらに、NAND回路13が出力する、「L」のデータC1がDフリップフロップ14のD端子に加えられている。この結果、クロックCLK(番号「1」のパルス)の立上りエッジで、Tフリップフロップ12〜1210にデータロードをするためのデータロード信号LS、つまり、QX端子からの出力を、Dフリップフロップ14が「H」にする。これにより、Tフリップフロップ12〜1210は、分周データDB1〜DB10をロードする。
さらに、クロックCLK(番号「1」のパルス)の立上りエッジで、「L」のデータC1がDフリップフロップ14のD端子に加えられているので、Dフリップフロップ14は、Q端子からの出力、つまり、データC2を「L」にする。これにより、出力作成回路3は、データC2の立下りを検出し、データC2の立下りを出力信号COUTの立上りとする。
次のクロックCLK(番号「2」のパルス)の立ち上がりエッジで、カウント値Qが値「6」になっているので、NOR回路13と共にカウント値Qの値「2」を検出するNAND回路13が「H」のデータC1を出力する。これにより、Dフリップフロップ14は、Q端子からの出力、つまり、データC2を「H」とする。
この後、クロックCLK(番号「3」のパルス)で、カウントデータ比較回路2は次ぎの動作を行う。カウント値Qが値「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フリップフロップ12〜1210はダウンカウントを続け、カウントデータQ1〜Q10が表すカウント値Qが「2」になったとき、NAND回路13はデータC1を「L」にする。このときの動作については、先に説明した通りである。
このように、カウンタ回路は、分周設定データDBの値「6」に応じて、カウント値Qを「1」、「6」、「5」、…、「2」のようなダウンカウントを行い、出力信号COUTを生成する。このとき、クロックCLKに対して、分周動作するTフリップフロップ12〜1210の段数分だけ遅延が発生するが、データC1を入力とするDフリップフロップ14のQ端子から出力されるデータC2は、クロックCLKに対して、このDフリップフロップ14の1段分の遅延時間a1(ジッタ)になる。つまり、データC2の立下りエッジを出力信号COUTの立上りエッジに用いることで、出力信号COUTは、Dフリップフロップ14の1段分の遅延時間a1(ジッタ)となる。また、データC3の立上りエッジとクロックCLKで作る出力信号COUTの立下りエッジは、Dフリップフロップ14の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の入力以外は用いないので、各種回路の変更を不要にすることができる。
(実施の形態2)
実施の形態1では、Tフリップフロップ12〜1210の出力カウントデータQ1〜Q10を、カウントデータ比較回路2のC1〜C10端子に入力し、D1〜D10端子に入力される値と一致したところで、O端子に「L」を出力する。この実施の形態では、分周設定データDBを表す分周データDB1〜DB10と、ハイレベル設定データDCを表すデータDC1〜DC10の両方を、カウントデータ比較回路2に入力する。つまり、分周設定データDBが分周数を表し、ハイレベル設定データDCが出力信号COUTの「H」部分の数を表すので、ユーザに対する利便性を向上することができる。なお、この場合はカウントデータ比較回路2に対しては、分周設定データDBとハイレベル設定データDCとカウント値Qとを基にデータC3を生成する演算回路が追加されることになる。
〜110 シフトレジスタ(第2の設定部)
11〜1110 シフトレジスタ(第1の設定部)
2 カウントデータ比較回路(第2の信号作成部)
3 出力作成回路(出力作成部)
12〜1210 Tフリップフロップ(レジスタ部)
13 NOR回路(第1の信号作成部)
13 NAND回路(第1の信号作成部)
14 Dフリップフロップ(第1の信号作成部)
15 NOT回路

Claims (3)

  1. 入力されたパルスをダウンカウントするときの分周数を設定するための第1の設定データを生成する第1の設定部と、
    分周結果を表す出力信号のパルス幅を設定するための第2の設定データを生成する第2の設定部と、
    ロード信号が入力されると、前記第1の設定部から第1の設定データをロードし、この第1の設定データを基に、入力されたパルスのダウンカウントをするレジスタ部と、
    クリア信号が入力されたとき、または、前記レジスタ部でのダウンカウントの値が所定値になったとき、前記第1の設定データをロードするための前記ロード信号を前記レジスタ部に出力する第1の信号作成部と、
    分周結果を表す前記出力信号を出力するとき、前記第1の信号作成部がロード信号を出力するタイミングで、この出力信号のパルスの始めとする出力作成部と、
    前記第2の設定部が生成した第2の設定データと前記レジスタ部によるダウンカウントの値との比較結果から、このダウンカウントの値が所定値になった後から現時点のダウンカウントの値を得るまでの期間が、この第2の設定データで設定されたパルス幅に該当すると判定すると、レベルが変化するパルス信号を出力する第2の信号作成部と、
    を備え、
    前記出力作成部は、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、前記出力信号のパルスの終わりとすることを特徴とするカウンタ回路。
  2. 前記入力されたパルスはクロックであり、
    前記出力作成部は、前記第1の信号作成部がロード信号を出力するタイミングで、かつ、前記クロックの立上りで、この出力信号のパルスの始めとし、第2の信号作成部が出力するパルス信号の変化を検出したタイミングで、かつ、前記クロックの立上りで、前記出力信号のパルスの終わりとする、
    ことを特徴とする請求項1に記載のカウンタ回路。
  3. 前記出力作成部は、前記出力信号のパルスの立上りを始めとし、前記出力信号のパルスの立下りを終わりとする、
    ことを特徴とする請求項2に記載のカウンタ回路。
JP2010176326A 2010-08-05 2010-08-05 カウンタ回路 Pending JP2012039296A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391247A (zh) * 2018-12-10 2019-02-26 珠海市微半导体有限公司 一种基于pwm信号的滤波器、处理电路及芯片

Cited By (2)

* Cited by examiner, † Cited by third party
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) ばらつき調整回路