(57)【要約】【課題】キャリブレーションを要求される装置において、装置としてのパフォーマンスを極力低下させることなくキャリブレーションを実施できる技術を提供する。【解決手段】ナビゲーションシステムにおいては、メモリ制御処理にて、ＯＤＴまたはＲｏｎを変化させるパラメータを監視し（Ｓ２１０，Ｓ２２０）、この監視結果に基づいて、信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定する（Ｓ２３０）。そして、信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化し得ると判定した場合に（Ｓ２３０：ＹＥＳ）、ＲＡＭにＯＤＴまたはＲｏｎを調整させるコマンドであるキャリブレーションコマンドを送信する（Ｓ２４０）。よって、従来の定期的にキャリブレーションコマンドを送信する構成と比較して、キャリブレーションコマンドの送信頻度を必要最低限に少なくすることができる。【選択図】図２
2010117987.tif 000002
【特許請求の範囲】
【請求項１】
メモリに対して所定のコマンドを送信することによって前記メモリを作動制御するメモリ制御装置であって、
前記メモリに対してデータの読み書きを行う管理装置と前記メモリとを接続する信号線において前記メモリの少なくとも一部分を前記信号線の終端抵抗として利用する場合におけるインピーダンス（以下、「ＯＤＴ」という。）、または前記メモリの出力バッファにおけるインピーダンス（以下、「Ｒｏｎ」という。）を変化させるパラメータを監視する監視手段と、
前記監視手段によるパラメータの監視結果に基づいて、前記信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定する判定手段と、
前記判定手段によって信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化し得ると判定された場合に、前記メモリにＯＤＴまたはＲｏｎを調整させるコマンドであるキャリブレーションコマンドを送信するコマンド送信手段と、
を備えたことを特徴とするメモリ制御装置。
【請求項２】
請求項１に記載のメモリ制御装置において、
前記監視手段を繰り返し作動させる作動制御手段と、
前記監視手段によるパラメータの各監視結果を記憶手段に格納する格納手段と、
を備え、
前記判定手段は、前記監視手段による最新の監視結果および前記記憶手段に格納された過去の監視結果から前記パラメータの変化量を算出し、該変化量に基づいて前記信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定すること
を特徴とするメモリ制御装置。
【請求項３】
請求項２に記載のメモリ制御装置において、
前記作動制御手段は、所定の監視周期で前記監視手段に前記パラメータを繰り返し監視させ、予め設定されたタイミングで前記監視周期を変更すること
を特徴とするメモリ制御装置。
【請求項４】
請求項３に記載のメモリ制御装置において、
前記作動制御手段は、予め設定された設定時間経過後に、前記監視周期をより長い周期に変更すること
を特徴とするメモリ制御装置。
【請求項５】
請求項３に記載のメモリ制御装置において、
前記作動制御手段は、前記パラメータの変化量が一定値未満になれば、前記監視周期をより長い周期に変更すること
を特徴とするメモリ制御装置。
【請求項６】
請求項２〜請求項５の何れかに記載のメモリ制御装置において、
前記格納手段は、前記コマンド送信手段によってキャリブレーションコマンドが送信されたときの前記監視手段による監視結果を前記記憶手段に格納し、
前記判定手段は、前記監視手段による最新の監視結果および前記記憶手段に格納されたキャリブレーションコマンドが送信されたときの監視結果から前記パラメータの変化量を算出し、該変化量に基づいて前記信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定すること
を特徴とするメモリ制御装置。
【請求項７】
コンピュータが請求項１〜請求項６の何れかに記載のメモリ制御装置を構成する各手段としての機能を実現するためのメモリ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに対して所定のコマンドを送信することによってメモリを制御するメモリ制御装置、およびメモリ制御プログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータにおいて、バスによって接続された複数の半導体装置間（例えばＣＰＵ−ＳＤＲＡＭ（メモリ）間）のデータ転送の際に利用されるメモリにおける出力バッファの出力インピーダンスや、メモリの回路の一部を終端抵抗として機能させる際のインピーダンスを調整する機能を実施するものが知られている（例えば、特許文献１参照）。これらのインピーダンスを調整する処理はキャリブレーションと呼ばれ、このキャリブレーションは、より高速にデータ転送するために、データ転送時の波形の品質を確保する目的で実施される。
【０００３】
このようなパーソナルコンピュータにおいては、近年開発されているＤＤＲ３ＳＤＲＡＭのように定期的にキャリブレーションを実施するよう構成されており、各キャリブレーションの際には、バスへのアクセスは中断される。
【特許文献１】特開２００８−２２８３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のパーソナルコンピュータのメモリのように定期的なキャリブレーションを要求される装置では、バスへのアクセスを中断する時間が増加するので、装置としてのパフォーマンスが低下する虞がある。
【０００５】
そこで、このような問題点を鑑み、キャリブレーションを要求される装置において、装置としてのパフォーマンスを極力低下させることなくキャリブレーションを実施できる技術を提供することを本発明の目的とする。
【課題を解決するための手段】
【０００６】
かかる目的を達成するために成された請求項１に記載のメモリ制御装置において、判定手段は、ＯＤＴ（On Die Termination）またはＲｏｎ（出力インピーダンス）を変化させるパラメータを監視する監視手段による監視結果に基づいて、信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定する。そして、コマンド送信手段は、判定手段によって信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化し得ると判定された場合に、前記メモリにＯＤＴまたはＲｏｎを調整させるコマンドであるキャリブレーションコマンドを送信する。
【０００７】
即ち、メモリにおけるＯＤＴまたはＲｏｎは、気温等のパラメータの変化に伴って変化し、この変化量が大きくなると、管理装置とメモリとの間の通信線において伝送される信号の波形が、管理装置によってデータの読み書きを実施できなくなる程度に変化してしまう。そこで、本発明では、ＯＤＴまたはＲｏｎを変化させるパラメータを監視し、このパラメータが信号の波形を読み取れなくなる程度に変化すると判定された場合に、メモリにＯＤＴまたはＲｏｎを調整させるためにキャリブレーションコマンドを送信するようにしている。
【０００８】
従って、このようなメモリ制御装置によれば、管理装置によって正常にデータの読み書きを実施できなくなる前に、ＯＤＴまたはＲｏｎを調整させるキャリブレーションコマンドを送信するので、管理装置が正常にデータの読み書きを実施できなくなることを防止することができる。また、このようなメモリ制御装置によれば、従来の定期的にキャリブレーションコマンドを送信する構成と比較して、キャリブレーションコマンドの送信頻度を必要最低限に少なくすることができる。
【０００９】
よって、キャリブレーションコマンドの送信によってメモリへのアクセスが中断する中断時間を少なくし、メモリに対してアクセスを行う管理装置のパフォーマンスを向上させることができる。
【００１０】
なお、本発明中の管理装置と本発明のメモリ制御装置とは同一装置として構成されていてもよい。
【００１１】
ところで請求項１に記載のメモリ制御装置においては、請求項２に記載のように、監視手段を繰り返し作動させる作動制御手段と、監視手段によるパラメータの各監視結果を記憶手段に格納する格納手段と、を備え、判定手段は、監視手段による最新の監視結果および記憶手段に格納された過去の監視結果からパラメータの変化量を算出し、該変化量に基づいて信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定するようにしてもよい。
【００１２】
このようなメモリ制御装置によれば、パラメータの変化量に応じてキャリブレーションをすべきか否かを判定することができる。
【００１３】
また、請求項２に記載のメモリ制御装置においては、請求項３に記載のように、作動制御手段は、所定の監視周期で監視手段にパラメータを繰り返し監視させ、予め設定されたタイミングで監視周期を変更するようにしてもよい。
【００１４】
このようなメモリ制御装置によれば、監視手段の監視周期を変更できるので、監視周期を長くしているときにメモリ制御装置の処理負荷を軽減することができる。
【００１５】
請求項３に記載のメモリ制御装置において、作動制御手段の具体例としては、請求項４に記載のように、予め設定された設定時間経過後に、監視周期をより長い周期に変更するようにしてもよいし、請求項５に記載のように、パラメータの変化量が一定値未満になれば、監視周期をより長い周期に変更するようにしてもよい。
【００１６】
請求項４に記載のメモリ制御装置によれば、例えば、システムの起動後、内部の温度が一定になるなどしてシステムが安定する程度の時間を設定時間としておけば、システムの安定後にはキャリブレーションの頻度を下げることができる。
【００１７】
また、請求項５に記載のメモリ制御装置によれば、システムが安定したか否かをパラメータの変化量に基づいて判定することができる。よって、より確実にシステムの安定後にキャリブレーションの頻度を下げることができる。
【００１８】
また、請求項２〜請求項５の何れかに記載のメモリ制御装置においては、請求項６に記載のように、格納手段は、コマンド送信手段によってキャリブレーションコマンドが送信されたときの監視手段による監視結果を記憶手段に格納し、判定手段は、監視手段による最新の監視結果および記憶手段に格納されたキャリブレーションコマンドが送信されたときの監視結果からパラメータの変化量を算出し、該変化量に基づいて信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定するようにしてもよい。
【００１９】
このようなメモリ制御装置によれば、前回キャリブレーションコマンドを送信してからのパラメータの累積変化量が一定値以上になるまではキャリブレーションコマンドを送信しないようにすることができるので、キャリブレーションコマンドの送信頻度を下げることができる。
【００２０】
さらに、請求項７に記載の発明は、コンピュータが請求項１〜請求項６の何れかに記載の各手段としての機能を実現するためのメモリ制御プログラムであることを特徴としている。
【００２１】
このようなメモリ制御プログラムによれば、少なくとも請求項１に係る発明と同様の効果を享受することができる。
【発明を実施するための最良の形態】
【００２２】
以下に本発明にかかる実施の形態を図面と共に説明する。
【００２３】
［第１実施形態］
［第１実施形態における構成］
図１は本発明が適用されたナビゲーションシステム１の概略構成を示すブロック図である。ナビゲーションシステム１は、乗用車等の車両に搭載されたシステムであり、図１に示すように、ＣＰＵ１０（メモリ制御装置、管理装置）、ＲＡＭ３０（記憶手段）、電源部１１、温度センサ１３、ＲＯＭ１５、ハードディスクドライブ（ＨＤＤ）１７、ディスプレイ１９、ＧＰＳ受信機２１、ジャイロセンサ２３、加速度センサ２５、等を備えて構成されている。
【００２４】
温度センサ１３は、ＲＡＭ３０の温度を検出できるように、ＲＡＭ３０の近傍に配置されている。温度センサ１３による検出結果はＣＰＵ１０によって取得することができるよう構成されている。
【００２５】
電源部１１は主にＲＡＭ３０に対して電力を供給する。この電源部１１の電圧値は、ＣＰＵ１０によって検出できるように構成されている。
【００２６】
ＣＰＵ１０は、周知のナビゲーション装置としての処理を実施する。即ち、周知のＧＰＳ受信機２１、ジャイロセンサ２３、加速度センサ２５等のセンサ類による検出結果を取得して、これらの検出結果に基づいて当該ナビゲーションシステム１が搭載された車両の現在地を特定する処理を実施する。また、ＣＰＵ１０は、車両の現在地に対応する地図情報をＨＤＤ１７から読み出し、地図情報に車両の現在地を重ねた表示画像をディスプレイ１９に表示させる処理を実施する。
【００２７】
また、ＣＰＵ１０は、ナビゲーション装置としての処理に加えて、ＲＡＭ３０に対して所定のコマンドを送信することによってＲＡＭ３０の作動制御をするメモリ制御システム５０としての処理を実施する（処理の詳細は後述する）。なお、ナビゲーションシステム１のうちの、ＣＰＵ１０、ＲＡＭ３０、電源部１１、温度センサ１３、ＲＯＭ１５は、メモリ制御システム５０を構成している。
【００２８】
また、ＣＰＵ１０は、ＲＯＭ１５やＨＤＤ１７に格納されたプログラム（本発明のメモリ制御プログラムを含む）に基づいて上記の各種処理を実施し、この際、ＲＡＭ３０を作業領域として利用する。
【００２９】
ＲＡＭ３０には、データを格納する記憶部３１と、記憶部３１に格納されるデータが一時的に格納される入力バッファ３３と、記憶部３１から読み出されたデータが一時的に格納される出力バッファ３５と、これらの入力バッファ３３および出力バッファ３５をキャリブレーションするキャリブレーション回路３７とを備えている。なお、ＲＡＭ３０の構成としては、周知の構成であるため、データの読み書きに関する作動については説明を省略する。
【００３０】
また、キャリブレーションについても、近年開発されているＤＤＲ３ＳＤＲＡＭの仕様書に記載されているように周知の処理であるため説明を省略する。なお、キャリブレーションの詳細については、例えば、特開２００８−２２８３３２号公報等に記載されている。上記公報に記載された技術等を参照すれば、キャリブレーションは、ＲＡＭ３０内の回路の一部をＣＰＵ１０とＲＡＭ３０との間の信号線における終端抵抗として利用する場合におけるインピーダンス（以下、「ＯＤＴ」という。）、およびＲＡＭ３０の出力バッファ３５におけるインピーダンス（以下、「Ｒｏｎ」という。）を所定の値に調整する処理であることが分かる。
【００３１】
ここで、ＲＡＭ３０のキャリブレーション回路３７は、ＣＰＵ１０からＺＱキャリブレーションコマンドを受けると、直ちにキャリブレーション（ＯＤＴおよびＲｏｎを調整する処理）を実施する。つまり、ＣＰＵ１０は、ＺＱキャリブレーションコマンドを送信するのみであり、このコマンドを受けたＲＡＭ３０が自身でキャリブレーションを実施するよう構成されている。なお、キャリブレーションの際には、ＣＰＵ１０とＲＡＭ３０とのデータのやり取りは中断される。
【００３２】
［第１実施形態における処理］
このように構成されたナビゲーションシステム１においては、電源が投入されると、まず、システム全体を初期化する処理（初期化処理）を実施し、その後、ＣＰＵ１０がＺＱキャリブレーションコマンドを適切なタイミングで送信する処理（メモリ制御処理）を実施する。ここで、図２（ａ）はＣＰＵ１０が実行する初期化処理を示すフローチャート、図２（ｂ）はＣＰＵ１０が実行するメモリ制御処理を示すフローチャート、図３（ａ）はメモリ制御処理のうちの温度差検出処理を示すフローチャート、図３（ｂ）はメモリ制御処理のうちの電圧差検出処理を示すフローチャートである。
【００３３】
なお、後述するＳ３１０，Ｓ４１０の処理は本発明でいう監視手段に相当し、Ｓ２３０，Ｓ３３０，Ｓ３５０，Ｓ３６０，Ｓ４３０，Ｓ４５０，Ｓ４６０の処理は判定手段に相当する。また、Ｓ２４０の処理はコマンド送信手段に相当し、開始指示処理全般は作動制御手段に相当する。さらに、Ｓ２５０，Ｓ３２０，Ｓ４２０の処理は格納手段に相当する。
【００３４】
初期化処理は、ナビゲーションシステム１の電源が投入される度に実施される処理であって、まず、イニシャライズを実施する（Ｓ１１０）。この処理は、システム全体をスタンバイする処理である。
【００３５】
続いて、温度センサ１３による検出結果（初期温度）を取得するとともに、電源部１１の電圧値（初期電圧）を検出し、この初期温度および初期電圧をＲＡＭ３０に格納する（Ｓ１２０）。そして、後述する各種フラグ（温度フラグ、電圧フラグ、変更フラグ、周期変更フラグ（温度）および周期変更フラグ（電圧））をリセット（つまりＯＦＦ状態に）し（Ｓ１３０）、初期化処理を終了する。
【００３６】
次に、メモリ制御処理は、後述する開始指示処理において処理開始指示が出力されると開始される処理であって、図２（ｂ）に示すように、まず、温度差検出処理を実施する（Ｓ２１０）。温度差検出処理は、図３（ａ）に示すように、温度センサ１３による検出結果を取得し（Ｓ３１０）、既にＲＡＭ３０に格納された温度センサ１３による検出結果（電源投入時または前回のキャリブレーション時の検出結果）を読み出し、これらの温度差を検出する（Ｓ３３０）。
【００３７】
そして、この温度差とキャリブレーションをすべきと判定する基準となる調整基準温度差とを比較する（Ｓ３５０）。なお、調整基準温度差は、温度が変化したときに信号線を伝送される信号の波形にどの程度影響を与えるかに応じて実験的に求められるべき値であり、例えば、２０℃〜２５℃に設定されることが考えられる。
【００３８】
温度差が調整基準温度差以上であれば（Ｓ３５０：ＹＥＳ）、温度差に基づいてキャリブレーションすべきか否かを表す温度フラグをＯＮ状態に設定し（Ｓ３６０）、温度差検出処理を終了する。一方、温度差が調整基準温度差未満であれば（Ｓ３５０：ＮＯ）、直ちに温度差検出処理を終了する。
【００３９】
続いて、図２（ｂ）に戻り、電圧差検出処理を実施する（Ｓ２２０）。電圧差検出処理は、図３（ｂ）に示すように、電源部１１の電圧値を検出し（Ｓ４１０）、既にＲＡＭ３０に格納された電圧値の検出結果（電源投入時または前回のキャリブレーション時の検出結果）を読み出し、これらの電圧差を検出する（Ｓ４３０）。
【００４０】
そして、この電圧差とキャリブレーションをすべきと判定する基準となる調整基準電圧差とを比較する（Ｓ４５０）。なお、調整基準電圧差は、電圧が変化したときに信号線を伝送される信号の波形にどの程度影響を与えるかに応じて実験的に求められるべき値であり、例えば、０．５Ｖ〜０．７５Ｖに設定されることが考えられる。
【００４１】
電圧差が調整基準電圧差以上であれば（Ｓ４５０：ＹＥＳ）、電圧差に基づいてキャリブレーションすべきか否かを表す電圧フラグをＯＮ状態に設定し（Ｓ４６０）、電圧差検出処理を終了する。一方、電圧差が調整基準電圧差未満であれば（Ｓ４５０：ＮＯ）、直ちに電圧差検出処理を終了する。
【００４２】
このような温度差検出処理および電圧差検出処理が終了すると、図２（ｂ）に戻り、温度差および電圧差が基準値以上であるか否かを判定する（Ｓ２３０）。即ち、ＲＡＭ３０における温度フラグおよび電圧フラグを参照し、これらのフラグの両方がＯＮ状態にされているか否かを判定することによって、信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化し得るか否かを判定している。
【００４３】
温度差または電圧差が基準値未満であれば（Ｓ２３０：ＮＯ）、ＺＱキャリブレーションコマンドを発行（ＲＡＭ３０に送信）することなく、直ちにメモリ制御処理を終了する。一方、温度差および電圧差が基準値以上であれば（Ｓ２３０：ＹＥＳ）、ＺＱキャリブレーションコマンドを発行し（Ｓ２４０）、現在（ＺＱキャリブレーションコマンド発行時）の温度センサ１３による検出結果と電源部１１の電圧値とをＲＡＭ３０に格納する（Ｓ２５０）。そして、温度フラグおよび電圧フラグをリセットし（Ｓ２６０）、メモリ制御処理を終了する。
【００４４】
次に、メモリ制御処理を開始させる処理開始指示を出力する処理について図４（ａ）を用いて説明する。図４（ａ）は、ＣＰＵ１０が実行する開始指示処理を示すフローチャートである。
【００４５】
開始指示処理は、初期化処理終了後、所定の周期（例えば３０秒毎）に起動される処理であって、まず、電源投入後または最後に処理開始指示（Ｓ５４０）を送信してからの経過時間を監視し（Ｓ５２０）、この経過時間と予め設定された周期時間（例えば１分間）とを比較する（Ｓ５３０）。
【００４６】
経過時間が周期時間以上であれば（Ｓ５３０：ＹＥＳ）、処理開始指示を出力し（Ｓ５４０）、開始指示処理を終了する。なお、処理開始指示は、当該ＣＰＵ１０に対する割込処理の開始指示として出力され、この処理が出力されるとＣＰＵ１０は前述のメモリ制御処理を開始することになる。
【００４７】
［第１実施形態における効果］
以上のように詳述したナビゲーションシステム１において、ＣＰＵ１０は、メモリ制御処理にて、ＯＤＴまたはＲｏｎを変化させるパラメータを監視し、この監視結果に基づいて、信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定する。そして、ＣＰＵ１０は、信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化し得ると判定した場合に、ＲＡＭ３０にＯＤＴまたはＲｏｎを調整させるコマンドであるキャリブレーションコマンドを送信する。
【００４８】
即ち、ＲＡＭ３０におけるＯＤＴまたはＲｏｎは、気温等のパラメータの変化に伴って変化し、この変化量が大きくなると、ＣＰＵ１０とＲＡＭ３０との間の通信線において伝送される信号の波形が、ＲＡＭ３０におけるＣＰＵ１０によって正常にデータの読み書きを実施できなくなる程度に変化してしまう。そこで、本実施形態では、ＯＤＴまたはＲｏｎを変化させるパラメータを監視し、このパラメータが信号の波形を正常に読み取れなくなる程度に変化すると判定された場合に、ＲＡＭ３０にＯＤＴまたはＲｏｎを調整させるためにキャリブレーションコマンドを送信するようにしている。
【００４９】
従って、このようなナビゲーションシステム１によれば、ＣＰＵ１０によって正常にデータの読み書きを実施できなくなる前に、ＲＡＭ３０に対してＯＤＴまたはＲｏｎを調整させるキャリブレーションコマンドを送信するので、ＣＰＵ１０がＲＡＭ３０に対して正常にデータの読み書きを実施できなくなることを防止することができる。また、このようなナビゲーションシステム１によれば、従来の定期的にキャリブレーションコマンドを送信する構成と比較して、キャリブレーションコマンドの送信頻度を必要最低限に少なくすることができる。
【００５０】
よって、キャリブレーションコマンドの送信によってＲＡＭ３０へのアクセスが中断する中断時間を少なくし、ＲＡＭ３０に対してアクセスを行うＣＰＵ１０のパフォーマンスを向上させることができる。
【００５１】
また、ナビゲーションシステム１において、ＣＰＵ１０は、開始指示処理においてメモリ制御処理を繰り返し作動させる。そして、ＣＰＵ１０は、メモリ制御処理にて、パラメータの各監視結果をＲＡＭ３０に格納し、最新の監視結果およびＲＡＭ３０に格納された過去の監視結果からパラメータの変化量を算出し、該変化量に基づいて信号線を伝送される信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化するか否かを判定する。
【００５２】
このようなナビゲーションシステム１によれば、パラメータの変化量に応じてキャリブレーションをすべきか否かを判定することができる。
【００５３】
また、ナビゲーションシステム１において、ＣＰＵ１０は、メモリ制御処理にて、リブレーションコマンドが送信されたときの監視結果をＲＡＭ３０に格納する。そして、ＣＰＵ１０は、最新の監視結果およびＲＡＭ３０に格納された監視結果からパラメータの変化量を算出し、パラメータの変化量が一定値以上になれば、信号の波形を正常に読み取れなくなる程度にＯＤＴまたはＲｏｎが変化すると判定する。
【００５４】
このようなナビゲーションシステム１によれば、前回キャリブレーションコマンドを送信してからのパラメータの累積変化量が一定値以上になるまではキャリブレーションコマンドを送信しないようにすることができるので、キャリブレーションコマンドの送信頻度を下げることができる。
【００５５】
なお、ナビゲーションシステム１は、一般のパーソナルコンピュータや家電製品等と比較して、寒冷地における冬場や真夏のエンジン始動直後等、温度差が大きな環境で使用されることが想定されるため、このナビゲーションシステム１に本発明を適用すれば、より本発明の効果を有効に享受することができる。
【００５６】
［第２実施形態］
次に、別形態のナビゲーションシステム２について説明する。本実施形態（第２実施形態）では、第１実施形態のナビゲーションシステム１と異なる箇所のみを詳述し、第１実施形態のナビゲーションシステム１と同様の箇所については、同一の符号を付して説明を省略する。
【００５７】
本実施形態のナビゲーションシステム２では、開始指示処理（図４（ａ）参照）の開始直後に、Ｓ５３０の処理において経過時間との比較対象となる周期時間を変更する周期変更処理を実施する。特に、本実施形態の周期変更処理では、電源投入後、一定時間が経過すれば、周期時間を変更するようにしている。具体的には、図４（ｂ）を用いて説明する。図４（ｂ）は開始指示処理のうちの周期変更処理を示すフローチャートである。
【００５８】
周期変更処理では、まず、ナビゲーションシステム２の電源投入後、内部の温度や電源部１１の電圧（等のＯＤＴまたはＲｏｎを変化させ得るパラメータ）が安定するまでの時間である一定時間（例えば２０分間程度）が経過したか否かを判定する（Ｓ６１０）。一定時間が経過していれば（Ｓ６１０：ＹＥＳ）、既に周期時間が変更された旨を示す変更フラグがＯＮ状態にされているか否かを判定する（Ｓ６２０）。
【００５９】
変更フラグがＯＮ状態にされていれば（Ｓ６２０：ＹＥＳ）、既に周期時間が変更されており、周期時間を変更する必要がないため、直ちに周期変更処理を終了する。また、変更フラグがＯＦＦ状態にされていれば（Ｓ６２０：ＮＯ）、周期時間をより長い時間（例えば１０分間程度）に変更する（Ｓ６３０）。そして、変更フラグをＯＮ状態に設定し（Ｓ６４０）、周期変更処理を終了する。
【００６０】
一方、Ｓ６１０の処理にて、電源投入後、一定時間が経過していなければ（Ｓ６１０：ＮＯ）、変更フラグをＯＦＦ状態に設定し（Ｓ６５０）、周期変更処理を終了する。
【００６１】
このようなナビゲーションシステム２によれば、ＣＰＵ１０は、メモリ制御処理を実施させる監視周期（周期時間）を変更できるので、監視周期を長くしているときにナビゲーションシステム２の処理負荷を軽減することができる。具体的には、システムの起動後、内部の温度が一定になるなどしてシステムが安定する程度の時間を設定時間としているので、システムの安定後にはキャリブレーションの頻度を下げることができる。
【００６２】
［その他の実施形態］
本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００６３】
例えば、上記第２実施形態における周期変更処理では、電源投入後、一定時間が経過すれば、システムが安定したものとして周期時間を変更するようにしたが、図５に示すように、過去の温度・電圧値と現在の温度・電圧値との温度差・電圧差（パラメータの変化量）が一定値未満になったときに、システムが安定したものとして周期時間を変更するようにしてもよい。図５は、変形例の周期変更処理を示すフローチャートである。
【００６４】
変形例の周期変更処理を実行するにあたっては、温度差検出処理（図３（ａ）参照）において予め温度センサ１３から取得した検出結果をＲＡＭ３０に格納しておく（Ｓ３２０）。そして、今回の温度センサ１３による検出結果と電源投入時または前回のキャリブレーション時の検出結果との温度差を検出する際に（Ｓ３３０）、今回の温度センサ１３による検出結果と１つ前の温度差検出処理における検出結果との温度差（直近温度差）も検出し、この直近温度差をＲＡＭ３０に格納しておく（Ｓ３４０）。
【００６５】
また、電圧差検出処理（図３（ｂ）参照）においても同様に、予め電源部１１の電圧値をＲＡＭ３０に格納しておく（Ｓ４２０）。そして、今回検出した電源部１１の電圧値と電源投入時または前回のキャリブレーション時の電源部１１の電圧値との電圧差を検出する際に（Ｓ４３０）、今回の電源部１１の電圧値と１つ前の電圧差検出処理における電源部１１の電圧値との電圧差（直近電圧差）も検出し、この直近電圧差をＲＡＭ３０に格納しておく（Ｓ４４０）。
【００６６】
変形例の周期変更処理では、図５に示すように、まず、ＲＡＭ３０に格納された直近温度差を取得し（Ｓ７１０）、この直近温度差と周期時間を変更するか否かの基準となる周期変更基準温度差とを比較する（Ｓ７２０）。直近温度差が周期変更基準温度差未満であれば（Ｓ７２０：ＹＥＳ）、単位時間当たりの温度変化（温度差）が小さくなっておりシステムが安定したものとして、温度に関する周期変更フラグをＯＮ状態に設定し（Ｓ７３０）、Ｓ７４０の処理に移行する。
【００６７】
また、直近温度差が周期変更基準温度差以上であれば（Ｓ７２０：ＮＯ）、温度差が依然として大きく、システムは安定していないものとして、直ちにＳ７４０の処理に移行する。
【００６８】
Ｓ７４０の処理では、ＲＡＭ３０に格納された直近電圧差を取得し（Ｓ７４０）、この直近電圧差と周期時間を変更するか否かの基準となる周期変更基準電圧差とを比較する（Ｓ７５０）。直近電圧差が周期変更基準電圧差未満であれば（Ｓ７５０：ＹＥＳ）、単位時間当たりの電圧値変化（電圧差）が小さくなっておりシステムが安定したものとして、電圧に関する周期変更フラグをＯＮ状態に設定し（Ｓ７６０）、Ｓ７７０の処理に移行する。
【００６９】
また、直近電圧差が周期変更基準電圧差以上であれば（Ｓ７５０：ＮＯ）、電圧差が依然として大きく、システムは安定していないものとして、直ちにＳ７７０の処理に移行する。
【００７０】
Ｓ７７０の処理では、直近温度差および直近電圧差が基準値未満であるか否かを判定する（Ｓ７７０）。即ち、ＲＡＭ３０における温度に関する周期変更フラグおよび電圧に関する周期変更フラグを参照し、これらのフラグの両方がＯＮ状態にされているか否かを判定する。
【００７１】
直近温度差および直近電圧差が基準値未満であれば（Ｓ７７０：ＹＥＳ）、第２実施形態における周期変更処理のＳ６２０以下の処理を実施する。また、直近温度差および直近電圧差が基準値以上であれば（Ｓ７７０：ＮＯ）、第２実施形態における周期変更処理のＳ６５０以下の処理を実施する。
【００７２】
このようなナビゲーションシステム１によれば、システムが安定したか否かをパラメータの変化量に基づいて判定することができる。よって、より確実にシステムの安定後にキャリブレーションの頻度を下げることができる。
【００７３】
また、上記実施形態において、Ｓ２３０の処理では、温度差および電圧差が基準値以上であるか否かを判定したが、温度や電圧値等のパラメータの絶対値が基準値以上であるか否かを判定するようにしてもよい。
【００７４】
また、上記実施形態においては、温度差検出処理および電圧差検出処理を実施し、これらの両方の処理にて温度フラグおよび電圧フラグがＯＮ状態にされた場合に、キャリブレーションを実施させるようにしたが、何れかのフラグがＯＮ状態にされた場合にキャリブレーションを実施させるようにしてもよい。また、変形例の周期変更処理においては、どちらかの周期変更フラグのみがＯＮ状態にされた場合に周期時間を変更するようにしてもよい。また、温度差検出処理および電圧差検出処理のうちの何れか一方のみを実施するようにしてもよい。
【００７５】
また、上記実施形態においてＳ３５０およびＳ４５０の処理で基準値との比較に利用する値としては、今回検出された温度・電圧値と、１つ前のメモリ制御処理にて検出された温度・電圧値との温度差・電圧差を利用してもよい。この場合には、温度差・電圧差をＲＡＭ３０に格納する処理として、上述のＳ３２０，Ｓ３４０，Ｓ４２０，Ｓ４４０の処理を実施すればよい。
【００７６】
さらに、上記実施形態においては、ナビゲーションシステムに本発明を適用したが、パーソナルコンピュータや一般家電、携帯電話、デジタルカメラ、人工衛星等、多岐の分野において本発明を適用することができる。
【図面の簡単な説明】
【００７７】
【図１】本発明が適用されたナビゲーションシステム１の概略構成を示すブロック図である。
【図２】初期化処理を示すフローチャート（ａ）、およびメモリ制御処理を示すフローチャートである。
【図３】メモリ制御処理のうちの温度差検出処理を示すフローチャート（ａ）、およびメモリ制御処理のうちの電圧差検出処理を示すフローチャート（ｂ）である。
【図４】開始指示処理を示すフローチャート（ａ）、および開始指示処理のうちの周期変更処理を示すフローチャート（ｂ）である。
【図５】変形例の周期変更処理を示すフローチャートである。
【符号の説明】
【００７８】
１，２…ナビゲーションシステム、１０…ＣＰＵ、１１…電源部、１３…温度センサ、１５…ＲＯＭ、１７…ＨＤＤ、１９…ディスプレイ、２１…ＧＰＳ受信機、２３…ジャイロセンサ、２５…加速度センサ、３０…ＲＡＭ、３１…記憶部、３３…入力バッファ、３５…出力バッファ、３７…キャリブレーション回路、５０…メモリ制御システム。
【図１】
2010117987.tif 000003
【図２】
2010117987.tif 000004
【図３】
2010117987.tif 000005
【図４】
2010117987.tif 000006
【図５】
2010117987.tif 000007