(57)【要約】【課題】分周数ｎを設定してクロックの分周数を切り替えるとき、出力される２ｎ分周クロックのデューティを保証する。【解決手段】記憶装置１０１に設定された分周数ｎをｎビットデコード回路１０３でｎビットにデコードする。ｎビットアップカウンタ１０４は、デコードされた分周数ｎを設定前の２ｎ分周したクロックの立上がりで初期値として取り込み、この初期値から基準クロックを＋１ずつカウントする。カウント結果出力から前記設定された分周数ｎに対応する２ｎ分周クロックを２ｎ分周クロック選択回路１０５により選択して出力する。【選択図】　図１
2004064183.tif 000002
【特許請求の範囲】
【請求項１】
分周数ｎを設定すると基準クロックを２ｎ分周した分周クロックを出力する２ｎ分周回路において、
前記設定された分周数ｎをｎビットにデコードするデコード手段と、
前記デコード手段によってｎビットにデコードされた分周数ｎを初期値として所定のタイミングで取り込み、この初期値から前記基準クロックを＋１ずつカウントするカウント手段と、
前記カウント手段の出力から前記設定された分周数ｎに対応する２ｎ分周クロックを選択して出力する選択手段と、
を具備することを特徴とする２ｎ分周回路。
【請求項２】
前記カウント手段は、前記選択手段の分周数ｎの設定前の出力である２ｎ分周クロックの立上がりで前記分周数ｎのｎビットデコード結果を初期値として取込むことを特徴とする請求項１に記載の２ｎ分周回路。
【請求項３】
前記設定された分周数ｎを前記基準クロックに同期させて前記デコード手段に出力する同期化手段を具備することを特徴とする請求項１または２に記載の２ｎ分周回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、基準クロックを２ｎ分周して２ｎ分周クロックを生成する２ｎ分周回路に関する。
【０００２】
【従来の技術】
従来、基準クロックを２ｎ分周して２ｎ分周クロックを生成する分周回路では、２ｎ分周クロックの分周数ｎを変更する方法として、ＣＰＵやＤＳＰ等のプロセッサから設定する方法があった。この設定方法では、分周数ｎを設定・変更すると、出力の２ｎ分周クロックに分周数ｎが直ちに反映される構成となっていた。
【０００３】
図５は、従来の２ｎ　分周回路の基本構成について表したものである。分周前の基準クロック１００はｎビットアップカウンタ５０３で＋１ずつカウントアップされる。ｎビットアップカウンタ５０３の出力信号は各ビットがそれぞれ２ｎ分周クロック２００となり、２ｎ分周クロック選択回路５０３に出力される。なお、このｎビットアップカウンタ５０３はフリーランでカウントするカウンタである。
【０００４】
図示しないＣＰＵやＤＳＰ等のプロセッサから設定する分周数ｎは、まず分周数ｎの記憶装置（レジスタ）５０１に一時的に保存され、２ｎ分周クロック選択回路５０２へ入力される。２ｎ分周クロック選択回路５０２は、記憶装置５０１から入力された分周数ｎに該当するクロックを、ｎビットアップカウンタ５０３から出力される２〜２ｎ分周クロック２００の中から選択し、これを２ｎ分周クロック３００として出力する。
【０００５】
以上のように、ＣＰＵやＤＳＰ等のプロセッサから設定される分周数ｎに対応したクロックを、分周前の基準クロック１００をカウントしているｎビットアップカウンタ５０３の出力から選択するとともに、分周数が０のときは分周前の基準クロック１００をそのまま選択して出力することによって、２ｎ分周クロックの制御を行う。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来の２ｎ分周回路においては、ＣＰＵやＤＳＰ等のプロセッサから分周数ｎが設定されると、２ｎ分周クロック選択回路５０３は直ぐに該当のクロックを選択して出力するため、出力される２ｎ分周クロック３００が直ぐに切り替わる構成となっている。このため、分周数ｎが設定されるときに出力される２ｎ分周クロック３００のデューティを保証することができず、２ｎ分周クロック３００の分周数ｎが変更される際に、切り替えタイミングによっては、正しいデューティのクロックでなくなり、このクロックを用いて動作する回路が誤動作をする可能性があるという問題点がある。
【０００７】
本発明は上記従来の問題点を解決するもので、分周数ｎを設定してクロックの分周数を切り替えるとき、出力される２ｎ分周クロックのデューティを保証することができる２ｎ分周回路を提供することを目的とするものである。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の発明は、分周数ｎを設定すると基準クロックを２ｎ分周した分周クロックを出力する２ｎ分周回路において、前記設定された分周数ｎをｎビットにデコードするデコード手段と、前記デコード手段によってｎビットにデコードされた分周数ｎを初期値として所定のタイミングで取り込み、この初期値から前記基準クロックを＋１ずつカウントするカウント手段と、前記カウント手段の出力から前記設定された分周数ｎに対応する２ｎ分周クロックを選択して出力する選択手段と、を具備することを特徴とする。
【０００９】
上記構成によれば、ＣＰＵやＤＳＰ等のプロセッサから設定された分周数ｎをｎビットに変換した後、分周数ｎを初期値として所定のタイミングで取り込ませることにより、分周数ｎを設定変更してクロックの分周数を切り替えるとき、出力される２ｎ分周クロックのデューティを、ＣＰＵやＤＳＰ等のプロセッサから設定タイミングに拘らず保証することができる。
【００１０】
請求項２記載の発明は、請求項１記載の２ｎ分周回路において、前記カウント手段は、前記選択手段の分周数ｎの設定前の出力である２ｎ分周クロックの立上がりで前記分周数ｎのｎビットデコード結果を初期値として取込むことを特徴とする。
【００１１】
上記構成によれば、基準クロックを２ｎ分周したクロックの立上がりで設定された分周数ｎのｎビットデコード結果を初期値としてカウント手段に取込むことにより、２ｎ分周クロックの立上がりでカウント手段のカウント値が変更されるので、カウント手段のカウント結果の分周数に対応する２ｎ分周クロックのデューティを分周数ｎの設定タイミングに拘らず保証することができる。
【００１２】
請求項３記載の発明は、請求項１または２記載の２ｎ分周回路において、前記設定された分周数ｎを前記基準クロックに同期させて前記デコード手段に出力する同期化手段を具備することを特徴とする。
【００１３】
上記構成によれば、設定された分周数ｎを基準クロックに同期させてｎビットにデコードすることにより、基準クロックを２ｎ分周したクロックの立上がりで、デコード結果をカウント手段に初期値として円滑に取り込むことができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図１は、本発明の一実施の形態に係る２ｎ分周回路の構成を示したブロック図である。２ｎ分周回路は、図示しないＣＰＵやＤＳＰ等のプロセッサから設定される分周数ｎを一時的に保持しておく分周数ｎの記憶装置（レジスタ）１０１、記憶装置１０１から出力される分周数ｎを分周前の基準クロック１００と同期させるための同期化回路１０２、同期化回路１０２の出力をｎビットにデコードするｎビットデコード回路１０３、ｎビットデコード回路１０３の出力を２ｎ分周クロック３００の立上がりで初期値として取込み、分周前の基準クロック１００で＋１ずつカウントアップするｎビットアップカウンタ１０４、ｎビットアップカウンタ１０４の出力それぞれのビットが表す２ｎ分周クロック２００、分周前の基準クロック１００の中から同期化回路１０２から出力される分周数ｎに対応する２ｎ分周クロック３００を選択して出力する２ｎ分周クロック選択回路１０５を有している。
【００１５】
図２は図１に示したｎビットアップカウンタ１０４の構成を示したブロック図である。ｎビットアップカウンタ１０４は、初期値を取込む回路３０１、分周前の基準クロック１００を＋１ずつアップカウントしていくアップカウンタ３０２で構成されている。
【００１６】
図３は、図１に示した２ｎ分周クロック選択回路１０５の構成を示した図である。２ｎ分周クロック選択回路１０５は、ＣＰＵやＤＳＰ等のプロセッサから指定された分周数ｎを一時的に保持する一時記憶回路４０１、ｎビットアップカウンタ１０４の出力［ｎ：０］から設定された分周数に該当するものを選択する選択回路４０２と、選択回路４０２の出力の論理和を取るＯＲ回路４０３、ハザード等のパルスを除去するフリップフロップ４０４およびフリップフロップ４０４の出力と分周前のクロック１００のいずれかを同期化回路１０２の出力値（分周数）によって選択して出力する出力選択回路４０５で構成される。
【００１７】
次に、ＣＰＵやＤＳＰ等のプロセッサにより分周数が０から７まで設定可能な場合を例として、分周数の設定が変更されたときに、出力される２ｎ分周クロック３００が切り替わる様子を、図４のタイミングチャートを用いて説明する。
【００１８】
今、ＣＰＵやＤＳＰ等のプロセッサから例えば分周数１が記憶装置１０１に図４の時刻２付近で設定されたとする。記憶装置１０１に一時的に保持されていた分周数１は時刻３のときに同期化回路１０２に取込まれ、そのままｎビットデコード回路１０３に出力される。ｎビットデコード回路１０３は入力される分周数の値１をｎビットの“００００００１０”にデコードする。
【００１９】
ここで、本例のｎビットデコード回路１０３は、分周数が１の場合、実際の分周数２１＝２を８ビットの２進数にデコードしている。従って、分周数が２の場合、実際の分周数２２＝４を８ビットの２進数“０００００１００”にデコードし、分周数が３の場合、実際の分周数２３＝８を８ビットの２進数“００００１０００”にデコードし、以下同様である。８ビットである理由はこの例での設定可能な分周数が０から７までであるからである。
【００２０】
デコードされた値の上位（ｎ−１）ビット、この例では“００００００１”は２ｎ分周クロック（この場合は分周前の基準クロックと同じ）３００の立上がりで、即ち時刻３でカウンタ初期値としてｎビットアップカウンタ１０４に取り込まれる。なお、上記デコードされた値の上位（ｎ−１）ビットとすることにより、ｎビットデコード回路１０３の出力から有効でない下位１ビットを無視している。
【００２１】
ｎビットアップカウンタ１０４は、初期値から分周前の基準クロック１００を＋１カウントしていく。ｎビットアップカウンタ１０４の出力であるｎビットアップカウンタ［０］は分周前の基準クロック１００の２分周、ｎビットアップカウンタ［１］は分周前の基準クロック１００の４分周、ｎビットアップカウンタ［２］は分周前の基準クロック１００の８分周、ｎビットアップカウンタ［ｎ］は分周前の基準クロック１００の２ｎ分周クロックとなって、２ｎ分周クロック選択回路１０５に出力される。
【００２２】
ここで、ｎビットアップカウンタ１０４の詳細動作について図２を参照して説明する。初期値を取込む回路３０１は、指定された２ｎ分周クロック３００の立上がりのタイミングでｎビットデコード回路１０３の出力値の上位（ｎ−１）ビットを取込んで一時的に保持しておく。
【００２３】
アップカウンタ３０２は、初期値を取込む回路３０１で一時的に保持されていたｎビットデコード回路の出力値［ｎ−１］ビット、この例では“００００００１”を任意のタイミングで取込んでカウンタの初期値とし、分周前の基準クロック１００の立上がりのタイミングでカウンタの値を＋１ずつアップさせていき、このカウント値をｎビットアップカウンタ１０４の出力［ｎ：０］２００として、２ｎ分周クロック選択回路１０５に出力する。
【００２４】
２ｎ分周クロック選択回路１０５は、ＣＰＵやＤＳＰ等のプロセッサから設定された分周数ｎの値が１であるので、図４のｎビットアップカウンタ［０］の出力を選択して２分周クロック３００として出力する。
【００２５】
ここで、２ｎ分周クロック選択回路１０５の動作について図３を参照して説明する。同期化回路１０２から出力される分周数ｎは一時記憶回路４０１に保持される。選択回路４０２では、一時記憶回路４０１に保持されている値ｎに対応する２ｎ分周されたクロックを通過させるＡＮＤ回路だけが導通するため、ｎビットアップカウンタ１０４の出力ビット［ｎ：０］のうち、該当する２ｎ分周クロックがＯＲ回路４０３に出力される。
【００２６】
上記のように分周数が１の場合、ＡＮＤ回路ａが導通してｎビットアップカウンタ［０］の２分周クロックが選択回路４０２を通過してＯＲ回路４０３に出力される。
【００２７】
ＯＲ回路４０３は、選択回路４０２の出力を一括し、選択回路４０２で選択された信号を常にフリップフロップ４０４に出力する。フリップフロップ４０４はハザード等のパルスを除去して出力選択回路４０５に出力する。選択回路４０２の出力は、一時記憶回路４０１の出力が切り替わるときにハザード等のパルスが発生するので、分周前の基準クロック１００でこのハザード等のパルスがフリップフロップ４０４により除去される。
【００２８】
出力選択回路４０５は、ＣＰＵやＤＳＰ等のプロセッサから指定された分周数ｎが“０”のとき（１分周のとき）は、分周前の基準クロック１００がそのまま出力となるので、分周前の基準クロック１００とフリップフロップ４０４の出力のいずれか一方を同期化回路１０２から与えられる分周数ｎに応じて選択して出力する。
【００２９】
次に、図４の時刻１９付近でＣＰＵやＤＳＰ等のプロセッサが分周数３を記憶装置１０１に設定した場合、この分周数３は時刻２０のときに同期化回路１０２に取込まれ、そのままｎビットデコード回路１０３に出力される。ｎビットデコード回路１０３は入力される分周数の値３をｎビットの“００００１０００”にデコードする。
【００３０】
デコードされた値の上位（ｎ−１）ビットは分周数３の設定前の２分周クロック３００の立上がりで、即ち、時刻２１でｎビットアップカウンタ１０４にカウンタ初期値として取り込まれる。従って、ｎビットアップカウンタ１０４は“００００１００”を初期値４として時刻２１で取込む。
【００３１】
ｎビットアップカウンタ１０４は、初期値４から分周前の基準クロックを＋１ずつカウントアップしていく。ｎビットアップカウンタ１０４の出力ｎビットアップカウンタ［０］は分周前の基準クロック１００の２分周、ｎビットアップカウンタ［１］は分周前の基準クロック１００の４分周、ｎビットアップカウンタ［２］は分周前の基準クロック１００の８分周、ｎビットアップカウンタ［ｎ］は分周前の基準クロック１００を２ｎ分周したクロックとなって２ｎ分周クロック選択回路１０５に出力される。
【００３２】
この場合、ＣＰＵやＤＳＰ等のプロセッサから設定された分周数ｎの値を１から３に設定変更したため、２ｎ分周クロック選択回路１０５はｎビットアップカウンタ［２］の出力を時刻２１で選択して８分周クロック３００として出力する。
【００３３】
上記のように分周数３を時刻１９で設定してクロックの分周数を１から３に切り替えたとき、図２のｎビットアップカウンタ［２］の波形を見れば分かるように、ｎビットアップカウンタ［２］の８分周クロック３００のデューティは所定どおりで、デューティの崩れが無いことが分かる。
【００３４】
本実施の形態によれば、ＣＰＵやＤＳＰ等のプロセッサから設定された分周数ｎをｎビットに変換した後、上位（ｎ−１）ビットを２ｎ分周クロック３００の立上がりでｎビットアップカウンタ１０４の初期値として取り込ませることにより、分周数ｎを設定変更してクロックの分周数を切り替えるとき、出力される２ｎ分周クロックのデューティを、ＣＰＵやＤＳＰ等のプロセッサから設定タイミングに拘らず、保証することができる。従って、ＣＰＵやＤＳＰ等のプロセッサにより分周比ｎが切替えるられるときに、本実施形態の分周回路から出力される分周クロックを用いる回路の誤動作をなくすことができる。
【００３５】
【発明の効果】
以上説明したように、本発明によれば、ＣＰＵやＤＳＰ等のプロセッサから設定された分周数ｎをｎビットに変換した後、分周数ｎを初期値として所定のタイミングで取り込ませることにより、分周数ｎを設定変更してクロックの分周数を切り替えるとき、出力される２ｎ分周クロックのデューティを、ＣＰＵやＤＳＰ等のプロセッサから設定タイミングに拘らず保証することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る２ｎ分周回路の構成を示したブロック図である。
【図２】図１に示したｎビットアップカウンタの構成を示したブロック図である。
【図３】図１に示した２ｎ分周クロック選択回路の構成を示した図である。
【図４】図１に示した２ｎ分周回路の動作を説明するタイミングチャートである。
【図５】従来の２ｎ分周回路の構成を示したブロック図である。
【符号の説明】
１０１　記憶装置（レジスタ）
１０２　同期化回路
１０３　ｎビットデコード回路
１０４　ｎビットアップカウンタ
１０５　２ｎ分周クロック選択回路
３０１　初期値を取込む回路
３０２　アップカウンタ
４０１　一時記憶回路
４０２　選択回路
４０３　ＯＲ回路
４０４　フリップフロップ
４０５　出力選択回路
【図１】
2004064183.tif 000003
【図２】
2004064183.tif 000004
【図３】
2004064183.tif 000005
【図４】
2004064183.tif 000006
【図５】
2004064183.tif 000007