(58)【調査した分野】(Int.Cl.,DB名)
前記遅延コード制御部は、前記周波数比較部が前記クロックの周波数が前記第1閾値未満か前記第2閾値より大きいと判定した場合は、前記クロックの周波数を調整するための前記周波数制御コードを生成し、前記周波数比較部が前記クロックの周波数が前記第1閾値以上第2閾値以下であると判定した場合は、現在の前記クロックの周波数を維持する前記周波数制御コードを出力する、
請求項1記載の周波数同期ループ回路。
前記遅延コード制御部は、前記周波数比較部が前記クロックの周波数が前記第1閾値未満か前記第2閾値より大きいと判定した場合は、前記クロックの周波数を調整するための前記周波数制御コードを生成し、前記周波数比較部が前記クロックの周波数が前記第1閾値以上第2閾値以下であると判定した場合は、現在の前記クロックの周波数を維持する前記周波数制御コードを出力する、
請求項9記載の半導体集積回路装置。
【背景技術】
【0002】
従来、低消費電力マイコン(マイクロコンピュータ、マイクロコントローラ、又はマイクロプロセッサ等の総称を以下マイコンという。)には、リアルタイムクロック(RTC:Real Time Clock)機能が内蔵さている場合が多い。また、スマートフォンやデジタルスチールカメラ(DSC)など、バッテリー動作するモバイル機器は、バッテリーライフの向上が必要である。さらに、冷蔵庫や洗濯機をはじめとする白物家電は、環境性及び経済性を備えること(エコ)、及び省エネ性能向上が必要である。これら要求を背景に低電圧、低消費電力かつ高処理性能のマイコンは、外付け部品である計時専用チップRTCをマイコンに取り込む傾向があり、32.768KHzという外付けの水晶発振子が必要となっている。
【0003】
マイコンのLSI(Large Scale Integration:大規模集積回路)内部では、32.768KHzの低周波数クロックから高周波クロックを生成する。LSI内部に高周波数クロックを供給する一般的な技術としてPLL(Phase Locked Loop:位相同期回路)がある。
【0004】
PLLは外部から供給されるリファレンスクロックを逓倍して内部に高周波数のクロックを供給するクロックジェネレータである。PLLは、リファレンスクロックのノイズ及び変動に対して安定な動作を実現するため慣例としてリファレンスクロックの1/10(min 1/4)のLPF特性で設計される(非特許文献1参照)。よって、低周波数のリファレンスクロックのみ供給されるLSIにおいてPLLは使用されないケースが多い。
【0005】
これは、低周波数のリファレンスクロックのみが供給されるLSIにおいてPLLを用いると、そのLPF特性は数KHzのカットオフ周波数となり、モノリシックな容量素子及び抵抗素子で実現するには面積が大きく、コスト面から実用的ではないためである。例えば、32.768KHzの入力周波数のときは、3.2KHz程度で容量値1[nF]程度が必要となる。
【0006】
そこで、PLLに代わって小面積でPLL同様にLSI内部に高周波数クロックを生成することができるクロックジェネレータとしてFLL(Frequency Locked Loop:周波数同期ループ)が広く適用されている。
【0007】
FLLは、低周波クロックから高周波数クロックを小面積で生成できるメリットがある一方で、低周波数クロックがリファレンスとなるため周波数ロックまでに要する時間(ロック時間又はセットリング時間)(以下、ロック時間)が長いことが技術課題となっている。
【0008】
例えば、特許文献1には、光ファイバにて伝送される信号からクロックを復元する周波数ロックループ回路が開示されている。この周波数ロックループ回路は、周波数をロックするループと位相をロックするループとを有し、デュアルループのクロック復元回路を簡素化することを目的とする。
【0009】
また、特許文献2に記載のFLL回路においては、従前の課題であったロック時間の短縮を実現している。
図19は、従来のディジタル制御発振器を示すブロック図である。
図19に示すように、ディジタル制御発振器510は、一方の入力端子にリセット信号Resetが供給される2入力NANDゲート511と、単位遅延量tdのN−1個の遅延セルを含むディジタル制御可変遅延回路512とを備える。ディジタル制御可変遅延回路512の遅延段数N−1は、ディジタル制御部520による制御により、最小値0から最大値31の任意の値に設定される。2入力NANDゲート511も単位遅延量tdを持っているので、遅延リング発振部の回路形式の2入力NANDゲート511とディジタル制御可変遅延回路512との合計遅延時間N・tdは、最小遅延時間1・tdから最大遅延時間32・tdの範囲で設定されることができる。このディジタル制御発振器は、遅延段数を切り替えることによって周波数のコントロールを行うことができる。
【0010】
この特許文献2に記載のFLL回路においては、IP内部又はIPを搭載するLSIに記憶回路を持たせ、その記憶回路にFLL回路のディジタル制御発振器の発振周波数の設計情報又は評価結果の情報を複数ビット格納することにより、ロック時間を大幅に短縮することができる。
【発明を実施するための形態】
【0018】
以下、具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態にかかる半導体装置は、低電圧、低消費電力及び高処理性能でかつフラッシュメモリ等の記憶回路を有するマイコン等に適用されることができる。当該半導体装置により、スマートフォン及びDSC(デジタルスチールカメラ)などバッテリー動作するモバイル機器におけるバッテリーライフを向上することができる。また、冷蔵庫及び洗濯機等の白物家電におけるエコ・省エネ性能の向上の要求を満たすことが可能である。
【0019】
図1は、実施の形態にかかる半導体集積回路装置を示すブロック図である。
図1に示すように、半導体集積回路装置は、例えば、CPU(Central processing unit:中央処理装置)101、RAM(Random Access Memory)102、BUS103、ADC(analog-to-digital converter)回路104、RTC回路105、フラッシュメモリ106、及びCPG(Clock Pulse Generator:クロックパルス発振器)回路107等を備える。CPG回路107は、PLL回路111、FLL回路112、OSC回路113及び32kHzOSC回路114を備える。
【0020】
ここで、フラッシュメモリ106は、FLL回路112が初期動作で使用する初期コードを保持している。FLL回路112は、リセット直後乃至通常動作期間開始の間は、フラッシュメモリ106に保持された初期コードを、後述するディジタル制御信号DCO_CODの代わりに使用し、生成されるクロックの周波数が前記逓倍された参照クロックの周波数となるよう調整する。通常動作期間開始後は、後述する方法により周波数制御コードを生成してクロック周波数を制御している。FLL回路112のディジタル制御発振器(
図3参照)は、生成するクロックの周波数と逓倍されたリファレンスクロック(参照クロック)の周波数とを、第1及び第2閾値を使用して判定し、この判定結果に応じてディジタル制御信号DCO_CODEを生成する。このように、2値の閾値(周波数判定用カウンタしきい値TH_LOW、TH_HIGH)を使用することで、不要なディジタル制御信号DCO_CODEの変更を抑制することで、ディターミニスティックジッタが低減され、総計の周期ジッタを低減することができる。
【0021】
図2は、CPG回路107を示すブロック図である。
図2に示すように、CPG回路107は、例えばPLL回路111、FLL回路112、OSC回路113、32kHzOSC回路114、DIV(divider:分周器)115、及びセレクタ116、117等から構成することができ、マイコン動作に必要な複数の周波数のクロックを生成する。数MHzから十数MHzの32kHzOSC回路114、OSC回路113及びPLL回路111を組み合わせることでマイコン動作に必要な数十MHzのシステムクロック及びバスクロックなどのメインクロックを生成することができる。また、32.768KHzのOSC114とOSC回路113とでRTC用の32.768KHzのクロックを生成することができる。
【0022】
FLL回路112は、32kHzOSC回路114の出力クロックがセレクタ116を介してリファレンスクロックとして入力され、マイコン動作に必要な数十MHzのクロックを生成することができる。すなわち、32kHzOSC114は、FLL回路112へリファレンスクロックを供給するリファレンスクロック供給部として機能する。CPG回路107は、PLL回路111又はFLL回路112からのクロックを、セレクタ117を介して選択出力して、これらのクロックがシステムクロック等に使用される。また、本実施の形態にかかるFLL回路112で生成したクロックは、高精度の周波数特性を有しているため、OSC回路113及びPLL回路111を使用しない動作モードにおいてPLL回路111出力に変わってシステムクロック又はバスクロック等のメインクロックとして利用することができる。また、FLL回路112は、32kHzOSC回路114の出力クロック32.768KHzでなく、OSC回路113のクロックをDIVC回路115で分周し、セレクタ116を介してリファレンスクロック入力して利用することも可能である。この場合は、OSC回路113、DIV115及びセレクタ116がFLL回路112へリファレンスクロックを供給するリファレンスクロック供給部として機能する。
【0023】
なお、本実施の形態にかかる半導体集積回路装置は、CPG回路107において、PLL回路111を使用せず、FLL回路112のみ使用したり、FLL回路112を使用する際に、32kHzOSC114等のリファレンスクロック供給部からのクロックを使用せずに、FLL回路112単独でクロックを生成することも可能である。いずれの回路を使用しない場合は、スタンバイ状態として消費電力を最小とすることができる。
【0024】
次に、実施の形態にかかるFLL回路112の概要について説明する。本実施の形態のFLL回路の説明に先だち、先ず参照例にかかるFLL回路について説明する。
図17は、参照例にかかるFLL回路を示すブロック図である。FLL回路612は、FLLコントローラ620及びディジタル制御発振器640から構成され、外部の等からFLL回路612に対して逓倍倍率(Multiple Factor)が入力される。
【0025】
ディジタル制御発振器640は、外部のコントローラからのディジタル制御信号DCO_CODEによって発振周波数を制御される。ビット数は、FLL回路112が保証すべき周波数範囲によって決定される。保証すべき周波数範囲が広ければディジタル制御信号DCO_CODEのビット数は増加し、狭ければビット数を減らすことができる。ディジタル制御発振器640の制御レジスタを逐次比較(Successive Approximation Register:SAR)で確定する手段とすることでロック時間を短縮することができる。コントローラの入力信号は、参照クロック(CKREF)、DCOクロック(DCO_CLK)、リセット(RSTN)、逓倍倍率(Multiple Factor)、及びDCO初期コード(INITCODE)であり、出力信号はディジタル制御信号DCO_CODEである。
【0026】
FLLコントローラ620は、ステートコントローラ622、周波数比較部621及びディレイコードコントローラ623を有する。ステートコントローラ622は、参照クロックCKREFに基づきステートを制御する。周波数比較部621は、DCOクロックDCO_CLKと参照クロックCKREFの周波数を比較する。ディレイコードコントローラ623は、DCOクロックDCO_CLKの周波数が参照クロックCKREFの周波数×逓倍倍率Multiple Factorとなるように、比較結果に応じてディジタル制御信号DCO_CODEを調整し、生成し又は選択する。これにより、DCOクロックDCO_CLKの出力周波数を制御する。FLLコントローラ120内部は全てDCOクロックDCO_CLKに同期して動作する。
【0027】
次に、本実施の形態にかかるFLL回路について説明する。
図3は、本実施の形態にかかるFLL回路を示すブロック図である。FLL回路112が、周波数比較部121、ステートコントローラ122及びディレイコードコントローラ(遅延コード制御部)123から構成される点、周波数比較部621が、DCOクロックDCO_CLKと参照クロックCKREFの周波数を比較し、ディレイコードコントローラ123が、DCOクロックDCO_CLKの周波数が参照クロックCKREFの周波数×逓倍倍率(Multiple Factor)となるように、比較結果に応じてディジタル制御信号DCO_CODEを調整し、生成し又は選択し、これにより、DCOクロックDCO_CLKの出力周波数を制御する点などは
図17に示すFLL回路612と同様である。
【0028】
ここで、実施の形態にかかるFLL回路のFLLコントローラ120においては、ディジタル制御発振器により生成されるクロックの周波数と逓倍された参照クロックの周波数とを比較する際に、2つの閾値(第1閾値及び第2閾値)を使用することで、不要なクロック周波数の調整を抑制することを特長としている。本実施の形態にかかるFLL回路112は、このことにより、ディターミニスティックジッタが低減することで、総計の周期ジッタを低減し、リファレンスがない状態であっても高精度のクロックの安定出力を可能とするものであるが、ここでは、FLLコントローラ120の詳細説明に先立ち、先ず、ディジタル制御発振器140について説明する。
【0029】
図4は、本実施の形態にかかるディジタル制御発振器140を示すブロック図である。本実施の形態にかかるディジタル制御発振器140は、
図4に示すように、基準電圧発生回路141、電流発生回路142及び発振回路143を有する。このディジタル制御発振器140は、極めて短いロック時間を実現するため、温度依存性がない温度に対して周波数特性が変動しない発振回路としている。このため、温度トリミング可能な回路構成となっており、外部から温度トリミング信号T_TRIMが入力されている。この温度トリミング信号は、チップ毎に温度トリミングされた最適な設定情報であり、ユーザからの変更は不可能な構成とすることが好ましい。この温度トリミング情報は、フラッシュメモリ106等からレジスタ109に呼び出され、ディジタル制御発振器140に入力される。トリミング方法については後述する。
【0030】
温度トリミング信号T_TRIMは、基準電圧発生回路141に入力され、ディジタル制御信号DCO_CODEは、電流発生回路142に入力される。基準電圧発生回路141は、温度トリミング信号T_TRIMに基づき、第1基準電圧Vref1及び第2基準電圧Vref2を生成し、電流発生回路142に第1基準電圧Vref1、発振回路143に第2基準電圧Vref2を出力する。電流発生回路142は、第1基準電圧Vref1から制御電流Icntを生成する。発振回路143はら制御電流Icnt、第2基準電圧Vref2を入力として、DCOクロックDCO_CLKを生成する。以下、その詳細について説明する。
【0031】
図5は、基準電圧発生回路141を示す回路図である。
図5に示すように、基準電圧発生回路141は、VCCに接続されたMOSトランジスタ151、差動アンプ152、及びVSSに接続されたバイポーラトランジスタ153が直列に接続されている。同じくVCCに接続されたMOSトランジスタ154、抵抗R0、VSSに接続されたバイポーラトランジスタ155が直列に接続されている。同じくVCCに接続されたMOSトランジスタ156及び可変抵抗R1が直列接続され、この抵抗R1に、直列接続されたバイポーラトランジスタ157及びVSSに接続された抵抗R2と抵抗R3、R4が並列に接続されており、これらがVCCとVSSとの間で並列接続されてなる。ベース回路はMOSトランジスタ156、抵抗R1、バイポーラトランジスタ157及び抵抗R2からなるBGR(Band Gap Reference)回路であり、Iptat2電流から基準電圧Vref1及びVref2を生成する。
Iptat2電流は、下記の値となる。
【0032】
【数1】
ここで
Vbe1:バイポーラトランジスタ153のベース-エミッタ間電圧
Vbe2:バイポーラトランジスタ155のベース-エミッタ間電圧
k:ボルツマン定数
【0033】
Iptat2電流は、以下に示すように、温度依存性がない、温度に対してフラットな電圧Vflatを生成する。
【0034】
【数2】
第2基準電圧Vref2は、電圧Vflatから下記のように求まる。
【0035】
【数3】
第1基準電圧Vref1は、下記に示す電圧となる。
【0037】
バイポーラトランジスタのベース−エミッタ間電圧Vbeの温度依存性と、Iptat電流と抵抗R2の積との温度依存性が相殺するよう抵抗値を調整することで、温度依存性がない電圧Vflatを得ることができる。第2基準電圧Vref2は、温度依存性を有さない電圧Vflatを上記式(3)のようにR2、R3、R4の抵抗比で抵抗分圧することで、任意な電圧値とすることができ、かつ温度依存性を有さない、温度に対してフラットな基準電圧となる。
【0038】
第1基準電圧Vref1は、上記式(4)に示すように、温度依存性を有さない電圧Vflatに、抵抗R1とIptat2電流の積の電圧値を加算する形で表され、温度トリミング信号T_TRIMで抵抗R1の値を切り替えることで、温度特性を任意に制御することが可能となる。後述するように、第1基準電圧Vref1の温度特性を制御することにより、
図6に示す電流発生回路で使用される抵抗R5の温度特性を相殺(キャンセル)することが可能となる。
【0039】
図6は、実施の形態にかかる電流発生回路142を示す回路図である。実施の形態における電流発生回路差動は、アンプ161、PMOSトランジスタ162、163、及び可変抵抗R5から構成される。差動アンプ161とPMOSトランジスタ162で構成されるフィードバックループにより、ノードVfbは、第1基準電圧Vref1と同じ電圧値となる。よって第1基準電圧Vref1の値を抵抗R5の値で割った下記式(5)に示す電流Irefが生成される。
【0040】
【数5】
電流Irefは、PMOSトランジスタ163でカレントミラーされ、このカレントミラーにより生成された基準電流Icntを発振回路143へ出力する。
【0041】
ここで、本実施の形態にかかるディジタル制御発振器140では、基準電圧発生回路141と電流発生回路142において温度トリミングを実施し、温度依存性を有さない温度に対してフラットな電流Irefを生成する。
【0042】
例えば、2点温度トリミングを実施した場合、1次温度依存性を有さない電流Irefを生成することができる。3点以上の温度でトリミングを実施した場合、1次に加え、2次の温度依存性についてもキャンセルすることができる。抵抗R5は、単一抵抗で構成され、ローカルエリアに均一に配置し、抵抗間のペア精度を向上をはかることが好ましい。ディジタル制御信号DCO_CODEで、抵抗R5の抵抗値を切り替えることで発振する周波数を可変とする。
電流Irefは、下記式(6)のように求めることができる。
【0043】
【数6】
2点の温度トリミングを実施した場合、下記式(7)を見たし、下記式(8)と表すことができる。
【0045】
【数8】
ここで、下記式(9)であるため、
【0046】
【数9】
電流Irefは下記式(10)のように近似することができる。
【0047】
【数10】
すなわち、電流Irefの温度依存性はほぼゼロとなる。ただし、抵抗5の2次温度特性は、求められる周波数精度に対して問題とならないものを選択するものとする。
基準電流Icntは下記式(10)に示すように、電流Irefをカレントミラーによってm倍された電流である。
【0049】
図7は、本実施の形態にかかるディジタル制御発振器140の電流発生回路142を構成する抵抗R5と、ディジタル制御信号DCO_CODEで制御されるトリミングスイッチとを示す図である。
図7に示すように、可変抵抗R5は、抵抗とNMOSトランジスタM1、M2、M3・・・を並列に接続した回路で構成される。抵抗R5は、単一抵抗値Rを2の重み付けしたもの(R、2R,4R,8R・・・)を直列に接続してなる。NMOSスイッチをONさせることにより抵抗をバイパスし、抵抗値及び電流Iref値を可変とすることができる。ここで、抵抗(MOSエリア)は
図7に示すレイアウトパターンで配置され、取り出しが必要な端子をできるだけ一カ所に集め、スイッチ301を構成している。
【0050】
図8は、本実施の形態にかかるディジタル制御発振器140の発振回路143を示す回路図である。この発振回路143には、周波数電圧変換回路171、積分回路172、電圧制御発振器173、及び制御回路174を有する。
【0051】
周波数電圧変換回路171は、直列されたディスチャージスイッチ175、176と、チャージスイッチ176と並列接続された容量177と、ディスチャージスイッチ175とチャージスイッチ176の中点及び容量177に接続されたスイッチ178とから構成される。周波数電圧変換回路171は、電流入力Icnt、制御信号Charge、Discharge、Sampを入力信号として、電圧Vsampを出力する。制御回路174からの制御信号Discharge及び制御信号Chargeにより、それぞれディスチャージスイッチ175及びチャージスイッチ176がONする。制御信号Sampによりスイッチ178がONすると、電圧Vsampが積分回路172へ出力される。
【0052】
積分回路172は、アンプ179及び帰還容量180から構成され、電圧Vsampを入力とし、電圧Vcntを出力する。電圧制御発振器173は、電圧Vcntを入力とし、これに基づきクロックDCO_CLKを生成する。制御回路174は、クロックDCO_CLKを入力として、これに基づき制御信号Charge、Discharge、Sampを生成して、周波数電圧変換回路171のスイッチ176、175、178を制御する。制御信号Chargeにより、容量177に電圧を蓄積し、制御信号Dischargeにより、容量177にチャージされた電圧を放電する。
【0053】
この発振回路143は、周波数電圧変換回路171、積分回路172、電圧制御発振器173、及び制御回路174により、自己フィードバックループを構成している。次に、この発振回路143が自己フィードバックループを構成している理由について説明する。
【0054】
図18は、一般的な電流制御発振器である。直列のNMOSトランジスタ及びPMOS
トランジスタからなるインバータが奇数段並列に接続されたリングオシレータ構成の回路でバッファ回路701を後段に有する。電流Icntを入力としてクロックを生成する回路である。ここで、上述の
図5及び
図6で生成される温度依存性を有しない、温度に対してフラットな電流Icntをこのような電流制御発振器に入力しても、温度依存性の小さい発振器を構成することはできない。なぜならば、本願発明者等の研究によると、
図19に示す電流制御発振器の電流vs周波数特性は、MOSトランジスタの電流特性が支配的であるため、極めて大きな温度依存性を有するためである。
【0055】
上述の温度トリミングを
図4に示すディジタル制御発振器140に対して実施し、DCOクロックDCO_CLKの周波数を2温度で計測し、2点の温度で測定したDCOクロックDCO_CLKの周波数が一致するよう温度トリミング信号T_TRIMの値を切り替えることにより、ディジタル制御発振器140の1次の温度依存性はキャンセルすることが可能である。しかしながら、ディジタル制御発振器140が生成するDCOクロックDCO_CLKの周波数特性は、MOSトランジスタの電流特性で決まるため、2次の温度依存性が残ってしまう。
【0056】
そこで、本実施の形態にかかるディジタル制御発振器140の発振回路143は、自己フィードバックループを備える構成とする。この構成により、電源電圧依存性及び温度依存性が極めて小さいディジタル制御発振器140を実現することができる。これにより、ロック時間の更なる短縮を図ることができ、またリファレンスクロックがない状態でも、周波数精度を±1.5%程度の高精度に保証することができる。
【0057】
次に、
図8に示す発振回路143の動作について説明する。
図9、及び
図10は、
図8に示す発振回路(オンチップオシレータ)の動作を示すタイミングチャートである。
図9に示すように、制御信号ChargeがLowの時、電流発生回路142で生成された基準電流Icntは、周波数電圧変換回路171の容量177にチャージされる。チャージ後の容量177のノードの電圧はVc=Icnt・Tvco/Cとなる。容量177にチャージされた電圧Vcは、制御信号SampがHighの時、積分回路172の積分器179へ転送される。この電圧Vc(Vsamp)は積分器179へ転送される。そして、転送電圧がホールドされた後、すなわち、制御信号SampがHighからLowへ切り替わった後、周波数電圧変換動作に支障がでないタイミングで、周波数電圧変換回路171へ入力されている制御信号DischargeがLowからHighになる。これにより、容量177にチャージされた電荷はディスチャージされ、初期状態である0Vとなる。
【0058】
その後、制御信号DischargeはHighからLowになる。このサンプリングにより転送された電圧Vcが
図10に示すように、第2基準電圧Vref2より大きい場合、積分回路172が生成する制御電圧Vcantが下がる。これにより、電圧制御発振器173は、発振周波数が高くなるようコントロールされる。一方、サンプリング電圧Vcが第2基準電圧Vref2より小さい場合、積分回路172が生成する制御電圧Vcantは上がる。これにより、電圧制御発振器173は発振周波数が低くなるようコントロールされる。このような動作を繰り返し、
図9に示すようにサンプリング電圧Vcが第2基準電圧Vref2に等しくなると、ディジタル制御発振器140は、ターゲット周波数で安定発振する。安定発振時の発振周波数は以下の式(12)となる。
【0060】
上述したように、第1基準電圧Vref1と可変抵抗R5の温度特性は、温度トリミングによって相殺されている。第2基準電圧Vref2は、基準電圧発生回路141において、温度依存性のない、温度に対してフラットな電圧として生成されている。なお、容量Cは、モノリシックな半導体デバイスを用いる場合、メタルーメタル間容量、Poly(ポリシリコン)−Poly容量で実現することが更に好ましい。これら容量デバイスは、温度の2次特性が極めて小さい。これにより、ディジタル制御発振器140は、すべての要素の温度依存性を影響なきもとのすることができる。よって、更に高精度なディジタル制御発振器140を実現することができる。
【0061】
ここで、ディジタル制御発振器140の自己フィードバックループの帯域設計について説明する。自己フィードバックループは、FLL回路112によるフィードバック動作に影響がないよう設計する必要がある。非特許文献1と同様に考えると、FLL回路112のフィードバック動作、つまりリファレンスクロックに対して10倍のループ帯域で自己フィードバックループを構成していれば問題ない。例えば、リファレンスクロックが32KHzであれば、320KHz以上のループ帯域で設計することが好ましい。マイコンが保証すべき電源電圧及び温度条件において最適化された温度トリミング後の温度トリミング信号T_TRIMと、周波数合わせを実施した後のディジタル制御信号DCO_CODEとは、それぞれ初期情報としてフラッシュメモリ106等の記憶回路に保存される。
【0062】
以上、説明したように、このような構成の発振回路143を備えるディジタル制御発振器140、及びこのディジタル制御発振器140を搭載したFLL回路112は、ディジタル制御発振器140の温度依存性及び電源電圧依存性が極めて小さい。このため、マイコンがスリープ状態からアクティブ状態に切り替わった時点の電源電圧及び動作温度の条件が補償範囲内であれば、ディジタル制御発振器140は、フラッシュメモリ106に格納された初期情報を読み出すことによって、リファレンスクロックでの比較を開始する前にターゲット周波数近傍、かつマイコン動作に問題ない周波数で発振を開始することができる。
【0063】
FLLのロック時間は、FLLに内蔵するディジタル制御発振器の電源電圧依存性、動作温度依存性に寄与するところが大きい。これは、ディジタル制御発振器は、電源電圧、動作温度による発振周波数変動量を補完するための制御コード、及び制御回路を備えるが、これらの温度依存性が大きいと、必然的にこれらを制御するためのビット数も増加してしまうため、この結果、ロック時間が長くなるためである。
【0064】
また、特許文献2に記載のFLLの回路構成はCMOS構成のため、電源電圧依存性及び温度依存性が大きい。このため要求される周波数範囲を保証するための遅延段数を備えている必要があり、必然的に段数増及びSARレジスタビット数につながってしまう。SARレジスタのビット数増は、制御ビットが確定するまでのサイクル数の増加及びロック時間の増加を引き起こしてしまうという問題点があった。
【0065】
さらに、特許文献2に記載のディジタル制御発振器では、従前のFLLからは大幅にロック時間短縮を図っているものの、スタンバイ解除後の電源電圧と、動作温度と記憶回路に格納された発振周波数情報を取得した際の電源電圧とで動作温度条件が異なるため、その差分を補正する為の制御が必要となり、その差分の補正に相当する制御ビットだけロック時間が必要となってしまうという問題点がある。つまり、特許文献2に記載のFLL回路は、記憶回路の初期情報とアクティブ状態に切り替えた時点での動作温度及び電源電圧差分を、リファレンスクロック及びDCOクロックDCO_CLKの比較によって数ビット分調整する必要があった。
【0066】
さらにまた、低消費電流の要求が強いマイコン、更に低消費電流化のためにスリープ状態とアクティブ状態を繰り返すマイコンではロック時間の短縮要求が非常に大きい。
【0067】
これに対し、本実施の形態においては、ロック時間短縮のため温度トリミングされたディジタル制御発振器を採用している。ディジタル制御発振器では、温度トリミングにより温度依存性が略相殺された基準電圧及び制御電流を生成している。また、ディジタル制御発振器の発振回路には、生成したクロックの周波数の値に応じて自己の生成するクロックの周波数を制御する機能を持たせることにより、電源電圧の変動を補正し、又は電源電圧の変動に追従することが可能である。このことにより、リファレンスサイクル1サイクル以内での周波数ロックを実現することができる。
【0068】
本実施の形態にかかるFLL回路112は、ディジタル制御発振器140の温度依存性及び電源電圧依存性が極めて小さいため、マイコンがスリープ状態からアクティブ状態に切り替わった時点ですぐに発振することができる。すなわち、温度トリミングを実施し、発振器自体に自己フィードバック機能を持たせることで、電源電圧依存性を、記憶回路に格納された周波数情報とほぼ同等とすることにより、リファレンスクロック1サイクル以下のロックを時間実現することが可能である。
【0069】
また、ディジタル制御発振器が自己フィードバックループによってターゲット周波数に対して安定発振するよう動作するため、FLL回路112は、リファレンスクロックが停止、又は供給されないような状態になってもマイコン動作が可能な精度で発振することができる。
【0070】
次に、本実施の形態にかかるFLLコントローラについて説明する。従来のFLL回路は、上述したように、ディジタル制御発振器の温度依存性及び電源電圧依存性が大きいため、リファレンス毎に周波数比較部が、DCOクロックDCO_CLKの周波数が速いのか又は遅いのかの比較を実施し、ディレイコードコントローラがディジタル制御信号DCO_CODEを生成していた。この結果、DCOクロックDCO_CLKにはディターミニスティックジッタが発生するという問題が生じていた。そこで、本実施の形態においては、FLLコントローラ120の周波数比較部121において、2つの閾値を使用して周波数比較を行うことにより、ディターミニスティックジッタの発生を抑制することを可能としている。
【0071】
図11は、本実施の形態にかかるFLL回路の詳細を示すブロック図、
図12は、本実施の形態にかかるFLL回路のFLLコントローラの更に詳細を示すブロック図である。
図11に示すように、本実施の形態にかかるFLL回路112のFLLコントローラ120には、外部のレジスタ108等から、第2閾値TH_HIGH及び第1閾値TH_LOWが入力され、周波数比較部121に入力されている。
【0072】
周波数比較部121は、ディジタル制御発振器140により生成されるDCOクロックDCO_CLKの周波数と参照クロックの周波数とを比較し、この周波数の比較結果を、第2閾値TH_HIGH及び第1閾値TH_LOWにより3つの状態に分類する。そして、ディレイコードコントローラ123は、3つの状態に応じたディジタル制御信号DCO_CODEを生成しディジタル制御発振器140に出力することで、DCOクロックDCO_CLKの周波数を制御する。
【0073】
図12に示すように、FLLコントローラ120のステートコントローラ122は、エッジ決定部133、ステージ生成部134、及び初期コードコントロール部135を有する。エッジ決定部133は、複数のレジスタ181〜184及びAND回路185を有する。ステージ生成部134は、レジスタ186、187を有する。初期コードコントロール部135は、複数のレジスタ192〜194及びセレクタ189〜191を有する。
【0074】
エッジ検出部133は、参照クロックCKREFをDCOクロックDCO_CLKで常時モニタリングする。そして、参照クロックCKREFのRise−edgeを検出すると、ステージ生成部134及び初期コードコントロール部135内で、周波数比較部121及びディレイコードコントローラ123へ出力する制御ステート信号State1、2、3、及びState4をそれぞれ出力する。
【0075】
図13及び
図14は、
図12に示すFLLコントローラ120の動作を示すタイミングチャートである。
図13に示すように、参照クロックCKREFのRise−edge検出後、ステージ生成部134から出力される制御ステート信号State1、2、3は、この順序でパルスが生成される。また、初期コードコントロール部135は、リセット解除から参照クロックCKREFのRise−edgeを3回検出すると、制御ステート信号State4がLow→Highに変化する(タイミングT2)。
【0076】
周波数比較部121及びディレイコードコントローラ123におけるステートの制御は、以下の手順で行われる。
図14に示すように、先ず、周波数判定部132のセレクタ201を制御ステート信号State1(タイミングT11)に応じて切り替え、ディレイコードコントローラ123のコード計算部136からの周波数比較結果をロードする。
【0077】
次に、ディレイコードコントローラ123のコード計算部136のセレクタ206を制御ステート信号State2(タイミングT12)に応じて切り替え、比較結果に基づき計算されたディジタル制御信号DCO_CODEを更新する。そして、周波数比較部121のプログラマブル・ダウンカウンタ131のセレクタ198を制御ステート信号State3(タイミングT13)に応じて切り替え、逓倍倍率Multiple Factorをロードし、周波数比較部121のプログラマブル・ダウンカウンタ131のカウンタ196、197のカウンタ値をリセットする。
【0078】
さらに、
図13のように、ステートコントローラ122の初期コードコントロール部135は、システム初期化時のリセット解除後、参照クロックCKREFのRise−edgeを3回検出すると制御ステート信号State4をLow→High(
図13のタイミングT2)にする。ディレイコードコントローラ123は、この制御ステート信号State4に応じてコード選択部137のセレクタ208を切り替え、ディジタル制御信号DCO_CODEを初期コードINITCODEからから計算結果に切替える。
【0079】
周波数比較部121では、プログラマブル・ダウンカウンタ131でDCOクロックDCO_CLKのFall−edge数をカウントし、周波数判定部132でカウント値に応じてDCOクロックDCO_CLK周波数の増加、減少、維持を決定する。
【0080】
図14のタイミングチャートに示すように、プログラマブル・ダウンカウンタ131のカウンタ195のカウンタ値は、制御ステート信号State3のパルス生成後に逓倍倍率Multiple Factorの値にセットされる。そして、カウンタ195は、COクロックDCO_CLKのFall−edgeに同期してダウンカウントを開始する。カウンタ195のカウンタ値がゼロに到達した場合は、カウンタ195のカウンタ値はゼロを保持する。
【0081】
周波数比較部121の周波数判定部132の判定部200では、カウンタ値(count)と2種の周波数判定用カウンタしきい値(第1閾値TH_LOW、第2閾値TH_HIGH)に基づき、カウンタ値count<第1閾値TH_LOWの場合は、DCO周波数増加、第1閾値TH_LOW≦カウント値count≦第2閾値TH_HIGHの場合は、DCO周波数保持、第2閾値TH_HIGH<カウント値countの場合は、DCO周波数減少と判定する。
【0082】
図12に示すディレイコードコントローラ123のコード計算部136は、周波数比較部121の周波数判定部132の判定結果に基づき、DCOコードを±1増減するか、現時点のディジタル制御信号DCO_CODE値を保持するかを決定し、更新後のコード値を計算して制御ステート信号State2のタイミングに合わせてセレクタ206を切り替える。
【0083】
ディレイコードコントローラ123のコード選択部137は、演算されたコード値かDCO初期コード(INITCODE)かを、制御ステート信号State4信号に応じてセレクタ208で選択し、ディジタル制御信号DCO_CODE信号として出力する。
【0084】
図13、
図14のタイミングチャートに示すように、初期化時、タイミングT1までのリセット期間はディジタル制御信号DCO_CODE=0、リセット解除直後から制御ステート信号State4=Low→Highのタイミング(タイミングT1〜タイミングT2)では、ディジタル制御信号DCO_CODE=INITCODE、制御ステート信号State4=Low→High以降(タイミングT2以降)はディジタル制御信号DCO_CODE=コード計算部の出力と制御される。その後の通常動作では、参照クロックCKREFのRise−edgeが検出される度(期間T14)にディジタル制御信号DCO_CODEが更新される。
【0085】
周波数比較部121で2種類の周波数判定用カウンタしきい値(第1閾値TH_LOW、第2閾値TH_HIGH)を用いたディジタル制御信号DCO_CODEの調整を行うことで、DCOクロックDCO_CLKの出力周波数精度を改善することができる。具体的には、
図14に示すDCOクロックDCO_CLKの変調サイクル(期間T14)を考慮した平均周波数の誤差低減と、各DCOクロックDCO_CLKサイクルの目標周波数に対する誤差(ジッタ)低減を両立することができる。
【0086】
例えば、DCOクロックDCO_CLKの目標周波数に対する誤差(ジッタ)低減のために周波数判定用カウンタしきい値(第1閾値TH_LOW、第2閾値TH_HIGH)をともに小さな値に設定すると、周波数判定の度に目標周波数に近づける方向へディジタル制御信号DCO_CODEを調整し誤差(ジッタ)成分は減少する。一方で、ディジタル制御信号DCO_CODEが収束した状態でディジタル制御信号DCO_CODEが±1と変化を継続する場合に平均周波数誤差が増加し、ディターミニスティックジッタが発生してしまう。
【0087】
そこで、2種類の周波数判定用カウンタしきい値(第1閾値TH_LOW、第2閾値TH_HIGH)をディジタル制御発振器140の設計結果に応じて適切に設定することでディジタル制御信号DCO_CODE更新判定にフィルタ機能が加わり、ディジタル制御信号DCO_CODEの変動を減らして平均周波数誤差を低減し、さらにディターミニスティックジッタの低減することが可能となる。2種類の周波数判定用カウンタしきい値(第1閾値TH_LOW、第2閾値TH_HIGH)は、逓倍倍率Multiple Factorによって効果が変わる。よって、マイコン外部からレジスタ値を変更することによって設定制御できることが好ましい。例えば、逓倍倍率Multiple Factorが大きい値、つまり逓倍数が大きい場合は、ディジタル制御発振器140のロングタームジッタ特性によるカウント誤差が発生するために周波数判定用カウンタしきい値TH_LOW、TH_HIGHの範囲を広くとり、ディジタル制御信号DCO_CODEの変動を抑えるように設定するほうがジッタ特性面で有効である。逓倍倍率Multiple Factorが小さい値、つまり逓倍数が小さい場合は、比較結果をディジタル制御発振器140へフィードバックするよう周波数判定用カウンタしきい値TH_LOW、TH_HIGHの範囲を狭く設定するほうが特性面で有効である。
【0088】
次に、この周波数判定用カウンタしきい値(第1閾値TH_LOW、第2閾値TH_HIGH)の設定方法について説明する。
図15は、横軸にサイクル数(log)をとって、縦軸にジッタの大きさをとって、サイクル数とジッタの大きさの関係を示す模式図である。
図15に示すように、周波数のみをロックするFLL回路112のロングタームジッタ(累積ジッタ)は、サイクル数の増加に従い大きくなっていく。
【0089】
次に、ロングタームジッタがFLL回路112へ及ぼす影響について考える。
図16(a)〜
図16(d)は、ロングタームジッタのFLL回路へ及ぼす影響を説明する図であり、
図16(a)はクロックを示す模式図、
図16(b)及び図(c)はそれぞれショートターム及びロングタームジッタを示す模式図、
図16(d)は、横軸にサイクル数を取って縦軸にジッタの大きさを取ってロングターム及びショートタームジッタとサイクル数の関係を示す模式図である。FLL回路112は、例えば数百乃至2048倍等の高逓倍とすることができ、PLL回路111と比較すると小面積で構成することができる。よって、FLLコントローラ120の周波数比較部121は、大きい累積ジッタを有するクロックをカウントしなければならず、精度よく周波数の比較を実行することが課題となる。
Mサイクル目の周波数比較結果の誤差±Xは、
±X=±Y/Tout
となる。YはMサイクル目のロングタームジッタ、Toutは発振周期を示す。
【0090】
このように、ロングタームジッタによってFLLコントローラ120の周波数比較部121は、誤判定を起こし、誤判定によってシュートタームのジッタ(周期ジッタ)の特性悪化を引き起こす。
【0091】
実施の形態にかかるFLLコントローラ120は、ロングタームジッタによる誤判定を防止するため周波数比較器に、2値の閾値(周波数判定用カウンタしきい値TH_LOW、TH_HIGH)を判定基準として設け、2値M−x(第1閾値TH_LOW)〜M+x(第2閾値TH_HIGH)の間に、周波数比較部121のカウント数がおさまっていれば、周波数は合っているものと判定し、ディジタル制御信号DCO_CODEの切り替えは実施しない。
【0092】
一方で、生成しているクロックの周波数が2値の第1閾値TH_LOW乃至第2閾値TH_HIGHの幅をオーバーしていれば平均周波数があっていないものとし、ディジタル制御信号DCO_CODEの切り替えを実施する。
【0093】
ロングタームジッタは、サイクル数が増えればジッタも大きくなる。よって、FLL回路112の逓倍数が増えるとともに2値の閾値の大きさも大きくする必要がある。逓倍数が小さくなればそれに応じて2値の閾値も小さくする必要がある。本実施の形態にかかるFLL回路112を搭載したLSIは、逓倍数に応じた2値の閾値情報を記憶回路に情報として格納しており、FLL回路112の制御信号に応じて最適値を呼び出すことができる。また、設計情報Aに基づいて演算して閾値を決定することも可能である。
【0094】
【数13】
ここで、
z:サイクル数
A:設計情報
Tout:発振周期
x:閾値
【0095】
一般に、水晶発振子の実装上のトラブル、例えば製品基板が高温、低温状態が繰り返されることで発生するはんだ剥がれ等の想定外のトラブルによって、入力クロックが停止してしまうような場合がある。このような場合、異常を検知し、停止動作に移行することができなければLSIが暴走してしまい、例えば車等に使用される場合は極めて危険である。
【0096】
そこで、本実施の形態にかかるFLL回路のFLLコントローラにおいては、ディジタル制御発振器により生成されるクロックの周波数と逓倍された参照クロックの周波数とを比較する際に第1及び第2閾値を使用する。このことにより、FLL回路にいて、不要なクロック周波数の調整を抑制することができ、ディターミニスティックジッタが低減され、総計の周期ジッタを低減することができる。これにより、想定外のトラブルによって入力クロックが停止してしまった場合であっても、LSIが暴走することなく、異常を検知し、停止動作に移行することが可能となる。また、リファレンスクロックがない状態(停止した状態)でもマイコンとマイコン間の通信(調歩通信)を実現できる高い周波数精度(±1.5%)を保証することができる。すなわち、本実施の形態にかかるFLL回路(周波数同期ループ回路)は、リファレンスクロックが停止した状態又はリファレンスクロックを入力せずとも、高精度のクロックが取り出せることができる。このため、RTC回路が不要な顧客に対しては、したクロック源を提供できることも可能となる。
【0097】
以上説明した実施の形態によれば、低電圧、低消費電力、及び高処理性能のFLL回路112及びFLL回路112を搭載した半導体集積回路を提供することができる。本実施の形態にかかる半導体集積回路装置によれば、スマートフォン及びDSC(デジタルスチールカメラ)などバッテリー動作するモバイル機器におけるバッテリーライフの向上の要求、並びに冷蔵庫、及び洗濯機をはじめとする白物家電におけるエコ・省エネ性能向上の市場要求を満たすことができる。
【0098】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。