クロック発生回路
【課題】 PLLを動作させた状態で、同期外れを起させず、入力クロックの切り替えおよびそれに伴う分周比の切り替えを行うことが可能なクロック発生回路を提供する。
【解決手段】 タイミング制御部8は、入力クロックを指定するクロック選択情報が切り替わった後、分周器1がリファレンスクロックCLKREFを出力するのに応じて、クロック選択指令SELCKを切り替える動作と、分周器1に1個のリファレンスクロックCLKREFを出力させるための入力クロックの個数Rと、分周器6に1個のフィードバッククロックCLKFBを出力させるための出力クロックCLKOの個数Fのうちの少なくとも一方の設定を切り替え、切り替え後の設定個数Rに対応した入力クロックの分周器1によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの分周器6によるカウント動作の両方を開始させる。
【解決手段】 タイミング制御部8は、入力クロックを指定するクロック選択情報が切り替わった後、分周器1がリファレンスクロックCLKREFを出力するのに応じて、クロック選択指令SELCKを切り替える動作と、分周器1に1個のリファレンスクロックCLKREFを出力させるための入力クロックの個数Rと、分周器6に1個のフィードバッククロックCLKFBを出力させるための出力クロックCLKOの個数Fのうちの少なくとも一方の設定を切り替え、切り替え後の設定個数Rに対応した入力クロックの分周器1によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの分周器6によるカウント動作の両方を開始させる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、PLL(Phase Locked Loop;位相同期ループ)を利用したクロック発生回路に関する。
【背景技術】
【0002】
PLLは、入力信号に位相同期したクロックを発生する回路であり、各種の分野において使用されている。図11はPLLの一般的な構成を示すブロック図である。図11において、分周器1は、入力クロックCLKIを予め設定された分周比1/Rで分周することにより入力クロックCLKIの1/Rの周波数のリファレンスクロックCLKREFをループ部2の位相比較器3に出力する。ループ部2は、この位相比較器3と、ループフィルタ4と、VCO(Voltage Controlled Oscillator;電圧制御発振器)5と、分周器6とを図示のようにループ状に接続した回路である。ここで、位相比較器3は、リファレンスクロックCLKREFと分周器6が出力するフィードバッククロックCLKFBとの位相比較を行い、両クロックの位相誤差を示す位相誤差信号を出力する。ループフィルタ4は、この位相誤差信号の高域成分を除去し、周波数制御電圧として出力する。VCO5は、周波数制御電圧に応じた周波数で発振し、出力クロックCLKOを発生する。分周器6は、この出力クロックCLKOを予め設定された分周比1/Fで分周することにより出力クロックCLKOの1/Fの周波数のフィードバッククロックCLKFBを位相比較器3に出力する。
【0003】
この構成によれば、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相が遅れている場合には、その遅れ量を示す位相誤差信号が位相比較器3から出力される。これにより周波数制御電圧が上昇して出力クロックCLKOの周波数が上昇し、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相を相対的に進めるフィードバック制御が行われる。一方、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相が進んでいる場合には、その進み量を示す位相誤差信号が位相比較器3から出力される。これにより周波数制御電圧が低下して出力クロックCLKOの周波数が低下し、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相を相対的に遅らせるフィードバック制御が行われる。このようなフィードバック制御が行われる結果、フィードバッククロックCLKFBの位相がリファレンスクロックCLKREFの位相に同期化され、入力クロックCLKIに位相同期し、かつ、入力クロックCLKIのF/R倍の周波数を有する出力クロックCLKOがVCO5から得られる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−126411号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のようにPLLは、出力クロックCLKOを生成するために、入力クロックCLKIの供給を受ける必要がある。ここで、入力クロックCLKIの発生源である装置が常時動作しており、入力クロックCLKIがPLLに定常的に供給される場合には、PLLは、その入力クロックCLKIを用いて、PLLが設けられている装置のために出力クロックCLKOを発生することが可能である。しかしながら、システムによっては、特定の装置を常時動作させ、PLLに対して入力クロックCLKIを常時供給させることが困難な場合もある。そこで、入力クロックCLKIの供給元となる装置を複数定め(たとえば装置AおよびBとする)、装置Bが動作を停止する場合には装置AからPLLに例えば入力クロックCLKI0を供給し、装置Aが動作を停止する場合には装置BからPLLに例えば入力クロックCLKI1を供給するようにシステムを構成することが考えられる。このようなシステムによれば、PLLに対する入力クロックの供給を途絶えさせず、PLLの設けられた装置のためにPLLが出力クロックCLKOを発生し続けることができる。しかしながら、装置Aが出力する入力クロックCLKI0の周波数と、装置Bが出力する入力クロックCLKI1の周波数が異なっている場合がある。この場合、入力クロックの切り替え前後において同じ周波数の出力クロックCLKOをPLLに発生させるためには、切り替え後の入力クロックの周波数に適合するように分周器1の分周比1/Rまたは分周器6の分周比1/Fを変更する必要がある。しかし、そのような分周比の変更を行ったとしても、入力クロックの切り替えを行うと、PLLが同期外れを起し、出力クロックCLKOの周波数が長期に亙って不安定になるという問題が発生する。
【0006】
ここで、図12を参照し、この問題について説明する。図12には、分周器1における入力クロックCLKIのカウント値CNT1と、リファレンスクロックCLKREFの発生状況と、分周器6における出力クロックCLKOのカウント値CNT6と、フィードバッククロックCLKFBの発生状況が示されている。この例において、分周器1は、入力クロックCLKIのダウンカウントを行い、カウント値が「0」になると、カウント値をR−1に設定し、リファレンスクロックCLKREFを発生するという動作を繰り返している。また、分周器6は、出力クロックCLKOのダウンカウントを行い、カウント値が「0」になると、カウント値をF−1に設定し、フィードバッククロックCLKFBを発生するという動作を繰り返している。リファレンスクロックCLKREFに対してフィードバッククロックCLKFBが位相同期した状態では、分周器1のカウント値CNT1の変化と分周器6のカウント値CNT6の変化は同期している。
【0007】
このような動作が行われているとき、入力クロックCLKIの切り替えを行うと、切り替え後の入力クロックの周波数が切り替え前よりも高くなる場合には、破線L1に示すように、カウント値CNT1の時間勾配が急になり、フィードバッククロックCLKFBの発生タイミングよりも早くリファレンスクロックCLKREFが発生する。逆に切り替え後の入力クロックの周波数が切り替え前よりも低くなる場合には、破線L2に示すように、カウント値CNT1の時間勾配が緩くなり、フィードバッククロックCLKFBの発生タイミングよりも遅くリファレンスクロックCLKREFが発生する。このようにフィードバッククロックCLKFBに対して大きな位相差を持ったリファレンスクロックCLKREFが位相比較器3に与えられると、大きな位相誤差信号が発生し、PLLが同期外れを起す。
【0008】
この発明は、以上説明した事情に鑑みてなされたものであり、PLLを動作させた状態において、同期外れを起させることなく、入力クロックの切り替えおよびそれに伴う分周比の切り替えを行うことが可能なクロック発生回路を提供することを目的とする。
【課題を解決するための手段】
【0009】
この発明は、R個(Rは整数)の入力クロックをカウントする毎に、リファレンスクロックを出力する第1の分周器と、F個(Fは整数)の出力クロックをカウントする毎に、フィードバッククロックを出力する第2の分周器を含み、前記リファレンスクロックと前記フィードバッククロックとの位相誤差に基づいて前記出力クロックの周波数を制御することにより、前記リファレンスクロックに位相同期し、かつ、前記リファレンスクロックのF倍の周波数を有する出力クロックを生成するループ部と、複数種類の入力クロックの中からクロック選択指令により指定された1種類の入力クロックを選択して前記第1の分周器に供給するクロック切り替え部と、入力クロックを指定するクロック選択情報が切り替わるのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替えるとともに、前記第1の分周器に1個のリファレンスクロックを出力させるための入力クロックの個数Rと、前記第2の分周器に1個のフィードバッククロックを出力させるための出力クロックの個数Fのうちの少なくとも一方の設定を切り替え、切り替え後の設定個数Rに対応した入力クロックの前記第1の分周器によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの前記第2の分周器によるカウント動作の両方を開始させるタイミング制御部とを具備することを特徴とするクロック発生回路を提供する。
【0010】
かかる発明によれば、タイミング制御部は、入力クロックを指定するクロック選択情報が切り替わるのに応じて、クロック切り替え部に対するクロック選択指令を切り替えるとともに、第1の分周器に1個のリファレンスクロックを出力させるための入力クロックの個数Rと、第2の分周器に1個のフィードバッククロックを出力させるための出力クロックの個数Fのうちの少なくとも一方の設定を切り替える。そして、タイミング制御部は、切り替え後の設定個数Rに対応した入力クロックの第1の分周器によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの第2の分周器によるカウント動作の両方を開始させる。ここで、入力クロックの切り替え後において、第1の分周器に与えられる入力クロックと第2の分周器に与えられる出力クロックは非同期であり、エッジが揃っていないが、第1および第2の分周器は、タイミング制御部による制御の下、切り替え後の入力クロックに対応した新たな分周比での分周動作をほぼ同時に開始し、その後、リファレンスクロックおよびフィードバッククロックをほぼ同じタイミングにおいて出力することとなる。従って、ループ部に同期外れが発生するのを防止することができる。
【0011】
なお、特許文献1は、PLLの出力クロックの周波数を一定にするために、入力信号の周波数に応じて出力クロックを分周してフィードバッククロックを得る際の分周比を切り換える技術を開示している。しかし、この特許文献1は、本発明のように、PLLを動作させた状態において入力クロックの切り替えを行う技術に関するものではなく、入力クロックの切り替えに伴ってPLLの動作が不安定になるのを防止するための手段を全く開示していない。
【図面の簡単な説明】
【0012】
【図1】この発明の第1実施形態であるクロック発生回路の概略構成を示すブロック図である。
【図2】同クロック発生回路の詳細な構成を示す回路図である。
【図3】同クロック発生回路におけるクロック切り替え部の動作を示すタイムチャートである。
【図4】同クロック発生回路の概略動作を示すタイムチャートである。
【図5】同クロック発生回路の動作の詳細を示すタイムチャートである。
【図6】同クロック発生回路におけるクロック切り替え開始時付近の詳細な動作およびクロック切り替え完了時付近の詳細な動作を示すタイムチャートである。
【図7】同クロック発生回路におけるクロック切り替え開始時付近の詳細な動作およびクロック切り替え完了時付近の詳細な動作を示すタイムチャートである。
【図8】この発明の第2実施形態であるクロック発生回路の構成を示す回路図である。
【図9】同クロック発生回路の概略動作を示すタイムチャートである。
【図10】同クロック発生回路におけるクロック切り替え開始時付近の詳細な動作およびクロック切り替え完了時付近の詳細な動作を示すタイムチャートである。
【図11】一般的なPLLの構成を示すブロック図である。
【図12】同PLLにおいて入力クロックの切り替えを行った場合に生じる問題点を説明するタイムチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照し、この発明の一実施形態について説明する。
<第1実施形態>
図1はこの発明の第1実施形態であるクロック発生回路の構成を示すブロック図である。図1において、分周器1およびループ部2からなる部分の回路構成は、前掲図11に示されたものと基本的に同様である。
【0014】
本実施形態によるクロック発生回路の特徴は、この分周器1およびループ部2からなる回路に対して付加されたクロック切り替え部7とタイミング制御部8にある。クロック切り替え部7には、周波数の異なった2種類の入力クロックCLKI0およびCLKI1が与えられる。クロック切り替え回路7は、タイミング制御部8から与えられるクロック選択指令SELCKに従って、入力クロックCLKI0およびCLKI1の一方を選択し、入力クロックCLKIとして分周器1に供給する回路である。タイミング制御部8は、上位装置からクロック選択情報SELが与えられるに応じて、クロック切り替え部7に対するクロック選択指令SELCKを発生するとともに、分周器1および6の動作を制御する回路である。
【0015】
さらに詳述すると、このタイミング制御部8は、入力クロックCLKI0の周波数をfi0、入力クロックCLKI1の周波数をfi1、VCO5の出力クロックCLKOの周波数をfoとした場合に、出力クロックCLKOの周波数foを変化させることなく下記式(1)および(2)を各々満足することができる分周比データRAおよびFAの組と、分周比データRBおよびFBの組を記憶している。
fi0/(RA+1)=fo/(FA+1) ……(1)
fi1/(RB+1)=fo/(FB+1) ……(2)
【0016】
そして、タイミング制御部8は、入力クロックCLKI0の選択を指令するクロック選択指令SELCKを出力する場合には、入力クロックCLKI0に適した分周比データRAおよびFAを分周器1および6に各々設定し、入力クロックCLKI1の選択を指令するクロック選択指令SELCKを出力する場合には、入力クロックCLKI1に適した分周比データRBおよびFBを分周器1および6に各々設定する制御を行う。その際にタイミング制御部8は、ループ部2が同期外れを起さないように、入力クロックCLKIの切り替え動作開始時に、分周器1および6をリセットして停止させるとともに、切り替え後の入力クロックCLKIに適した各分周比を分周器1および6に設定し、入力クロックCLKIの切り替え完了後、分周器1および6の分周動作を同時に開始させる制御を行う。この制御が行われることにより、入力クロックCLKIの切り替え完了後、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBが同相で位相比較器3に供給されるので、ループ部2の同期外れの発生を防止することができる。
【0017】
図2は本実施形態によるクロック発生回路の詳細な構成を示す回路図である。まず、クロック切り替え部7について説明する。クロック切り替え部7には、入力クロックCLKI0およびCLKI1と、タイミング制御部8が発生するクロック選択指令SELCKが与えられる。フリップフロップ701および702は、入力クロックCLKI1の立ち上がりエッジに同期してクロック選択指令SELCKを順次シフトする。フリップフロップ703および704は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ702の出力信号S01を順次シフトする。ANDゲート705は、フリップフロップ704の出力信号S02およびクロック選択指令SELCKの両方が“0”の場合に出力信号S03を“1”とし、それ以外の場合には出力信号S03を“0”とする。フリップフロップ706は、入力クロックCLKI0の立ち下がりエッジに同期してANDゲート705の出力信号S03を取り込んで出力する。ANDゲート707は、フリップフロップ706の出力信号S04が“1”である場合に入力クロックCLKI0を通過させ、それ以外の場合には“0”を出力する。
【0018】
一方、フリップフロップ711および712は、入力クロックCLKI0の立ち上がりエッジに同期してクロック選択指令SELCKを順次シフトする。フリップフロップ713および714は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ712の出力信号S11を順次シフトする。ANDゲート715は、フリップフロップ714の出力信号S12およびクロック選択指令SELCKの両方が“1”の場合に出力信号S13を“1”とし、それ以外の場合には出力信号S13を“0”とする。フリップフロップ716は、入力クロックCLKI1の立ち下がりエッジに同期してANDゲート715の出力信号S13を取り込んで出力する。ANDゲート717は、フリップフロップ716の出力信号S14が“1”である場合に入力クロックCLKI1を通過させ、それ以外の場合には“0”を出力する。ORゲート720は、入力クロックCLKI0がANDゲート707を通過する場合にはその入力クロックCLKI0を入力クロックCLKIとして出力し、入力クロックCLKI1がANDゲート717を通過する場合にはその入力クロックCLKI1を入力クロックCLKIとして出力する。以上がクロック切り替え部7の構成である。
【0019】
このクロック切り替え部7の機能の概略は次の通りである。まず、クロック選択指令SELCKが“0”となった場合、クロック切り替え部7では、最終的にANDゲート705の出力信号S03およびフリップフロップ706の出力信号S04が“1”、ANDゲート715の出力信号S13およびフリップフロップ716の出力信号S14が”0”となり、入力クロックCLKI0がANDゲート707およびORゲート720を通過し、入力クロックCLKIとして出力される。また、クロック選択指令SELCKが“1”となった場合、クロック切り替え部7では、最終的にANDゲート705の出力信号S03およびフリップフロップ706の出力信号S04が“0”、ANDゲート715の出力信号S13およびフリップフロップ716の出力信号S14が”1”となり、入力クロックCLKI1がANDゲート717およびORゲート720を通過し、入力クロックCLKIとして出力される。なお、クロック切り替え部7の各部の詳細な動作については後述する。
【0020】
次に分周器1および6について説明する。分周器1は、ダウンカウンタ1aとフリップフロップ1bとにより構成されている。ここで、ダウンカウンタ1aは、クロック切り替え部7からの入力クロックCLKIの立ち上がりエッジに同期してカウント値CNT1を1ずつ減算し、カウント値CNT1が「0」になった場合には、その後の入力クロックCLKIの立ち上がりエッジに同期して分周比データDIVRをカウント値CNT1として取り込む、という動作を繰り返すカウンタである。また、このダウンカウンタ1aは、リセット端子Rに与えられるリセット信号R1が“1”になったとき、その後の入力クロックCLKIの立ち上がりエッジに同期してカウント値CNT1を「0」にリセットする。また、ダウンカウンタ1aは、カウント値CNT1が「0」である期間、カウント終了信号OVRを“1”とし、カウント値CNT1が「0」以外の値である期間、カウント終了信号OVRを“0”にする。フリップフロップ1bは、ダウンカウンタ1aが出力するカウント終了信号OVRを入力クロックCLKIの立ち上がりエッジに同期して取り込み、リファレンスクロックCLKREFとして位相比較器3に出力する。
【0021】
分周器6は、ダウンカウンタ6aとフリップフロップ6bとにより構成されている。ここで、ダウンカウンタ6aは、VCO5からの出力クロックCLKOの立ち上がりエッジに同期してカウント値CNT6を1ずつ減算し、カウント値CNT6が「0」になった場合には、その後の出力クロックCLKOの立ち上がりエッジに同期して分周比データDIVFをカウント値CNT6として取り込む、という動作を繰り返すカウンタである。また、このダウンカウンタ6aは、リセット端子Rに与えられるリセット信号R6が“1”になったとき、その後の出力クロックCLKOの立ち上がりエッジに同期してカウント値CNT6を「0」にリセットする。また、ダウンカウンタ6aは、カウント値CNT6が「0」である期間、カウント終了信号OVFを“1”とし、カウント値CNT6が「0」以外の値である期間、カウント終了信号OVFを“0”にする。フリップフロップ6bは、ダウンカウンタ6aが出力するカウント終了信号OVFを出力クロックCLKOの立ち上がりエッジに同期して取り込み、フィードバッククロックCLKFBとして位相比較器3に出力する。
【0022】
次にタイミング制御部8について説明する。フリップフロップ801〜803は、上位装置から与えられるクロック選択情報SELに基づいてクロック選択指令SELCKを発生する回路を構成している。まず、フリップフロップ801および802は、クロック選択情報SELを入力クロックCLKIの立ち上がりエッジに同期して順次シフトし、信号SELDとして出力する。そして、フリップフロップ803は、イネーブル端子ENに与えられるリファレンスクロックCLKREFが“1”である期間、入力クロックCLKIの立ち上がりエッジに同期してフリップフロップ802の出力信号SELDを取り込み、クロック選択指令SELCKとして出力する。上述したクロック切り替え部7では、このクロック選択指令SELCKに基づいて入力クロックの選択が行われる。
【0023】
AND811およびフリップフロップ812は、現在、入力クロックCLKIとして出力されているものが入力クロックCLKI0またはCLKI1のいずれであるかを示すクロック判定信号DSELCKを出力する回路を構成している。ここで、ANDゲート811は、クロック切り替え部7のANDゲート705の出力信号S03が“0”、ANDゲート715の出力信号S13が“1”の場合に“1”を出力し、それ以外の場合に“0”を出力する。そして、フリップフロップ812は、このANDゲート811の出力信号を入力クロックCLKIの立ち上がりエッジに同期して取り込み、クロック判定信号DSELCKとして出力する。このクロック判定信号DSELCKは、クロック選択指令SELCKが“0”から“1”に切り替わった後、入力クロックCLKI1を入力クロックCLKIとして出力する動作が開始されるときに“0”から“1”になる。また、クロック判定信号DSELCKは、クロック選択指令SELCKが“1”から“0”に切り替わった後、入力クロックCLKI0を入力クロックCLKIとして出力する動作が開始されるときに“1”から“0”になる。なお、このクロック判定信号DSELCKを発生する動作の詳細については後述する。
【0024】
不一致検出部821およびANDゲート822は、クロック選択情報SELが切り替わった後、分周器1がリファレンスクロックCLKREFを発生した場合に、このリファレンスクロックCLKREFをリセット信号R1として分周器1に供給する回路を構成している。さらに詳述すると、不一致検出部821は、フリップフロップ802の出力信号SELDとクロック判定信号DSELCKとが一致しているときは不一致検出信号NE1を“0”とし、不一致の場合は不一致検出信号NE1を“1”とする。そして、ANDゲート822は、不一致検出信号NE1が“1”である期間に発生するリファレンスクロックCLKREFをリセット信号R1として分周器1のダウンカウンタ1aに供給する。
【0025】
マルチプレクサ823は、クロック選択指令SELCKが“0”である場合には入力クロックCLKI0に対応した分周比データRAを選択し、“1”である場合には入力クロックCLKI1に対応した分周比データRBを選択し、ダウンカウンタ1aに分周比データDIVRとして供給する。
【0026】
不一致検出部831、フリップフロップ832および833は、クロック選択指令SELCKが変化してからクロック選択指令SELCKにより指定された入力クロックCLKI0またはCLKI1が入力クロックCLKIとして出力され始めるまでの期間、分周器6を停止させる回路を構成している。さらに詳述すると、不一致検出部831は、クロック選択指令SELCKとクロック判定回路DSELCKとが一致している場合は不一致検出信号NE2を“0”とし、不一致の場合は“1”とする。フリップフロップ832および833は、不一致検出信号NE2を出力クロックCLKOの立ち上がりエッジに同期して順次シフトし、リセット信号R6としてダウンカウンタ6aおよびフリップフロップ6bに出力する。
【0027】
マルチプレクサ834は、クロック選択指令SELCKが“0”である場合には入力クロックCLKI0に対応した分周比データFAを選択し、“1”である場合には入力クロックCLKI1に対応した分周比データFBを選択し、ダウンカウンタ6aに分周比データDIVFとして供給する。
以上が本実施形態によるクロック発生回路の構成の詳細である。
【0028】
次に本実施形態の動作を説明する。図3はクロック切り替え部7のクロック切り替え動作の詳細を示すタイムチャートである。図3に示す例では、初期状態において、SELCK=“0”、S01=“0”、S02=“0”、S03=“1”、S04=“1”、S11=“0”、S12=“0”、S13=“0”、S14=“0”となっている。この場合、入力クロックCLKI0がANDゲート707およびORゲート730を通過し、入力クロックCLKIとなって出力される。
【0029】
次にクロック選択指令SELCKが入力クロックCLKI=CLKI0の立ち上がりエッジに同期して“0”から“1”に立ち上がると(時刻t1)、ANDゲート705の出力信号S03が“0”になり、その後の入力クロックCLKI0の立ち下がりエッジによりこの信号S03がフリップフロップ706に書き込まれ、フリップフロップ706の出力信号S04が“0”になる(時刻t2)。これによりANDゲート707は入力クロックCLKI0の通過を阻止し、入力クロックCLKIが停止する。その後、クロック選択指令SELCK=“1”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ701および702を順次通過し、フリップフロップ702の出力信号S01が“1”となり(時刻t3)、この信号S01=“1”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ703および704を順次通過し、フリップフロップ704の出力信号S02が“1”となる(時刻t4)。
【0030】
一方、クロック選択指令SELCK=“1”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ711および712を順次通過し、フリップフロップ712の出力信号S11が“1”となり(時刻t11)、この信号S11=“1”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ713および714を順次通過し、フリップフロップ714の出力信号S12が“1”となる(時刻t12)。この結果、ANDゲート715の出力信号S13が“1”となる。この信号S13=“1”が入力クロックCLKI1の立ち下がりエッジによりフリップフロップ716に書き込まれ、フリップフロップ716の出力信号S14が“1”になる(時刻t13)。この結果、フリップフロップ716の出力信号S14を“1”に立ち上げた入力クロックCLKI1の立ち下がりエッジの次の立ち上がりエッジから入力クロックCLKI1がANDゲート717を通過し、入力クロックCLKIとして出力される(時刻t14)。
【0031】
このようにして、入力クロックCLKIの停止後、入力クロックCLKI1の最初の立ち上がりエッジがORゲート720から出力されるとき、S03=“0”、S13=“1”となっていることからANDゲート811の出力信号が“1”となっている。この結果、信号“1”が同入力クロックCLKI1の最初の立ち上がりエッジによりフリップフロップ812に書き込まれる。このため、フリップフロップ812が出力するクロック判定信号DSELCKは、クロック選択指令SELCK=“1”により指定された入力クロックCLKI1のORゲート720からの出力が開始されるとき、“0”から“1”に立ち上がる。
【0032】
次にクロック選択指令SELCKが入力クロックCLKI=CLKI1の立ち上がりエッジに同期して“1”から“0”に立ち下がると(時刻t5)、ANDゲート715の出力信号S13が“0”になり、この信号S13がその後の入力クロックCLKI1の立ち下がりエッジによりフリップフロップ716に書き込まれ、フリップフロップ716の出力信号S14が“0”になる(時刻t6)。これによりANDゲート717は入力クロックCLKI1の通過を阻止し、入力クロックCLKIが停止する。その後、クロック選択指令SELCK=“0”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ711および712を順次通過し、フリップフロップ712の出力信号S11が“0”となり(時刻t7)、この信号S11=“0”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ713および714を順次通過し、フリップフロップ714の出力信号S12が“0”となる(時刻t8)。
【0033】
一方、クロック選択指令SELCK=“0”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ701および702を順次通過し、フリップフロップ702の出力信号S01が“0”となり(時刻t15)、この信号S01=“0”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ703および704を順次通過し、フリップフロップ704の出力信号S02が“0”となる(時刻t16)。この結果、ANDゲート705の出力信号S03が“1”となる。この信号S03=“1”が入力クロックCLKI0の立ち下がりエッジによりフリップフロップ706に書き込まれ、フリップフロップ706の出力信号S04が“1”になる(時刻t17)。この結果、フリップフロップ706の出力信号S04を“1”に立ち上げた入力クロックCLKI0の立ち下がりエッジの次の立ち上がりエッジから入力クロックCLKI0がANDゲート707を通過し、入力クロックCLKIとして出力される(時刻t18)。
【0034】
このようにして、入力クロックCLKIの停止後、入力クロックCLKI0の最初の立ち上がりエッジがORゲート720から出力されるとき、S03=“1”、S13=“0”となっていることからANDゲート811の出力信号が“0”となっている。この結果、信号“0”が同入力クロックCLKI0の最初の立ち上がりエッジによりフリップフロップ812に書き込まれる。このため、フリップフロップ812が出力するクロック判定信号DSELCKは、クロック選択指令SELCK=“0”により指定された入力クロックCLKI0のORゲート720からの出力が開始されるとき、“1”から“0”に立ち下がる。
【0035】
以上がクロック切り替え部7のクロック切り替え動作の詳細である。このクロック切り替え部7によれば、入力クロックCLKI0およびCLKI1の周波数が大きく異なる状況においても、ORゲート720から得られる入力クロックCLKIの波形にグリッチを生じさせることなくクロック切り替えを行うことができる。
【0036】
次に本実施形態によるクロック発生回路の全体としての動作を説明する。図4は本実施形態によるクロック発生回路の概略動作を示すタイムチャートである。この図4には分周器1におけるダウンカウンタ1aのカウント値CNT1と、分周器6におけるダウンカウンタ6aのカウント値CNT6と、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBの発生状況と、タイミング制御部8によって行われる制御の内容が示されている。
【0037】
図示の例では、分周器1による入力クロックCLKIのダウンカウントが行われている期間内にクロック選択情報SELが切り替えられている。本実施形態では、このクロック選択情報SELの切り替え後、分周器1のダウンカウンタ1aのカウント値CNT1が「0」になると、リファレンスクロックCLKREFが出力される。ここで、リファレンスクロックCLKREFとフィードバッククロックCLKFBとが位相同期している状況では、リファレンスクロックCLKREFが出力されるとき、その近傍のタイミングにおいてフィードバッククロックCLKFBが出力される。
【0038】
そして、タイミング制御部8は、クロック選択情報SELの切り替え後、リファレンスクロックCLKREFが出力されたとき、クロック選択指令SELCKをクロック選択情報SELに応じて切り替えて、クロック選択情報SELに基づく入力クロックの切り替えをクロック切り替え部7に開始させる。そして、タイミング制御部8は、入力クロックの切り替えが行われる間、分周器1および6をリセットしてカウント値CNT1およびCNT6を「0」とし、分周器1および6のカウント動作を停止させる。
【0039】
そして、クロック切り替え部7によるクロック切り替え動作が完了し、クロック選択指令SELCKにより指示された入力クロックCLKI0またはCLKI1のクロック切り替え部7からの出力が開始されるのに合わせて、タイミング制御部8は、新たな入力クロックに対応した分周比でのダウンカウントを分周器1および6に開始させる。このようにして分周器1および6が新たな分周比に対応したダウンカウントを開始するとき、分周器1および6はリファレンスクロックCLKREFおよびフィードバッククロックCLKFBを出力する。以後、分周器1は、新たな分周比に対応した個数だけ入力クロックCLKIをダウンカウントする毎にリファレンスクロックCLKREFを出力し、分周器6は、新たな分周比に対応した個数だけ出力クロックCLKOをダウンカウントする毎にフィードバッククロックCLKFBを出力する。この場合、分周器1および6は、切り替え後の入力クロックCLKIに対応した新たな分周比に基づく分周動作をほぼ同時に開始しているので、ほぼ位相の合ったリファレンスクロックCLKREFおよびフィードバッククロックCLKFBを各々出力することとなる。
【0040】
図5は以上述べたクロック発生回路の動作を詳細に示すタイムチャートである。また、図6および図7は、図5においてクロック切り替えの動作が開始される時刻t24付近の動作の詳細およびクロック切り替えの動作が完了する時刻t25付近の動作の詳細を示すタイムチャートである。図示の例では、初期状態においてSEL=“0”、SELCK=“0”、DSELCK=“0”となっており、入力クロックCLKI0が入力クロックCLKIとして出力され、分周器1ではこの入力クロックCLKI=CLKI0のダウンカウントが行われている。そして、クロック選択情報SELが“0”から“1”に立ち上がると(時刻t21)、このクロック選択情報SEL=“1”が入力クロックCLKI=CLKI0の立ち上がりエッジに同期して、フリップフロップ801および802を順次通過し、フリップフロップ802の出力信号SELDが“1”となる。この結果、不一致検出部821は不一致検出信号NE1を“0”から“1”に立ち上げる(時刻t22)。
【0041】
その後、分周器1のダウンカウンタ1aのカウント値CNT1が「0」になると、図6に示すように、カウント終了信号OVRが“1”となって、この信号OVR=“1”が次の入力クロックCLKI=CLKI0の立ち上がりエッジによりフリップフロップ1bに書き込まれる。この結果、フリップフロップ1bは、リファレンスクロックCLKREFを“0”から“1”に立ち上げる(時刻t23)。このとき、ダウンカウンタ1aは、その時点においてマルチプレクサ823が出力している分周比データRAを入力クロックCLKI=CLKI0の立ち上がりエッジによりカウント値CNT1として取り込み、カウント終了信号OVRを“0”にする。また、リファレンスクロックCLKREFが“1”になることによりANDゲート822はリセット信号R1を“1”にする。
【0042】
そして、リファレンスクロックCLKREFが“1”になった後、入力クロックCLKI=CLKI0が立ち上がると、この立ち上がりエッジにより、フリップフロップ802の出力信号SELD=“1”がフリップフロップ803に書き込まれ、クロック選択指令SELCKが“0”から“1”になる(時刻t24)。これによりクロック切り替え部7では、入力クロックCLKIを入力クロックCLKI0から入力クロックCLKI1に切り替えるための動作が開始され、暫くの間、入力クロックCLKIの出力が途絶える。また、リファレンスクロックCLKREFが“1”になった後の入力クロックCLKI=CLKI0の立ち上がりにより、その時点においてダウンカウンタ1aが出力しているカウント終了信号OVR=“0”がフリップフロップ1bに書き込まれてリファレンスクロックCLKREFが“0”となり、その時点においてリセット信号R1=“1”が与えられているダウンカウンタ1aがリセットされ、ダウンカウンタ1aのカウント値CNT1が「0」、カウント終了信号OVRが“1”となる。以後、入力クロックCLKIが途絶えるため、ダウンカウンタ1aはカウント値CNT1=「0」、カウント終了信号OVR=“1”を維持し、フリップフロップ1bはリファレンスクロックCLKREFを“0”に維持する(以上、図6左側参照)。
【0043】
リファレンスクロックCLKREFとフィードバッククロックCLKFBが位相同期した状態では、以上のようにして分周器1がリファレンスクロックCLKREFを出力するのとほぼ同じ時刻に分周器6がフィードバッククロックCLKFBを出力する(図5の時刻t23付近を参照)。
【0044】
一方、不一致検出部831は、クロック選択指令SELCKが“0”から“1”になったとき(時刻t24)、図7に示すように、不一致検出信号NE2を“1”に立ち上げる。この不一致検出信号NE2=“1”は、出力クロックCLK0の立ち上がりエッジに同期し、フリップフロップ832および833を順次通過し、リセット信号R6としてダウンカウンタ6aおよびフリップフロップ6bに供給される。そして、リセット信号R6が“1”になった後、出力クロックCLKOが立ち上がると、ダウンカウンタ6aおよびフリップフロップ6bがリセットされ、ダウンカウンタ6aのカウント値CNT6は「0」、カウント終了信号OVFは“1”、フィードバッククロックCLKFBは“0”となる。ここで、フリップフロップ832および833は、入力クロックCLKIに同期して変化する不一致検出信号NE2を出力クロックCLKOに同期化させる役割を果たすとともに、分周器6がリファレンスクロックCLKREFとほぼ同時刻にフィードバッククロックCLKFBを出力した後にリセット信号R6=“1”がダウンカウンタ6aおよびフリップフロップ6bに供給されるように、リセット信号R6=“1”の供給を僅かに遅延させる役割を果たす。
【0045】
以後、不一致検出信号NE2が“1”である間、ダウンカウンタ6aおよびフリップフロップ6bにはリセット信号R6=“1”が供給されるため、CNT6=「0」、OVF=“1”、CLKFB=“0”の状態が維持される(以上、図7左側参照)。
【0046】
その後、クロック切り替え部7がクロック切り替え動作を完了し、クロック選択指令SELCK=“1”により指定された入力クロックCLKI1を入力クロックCLKIとして出力する動作を開始すると(時刻t25)、図6に示すように、切り替え後の最初の入力クロックCLKI=CLKI1の立ち上がりエッジにより、ダウンカウンタ1aの出力しているカウント終了信号OVR=“1”がフリップフロップ1bに書き込まれ、リファレンスクロックCLKREFが“1”になる。また、最初の入力クロックCLKI=CLKI1の立ち上がりエッジの発生時、SELCK=“1”であることから、マルチプレクサ823は、入力クロックCLKI1に対応した分周比データRBを出力している。このため、ダウンカウンタ1aは、最初の入力クロックCLKI=CLKI1の立ち上がりエッジにより分周比データRBを取り込んでカウント値CNT1とし、カウント終了信号OVRを“0”とする。
【0047】
次にクロック切り替え後、2番目の入力クロックCLKI=CLKI1がクロック切り替え部7から出力されると、この入力クロックCLKI=CLKI1の立ち上がりエッジにより、ダウンカウンタ1aの出力しているカウント終了信号OVR=“0”がフリップフロップ1bに書き込まれ、リファレンスクロックCLKREFが“0”になる。また、2番目の入力クロックCLKI=CLKI1の立ち上がりエッジにより、ダウンカウンタ1aは、カウント値CNT1をRB−1とする。以後、分周器1は、入力クロックCLKI=CLKI1のダウンカウントを行う。そして、カウント値CNT1が「0」になると、リファレンスクロックCLKREFを発生し、分周比データRBを取り込んでカウント値CNT1とし、再び入力クロックCLKI=CLKI1のダウンカウントを行うという動作を繰り返す(以上、図6右側参照)。
【0048】
一方、入力クロックCLKI1を入力クロックCLKIとして出力する動作が開始され(時刻t25)、不一致検出信号NE2が“0”になると、図7に示すように、その後の出力クロックCLKOの2番目の立ち上がりエッジに同期してリセット信号R6が“0”になる。そして、リセット信号R6が“0”になると、その後の出力クロックCLKOの立ち上がり時、分周器6では、ダウンカウンタ6aの出力するカウント終了信号OVF=“1”がフリップフロップ106bに書き込まれ、フィードバッククロックCLKFBが“1”になる。また、同出力クロックCLKOの立ち上がり時、その時点におけるクロック選択指令SELCKが“1”であることから、マルチプレクサ834は、入力クロックCLKI1に対応した分周比データFBを出力している。このため、同出力クロックCLKOの立ち上がりにより、ダウンカウント6bは、分周比データFBを取り込んでカウント値CNT6とし、カウント終了信号OVFを“0”とする。
【0049】
その後、後続の出力クロックCLKOが発生すると、分周器6では、ダウンカウンタ6aの出力するカウント終了信号OVF=“0”がフリップフロップ106bに書き込まれ、フィードバッククロックCLKFBが“0”になる。また、同出力クロックCLKOの立ち上がりにより、ダウンカウント6bは、カウント値CNT6をFB−1とする。以後、分周器6は、出力クロックCLKOのダウンカウントを行う。そして、カウント値CNT6が「0」になると、フィードバッククロックCLKFBを発生し、分周比データFBを取り込んでカウント値CNT6とし、再び出力クロックCLKOのダウンカウントを行うという動作を繰り返す(以上、図7右側参照)。
【0050】
以上、クロック選択情報SELが“0”から“1”に切り替えられる場合の動作を説明したが、“1”から“0”に切り替えられる場合の動作も同様である(図5右側参照)。
【0051】
以上説明したように、本実施形態によれば、クロック選択情報SELの切り替わり後、リファレンスクロックCLKREFが出力されたとき、クロック切り替え部7によるクロック切り替え動作を開始させるとともに、このクロック切り替えが行われる間、分周器1および6を停止させ、クロック切り替えが完了してクロック選択情報SELにより指定された入力クロックCLKI0またはCLKI1の出力が開始されるのに合わせて、切り替え後の新たな入力クロックに対応した分周比での分周動作(ダウンカウント)を分周器1および6に開始させている。従って、入力クロックの切り替え後、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBの発生タイミングをほぼ一致させるころができ、ループ部2に同期外れが発生するのを防止することができる。
【0052】
<第2実施形態>
図8はこの発明の第2実施形態であるクロック発生回路の構成を示す回路図である。また、図9は本実施形態の動作の概略を示すタイムチャートである。図10は本実施形態の各部の波形を示すタイムチャートである。上記第1実施形態では、クロック選択情報SELが切り替えられた場合に、その後、分周器1における入力クロックCLKIのカウント値CNT1が「0」となってリファレンスクロックCLKREFが出力されたとき、クロック選択指令SELCKをクロック選択情報SELに合わせて切り替えた。これに対し、本実施形態では、図9に示すように、例えば分周器1が分周比データRAに基づく分周動作を行っている期間にクロック選択情報SELが“0”から“1”に切り替えられた場合、そのクロック選択情報SELの切り替わり後、分周器1における入力クロックCLKIのカウント値CNT1が分周比データRAと「0」の中間の値の切り替え基準データMIDA(例えばMIDA=RA/2)になったのに応じて、クロック選択指令SELCKをクロック選択情報SELに合わせて切り替える。
【0053】
このようなクロック選択指令SELCKの切り替えを実現するため、本実施形態によるクロック発生回路のタイミング制御部8Aには、図8に示すように、マルチプレクサ824と、一致検出部825と、フリップフロップ826が設けられている。
【0054】
ここで、マルチプレクサ824は、クロック判定信号DSELCKが“0”である場合(すなわち、現在、入力クロックCLKI0がクロック切り替え部7から出力されている場合)には、入力クロックCLKI0の分周動作に対応して設定された切り替え基準データMIDA(例えばMIDA=RA/2)を出力し、クロック判定信号DSELCKが“1”である場合(すなわち、現在、入力クロックCLKI1がクロック切り替え部7から出力されている場合)には、入力クロックCLKI1の分周動作に対応して設定された切り替え基準データMIDB(例えばMIDB=RB/2)を出力する。一致検出部825は、分周器1のダウンカウンタ1aのカウント値CNT1がマルチプレクサ824の出力データと一致している場合は“1”を、不一致の場合は“0”を出力する。フリップフロップ826は、この一致検出部826は、この一致検出部825の出力信号を入力クロックCLKIの立ち上がりエッジにより取り込み、信号SELEとしてフリップフロップ803のイネーブル端子ENに供給する。
【0055】
この構成によれば、図10に示すように、クロック選択情報SELが“0”から“1”になった後、分周器1のカウント値CNT1が切り替え基準データMIDAと一致した場合に、その直後の入力クロックCLKIの立ち上がりエッジにより信号SELEおよびリセット信号R1が“1”となり、2番目の入力クロックCLKIの立ち上がりエッジによりダウンカウンタ1aがリセットされ、カウント値CNT1が「0」、カウント終了信号OVRが“1”となる。また、2番目の入力クロックCLKIの立ち上がりエッジによりクロック選択指令SELCKが“0”から“1”に切り替わり、クロック切り替え部7では入力クロックCLKIを入力クロックCLKI0から入力クロックCLKI1に切り替えるための動作が開始される。この間、入力クロック信号CLKIの出力が途絶えるため、分周器1では、CNT1=「0」、OVR=“1”の状態が維持される。
【0056】
その後、クロック切り替え部7によるクロック切り替え動作が完了し、クロック切り替え後の最初の入力クロックCLKI=CLKI1が出力されると、分周器1のフリップフロップ1bは、この入力クロックCLKIの立ち上がりエッジに同期して、その時点におけるカウント終了信号OVR=“1”を取り込み、リファレンスクロックCLKREFとして出力する。また、分周器1におけるダウンカウンタ1aは、同入力クロックCLKIの立ち上がりエッジに同期して、分周比データRBを取り込んでカウント値CNT1をRBとし、カウント終了信号OVRを“0”にする。一方、クロック切り替え後の最初の入力クロックCLKI=CLKI1が出力されるとき、クロック判定信号DSELCKが“0”から“1”に切り替わり、不一致検出信号NE1が“0”となる。
【0057】
次にクロック切り替え後の2番目の入力クロックCLKIが出力されると、カウント終了信号OVRを“0”がフリップフロップ1aに書き込まれて、リファレンスクロックCLKREFが“0”となり、ダウンカウンタ1aでは、カウント値CNT1がRB−1とされる。以後、ダウンカウンタ1aでは入力クロックCLKIのダウンカウントが行われる。そして、カウント値CNT1が「0」になる毎に、リファレンスクロックCLKREFの発生と、分周比データRBをカウント値CNT1とする動作が繰り返される。
他の動作は上記第1実施形態と同様である。
本実施形態においても上記第1実施形態と同様な効果が得られる。
【0058】
<他の実施形態>
以上、この発明の第1および第2実施形態を説明したが、この発明には、他にも各種の実施形態が考えられる。例えば次の通りである。
【0059】
(1)上記各実施形態では、クロック切り替え部7は、2種類の入力クロックの中の1種類の入力クロックを選択して出力するようにしたが、3種類以上の入力クロックの中の1種類の入力クロックを選択して出力するクロック切り替え部を採用してもよい。
【0060】
(2)上記各実施形態では、クロック選択情報SELの切り替わり後、分周器1のカウント値が所定値になるのに応じて、クロック選択指令SELCKを切り替えたが、クロック選択情報SELの切り替わり後、分周器6のカウント値が所定値になるのに応じて、クロック選択指令SELCKの切り替えを行ってもよい。
【0061】
(3)上記各実施形態では、入力クロックCLKIの切り替え前後において出力クロックCLKOの周波数が同じになるように、分周比データRA、RB、FA、FBを決定したが、そのような分周比データRA、RB、FA、FBを決定するのが難しく、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBの位相差が大きくなるおそれがないのであれば、出力クロックCLKOの周波数が変化するように分周比データを設定してもよい。
【0062】
(4)上記各実施形態では、クロック選択情報SELの切り替わり後、クロック切り替え部7に対するクロック選択指令SELCKを切り替えるとともに、分周器1に1個のリファレンスクロックを出力させるための入力クロックの個数R(=DIVR+1)と、分周器6に1個のフィードバッククロックを出力させるための出力クロックの個数F(=DIVF+1)の設定を切り替え、クロック切り替え部7が切り替え後のクロック選択指令SELCKにより指定された入力クロックの出力を開始したことを示すクロック判定信号DSELCKが発生したときに、切り替え後の新たな設定個数に対応したカウント動作を分周器1および6に開始させた。しかし、切り替え後の新たな設定個数に対応したカウント動作を分周器1および6に開始させる契機として、クロック判定信号DSELCKの変化以外のものを採用してもよい。例えばクロック選択指令SELCKの切り替えがあると、その後、必ず信号が変化するようなノードをクロック発生回路が含む場合に、そのようなノードの信号変化を、切り替え後の新たな設定個数に対応したカウント動作を分周器1および6に開始させる契機として採用してもよい。この契機となる信号は、上記各実施形態におけるクロック判定信号DSELCKである必要はなく、例えばクロック選択指令SELCKを所定時間遅延させた信号であってもよい。
【符号の説明】
【0063】
7……クロック切り替え部、8,8A……タイミング制御部、1,6……分周器、2……ループ部、3……位相比較器、4……ループフィルタ、5……VCO、701〜704,711〜714,706,716,801,802,803,812,826,832,833,1b,6b……フリップフロップ、705,715,707,717,812,822……ANDゲート、720……ORゲート、823,824,834……マルチプレクサ、821,831……不一致検出部、1a,6a……ダウンカウンタ、825……一致検出部。
【技術分野】
【0001】
この発明は、PLL(Phase Locked Loop;位相同期ループ)を利用したクロック発生回路に関する。
【背景技術】
【0002】
PLLは、入力信号に位相同期したクロックを発生する回路であり、各種の分野において使用されている。図11はPLLの一般的な構成を示すブロック図である。図11において、分周器1は、入力クロックCLKIを予め設定された分周比1/Rで分周することにより入力クロックCLKIの1/Rの周波数のリファレンスクロックCLKREFをループ部2の位相比較器3に出力する。ループ部2は、この位相比較器3と、ループフィルタ4と、VCO(Voltage Controlled Oscillator;電圧制御発振器)5と、分周器6とを図示のようにループ状に接続した回路である。ここで、位相比較器3は、リファレンスクロックCLKREFと分周器6が出力するフィードバッククロックCLKFBとの位相比較を行い、両クロックの位相誤差を示す位相誤差信号を出力する。ループフィルタ4は、この位相誤差信号の高域成分を除去し、周波数制御電圧として出力する。VCO5は、周波数制御電圧に応じた周波数で発振し、出力クロックCLKOを発生する。分周器6は、この出力クロックCLKOを予め設定された分周比1/Fで分周することにより出力クロックCLKOの1/Fの周波数のフィードバッククロックCLKFBを位相比較器3に出力する。
【0003】
この構成によれば、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相が遅れている場合には、その遅れ量を示す位相誤差信号が位相比較器3から出力される。これにより周波数制御電圧が上昇して出力クロックCLKOの周波数が上昇し、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相を相対的に進めるフィードバック制御が行われる。一方、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相が進んでいる場合には、その進み量を示す位相誤差信号が位相比較器3から出力される。これにより周波数制御電圧が低下して出力クロックCLKOの周波数が低下し、リファレンスクロックCLKREFの位相に対してフィードバッククロックCLKFBの位相を相対的に遅らせるフィードバック制御が行われる。このようなフィードバック制御が行われる結果、フィードバッククロックCLKFBの位相がリファレンスクロックCLKREFの位相に同期化され、入力クロックCLKIに位相同期し、かつ、入力クロックCLKIのF/R倍の周波数を有する出力クロックCLKOがVCO5から得られる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−126411号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述のようにPLLは、出力クロックCLKOを生成するために、入力クロックCLKIの供給を受ける必要がある。ここで、入力クロックCLKIの発生源である装置が常時動作しており、入力クロックCLKIがPLLに定常的に供給される場合には、PLLは、その入力クロックCLKIを用いて、PLLが設けられている装置のために出力クロックCLKOを発生することが可能である。しかしながら、システムによっては、特定の装置を常時動作させ、PLLに対して入力クロックCLKIを常時供給させることが困難な場合もある。そこで、入力クロックCLKIの供給元となる装置を複数定め(たとえば装置AおよびBとする)、装置Bが動作を停止する場合には装置AからPLLに例えば入力クロックCLKI0を供給し、装置Aが動作を停止する場合には装置BからPLLに例えば入力クロックCLKI1を供給するようにシステムを構成することが考えられる。このようなシステムによれば、PLLに対する入力クロックの供給を途絶えさせず、PLLの設けられた装置のためにPLLが出力クロックCLKOを発生し続けることができる。しかしながら、装置Aが出力する入力クロックCLKI0の周波数と、装置Bが出力する入力クロックCLKI1の周波数が異なっている場合がある。この場合、入力クロックの切り替え前後において同じ周波数の出力クロックCLKOをPLLに発生させるためには、切り替え後の入力クロックの周波数に適合するように分周器1の分周比1/Rまたは分周器6の分周比1/Fを変更する必要がある。しかし、そのような分周比の変更を行ったとしても、入力クロックの切り替えを行うと、PLLが同期外れを起し、出力クロックCLKOの周波数が長期に亙って不安定になるという問題が発生する。
【0006】
ここで、図12を参照し、この問題について説明する。図12には、分周器1における入力クロックCLKIのカウント値CNT1と、リファレンスクロックCLKREFの発生状況と、分周器6における出力クロックCLKOのカウント値CNT6と、フィードバッククロックCLKFBの発生状況が示されている。この例において、分周器1は、入力クロックCLKIのダウンカウントを行い、カウント値が「0」になると、カウント値をR−1に設定し、リファレンスクロックCLKREFを発生するという動作を繰り返している。また、分周器6は、出力クロックCLKOのダウンカウントを行い、カウント値が「0」になると、カウント値をF−1に設定し、フィードバッククロックCLKFBを発生するという動作を繰り返している。リファレンスクロックCLKREFに対してフィードバッククロックCLKFBが位相同期した状態では、分周器1のカウント値CNT1の変化と分周器6のカウント値CNT6の変化は同期している。
【0007】
このような動作が行われているとき、入力クロックCLKIの切り替えを行うと、切り替え後の入力クロックの周波数が切り替え前よりも高くなる場合には、破線L1に示すように、カウント値CNT1の時間勾配が急になり、フィードバッククロックCLKFBの発生タイミングよりも早くリファレンスクロックCLKREFが発生する。逆に切り替え後の入力クロックの周波数が切り替え前よりも低くなる場合には、破線L2に示すように、カウント値CNT1の時間勾配が緩くなり、フィードバッククロックCLKFBの発生タイミングよりも遅くリファレンスクロックCLKREFが発生する。このようにフィードバッククロックCLKFBに対して大きな位相差を持ったリファレンスクロックCLKREFが位相比較器3に与えられると、大きな位相誤差信号が発生し、PLLが同期外れを起す。
【0008】
この発明は、以上説明した事情に鑑みてなされたものであり、PLLを動作させた状態において、同期外れを起させることなく、入力クロックの切り替えおよびそれに伴う分周比の切り替えを行うことが可能なクロック発生回路を提供することを目的とする。
【課題を解決するための手段】
【0009】
この発明は、R個(Rは整数)の入力クロックをカウントする毎に、リファレンスクロックを出力する第1の分周器と、F個(Fは整数)の出力クロックをカウントする毎に、フィードバッククロックを出力する第2の分周器を含み、前記リファレンスクロックと前記フィードバッククロックとの位相誤差に基づいて前記出力クロックの周波数を制御することにより、前記リファレンスクロックに位相同期し、かつ、前記リファレンスクロックのF倍の周波数を有する出力クロックを生成するループ部と、複数種類の入力クロックの中からクロック選択指令により指定された1種類の入力クロックを選択して前記第1の分周器に供給するクロック切り替え部と、入力クロックを指定するクロック選択情報が切り替わるのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替えるとともに、前記第1の分周器に1個のリファレンスクロックを出力させるための入力クロックの個数Rと、前記第2の分周器に1個のフィードバッククロックを出力させるための出力クロックの個数Fのうちの少なくとも一方の設定を切り替え、切り替え後の設定個数Rに対応した入力クロックの前記第1の分周器によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの前記第2の分周器によるカウント動作の両方を開始させるタイミング制御部とを具備することを特徴とするクロック発生回路を提供する。
【0010】
かかる発明によれば、タイミング制御部は、入力クロックを指定するクロック選択情報が切り替わるのに応じて、クロック切り替え部に対するクロック選択指令を切り替えるとともに、第1の分周器に1個のリファレンスクロックを出力させるための入力クロックの個数Rと、第2の分周器に1個のフィードバッククロックを出力させるための出力クロックの個数Fのうちの少なくとも一方の設定を切り替える。そして、タイミング制御部は、切り替え後の設定個数Rに対応した入力クロックの第1の分周器によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの第2の分周器によるカウント動作の両方を開始させる。ここで、入力クロックの切り替え後において、第1の分周器に与えられる入力クロックと第2の分周器に与えられる出力クロックは非同期であり、エッジが揃っていないが、第1および第2の分周器は、タイミング制御部による制御の下、切り替え後の入力クロックに対応した新たな分周比での分周動作をほぼ同時に開始し、その後、リファレンスクロックおよびフィードバッククロックをほぼ同じタイミングにおいて出力することとなる。従って、ループ部に同期外れが発生するのを防止することができる。
【0011】
なお、特許文献1は、PLLの出力クロックの周波数を一定にするために、入力信号の周波数に応じて出力クロックを分周してフィードバッククロックを得る際の分周比を切り換える技術を開示している。しかし、この特許文献1は、本発明のように、PLLを動作させた状態において入力クロックの切り替えを行う技術に関するものではなく、入力クロックの切り替えに伴ってPLLの動作が不安定になるのを防止するための手段を全く開示していない。
【図面の簡単な説明】
【0012】
【図1】この発明の第1実施形態であるクロック発生回路の概略構成を示すブロック図である。
【図2】同クロック発生回路の詳細な構成を示す回路図である。
【図3】同クロック発生回路におけるクロック切り替え部の動作を示すタイムチャートである。
【図4】同クロック発生回路の概略動作を示すタイムチャートである。
【図5】同クロック発生回路の動作の詳細を示すタイムチャートである。
【図6】同クロック発生回路におけるクロック切り替え開始時付近の詳細な動作およびクロック切り替え完了時付近の詳細な動作を示すタイムチャートである。
【図7】同クロック発生回路におけるクロック切り替え開始時付近の詳細な動作およびクロック切り替え完了時付近の詳細な動作を示すタイムチャートである。
【図8】この発明の第2実施形態であるクロック発生回路の構成を示す回路図である。
【図9】同クロック発生回路の概略動作を示すタイムチャートである。
【図10】同クロック発生回路におけるクロック切り替え開始時付近の詳細な動作およびクロック切り替え完了時付近の詳細な動作を示すタイムチャートである。
【図11】一般的なPLLの構成を示すブロック図である。
【図12】同PLLにおいて入力クロックの切り替えを行った場合に生じる問題点を説明するタイムチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照し、この発明の一実施形態について説明する。
<第1実施形態>
図1はこの発明の第1実施形態であるクロック発生回路の構成を示すブロック図である。図1において、分周器1およびループ部2からなる部分の回路構成は、前掲図11に示されたものと基本的に同様である。
【0014】
本実施形態によるクロック発生回路の特徴は、この分周器1およびループ部2からなる回路に対して付加されたクロック切り替え部7とタイミング制御部8にある。クロック切り替え部7には、周波数の異なった2種類の入力クロックCLKI0およびCLKI1が与えられる。クロック切り替え回路7は、タイミング制御部8から与えられるクロック選択指令SELCKに従って、入力クロックCLKI0およびCLKI1の一方を選択し、入力クロックCLKIとして分周器1に供給する回路である。タイミング制御部8は、上位装置からクロック選択情報SELが与えられるに応じて、クロック切り替え部7に対するクロック選択指令SELCKを発生するとともに、分周器1および6の動作を制御する回路である。
【0015】
さらに詳述すると、このタイミング制御部8は、入力クロックCLKI0の周波数をfi0、入力クロックCLKI1の周波数をfi1、VCO5の出力クロックCLKOの周波数をfoとした場合に、出力クロックCLKOの周波数foを変化させることなく下記式(1)および(2)を各々満足することができる分周比データRAおよびFAの組と、分周比データRBおよびFBの組を記憶している。
fi0/(RA+1)=fo/(FA+1) ……(1)
fi1/(RB+1)=fo/(FB+1) ……(2)
【0016】
そして、タイミング制御部8は、入力クロックCLKI0の選択を指令するクロック選択指令SELCKを出力する場合には、入力クロックCLKI0に適した分周比データRAおよびFAを分周器1および6に各々設定し、入力クロックCLKI1の選択を指令するクロック選択指令SELCKを出力する場合には、入力クロックCLKI1に適した分周比データRBおよびFBを分周器1および6に各々設定する制御を行う。その際にタイミング制御部8は、ループ部2が同期外れを起さないように、入力クロックCLKIの切り替え動作開始時に、分周器1および6をリセットして停止させるとともに、切り替え後の入力クロックCLKIに適した各分周比を分周器1および6に設定し、入力クロックCLKIの切り替え完了後、分周器1および6の分周動作を同時に開始させる制御を行う。この制御が行われることにより、入力クロックCLKIの切り替え完了後、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBが同相で位相比較器3に供給されるので、ループ部2の同期外れの発生を防止することができる。
【0017】
図2は本実施形態によるクロック発生回路の詳細な構成を示す回路図である。まず、クロック切り替え部7について説明する。クロック切り替え部7には、入力クロックCLKI0およびCLKI1と、タイミング制御部8が発生するクロック選択指令SELCKが与えられる。フリップフロップ701および702は、入力クロックCLKI1の立ち上がりエッジに同期してクロック選択指令SELCKを順次シフトする。フリップフロップ703および704は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ702の出力信号S01を順次シフトする。ANDゲート705は、フリップフロップ704の出力信号S02およびクロック選択指令SELCKの両方が“0”の場合に出力信号S03を“1”とし、それ以外の場合には出力信号S03を“0”とする。フリップフロップ706は、入力クロックCLKI0の立ち下がりエッジに同期してANDゲート705の出力信号S03を取り込んで出力する。ANDゲート707は、フリップフロップ706の出力信号S04が“1”である場合に入力クロックCLKI0を通過させ、それ以外の場合には“0”を出力する。
【0018】
一方、フリップフロップ711および712は、入力クロックCLKI0の立ち上がりエッジに同期してクロック選択指令SELCKを順次シフトする。フリップフロップ713および714は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ712の出力信号S11を順次シフトする。ANDゲート715は、フリップフロップ714の出力信号S12およびクロック選択指令SELCKの両方が“1”の場合に出力信号S13を“1”とし、それ以外の場合には出力信号S13を“0”とする。フリップフロップ716は、入力クロックCLKI1の立ち下がりエッジに同期してANDゲート715の出力信号S13を取り込んで出力する。ANDゲート717は、フリップフロップ716の出力信号S14が“1”である場合に入力クロックCLKI1を通過させ、それ以外の場合には“0”を出力する。ORゲート720は、入力クロックCLKI0がANDゲート707を通過する場合にはその入力クロックCLKI0を入力クロックCLKIとして出力し、入力クロックCLKI1がANDゲート717を通過する場合にはその入力クロックCLKI1を入力クロックCLKIとして出力する。以上がクロック切り替え部7の構成である。
【0019】
このクロック切り替え部7の機能の概略は次の通りである。まず、クロック選択指令SELCKが“0”となった場合、クロック切り替え部7では、最終的にANDゲート705の出力信号S03およびフリップフロップ706の出力信号S04が“1”、ANDゲート715の出力信号S13およびフリップフロップ716の出力信号S14が”0”となり、入力クロックCLKI0がANDゲート707およびORゲート720を通過し、入力クロックCLKIとして出力される。また、クロック選択指令SELCKが“1”となった場合、クロック切り替え部7では、最終的にANDゲート705の出力信号S03およびフリップフロップ706の出力信号S04が“0”、ANDゲート715の出力信号S13およびフリップフロップ716の出力信号S14が”1”となり、入力クロックCLKI1がANDゲート717およびORゲート720を通過し、入力クロックCLKIとして出力される。なお、クロック切り替え部7の各部の詳細な動作については後述する。
【0020】
次に分周器1および6について説明する。分周器1は、ダウンカウンタ1aとフリップフロップ1bとにより構成されている。ここで、ダウンカウンタ1aは、クロック切り替え部7からの入力クロックCLKIの立ち上がりエッジに同期してカウント値CNT1を1ずつ減算し、カウント値CNT1が「0」になった場合には、その後の入力クロックCLKIの立ち上がりエッジに同期して分周比データDIVRをカウント値CNT1として取り込む、という動作を繰り返すカウンタである。また、このダウンカウンタ1aは、リセット端子Rに与えられるリセット信号R1が“1”になったとき、その後の入力クロックCLKIの立ち上がりエッジに同期してカウント値CNT1を「0」にリセットする。また、ダウンカウンタ1aは、カウント値CNT1が「0」である期間、カウント終了信号OVRを“1”とし、カウント値CNT1が「0」以外の値である期間、カウント終了信号OVRを“0”にする。フリップフロップ1bは、ダウンカウンタ1aが出力するカウント終了信号OVRを入力クロックCLKIの立ち上がりエッジに同期して取り込み、リファレンスクロックCLKREFとして位相比較器3に出力する。
【0021】
分周器6は、ダウンカウンタ6aとフリップフロップ6bとにより構成されている。ここで、ダウンカウンタ6aは、VCO5からの出力クロックCLKOの立ち上がりエッジに同期してカウント値CNT6を1ずつ減算し、カウント値CNT6が「0」になった場合には、その後の出力クロックCLKOの立ち上がりエッジに同期して分周比データDIVFをカウント値CNT6として取り込む、という動作を繰り返すカウンタである。また、このダウンカウンタ6aは、リセット端子Rに与えられるリセット信号R6が“1”になったとき、その後の出力クロックCLKOの立ち上がりエッジに同期してカウント値CNT6を「0」にリセットする。また、ダウンカウンタ6aは、カウント値CNT6が「0」である期間、カウント終了信号OVFを“1”とし、カウント値CNT6が「0」以外の値である期間、カウント終了信号OVFを“0”にする。フリップフロップ6bは、ダウンカウンタ6aが出力するカウント終了信号OVFを出力クロックCLKOの立ち上がりエッジに同期して取り込み、フィードバッククロックCLKFBとして位相比較器3に出力する。
【0022】
次にタイミング制御部8について説明する。フリップフロップ801〜803は、上位装置から与えられるクロック選択情報SELに基づいてクロック選択指令SELCKを発生する回路を構成している。まず、フリップフロップ801および802は、クロック選択情報SELを入力クロックCLKIの立ち上がりエッジに同期して順次シフトし、信号SELDとして出力する。そして、フリップフロップ803は、イネーブル端子ENに与えられるリファレンスクロックCLKREFが“1”である期間、入力クロックCLKIの立ち上がりエッジに同期してフリップフロップ802の出力信号SELDを取り込み、クロック選択指令SELCKとして出力する。上述したクロック切り替え部7では、このクロック選択指令SELCKに基づいて入力クロックの選択が行われる。
【0023】
AND811およびフリップフロップ812は、現在、入力クロックCLKIとして出力されているものが入力クロックCLKI0またはCLKI1のいずれであるかを示すクロック判定信号DSELCKを出力する回路を構成している。ここで、ANDゲート811は、クロック切り替え部7のANDゲート705の出力信号S03が“0”、ANDゲート715の出力信号S13が“1”の場合に“1”を出力し、それ以外の場合に“0”を出力する。そして、フリップフロップ812は、このANDゲート811の出力信号を入力クロックCLKIの立ち上がりエッジに同期して取り込み、クロック判定信号DSELCKとして出力する。このクロック判定信号DSELCKは、クロック選択指令SELCKが“0”から“1”に切り替わった後、入力クロックCLKI1を入力クロックCLKIとして出力する動作が開始されるときに“0”から“1”になる。また、クロック判定信号DSELCKは、クロック選択指令SELCKが“1”から“0”に切り替わった後、入力クロックCLKI0を入力クロックCLKIとして出力する動作が開始されるときに“1”から“0”になる。なお、このクロック判定信号DSELCKを発生する動作の詳細については後述する。
【0024】
不一致検出部821およびANDゲート822は、クロック選択情報SELが切り替わった後、分周器1がリファレンスクロックCLKREFを発生した場合に、このリファレンスクロックCLKREFをリセット信号R1として分周器1に供給する回路を構成している。さらに詳述すると、不一致検出部821は、フリップフロップ802の出力信号SELDとクロック判定信号DSELCKとが一致しているときは不一致検出信号NE1を“0”とし、不一致の場合は不一致検出信号NE1を“1”とする。そして、ANDゲート822は、不一致検出信号NE1が“1”である期間に発生するリファレンスクロックCLKREFをリセット信号R1として分周器1のダウンカウンタ1aに供給する。
【0025】
マルチプレクサ823は、クロック選択指令SELCKが“0”である場合には入力クロックCLKI0に対応した分周比データRAを選択し、“1”である場合には入力クロックCLKI1に対応した分周比データRBを選択し、ダウンカウンタ1aに分周比データDIVRとして供給する。
【0026】
不一致検出部831、フリップフロップ832および833は、クロック選択指令SELCKが変化してからクロック選択指令SELCKにより指定された入力クロックCLKI0またはCLKI1が入力クロックCLKIとして出力され始めるまでの期間、分周器6を停止させる回路を構成している。さらに詳述すると、不一致検出部831は、クロック選択指令SELCKとクロック判定回路DSELCKとが一致している場合は不一致検出信号NE2を“0”とし、不一致の場合は“1”とする。フリップフロップ832および833は、不一致検出信号NE2を出力クロックCLKOの立ち上がりエッジに同期して順次シフトし、リセット信号R6としてダウンカウンタ6aおよびフリップフロップ6bに出力する。
【0027】
マルチプレクサ834は、クロック選択指令SELCKが“0”である場合には入力クロックCLKI0に対応した分周比データFAを選択し、“1”である場合には入力クロックCLKI1に対応した分周比データFBを選択し、ダウンカウンタ6aに分周比データDIVFとして供給する。
以上が本実施形態によるクロック発生回路の構成の詳細である。
【0028】
次に本実施形態の動作を説明する。図3はクロック切り替え部7のクロック切り替え動作の詳細を示すタイムチャートである。図3に示す例では、初期状態において、SELCK=“0”、S01=“0”、S02=“0”、S03=“1”、S04=“1”、S11=“0”、S12=“0”、S13=“0”、S14=“0”となっている。この場合、入力クロックCLKI0がANDゲート707およびORゲート730を通過し、入力クロックCLKIとなって出力される。
【0029】
次にクロック選択指令SELCKが入力クロックCLKI=CLKI0の立ち上がりエッジに同期して“0”から“1”に立ち上がると(時刻t1)、ANDゲート705の出力信号S03が“0”になり、その後の入力クロックCLKI0の立ち下がりエッジによりこの信号S03がフリップフロップ706に書き込まれ、フリップフロップ706の出力信号S04が“0”になる(時刻t2)。これによりANDゲート707は入力クロックCLKI0の通過を阻止し、入力クロックCLKIが停止する。その後、クロック選択指令SELCK=“1”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ701および702を順次通過し、フリップフロップ702の出力信号S01が“1”となり(時刻t3)、この信号S01=“1”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ703および704を順次通過し、フリップフロップ704の出力信号S02が“1”となる(時刻t4)。
【0030】
一方、クロック選択指令SELCK=“1”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ711および712を順次通過し、フリップフロップ712の出力信号S11が“1”となり(時刻t11)、この信号S11=“1”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ713および714を順次通過し、フリップフロップ714の出力信号S12が“1”となる(時刻t12)。この結果、ANDゲート715の出力信号S13が“1”となる。この信号S13=“1”が入力クロックCLKI1の立ち下がりエッジによりフリップフロップ716に書き込まれ、フリップフロップ716の出力信号S14が“1”になる(時刻t13)。この結果、フリップフロップ716の出力信号S14を“1”に立ち上げた入力クロックCLKI1の立ち下がりエッジの次の立ち上がりエッジから入力クロックCLKI1がANDゲート717を通過し、入力クロックCLKIとして出力される(時刻t14)。
【0031】
このようにして、入力クロックCLKIの停止後、入力クロックCLKI1の最初の立ち上がりエッジがORゲート720から出力されるとき、S03=“0”、S13=“1”となっていることからANDゲート811の出力信号が“1”となっている。この結果、信号“1”が同入力クロックCLKI1の最初の立ち上がりエッジによりフリップフロップ812に書き込まれる。このため、フリップフロップ812が出力するクロック判定信号DSELCKは、クロック選択指令SELCK=“1”により指定された入力クロックCLKI1のORゲート720からの出力が開始されるとき、“0”から“1”に立ち上がる。
【0032】
次にクロック選択指令SELCKが入力クロックCLKI=CLKI1の立ち上がりエッジに同期して“1”から“0”に立ち下がると(時刻t5)、ANDゲート715の出力信号S13が“0”になり、この信号S13がその後の入力クロックCLKI1の立ち下がりエッジによりフリップフロップ716に書き込まれ、フリップフロップ716の出力信号S14が“0”になる(時刻t6)。これによりANDゲート717は入力クロックCLKI1の通過を阻止し、入力クロックCLKIが停止する。その後、クロック選択指令SELCK=“0”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ711および712を順次通過し、フリップフロップ712の出力信号S11が“0”となり(時刻t7)、この信号S11=“0”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ713および714を順次通過し、フリップフロップ714の出力信号S12が“0”となる(時刻t8)。
【0033】
一方、クロック選択指令SELCK=“0”は、入力クロックCLKI1の立ち上がりエッジに同期してフリップフロップ701および702を順次通過し、フリップフロップ702の出力信号S01が“0”となり(時刻t15)、この信号S01=“0”は、入力クロックCLKI0の立ち上がりエッジに同期してフリップフロップ703および704を順次通過し、フリップフロップ704の出力信号S02が“0”となる(時刻t16)。この結果、ANDゲート705の出力信号S03が“1”となる。この信号S03=“1”が入力クロックCLKI0の立ち下がりエッジによりフリップフロップ706に書き込まれ、フリップフロップ706の出力信号S04が“1”になる(時刻t17)。この結果、フリップフロップ706の出力信号S04を“1”に立ち上げた入力クロックCLKI0の立ち下がりエッジの次の立ち上がりエッジから入力クロックCLKI0がANDゲート707を通過し、入力クロックCLKIとして出力される(時刻t18)。
【0034】
このようにして、入力クロックCLKIの停止後、入力クロックCLKI0の最初の立ち上がりエッジがORゲート720から出力されるとき、S03=“1”、S13=“0”となっていることからANDゲート811の出力信号が“0”となっている。この結果、信号“0”が同入力クロックCLKI0の最初の立ち上がりエッジによりフリップフロップ812に書き込まれる。このため、フリップフロップ812が出力するクロック判定信号DSELCKは、クロック選択指令SELCK=“0”により指定された入力クロックCLKI0のORゲート720からの出力が開始されるとき、“1”から“0”に立ち下がる。
【0035】
以上がクロック切り替え部7のクロック切り替え動作の詳細である。このクロック切り替え部7によれば、入力クロックCLKI0およびCLKI1の周波数が大きく異なる状況においても、ORゲート720から得られる入力クロックCLKIの波形にグリッチを生じさせることなくクロック切り替えを行うことができる。
【0036】
次に本実施形態によるクロック発生回路の全体としての動作を説明する。図4は本実施形態によるクロック発生回路の概略動作を示すタイムチャートである。この図4には分周器1におけるダウンカウンタ1aのカウント値CNT1と、分周器6におけるダウンカウンタ6aのカウント値CNT6と、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBの発生状況と、タイミング制御部8によって行われる制御の内容が示されている。
【0037】
図示の例では、分周器1による入力クロックCLKIのダウンカウントが行われている期間内にクロック選択情報SELが切り替えられている。本実施形態では、このクロック選択情報SELの切り替え後、分周器1のダウンカウンタ1aのカウント値CNT1が「0」になると、リファレンスクロックCLKREFが出力される。ここで、リファレンスクロックCLKREFとフィードバッククロックCLKFBとが位相同期している状況では、リファレンスクロックCLKREFが出力されるとき、その近傍のタイミングにおいてフィードバッククロックCLKFBが出力される。
【0038】
そして、タイミング制御部8は、クロック選択情報SELの切り替え後、リファレンスクロックCLKREFが出力されたとき、クロック選択指令SELCKをクロック選択情報SELに応じて切り替えて、クロック選択情報SELに基づく入力クロックの切り替えをクロック切り替え部7に開始させる。そして、タイミング制御部8は、入力クロックの切り替えが行われる間、分周器1および6をリセットしてカウント値CNT1およびCNT6を「0」とし、分周器1および6のカウント動作を停止させる。
【0039】
そして、クロック切り替え部7によるクロック切り替え動作が完了し、クロック選択指令SELCKにより指示された入力クロックCLKI0またはCLKI1のクロック切り替え部7からの出力が開始されるのに合わせて、タイミング制御部8は、新たな入力クロックに対応した分周比でのダウンカウントを分周器1および6に開始させる。このようにして分周器1および6が新たな分周比に対応したダウンカウントを開始するとき、分周器1および6はリファレンスクロックCLKREFおよびフィードバッククロックCLKFBを出力する。以後、分周器1は、新たな分周比に対応した個数だけ入力クロックCLKIをダウンカウントする毎にリファレンスクロックCLKREFを出力し、分周器6は、新たな分周比に対応した個数だけ出力クロックCLKOをダウンカウントする毎にフィードバッククロックCLKFBを出力する。この場合、分周器1および6は、切り替え後の入力クロックCLKIに対応した新たな分周比に基づく分周動作をほぼ同時に開始しているので、ほぼ位相の合ったリファレンスクロックCLKREFおよびフィードバッククロックCLKFBを各々出力することとなる。
【0040】
図5は以上述べたクロック発生回路の動作を詳細に示すタイムチャートである。また、図6および図7は、図5においてクロック切り替えの動作が開始される時刻t24付近の動作の詳細およびクロック切り替えの動作が完了する時刻t25付近の動作の詳細を示すタイムチャートである。図示の例では、初期状態においてSEL=“0”、SELCK=“0”、DSELCK=“0”となっており、入力クロックCLKI0が入力クロックCLKIとして出力され、分周器1ではこの入力クロックCLKI=CLKI0のダウンカウントが行われている。そして、クロック選択情報SELが“0”から“1”に立ち上がると(時刻t21)、このクロック選択情報SEL=“1”が入力クロックCLKI=CLKI0の立ち上がりエッジに同期して、フリップフロップ801および802を順次通過し、フリップフロップ802の出力信号SELDが“1”となる。この結果、不一致検出部821は不一致検出信号NE1を“0”から“1”に立ち上げる(時刻t22)。
【0041】
その後、分周器1のダウンカウンタ1aのカウント値CNT1が「0」になると、図6に示すように、カウント終了信号OVRが“1”となって、この信号OVR=“1”が次の入力クロックCLKI=CLKI0の立ち上がりエッジによりフリップフロップ1bに書き込まれる。この結果、フリップフロップ1bは、リファレンスクロックCLKREFを“0”から“1”に立ち上げる(時刻t23)。このとき、ダウンカウンタ1aは、その時点においてマルチプレクサ823が出力している分周比データRAを入力クロックCLKI=CLKI0の立ち上がりエッジによりカウント値CNT1として取り込み、カウント終了信号OVRを“0”にする。また、リファレンスクロックCLKREFが“1”になることによりANDゲート822はリセット信号R1を“1”にする。
【0042】
そして、リファレンスクロックCLKREFが“1”になった後、入力クロックCLKI=CLKI0が立ち上がると、この立ち上がりエッジにより、フリップフロップ802の出力信号SELD=“1”がフリップフロップ803に書き込まれ、クロック選択指令SELCKが“0”から“1”になる(時刻t24)。これによりクロック切り替え部7では、入力クロックCLKIを入力クロックCLKI0から入力クロックCLKI1に切り替えるための動作が開始され、暫くの間、入力クロックCLKIの出力が途絶える。また、リファレンスクロックCLKREFが“1”になった後の入力クロックCLKI=CLKI0の立ち上がりにより、その時点においてダウンカウンタ1aが出力しているカウント終了信号OVR=“0”がフリップフロップ1bに書き込まれてリファレンスクロックCLKREFが“0”となり、その時点においてリセット信号R1=“1”が与えられているダウンカウンタ1aがリセットされ、ダウンカウンタ1aのカウント値CNT1が「0」、カウント終了信号OVRが“1”となる。以後、入力クロックCLKIが途絶えるため、ダウンカウンタ1aはカウント値CNT1=「0」、カウント終了信号OVR=“1”を維持し、フリップフロップ1bはリファレンスクロックCLKREFを“0”に維持する(以上、図6左側参照)。
【0043】
リファレンスクロックCLKREFとフィードバッククロックCLKFBが位相同期した状態では、以上のようにして分周器1がリファレンスクロックCLKREFを出力するのとほぼ同じ時刻に分周器6がフィードバッククロックCLKFBを出力する(図5の時刻t23付近を参照)。
【0044】
一方、不一致検出部831は、クロック選択指令SELCKが“0”から“1”になったとき(時刻t24)、図7に示すように、不一致検出信号NE2を“1”に立ち上げる。この不一致検出信号NE2=“1”は、出力クロックCLK0の立ち上がりエッジに同期し、フリップフロップ832および833を順次通過し、リセット信号R6としてダウンカウンタ6aおよびフリップフロップ6bに供給される。そして、リセット信号R6が“1”になった後、出力クロックCLKOが立ち上がると、ダウンカウンタ6aおよびフリップフロップ6bがリセットされ、ダウンカウンタ6aのカウント値CNT6は「0」、カウント終了信号OVFは“1”、フィードバッククロックCLKFBは“0”となる。ここで、フリップフロップ832および833は、入力クロックCLKIに同期して変化する不一致検出信号NE2を出力クロックCLKOに同期化させる役割を果たすとともに、分周器6がリファレンスクロックCLKREFとほぼ同時刻にフィードバッククロックCLKFBを出力した後にリセット信号R6=“1”がダウンカウンタ6aおよびフリップフロップ6bに供給されるように、リセット信号R6=“1”の供給を僅かに遅延させる役割を果たす。
【0045】
以後、不一致検出信号NE2が“1”である間、ダウンカウンタ6aおよびフリップフロップ6bにはリセット信号R6=“1”が供給されるため、CNT6=「0」、OVF=“1”、CLKFB=“0”の状態が維持される(以上、図7左側参照)。
【0046】
その後、クロック切り替え部7がクロック切り替え動作を完了し、クロック選択指令SELCK=“1”により指定された入力クロックCLKI1を入力クロックCLKIとして出力する動作を開始すると(時刻t25)、図6に示すように、切り替え後の最初の入力クロックCLKI=CLKI1の立ち上がりエッジにより、ダウンカウンタ1aの出力しているカウント終了信号OVR=“1”がフリップフロップ1bに書き込まれ、リファレンスクロックCLKREFが“1”になる。また、最初の入力クロックCLKI=CLKI1の立ち上がりエッジの発生時、SELCK=“1”であることから、マルチプレクサ823は、入力クロックCLKI1に対応した分周比データRBを出力している。このため、ダウンカウンタ1aは、最初の入力クロックCLKI=CLKI1の立ち上がりエッジにより分周比データRBを取り込んでカウント値CNT1とし、カウント終了信号OVRを“0”とする。
【0047】
次にクロック切り替え後、2番目の入力クロックCLKI=CLKI1がクロック切り替え部7から出力されると、この入力クロックCLKI=CLKI1の立ち上がりエッジにより、ダウンカウンタ1aの出力しているカウント終了信号OVR=“0”がフリップフロップ1bに書き込まれ、リファレンスクロックCLKREFが“0”になる。また、2番目の入力クロックCLKI=CLKI1の立ち上がりエッジにより、ダウンカウンタ1aは、カウント値CNT1をRB−1とする。以後、分周器1は、入力クロックCLKI=CLKI1のダウンカウントを行う。そして、カウント値CNT1が「0」になると、リファレンスクロックCLKREFを発生し、分周比データRBを取り込んでカウント値CNT1とし、再び入力クロックCLKI=CLKI1のダウンカウントを行うという動作を繰り返す(以上、図6右側参照)。
【0048】
一方、入力クロックCLKI1を入力クロックCLKIとして出力する動作が開始され(時刻t25)、不一致検出信号NE2が“0”になると、図7に示すように、その後の出力クロックCLKOの2番目の立ち上がりエッジに同期してリセット信号R6が“0”になる。そして、リセット信号R6が“0”になると、その後の出力クロックCLKOの立ち上がり時、分周器6では、ダウンカウンタ6aの出力するカウント終了信号OVF=“1”がフリップフロップ106bに書き込まれ、フィードバッククロックCLKFBが“1”になる。また、同出力クロックCLKOの立ち上がり時、その時点におけるクロック選択指令SELCKが“1”であることから、マルチプレクサ834は、入力クロックCLKI1に対応した分周比データFBを出力している。このため、同出力クロックCLKOの立ち上がりにより、ダウンカウント6bは、分周比データFBを取り込んでカウント値CNT6とし、カウント終了信号OVFを“0”とする。
【0049】
その後、後続の出力クロックCLKOが発生すると、分周器6では、ダウンカウンタ6aの出力するカウント終了信号OVF=“0”がフリップフロップ106bに書き込まれ、フィードバッククロックCLKFBが“0”になる。また、同出力クロックCLKOの立ち上がりにより、ダウンカウント6bは、カウント値CNT6をFB−1とする。以後、分周器6は、出力クロックCLKOのダウンカウントを行う。そして、カウント値CNT6が「0」になると、フィードバッククロックCLKFBを発生し、分周比データFBを取り込んでカウント値CNT6とし、再び出力クロックCLKOのダウンカウントを行うという動作を繰り返す(以上、図7右側参照)。
【0050】
以上、クロック選択情報SELが“0”から“1”に切り替えられる場合の動作を説明したが、“1”から“0”に切り替えられる場合の動作も同様である(図5右側参照)。
【0051】
以上説明したように、本実施形態によれば、クロック選択情報SELの切り替わり後、リファレンスクロックCLKREFが出力されたとき、クロック切り替え部7によるクロック切り替え動作を開始させるとともに、このクロック切り替えが行われる間、分周器1および6を停止させ、クロック切り替えが完了してクロック選択情報SELにより指定された入力クロックCLKI0またはCLKI1の出力が開始されるのに合わせて、切り替え後の新たな入力クロックに対応した分周比での分周動作(ダウンカウント)を分周器1および6に開始させている。従って、入力クロックの切り替え後、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBの発生タイミングをほぼ一致させるころができ、ループ部2に同期外れが発生するのを防止することができる。
【0052】
<第2実施形態>
図8はこの発明の第2実施形態であるクロック発生回路の構成を示す回路図である。また、図9は本実施形態の動作の概略を示すタイムチャートである。図10は本実施形態の各部の波形を示すタイムチャートである。上記第1実施形態では、クロック選択情報SELが切り替えられた場合に、その後、分周器1における入力クロックCLKIのカウント値CNT1が「0」となってリファレンスクロックCLKREFが出力されたとき、クロック選択指令SELCKをクロック選択情報SELに合わせて切り替えた。これに対し、本実施形態では、図9に示すように、例えば分周器1が分周比データRAに基づく分周動作を行っている期間にクロック選択情報SELが“0”から“1”に切り替えられた場合、そのクロック選択情報SELの切り替わり後、分周器1における入力クロックCLKIのカウント値CNT1が分周比データRAと「0」の中間の値の切り替え基準データMIDA(例えばMIDA=RA/2)になったのに応じて、クロック選択指令SELCKをクロック選択情報SELに合わせて切り替える。
【0053】
このようなクロック選択指令SELCKの切り替えを実現するため、本実施形態によるクロック発生回路のタイミング制御部8Aには、図8に示すように、マルチプレクサ824と、一致検出部825と、フリップフロップ826が設けられている。
【0054】
ここで、マルチプレクサ824は、クロック判定信号DSELCKが“0”である場合(すなわち、現在、入力クロックCLKI0がクロック切り替え部7から出力されている場合)には、入力クロックCLKI0の分周動作に対応して設定された切り替え基準データMIDA(例えばMIDA=RA/2)を出力し、クロック判定信号DSELCKが“1”である場合(すなわち、現在、入力クロックCLKI1がクロック切り替え部7から出力されている場合)には、入力クロックCLKI1の分周動作に対応して設定された切り替え基準データMIDB(例えばMIDB=RB/2)を出力する。一致検出部825は、分周器1のダウンカウンタ1aのカウント値CNT1がマルチプレクサ824の出力データと一致している場合は“1”を、不一致の場合は“0”を出力する。フリップフロップ826は、この一致検出部826は、この一致検出部825の出力信号を入力クロックCLKIの立ち上がりエッジにより取り込み、信号SELEとしてフリップフロップ803のイネーブル端子ENに供給する。
【0055】
この構成によれば、図10に示すように、クロック選択情報SELが“0”から“1”になった後、分周器1のカウント値CNT1が切り替え基準データMIDAと一致した場合に、その直後の入力クロックCLKIの立ち上がりエッジにより信号SELEおよびリセット信号R1が“1”となり、2番目の入力クロックCLKIの立ち上がりエッジによりダウンカウンタ1aがリセットされ、カウント値CNT1が「0」、カウント終了信号OVRが“1”となる。また、2番目の入力クロックCLKIの立ち上がりエッジによりクロック選択指令SELCKが“0”から“1”に切り替わり、クロック切り替え部7では入力クロックCLKIを入力クロックCLKI0から入力クロックCLKI1に切り替えるための動作が開始される。この間、入力クロック信号CLKIの出力が途絶えるため、分周器1では、CNT1=「0」、OVR=“1”の状態が維持される。
【0056】
その後、クロック切り替え部7によるクロック切り替え動作が完了し、クロック切り替え後の最初の入力クロックCLKI=CLKI1が出力されると、分周器1のフリップフロップ1bは、この入力クロックCLKIの立ち上がりエッジに同期して、その時点におけるカウント終了信号OVR=“1”を取り込み、リファレンスクロックCLKREFとして出力する。また、分周器1におけるダウンカウンタ1aは、同入力クロックCLKIの立ち上がりエッジに同期して、分周比データRBを取り込んでカウント値CNT1をRBとし、カウント終了信号OVRを“0”にする。一方、クロック切り替え後の最初の入力クロックCLKI=CLKI1が出力されるとき、クロック判定信号DSELCKが“0”から“1”に切り替わり、不一致検出信号NE1が“0”となる。
【0057】
次にクロック切り替え後の2番目の入力クロックCLKIが出力されると、カウント終了信号OVRを“0”がフリップフロップ1aに書き込まれて、リファレンスクロックCLKREFが“0”となり、ダウンカウンタ1aでは、カウント値CNT1がRB−1とされる。以後、ダウンカウンタ1aでは入力クロックCLKIのダウンカウントが行われる。そして、カウント値CNT1が「0」になる毎に、リファレンスクロックCLKREFの発生と、分周比データRBをカウント値CNT1とする動作が繰り返される。
他の動作は上記第1実施形態と同様である。
本実施形態においても上記第1実施形態と同様な効果が得られる。
【0058】
<他の実施形態>
以上、この発明の第1および第2実施形態を説明したが、この発明には、他にも各種の実施形態が考えられる。例えば次の通りである。
【0059】
(1)上記各実施形態では、クロック切り替え部7は、2種類の入力クロックの中の1種類の入力クロックを選択して出力するようにしたが、3種類以上の入力クロックの中の1種類の入力クロックを選択して出力するクロック切り替え部を採用してもよい。
【0060】
(2)上記各実施形態では、クロック選択情報SELの切り替わり後、分周器1のカウント値が所定値になるのに応じて、クロック選択指令SELCKを切り替えたが、クロック選択情報SELの切り替わり後、分周器6のカウント値が所定値になるのに応じて、クロック選択指令SELCKの切り替えを行ってもよい。
【0061】
(3)上記各実施形態では、入力クロックCLKIの切り替え前後において出力クロックCLKOの周波数が同じになるように、分周比データRA、RB、FA、FBを決定したが、そのような分周比データRA、RB、FA、FBを決定するのが難しく、リファレンスクロックCLKREFおよびフィードバッククロックCLKFBの位相差が大きくなるおそれがないのであれば、出力クロックCLKOの周波数が変化するように分周比データを設定してもよい。
【0062】
(4)上記各実施形態では、クロック選択情報SELの切り替わり後、クロック切り替え部7に対するクロック選択指令SELCKを切り替えるとともに、分周器1に1個のリファレンスクロックを出力させるための入力クロックの個数R(=DIVR+1)と、分周器6に1個のフィードバッククロックを出力させるための出力クロックの個数F(=DIVF+1)の設定を切り替え、クロック切り替え部7が切り替え後のクロック選択指令SELCKにより指定された入力クロックの出力を開始したことを示すクロック判定信号DSELCKが発生したときに、切り替え後の新たな設定個数に対応したカウント動作を分周器1および6に開始させた。しかし、切り替え後の新たな設定個数に対応したカウント動作を分周器1および6に開始させる契機として、クロック判定信号DSELCKの変化以外のものを採用してもよい。例えばクロック選択指令SELCKの切り替えがあると、その後、必ず信号が変化するようなノードをクロック発生回路が含む場合に、そのようなノードの信号変化を、切り替え後の新たな設定個数に対応したカウント動作を分周器1および6に開始させる契機として採用してもよい。この契機となる信号は、上記各実施形態におけるクロック判定信号DSELCKである必要はなく、例えばクロック選択指令SELCKを所定時間遅延させた信号であってもよい。
【符号の説明】
【0063】
7……クロック切り替え部、8,8A……タイミング制御部、1,6……分周器、2……ループ部、3……位相比較器、4……ループフィルタ、5……VCO、701〜704,711〜714,706,716,801,802,803,812,826,832,833,1b,6b……フリップフロップ、705,715,707,717,812,822……ANDゲート、720……ORゲート、823,824,834……マルチプレクサ、821,831……不一致検出部、1a,6a……ダウンカウンタ、825……一致検出部。
【特許請求の範囲】
【請求項1】
R個(Rは整数)の入力クロックをカウントする毎に、リファレンスクロックを出力する第1の分周器と、
F個(Fは整数)の出力クロックをカウントする毎に、フィードバッククロックを出力する第2の分周器を含み、前記リファレンスクロックと前記フィードバッククロックとの位相誤差に基づいて前記出力クロックの周波数を制御することにより、前記リファレンスクロックに位相同期し、かつ、前記リファレンスクロックのF倍の周波数を有する出力クロックを生成するループ部と、
複数種類の入力クロックの中からクロック選択指令により指定された1種類の入力クロックを選択して前記第1の分周器に供給するクロック切り替え部と、
入力クロックを指定するクロック選択情報が切り替わるのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替えるとともに、前記第1の分周器に1個のリファレンスクロックを出力させるための入力クロックの個数Rと、前記第2の分周器に1個のフィードバッククロックを出力させるための出力クロックの個数Fのうちの少なくとも一方の設定を切り替え、切り替え後の設定個数Rに対応した入力クロックの前記第1の分周器によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの前記第2の分周器によるカウント動作の両方を開始させるタイミング制御部と
を具備することを特徴とするクロック発生回路。
【請求項2】
前記タイミング制御部は、前記クロック選択情報が切り替わった後、前記第1の分周器における入力クロックのカウント値または前記第2の分周器における出力クロックのカウント値が所定値になるのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替え、前記クロック切り替え部が切り替え後のクロック選択指令により指定された入力クロックの出力を開始するのに合わせて、前記切り替え後の設定個数Rに対応した入力クロックのカウント動作および前記切り替え後の設定個数Fに対応した出力クロックのカウント動作を前記第1の分周器および前記第2の分周器に開始させることを特徴とする請求項1に記載のクロック発生回路。
【請求項3】
前記クロック切り替え部は、前記クロック選択指令の切り替わりから遅れて切り替え後のクロック選択指令により指定された入力クロックを出力するものであり、
前記タイミング制御部は、前記クロック切り替え部に対する前記クロック選択指令を切り替えるのに応じて、前記第1の分周器および前記第2の分周器を停止させ、前記クロック切り替え部が切り替え後のクロック選択指令により指定された入力クロックの出力を開始するのに合わせて、前記切り替え後の設定個数Rに対応した入力クロックのカウント動作および前記切り替え後の設定個数Fに対応した出力クロックのカウント動作を前記第1の分周器および前記第2の分周器に開始させることを特徴とする請求項1または2に記載のクロック発生回路。
【請求項4】
前記タイミング制御部は、前記クロック切り替え部に対する前記クロック選択指令を切り替えるのに応じて、前記第1の分周器を停止させた後、時間を空けて前記第2の分周器を停止させることを特徴とする請求項1〜3のいずれか1の請求項に記載のクロック発生回路。
【請求項5】
前記タイミング制御部は、前記クロック選択情報の切り替わり後、前記第1の分周器がリファレンスクロックを出力するのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替えることを特徴とする請求項1〜4のいずれか1の請求項に記載のクロック発生回路。
【請求項1】
R個(Rは整数)の入力クロックをカウントする毎に、リファレンスクロックを出力する第1の分周器と、
F個(Fは整数)の出力クロックをカウントする毎に、フィードバッククロックを出力する第2の分周器を含み、前記リファレンスクロックと前記フィードバッククロックとの位相誤差に基づいて前記出力クロックの周波数を制御することにより、前記リファレンスクロックに位相同期し、かつ、前記リファレンスクロックのF倍の周波数を有する出力クロックを生成するループ部と、
複数種類の入力クロックの中からクロック選択指令により指定された1種類の入力クロックを選択して前記第1の分周器に供給するクロック切り替え部と、
入力クロックを指定するクロック選択情報が切り替わるのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替えるとともに、前記第1の分周器に1個のリファレンスクロックを出力させるための入力クロックの個数Rと、前記第2の分周器に1個のフィードバッククロックを出力させるための出力クロックの個数Fのうちの少なくとも一方の設定を切り替え、切り替え後の設定個数Rに対応した入力クロックの前記第1の分周器によるカウント動作および切り替え後の設定個数Fに対応した出力クロックの前記第2の分周器によるカウント動作の両方を開始させるタイミング制御部と
を具備することを特徴とするクロック発生回路。
【請求項2】
前記タイミング制御部は、前記クロック選択情報が切り替わった後、前記第1の分周器における入力クロックのカウント値または前記第2の分周器における出力クロックのカウント値が所定値になるのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替え、前記クロック切り替え部が切り替え後のクロック選択指令により指定された入力クロックの出力を開始するのに合わせて、前記切り替え後の設定個数Rに対応した入力クロックのカウント動作および前記切り替え後の設定個数Fに対応した出力クロックのカウント動作を前記第1の分周器および前記第2の分周器に開始させることを特徴とする請求項1に記載のクロック発生回路。
【請求項3】
前記クロック切り替え部は、前記クロック選択指令の切り替わりから遅れて切り替え後のクロック選択指令により指定された入力クロックを出力するものであり、
前記タイミング制御部は、前記クロック切り替え部に対する前記クロック選択指令を切り替えるのに応じて、前記第1の分周器および前記第2の分周器を停止させ、前記クロック切り替え部が切り替え後のクロック選択指令により指定された入力クロックの出力を開始するのに合わせて、前記切り替え後の設定個数Rに対応した入力クロックのカウント動作および前記切り替え後の設定個数Fに対応した出力クロックのカウント動作を前記第1の分周器および前記第2の分周器に開始させることを特徴とする請求項1または2に記載のクロック発生回路。
【請求項4】
前記タイミング制御部は、前記クロック切り替え部に対する前記クロック選択指令を切り替えるのに応じて、前記第1の分周器を停止させた後、時間を空けて前記第2の分周器を停止させることを特徴とする請求項1〜3のいずれか1の請求項に記載のクロック発生回路。
【請求項5】
前記タイミング制御部は、前記クロック選択情報の切り替わり後、前記第1の分周器がリファレンスクロックを出力するのに応じて、前記クロック切り替え部に対する前記クロック選択指令を切り替えることを特徴とする請求項1〜4のいずれか1の請求項に記載のクロック発生回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−49754(P2012−49754A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−189050(P2010−189050)
【出願日】平成22年8月26日(2010.8.26)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成22年8月26日(2010.8.26)
【出願人】(000004075)ヤマハ株式会社 (5,930)
【Fターム(参考)】
[ Back to top ]