説明

電子機器およびクロック補正方法

【課題】 RC発振器によりクロック信号を生成するシステムにおいて、クロック信号の周波数を大きく変動させずに補正して規定の範囲に保つことのできる電子機器およびクロック補正方法を提供することにある。
【解決手段】 RC発振器の抵抗または容量の設定を切り替えてクロック信号の周波数を複数段階に変更可能な周波数変更手段と、この複数段階の変更量を表わしたトリミングテーブルを記憶する記憶手段と、周波数変更手段の設定を切り替えてクロック信号の周波数を補正するクロック補正制御手段とを備えた電子機器およびそのクロック補正方法である。そして、クロック補正制御手段は、トリミングテーブルのデータに基づき、クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように周波数変更手段の設定を切り替えて(S7,S8)、クロック信号の周波数を補正する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、RC発振器によりクロック信号を生成する電子機器ならびにこのクロック信号の周波数を補正するクロック補正方法に関する。
【背景技術】
【0002】
RC発振器は、水晶発振器やセラミック発振器などと比較して、クロック信号を生成するのに消費電力が少なく、部品コストも低くできるという利点がある。一方、発振周波数の精度が比較的に低く、また、温度等に起因して発振周波数が比較的に大きく変化するという欠点がある。
【0003】
そのため、RC発振器によりクロック信号を生成するシステムにおいては、クロック信号の周波数が大きくずれないように、クロック周波数の補正処理を定期的に行うようにするのが一般的である。このような補正処理により、例えば、正確なタイマーを必要とする場合、あるいは、周辺機器とのデータ通信でクロック信号に同期した信号処理を行うような場合に、クロック周波数のズレによりタイマー誤差が大きくなったり、或いは、通信エラーが発生したりするのを回避できる。
【0004】
RC発振器によるクロック信号の周波数の補正方法としては、例えば、次のような方法が一般的である。先ず、RC発振器にその抵抗や容量を切り替え可能なトリミング回路を設けておく。そして、定期的な補正処理の際、正確な周波数の信号を基準にしてクロック信号の周波数を計測しながら、トリミング回路の設定を初段目から全段階にわたって切り替える。そして、全ての設定状態で周波数の計測を行ったら、最終的にクロック信号の周波数が規定値に一番近くなる設定にトリミング回路を切り替える。これにより、クロック信号の周波数が補正される。
【0005】
また、本発明に関連する従来技術として、特許文献1には、RC発振器の出力を分周してクロック信号を生成するとともに、水晶発振器の出力に基づいてRC発振器の発振信号の周期を計測し、この計測値に応じた分周比で上記の分周を行うようにすることで、クロック信号の周波数を補正する技術が開示されている。
【0006】
また、特許文献2には、RC発振器のクロック信号の周波数を水晶発振器のクロックを基準に計測しておき、RC発振器のクロック信号に基づくタイマーの精度をソフトウェアにより補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−229607号公報
【特許文献2】特開平10−049251号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記従来のクロック信号の周波数の補正方法では、補正処理の際、トリミング回路の設定が初段目から全段階にわたって切り替えられるため、クロック信号の周波数が大きく変動する。また、クロック信号の周波数が規定値から大きく外れる期間が生じる。さらに、補正処理の開始時と終了時にクロック信号の周波数が急激に変化するという課題が生じる。
【0009】
クロック信号の周波数が上記のように変化すると、例えば、周辺機器との間で通信エラーが生じたり、表示データの出力が一時的に中断して表示画面にちらつきが生じるといった不都合が生じることがある。
【0010】
この発明の目的は、RC発振器によりクロック信号を生成するシステムにおいて、クロック信号の周波数を大きく変動させずに補正して規定の範囲に保つことのできる電子機器およびクロック補正方法を提供することにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、請求項1記載の発明は、
RC回路の時定数を利用してクロック信号を生成するRC発振器と、
少なくとも前記RC回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、
前記周波数変更手段による前記周波数の複数段階の変更量に関する値をそれぞれ表わした周波数変更量データを記憶する記憶手段と、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御手段と、
を備え、
前記クロック補正制御手段は、
前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴としている。
【0012】
請求項2記載の発明は、請求項1記載の電子機器において、
前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段と、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測手段と、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測手段により前記ズレ量を計測させて前記周波数変更量データを作成する周波数変更量データ作成手段と、
を備え、
前記記憶手段には、
前記周波数変更量データ作成手段により作成された前記周波数変更量データが記憶されることを特徴としている。
【0013】
請求項3記載の発明は、請求項2記載の電子機器において、
前記周波数変更量データ作成手段は、
当該電子機器の起動時に前記周波数変更量データを作成することを特徴としている。
【0014】
請求項4記載の発明は、請求項2又は3に記載の電子機器において、
前記クロック補正制御手段は、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が所定量以上ずれたと判別された場合に前記クロック信号の周波数の補正処理を開始し、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が規定値に近づいたことを判別することを特徴としている。
【0015】
請求項5記載の発明は、請求項1記載の電子機器において、
前記クロック補正制御手段は、
前記周波数変更手段の設定を、直前の設定状態から前記周波数を一番少ないシフト量でズレを減らす方向にシフトさせる次の設定状態に逐次切り替えていくことで、前記クロック信号の周波数を補正することを特徴としている。
【0016】
請求項6記載の発明は、
RC回路の時定数を利用してクロック信号を生成するRC発振器と、少なくとも前記RC回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、前記周波数変更手段による前記周波数の複数段階の変更量に関する値をそれぞれ表わした周波数変更量データを記憶する記憶手段と、を備えた電子機器で前記クロック信号の周波数を補正するクロック補正方法であって、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御ステップを含み、
当該クロック補正制御ステップは、
前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴としている。
【0017】
請求項7記載の発明は、請求項6記載のクロック補正方法において、
前記電子機器には、前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段が設けられ、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測ステップと、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測ステップにより前記ズレ量を計測して前記周波数変更量データを作成する周波数変更量データ作成ステップと、
前記周波数変更量データ作成ステップで作成された前記周波数変更量データを前記記憶手段に記憶させるデータ記憶ステップと、
を含むことを特徴としている。
【発明の効果】
【0018】
本発明に従うと、RC発振器により生成されたクロック信号の周波数を補正する際、クロック信号の周波数が補正前の周波数から徐々に規定の周波数に近づくように変更されて補正される。そのため、周波数が大きく変動したり急激に変動したりすることがなく、このような変動に起因して生じる不具合を回避できるという効果がある。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態の電子機器の全体構成を示すブロック図である。
【図2】RC発振ブロックの一例を示す回路構成図である。
【図3】クロック信号の周波数の計測方法を説明するタイミングチャートである。
【図4】トリミングテーブルの一例を示すデータチャートである。
【図5】複数の設定状態のクロック信号の周波数と温度との関係を示すグラフである。
【図6】CPUにより実行されるクロック周波数制御処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態を図面に基づいて説明する。
【0021】
図1は、本発明の実施形態の電子機器1の全体構成を示すブロック図である。
【0022】
この実施形態の電子機器1は、特に制限されるものではないが、GPS(全地球測位システム)による測位機能を有するデジタルカメラである。この電子機器1は、図1に示すように、レンズを介して得られる被写体像の撮像を行う撮像素子2と、複数の操作ボタンを有し外部から操作指令を入力する入力装置3と、撮影画像やその他の種々の画像表示を行う表示装置4と、GPS衛星の送信信号を受信して復調を行うGPSモジュール5と、CPU(中央演算処理装置)11を内蔵したLSI(大規模集積回路)からなるコントローラ10と、CPU11が実行する制御プログラムや制御データが格納されたプログラムROM(Read Only Memory)6と、CPU11に作業用のメモリ空間を提供するRAM(Random Access Memory)7と、撮影画像などのデータを記憶するフラッシュメモリなどの外部記憶装置8等を備えている。
【0023】
また、コントローラ10には、機器の全体的な制御を行うCPU11と、撮像素子2の制御や撮像信号の信号処理等を行う撮像コントローラ12と、入力装置3からの信号の入力および表示装置4への表示データの出力を行う入出力コントローラ13と、GPSモジュール5とデータ通信を行うためのシリアルコントローラ14と、実時間の計時を行うタイミング信号生成手段としてのRTC(Real Time Clock)ブロック15と、コントローラ10のシステムクロックとなるクロック信号を生成するRC発振ブロック16と、クロック信号の周波数を測定するズレ量計測手段としての周波数測定カウンタ17と、コントローラ10の制御データが格納される記憶手段としてのEEPROM(電気的消去型プログラマブルROM)18と、プログラムROM6やRAM7に対してデータの読み書きを行うメモリコントローラ19と、外部記憶装置8に対してデータの読み書きを行う外部記憶コントローラ20等が設けられている。また、コントローラ10にはRTCブロック15に高精度の一定周期の信号を供給するための水晶振動子9が外付けされている。
【0024】
RC発振ブロック16は、図1の点線で示すように、コントローラ10の各部(CPU11、撮像コントローラ12、入出力コントローラ13、シリアルコントローラ14,EEPROM18、メモリコントローラ19、外部記憶コントローラ20)に動作クロックとなるクロック信号を供給している。また、コントローラ10の各部(撮像コントローラ12、入出力コントローラ13、シリアルコントローラ14、RTCブロック15、RC発振ブロック16、周波数測定カウンタ17、EEPROM18、メモリコントローラ19、外部記憶コントローラ20)は、CPU11と図示略のバスを介して接続されている。
【0025】
シリアルコントローラ14は、例えばUART(Universal Asynchronous Receiver Transmitter)によりデータ通信を行うものであり、パラレル信号とシリアル信号の変換や各種のエラーチェックをクロック信号に同期させて行っているため、クロック信号の周波数が大きく変動すると通信エラーが生じる場合がある。
【0026】
プログラムROM6には、カメラ機能や測位機能を実現するためのメイン制御処理のプログラムに加えて、RC発振ブロック16のクロック信号の周波数を調整するためのクロック周波数制御処理のプログラムが格納されている。
【0027】
RTCブロック15は、高精度で且つ温度変化に対する変動が少ない水晶振動子9の発振信号を分周して例えば正確な1/512秒のタイミング信号を生成するものである。そして、この1/512秒のタイミング信号をカウントして現在時刻の計時を行う。また、RTCブロック15のタイミング信号は、クロック信号の周波数の計測用に周波数測定カウンタ17にも供給されている。
【0028】
図2には、RC発振ブロック16の一例を表わした回路構成図を示す。
【0029】
RC発振ブロック16は、クロック信号を生成するRC発振器およびクロック信号の周波数を複数段階で変更可能な周波数変更手段を含むもので、図2に示すように、信号発振用の遅延時間を設けるため抵抗R0〜R29および電気容量C0〜C29と、各組の抵抗および容量(RC回路)を用いて信号を発振させる第0〜第29RC発振回路161と、これら第0〜第29RC発振回路161の何れか1個の出力をクロック信号として選択的に出力するセレクタ162等から構成される。
【0030】
抵抗R0〜R29および電気容量C0〜C29は、各組の時定数が少しずつ異なるように形成されており、それにより第0〜第29RC発振回路161の発振信号の周波数が少しずつ異なるようになっている。例えば、第0〜第29RC発振回路161の発振周波数の上限値と下限値とが10パーセント程度異なるように設計されている。
【0031】
セレクタ162は、CPU11からトリミング値設定信号が出力されて、このトリミング値設定信号に応じて第0〜第29RC発振回路161の出力のうち1つをクロック信号として出力する。
【0032】
なお、RC発振ブロック16は、上記のような構成に限られない。例えば、遅延時間を設けるための抵抗および電気容量と、この抵抗および電気容量に接続されて信号を発振させる1つのRC発振回路と、上記抵抗の抵抗値を複数段階に切り替えるトリミング回路とから構成することもできる。また、上記のトリミング回路は、抵抗の代わりに上記電気容量の容量値を複数段階に切り替えるように構成しても良い。
【0033】
図3には、クロック信号の周波数計測方法を説明するタイミングチャートを示す。
【0034】
周波数測定カウンタ17は、CPU11から測定指令を受けた場合に、図3に示すように、RTCブロック15のタイミンク信号の入力時点(例えばタイミング信号の立下りタイミング)から次のタイミング信号の入力時点まで、RC発振ブロック16のクロック信号を計数し、このカウント値をCPU11に供給するように構成されている。
【0035】
図4には、EEPROM18に記憶されるトリミングテーブル18aを表わしたデータチャートを示す。
【0036】
EEPROM18には、RC発振ブロック16のトリミング値と、クロック信号の周波数に関するデータとが対応づけられたトリミングテーブル18aが記憶される。ここで、トリミング値とは、セレクタ162の選択状態を示す値で、例えばトリミング値「0」は第0RC発振回路161の出力が選択されている状態を示し、トリミング値「N」は第NRC発振回路161の出力が選択されている状態を示す。
【0037】
トリミングテーブル18aには、例えば、各トリミング値に対応させて、該当するトリミング値の設定状態で出力されるクロック信号について、周波数測定カウンタ17により計測されたクロック信号のカウント値(1/512秒間に出力されたクロック信号の個数)と、規定周波数のクロック信号に対する上記カウント値のズレ量を百分率で表わした値とがそれぞれ登録されるようになっている。これらカウント値とズレ量のデータにより周波数変更量データが構成される。
【0038】
図5には、RC発振ブロック16から出力される複数の設定状態のクロック信号の周波数と温度の関係を表わしたグラフを示す。
【0039】
RC発振ブロック16から出力されるクロック信号の周波数は、図5に示すように、温度一定の条件でトリミング値を切り替えることで複数段階に変化する。また、トリミング値を一定としたまま温度が変化すると、温度変化に伴って周波数も変化する。また、温度変化に対する周波数変化の割合は、トリミング値によらずにほぼ一定となる。従って、クロック信号の周波数が高い方から低い方へ変化する順に複数のトリミング値を並べた場合に、温度が低いときと温度が高いときとで、このトリミング値の順番はほぼ変化しないようになっている。このような特性により、例えば或る温度においてこの順番を計測しておけば、その後に温度が変化しても、クロック信号の周波数を順に変化させるトリミング値の順番を判別できるようになっている。
【0040】
次に、上記構成の電子機器1において、クロック信号の周波数を調整する制御処理について説明する。
【0041】
図6には、CPU11により実行されるクロック周波数制御処理のフローチャートを示す。
【0042】
このクロック周波数制御処理は、システム起動時に開始され、その後、カメラ機能や測位機能を実現するメイン制御処理と並行してシステムが終了するまで実行されるものである。
【0043】
システムが起動して、このクロック周波数制御処理が開始されると、先ず、CPU11は、全トリミング値の設定状態におけるクロック信号の周波数の計測を行って、トリミングテーブル18aのカウント値とズレ量のデータを生成・記憶させる処理を行う(ステップS1)。
【0044】
詳細には、周波数測定カウンタ17に測定指令を出力してクロック信号の計数処理を行わせるとともに、カウント値が得られるごとにRC発振ブロック16のトリミング値の設定を切り替えることで、全てのトリミング値に対応するカウント値を取得する。そして、このカウント値をトリミングテーブル18aに記憶させる。さらに、各トリミング値のカウント値が、規定周波数に対応するカウント値からどれだけずれているか百分率で計算し、算出された値をトリミングテーブル18aのズレ量のデータとして記憶させる。このようなステップS1の処理により、図4に示したようなトリミングテーブル18aが生成・記憶される。
【0045】
続いて、CPU11は、トリミングテーブル18aを参照してズレ量の絶対値が一番小さいトリミング値を検索し、RC発振ブロック16の設定(セレクタ162の設定)をこのトリミング値の設定状態に切り替える(ステップS2)。この切り替えにより、クロック信号が規定の周波数に一番近いものに切り替えられる。
【0046】
その後、CPU11は、クロック周波数のズレを確認する規定時間をタイマーにセットして、規定時間の経過までこのプログラム処理を待機状態とさせる(ステップS3)。
【0047】
規定時間が経過したら、CPU11は、周波数測定カウンタ17に測定指令を出力して、現在設定されているトリミング値でのクロック信号の計数処理を行わせ、計数結果のカウント値と規定のカウント値とを比較してそのズレ量を算出する(ステップS4)。そして、このズレ量が所定のしきい値未満であるか判別し(ステップS5)、ズレ量がしきい値未満であれば、まだ、トリミング値の切り替えは不要であるとして、ステップS3に戻って、再び、規定時間の待機状態とする。
【0048】
一方、ステップS5の判別処理でズレ量が所定のしきい値以上と判別されれば、“NO”側に移行して、先ず、トリミング値の変更をN回(例えば30回)行ったか確認する(ステップS6)。そして、未だであれば、次に、ステップS4で算出されたズレを修正する方向にクロック周波数をシフトさせ、且つ、クロック周波数を一番小さくシフトさせるトリミング値をトリミングテーブル18aの中から検索する(ステップS7)。
【0049】
例えば、ステップS4の計測時点で設定されているトリミング値が「14」であり、計測処理の結果、クロック信号のカウント値は「15430」で、規定値「15625」より小さかったとする。この場合、このズレを修正する方向(カウント値を大きくする方向)で、且つ、その変化量が一番小さくなるトリミング値を検索する。図4のトリミングテーブル18aであれば、トリミング値「12」が、カウント値を大きくする方向にシフトさせ、且つ、ズレ量の差異が“−0.70%−(−1.00%)=0.30%”とカウント値を一番小さくシフトさせる設定状態として抽出される。
【0050】
上記のように検索を行ったら、RC発振ブロック16の設定を検索結果のトリミング値の設定状態に変更する(ステップS8)。そして、ステップS4に戻り、ステップS4からの処理を再び繰り返す。ここで、設定変更後のクロック信号に対しても、ステップS5,S6の判別処理で“NO”の判別が行われれば、ステップS4〜S8の処理が繰り返し実行され、このステップS4〜S8の繰り返し処理により、クロック信号の周波数が規定の周波数に徐々に近づくようにシフトしていくことになる。
【0051】
そして、上記ステップS4〜S8の繰り返し処理により、クロック信号の周波数が規定周波数に近い値までシフトされると、ステップS5の判別処理でクロック信号の周波数のズレがしきい値未満と判別される。すなわち、このときの設定状態によりクロック周波数の補正完了となる。従って、その後、ステップS3に戻って、再び、規定時間の待機状態とする。
【0052】
一方、RC発振ブロック16の複数の設定状態の一部に、クロック周波数の変更間隔がやや広くなる部分が生じ、この広い変更間隔の中間あたりに規定周波数があるような場合には、クロック信号の周波数が規定周波数に一番近づいたときでも、ステップS5の判別処理でカウント値のズレ量がしきい値未満と判別されない場合が生じえる。また、ステップS4〜S8の繰り返し処理中に、温度等の環境が激しく変化することで、クロック信号の周波数が規定周波数に近づいていかない場合も生じえる。
【0053】
この場合には、ステップS4〜S8のループ処理がN回繰り返されることで、ステップS6の判別処理で“YES”の判別が行われて、このループ処理を抜ける。この場合、トリミング値をN回変更した中で、規定のカウント値からのズレ量が一番小さかったトリミング値を抽出して、RC発振ブロック16の設定をこのトリミング値の設定状態に切り替える(ステップS9)。温度等の環境が激しく変化しているのでなければ、このときの設定状態によりクロック周波数は規定値に最も近い設定となりクロック周波数の補正完了となる。従って、その後、ステップS3に戻って、再び、規定時間の待機状態とする。
【0054】
上記のクロック周波数制御処理のうち、ステップS4〜S9の処理によりクロック補正制御手段が構成され、ステップS1の処理により周波数変更量データ作成手段が構成される。
【0055】
以上のように、この実施形態の電子機器1によれば、クロック周波数を補正する際、補正前の周波数から規定周波数に徐々に近づいていくように、RC発振ブロック16のトリミング値が切り替えられていく。従って、トリミング値を初段目から全段階にわたって切り替えて最適な設定を見つける方式と比較して、クロック周波数のトータルの変動量を小さくでき、また、クロック周波数の急激な変化も生じない。従って、クロック周波数の補正処理中に、シリアルコントローラ14を介して通信処理を行っていてもクロック周波数の大きな変動に起因した通信エラーの発生を回避でき、この通信処理を停止させる必要も生じない。また、表示画面のちらつきなどクロック周波数の急激な変化に起因した不具合も回避できる。
【0056】
また、上記実施形態の電子機器1によれば、クロック周波数を補正する際、トリミングテーブル18aのデータに基づき、切替前の設定状態から、周波数のズレを修正する方向に、且つ、周波数を最も小さくシフトさせる次の設定状態に逐次切り替えていくようになっている。従って、補正処理の際に、確実に、クロック周波数を規定周波数に徐々に近づけるように変化させることができる。
【0057】
また、この実施形態の電子機器1によれば、同一時期にRC発振ブロック16を複数の設定状態に切り替えつつ、各設定状態でクロック信号の計数処理を行って、トリミングテーブル18aを作成するようになっている。従って、RC発振ブロック16で切り替えられる複数の抵抗R0〜R29の抵抗値ならびに複数の電気容量C0〜C29の容量値に製造バラツキや設計値からの誤差が生じていても、RC発振ブロック16の実際の周波数の変更量を反映したトリミングテーブル18aを作成することができる。そして、このトリミングテーブル18aを使用することで、上記のようなクロック周波数の補正処理を正常に実現することができる。
【0058】
また、この実施形態の電子機器1によれば、機器の起動時にトリミングテーブル18aを作成するようになっているので、通信処理を中断させる必要もなく、また、表示画面のちらつきが生じることになっても、このちらつきが目立たない期間に、トリミングテーブル18aを作成することができる。
【0059】
また、この実施形態の電子機器1によれば、RTCブロック15のタイミング信号に基づいてクロック周波数のズレ量を計測するとともに、このズレ量が所定のしきい値以上となった場合に、クロック周波数の補正処理に移行するようになっている。また、クロック周波数の補正処理では、RC発振ブロック16のトリミング値が切り替えられた後にクロック周波数のズレ量が計測されて、この計測結果に基づいてクロック周波数のズレが解消されたか確認されるようになっている。従って、不必要なときにクロック周波数の補正処理が実行されることを回避でき、また、クロック周波数を確実に規定値に近い値に修正することができる。
【0060】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記実施形態では、周波数変更量データとしてトリミングテーブル18aのカウント値のデータやズレ量のデータを採用した例を示したが、このように各設定状態でのクロック信号の周波数やその変更量を直接的又は間接的に表わすデータに制限されず、例えば、周波数の変更量の大きさの順番を表わすデータとしても良い。変更量の大きさの順番が分かることで、現在の設定状態からズレを修正する方向に且つクロック周波数を一番少なくシフトする設定状態を検索することが可能となる。
【0061】
また、上記実施形態では、トリミングテーブル18aを電子機器1の起動時に毎回作成するようにしているが、電子機器1のリセット時に作成・記憶させるようにしたり、或いは、工場出荷前の設定工程において作成・記憶させるようにしても良い。
【0062】
また、上記実施形態では、トリミング値を切り替えてクロック周波数を補正する際に、クロック周波数を一番少なくシフトする設定状態に1段ずつ切り替えていくように構成しているが、RC発振ブロック16のトリミング値の切替段数を多く設けて、2段ずつや3段ずつ切り替えてもクロック周波数の変化が急激な変化とならない場合には、2段ずつや3段ずつ切り替えるようにしても良い。このような構成では、例えば、クロック周波数が大きくずれているときには、多段ずつ切り替え、クロック周波数が規定値に近づいてきたら1段ずつ切り替えて、規定値に近づけるといった切替制御も採用できる。
【0063】
また、上記実施形態では、規定時間の経過ごとに、クロック周波数のズレ量を計測して補正処理を行うか否か判別するようにしているが、例えば、温度センサを設けて、温度が一定量変化した場合に、クロック周波数のズレ量を計測して補正処理を行うか否か判別したり、或いは、この判別を省いて温度が一定量変化した場合にクロック周波数の補正処理を実行するようにしても良い。
【0064】
また、上記実施形態では、クロック周波数の補正処理においてトリミング値を切り替えるごとに、クロック周波数のズレ量を計測して、ズレ量がしきい値未満になったか確認しているが、初回に計測したズレ量と、トリミングテーブル18aのズレ量のデータとから、未だ、クロック周波数が規定値に近づいていないと判別できる場合にはクロック周波数のズレ量の計測を省くようにしても良い。
【0065】
また、上記実施形態では、クロック周波数のズレ量がしきい値未満となった場合に補正完了とするか、或いは、トリミング値をN回切り替えてズレ量がしきい値未満とならなかった場合に一番ズレ量が小さかったトリミング値の設定状態にして補正完了としているが、例えば、トリミング値を逐次切り替えていってクロック周波数のズレ量の方向が正から負へ或いは負から正へ切り換わったときに、この設定状態で補正完了とするようにしても良い。
【0066】
また、上記実施形態では、高精度のタイミング信号として、水晶振動子による発振信号を適用した例を示したが、例えば、セラミック振動子による発振信号など、適宜な精度のタイミング信号が得られれば、どのような手段を用いても良い。また、例えばトリミングテーブル18aなどの周波数変更量データはコントローラ10内に記憶させるのではなく、RAM7や外部記憶装置8に記憶させるようにしても良い。その他、実施形態で示した細部構成および細部方法は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【0067】
1 電子機器
4 表示装置
5 GPSモジュール
6 プログラムROM
7 RAM
8 外部記憶装置
9 水晶振動子
10 コントローラ
11 CPU
12 撮像コントローラ
13 入出力コントローラ
14 シリアルコントローラ
15 RTCブロック
16 RC発振ブロック
17 周波数測定カウンタ
18 EEPROM
18a トリミングテーブル
19 メモリコントローラ
20 外部記憶コントローラ
R0〜R29 抵抗
C0〜C29 電気容量
161 第0〜第29RC発振回路
162 セレクタ

