(57)【要約】温度補償水晶発振器などの高速クロックを使用してスリープまたは低速クロックの周波数を推定するための装置および方法。開示されている装置は、高速クロックに同期する、スリープクロック周期のそれぞれのサイクルを発行するスリープクロック同期パルスを受け取る第１のカウンタを有する推定器を備える。低速クロック同期パルスは、所定の個数までカウントされ、その後、フルカウント信号が発行される。第２のカウンタは、フルカウント信号を受け取り、フルカウント信号を受け取る毎にインクリメントする。第３のカウンタは、フルカウント信号が現れるまで高速クロックサイクルをカウントする。低速および高速クロックサイクルのカウント数に基づき、測定を実行するため高速クロックの領域のみを使用して低速クロックの周波数を決定し、これにより、測定の精度を高速クロックの精度に結び付けることができる。開示されている装置は、さらに、集積回路および開示されている推定器を使用するトランシーバを備える。それに対応する方法も開示される。
2009515494.tif 000002
【特許請求の範囲】
【請求項１】
スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも１つのフルカウント信号を出力するように構成された第１のカウンタと、
前記フルカウント信号を受け取り、受け取ったフルカウント信号毎に１のカウントだけインクリメントするように構成された第２のカウンタと、
高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第１のレジスタに出力し、低速クロックサイクル毎に前記第１のレジスタに格納するように構成された第３のカウンタとを備えるスリープクロック周波数推定器。
【請求項２】
スリープクロック信号および前記高速クロック信号を受け取り、前記高速クロック信号に基づき前記スリープクロック信号を前記高速クロック信号に同期させ、前記スリープクロック信号と前記高速クロック信号との同期に基づき前記スリープクロック同期パルスの１つまたは複数を前記第１のカウンタに出力するように構成された同期装置をさらに備える請求項１に記載のスリープクロック周波数推定器。
【請求項３】
前記第１のレジスタは、測定期間に高速クロックサイクルのカウントを決定するために格納されているカウントを第１の加算器に出力するように構成され、前記第１および第２のカウンタは、現在のカウントを加算器に出力して前記測定期間に現れる低速クロックサイクルのカウントを決定するように構成される請求項１に記載のスリープクロック周波数推定器。
【請求項４】
前記第２のカウンタが１だけインクリメントされたときに前記第３のカウンタによりカウントされた高速クロックサイクルの個数の値を格納するように構成された少なくとも１つの追加のレジスタをさらに備える請求項１に記載のスリープクロック周波数推定器。
【請求項５】
前記第１および少なくとも１つの追加のレジスタを含む「Ｎ」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「Ｎ」個のレジスタに基づいて決定される請求項１に記載のスリープクロック周波数推定器。
【請求項６】
前記第１のレジスタによる格納は、前記スリープクロック同期パルスに周波数に関して対応する遅延パルスによりトリガされるが、前記スリープクロック同期パルスの後の所定の遅延時間分だけ遅延される請求項１に記載のスリープクロック周波数推定器。
【請求項７】
前記所定の遅延は、１高速クロックサイクルに等しい請求項６に記載のスリープクロック周波数推定器。
【請求項８】
前記高速クロックは、温度補償水晶発振器である請求項１に記載のスリープクロック周波数推定器。
【請求項９】
前記第１のカウンタ、前記第２のカウンタ、前記第３のカウンタ、および前記第１のレジスタは、すべて、前記高速クロックにより駆動される高速クロック領域内で動作可能である請求項１に記載のスリープクロック周波数推定器。
【請求項１０】
第１のクロック信号および第２のクロック信号を受け取り、前記第１のクロックに同期して前記第２のクロックのサイクル毎に少なくとも１つのクロック同期パルスを出力するように構成された同期装置と、
前記少なくとも１つのクロック同期パルスを受け取るように構成され、クロック同期パルスを受け取る毎に第１のカウントをインクリメントし、前記第１のカウントが所定の数に達したときにフルカウント信号を出力するように構成された第１のカウンタと、
前記フルカウント信号を受け取り、前記フルカウント信号を受け取る毎に１のカウントだけインクリメントするように構成された第２のカウンタと、
前記第１のクロック信号を受け取り、受け取った前記第１のクロックサイクル毎に第２のカウントをインクリメントし、前記第２のカウントを出力するように構成された第３のカウンタと、
前記第１のカウンタが受け取ったクロック同期パルス毎に前記第２のカウントを格納するように構成された少なくとも１つのレジスタとを備えるクロック周波数推定器。
【請求項１１】
前記少なくとも１つのレジスタは、測定期間に第１のクロックサイクルのカウントを決定するために格納されているカウントを第１の加算器に出力するように構成され、前記第１および第２のカウンタは、現在のカウントを加算器に出力して前記測定期間に現れる第２のクロックサイクルのカウントを決定するように構成される請求項１０に記載のクロック周波数推定器。
【請求項１２】
前記第１および第２のカウンタのうちの１つからのフルカウント信号毎にそれぞれ前記第３のカウンタから前記第２のカウントを順次受け取るように構成された少なくとも１つの追加のレジスタをさらに備える請求項１０に記載のクロック周波数推定器。
【請求項１３】
前記第１および少なくとも１つの追加のレジスタを含む「Ｎ」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「Ｎ」個のレジスタに基づいて決定される請求項１２に記載のクロック周波数推定器。
【請求項１４】
前記第１のレジスタによる格納は、前記スリープクロック同期パルスに周波数に関して対応する遅延パルスによりトリガされるが、前記スリープクロック同期パルスの後の所定の遅延時間分だけ遅延される請求項１０に記載のクロック周波数推定器。
【請求項１５】
前記所定の遅延は、第１のクロック信号の１サイクルに等しい請求項１４に記載のクロック周波数推定器。
【請求項１６】
前記第１のクロックは、温度補償水晶発振器である請求項１０に記載のクロック周波数推定器。
【請求項１７】
前記第１のクロック信号は、前記第２のクロック信号よりも高い周波数を有する請求項１０に記載のクロック周波数推定器。
【請求項１８】
前記第１のカウンタ、前記第２のカウンタ、前記第３のカウンタ、および前記少なくとも１つのレジスタは、すべて、前記第１のクロックにより駆動される回路領域内で動作可能である請求項１０に記載のクロック周波数推定器。
【請求項１９】
高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、前記高速クロックに同期して前記スリープクロックのサイクル毎に少なくとも１つのスリープクロック同期パルスを出力するように構成された同期装置と、
スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも１つのフルカウント信号を出力するように構成されている第１のカウンタと、
前記フルカウント信号を受け取り、受け取ったフルカウント信号毎に１のカウントだけインクリメントするように構成された第２のカウンタと、
高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第１のレジスタに出力し、低速クロックサイクル毎に前記第１のレジスタに格納するように構成された第３のカウンタと、
を備えるスリープクロック周波数推定器と、
前記少なくとも１つのレジスタから測定期間中の高速クロックサイクルの前記カウントを受け取り、前記測定期間中に現れる高速クロックサイクルの個数を決定し、前記第１および第２のカウンタからカウントを受け取り、前記測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの前記決定されたカウントに基づいて前記スリープクロック周波数の推定値を決定するように構成されたプロセッサとを備える無線トランシーバにおいて使用される処理回路。
【請求項２０】
前記推定器は、さらに、
前記第１および第２のカウンタのうちの少なくとも１つからのフルカウント信号毎にそれぞれ前記第３のカウンタから前記第２のカウントを順次受け取るように構成された少なくとも１つの追加のレジスタを備える請求項１９に記載の処理回路。
【請求項２１】
前記第１および少なくとも１つの追加のレジスタを含む「Ｎ」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「Ｎ」個のレジスタに基づいて決定される請求項２０に記載の処理回路。
【請求項２２】
前記所定の遅延は、１高速クロックサイクルに等しい請求項１９に記載の処理回路。
【請求項２３】
前記遅延パルスを発行するように構成された遅延回路をさらに備える請求項２２に記載の処理回路。
【請求項２４】
前記高速クロックは、温度補償水晶発振器である請求項１９に記載の処理回路。
【請求項２５】
前記プロセッサは、前記回路をスリープモードにするのに先立って前記低速クロック周波数の前記推定値を決定するように構成されている請求項１９に記載の処理回路。
【請求項２６】
前記第１のカウンタ、前記第２のカウンタ、前記第３のカウンタ、および前記第１のレジスタは、前記高速クロックにより駆動される高速クロック領域内で動作可能である請求項１９に記載の処理回路。
【請求項２７】
高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、前記高速クロックに同期して前記スリープクロックのサイクル毎に少なくとも１つのスリープクロック同期パルスを出力するように構成された同期装置と、
スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも１つのフルカウント信号を出力するように構成されている第１のカウンタと、前記フルカウント信号を受け取り、受け取ったフルカウント信号毎に１のカウントだけインクリメントするように構成された第２のカウンタと、高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第１のレジスタに出力し、低速クロックサイクル毎に前記第１のレジスタに格納するように構成された第３のカウンタとを備えるスリープクロック周波数推定器と、
前記少なくとも１つのレジスタから測定期間中の高速クロックサイクルの前記カウントを受け取り、前記測定期間中に現れる高速クロックサイクルの個数を決定し、前記第１および第２のカウンタからカウントを受け取り、前記測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの前記決定されたカウントに基づいて前記スリープクロック周波数の推定値を決定するように構成されたプロセッサとを備える移動体通信網で使用される無線デバイス。
【請求項２８】
前記スリープクロック周波数推定器は、さらに、
前記第１および第２のカウンタのうちの少なくとも１つからのフルカウント信号毎にそれぞれ前記第３のカウンタから前記第２のカウントを順次受け取るように構成された少なくとも１つの追加のレジスタを備える請求項２７に記載の無線デバイス。
【請求項２９】
前記第１および少なくとも１つの追加のレジスタを含む「Ｎ」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「Ｎ」個のレジスタに基づいて決定される請求項２８に記載の無線デバイス。
【請求項３０】
前記第１のレジスタによる格納は、前記スリープクロック同期パルスに周波数に関して対応する遅延パルスによりトリガされるが、前記スリープクロック同期パルスの後の所定の遅延時間分だけ遅延される請求項２７に記載の無線デバイス。
【請求項３１】
前記所定の遅延は、１高速クロックサイクルに等しい請求項３０に記載の無線デバイス。
【請求項３２】
前記スリープクロック同期パルスの後の所定の遅延で遅延されたスリープクロック同期パルスを発行するように構成され、前記第１のレジスタによる格納をトリガするように構成された遅延回路をさらに備える請求項２７に記載の無線デバイス。
【請求項３３】
前記高速クロックは、温度補償水晶発振器である請求項２７に記載の無線デバイス。
【請求項３４】
前記プロセッサは、前記回路をスリープモードにするのに先立って前記低速クロック周波数の前記推定値を決定するように構成されている請求項２７に記載の無線デバイス。
【請求項３５】
前記第１のカウンタ、前記第２のカウンタ、前記第３のカウンタ、および前記第１のレジスタは、前記高速クロックにより駆動される高速クロック領域内で動作可能である請求項２７に記載の無線デバイス。
【請求項３６】
低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れる前記スリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、
高速クロックサイクルカウントを決定するため前記高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも１つのレジスタ内に前記所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルの前記カウントされた個数を格納することと、
前記スリープクロックカウンタのスリープクロックサイクルの個数および前記少なくとも１つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、
スリープクロックサイクルの前記決定された個数および前記少なくとも１つのレジスタ内に格納されている高速クロックサイクルの前記決定された個数に基づいて前記スリープクロックの推定周波数を決定することとを備える高速クロックでスリープクロックの周波数を推定するための方法。
【請求項３７】
前記所定の測定期間は、カウントすべき低速サイクルの設定された個数に基づいて決定される請求項３６に記載の方法。
【請求項３８】
低速サイクルの前記個数は、前記低速クロックカウンタのカウント限界値よりも大きく、
前記低速クロックのカウント限界値を超えたときに前記第１のレジスタ内に格納されている前記カウントを少なくとも第２のレジスタにシフトすることと、
前記カウント限界値を超えることになる毎にカウントするように最上位ビットカウンタを設定することとをさらに備える請求項３７に記載の方法。
【請求項３９】
命令が格納されるコンピュータ可読媒体であって、前記格納されている命令がプロセッサにより実行されると、前記プロセッサは高速クロックでスリープクロックの前記周波数を推定するための方法を実行し、前記方法は、
低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れる前記スリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、
高速クロックサイクルカウントを決定するため前記高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも１つのレジスタ内に前記所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルの前記カウントされた個数を格納することと、
前記スリープクロックカウンタのスリープクロックサイクルの個数および前記少なくとも１つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、
スリープクロックサイクルの前記決定された個数および前記少なくとも１つのレジスタ内に格納されている高速クロックサイクルの前記決定された個数に基づいて前記スリープクロックの推定周波数を決定することとを備える、前記命令が格納されるコンピュータ可読媒体。
【請求項４０】
前記所定の測定期間は、カウントすべき低速サイクルの設定された個数に基づいて決定される請求項３９に記載のコンピュータ可読媒体。
【請求項４１】
低速サイクルの前記個数は、前記低速クロックカウンタのカウント限界値よりも大きく、
前記低速クロックのカウント限界値を超えたときに前記第１のレジスタ内に格納されている前記カウントを少なくとも第２のレジスタにシフトすることと、
前記カウント限界値を超えることになる毎にカウントするように最上位ビットカウンタを設定することとをさらに備える請求項４０に記載のコンピュータ可読媒体。
【請求項４２】
スリープクロックを高速クロックに同期させ、前記高速クロックと同期している低速クロックサイクル毎に同期パルスを形成するための手段と、
低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れる前記スリープクロックのサイクル毎にスリープクロックカウントをインクリメントするための手段と、
高速クロックサイクルカウントを決定するために前記高速クロックのサイクル毎に高速クロックカウントをインクリメントするための手段と、
前記所定の測定期間中にそれぞれの低速クロックサイクルにおいて現れる高速クロックサイクルの前記カウントされた個数を格納するための手段と、
前記スリープクロックカウントからスリープクロックサイクルの個数を決定するための手段と、
格納するための前記手段に格納されている高速クロックサイクルの個数を決定するための手段と、
スリープクロックサイクルの前記決定された個数および高速クロックサイクルの前記決定された個数に基づいて前記スリープクロックの推定周波数を決定するための手段とを備える高速クロックでスリープクロックの周波数を推定するための装置。
【請求項４３】
前記所定の測定期間は、カウントすべき低速サイクルの設定された個数に基づいて決定される請求項４２に記載の装置。
【請求項４４】
前記低速クロックのカウント限界値を超えたときに前記第１のレジスタ内に格納されている前記カウントを少なくとも第２のレジスタにシフトするための手段と、
前記カウント限界値を超えることになる毎にカウントするように最上位ビットカウンタを設定するための手段とをさらに備え、
低速サイクルの前記個数は、前記低速クロックカウンタのカウント限界値よりも大きい請求項４３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、スリープクロック周波数（sleep clock frequency）を推定するための方法および装置に関するものであり、より具体的には、温度補償水晶発振器（ＴＣＸＯ）などの高性能クロックを使用してスリープクロック周波数を推定することに関するものである。
【背景技術】
【０００２】
携帯電話などのモバイルトランシーバは、典型的には、システム時間を維持することを含むデバイス内のさまざまな機能用に非常に正確なタイミングを供給する温度補償発振器（ＴＣＸＯ）を使用する。しかし、ＴＣＸＯなどのクロックは、比較的多くの電力を使用し、約１．５ｍＡの電流を引き込む。モバイルトランシーバの電池寿命を延ばすために、デバイス内の電流消費量が最も多いユニットを節電モードにし、低電力スリープ回路を使用してシステム時間を維持する方法が知られている。ＴＣＸＯは大電流を引き込むので、このようなデバイスを使用してスリープ回路用にシステム時間を維持するのはエネルギー効率上よくない。
【０００３】
そこで、電力使用量がかなり少なく（例えば、電流引き込みが２００μＡであるクロック）、ＴＣＸＯデバイスに比べて周波数が低い（例えば、３０〜６０ｋＨｚ）スリープコントローラを使用することによりスリープまたは節電モードのときにシステムタイミングを維持することが知られている。クロック周波数は変動する傾向があるため、これは、典型的には、時間維持をある程度犠牲にして費用効果の高い水晶発振子クロックを使って実現される。このクロックは、別に、「スリープクロック」または「低速クロック」と呼ばれる。
【０００４】
トランシーバがスリープモードから覚醒したときに、スリープクロックにより維持されているとおりに正確なシステム時間を刻んでいることが重要である。低速クロックは、スリープモードのときのシステム計時に使用されるため、ＣＤＭＡベースのネットワークなどの無線ネットワークから受信された情報に基づくタイミングの再取得の前にモバイルトランシーバが覚醒すると、クロックタイミングの精度は、システム時間に直接的影響を及ぼす。したがって、低速クロック周波数の適切な推定が望ましい。しかし、モバイルデバイスにより使用される知られているタイミング推定は、典型的には、初期較正にのみ使用され、低速クロック時刻追跡は、もっぱら、擬似雑音（ＰＮ）符号タイミングに依存する。しかし、ＰＮタイミングを採用しないいくつかの無線システムでは（例えば、直交周波数分割多重（ＯＦＤＭ））このタイミングは利用できない。そのため、このようなシステムでは、スリープクロックタイミングの精度はなおいっそう重要である。特に、ＯＦＤＭの場合、このようなシステムは、符号間干渉により悪化する同期タイミングなどのタイミング誤差の影響を受けやすい。
【発明の開示】
【発明の概要】
【０００５】
高速クロックを使用して推定を決定することによりスリープクロックの正確な推定を行う装置および方法が、現在、開示されている。一実施例では、スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも１つのフルカウント信号を出力するように構成された第１のカウンタを備えるスリープクロック周波数推定器が開示される。推定器は、さらに、フルカウント信号を受け取り、受け取ったフルカウント信号毎に１のカウントだけインクリメントするように構成された第２のカウンタ、および高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第１のレジスタに出力し、低速クロックサイクル毎にその第１のレジスタに格納するように構成された第３のカウンタを備える。
【０００６】
他の実施例によれば、第１のクロック信号および第２のクロック信号を受け取り、第１のクロックに同期して第２のクロックのサイクル毎に少なくとも１つのクロック同期パルスを出力するように構成された同期装置を有するクロック周波数推定器が開示される。第１のカウンタも含まれ、また少なくとも１つのクロック同期パルスを受け取るように構成され、第１のカウンタは、クロック同期パルスを受け取る毎に第１のカウントをインクリメントし、第１のカウントが所定の数に達したときにフルカウント信号を出力するように構成される。さらに、第２のカウンタが含まれ、第２のカウンタは、フルカウント信号を受け取り、フルカウント信号が受け取られる毎に１のカウントだけインクリメントするように構成され、第３のカウンタが含まれ、第３のカウンタは、第１のクロック信号を受け取り、受け取った第１のクロックサイクル毎に第２のカウントをインクリメントし、第２のカウントを出力するように構成され、少なくとも１つのレジスタが、第１のカウンタにより受け取られたクロック同期パルス毎に第２のカウントを格納するように構成される。
【０００７】
さらに他の開示されている実施例では、無線トランシーバにおいて使用される処理回路は、高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、高速クロックに同期してスリープクロックのサイクル毎に少なくとも１つのスリープクロック同期パルスを出力するように構成されている同期装置と、スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも１つのフルカウント信号を出力するように構成された第１のカウンタと、フルカウント信号を受け取り、受け取ったフルカウント信号毎に１のカウントだけインクリメントするように構成された第２のカウンタと、高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第１のレジスタに出力し、低速クロックサイクル毎にその第１のレジスタに格納するように構成された第３のカウンタとを備えるスリープクロック周波数推定器と、少なくとも１つのレジスタから測定期間中の高速クロックサイクルのカウントを受け取り、測定期間中に実行される高速クロックサイクルの個数を決定し、第１および第２のカウンタからカウントを受け取り、測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの決定されたカウントに基づいてスリープクロック周波数の推定値を決定するように構成されたプロセッサとを備える。
【０００８】
さらに他の実施例では、高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、高速クロックに同期してスリープクロックのサイクル毎に少なくとも１つのスリープクロック同期パルスを出力するように構成されている同期装置を備える移動体通信網で使用される無線トランシーバが、開示される。さらに、スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも１つのフルカウント信号を出力するように構成された第１のカウンタと、フルカウント信号を受け取り、受け取ったフルカウント信号毎に１のカウントだけインクリメントするように構成された第２のカウンタと、高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第１のレジスタに出力し、低速クロックサイクル毎にその第１のレジスタに格納するように構成された第３のカウンタとを有するスリープクロック周波数推定器が含まれる。最後に、無線デバイスは、少なくとも１つのレジスタから測定期間中の高速クロックサイクルのカウントを受け取り、測定期間中に発生する高速クロックサイクルの個数を決定し、第１および第２のカウンタからカウントを受け取り、測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの決定されたカウントに基づいてスリープクロック周波数の推定値を決定するように構成されたプロセッサを備える。
【０００９】
さらに他の実施例では、高速クロックでスリープクロックの周波数を推定する方法が開示される。この方法は、低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れるスリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、高速クロックサイクルカウントを決定するため高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも１つのレジスタ内に所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルのカウントされた個数を格納することと、スリープクロックカウンタのスリープクロックサイクルの個数および少なくとも１つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、スリープクロックサイクルの決定された個数および少なくとも１つのレジスタ内に格納されている高速クロックサイクルの決定された個数に基づいてスリープクロックの推定周波数を決定することとを含む。
【００１０】
さらに他の開示されている実施例では、コンピュータ可読媒体に命令が格納され、この格納されている命令がプロセッサにより実行されると、プロセッサは高速クロックでスリープクロックの周波数を推定する方法を実行する。この実行される方法は、低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れるスリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、高速クロックサイクルカウントを決定するため高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも１つのレジスタ内に所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルのカウントされた個数を格納することと、スリープクロックカウンタのスリープクロックサイクルの個数および少なくとも１つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、スリープクロックサイクルの決定された個数および少なくとも１つのレジスタ内に格納されている高速クロックサイクルの決定された個数に基づいてスリープクロックの推定周波数を決定することとを含む。
【００１１】
さらに他の実施例によれば、高速クロックでスリープクロックの周波数を推定するための装置は、スリープクロックを高速クロックに同期させ、高速クロックと同期している低速クロックサイクル毎に同期パルスを形成するための手段と、低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れるスリープクロックのサイクル毎にスリープクロックカウントをインクリメントするための手段と、高速クロックサイクルカウントを決定するために高速クロックのサイクル毎に高速クロックカウントをインクリメントするための手段と、所定の測定期間中にそれぞれの低速クロックサイクルにおいて現れる高速クロックサイクルのカウントされた個数を格納するための手段と、スリープクロックカウントからスリープクロックサイクルの個数を決定するための手段と、格納するための手段に格納されている高速クロックサイクルの個数を決定するための手段と、スリープクロックサイクルの決定された個数および高速クロックサイクルの決定された個数に基づいてスリープクロックの推定周波数を決定するための手段とを備える。
【詳細な説明】
【００１２】
本出願は、他のより正確なタイプのクロック（例えば、ＴＣＸＯ高速クロック）を使用して第１のタイプのクロック（例えば、低速またはスリープクロック）の周波数を推定するための装置および方法を開示する。それに加えて、開示されている方法および装置では、第１のタイプのクロックのクロックドリフト効果を最小限に抑える所定の長さにわたって測定された最新の連続的推定結果が得られる。
【００１３】
図１は、モバイルトランシーバなどの、移動体ネットワークで使用される例示的な無線装置１００を例示している。無線デバイス１００は、アンテナ１０１を介して基地局などの他のデバイスとの間で無線通信信号の送受信を行う。無線デバイス１００は、高速クロックを使用して低速クロック周波数を推定するための低速またはスリープクロック周波数推定器１０２を備える。図に示されているように、クロック推定器１０２は、高速クロック１０８および低速クロック１１０からそれぞれクロック信号１０４および１０６を受け取る。高速クロック１０８は、低速クロック１１０に比べて相対的に高い周波数（例えば、４４．４ＭＨｚまたは６６．６ＭＨｚ）で動作する、タイミング精度の高い、ＴＣＸＯまたは類似のデバイスである。対照的に、低速クロック１１０は、低い周波数（例えば、３０から６０ｋＨｚ）で動作する、消費電力の少ないタイプの発振器であり、スリープ状態での計時に理想的である。
【００１４】
高速および低速クロック１０８および１１０は、独立に動作し、互いに非同期である。低速クロック周波数推定器１０２は、高速クロックサイクルをカウントすることにより低速クロックサイクルの個数をカウントし、これにより実際の低速クロック周波数を推定する際の精度を高めるように構成される。低速および高速クロックは、非同期であるため、推定器１０２は、高速クロックを低速クロックに同期させる同期装置（この図には示されていない）を備える。次いで、推定器１０２は、高速クロックを使用して低速クロックのサイクルの個数のカウント（ＮＳＣ）、さらにはその個数の低速クロックサイクルにおいて現れる高速クロックサイクルの個数のカウント（ＮＦＣ）を決定することができる。推定器１０２は、この情報をマイクロプロセッサ１１２に供給するが、マイクロプロセッサは、実際には、推定器１０２内のレジスタからカウントデータを単に読み出すだけでＮＳＣおよびＮＦＣを決定し、低速クロック周波数の最新の推定値を導き出すことができる。一実施例では、推定器１０２は、連続的にアクティブモードまたは覚醒モードで動作するので、カウントデータのこの読み取りは、いつでも実行することが可能である。一実施例では、マイクロプロセッサは、例えば、モバイル機器１００がスリープ状態にされる前にスリープモードタイマーを設定することを目的として、システム１００がスリープモードに入ることをマイクロプロセッサ１１２が指令するのに先立ってデータを読み取る。
【００１５】
この実施例により量子化誤差とともに低速クロック変動誤差を最小限に抑えるために、推定器１０２は、モバイル機器１００が覚醒している限り低速クロック１１０を連続的にカウントする。高速クロックと低速クロックとが非同期であるため、ＮＦＣの測定誤差は−１高速クロックチップまたはサイクルから＋１高速クロックチップまたはサイクルまでの範囲内である。低速クロックの推定周波数ｆＳＣは、マイクロプロセッサ１１２により計算され、以下の関係式に基づいて導き出されうる。
【数１】
2009515494.tif 000003
【００１６】
ｆＦＣは、高速クロック周波数であり、ＮＳＣは、カウントされた低速クロックサイクルの個数であり、ＮＦＣは、カウントされた高速クロックサイクルの個数である。ＮＳＣおよびＮＦＣは、推定器１０２内の（後述の）レジスタから読み出される。
【００１７】
それに加えて、本開示による推定器１０２の推定誤差εは、以下の関係式により決定されうることに留意されたい。
【数２】
2009515494.tif 000004
【００１８】
ただし、Ｔｍｅａｓｕｒｅは、モバイル機器１００覚醒時間を上限とする連続測定時間であり、εＦＣは、ＴＣＸＯ高速クロック１０８の自動周波数制御（ＡＦＣ）によるものなどの高速クロックの誤差であり、εＳＣは、スリープクロックドリフトなどの低速クロック１１０の誤差である。著しいドリフトが生じないくらい連続測定時間が十分に短いと仮定して高速クロックＡＦＣ誤差およびスリープクロックドリフトを無視した場合、±１の量子化による誤差は、以下の式で表すことができる。
【数３】
2009515494.tif 000005
【００１９】
式（３）からわかるように、誤差は、連続測定時間と高速クロック周波数に反比例する。そのため、連続測定時間が長くなるか、または高速クロック周波数が増大するにつれ、誤差が大きくなる。図２は、この関係のグラフを例示しており、測定単位ｐｐｍ（１００万分の１）で表される誤差が、測定時間が長くなるほど急激に減少し、クロック周波数が高いほど小さくなることを示している（例えば、４４．４ＭＨｚを示す曲線２００と６６．６ＭＨｚを示す曲線２０２）。例えば、高速クロック周波数が４４．４ＭＨｚであり、測定時間が４ミリ秒（例えば、ＯＦＤＭ符号５個分に相当する）である場合、推定誤差は、約５．５ｐｐｍとなるが、測定時間が４０ミリ秒に延びると、誤差は、約．５５ｐｐｍに減少する。
【００２０】
したがって、図２から、測定時間が長いほど、推定精度はよくなることが明白である。しかし、測定時間を長くとった場合の利点は、時間計測が長くなりすぎた場合に、スリープクロックの周波数ドリフトのせいで推定誤差が再び入り込む可能性があるという事実により減じる。そこで、本開示による推定器１０２は、測定時間が短すぎる場合と長すぎる場合のバランスをとるように構成される。したがって、推定器１０２は、モバイル機器１００が覚醒したらすぐにカウントを開始し、測定時間が最大になるようにＴＣＸＯ高速クロック１０８がアップしている限りカウントを続けるように設計される。他方、低速クロックドリフト効果を最小限に抑えるために、古い測定結果は、所定の長さを超えた場合に破棄される。したがって、推定器１０２内のレジスタに保持される測定結果は、最新である。開示されている推定器１０２の他の特徴は、測定は要求されたときにはいつでも利用可能であり（つまり、遅延がない）、量子化誤差が最小になるようにカウントプロセスは決して中断されないという点である。
【００２１】
図１の無線デバイス１００は、さらに、スリープクロック推定を実行する方法またはアルゴリズムをプロセッサ１１２に実行させるための命令を格納するメモリデバイス１１４または他の好適なコンピュータ可読媒体を備えることもできることに留意されたい。示されているように、メモリデバイス１１４は、接続１１６により示されているようなプロセッサ１１４に送るための記憶装置を備える。それとは別に、推定器１０２が、ソフトウェアを実行することができるように構成されている場合、メモリデバイス１１４では、破線１１８で示されているような方法またはアルゴリズムを推定器に実行させることもできる。
【００２２】
図３は、図１の低速クロック周波数推定器１０２の例示的な構成のブロック図を例示している。すでに述べたように、低速クロック１１０および高速クロック１０８は、非同期であり、したがって、高速クロックで低速クロックの周波数を測定するためには、低速クロックを、最初に高速クロックに同期させてなければならない。そのため、推定器１０２は、高速クロック信号１０４と低速クロック信号１０６の両方を受け取る同期装置３００を備える。同期装置３００は、信号１０４、１０６を受け取り、低速クロックを高速クロックに同期させ、低速クロック１１０のサイクル毎にスリープクロック同期パルス３０２を出力するが、ただし、クロック同期パルスは、例えば、高速クロック信号の立ち上がりまたは立ち下がりエッジと同期する、立ち上がりエッジを有する。同期装置３００は、倍長レジスタ、遅延レジスタ、または２つの非同期信号を同期させるための他の知られているデバイスを使用して、実装することができる。
【００２３】
低速クロックカウンタ３０４は、同期装置３００からスリープクロック同期パルス３０２を受け取るが、受け取るときにパルス３０２をカウントする。低速クロックサイクル毎に、または言い換えると、スリープクロック同期パルス３０２毎に、低速クロックカウンタは、他の低速クロックサイクルをカウントする３０４。一実施例では、低速クロックカウンタ３０４は、ＭＳＣビットの容量を持ち、そのため、一部は測定時間を制限するために使用される、最大または所定のカウントの数
【数４】
2009515494.tif 000006
【００２４】
を有する。他の定量的な実施例として、カウンタ３０４のビットの個数が１１（つまり、ＭＳＣ＝１１）である場合、所定のカウントは２０４８低速クロックサイクルとなる。しかし、この数は、望む測定時間が長いか、短いかに応じて、２０４８よりも大きいか、または小さいものとしてよい。
【００２５】
推定器１０２は、さらに、高速クロック１０８から高速クロック信号１０４を受け取り、高速クロックサイクルをカウントする高速クロックカウンタ３０６も備える。低速クロックサイクル毎に、または言い換えると、スリープクロック同期パルス３０２毎に、低速クロックカウンタは他のサイクルをカウントし３０４、高速クロックカウンタ３０６は、スリープクロック同期パルス３０２（または図５の実施例に関して後から説明されるように、低速クロックサイクルで現れる高速クロックサイクルのすべてが必ず説明されるように遅延されたスリープクロック同期パルス）によりトリガされ、高速クロックカウンタ３０６のカウントを、接続３１２を介して「レジスタ１」と指定されている記憶レジスタ３１０に読み込む。低速クロックカウンタ３０４のカウントが所定のカウント
【数５】
2009515494.tif 000007
【００２６】
に達するまで低速クロックサイクル毎に高速クロックカウンタ３０６の現在のカウント値が、レジスタ３１０に読み込まれる。カウンタ３０６は、リセットされずにインクリメントし続けることができることに留意されたい。そのため、低速クロックサイクル毎にレジスタ３１０（レジスタ１）に読み込まれた値は、レジスタ３１０内に格納されている前の値を上書きする。ただし、当業者であれば、代替えの配列を利用して、所定の数の低速クロックサイクル毎に現れる高速クロックサイクルの個数をカウントさせることが可能であることを理解するであろう。例えば、カウンタ３０６は、それぞれの低速クロックサイクルおよびレジスタ３１０についてリセットすることが可能であり、代わりに、低速クロックカウンタ３０４がその所定の限界値に達したときまでにカウンタ３０６から受け取った現在値の前の総和にカウンタ３０６の現在値を加える累積カウンタとすることが可能である。
【００２７】
低速クロックカウンタ３０４が所定の限界値に達する（例えば、繰り越す）と、低速クロックカウンタ３０４は、接続３１６を介して最上位ビット（ＭＳＢ）信号（例えば、カウンタ３０４の最上位ビットが「１」値に達したことを示すビット値「１」）を最上位ビット（ＭＳＢ）カウンタ３１４に送り、ＭＳＢカウンタ３１４をインクリメントする。そのため、ＭＳＢカウンタ３１４は、低速クロックカウンタが繰り越す回数を実際にカウントする、つまり毎回ＭＳＢが「１」になる。ＭＳＢの問題と同時に、低速クロックカウンタ３０４は（図３の実施例に示されているように）、接続３２０を介してＭＳＢで高速クロックカウンタ３０６をトリガして、接続３２１を介して、高速クロックカウンタ３０６の現在値を「レジスタ２」というラベルの付いている他の第２のレジスタ３１８に読み込む。それに加えて、ＭＳＢカウンタ３１４がインクリメントされると、第１のレジスタ３１０は、接続３２０を介してカウント０にリセットされる。第１のレジスタ３１０は、この実施例では、最後の低速クロックサイクルまでに現れる高速クロックサイクルの正確なカウントがいつでも（例えば、マイクロプロセッサ１１２がスリープモードに入る直前に）得られることを保証するために使用され、ＮＦＣを取得する際に使用される。そこで、スリープクロックサイクルの終了は、現在のカウントを得るために必要ではない。
【００２８】
しかし、図４は、モバイル機器１００が低速クロックサイクルの終わりの前にスリープモードに入ると、高速クロックのカウントの一部が失われることを例示している。しかしながら、カウントの精度は、最悪でも±１低速クロックサイクルである。特に、図４は、レジスタ３１０に高速クロックカウンタ３０６のカウントを格納することを可能にする、高速クロック信号１０８、低速またはスリープクロック信号１１０、およびスリープクロック同期パルス３０２の間の関係のタイミング図を例示している。時間線４００により示されているように、新しい低速クロックサイクルが開始すると、パルス４０２により、レジスタ３１０は、格納を行い、高速クロックカウンタ３０６から現在カウントを引き出す。少し後に、次の低速クロックサイクルで、マイクロプロセッサが、時間線４０４に示されているように、モバイル機器１００をスリープモードにすることを決めた場合、しばらくの間現れる高速クロックパルスの現在の個数は、矢印４０６により示されているように、レジスタ３１０に格納されない。しかしながら、高速クロックパルスの個数ＮＦＣは、最後の低速クロックサイクルの終わり（つまり、時間線４００）までカウントされ、精度は最悪±１低速クロックサイクルである。
【００２９】
図３を再び参照すると、推定器１０２は、さらに、番号「Ｎ」までの追加のレジスタを備え、最後のレジスタ「Ｎ」は参照番号３２２で指定される形で示されている。追加のレジスタ２（３１８）からＮ（３２２）を使用することで、少なくとも
【数６】
2009515494.tif 000008
【００３０】
の低速クロックサイクルは、低速クロックサイクルの個数分よりも長い覚醒期間の高速クロックカウントに相当することが保証される。それに加えて、レジスタの個数を「Ｎ」個に制限することにより、低速クロックサイクルの最新のカウントのみが与えられる。例えば、低速クロック１１０の周波数が、約３２ｋＨｚであり、低速クロックカウンタ３０４のＭＳＣビットの個数は１１であり、Ｎは、レジスタの個数である２に制限され、最大カウント期間は、ほぼ
【数７】
2009515494.tif 000009
【００３１】
ミリ秒に等しい。これは、一例にすぎず、２個よりも多いレジスタを使用して、測定時間を長くとることもできる。それに加えて、当業者であれば、単一のレジスタ（例えば、レジスタ１（３１０））を図３の推定器で使用することが可能であるが、これにより、高速クロックカウントに相当する最大
【数８】
2009515494.tif 000010
【００３２】
個の低速サイクルの短い測定時間（約６４ミリ秒）しか得られない。さらに、高速クロックカウンタ３０６とレジスタ１からＮの組合せは、ＭＳＢカウンタ３１４とともに低速クロックカウンタ３０４の測定期間に高速クロックサイクルをカウントする単一ユニットとして実装することが可能であることに留意されたい。この単一ユニットは、高速クロックカウントの現在のカウントが、最後に現れる完全な低速クロックサイクルに至るまで得られるように構成される。同様に、低速クロックカウンタ３０４およびＭＳＢカウンタ３１４は、スリープクロック同期パルス３０２をカウントする単一ユニットとして構成することが可能である。
【００３３】
図３は、さらに、それぞれ高速クロックカウントＮＦＣおよび低速クロックカウントＮＳＣを計算する加算器３２４および３２６を例示している。高速クロックカウントＮＦＣの場合、レジスタ１−Ｎ（例えば、３１０、３１８、３２２）のそれぞれに格納されたカウントは、加算器３２４により読み出され、足し合わされ、ＮＦＣが導き出される。低速またはスリープクロックカウントＮＳＣの場合、低速クロックカウンタおよびＭＳＢカウンタ３１４からのカウントが、加算器３２６により総和される。ＭＳＢカウンタ３１４は、続いて低速クロックカウンタの現在のカウントに加えられるそれぞれすでにカウントされている
【数９】
2009515494.tif 000011
【００３４】
個の低速クロックサイクルを表す最上位ビットを送出し、最大でも最大時間測定期間に全低速クロックサイクルを与えるだけである。一実施例では、シフトレジスタ３３０は、ＭＳＢカウンタ３１４のカウントを加算器３２６に移動するために使用できる。加算器３２４および３２６（およびシフトレジスタ３３０）は、推定器１０２の一部として示されておらず、マイクロプロセッサ１１２内に、または推定器１０２とマイクロプロセッサ１１２の両方とは別に、実装することができることに留意されたい。それとは別に、加算器３２４、３２６は、ＡＳＴＣ内に収められた、例えば、推定器１０２を収納したロジックであってよい。
【００３５】
マイクロプロセッサ１１２が、モバイルデバイス１００をスリープモードにすることを決定した場合、マイクロプロセッサ１１２は、高速および低速クロックカウントＮＦＣおよびＮＳＣを取得し、例えば、上記の式（１）に従ってこれらの数値から低速クロック周波数の推定値を計算する。マイクロプロセッサ１１２が覚醒すると、モバイル機器が覚醒するたび毎にマイクロプロセッサ１１２からのウェイクアップ信号によりレジスタおよびカウンタはすべてリセットされる。推定器１０２は、次いで、モバイル機器１００がスリープ状態になるまで間断なく実行を続ける。
【００３６】
カウントＮＦＣおよびＮＳＣを導き出すために使用される推定器１０２の部分は、図３の破線３２８により示されるように、すべて高速クロックの領域の一部であることに留意されたい。これにより、推定器１０２が、高速クロック１０８のみを使用して、カウントを実行し、精度が低く、消費電力の少ない低速クロック１１０を使用して得られる場合よりも正確な推定値が求められることが保証される。
【００３７】
図３の推定器１０２に似た低速クロック周波数推定器の他の実施例は、図５および６に示されている。図５の実施例は、高速クロック信号（ｆａｓｔ＿ｃｌｋ）、低速クロック信号（ｓｌｏｗ＿ｃｌｋ）、および例えば、マイクロプロセッサ１１２などのマイクロプロセッサからのウェイクアップ信号を受け取る推定器５０２を備える。  図３の実施例と同様に、同期装置５０４は、ｓｌｏｗ＿ｃｌｋ信号を受け取り、ｓｌｏｗ＿ｃｌｋ信号を高速クロック信号に同期させ、図３の実施例の信号３０２によく似たｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃというラベルが付けられているスリープクロック同期パルス５０６を出力する。ｆａｓｔ＿ｃｌｋおよびｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃ信号は、推定器５０２の高速クロック領域部分５０８に入力される。それに加えて、推定器は、１高速クロック周期などの所定の時間量だけスリープクロック同期パルス５０６を遅延させる遅延回路５１０を備える。遅延回路５１０は、後で説明されるように、第１のレジスタ５１２が高速クロックカウンタ５１４からカウントを受け取れるようにするために使用されるｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃ＿ｄｅｌａｙパルス５１１を出力する。遅延回路５１０は、所定の遅延期間に入力された信号を出力する好適なデバイスにより実装されうることに留意されたい。
【００３８】
図３の実施例と同様に、推定器５０２は、カウントがゼロ（０）から開始すると仮定して、限界値
【数１０】
2009515494.tif 000012
【００３９】
までカウントできるＭＳＣ個のビットを有する低速またはスリープクロックカウンタ５１６を備える。図に示されている特定の実施例において、スリープクロックカウンタ５１６は、スリープクロックレジスタ５１７および加算器５１９を備える。レジスタ５１７は、単に、加算器５１９から入力されたカウント値を格納するだけである。加算器は、次のｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃパルス５０６である、「１」入力へのフィードバック接続を介してレジスタ５１７により出力されたすでに格納されているカウント値を加算することによりカウント値を決定する。したがって、ｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃパルス５０６は、効果的にカウンタ５１６をインクリメントする。
【００４０】
低速クロックカウンタ５１６がその限界値に達した後、カウンタ５１６は、スリープクロックカウンタ５１６の出力である、バス接続５２２から導き出される接続５２１により例示されているように、データの１ビットのみ（つまり、最上位ビット）でＭＳＢカウンタ５１８を設定する。次いで、ＭＳＢカウンタ５１８は、ＭＳＢをスリープクロックカウンタ５１６に戻し、カウントを０にリセットするか、またはより具体的には、スリープクロックレジスタ５１７を値０にリセットする。低速クロックカウンタ５１６およびＭＳＢカウンタ５１８は、それぞれのカウント５２２およびビットを、高速クロック領域の外部にある（また、推定器５０２は中に含まれる加算ロジックでない）加算器５２４に送り、低速クロックサイクルの個数ＮＳＣを決定する。
【００４１】
高速クロックカウンタ５１４は、高速クロックサイクルの個数を連続的にカウントする。図５からわかるように、高速クロックカウンタ５１４は、高速クロックレジスタ５２５、加算器５２７、およびＭＳＢの入力を受け取る、多重化装置５２０を備える。ＭＳＢの値が、まだ値に達していない（つまり、スリープクロックカウンタ５１６は、まだ
【数１１】
2009515494.tif 000013
【００４２】
個の低速クロックサイクルをカウントしていない）場合、多重化装置５２０は、入力「０」で存在する値を出力する。それに対応して、ＭＳＢが値１を有している場合、多重化装置５２０は、入力「１」で存在する値を出力する。図５のこの実施例では、入力された値は「１」であり、これは、高速クロックレジスタ５２５を値「１」にリセットするために使用される。
【００４３】
加算器５２７は、図５に示されているように、高速クロックレジスタの２２５の出力からの入力、および値「１」を受け取る。したがって、ＭＳＢが０の場合、加算器５２７は、高速クロックレジスタ５２５の現在値と値１との和を多重化装置入力「０」に出力する。高速クロックレジスタ５２５の格納されている値の出力は、例示されているようにｆａｓｔ＿ｃｌｋ信号によりトリガされる。したがって、加算器５２７は、高速クロックサイクル毎に高速クロックのカウントまでインクリメントするために使用される。加算器５２７の出力は、多重化装置５２０の入力０に送られ、多重化装置５２０を通り高速クロックレジスタ５２５に格納のため入力され、これにより、高速クロックレジスタ５２５内に格納されているカウントを更新する。
【００４４】
第１のレジスタ５１２は、ｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃ＿ｄｅｌａｙパルス５１１によりトリガされるイネーブル（「ＥＮ」）入力を備える。パルス５１１を受け取ると、第１のレジスタ５１２は、高速クロックカウンタ５１４のレジスタ５２５内に格納されているカウントを受け取るか、または読み出す。レジスタ５１２はｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃ＿ｄｅｌａｙパルス５１１によりトリガされるので、レジスタ５２５からカウントを読み出す動作は、遅延回路５１０により設定された所定の期間の間遅延される。高速クロックカウンタ５１４からカウントを読み出す動作を遅延させることにより、高速クロックカウントが、高速クロックカウンタ５１４のカウント遅延をもたらすスリープクロックの期間に対する高速クロックサイクルのすべてを含むことが確実になる。このタイミング一致は、図６中の矢印６００により例示されており、高速クロックカウンタ５１４が次の低速クロックサイクルのカウントを開始した後、高速クロックカウンタ５１４から第１のレジスタへのカウント情報のシフトが実行されることを示す。低速クロックカウンタ５１６が
【数１２】
2009515494.tif 000014
【００４５】
により決定されたカウント限界値に達すると、第１のレジスタ５１２を値０にリセットするために、ＭＳＢが使用される。同時に、ＭＳＢを使用して、多重化装置５２０のオペレーションを通じてレジスタ５２５を「１」にリセットするのに先立って第２のレジスタ５２６（「レジスタ２」と呼ばれる）が高速クロックレジスタ５２５に格納されているカウントを読み出す動作を有効にする。そこで、第２のレジスタ５２６は、第１の
【数１３】
2009515494.tif 000015
【００４６】
個の低速クロックサイクルにおいて現れた高速クロックサイクルの個数を格納する。
【００４７】
図５は、数Ｎが２に設定されている推定器を例示していることに留意されたい。つまり、最大カウント期間は、図３に関してすでに説明されている仮定の下で、約１２８ミリ秒の期間に限定されるということである。したがって、第１および第２のレジスタ５１２、５２６のみが、図５に例示されている（つまり、Ｎ＝２）。図６からわかるように、ｓｌｏｗ＿ｃｌｏｃｋ＿ｓｙｎｃ＿ｄｅｌａｙパルスは、ＭＳＢビットと一致している。そのため、高速カウンタのカウントされたサイクルはどれも落とされず、高速クロックカウンタ５１４から第２のレジスタ５２６へのカウントがシフトしても、図６の矢印６０２により例示されているように高速クロックカウンタ５１４を中断しない。そこで、図３の実施例と同様に、高速クロックサイクルの個数ＮＦＣを決定するために、第１および第２のレジスタ５１２および５２６の格納されているカウントが加算器５２８に送られる。
【００４８】
補足説明として、例えば、プロセッサ１１２から送られたウェイクアップ信号は、推定器５０２の高速クロック領域５０８内のすべてのレジスタおよびカウンタのすべてのカウント値をリセットする大域的リセット信号５３２を発行する大域的リセット回路５３０が受け取る。ウェイクアップ信号は、典型的には、推定器５０２が組み込まれているモバイルデバイスのウェイクアップモードの開始時に、または開始後まもなく送られる。大域的リセット回路５３０は、次のウェイクアップモードの開始時になど、次のウェイクアップ信号が届くまで回路５３０をリセットする、同期装置５０４からｓｌｏｗ＿ｃｌｋ＿ｓｙｎｃ信号５０６によりリセットされる。
【００４９】
図５および６の例示的な実装では、特に、高速クロックカウントプロセスは、高速クロックカウンタから第１のレジスタへのカウント情報のシフトなど、シフトのオペレーション実行中に中断されないことが保証される。
【００５０】
図７は、図３および５の推定器の方法またはオペレーションの流れ図を例示している。図に示されているように、プロセス７００は、ブロック７０２から始まる。流れは、ブロック７０４に進み、そこで、低速クロックは、図３の同期装置３００または図５の同期装置５１０などにより、高速クロックに同期される。高速クロックと低速クロックが同期した後、推定器は、もっぱら高速クロックの使用に基づいて低速クロックパルスと高速クロックパルスのカウントを開始する。すでに説明されているように、低速クロックカウンタ（例えば、３０４または５１６）は、低速クロック同期パルス（例えば、３０２または５０６）毎にインクリメントされるが、これはブロック７０６に例示されている。それに付随して、高速クロックカウンタ（例えば、３０６または５１４）は、高速クロックサイクル毎にインクリメントされ、カウントは、ブロック７０８に示されているように低速クロック同期パルス毎に高速クロックカウンタから第１のレジスタ（例えば、３１０または５１２）に転送される。
【００５１】
次いで、流れが決定ブロック７１０に進み、そこで、推定器構成により、低速クロックカウンタがその所定の限界値に達したかどうかが判定される。図３および５の実施例において、この判定は、ハードウェア構成の結果として実行され、ロジックデバイス側でこの判定を行う必要はないことに留意されたい。低速クロックカウンタがその限界値に達していない場合、流れはループバックし、ブロック７０６および７０８のプロセスが実行される。逆に、低速クロックカウンタ限界値に達した場合、流れは、ブロック７１２に進み、そこで、低速クロックカウンタ（３０４または５１６）は、最大カウントを数え（つまり、ＭＳＢが「１」になる）、次いで、ＭＳＢカウンタ（例えば、３１４または５１８）が、ブロック７１２に示されているようにインクリメントされる。それと同時に、高速クロックカウントが後続の、または次のレジスタ（例えば、３１８、３２２、または５２６）に読み出され、第１のレジスタは、０にリセットされ、高速クロックカウントは、ブロック７１４に示されているように再び１に設定される。次いで、流れは、ブロック７０６および７０８の直前に戻り、プロセスを繰り返す。プロセス７００の流れは、マイクロプロセッサがモバイルデバイスをスリープ状態にし、モバイルデバイスが覚醒した後リスタートする場合には必ず終了される（図に示されていない）ことに留意されたい。
【００５２】
図８は、スリープクロック周波数推定を利用する通信システムで使用するための無線装置の他の実施例を例示している。図に示されているように、装置８００は、無線通信信号の送受信機能を発揮させるためのアンテナ８０２を備える。例示されているように、装置８００は、高速クロック８０４およびスリープまたは低速クロック８０６を備える。同期のための手段８０８は、高速および低速クロック信号を受け取り、その結果、高速クロックと同期している低速クロックサイクル毎に同期パルスを形成する。例えば、この同期手段８０８は、図３に示されている同期装置３００により実装されうる。同期手段８０８は、同期パルスを、スリープクロックカウント８１０をインクリメントするための手段に送り、この手段は、所定の個数の低速クロックサイクル（例えば、
【数１４】
2009515494.tif 000016
【００５３】
）により決定されるような所定の測定期間に現れるスリープクロックのサイクル毎にスリープクロックカウントをインクリメントする。この手段８１０は、例えば、図３に例示されている低速クロックカウンタ３０４およびＭＳＢカウンタ３１４により実装されうる。
【００５４】
装置８００は、さらに、高速クロックのサイクル毎に高速クロックカウントをインクリメントする、高速クロックカウント８１２をインクリメントするための手段も備える。この手段８１２は、例えば、図３に例示されている高速クロックカウンタ３０６により実装されうる。高速クロックサイクルのカウントされた個数を格納するための手段８１４は、高速クロックカウント８１２をインクリメントするための手段と通信する。この格納手段８１４は、例えば、図３のレジスタ１からＮ（３１０、３１８、３２２）により実装されうる。
【００５５】
さらに、装置８００は、スリープクロックカウント８１６からスリープクロックサイクルの個数を決定するための手段を備える。例えば、この手段８１６は、図３に例示されている加算器３２６により実装されうるが、カウントを判定するための他の適当なロジックまたはデバイスを備えることも可能である。格納するための手段８１４に格納されている高速クロックサイクルの個数を判定するために、高速クロックサイクル８１８の個数を判定するための相補的手段が備えられる。この手段８１８は、例えば、図３に示されている加算器３２４などの加算器により実装されうる。ここでもまた、この手段３２４は、加算器に限定されず、カウントを判定するための他の適当なロジックまたはデバイスを備えることが可能である。最後に、装置８００は、スリープクロック８２０の推定周波数を決定するための手段を備える。手段８１６および８１８と通信する、手段８２０は、スリープクロックサイクルの決定された個数および高速クロックサイクルの決定された個数に基づいて推定周波数を決定する。この手段８２０は、例えば、図１に例示されているプロセッサ１１２により、またはアルゴリズムを計算または実行することができる他の適当なデバイスにより実装されうる。
【００５６】
上記の本開示の推定器は、計算を必要とせず、したがって、もっぱらハードウェアだけで実装可能である（マイクロプロセッサで実装されうる加算器を除く）。ＴＣＸＯベースのスリープクロック周波数推定器の現在の設計と比較すると、本開示のスリープクロック周波数推定器では、マイクロプロセッサが必要とする場合に必ず可能な最長の、適切な測定期間の最新の推定結果をマイクロプロセッサに供給することにより推定精度を高める。それに加えて、開示されている常時機能している推定器は、高速クロックカウントプロセスに対し常に割り込みがかかるため発生しうる外的な±１の誤差を取り除く。さらに、開示されている推定器は、マイクロプロセッサからの介入を必要としない（つまり、マイクロプロセッサは、カウントの開始時期と停止時期を推定器に指令する必要がない）。
【００５７】
本明細書で開示されている実施例に関して説明されている方法またはアルゴリズムは、ハードウェアで直接、プロセッサ、ファームウェアにより実行されるソフトウェアモジュールで、またはこれら２つまたはそれ以上の組合せにより具現化することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能ディスク、ＣＤ−ＲＯＭ、または当業で知られている他の形態の記憶媒体に格納することができる。例示的な記憶媒体は、プロセッサがその記憶媒体から情報を読み込み、その記憶媒体に情報を書き込めるようにプロセッサに結合される。代替え形態では、記憶媒体は、プロセッサに一体化することができる。プロセッサおよび記憶媒体は、ＡＳＩＣに収めることもできる。ＡＳＩＣは、ユーザー端末に収めることができる。代替え実施形態では、プロセッサおよび記憶媒体は、ユーザー端末内のディスクリートコンポーネントとして配置することができる。
【００５８】
上述の実施例は、単なる例にすぎず、当業者にとって、本明細書で開示されている発明概念から逸脱することなく上述の実施例をさまざまな形で利用し、またその実施例から逸脱することができることは明白である。これらの実施例に対しさまざまな修正を加えられることは、当業者にとっては容易に理解できるものと思われ、また本明細書で定義されている一般原理は、本明細書で説明されている新規性のある態様の精神または範囲から逸脱することなく、他の実施例、例えば、インスタントメッセージングサービスまたは一般的な無線データ通信アプリケーションにおける他の実施例にも適用することができる。したがって、本開示の範囲は、本明細書に示されている実施例に限定されることを意図されておらず、本明細書で開示されている原理および新規性のある特徴と一致する最も広い範囲を適用されることを意図されている。「例示的な」という単語は、本明細書では、もっぱら「一実施例、事例、または例示として使用する」ことを意味するために使用される。本明細書で「例示的な」と説明されている実施例は、必ずしも、他の実施例よりも好ましい、または有利であると解釈されるべきではない。したがって、本明細書で説明されている新規性のある態様は、もっぱら請求項の範囲によって定められるべきである。
【図面の簡単な説明】
【００５９】
【図１】本開示によるスリープクロック周波数推定器を使用する例示的な無線デバイスを示すブロック図。
【図２】測定誤差とその誤差に対する測定時間との関係を示すグラフ。
【図３】図１の低速クロック周波数推定器の例示的な構成を示すブロック図。
【図４】図３の推定器で現れる信号同士の関係を示すタイミング図。
【図５】本開示による他の例示的なスリープクロック周波数推定器を例示するブロック図。
【図６】図５の推定器で現れるさまざまな信号およびカウントを例示するタイミング図。
【図７】スリープクロック周波数を推定するための方法の一実施例を示す流れ図。
【図８】スリープクロック周波数を推定する際に使用する装置の他の実施例を示すブロック図。
【図１】
2009515494.tif 000017
【図２】
2009515494.tif 000018
【図３】
2009515494.tif 000019
【図４】
2009515494.tif 000020
【図５】
2009515494.tif 000021
【図６】
2009515494.tif 000022
【図７】
2009515494.tif 000023
【図８】
2009515494.tif 000024
【国際調査報告】
2009515494.tif 000025
2009515494.tif 000026
2009515494.tif 000027