(57)【特許請求の範囲】
【請求項１】
ＲＣ回路の時定数を利用してクロック信号を生成するＲＣ発振器と、
少なくとも前記ＲＣ回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、
前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段と、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測手段と、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測手段により前記ズレ量を計測させて、前記周波数変更手段による前記周波数の複数段階の変更量に関する値をそれぞれ表わしたデータである周波数変更量データを作成する周波数変更量データ作成手段と、
前記周波数変更量データ作成手段により作成された前記周波数変更量データを記憶する記憶手段と、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御手段と、
を備え、
前記クロック補正制御手段は、
前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴とする電子機器。
【請求項２】
前記周波数変更量データ作成手段は、
当該電子機器の起動時に前記周波数変更量データを作成することを特徴とする請求項１記載の電子機器。
【請求項３】
前記クロック補正制御手段は、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が所定量以上ずれたと判別された場合に前記クロック信号の周波数の補正処理を開始し、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が規定値に近づいたことを判別することを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記クロック補正制御手段は、
前記周波数変更手段の設定を、直前の設定状態から前記周波数を一番少ないシフト量でズレを減らす方向にシフトさせる次の設定状態に逐次切り替えていくことで、前記クロック信号の周波数を補正することを特徴とする請求項１又は２に記載の電子機器。
【請求項５】
ＲＣ回路の時定数を利用してクロック信号を生成するＲＣ発振器と、少なくとも前記ＲＣ回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、前記周波数変更手段による前記周波数の複数段階の変更量をそれぞれ表わした周波数変更量データを記憶する記憶手段と、を備えた電子機器で前記クロック信号の周波数を補正するクロック補正方法であって、
前記電子機器には、前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段が設けられ、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測ステップと、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測ステップにより前記ズレ量を計測させて前記周波数変更量データを作成する周波数変更量データ作成ステップと、
前記周波数変更量データ作成ステップで作成された前記周波数変更量データを前記記憶手段に記憶させるデータ記憶ステップと、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御ステップと、
を含み、
当該クロック補正制御ステップは、
前記データ記憶ステップにより前記記憶手段に記憶された前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴とするクロック補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＲＣ発振器によりクロック信号を生成する電子機器ならびにこのクロック信号の周波数を補正するクロック補正方法に関する。
【背景技術】
【０００２】
ＲＣ発振器は、水晶発振器やセラミック発振器などと比較して、クロック信号を生成するのに消費電力が少なく、部品コストも低くできるという利点がある。一方、発振周波数の精度が比較的に低く、また、温度等に起因して発振周波数が比較的に大きく変化するという欠点がある。
【０００３】
そのため、ＲＣ発振器によりクロック信号を生成するシステムにおいては、クロック信号の周波数が大きくずれないように、クロック周波数の補正処理を定期的に行うようにするのが一般的である。このような補正処理により、例えば、正確なタイマーを必要とする場合、あるいは、周辺機器とのデータ通信でクロック信号に同期した信号処理を行うような場合に、クロック周波数のズレによりタイマー誤差が大きくなったり、或いは、通信エラーが発生したりするのを回避できる。
【０００４】
ＲＣ発振器によるクロック信号の周波数の補正方法としては、例えば、次のような方法が一般的である。先ず、ＲＣ発振器にその抵抗や容量を切り替え可能なトリミング回路を設けておく。そして、定期的な補正処理の際、正確な周波数の信号を基準にしてクロック信号の周波数を計測しながら、トリミング回路の設定を初段目から全段階にわたって切り替える。そして、全ての設定状態で周波数の計測を行ったら、最終的にクロック信号の周波数が規定値に一番近くなる設定にトリミング回路を切り替える。これにより、クロック信号の周波数が補正される。
【０００５】
また、本発明に関連する従来技術として、特許文献１には、ＲＣ発振器の出力を分周してクロック信号を生成するとともに、水晶発振器の出力に基づいてＲＣ発振器の発振信号の周期を計測し、この計測値に応じた分周比で上記の分周を行うようにすることで、クロック信号の周波数を補正する技術が開示されている。
【０００６】
また、特許文献２には、ＲＣ発振器のクロック信号の周波数を水晶発振器のクロックを基準に計測しておき、ＲＣ発振器のクロック信号に基づくタイマーの精度をソフトウェアにより補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２２９６０７号公報
【特許文献２】特開平１０−０４９２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来のクロック信号の周波数の補正方法では、補正処理の際、トリミング回路の設定が初段目から全段階にわたって切り替えられるため、クロック信号の周波数が大きく変動する。また、クロック信号の周波数が規定値から大きく外れる期間が生じる。さらに、補正処理の開始時と終了時にクロック信号の周波数が急激に変化するという課題が生じる。
【０００９】
クロック信号の周波数が上記のように変化すると、例えば、周辺機器との間で通信エラーが生じたり、表示データの出力が一時的に中断して表示画面にちらつきが生じるといった不都合が生じることがある。
【００１０】
この発明の目的は、ＲＣ発振器によりクロック信号を生成するシステムにおいて、クロック信号の周波数を大きく変動させずに補正して規定の範囲に保つことのできる電子機器およびクロック補正方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、請求項１記載の発明は、
ＲＣ回路の時定数を利用してクロック信号を生成するＲＣ発振器と、
少なくとも前記ＲＣ回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、
前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段と、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測手段と、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測手段により前記ズレ量を計測させて、前記周波数変更手段による前記周波数の複数段階の変更量に関する値をそれぞれ表わしたデータである周波数変更量データを作成する周波数変更量データ作成手段と、
前記周波数変更量データ作成手段により作成された前記周波数変更量データを記憶する記憶手段と、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御手段と、
を備え、
前記クロック補正制御手段は、
前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴としている。
【００１３】
請求項２記載の発明は、請求項１記載の電子機器において、
前記周波数変更量データ作成手段は、
当該電子機器の起動時に前記周波数変更量データを作成することを特徴としている。
【００１４】
請求項３記載の発明は、請求項１又は２に記載の電子機器において、
前記クロック補正制御手段は、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が所定量以上ずれたと判別された場合に前記クロック信号の周波数の補正処理を開始し、
前記ズレ量計測手段の計測結果に基づいて前記クロック信号の周波数が規定値に近づいたことを判別することを特徴としている。
【００１５】
請求項４記載の発明は、請求項１又は２に記載の電子機器において、
前記クロック補正制御手段は、
前記周波数変更手段の設定を、直前の設定状態から前記周波数を一番少ないシフト量で
ズレを減らす方向にシフトさせる次の設定状態に逐次切り替えていくことで、前記クロッ
ク信号の周波数を補正することを特徴としている。
【００１６】
請求項５記載の発明は、
ＲＣ回路の時定数を利用してクロック信号を生成するＲＣ発振器と、少なくとも前記ＲＣ回路の抵抗値または容量値の設定を切り替えて前記クロック信号の周波数を複数段階に変更可能な周波数変更手段と、前記周波数変更手段による前記周波数の複数段階の変更量をそれぞれ表わした周波数変更量データを記憶する記憶手段と、を備えた電子機器で前記クロック信号の周波数を補正するクロック補正方法であって、
前記電子機器には、前記クロック信号よりも高精度な一定周波数のタイミング信号を生成するタイミング信号生成手段が設けられ、
前記タイミング信号に基づいて前記クロック信号の周波数のズレ量を計測するズレ量計測ステップと、
前記周波数変更手段の設定を同一時期に複数通りに切り替えながら各切替状態で前記ズレ量計測ステップにより前記ズレ量を計測させて前記周波数変更量データを作成する周波数変更量データ作成ステップと、
前記周波数変更量データ作成ステップで作成された前記周波数変更量データを前記記憶手段に記憶させるデータ記憶ステップと、
前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正するクロック補正制御ステップと、
を含み、
当該クロック補正制御ステップは、
前記データ記憶ステップにより前記記憶手段に記憶された前記周波数変更量データに基づき、前記クロック信号の周波数を補正前の周波数から規定の周波数へ次第に近づいていくように、前記周波数変更手段の設定を切り替えて前記クロック信号の周波数を補正することを特徴としている。
【発明の効果】
【００１８】
本発明に従うと、ＲＣ発振器により生成されたクロック信号の周波数を補正する際、クロック信号の周波数が補正前の周波数から徐々に規定の周波数に近づくように変更されて補正される。そのため、周波数が大きく変動したり急激に変動したりすることがなく、このような変動に起因して生じる不具合を回避できるという効果がある。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態の電子機器の全体構成を示すブロック図である。
【図２】ＲＣ発振ブロックの一例を示す回路構成図である。
【図３】クロック信号の周波数の計測方法を説明するタイミングチャートである。
【図４】トリミングテーブルの一例を示すデータチャートである。
【図５】複数の設定状態のクロック信号の周波数と温度との関係を示すグラフである。
【図６】ＣＰＵにより実行されるクロック周波数制御処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２１】
図１は、本発明の実施形態の電子機器１の全体構成を示すブロック図である。
【００２２】
この実施形態の電子機器１は、特に制限されるものではないが、ＧＰＳ（全地球測位システム）による測位機能を有するデジタルカメラである。この電子機器１は、図１に示すように、レンズを介して得られる被写体像の撮像を行う撮像素子２と、複数の操作ボタンを有し外部から操作指令を入力する入力装置３と、撮影画像やその他の種々の画像表示を行う表示装置４と、ＧＰＳ衛星の送信信号を受信して復調を行うＧＰＳモジュール５と、ＣＰＵ（中央演算処理装置）１１を内蔵したＬＳＩ（大規模集積回路）からなるコントローラ１０と、ＣＰＵ１１が実行する制御プログラムや制御データが格納されたプログラムＲＯＭ（Read Only Memory）６と、ＣＰＵ１１に作業用のメモリ空間を提供するＲＡＭ（Random Access Memory）７と、撮影画像などのデータを記憶するフラッシュメモリなどの外部記憶装置８等を備えている。
【００２３】
また、コントローラ１０には、機器の全体的な制御を行うＣＰＵ１１と、撮像素子２の制御や撮像信号の信号処理等を行う撮像コントローラ１２と、入力装置３からの信号の入力および表示装置４への表示データの出力を行う入出力コントローラ１３と、ＧＰＳモジュール５とデータ通信を行うためのシリアルコントローラ１４と、実時間の計時を行うタイミング信号生成手段としてのＲＴＣ（Real Time Clock）ブロック１５と、コントローラ１０のシステムクロックとなるクロック信号を生成するＲＣ発振ブロック１６と、クロック信号の周波数を測定するズレ量計測手段としての周波数測定カウンタ１７と、コントローラ１０の制御データが格納される記憶手段としてのＥＥＰＲＯＭ（電気的消去型プログラマブルＲＯＭ）１８と、プログラムＲＯＭ６やＲＡＭ７に対してデータの読み書きを行うメモリコントローラ１９と、外部記憶装置８に対してデータの読み書きを行う外部記憶コントローラ２０等が設けられている。また、コントローラ１０にはＲＴＣブロック１５に高精度の一定周期の信号を供給するための水晶振動子９が外付けされている。
【００２４】
ＲＣ発振ブロック１６は、図１の点線で示すように、コントローラ１０の各部（ＣＰＵ１１、撮像コントローラ１２、入出力コントローラ１３、シリアルコントローラ１４，ＥＥＰＲＯＭ１８、メモリコントローラ１９、外部記憶コントローラ２０）に動作クロックとなるクロック信号を供給している。また、コントローラ１０の各部（撮像コントローラ１２、入出力コントローラ１３、シリアルコントローラ１４、ＲＴＣブロック１５、ＲＣ発振ブロック１６、周波数測定カウンタ１７、ＥＥＰＲＯＭ１８、メモリコントローラ１９、外部記憶コントローラ２０）は、ＣＰＵ１１と図示略のバスを介して接続されている。
【００２５】
シリアルコントローラ１４は、例えばＵＡＲＴ（Universal Asynchronous Receiver Transmitter）によりデータ通信を行うものであり、パラレル信号とシリアル信号の変換や各種のエラーチェックをクロック信号に同期させて行っているため、クロック信号の周波数が大きく変動すると通信エラーが生じる場合がある。
【００２６】
プログラムＲＯＭ６には、カメラ機能や測位機能を実現するためのメイン制御処理のプログラムに加えて、ＲＣ発振ブロック１６のクロック信号の周波数を調整するためのクロック周波数制御処理のプログラムが格納されている。
【００２７】
ＲＴＣブロック１５は、高精度で且つ温度変化に対する変動が少ない水晶振動子９の発振信号を分周して例えば正確な１／５１２秒のタイミング信号を生成するものである。そして、この１／５１２秒のタイミング信号をカウントして現在時刻の計時を行う。また、ＲＴＣブロック１５のタイミング信号は、クロック信号の周波数の計測用に周波数測定カウンタ１７にも供給されている。
【００２８】
図２には、ＲＣ発振ブロック１６の一例を表わした回路構成図を示す。
【００２９】
ＲＣ発振ブロック１６は、クロック信号を生成するＲＣ発振器およびクロック信号の周波数を複数段階で変更可能な周波数変更手段を含むもので、図２に示すように、信号発振用の遅延時間を設けるため抵抗Ｒ０〜Ｒ２９および電気容量Ｃ０〜Ｃ２９と、各組の抵抗および容量（ＲＣ回路）を用いて信号を発振させる第０〜第２９ＲＣ発振回路１６１と、これら第０〜第２９ＲＣ発振回路１６１の何れか１個の出力をクロック信号として選択的に出力するセレクタ１６２等から構成される。
【００３０】
抵抗Ｒ０〜Ｒ２９および電気容量Ｃ０〜Ｃ２９は、各組の時定数が少しずつ異なるように形成されており、それにより第０〜第２９ＲＣ発振回路１６１の発振信号の周波数が少しずつ異なるようになっている。例えば、第０〜第２９ＲＣ発振回路１６１の発振周波数の上限値と下限値とが１０パーセント程度異なるように設計されている。
【００３１】
セレクタ１６２は、ＣＰＵ１１からトリミング値設定信号が出力されて、このトリミング値設定信号に応じて第０〜第２９ＲＣ発振回路１６１の出力のうち１つをクロック信号として出力する。
【００３２】
なお、ＲＣ発振ブロック１６は、上記のような構成に限られない。例えば、遅延時間を設けるための抵抗および電気容量と、この抵抗および電気容量に接続されて信号を発振させる１つのＲＣ発振回路と、上記抵抗の抵抗値を複数段階に切り替えるトリミング回路とから構成することもできる。また、上記のトリミング回路は、抵抗の代わりに上記電気容量の容量値を複数段階に切り替えるように構成しても良い。
【００３３】
図３には、クロック信号の周波数計測方法を説明するタイミングチャートを示す。
【００３４】
周波数測定カウンタ１７は、ＣＰＵ１１から測定指令を受けた場合に、図３に示すように、ＲＴＣブロック１５のタイミンク信号の入力時点（例えばタイミング信号の立下りタイミング）から次のタイミング信号の入力時点まで、ＲＣ発振ブロック１６のクロック信号を計数し、このカウント値をＣＰＵ１１に供給するように構成されている。
【００３５】
図４には、ＥＥＰＲＯＭ１８に記憶されるトリミングテーブル１８ａを表わしたデータチャートを示す。
【００３６】
ＥＥＰＲＯＭ１８には、ＲＣ発振ブロック１６のトリミング値と、クロック信号の周波数に関するデータとが対応づけられたトリミングテーブル１８ａが記憶される。ここで、トリミング値とは、セレクタ１６２の選択状態を示す値で、例えばトリミング値「０」は第０ＲＣ発振回路１６１の出力が選択されている状態を示し、トリミング値「Ｎ」は第ＮＲＣ発振回路１６１の出力が選択されている状態を示す。
【００３７】
トリミングテーブル１８ａには、例えば、各トリミング値に対応させて、該当するトリミング値の設定状態で出力されるクロック信号について、周波数測定カウンタ１７により計測されたクロック信号のカウント値（１／５１２秒間に出力されたクロック信号の個数）と、規定周波数のクロック信号に対する上記カウント値のズレ量を百分率で表わした値とがそれぞれ登録されるようになっている。これらカウント値とズレ量のデータにより周波数変更量データが構成される。
【００３８】
図５には、ＲＣ発振ブロック１６から出力される複数の設定状態のクロック信号の周波数と温度の関係を表わしたグラフを示す。
【００３９】
ＲＣ発振ブロック１６から出力されるクロック信号の周波数は、図５に示すように、温度一定の条件でトリミング値を切り替えることで複数段階に変化する。また、トリミング値を一定としたまま温度が変化すると、温度変化に伴って周波数も変化する。また、温度変化に対する周波数変化の割合は、トリミング値によらずにほぼ一定となる。従って、クロック信号の周波数が高い方から低い方へ変化する順に複数のトリミング値を並べた場合に、温度が低いときと温度が高いときとで、このトリミング値の順番はほぼ変化しないようになっている。このような特性により、例えば或る温度においてこの順番を計測しておけば、その後に温度が変化しても、クロック信号の周波数を順に変化させるトリミング値の順番を判別できるようになっている。
【００４０】
次に、上記構成の電子機器１において、クロック信号の周波数を調整する制御処理について説明する。
【００４１】
図６には、ＣＰＵ１１により実行されるクロック周波数制御処理のフローチャートを示す。
【００４２】
このクロック周波数制御処理は、システム起動時に開始され、その後、カメラ機能や測位機能を実現するメイン制御処理と並行してシステムが終了するまで実行されるものである。
【００４３】
システムが起動して、このクロック周波数制御処理が開始されると、先ず、ＣＰＵ１１は、全トリミング値の設定状態におけるクロック信号の周波数の計測を行って、トリミングテーブル１８ａのカウント値とズレ量のデータを生成・記憶させる処理を行う（ステップＳ１）。
【００４４】
詳細には、周波数測定カウンタ１７に測定指令を出力してクロック信号の計数処理を行わせるとともに、カウント値が得られるごとにＲＣ発振ブロック１６のトリミング値の設定を切り替えることで、全てのトリミング値に対応するカウント値を取得する。そして、このカウント値をトリミングテーブル１８ａに記憶させる。さらに、各トリミング値のカウント値が、規定周波数に対応するカウント値からどれだけずれているか百分率で計算し、算出された値をトリミングテーブル１８ａのズレ量のデータとして記憶させる。このようなステップＳ１の処理により、図４に示したようなトリミングテーブル１８ａが生成・記憶される。
【００４５】
続いて、ＣＰＵ１１は、トリミングテーブル１８ａを参照してズレ量の絶対値が一番小さいトリミング値を検索し、ＲＣ発振ブロック１６の設定（セレクタ１６２の設定）をこのトリミング値の設定状態に切り替える（ステップＳ２）。この切り替えにより、クロック信号が規定の周波数に一番近いものに切り替えられる。
【００４６】
その後、ＣＰＵ１１は、クロック周波数のズレを確認する規定時間をタイマーにセットして、規定時間の経過までこのプログラム処理を待機状態とさせる（ステップＳ３）。
【００４７】
規定時間が経過したら、ＣＰＵ１１は、周波数測定カウンタ１７に測定指令を出力して、現在設定されているトリミング値でのクロック信号の計数処理を行わせ、計数結果のカウント値と規定のカウント値とを比較してそのズレ量を算出する（ステップＳ４）。そして、このズレ量が所定のしきい値未満であるか判別し（ステップＳ５）、ズレ量がしきい値未満であれば、まだ、トリミング値の切り替えは不要であるとして、ステップＳ３に戻って、再び、規定時間の待機状態とする。
【００４８】
一方、ステップＳ５の判別処理でズレ量が所定のしきい値以上と判別されれば、“ＮＯ”側に移行して、先ず、トリミング値の変更をＮ回（例えば３０回）行ったか確認する（ステップＳ６）。そして、未だであれば、次に、ステップＳ４で算出されたズレを修正する方向にクロック周波数をシフトさせ、且つ、クロック周波数を一番小さくシフトさせるトリミング値をトリミングテーブル１８ａの中から検索する（ステップＳ７）。
【００４９】
例えば、ステップＳ４の計測時点で設定されているトリミング値が「１４」であり、計測処理の結果、クロック信号のカウント値は「１５４３０」で、規定値「１５６２５」より小さかったとする。この場合、このズレを修正する方向（カウント値を大きくする方向）で、且つ、その変化量が一番小さくなるトリミング値を検索する。図４のトリミングテーブル１８ａであれば、トリミング値「１２」が、カウント値を大きくする方向にシフトさせ、且つ、ズレ量の差異が“−０．７０％−（−１．００％）＝０．３０％”とカウント値を一番小さくシフトさせる設定状態として抽出される。
【００５０】
上記のように検索を行ったら、ＲＣ発振ブロック１６の設定を検索結果のトリミング値の設定状態に変更する（ステップＳ８）。そして、ステップＳ４に戻り、ステップＳ４からの処理を再び繰り返す。ここで、設定変更後のクロック信号に対しても、ステップＳ５，Ｓ６の判別処理で“ＮＯ”の判別が行われれば、ステップＳ４〜Ｓ８の処理が繰り返し実行され、このステップＳ４〜Ｓ８の繰り返し処理により、クロック信号の周波数が規定の周波数に徐々に近づくようにシフトしていくことになる。
【００５１】
そして、上記ステップＳ４〜Ｓ８の繰り返し処理により、クロック信号の周波数が規定周波数に近い値までシフトされると、ステップＳ５の判別処理でクロック信号の周波数のズレがしきい値未満と判別される。すなわち、このときの設定状態によりクロック周波数の補正完了となる。従って、その後、ステップＳ３に戻って、再び、規定時間の待機状態とする。
【００５２】
一方、ＲＣ発振ブロック１６の複数の設定状態の一部に、クロック周波数の変更間隔がやや広くなる部分が生じ、この広い変更間隔の中間あたりに規定周波数があるような場合には、クロック信号の周波数が規定周波数に一番近づいたときでも、ステップＳ５の判別処理でカウント値のズレ量がしきい値未満と判別されない場合が生じえる。また、ステップＳ４〜Ｓ８の繰り返し処理中に、温度等の環境が激しく変化することで、クロック信号の周波数が規定周波数に近づいていかない場合も生じえる。
【００５３】
この場合には、ステップＳ４〜Ｓ８のループ処理がＮ回繰り返されることで、ステップＳ６の判別処理で“ＹＥＳ”の判別が行われて、このループ処理を抜ける。この場合、トリミング値をＮ回変更した中で、規定のカウント値からのズレ量が一番小さかったトリミング値を抽出して、ＲＣ発振ブロック１６の設定をこのトリミング値の設定状態に切り替える（ステップＳ９）。温度等の環境が激しく変化しているのでなければ、このときの設定状態によりクロック周波数は規定値に最も近い設定となりクロック周波数の補正完了となる。従って、その後、ステップＳ３に戻って、再び、規定時間の待機状態とする。
【００５４】
上記のクロック周波数制御処理のうち、ステップＳ４〜Ｓ９の処理によりクロック補正制御手段が構成され、ステップＳ１の処理により周波数変更量データ作成手段が構成される。
【００５５】
以上のように、この実施形態の電子機器１によれば、クロック周波数を補正する際、補正前の周波数から規定周波数に徐々に近づいていくように、ＲＣ発振ブロック１６のトリミング値が切り替えられていく。従って、トリミング値を初段目から全段階にわたって切り替えて最適な設定を見つける方式と比較して、クロック周波数のトータルの変動量を小さくでき、また、クロック周波数の急激な変化も生じない。従って、クロック周波数の補正処理中に、シリアルコントローラ１４を介して通信処理を行っていてもクロック周波数の大きな変動に起因した通信エラーの発生を回避でき、この通信処理を停止させる必要も生じない。また、表示画面のちらつきなどクロック周波数の急激な変化に起因した不具合も回避できる。
【００５６】
また、上記実施形態の電子機器１によれば、クロック周波数を補正する際、トリミングテーブル１８ａのデータに基づき、切替前の設定状態から、周波数のズレを修正する方向に、且つ、周波数を最も小さくシフトさせる次の設定状態に逐次切り替えていくようになっている。従って、補正処理の際に、確実に、クロック周波数を規定周波数に徐々に近づけるように変化させることができる。
【００５７】
また、この実施形態の電子機器１によれば、同一時期にＲＣ発振ブロック１６を複数の設定状態に切り替えつつ、各設定状態でクロック信号の計数処理を行って、トリミングテーブル１８ａを作成するようになっている。従って、ＲＣ発振ブロック１６で切り替えられる複数の抵抗Ｒ０〜Ｒ２９の抵抗値ならびに複数の電気容量Ｃ０〜Ｃ２９の容量値に製造バラツキや設計値からの誤差が生じていても、ＲＣ発振ブロック１６の実際の周波数の変更量を反映したトリミングテーブル１８ａを作成することができる。そして、このトリミングテーブル１８ａを使用することで、上記のようなクロック周波数の補正処理を正常に実現することができる。
【００５８】
また、この実施形態の電子機器１によれば、機器の起動時にトリミングテーブル１８ａを作成するようになっているので、通信処理を中断させる必要もなく、また、表示画面のちらつきが生じることになっても、このちらつきが目立たない期間に、トリミングテーブル１８ａを作成することができる。
【００５９】
また、この実施形態の電子機器１によれば、ＲＴＣブロック１５のタイミング信号に基づいてクロック周波数のズレ量を計測するとともに、このズレ量が所定のしきい値以上となった場合に、クロック周波数の補正処理に移行するようになっている。また、クロック周波数の補正処理では、ＲＣ発振ブロック１６のトリミング値が切り替えられた後にクロック周波数のズレ量が計測されて、この計測結果に基づいてクロック周波数のズレが解消されたか確認されるようになっている。従って、不必要なときにクロック周波数の補正処理が実行されることを回避でき、また、クロック周波数を確実に規定値に近い値に修正することができる。
【００６０】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記実施形態では、周波数変更量データとしてトリミングテーブル１８ａのカウント値のデータやズレ量のデータを採用した例を示したが、このように各設定状態でのクロック信号の周波数やその変更量を直接的又は間接的に表わすデータに制限されず、例えば、周波数の変更量の大きさの順番を表わすデータとしても良い。変更量の大きさの順番が分かることで、現在の設定状態からズレを修正する方向に且つクロック周波数を一番少なくシフトする設定状態を検索することが可能となる。
【００６１】
また、上記実施形態では、トリミングテーブル１８ａを電子機器１の起動時に毎回作成するようにしているが、電子機器１のリセット時に作成・記憶させるようにしたり、或いは、工場出荷前の設定工程において作成・記憶させるようにしても良い。
【００６２】
また、上記実施形態では、トリミング値を切り替えてクロック周波数を補正する際に、クロック周波数を一番少なくシフトする設定状態に１段ずつ切り替えていくように構成しているが、ＲＣ発振ブロック１６のトリミング値の切替段数を多く設けて、２段ずつや３段ずつ切り替えてもクロック周波数の変化が急激な変化とならない場合には、２段ずつや３段ずつ切り替えるようにしても良い。このような構成では、例えば、クロック周波数が大きくずれているときには、多段ずつ切り替え、クロック周波数が規定値に近づいてきたら１段ずつ切り替えて、規定値に近づけるといった切替制御も採用できる。
【００６３】
また、上記実施形態では、規定時間の経過ごとに、クロック周波数のズレ量を計測して補正処理を行うか否か判別するようにしているが、例えば、温度センサを設けて、温度が一定量変化した場合に、クロック周波数のズレ量を計測して補正処理を行うか否か判別したり、或いは、この判別を省いて温度が一定量変化した場合にクロック周波数の補正処理を実行するようにしても良い。
【００６４】
また、上記実施形態では、クロック周波数の補正処理においてトリミング値を切り替えるごとに、クロック周波数のズレ量を計測して、ズレ量がしきい値未満になったか確認しているが、初回に計測したズレ量と、トリミングテーブル１８ａのズレ量のデータとから、未だ、クロック周波数が規定値に近づいていないと判別できる場合にはクロック周波数のズレ量の計測を省くようにしても良い。
【００６５】
また、上記実施形態では、クロック周波数のズレ量がしきい値未満となった場合に補正完了とするか、或いは、トリミング値をＮ回切り替えてズレ量がしきい値未満とならなかった場合に一番ズレ量が小さかったトリミング値の設定状態にして補正完了としているが、例えば、トリミング値を逐次切り替えていってクロック周波数のズレ量の方向が正から負へ或いは負から正へ切り換わったときに、この設定状態で補正完了とするようにしても良い。
【００６６】
また、上記実施形態では、高精度のタイミング信号として、水晶振動子による発振信号を適用した例を示したが、例えば、セラミック振動子による発振信号など、適宜な精度のタイミング信号が得られれば、どのような手段を用いても良い。また、例えばトリミングテーブル１８ａなどの周波数変更量データはコントローラ１０内に記憶させるのではなく、ＲＡＭ７や外部記憶装置８に記憶させるようにしても良い。その他、実施形態で示した細部構成および細部方法は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【００６７】
１      電子機器
４      表示装置
５      ＧＰＳモジュール
６      プログラムＲＯＭ
７      ＲＡＭ
８      外部記憶装置
９      水晶振動子
１０    コントローラ
１１    ＣＰＵ
１２    撮像コントローラ
１３    入出力コントローラ
１４    シリアルコントローラ
１５    ＲＴＣブロック
１６    ＲＣ発振ブロック
１７    周波数測定カウンタ
１８    ＥＥＰＲＯＭ
１８ａ  トリミングテーブル
１９    メモリコントローラ
２０    外部記憶コントローラ
Ｒ０〜Ｒ２９    抵抗
Ｃ０〜Ｃ２９    電気容量
１６１  第０〜第２９ＲＣ発振回路
１６２  セレクタ
【図１】
0005556579.tif 000002
【図２】
0005556579.tif 000003
【図３】
0005556579.tif 000004
【図４】
0005556579.tif 000005
【図５】
0005556579.tif 000006
【図６】
0005556579.tif 000007