【特許請求の範囲】
【請求項1】
RC回路の時定数を利用してクロック信号を生成するRC発振器と、
少なくとも前記RC回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、
前記周波数変更手段による前記周波数の複数段階の変更量に関する値をそれぞれ表わした周波数変更量データを記憶する記憶手段と、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御手段と、
を備え、
前記クロック補正制御手段は、
前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴とする電子機器。
【請求項2】
前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段と、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測手段と、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測手段により前記ズレ量を計測させて前記周波数変更量データを作成する周波数変更量データ作成手段と、
を備え、
前記記憶手段には、
前記周波数変更量データ作成手段により作成された前記周波数変更量データが記憶されることを特徴とする請求項1記載の電子機器。
【請求項3】
前記周波数変更量データ作成手段は、
当該電子機器の起動時に前記周波数変更量データを作成することを特徴とする請求項2記載の電子機器。
【請求項4】
前記クロック補正制御手段は、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が所定量以上ずれたと判別された場合に前記クロック信号の周波数の補正処理を開始し、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が規定値に近づいたことを判別することを特徴とする請求項2又は3に記載の電子機器。
【請求項5】
前記クロック補正制御手段は、
前記周波数変更手段の設定を、直前の設定状態から前記周波数を一番少ないシフト量でズレを減らす方向にシフトさせる次の設定状態に逐次切り替えていくことで、前記クロック信号の周波数を補正することを特徴とする請求項1記載の電子機器。
【請求項6】
RC回路の時定数を利用してクロック信号を生成するRC発振器と、少なくとも前記RC回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、前記周波数変更手段による前記周波数の複数段階の変更量をそれぞれ表わした周波数変更量データを記憶する記憶手段と、を備えた電子機器で前記クロック信号の周波数を補正するクロック補正方法であって、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御ステップを含み、
当該クロック補正制御ステップは、
前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴とするクロック補正方法。
【請求項7】
前記電子機器には、前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段が設けられ、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測ステップと、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測ステップにより前記ズレ量を計測して前記周波数変更量データを作成する周波数変更量データ作成ステップと、
前記周波数変更量データ作成ステップで作成された前記周波数変更量データを前記記憶手段に記憶させるデータ記憶ステップと、
を含むことを特徴とする請求項6記載のクロック補正方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−88979(P2012−88979A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−236028(P2010−236028)
【出願日】平成22年10月21日(2010.10.21)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】