JP2009515494A - スリープクロック周波数を推定するための装置および方法 - Google Patents
スリープクロック周波数を推定するための装置および方法 Download PDFInfo
- Publication number
- JP2009515494A JP2009515494A JP2008540353A JP2008540353A JP2009515494A JP 2009515494 A JP2009515494 A JP 2009515494A JP 2008540353 A JP2008540353 A JP 2008540353A JP 2008540353 A JP2008540353 A JP 2008540353A JP 2009515494 A JP2009515494 A JP 2009515494A
- Authority
- JP
- Japan
- Prior art keywords
- clock
- count
- sleep
- counter
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0287—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
- H04W52/029—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment reducing the clock frequency of the controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/06—Receivers
- H04B1/16—Circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Manipulation Of Pulses (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Transceivers (AREA)
- Electric Clocks (AREA)
- Measuring Frequencies, Analyzing Spectra (AREA)
Abstract
温度補償水晶発振器などの高速クロックを使用してスリープまたは低速クロックの周波数を推定するための装置および方法。開示されている装置は、高速クロックに同期する、スリープクロック周期のそれぞれのサイクルを発行するスリープクロック同期パルスを受け取る第1のカウンタを有する推定器を備える。低速クロック同期パルスは、所定の個数までカウントされ、その後、フルカウント信号が発行される。第2のカウンタは、フルカウント信号を受け取り、フルカウント信号を受け取る毎にインクリメントする。第3のカウンタは、フルカウント信号が現れるまで高速クロックサイクルをカウントする。低速および高速クロックサイクルのカウント数に基づき、測定を実行するため高速クロックの領域のみを使用して低速クロックの周波数を決定し、これにより、測定の精度を高速クロックの精度に結び付けることができる。開示されている装置は、さらに、集積回路および開示されている推定器を使用するトランシーバを備える。それに対応する方法も開示される。
Description
本開示は、スリープクロック周波数(sleep clock frequency)を推定するための方法および装置に関するものであり、より具体的には、温度補償水晶発振器(TCXO)などの高性能クロックを使用してスリープクロック周波数を推定することに関するものである。
携帯電話などのモバイルトランシーバは、典型的には、システム時間を維持することを含むデバイス内のさまざまな機能用に非常に正確なタイミングを供給する温度補償発振器(TCXO)を使用する。しかし、TCXOなどのクロックは、比較的多くの電力を使用し、約1.5mAの電流を引き込む。モバイルトランシーバの電池寿命を延ばすために、デバイス内の電流消費量が最も多いユニットを節電モードにし、低電力スリープ回路を使用してシステム時間を維持する方法が知られている。TCXOは大電流を引き込むので、このようなデバイスを使用してスリープ回路用にシステム時間を維持するのはエネルギー効率上よくない。
そこで、電力使用量がかなり少なく(例えば、電流引き込みが200μAであるクロック)、TCXOデバイスに比べて周波数が低い(例えば、30〜60kHz)スリープコントローラを使用することによりスリープまたは節電モードのときにシステムタイミングを維持することが知られている。クロック周波数は変動する傾向があるため、これは、典型的には、時間維持をある程度犠牲にして費用効果の高い水晶発振子クロックを使って実現される。このクロックは、別に、「スリープクロック」または「低速クロック」と呼ばれる。
トランシーバがスリープモードから覚醒したときに、スリープクロックにより維持されているとおりに正確なシステム時間を刻んでいることが重要である。低速クロックは、スリープモードのときのシステム計時に使用されるため、CDMAベースのネットワークなどの無線ネットワークから受信された情報に基づくタイミングの再取得の前にモバイルトランシーバが覚醒すると、クロックタイミングの精度は、システム時間に直接的影響を及ぼす。したがって、低速クロック周波数の適切な推定が望ましい。しかし、モバイルデバイスにより使用される知られているタイミング推定は、典型的には、初期較正にのみ使用され、低速クロック時刻追跡は、もっぱら、擬似雑音(PN)符号タイミングに依存する。しかし、PNタイミングを採用しないいくつかの無線システムでは(例えば、直交周波数分割多重(OFDM))このタイミングは利用できない。そのため、このようなシステムでは、スリープクロックタイミングの精度はなおいっそう重要である。特に、OFDMの場合、このようなシステムは、符号間干渉により悪化する同期タイミングなどのタイミング誤差の影響を受けやすい。
高速クロックを使用して推定を決定することによりスリープクロックの正確な推定を行う装置および方法が、現在、開示されている。一実施例では、スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも1つのフルカウント信号を出力するように構成された第1のカウンタを備えるスリープクロック周波数推定器が開示される。推定器は、さらに、フルカウント信号を受け取り、受け取ったフルカウント信号毎に1のカウントだけインクリメントするように構成された第2のカウンタ、および高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第1のレジスタに出力し、低速クロックサイクル毎にその第1のレジスタに格納するように構成された第3のカウンタを備える。
他の実施例によれば、第1のクロック信号および第2のクロック信号を受け取り、第1のクロックに同期して第2のクロックのサイクル毎に少なくとも1つのクロック同期パルスを出力するように構成された同期装置を有するクロック周波数推定器が開示される。第1のカウンタも含まれ、また少なくとも1つのクロック同期パルスを受け取るように構成され、第1のカウンタは、クロック同期パルスを受け取る毎に第1のカウントをインクリメントし、第1のカウントが所定の数に達したときにフルカウント信号を出力するように構成される。さらに、第2のカウンタが含まれ、第2のカウンタは、フルカウント信号を受け取り、フルカウント信号が受け取られる毎に1のカウントだけインクリメントするように構成され、第3のカウンタが含まれ、第3のカウンタは、第1のクロック信号を受け取り、受け取った第1のクロックサイクル毎に第2のカウントをインクリメントし、第2のカウントを出力するように構成され、少なくとも1つのレジスタが、第1のカウンタにより受け取られたクロック同期パルス毎に第2のカウントを格納するように構成される。
さらに他の開示されている実施例では、無線トランシーバにおいて使用される処理回路は、高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、高速クロックに同期してスリープクロックのサイクル毎に少なくとも1つのスリープクロック同期パルスを出力するように構成されている同期装置と、スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも1つのフルカウント信号を出力するように構成された第1のカウンタと、フルカウント信号を受け取り、受け取ったフルカウント信号毎に1のカウントだけインクリメントするように構成された第2のカウンタと、高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第1のレジスタに出力し、低速クロックサイクル毎にその第1のレジスタに格納するように構成された第3のカウンタとを備えるスリープクロック周波数推定器と、少なくとも1つのレジスタから測定期間中の高速クロックサイクルのカウントを受け取り、測定期間中に実行される高速クロックサイクルの個数を決定し、第1および第2のカウンタからカウントを受け取り、測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの決定されたカウントに基づいてスリープクロック周波数の推定値を決定するように構成されたプロセッサとを備える。
さらに他の実施例では、高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、高速クロックに同期してスリープクロックのサイクル毎に少なくとも1つのスリープクロック同期パルスを出力するように構成されている同期装置を備える移動体通信網で使用される無線トランシーバが、開示される。さらに、スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも1つのフルカウント信号を出力するように構成された第1のカウンタと、フルカウント信号を受け取り、受け取ったフルカウント信号毎に1のカウントだけインクリメントするように構成された第2のカウンタと、高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第1のレジスタに出力し、低速クロックサイクル毎にその第1のレジスタに格納するように構成された第3のカウンタとを有するスリープクロック周波数推定器が含まれる。最後に、無線デバイスは、少なくとも1つのレジスタから測定期間中の高速クロックサイクルのカウントを受け取り、測定期間中に発生する高速クロックサイクルの個数を決定し、第1および第2のカウンタからカウントを受け取り、測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの決定されたカウントに基づいてスリープクロック周波数の推定値を決定するように構成されたプロセッサを備える。
さらに他の実施例では、高速クロックでスリープクロックの周波数を推定する方法が開示される。この方法は、低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れるスリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、高速クロックサイクルカウントを決定するため高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも1つのレジスタ内に所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルのカウントされた個数を格納することと、スリープクロックカウンタのスリープクロックサイクルの個数および少なくとも1つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、スリープクロックサイクルの決定された個数および少なくとも1つのレジスタ内に格納されている高速クロックサイクルの決定された個数に基づいてスリープクロックの推定周波数を決定することとを含む。
さらに他の開示されている実施例では、コンピュータ可読媒体に命令が格納され、この格納されている命令がプロセッサにより実行されると、プロセッサは高速クロックでスリープクロックの周波数を推定する方法を実行する。この実行される方法は、低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れるスリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、高速クロックサイクルカウントを決定するため高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも1つのレジスタ内に所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルのカウントされた個数を格納することと、スリープクロックカウンタのスリープクロックサイクルの個数および少なくとも1つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、スリープクロックサイクルの決定された個数および少なくとも1つのレジスタ内に格納されている高速クロックサイクルの決定された個数に基づいてスリープクロックの推定周波数を決定することとを含む。
さらに他の実施例によれば、高速クロックでスリープクロックの周波数を推定するための装置は、スリープクロックを高速クロックに同期させ、高速クロックと同期している低速クロックサイクル毎に同期パルスを形成するための手段と、低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れるスリープクロックのサイクル毎にスリープクロックカウントをインクリメントするための手段と、高速クロックサイクルカウントを決定するために高速クロックのサイクル毎に高速クロックカウントをインクリメントするための手段と、所定の測定期間中にそれぞれの低速クロックサイクルにおいて現れる高速クロックサイクルのカウントされた個数を格納するための手段と、スリープクロックカウントからスリープクロックサイクルの個数を決定するための手段と、格納するための手段に格納されている高速クロックサイクルの個数を決定するための手段と、スリープクロックサイクルの決定された個数および高速クロックサイクルの決定された個数に基づいてスリープクロックの推定周波数を決定するための手段とを備える。
本出願は、他のより正確なタイプのクロック(例えば、TCXO高速クロック)を使用して第1のタイプのクロック(例えば、低速またはスリープクロック)の周波数を推定するための装置および方法を開示する。それに加えて、開示されている方法および装置では、第1のタイプのクロックのクロックドリフト効果を最小限に抑える所定の長さにわたって測定された最新の連続的推定結果が得られる。
図1は、モバイルトランシーバなどの、移動体ネットワークで使用される例示的な無線装置100を例示している。無線デバイス100は、アンテナ101を介して基地局などの他のデバイスとの間で無線通信信号の送受信を行う。無線デバイス100は、高速クロックを使用して低速クロック周波数を推定するための低速またはスリープクロック周波数推定器102を備える。図に示されているように、クロック推定器102は、高速クロック108および低速クロック110からそれぞれクロック信号104および106を受け取る。高速クロック108は、低速クロック110に比べて相対的に高い周波数(例えば、44.4MHzまたは66.6MHz)で動作する、タイミング精度の高い、TCXOまたは類似のデバイスである。対照的に、低速クロック110は、低い周波数(例えば、30から60kHz)で動作する、消費電力の少ないタイプの発振器であり、スリープ状態での計時に理想的である。
高速および低速クロック108および110は、独立に動作し、互いに非同期である。低速クロック周波数推定器102は、高速クロックサイクルをカウントすることにより低速クロックサイクルの個数をカウントし、これにより実際の低速クロック周波数を推定する際の精度を高めるように構成される。低速および高速クロックは、非同期であるため、推定器102は、高速クロックを低速クロックに同期させる同期装置(この図には示されていない)を備える。次いで、推定器102は、高速クロックを使用して低速クロックのサイクルの個数のカウント(NSC)、さらにはその個数の低速クロックサイクルにおいて現れる高速クロックサイクルの個数のカウント(NFC)を決定することができる。推定器102は、この情報をマイクロプロセッサ112に供給するが、マイクロプロセッサは、実際には、推定器102内のレジスタからカウントデータを単に読み出すだけでNSCおよびNFCを決定し、低速クロック周波数の最新の推定値を導き出すことができる。一実施例では、推定器102は、連続的にアクティブモードまたは覚醒モードで動作するので、カウントデータのこの読み取りは、いつでも実行することが可能である。一実施例では、マイクロプロセッサは、例えば、モバイル機器100がスリープ状態にされる前にスリープモードタイマーを設定することを目的として、システム100がスリープモードに入ることをマイクロプロセッサ112が指令するのに先立ってデータを読み取る。
この実施例により量子化誤差とともに低速クロック変動誤差を最小限に抑えるために、推定器102は、モバイル機器100が覚醒している限り低速クロック110を連続的にカウントする。高速クロックと低速クロックとが非同期であるため、NFCの測定誤差は−1高速クロックチップまたはサイクルから+1高速クロックチップまたはサイクルまでの範囲内である。低速クロックの推定周波数fSCは、マイクロプロセッサ112により計算され、以下の関係式に基づいて導き出されうる。
fFCは、高速クロック周波数であり、NSCは、カウントされた低速クロックサイクルの個数であり、NFCは、カウントされた高速クロックサイクルの個数である。NSCおよびNFCは、推定器102内の(後述の)レジスタから読み出される。
ただし、Tmeasureは、モバイル機器100覚醒時間を上限とする連続測定時間であり、εFCは、TCXO高速クロック108の自動周波数制御(AFC)によるものなどの高速クロックの誤差であり、εSCは、スリープクロックドリフトなどの低速クロック110の誤差である。著しいドリフトが生じないくらい連続測定時間が十分に短いと仮定して高速クロックAFC誤差およびスリープクロックドリフトを無視した場合、±1の量子化による誤差は、以下の式で表すことができる。
式(3)からわかるように、誤差は、連続測定時間と高速クロック周波数に反比例する。そのため、連続測定時間が長くなるか、または高速クロック周波数が増大するにつれ、誤差が大きくなる。図2は、この関係のグラフを例示しており、測定単位ppm(100万分の1)で表される誤差が、測定時間が長くなるほど急激に減少し、クロック周波数が高いほど小さくなることを示している(例えば、44.4MHzを示す曲線200と66.6MHzを示す曲線202)。例えば、高速クロック周波数が44.4MHzであり、測定時間が4ミリ秒(例えば、OFDM符号5個分に相当する)である場合、推定誤差は、約5.5ppmとなるが、測定時間が40ミリ秒に延びると、誤差は、約.55ppmに減少する。
したがって、図2から、測定時間が長いほど、推定精度はよくなることが明白である。しかし、測定時間を長くとった場合の利点は、時間計測が長くなりすぎた場合に、スリープクロックの周波数ドリフトのせいで推定誤差が再び入り込む可能性があるという事実により減じる。そこで、本開示による推定器102は、測定時間が短すぎる場合と長すぎる場合のバランスをとるように構成される。したがって、推定器102は、モバイル機器100が覚醒したらすぐにカウントを開始し、測定時間が最大になるようにTCXO高速クロック108がアップしている限りカウントを続けるように設計される。他方、低速クロックドリフト効果を最小限に抑えるために、古い測定結果は、所定の長さを超えた場合に破棄される。したがって、推定器102内のレジスタに保持される測定結果は、最新である。開示されている推定器102の他の特徴は、測定は要求されたときにはいつでも利用可能であり(つまり、遅延がない)、量子化誤差が最小になるようにカウントプロセスは決して中断されないという点である。
図1の無線デバイス100は、さらに、スリープクロック推定を実行する方法またはアルゴリズムをプロセッサ112に実行させるための命令を格納するメモリデバイス114または他の好適なコンピュータ可読媒体を備えることもできることに留意されたい。示されているように、メモリデバイス114は、接続116により示されているようなプロセッサ114に送るための記憶装置を備える。それとは別に、推定器102が、ソフトウェアを実行することができるように構成されている場合、メモリデバイス114では、破線118で示されているような方法またはアルゴリズムを推定器に実行させることもできる。
図3は、図1の低速クロック周波数推定器102の例示的な構成のブロック図を例示している。すでに述べたように、低速クロック110および高速クロック108は、非同期であり、したがって、高速クロックで低速クロックの周波数を測定するためには、低速クロックを、最初に高速クロックに同期させてなければならない。そのため、推定器102は、高速クロック信号104と低速クロック信号106の両方を受け取る同期装置300を備える。同期装置300は、信号104、106を受け取り、低速クロックを高速クロックに同期させ、低速クロック110のサイクル毎にスリープクロック同期パルス302を出力するが、ただし、クロック同期パルスは、例えば、高速クロック信号の立ち上がりまたは立ち下がりエッジと同期する、立ち上がりエッジを有する。同期装置300は、倍長レジスタ、遅延レジスタ、または2つの非同期信号を同期させるための他の知られているデバイスを使用して、実装することができる。
低速クロックカウンタ304は、同期装置300からスリープクロック同期パルス302を受け取るが、受け取るときにパルス302をカウントする。低速クロックサイクル毎に、または言い換えると、スリープクロック同期パルス302毎に、低速クロックカウンタは、他の低速クロックサイクルをカウントする304。一実施例では、低速クロックカウンタ304は、MSCビットの容量を持ち、そのため、一部は測定時間を制限するために使用される、最大または所定のカウントの数
を有する。他の定量的な実施例として、カウンタ304のビットの個数が11(つまり、MSC=11)である場合、所定のカウントは2048低速クロックサイクルとなる。しかし、この数は、望む測定時間が長いか、短いかに応じて、2048よりも大きいか、または小さいものとしてよい。
推定器102は、さらに、高速クロック108から高速クロック信号104を受け取り、高速クロックサイクルをカウントする高速クロックカウンタ306も備える。低速クロックサイクル毎に、または言い換えると、スリープクロック同期パルス302毎に、低速クロックカウンタは他のサイクルをカウントし304、高速クロックカウンタ306は、スリープクロック同期パルス302(または図5の実施例に関して後から説明されるように、低速クロックサイクルで現れる高速クロックサイクルのすべてが必ず説明されるように遅延されたスリープクロック同期パルス)によりトリガされ、高速クロックカウンタ306のカウントを、接続312を介して「レジスタ1」と指定されている記憶レジスタ310に読み込む。低速クロックカウンタ304のカウントが所定のカウント
に達するまで低速クロックサイクル毎に高速クロックカウンタ306の現在のカウント値が、レジスタ310に読み込まれる。カウンタ306は、リセットされずにインクリメントし続けることができることに留意されたい。そのため、低速クロックサイクル毎にレジスタ310(レジスタ1)に読み込まれた値は、レジスタ310内に格納されている前の値を上書きする。ただし、当業者であれば、代替えの配列を利用して、所定の数の低速クロックサイクル毎に現れる高速クロックサイクルの個数をカウントさせることが可能であることを理解するであろう。例えば、カウンタ306は、それぞれの低速クロックサイクルおよびレジスタ310についてリセットすることが可能であり、代わりに、低速クロックカウンタ304がその所定の限界値に達したときまでにカウンタ306から受け取った現在値の前の総和にカウンタ306の現在値を加える累積カウンタとすることが可能である。
低速クロックカウンタ304が所定の限界値に達する(例えば、繰り越す)と、低速クロックカウンタ304は、接続316を介して最上位ビット(MSB)信号(例えば、カウンタ304の最上位ビットが「1」値に達したことを示すビット値「1」)を最上位ビット(MSB)カウンタ314に送り、MSBカウンタ314をインクリメントする。そのため、MSBカウンタ314は、低速クロックカウンタが繰り越す回数を実際にカウントする、つまり毎回MSBが「1」になる。MSBの問題と同時に、低速クロックカウンタ304は(図3の実施例に示されているように)、接続320を介してMSBで高速クロックカウンタ306をトリガして、接続321を介して、高速クロックカウンタ306の現在値を「レジスタ2」というラベルの付いている他の第2のレジスタ318に読み込む。それに加えて、MSBカウンタ314がインクリメントされると、第1のレジスタ310は、接続320を介してカウント0にリセットされる。第1のレジスタ310は、この実施例では、最後の低速クロックサイクルまでに現れる高速クロックサイクルの正確なカウントがいつでも(例えば、マイクロプロセッサ112がスリープモードに入る直前に)得られることを保証するために使用され、NFCを取得する際に使用される。そこで、スリープクロックサイクルの終了は、現在のカウントを得るために必要ではない。
しかし、図4は、モバイル機器100が低速クロックサイクルの終わりの前にスリープモードに入ると、高速クロックのカウントの一部が失われることを例示している。しかしながら、カウントの精度は、最悪でも±1低速クロックサイクルである。特に、図4は、レジスタ310に高速クロックカウンタ306のカウントを格納することを可能にする、高速クロック信号108、低速またはスリープクロック信号110、およびスリープクロック同期パルス302の間の関係のタイミング図を例示している。時間線400により示されているように、新しい低速クロックサイクルが開始すると、パルス402により、レジスタ310は、格納を行い、高速クロックカウンタ306から現在カウントを引き出す。少し後に、次の低速クロックサイクルで、マイクロプロセッサが、時間線404に示されているように、モバイル機器100をスリープモードにすることを決めた場合、しばらくの間現れる高速クロックパルスの現在の個数は、矢印406により示されているように、レジスタ310に格納されない。しかしながら、高速クロックパルスの個数NFCは、最後の低速クロックサイクルの終わり(つまり、時間線400)までカウントされ、精度は最悪±1低速クロックサイクルである。
図3を再び参照すると、推定器102は、さらに、番号「N」までの追加のレジスタを備え、最後のレジスタ「N」は参照番号322で指定される形で示されている。追加のレジスタ2(318)からN(322)を使用することで、少なくとも
の低速クロックサイクルは、低速クロックサイクルの個数分よりも長い覚醒期間の高速クロックカウントに相当することが保証される。それに加えて、レジスタの個数を「N」個に制限することにより、低速クロックサイクルの最新のカウントのみが与えられる。例えば、低速クロック110の周波数が、約32kHzであり、低速クロックカウンタ304のMSCビットの個数は11であり、Nは、レジスタの個数である2に制限され、最大カウント期間は、ほぼ
ミリ秒に等しい。これは、一例にすぎず、2個よりも多いレジスタを使用して、測定時間を長くとることもできる。それに加えて、当業者であれば、単一のレジスタ(例えば、レジスタ1(310))を図3の推定器で使用することが可能であるが、これにより、高速クロックカウントに相当する最大
個の低速サイクルの短い測定時間(約64ミリ秒)しか得られない。さらに、高速クロックカウンタ306とレジスタ1からNの組合せは、MSBカウンタ314とともに低速クロックカウンタ304の測定期間に高速クロックサイクルをカウントする単一ユニットとして実装することが可能であることに留意されたい。この単一ユニットは、高速クロックカウントの現在のカウントが、最後に現れる完全な低速クロックサイクルに至るまで得られるように構成される。同様に、低速クロックカウンタ304およびMSBカウンタ314は、スリープクロック同期パルス302をカウントする単一ユニットとして構成することが可能である。
図3は、さらに、それぞれ高速クロックカウントNFCおよび低速クロックカウントNSCを計算する加算器324および326を例示している。高速クロックカウントNFCの場合、レジスタ1−N(例えば、310、318、322)のそれぞれに格納されたカウントは、加算器324により読み出され、足し合わされ、NFCが導き出される。低速またはスリープクロックカウントNSCの場合、低速クロックカウンタおよびMSBカウンタ314からのカウントが、加算器326により総和される。MSBカウンタ314は、続いて低速クロックカウンタの現在のカウントに加えられるそれぞれすでにカウントされている
個の低速クロックサイクルを表す最上位ビットを送出し、最大でも最大時間測定期間に全低速クロックサイクルを与えるだけである。一実施例では、シフトレジスタ330は、MSBカウンタ314のカウントを加算器326に移動するために使用できる。加算器324および326(およびシフトレジスタ330)は、推定器102の一部として示されておらず、マイクロプロセッサ112内に、または推定器102とマイクロプロセッサ112の両方とは別に、実装することができることに留意されたい。それとは別に、加算器324、326は、ASTC内に収められた、例えば、推定器102を収納したロジックであってよい。
マイクロプロセッサ112が、モバイルデバイス100をスリープモードにすることを決定した場合、マイクロプロセッサ112は、高速および低速クロックカウントNFCおよびNSCを取得し、例えば、上記の式(1)に従ってこれらの数値から低速クロック周波数の推定値を計算する。マイクロプロセッサ112が覚醒すると、モバイル機器が覚醒するたび毎にマイクロプロセッサ112からのウェイクアップ信号によりレジスタおよびカウンタはすべてリセットされる。推定器102は、次いで、モバイル機器100がスリープ状態になるまで間断なく実行を続ける。
カウントNFCおよびNSCを導き出すために使用される推定器102の部分は、図3の破線328により示されるように、すべて高速クロックの領域の一部であることに留意されたい。これにより、推定器102が、高速クロック108のみを使用して、カウントを実行し、精度が低く、消費電力の少ない低速クロック110を使用して得られる場合よりも正確な推定値が求められることが保証される。
図3の推定器102に似た低速クロック周波数推定器の他の実施例は、図5および6に示されている。図5の実施例は、高速クロック信号(fast_clk)、低速クロック信号(slow_clk)、および例えば、マイクロプロセッサ112などのマイクロプロセッサからのウェイクアップ信号を受け取る推定器502を備える。 図3の実施例と同様に、同期装置504は、slow_clk信号を受け取り、slow_clk信号を高速クロック信号に同期させ、図3の実施例の信号302によく似たslow_clk_syncというラベルが付けられているスリープクロック同期パルス506を出力する。fast_clkおよびslow_clk_sync信号は、推定器502の高速クロック領域部分508に入力される。それに加えて、推定器は、1高速クロック周期などの所定の時間量だけスリープクロック同期パルス506を遅延させる遅延回路510を備える。遅延回路510は、後で説明されるように、第1のレジスタ512が高速クロックカウンタ514からカウントを受け取れるようにするために使用されるslow_clk_sync_delayパルス511を出力する。遅延回路510は、所定の遅延期間に入力された信号を出力する好適なデバイスにより実装されうることに留意されたい。
までカウントできるMSC個のビットを有する低速またはスリープクロックカウンタ516を備える。図に示されている特定の実施例において、スリープクロックカウンタ516は、スリープクロックレジスタ517および加算器519を備える。レジスタ517は、単に、加算器519から入力されたカウント値を格納するだけである。加算器は、次のslow_clk_syncパルス506である、「1」入力へのフィードバック接続を介してレジスタ517により出力されたすでに格納されているカウント値を加算することによりカウント値を決定する。したがって、slow_clk_syncパルス506は、効果的にカウンタ516をインクリメントする。
低速クロックカウンタ516がその限界値に達した後、カウンタ516は、スリープクロックカウンタ516の出力である、バス接続522から導き出される接続521により例示されているように、データの1ビットのみ(つまり、最上位ビット)でMSBカウンタ518を設定する。次いで、MSBカウンタ518は、MSBをスリープクロックカウンタ516に戻し、カウントを0にリセットするか、またはより具体的には、スリープクロックレジスタ517を値0にリセットする。低速クロックカウンタ516およびMSBカウンタ518は、それぞれのカウント522およびビットを、高速クロック領域の外部にある(また、推定器502は中に含まれる加算ロジックでない)加算器524に送り、低速クロックサイクルの個数NSCを決定する。
高速クロックカウンタ514は、高速クロックサイクルの個数を連続的にカウントする。図5からわかるように、高速クロックカウンタ514は、高速クロックレジスタ525、加算器527、およびMSBの入力を受け取る、多重化装置520を備える。MSBの値が、まだ値に達していない(つまり、スリープクロックカウンタ516は、まだ
個の低速クロックサイクルをカウントしていない)場合、多重化装置520は、入力「0」で存在する値を出力する。それに対応して、MSBが値1を有している場合、多重化装置520は、入力「1」で存在する値を出力する。図5のこの実施例では、入力された値は「1」であり、これは、高速クロックレジスタ525を値「1」にリセットするために使用される。
加算器527は、図5に示されているように、高速クロックレジスタの225の出力からの入力、および値「1」を受け取る。したがって、MSBが0の場合、加算器527は、高速クロックレジスタ525の現在値と値1との和を多重化装置入力「0」に出力する。高速クロックレジスタ525の格納されている値の出力は、例示されているようにfast_clk信号によりトリガされる。したがって、加算器527は、高速クロックサイクル毎に高速クロックのカウントまでインクリメントするために使用される。加算器527の出力は、多重化装置520の入力0に送られ、多重化装置520を通り高速クロックレジスタ525に格納のため入力され、これにより、高速クロックレジスタ525内に格納されているカウントを更新する。
第1のレジスタ512は、slow_clk_sync_delayパルス511によりトリガされるイネーブル(「EN」)入力を備える。パルス511を受け取ると、第1のレジスタ512は、高速クロックカウンタ514のレジスタ525内に格納されているカウントを受け取るか、または読み出す。レジスタ512はslow_clk_sync_delayパルス511によりトリガされるので、レジスタ525からカウントを読み出す動作は、遅延回路510により設定された所定の期間の間遅延される。高速クロックカウンタ514からカウントを読み出す動作を遅延させることにより、高速クロックカウントが、高速クロックカウンタ514のカウント遅延をもたらすスリープクロックの期間に対する高速クロックサイクルのすべてを含むことが確実になる。このタイミング一致は、図6中の矢印600により例示されており、高速クロックカウンタ514が次の低速クロックサイクルのカウントを開始した後、高速クロックカウンタ514から第1のレジスタへのカウント情報のシフトが実行されることを示す。低速クロックカウンタ516が
により決定されたカウント限界値に達すると、第1のレジスタ512を値0にリセットするために、MSBが使用される。同時に、MSBを使用して、多重化装置520のオペレーションを通じてレジスタ525を「1」にリセットするのに先立って第2のレジスタ526(「レジスタ2」と呼ばれる)が高速クロックレジスタ525に格納されているカウントを読み出す動作を有効にする。そこで、第2のレジスタ526は、第1の
個の低速クロックサイクルにおいて現れた高速クロックサイクルの個数を格納する。
図5は、数Nが2に設定されている推定器を例示していることに留意されたい。つまり、最大カウント期間は、図3に関してすでに説明されている仮定の下で、約128ミリ秒の期間に限定されるということである。したがって、第1および第2のレジスタ512、526のみが、図5に例示されている(つまり、N=2)。図6からわかるように、slow_clock_sync_delayパルスは、MSBビットと一致している。そのため、高速カウンタのカウントされたサイクルはどれも落とされず、高速クロックカウンタ514から第2のレジスタ526へのカウントがシフトしても、図6の矢印602により例示されているように高速クロックカウンタ514を中断しない。そこで、図3の実施例と同様に、高速クロックサイクルの個数NFCを決定するために、第1および第2のレジスタ512および526の格納されているカウントが加算器528に送られる。
補足説明として、例えば、プロセッサ112から送られたウェイクアップ信号は、推定器502の高速クロック領域508内のすべてのレジスタおよびカウンタのすべてのカウント値をリセットする大域的リセット信号532を発行する大域的リセット回路530が受け取る。ウェイクアップ信号は、典型的には、推定器502が組み込まれているモバイルデバイスのウェイクアップモードの開始時に、または開始後まもなく送られる。大域的リセット回路530は、次のウェイクアップモードの開始時になど、次のウェイクアップ信号が届くまで回路530をリセットする、同期装置504からslow_clk_sync信号506によりリセットされる。
図5および6の例示的な実装では、特に、高速クロックカウントプロセスは、高速クロックカウンタから第1のレジスタへのカウント情報のシフトなど、シフトのオペレーション実行中に中断されないことが保証される。
図7は、図3および5の推定器の方法またはオペレーションの流れ図を例示している。図に示されているように、プロセス700は、ブロック702から始まる。流れは、ブロック704に進み、そこで、低速クロックは、図3の同期装置300または図5の同期装置510などにより、高速クロックに同期される。高速クロックと低速クロックが同期した後、推定器は、もっぱら高速クロックの使用に基づいて低速クロックパルスと高速クロックパルスのカウントを開始する。すでに説明されているように、低速クロックカウンタ(例えば、304または516)は、低速クロック同期パルス(例えば、302または506)毎にインクリメントされるが、これはブロック706に例示されている。それに付随して、高速クロックカウンタ(例えば、306または514)は、高速クロックサイクル毎にインクリメントされ、カウントは、ブロック708に示されているように低速クロック同期パルス毎に高速クロックカウンタから第1のレジスタ(例えば、310または512)に転送される。
次いで、流れが決定ブロック710に進み、そこで、推定器構成により、低速クロックカウンタがその所定の限界値に達したかどうかが判定される。図3および5の実施例において、この判定は、ハードウェア構成の結果として実行され、ロジックデバイス側でこの判定を行う必要はないことに留意されたい。低速クロックカウンタがその限界値に達していない場合、流れはループバックし、ブロック706および708のプロセスが実行される。逆に、低速クロックカウンタ限界値に達した場合、流れは、ブロック712に進み、そこで、低速クロックカウンタ(304または516)は、最大カウントを数え(つまり、MSBが「1」になる)、次いで、MSBカウンタ(例えば、314または518)が、ブロック712に示されているようにインクリメントされる。それと同時に、高速クロックカウントが後続の、または次のレジスタ(例えば、318、322、または526)に読み出され、第1のレジスタは、0にリセットされ、高速クロックカウントは、ブロック714に示されているように再び1に設定される。次いで、流れは、ブロック706および708の直前に戻り、プロセスを繰り返す。プロセス700の流れは、マイクロプロセッサがモバイルデバイスをスリープ状態にし、モバイルデバイスが覚醒した後リスタートする場合には必ず終了される(図に示されていない)ことに留意されたい。
図8は、スリープクロック周波数推定を利用する通信システムで使用するための無線装置の他の実施例を例示している。図に示されているように、装置800は、無線通信信号の送受信機能を発揮させるためのアンテナ802を備える。例示されているように、装置800は、高速クロック804およびスリープまたは低速クロック806を備える。同期のための手段808は、高速および低速クロック信号を受け取り、その結果、高速クロックと同期している低速クロックサイクル毎に同期パルスを形成する。例えば、この同期手段808は、図3に示されている同期装置300により実装されうる。同期手段808は、同期パルスを、スリープクロックカウント810をインクリメントするための手段に送り、この手段は、所定の個数の低速クロックサイクル(例えば、
)により決定されるような所定の測定期間に現れるスリープクロックのサイクル毎にスリープクロックカウントをインクリメントする。この手段810は、例えば、図3に例示されている低速クロックカウンタ304およびMSBカウンタ314により実装されうる。
装置800は、さらに、高速クロックのサイクル毎に高速クロックカウントをインクリメントする、高速クロックカウント812をインクリメントするための手段も備える。この手段812は、例えば、図3に例示されている高速クロックカウンタ306により実装されうる。高速クロックサイクルのカウントされた個数を格納するための手段814は、高速クロックカウント812をインクリメントするための手段と通信する。この格納手段814は、例えば、図3のレジスタ1からN(310、318、322)により実装されうる。
さらに、装置800は、スリープクロックカウント816からスリープクロックサイクルの個数を決定するための手段を備える。例えば、この手段816は、図3に例示されている加算器326により実装されうるが、カウントを判定するための他の適当なロジックまたはデバイスを備えることも可能である。格納するための手段814に格納されている高速クロックサイクルの個数を判定するために、高速クロックサイクル818の個数を判定するための相補的手段が備えられる。この手段818は、例えば、図3に示されている加算器324などの加算器により実装されうる。ここでもまた、この手段324は、加算器に限定されず、カウントを判定するための他の適当なロジックまたはデバイスを備えることが可能である。最後に、装置800は、スリープクロック820の推定周波数を決定するための手段を備える。手段816および818と通信する、手段820は、スリープクロックサイクルの決定された個数および高速クロックサイクルの決定された個数に基づいて推定周波数を決定する。この手段820は、例えば、図1に例示されているプロセッサ112により、またはアルゴリズムを計算または実行することができる他の適当なデバイスにより実装されうる。
上記の本開示の推定器は、計算を必要とせず、したがって、もっぱらハードウェアだけで実装可能である(マイクロプロセッサで実装されうる加算器を除く)。TCXOベースのスリープクロック周波数推定器の現在の設計と比較すると、本開示のスリープクロック周波数推定器では、マイクロプロセッサが必要とする場合に必ず可能な最長の、適切な測定期間の最新の推定結果をマイクロプロセッサに供給することにより推定精度を高める。それに加えて、開示されている常時機能している推定器は、高速クロックカウントプロセスに対し常に割り込みがかかるため発生しうる外的な±1の誤差を取り除く。さらに、開示されている推定器は、マイクロプロセッサからの介入を必要としない(つまり、マイクロプロセッサは、カウントの開始時期と停止時期を推定器に指令する必要がない)。
本明細書で開示されている実施例に関して説明されている方法またはアルゴリズムは、ハードウェアで直接、プロセッサ、ファームウェアにより実行されるソフトウェアモジュールで、またはこれら2つまたはそれ以上の組合せにより具現化することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD−ROM、または当業で知られている他の形態の記憶媒体に格納することができる。例示的な記憶媒体は、プロセッサがその記憶媒体から情報を読み込み、その記憶媒体に情報を書き込めるようにプロセッサに結合される。代替え形態では、記憶媒体は、プロセッサに一体化することができる。プロセッサおよび記憶媒体は、ASICに収めることもできる。ASICは、ユーザー端末に収めることができる。代替え実施形態では、プロセッサおよび記憶媒体は、ユーザー端末内のディスクリートコンポーネントとして配置することができる。
上述の実施例は、単なる例にすぎず、当業者にとって、本明細書で開示されている発明概念から逸脱することなく上述の実施例をさまざまな形で利用し、またその実施例から逸脱することができることは明白である。これらの実施例に対しさまざまな修正を加えられることは、当業者にとっては容易に理解できるものと思われ、また本明細書で定義されている一般原理は、本明細書で説明されている新規性のある態様の精神または範囲から逸脱することなく、他の実施例、例えば、インスタントメッセージングサービスまたは一般的な無線データ通信アプリケーションにおける他の実施例にも適用することができる。したがって、本開示の範囲は、本明細書に示されている実施例に限定されることを意図されておらず、本明細書で開示されている原理および新規性のある特徴と一致する最も広い範囲を適用されることを意図されている。「例示的な」という単語は、本明細書では、もっぱら「一実施例、事例、または例示として使用する」ことを意味するために使用される。本明細書で「例示的な」と説明されている実施例は、必ずしも、他の実施例よりも好ましい、または有利であると解釈されるべきではない。したがって、本明細書で説明されている新規性のある態様は、もっぱら請求項の範囲によって定められるべきである。
Claims (44)
- スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも1つのフルカウント信号を出力するように構成された第1のカウンタと、
前記フルカウント信号を受け取り、受け取ったフルカウント信号毎に1のカウントだけインクリメントするように構成された第2のカウンタと、
高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第1のレジスタに出力し、低速クロックサイクル毎に前記第1のレジスタに格納するように構成された第3のカウンタとを備えるスリープクロック周波数推定器。 - スリープクロック信号および前記高速クロック信号を受け取り、前記高速クロック信号に基づき前記スリープクロック信号を前記高速クロック信号に同期させ、前記スリープクロック信号と前記高速クロック信号との同期に基づき前記スリープクロック同期パルスの1つまたは複数を前記第1のカウンタに出力するように構成された同期装置をさらに備える請求項1に記載のスリープクロック周波数推定器。
- 前記第1のレジスタは、測定期間に高速クロックサイクルのカウントを決定するために格納されているカウントを第1の加算器に出力するように構成され、前記第1および第2のカウンタは、現在のカウントを加算器に出力して前記測定期間に現れる低速クロックサイクルのカウントを決定するように構成される請求項1に記載のスリープクロック周波数推定器。
- 前記第2のカウンタが1だけインクリメントされたときに前記第3のカウンタによりカウントされた高速クロックサイクルの個数の値を格納するように構成された少なくとも1つの追加のレジスタをさらに備える請求項1に記載のスリープクロック周波数推定器。
- 前記第1および少なくとも1つの追加のレジスタを含む「N」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「N」個のレジスタに基づいて決定される請求項1に記載のスリープクロック周波数推定器。
- 前記第1のレジスタによる格納は、前記スリープクロック同期パルスに周波数に関して対応する遅延パルスによりトリガされるが、前記スリープクロック同期パルスの後の所定の遅延時間分だけ遅延される請求項1に記載のスリープクロック周波数推定器。
- 前記所定の遅延は、1高速クロックサイクルに等しい請求項6に記載のスリープクロック周波数推定器。
- 前記高速クロックは、温度補償水晶発振器である請求項1に記載のスリープクロック周波数推定器。
- 前記第1のカウンタ、前記第2のカウンタ、前記第3のカウンタ、および前記第1のレジスタは、すべて、前記高速クロックにより駆動される高速クロック領域内で動作可能である請求項1に記載のスリープクロック周波数推定器。
- 第1のクロック信号および第2のクロック信号を受け取り、前記第1のクロックに同期して前記第2のクロックのサイクル毎に少なくとも1つのクロック同期パルスを出力するように構成された同期装置と、
前記少なくとも1つのクロック同期パルスを受け取るように構成され、クロック同期パルスを受け取る毎に第1のカウントをインクリメントし、前記第1のカウントが所定の数に達したときにフルカウント信号を出力するように構成された第1のカウンタと、
前記フルカウント信号を受け取り、前記フルカウント信号を受け取る毎に1のカウントだけインクリメントするように構成された第2のカウンタと、
前記第1のクロック信号を受け取り、受け取った前記第1のクロックサイクル毎に第2のカウントをインクリメントし、前記第2のカウントを出力するように構成された第3のカウンタと、
前記第1のカウンタが受け取ったクロック同期パルス毎に前記第2のカウントを格納するように構成された少なくとも1つのレジスタとを備えるクロック周波数推定器。 - 前記少なくとも1つのレジスタは、測定期間に第1のクロックサイクルのカウントを決定するために格納されているカウントを第1の加算器に出力するように構成され、前記第1および第2のカウンタは、現在のカウントを加算器に出力して前記測定期間に現れる第2のクロックサイクルのカウントを決定するように構成される請求項10に記載のクロック周波数推定器。
- 前記第1および第2のカウンタのうちの1つからのフルカウント信号毎にそれぞれ前記第3のカウンタから前記第2のカウントを順次受け取るように構成された少なくとも1つの追加のレジスタをさらに備える請求項10に記載のクロック周波数推定器。
- 前記第1および少なくとも1つの追加のレジスタを含む「N」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「N」個のレジスタに基づいて決定される請求項12に記載のクロック周波数推定器。
- 前記第1のレジスタによる格納は、前記スリープクロック同期パルスに周波数に関して対応する遅延パルスによりトリガされるが、前記スリープクロック同期パルスの後の所定の遅延時間分だけ遅延される請求項10に記載のクロック周波数推定器。
- 前記所定の遅延は、第1のクロック信号の1サイクルに等しい請求項14に記載のクロック周波数推定器。
- 前記第1のクロックは、温度補償水晶発振器である請求項10に記載のクロック周波数推定器。
- 前記第1のクロック信号は、前記第2のクロック信号よりも高い周波数を有する請求項10に記載のクロック周波数推定器。
- 前記第1のカウンタ、前記第2のカウンタ、前記第3のカウンタ、および前記少なくとも1つのレジスタは、すべて、前記第1のクロックにより駆動される回路領域内で動作可能である請求項10に記載のクロック周波数推定器。
- 高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、前記高速クロックに同期して前記スリープクロックのサイクル毎に少なくとも1つのスリープクロック同期パルスを出力するように構成された同期装置と、
スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも1つのフルカウント信号を出力するように構成されている第1のカウンタと、
前記フルカウント信号を受け取り、受け取ったフルカウント信号毎に1のカウントだけインクリメントするように構成された第2のカウンタと、
高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第1のレジスタに出力し、低速クロックサイクル毎に前記第1のレジスタに格納するように構成された第3のカウンタと、
を備えるスリープクロック周波数推定器と、
前記少なくとも1つのレジスタから測定期間中の高速クロックサイクルの前記カウントを受け取り、前記測定期間中に現れる高速クロックサイクルの個数を決定し、前記第1および第2のカウンタからカウントを受け取り、前記測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの前記決定されたカウントに基づいて前記スリープクロック周波数の推定値を決定するように構成されたプロセッサとを備える無線トランシーバにおいて使用される処理回路。 - 前記推定器は、さらに、
前記第1および第2のカウンタのうちの少なくとも1つからのフルカウント信号毎にそれぞれ前記第3のカウンタから前記第2のカウントを順次受け取るように構成された少なくとも1つの追加のレジスタを備える請求項19に記載の処理回路。 - 前記第1および少なくとも1つの追加のレジスタを含む「N」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「N」個のレジスタに基づいて決定される請求項20に記載の処理回路。
- 前記所定の遅延は、1高速クロックサイクルに等しい請求項19に記載の処理回路。
- 前記遅延パルスを発行するように構成された遅延回路をさらに備える請求項22に記載の処理回路。
- 前記高速クロックは、温度補償水晶発振器である請求項19に記載の処理回路。
- 前記プロセッサは、前記回路をスリープモードにするのに先立って前記低速クロック周波数の前記推定値を決定するように構成されている請求項19に記載の処理回路。
- 前記第1のカウンタ、前記第2のカウンタ、前記第3のカウンタ、および前記第1のレジスタは、前記高速クロックにより駆動される高速クロック領域内で動作可能である請求項19に記載の処理回路。
- 高速クロックにより出力された高速クロック信号およびスリープクロックにより出力されたスリープクロック信号を受け取り、前記高速クロックに同期して前記スリープクロックのサイクル毎に少なくとも1つのスリープクロック同期パルスを出力するように構成された同期装置と、
スリープクロックの周期に対応する周期を有し、高速クロックと同期するスロープクロック同期パルスをカウントし、スリープクロック同期パルスの個数が所定の数に達したときに少なくとも1つのフルカウント信号を出力するように構成されている第1のカウンタと、前記フルカウント信号を受け取り、受け取ったフルカウント信号毎に1のカウントだけインクリメントするように構成された第2のカウンタと、高速クロックサイクルをカウントし、高速クロックサイクルの個数の値を少なくとも第1のレジスタに出力し、低速クロックサイクル毎に前記第1のレジスタに格納するように構成された第3のカウンタとを備えるスリープクロック周波数推定器と、
前記少なくとも1つのレジスタから測定期間中の高速クロックサイクルの前記カウントを受け取り、前記測定期間中に現れる高速クロックサイクルの個数を決定し、前記第1および第2のカウンタからカウントを受け取り、前記測定期間中に現れるスリープクロックサイクルのカウントを決定し、高速および低速クロックサイクルの前記決定されたカウントに基づいて前記スリープクロック周波数の推定値を決定するように構成されたプロセッサとを備える移動体通信網で使用される無線デバイス。 - 前記スリープクロック周波数推定器は、さらに、
前記第1および第2のカウンタのうちの少なくとも1つからのフルカウント信号毎にそれぞれ前記第3のカウンタから前記第2のカウントを順次受け取るように構成された少なくとも1つの追加のレジスタを備える請求項27に記載の無線デバイス。 - 前記第1および少なくとも1つの追加のレジスタを含む「N」個のレジスタをさらに備え、前記推定器の前記全測定時間は、前記「N」個のレジスタに基づいて決定される請求項28に記載の無線デバイス。
- 前記第1のレジスタによる格納は、前記スリープクロック同期パルスに周波数に関して対応する遅延パルスによりトリガされるが、前記スリープクロック同期パルスの後の所定の遅延時間分だけ遅延される請求項27に記載の無線デバイス。
- 前記所定の遅延は、1高速クロックサイクルに等しい請求項30に記載の無線デバイス。
- 前記スリープクロック同期パルスの後の所定の遅延で遅延されたスリープクロック同期パルスを発行するように構成され、前記第1のレジスタによる格納をトリガするように構成された遅延回路をさらに備える請求項27に記載の無線デバイス。
- 前記高速クロックは、温度補償水晶発振器である請求項27に記載の無線デバイス。
- 前記プロセッサは、前記回路をスリープモードにするのに先立って前記低速クロック周波数の前記推定値を決定するように構成されている請求項27に記載の無線デバイス。
- 前記第1のカウンタ、前記第2のカウンタ、前記第3のカウンタ、および前記第1のレジスタは、前記高速クロックにより駆動される高速クロック領域内で動作可能である請求項27に記載の無線デバイス。
- 低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れる前記スリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、
高速クロックサイクルカウントを決定するため前記高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも1つのレジスタ内に前記所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルの前記カウントされた個数を格納することと、
前記スリープクロックカウンタのスリープクロックサイクルの個数および前記少なくとも1つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、
スリープクロックサイクルの前記決定された個数および前記少なくとも1つのレジスタ内に格納されている高速クロックサイクルの前記決定された個数に基づいて前記スリープクロックの推定周波数を決定することとを備える高速クロックでスリープクロックの周波数を推定するための方法。 - 前記所定の測定期間は、カウントすべき低速サイクルの設定された個数に基づいて決定される請求項36に記載の方法。
- 低速サイクルの前記個数は、前記低速クロックカウンタのカウント限界値よりも大きく、
前記低速クロックのカウント限界値を超えたときに前記第1のレジスタ内に格納されている前記カウントを少なくとも第2のレジスタにシフトすることと、
前記カウント限界値を超えることになる毎にカウントするように最上位ビットカウンタを設定することとをさらに備える請求項37に記載の方法。 - 命令が格納されるコンピュータ可読媒体であって、前記格納されている命令がプロセッサにより実行されると、前記プロセッサは高速クロックでスリープクロックの前記周波数を推定するための方法を実行し、前記方法は、
低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れる前記スリープクロックのサイクル毎にスリープクロックカウンタをインクリメントすることと、
高速クロックサイクルカウントを決定するため前記高速クロックのサイクル毎に高速クロックカウンタをインクリメントし、少なくとも1つのレジスタ内に前記所定の測定期間の低速クロックサイクル毎に現れる高速クロックサイクルの前記カウントされた個数を格納することと、
前記スリープクロックカウンタのスリープクロックサイクルの個数および前記少なくとも1つのレジスタ内に格納される高速クロックサイクルの個数を決定することと、
スリープクロックサイクルの前記決定された個数および前記少なくとも1つのレジスタ内に格納されている高速クロックサイクルの前記決定された個数に基づいて前記スリープクロックの推定周波数を決定することとを備える、前記命令が格納されるコンピュータ可読媒体。 - 前記所定の測定期間は、カウントすべき低速サイクルの設定された個数に基づいて決定される請求項39に記載のコンピュータ可読媒体。
- 低速サイクルの前記個数は、前記低速クロックカウンタのカウント限界値よりも大きく、
前記低速クロックのカウント限界値を超えたときに前記第1のレジスタ内に格納されている前記カウントを少なくとも第2のレジスタにシフトすることと、
前記カウント限界値を超えることになる毎にカウントするように最上位ビットカウンタを設定することとをさらに備える請求項40に記載のコンピュータ可読媒体。 - スリープクロックを高速クロックに同期させ、前記高速クロックと同期している低速クロックサイクル毎に同期パルスを形成するための手段と、
低速クロックサイクルの所定の個数で決定されるような所定の測定期間中に現れる前記スリープクロックのサイクル毎にスリープクロックカウントをインクリメントするための手段と、
高速クロックサイクルカウントを決定するために前記高速クロックのサイクル毎に高速クロックカウントをインクリメントするための手段と、
前記所定の測定期間中にそれぞれの低速クロックサイクルにおいて現れる高速クロックサイクルの前記カウントされた個数を格納するための手段と、
前記スリープクロックカウントからスリープクロックサイクルの個数を決定するための手段と、
格納するための前記手段に格納されている高速クロックサイクルの個数を決定するための手段と、
スリープクロックサイクルの前記決定された個数および高速クロックサイクルの前記決定された個数に基づいて前記スリープクロックの推定周波数を決定するための手段とを備える高速クロックでスリープクロックの周波数を推定するための装置。 - 前記所定の測定期間は、カウントすべき低速サイクルの設定された個数に基づいて決定される請求項42に記載の装置。
- 前記低速クロックのカウント限界値を超えたときに前記第1のレジスタ内に格納されている前記カウントを少なくとも第2のレジスタにシフトするための手段と、
前記カウント限界値を超えることになる毎にカウントするように最上位ビットカウンタを設定するための手段とをさらに備え、
低速サイクルの前記個数は、前記低速クロックカウンタのカウント限界値よりも大きい請求項43に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/271,445 US7529531B2 (en) | 2005-11-09 | 2005-11-09 | Apparatus and methods for estimating a sleep clock frequency |
PCT/US2006/060747 WO2007056774A1 (en) | 2005-11-09 | 2006-11-09 | Apparatus and methods for estimating a sleep clock frequency |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009515494A true JP2009515494A (ja) | 2009-04-09 |
Family
ID=37781787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008540353A Pending JP2009515494A (ja) | 2005-11-09 | 2006-11-09 | スリープクロック周波数を推定するための装置および方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7529531B2 (ja) |
EP (1) | EP1946450A1 (ja) |
JP (1) | JP2009515494A (ja) |
KR (1) | KR20080068910A (ja) |
CN (1) | CN101366188A (ja) |
BR (1) | BRPI0618501A2 (ja) |
CA (1) | CA2629456A1 (ja) |
TW (1) | TW200731685A (ja) |
WO (1) | WO2007056774A1 (ja) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200379B2 (en) * | 2004-03-26 | 2007-04-03 | Broadcom Corporation | Low-power mode clock management for wireless communication devices |
US7463910B2 (en) * | 2005-03-10 | 2008-12-09 | Qualcomm Incorporated | Apparatus and method for determining sleep clock timing |
US7529531B2 (en) | 2005-11-09 | 2009-05-05 | Qualcomm, Incorporated | Apparatus and methods for estimating a sleep clock frequency |
EP2012436B1 (en) * | 2007-07-05 | 2016-03-30 | Sequans Communications | Method for switching a component to an operation mode for reducing power consumption in a wireless communication device |
US8170165B2 (en) * | 2007-12-05 | 2012-05-01 | Agere Systems Inc. | Clock calibration in sleep mode |
CN101981530B (zh) * | 2008-04-11 | 2012-12-12 | 飞思卡尔半导体公司 | 具有低功率模式和非低功率模式的微处理器,数据处理***和计算机程序产品 |
US7688245B2 (en) | 2008-07-11 | 2010-03-30 | Infineon Technologies Ag | Method for quantizing of signal values and quantizer |
US20100303185A1 (en) * | 2009-06-02 | 2010-12-02 | Jacobus Cornelis Haartsen | Methods of Operating Wireless Communications Devices Including Detecting Times of Receipt of Packets and Related Devices |
CN101959298B (zh) * | 2009-07-17 | 2015-03-25 | 联芯科技有限公司 | 一种慢速定时时钟校准方法及装置和一种终端 |
US8428207B1 (en) * | 2009-11-30 | 2013-04-23 | Nvidia Corporation | System and method for determining a time for safely sampling a signal of a clock domain |
US8964919B2 (en) | 2009-11-30 | 2015-02-24 | Nvidia Corporation | System and method for determining a time for safely sampling a signal of a clock domain |
US8504889B2 (en) * | 2010-11-12 | 2013-08-06 | Qualcomm Incorporated | Sleep clock error recovery scheme |
GB2491001B (en) * | 2011-05-20 | 2013-05-08 | Renesas Mobile Corp | Method and apparatus for calibrating sleep clocks |
GB201108512D0 (en) | 2011-05-20 | 2011-07-06 | Renesas Mobile Corp | Method and apparatus for calibrating sleep clocks |
WO2013004257A1 (en) * | 2011-07-05 | 2013-01-10 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for maintaining a radio time base |
US8447007B2 (en) | 2011-07-11 | 2013-05-21 | Qualcomm Incorporated | Multi-clock real-time counter |
US8892923B2 (en) * | 2011-12-20 | 2014-11-18 | Arm Limited | Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation |
CN103197139B (zh) * | 2012-01-06 | 2017-03-15 | 上海华虹集成电路有限责任公司 | 时钟频率测试电路 |
US9766682B1 (en) * | 2014-01-27 | 2017-09-19 | Marvell International Ltd. | Wakeup time system using drift estimation |
US9426750B2 (en) * | 2014-07-29 | 2016-08-23 | Apple Inc. | Apparatus, system, and method for parallelizing UE wakeup process |
CN106304317B (zh) * | 2015-06-24 | 2019-05-21 | 辰芯科技有限公司 | 睡眠唤醒定时偏差的补偿方法及电子设备 |
US10817295B2 (en) * | 2017-04-28 | 2020-10-27 | Nvidia Corporation | Thread-level sleep in a multithreaded architecture |
GB201800552D0 (en) | 2018-01-12 | 2018-02-28 | Nordic Semiconductor Asa | Clock calibration |
EP3866019A1 (en) * | 2020-02-17 | 2021-08-18 | Be Spoon | Clock-error estimation for two-clock electronic device |
CN112036103B (zh) * | 2020-09-01 | 2024-03-08 | 深圳市傲立电子有限公司 | 一种从快时钟域跨慢时钟域处理多比特数据的装置及方法 |
CN114499508A (zh) * | 2020-11-13 | 2022-05-13 | 瑞昱半导体股份有限公司 | 操作时钟产生装置与参考时钟栅控电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10190568A (ja) * | 1996-12-27 | 1998-07-21 | Matsushita Electric Ind Co Ltd | 無線受信装置 |
WO2005062855A2 (en) * | 2003-12-22 | 2005-07-14 | Interdigital Technology Corporation | Precise sleep timer using a low-cost and low-accuracy clock |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI95980C (fi) | 1992-09-04 | 1996-04-10 | Nokia Mobile Phones Ltd | Menetelmä ja kytkentäjärjestely ajan mittaamiseksi tarkasti epätarkalla kellolla |
US5613235A (en) * | 1995-06-29 | 1997-03-18 | Nokia Mobile Phones Limited | Operation of a radiotelephone in a synchronous extended standby mode for conserving battery power |
JPH09113654A (ja) * | 1995-10-16 | 1997-05-02 | Nec Ic Microcomput Syst Ltd | 間欠受信制御器 |
US5874846A (en) * | 1997-01-17 | 1999-02-23 | Chrontel Incorporated | Method and apparatus for frequency generation in a synchronous system |
US6016312A (en) | 1997-02-28 | 2000-01-18 | Motorola, Inc. | Radiotelephone and method for clock calibration for slotted paging mode in a CDMA radiotelephone system |
US6029061A (en) | 1997-03-11 | 2000-02-22 | Lucent Technologies Inc. | Power saving scheme for a digital wireless communications terminal |
US5950120A (en) * | 1997-06-17 | 1999-09-07 | Lsi Logic Corporation | Apparatus and method for shutdown of wireless communications mobile station with multiple clocks |
US6411830B2 (en) * | 1997-08-05 | 2002-06-25 | D.S.P.C. Technologies Ltd | System and method for reducing power consumption in waiting mode |
US6176611B1 (en) * | 1997-08-05 | 2001-01-23 | D.S.P.C. Technologies Ltd. | System and method for reducing power consumption in waiting mode |
WO1999008385A2 (de) * | 1997-08-08 | 1999-02-18 | Siemens Aktiengesellschaft | Verfahren zur aufrechterhaltung eines durch eine hohe taktfrequenz vorgegebenen zeitrasters durch eine niedrige taktfrequenz |
EP0924947A1 (en) | 1997-12-22 | 1999-06-23 | The Technology Partnership Public Limited Company | Power saving in a digital cellular system terminal |
DE69823162T2 (de) | 1998-02-26 | 2004-08-26 | Motorola Semiconducteurs S.A. | Energiesparanordnung für ein elektronisches tragbares Gerät |
US6333939B1 (en) | 1998-08-14 | 2001-12-25 | Qualcomm Incorporated | Synchronization of a low power oscillator with a reference oscillator in a wireless communication device utilizing slotted paging |
US6212398B1 (en) * | 1998-12-03 | 2001-04-03 | Ericsson Inc. | Wireless telephone that rapidly reacquires a timing reference from a wireless network after a sleep mode |
FR2791217B1 (fr) | 1999-03-18 | 2001-06-01 | Sagem | Procede de veille dans un telephone mobile |
US6453181B1 (en) | 1999-11-04 | 2002-09-17 | Qualcomm, Incorporated | Method and apparatus for compensating for frequency drift in a low frequency sleep clock within a mobile station operating in a slotted paging mode |
AU2001219542A1 (en) | 2000-12-07 | 2002-06-18 | Qualcomm Incorporated | Method and apparatus for compensating for frequency drift in a low frequency sleep clock within a mobile station operating in a slotted paging mode |
KR100350474B1 (ko) | 2000-12-30 | 2002-08-29 | 삼성전자 주식회사 | 디지털 무선 통신 단말 시스템에서 대기시 적응적 전력소모 감소 방법 |
KR100396785B1 (ko) * | 2001-10-19 | 2003-09-02 | 엘지전자 주식회사 | Gsm단말기의 시간오차 보상장치 및 방법 |
US7529531B2 (en) | 2005-11-09 | 2009-05-05 | Qualcomm, Incorporated | Apparatus and methods for estimating a sleep clock frequency |
-
2005
- 2005-11-09 US US11/271,445 patent/US7529531B2/en not_active Expired - Fee Related
-
2006
- 2006-11-09 CA CA002629456A patent/CA2629456A1/en not_active Abandoned
- 2006-11-09 TW TW095141593A patent/TW200731685A/zh unknown
- 2006-11-09 EP EP06839807A patent/EP1946450A1/en not_active Withdrawn
- 2006-11-09 KR KR1020087013867A patent/KR20080068910A/ko not_active Application Discontinuation
- 2006-11-09 JP JP2008540353A patent/JP2009515494A/ja active Pending
- 2006-11-09 BR BRPI0618501-0A patent/BRPI0618501A2/pt not_active Application Discontinuation
- 2006-11-09 WO PCT/US2006/060747 patent/WO2007056774A1/en active Application Filing
- 2006-11-09 CN CNA2006800503659A patent/CN101366188A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10190568A (ja) * | 1996-12-27 | 1998-07-21 | Matsushita Electric Ind Co Ltd | 無線受信装置 |
WO2005062855A2 (en) * | 2003-12-22 | 2005-07-14 | Interdigital Technology Corporation | Precise sleep timer using a low-cost and low-accuracy clock |
JP2007528642A (ja) * | 2003-12-22 | 2007-10-11 | インターデイジタル テクノロジー コーポレーション | 低価格で低精度のクロックを使用した精密なスリープタイマ |
Also Published As
Publication number | Publication date |
---|---|
CN101366188A (zh) | 2009-02-11 |
TW200731685A (en) | 2007-08-16 |
CA2629456A1 (en) | 2007-05-18 |
US7529531B2 (en) | 2009-05-05 |
EP1946450A1 (en) | 2008-07-23 |
KR20080068910A (ko) | 2008-07-24 |
WO2007056774A1 (en) | 2007-05-18 |
BRPI0618501A2 (pt) | 2011-09-06 |
US20070105525A1 (en) | 2007-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009515494A (ja) | スリープクロック周波数を推定するための装置および方法 | |
US7463910B2 (en) | Apparatus and method for determining sleep clock timing | |
CN1130096C (zh) | 一种控制工作于时隙寻呼环境的移动站的电路和方法 | |
JP4503616B2 (ja) | 低価格で低精度のクロックを使用した精密なスリープタイマ | |
JP3555252B2 (ja) | 間欠受信制御装置 | |
EP1735916B1 (en) | Networked wireless communications device programmed to identify and eliminate probable multipath errors to enhance accuracy in correcting sleep clock for thermally induced errors | |
EP1248373B1 (en) | Apparatus for and method of generating a clock from an available clock of arbitrary frequency | |
US7403507B2 (en) | System and method for recovering system time in direct sequence spread spectrum communications | |
JP2002124912A (ja) | 通信のアイドル期間中に移動端末のローカル・タイム・ベースをネットワーク・タイム・ベースに同期させる方法及びシステム | |
US9307571B2 (en) | Communication device and frequency offset calibrating method | |
KR20110020277A (ko) | 단일 카운터에 의해 다수의 클럭 주기들을 사용하는 클럭을 보정하는 방법 및 관련된 디바이스 및 방법 | |
JP2002353875A (ja) | タイミング制御装置及びタイミング制御方法 | |
JP3636097B2 (ja) | 無線通信装置及びその受信タイミング推定方法 | |
EP0924947A1 (en) | Power saving in a digital cellular system terminal | |
AU718828B2 (en) | High resolution clock reconstruction for use in a mobile telecommunication device | |
WO2001095510A1 (en) | Time synchronisation for mobile systems | |
EP2730133B1 (en) | Technique for maintaining a radio time base | |
CN114980322A (zh) | 改进的窗口加宽 | |
JP4225706B2 (ja) | 移動通信端末における間欠受信方法 | |
JP2004040613A (ja) | スペクトラム拡散通信装置およびその制御方法 | |
JP2002209264A (ja) | 移動体端末及びその間欠受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101116 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110426 |