【実施例】
【0015】
図1は、本発明に係るクロック信号生成回路が搭載されているLSIの内部構成を示すブロック図である。
【0016】
図1に示すように、かかるLSIには、このLSIの主となる各種信号処理を行う論理回路部1と、この論理回路部1を動作させる為の高速クロック信号HCLK及びこの高速クロック信号HCLKよりも低周波数の低速クロック信号LSCLKを生成して論理回路部1に供給するクロック信号生成部2と、が構築されている。尚、このLSIには、上記した低速クロック信号LSCLKの発振源となる低周波数の発振信号を発生する第1水晶発振器3と、かかる低速クロック信号LSCLKよりも高周波数の発振信号を生成する第2水晶発振器4と、が外部接続されている。
【0017】
クロック信号生成部2において、起動制御回路20は、発振動作を実行させる場合には論理レベル1、発振動作を停止させる場合には論理レベル0を有する発振イネーブル信号EN
1〜EN
3を夫々、低速水晶発振回路21、高速水晶発振回路22及び高速PLL(Phase Locked Loop)発振回路23の各々に供給する。また、起動制御回路20は、電源投入に応じてリセットパルス信号RSを生成しこれを低速クロック制御回路24及び高速クロック制御回路25の各々に供給する。
【0018】
低速水晶発振回路21は、論理レベル1の発振イネーブル信号EN
1が供給されている間は、第1水晶発振器3から供給された発振信号に基づき低周波数の発振クロック信号LCLKを生成し、これを高速PLL発振回路23、低速クロック制御回路24、及び低速クロック選択回路26の各々に供給する。尚、論理レベル0の発振イネーブル信号EN
1が供給されている間は、低速水晶発振回路21は、その発振動作を停止して上記した発振クロック信号LCLKの生成動作を停止する。
【0019】
低速水晶発振回路21は、上記した如き発振イネーブル信号EN
1が論理レベル0から論理レベル1に推移したことによる起動開始指令に応じて発振動作を開始し、この起動開始指令が発令されてから発振安定期間TA(後述する)の経過後、上記した発振クロック信号LCLKを安定して送出し得る状態に到る。
【0020】
高速水晶発振回路22は、論理レベル1の発振イネーブル信号EN
2が供給されている間は、第2水晶発振器4から供給された発振信号に基づき高周波数の発振クロック信号HOCLKを生成し、これを高速クロック選択回路27に供給する。尚、論理レベル0の発振イネーブル信号EN
2が供給されている間は、高速水晶発振回路22は、その発振動作を停止して上記した発振クロック信号HOCLKの生成動作を停止する。
【0021】
高速PLL発振回路23は、論理レベル1の発振イネーブル信号EN
3が供給されている間は、上記した発振クロック信号LCLKを基準クロックとし、その位相に同期させて、かかる発振クロック信号LCLKよりも高周波数の発振クロック信号PLLCLKを生成し、これを高速クロック選択回路27に供給する。尚、論理レベル0の発振イネーブル信号EN
2が供給されている間は、高速PLL発振回路23は、その発振動作を停止して上記した発振クロック信号PLLCLKの生成動作を停止する。
【0022】
高速PLL発振回路23は、上記した如き発振イネーブル信号EN
3が論理レベル0から論理レベル1に推移したことによる起動開始指令に応じて発振動作を開始し、この起動開始指令が発令されてから発振安定期間TC(後述する)の経過後、上記した発振クロック信号PLLCLKを安定して送出し得る状態に到る。
【0023】
低速クロック制御回路24は、リセットパルス信号RSに応じて、先ず、分周クロック信号DIVC(後述する)を選択させるべき論理レベル1の低速クロック選択制御信号LSSを低速クロック選択回路26に供給する。次に、低速クロック制御回路24は、低速水晶発振回路21から発振クロック信号LCLKの供給が為されている否かを検出し、発振クロック信号LCLKの供給が為されていたら、この発振クロック信号LCLKを選択させるべき論理レベル0の低速クロック選択制御信号LSSを低速クロック選択回路26に供給する。この間、発振クロック信号LCLKの供給が停止したら、低速クロック制御回路24は、かかる低速クロック選択制御信号LSSの状態を、分周クロック信号DIVCを選択させるべき論理レベル1の状態に切り替える。尚、低速クロック制御回路24は、上記した如き低速クロック選択制御信号LSSを高速クロック制御回路25にも供給する。更に、低速クロック制御回路24は、低速水晶発振回路21から発振クロック信号LCLKの供給が為されていない場合には、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
4を高速CR発振回路28に供給する。
【0024】
高速CR発振回路28は、低速クロック制御回路24から論理レベル1の発振イネーブル信号EN
4が供給されている間、又は高速クロック制御回路25から論理レベル1の発振イネーブル信号EN
5が供給されている間だけ、抵抗及びコンデンサによる発振動作を実行する。かかる発振動作により、高速CR発振回路28は、発振クロック信号LCLKよりも高周波数の発振クロック信号CRCLKを生成し、これを高速クロック選択回路27及び分周回路29の各々に供給する。
【0025】
高速CR発振回路28は、上記した如き発振イネーブル信号EN
4が論理レベル0から論理レベル1に推移したことによる起動開始指令に応じて発振動作を開始し、この起動開始指令が発令されてから発振安定期間TB(後述する)の経過後、上記した発振クロック信号CRCLKを安定して送出し得る状態に到る。
【0026】
高速クロック制御回路25は、リセットパルス信号RSに応じて、先ず、高速CR発振回路28から供給された発振クロック信号CRCLKを選択させるべき高速クロック選択制御信号HCSを高速クロック選択回路27に供給する。その後、高速クロック制御回路25は、クロック選択制御処理に従って、上記発振クロック信号CRCLK、発振クロック信号PLLCLK、及び発振クロック信号CRCLKの内から1つを選択させるべき高速クロック選択制御信号HCSを生成し、高速クロック選択回路27に供給する。ただし、この間、分周クロック信号DIVCを選択させるべき論理レベル1の低速クロック選択制御信号LSSが供給された場合、つまり発振クロック信号LCLKの供給が為されていない場合には、高速クロック制御回路25は、発振クロック信号CRCLKを選択させるべき高速クロック選択制御信号HCSを高速クロック選択回路27に供給する。更に、クロック選択制御処理に従って、高速クロック制御回路25は、発振動作を実行させる場合には論理レベル1、その発振動作を停止させる場合には論理レベル0を有する発振イネーブル信号EN
5を高速CR発振回路28に供給する。
【0027】
高速クロック選択回路27は、上記発振クロック信号CRCLK、発振クロック信号PLLCLK、及び発振クロック信号CRCLK各々の内から、上記した高速クロック選択制御信号HCSにて示される1つを選択し、これを高速クロック信号HCLKとして論理回路部1に供給する。
【0028】
分周回路29は、高速CR発振回路28から供給された発振クロック信号CRCLKを1/N分周(Nは自然数)した分周クロック信号DIVCを生成し、これを低速クロック選択回路26に供給する。この際、分周回路29では、分周クロック信号DIVCの周波数が、上記した発振クロック信号LCLKの周波数と一致、又はその周波数に最も近い周波数となるように発振クロック信号CRCLKを分周する。例えば、発振クロック信号CRCLKの周波数が500KHz、発振クロック信号LCLKの周波数が32.768KHzである場合には、上記分周Nを”16”に設定する。これにより、分周クロック信号DIVCの周波数は、(500KHz/16)=31.25KHzとなる。
【0029】
低速クロック選択回路26は、上記した分周クロック信号DIVC、及び低速水晶発振回路21から供給された発振クロック信号LCLKの内から、上記した低速クロック選択制御信号LSSによって示される方を択一的に選択し、これを低速クロック信号LSCLKとして論理回路部1に供給する。
【0030】
以下に、
図1に示されるクロック信号生成部2の動作について、
図2を参照しつつ説明する。
【0031】
先ず、
図2に示す如き時点T0において電源が投入されると、起動制御回路20は、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
1を低速水晶発振回路21に供給すると共に、発振動作を停止させるべき論理レベル0の発振イネーブル信号EN
2及びEN
3を夫々高速水晶発振回路22及び高速PLL発振回路23の各々に供給する。時点T0にて供給された論理レベル1の発振イネーブル信号EN
1に応じて低速水晶発振回路21は発振動作を開始し、発振安定期間TA(例えば数百ms)を経た時点T2において発振クロック信号LCLKの送出状態に到る。よって、時点T0〜T2の期間中は、発振クロック信号LCLKが生成された状態とはなっていないので、この間、低速クロック制御回路24は、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
4を高速CR発振回路28に供給する。これにより、高速CR発振回路28は発振動作を開始し、発振安定期間TB(例えば数十μs)を経た時点T1において発振クロック信号CRCLKの送出状態に到る。この際、分周回路29は、発振クロック信号CRCLKを1/N分周した分周クロック信号DIVCを低速クロック選択回路26に供給する。
【0032】
更に、時点T0での電源投入に応じて、起動制御回路20は、リセットパルス信号RSを低速クロック制御回路24及び高速クロック制御回路25の各々に供給する。かかるリセットパルス信号RSに応じて、高速クロック制御回路25は、上記発振クロック信号CRCLKを選択させるべき高速クロック選択制御信号HCSを高速クロック選択回路27に供給し、低速クロック制御回路24は、上記分周クロック信号DIVCを選択させるべき論理レベル1の低速クロック選択制御信号LSSを低速クロック選択回路26に供給する。よって、
図2に示す如く、時点T1以降、高速CR発振回路28によって生成された発振クロック信号CRCLKが高速クロック信号HCLKとして論理回路部1に供給されると共に、分周回路29によって生成された分周クロック信号DIVCが低速クロック信号LSCLKとして論理回路部1に供給される。
【0033】
ここで、
図2に示す時点T2において発振クロック信号LCLKの生成が為されるようになると、低速クロック制御回路24は、低速クロック選択回路26に供給すべき低速クロック選択制御信号LSSの状態を、発振クロック信号LCLKを選択させるべき論理レベル0の状態に切り替える。更に、この際、低速クロック制御回路24は、発振イネーブル信号EN
4の状態を発振動作を停止させるべき論理レベル0の状態に切り替える。これにより、上記した分周クロック信号DIVCに代えて、低速水晶発振回路21において生成された発振クロック信号LCLKが低速クロック信号LSCLKとして論理回路部1に供給される。尚、時点T2において、低速クロック選択制御信号LSSが論理レベル1の状態から論理レベル0の状態に推移すると、これに応じて、高速クロック制御回路25は、発振動作を実行すべき論理レベル1の発振イネーブル信号EN
5を高速CR発振回路28に供給する。よって、高速CR発振回路28は、時点T2以降も引き続き発振クロック信号CRCLKの生成動作を継続する。
【0034】
そして、時点T2において低速クロック選択制御信号LSSが論理レベル1の状態から論理レベル0の状態に切り替わってから所定期間TQだけ経過した時点T3において、高速クロック制御回路25は、高速CR発振回路28に供給する発振イネーブル信号EN
5を論理レベル1の状態から、発振動作を停止させるべき論理レベル0の状態に切り替える。これにより、高速CR発振回路28における発振クロック信号CRCLKの生成が停止すると共に、分周回路29による分周クロック信号DIVCの生成動作が停止する。更に、かかる時点T3では、起動制御回路20が、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
3を高速PLL発振回路23に供給する。これにより、高速PLL発振回路23は発振動作を開始し、上記時点T3から発振安定期間TC(例えば数ms)を経た時点T4において発振クロック信号PLLCLKの送出状態に到る。更に、上記時点T3において、高速クロック制御回路25が、高速PLL発振回路23で生成された発振クロック信号PLLCLKを選択させるべき高速クロック選択制御信号HCSを高速クロック選択回路27に供給する。よって、
図2に示すように、時点T4以降、高速PLL発振回路23で生成された発振クロック信号PLLCLKが高速クロック信号HCLKとして論理回路部1に供給されるようになる。
【0035】
ここで、時点T5において、電磁波や振動等の外部ノイズ、或いは水分、埃・ゴミ等による端子間ショート等の外乱が発生し、それに伴い、LSIに外付けされている第1水晶発振器3が停止してしまうと、低速水晶発振回路21では発振動作が停止し、発振クロック信号LCLKの生成が為されなくなる。低速クロック制御回路24は、低速水晶発振回路21から発振クロック信号LCLKの送出が為されなくなったことを検出すると、
図2に示す如く、時点T5において、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
4を高速CR発振回路28に供給する。これにより、高速CR発振回路28は発振動作を開始し、発振安定期間TB(例えば数十μs)を経た時点T6において発振クロック信号CRCLKの送出状態に到る。この際、分周回路29は、発振クロック信号CRCLKを1/N分周することにより、低速水晶発振回路21において生成される発振クロック信号LCLKの周波数と同一又は略等しい周波数を有する分周クロック信号DIVCを生成し、これを低速クロック選択回路26に供給する。更に、低速クロック制御回路24は、この時点T5において、分周クロック信号DIVCを選択させるべき論理レベル1の低速クロック選択制御信号LSSを低速クロック選択回路26及び高速クロック制御回路25に供給する。
【0036】
これにより、例え第1水晶発振器3が停止してしまっても、
図2に示す時点T6以降、分周回路29にて生成された分周クロック信号DIVCが低速クロック信号LSCLKとして論理回路部1に供給されると共に、高速CR発振回路28にて生成された発振クロック信号PLLCLKが高速クロック信号HCLKとして論理回路部1に供給されるようになる。
【0037】
以上の如く、上記したクロック信号生成部2では、電源投入時点T0から低速水晶発振回路21の発振動作が安定する時点T2までの発振安定期間TA中は、発振安定期間TBが比較的短い高速CR発振回路28にて生成された発振クロック信号CRCLKを、高速クロック信号HCLKとして論理回路部1に供給する。更に、この高速CR発振回路28において生成された発振クロック信号CRCLKを1/N分周することにより、低速水晶発振回路21で生成されるべき発振クロック信号LCLKの周波数と同一又は略等しい周波数を有する分周クロック信号DIVCを生成し、これを低速クロック信号LSCLKとして論理回路部1に供給するようにしている。
【0038】
すなわち、電源投入後、水晶発振回路21の発振動作が安定するまでの間は、高速クロック信号HCLKを生成すべく設けられた高速CR発振回路28で生成された発振クロック信号CRCLKを1/N分周して低周波数化したものを、低速クロック信号LSCLKとして論理回路部1に供給している。
【0039】
よって、論理回路部1中において低速クロックのみ、或いは低速及び高速クロックの両方で動作する回路の起動時間を短縮することが可能となる。
【0040】
また、上記したクロック信号生成部2では、低速水晶発振回路21の発振動作が安定する時点T2以降は、上記分周クロック信号DIVCに代えて、この低速水晶発振回路21において生成された発振クロック信号LCLKを、低速クロック信号LSCLKとして論理回路部1に供給する。
【0041】
その後、低速水晶発振回路21から発振クロック信号LCLKの送出が為されなくなったことを検出したとき(時点T5)には、高速CR発振回路28及び分周回路29を再び起動させる。そして、この分周回路29で生成された分周クロック信号DIVCを低速クロック信号LSCLK、この高速CR発振回路28で生成された発振クロック信号CRCLKを高速クロック信号HCLKとして、夫々論理回路部1に供給する動作に自動的に切り替える(時点T6)ようにしている。
【0042】
これにより、例えLSIに外部接続されている低速クロック用の第1水晶発振器3、及び高速クロック用の第2水晶発振器4が外乱により振動停止してしまっても、低速クロック信号LSCLK及び高速クロック信号HCLKを継続して論理回路部1に供給することが可能となる。
【0043】
図3は、
図1に示されるクロック信号生成部2の変形例を示す図である。
【0044】
尚、
図3に示されるクロック信号生成部2においては、基準クロック選択回路30を設けた点を除く他の構成は、
図2に示されるものと同一である。
【0045】
よって、以下に、基準クロック選択回路30の動作を中心に、
図3に示されるクロック信号生成部2の動作について説明する。
【0046】
基準クロック選択回路30は、低速水晶発振回路21から送出された上記発振クロック信号LCLK、及び分周回路29から送出された上記分周クロック信号DIVCの内から、上記低速クロック選択制御信号LSSによって示される方を択一的に選択し、これを基準発振クロック信号RCLKとして高速PLL発振回路23に供給する。よって、高速PLL発振回路23は、この基準発振クロック信号RCLKの位相に同期させて、かかる基準発振クロック信号RCLKよりも高周波数の発振クロック信号PLLCLKを生成し、これを高速クロック選択回路27に供給する。
【0047】
以下に、
図3に示されるクロック信号生成部2の動作について、
図4を参照しつつ説明する。
【0048】
先ず、
図4に示す如き時点T0において電源が投入されると、起動制御回路20は、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
1を低速水晶発振回路21及び高速PLL発振回路23に夫々供給すると共に、発振動作を停止させるべき論理レベル0の発振イネーブル信号EN
2を高速水晶発振回路22に供給する。時点T0にて供給された論理レベル1の発振イネーブル信号EN
1に応じて低速水晶発振回路21は発振動作を開始し、発振安定期間TAを経た時点T2において発振クロック信号LCLKの送出状態に到る。よって、時点T0〜T2の期間中は、発振クロック信号LCLKが生成された状態とはなっていないので、この間、低速クロック制御回路24は、発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
4を高速CR発振回路28に供給する。これにより、高速CR発振回路28は発振動作を開始し、発振安定期間TBを経た時点T1において発振クロック信号CRCLKの送出状態に到る。この際、分周回路29は、発振クロック信号CRCLKを1/N分周した分周クロック信号DIVCを低速クロック選択回路26及び基準クロック選択回路30に供給する。
【0049】
更に、時点T0での電源投入に応じて、起動制御回路20は、リセットパルス信号RSを低速クロック制御回路24及び高速クロック制御回路25の各々に供給する。かかるリセットパルス信号RSに応じて、高速クロック制御回路25は、上記発振クロック信号CRCLKを選択させるべき高速クロック選択制御信号HCSを高速クロック選択回路27に供給し、低速クロック制御回路24は、上記分周クロック信号DIVCを選択させるべき論理レベル1の低速クロック選択制御信号LSSを低速クロック選択回路26及び基準クロック選択回路30に供給する。よって、
図4に示す如く、時点T1以降、高速CR発振回路28によって生成された発振クロック信号CRCLKが高速クロック信号HCLKとして論理回路部1に供給されると共に、分周回路29によって生成された分周クロック信号DIVCが低速クロック信号LSCLKとして論理回路部1に供給される。尚、この際、
図4に示す一例では高速PLL発振回路23を起動させていないが、ソフトウェア処理により高速PLL発振回路23を起動させ、この高速PLL発振回路23によって生成された発振クロック信号PLLCLKを高速クロック選択回路27で選択させることも可能である。
【0050】
その後、
図4に示す時点T5において前述した如き外乱が発生し、それに伴い、LSIに外付けされている第1水晶発振器3が停止してしまうと、低速水晶発振回路21では発振クロック信号LCLKの生成が為されなくなる。低速クロック制御回路24は、この発振クロック信号LCLKの生成停止を検出すると、
図4に示すように、この時点T5において発振動作を実行させるべき論理レベル1の発振イネーブル信号EN
4を高速CR発振回路28に供給する。これにより、高速CR発振回路28は発振動作を開始し、発振安定期間TBを経た時点T6にて発振クロック信号CRCLKを送出する状態に到る。この際、分周回路29は、発振クロック信号CRCLKを1/N分周することにより、低速水晶発振回路21にて生成される発振クロック信号LCLKの周波数と同一又は略等しい周波数を有する分周クロック信号DIVCを生成し、これを低速クロック選択回路26に供給する。更に、時点T5において、低速クロック制御回路24は、分周クロック信号DIVCを選択させるべき論理レベル1の低速クロック選択制御信号LSSを低速クロック選択回路26及び基準クロック選択回路30に供給する。これにより、高速PLL発振回路23は、分周クロック信号DIVCを基準クロックとした発振動作を開始し、発振安定期間TCを経た時点T6において、発振クロック信号PLLCLKの送出状態になる。
【0051】
よって、例え、水晶発振器(3、4)が外乱等により停止してしまっても、時点T6以降において引き続き分周クロック信号DIVCが低速クロック信号LSCLKとして論理回路部1に供給されると共に、高速PLL発振回路23で生成された発振クロック信号PLLCLKが高速クロック信号HCLKとして論理回路部1に供給される。
【0052】
尚、低速クロック制御回路24では、低速水晶発振回路21から発振クロック信号LCLKが送出されているか否かに基づき、クロック(PLLCLK、CRCLK、DIVC、LCLK)の選択処理を実施しているが、高速水晶発振回路22が発振クロック信号HOCLKを送出しているか否かに基づきこの選択処理を実行するようにしても良い。 また、上記実施例においては、低速クロック制御回路24によって発振クロック信号LCLKの停止状態の検出、及び低速クロックの選択処理を行うようにしているが、このような処理をソフトウェアによって実行することも可能である。
【0053】
また、
図2及び
図3では、電源投入直後の動作を例にとってクロック信号生成部2の動作を説明したが、電源投入状態において、論理回路1の全部または一部のみが一時的に停止した状態から、通常動作に復帰する時にも同様に実施することが可能である。
【0054】
また、
図1及び
図3に示すLSIにおいては、外付けの発振器(3、4)として水晶発振器を用いているが、セラミック発振器を用いるようにしても良い。この際、低速水晶発振回路21に代えて低速セラミック発振回路を用いると共に、高速水晶発振回路22に代えて高速セラミック発振回路を用いる。