(57)【特許請求の範囲】
【請求項１】
マイクロコンピュータと、
前記マイクロコンピュータによりデータの出入力が行われる書換え可能なメモリと、
を備えた制御装置において、
前記マイクロコンピュータのクロック信号の動作周波数を予め設定された基本動作周波数から変更する変更手段と、
前記マイクロコンピュータと前記メモリとの間でデータの授受動作が行われる前に、前記マイクロコンピュータが、所定のデータを前記メモリに書き込んだ後、当該メモリに書き込んだ所定のデータを当該マイクロコンピュータにより読み込んで、当該読み込んだデータと、前記メモリに書き込んだ元のデータとが一致するか否かを検証する検証手段と、
を設け、
前記マイクロコンピュータは、
前記検証手段による検証の結果、双方のデータが一致した場合は、前記変更手段により、前記マイクロコンピュータのクロック信号の周期を縮小して動作周波数を高くした後、当該検証手段による検証を再度実行し、
前記検証手段による検証の結果、双方のデータが一致しなかった場合は、一致すると判定された直近の検証時における動作周波数のクロック信号に基づいて、前記マイクロコンピュータと前記メモリとの間のデータの授受動作を行い、
前記検証手段による検証を再度実行する場合に、１回目の周期縮小時における、前記基本動作周波数の周期ｔ１に対する今回の周期ｔ２（ｔ１＞ｔ２）の縮小幅ｔ１−ｔ２より、２回目の周期縮小時における、前回の周期ｔ２に対する今回の周期ｔ３（ｔ２＞ｔ３）の縮小幅ｔ２−ｔ３を小さくすることを特徴とする制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記マイクロコンピュータは、
前記検証の結果、前記双方のデータが一致した場合に、前記メモリとの間のデータの授受動作を中断し、
その後、周期を縮小したクロック信号を生成することを特徴とする制御装置。
【請求項３】
請求項１または請求項２に記載の制御装置において、
前記マイクロコンピュータは、
前記クロック信号の１周期で、前記所定のデータを前記メモリに書き込み、
その後のクロック信号の１周期で、前記メモリに書き込んだ前記所定のデータを読み込むことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器の動作を制御する制御装置に関するものである。
【背景技術】
【０００２】
機器（例えば、テレビジョン受像機）を制御する制御装置には、主に、各種制御プログラムやデータ等に従って演算処理等を行う演算処理装置と、制御プログラムや演算処理結果等のデータを記憶する記憶装置と、演算処理装置の動作周波数の基準となるクロック信号を生成する発振装置が備えられている。
【０００３】
ＣＰＵ（Central Processing  Unit）等の演算処理装置は、予め設定されている基本動作周波数に基づいて、各種処理動作を実行する。詳しくは、演算処理装置毎に設定されている基本動作周波数と同じ周波数のクロック信号が、発振装置にて生成され、当該クロック信号の周波数に基づいて、演算処理装置が動作する。
【０００４】
しかしながら、上述した基本動作周波数は、各種動作処理時において、ＣＰＵ等の演算処理装置に過度の負担がかからないようにすることを目的として設定された動作周波数である。このため、制御装置が設置された周辺の環境（温度や湿度）によっては、演算処理装置は、当該装置に予め設定されている基本動作周波数よりも高い周波数で各種処理動作を実行出来る場合がある。
【０００５】
ここで、後掲の特許文献１には、使用する温度あるいは電圧等の環境条件の変化にも対処する出来ることを目的としたメモリアクセス制御回路が記載されている。
【０００６】
後掲の特許文献２には、短時間で動作の最適化を完了することを目的としたマイクロコンピュータが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−３４２０８５号公報
【特許文献２】特開２００６−２０９４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上述した特許文献１や特許文献２に開示されている方法とは異なる方法により、周辺の環境に応じた処理速度で、各種処理を実行することが出来る制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明に係る制御装置は、マイクロコンピュータと、マイクロコンピュータによりデータの出入力が行われる書換え可能なメモリとを備えており、マイクロコンピュータのクロック信号の動作周波数を予め設定された基本動作周波数から変更する変更手段と、マイクロコンピュータとメモリとの間でデータの授受動作が行われる前に、マイクロコンピュータが、所定のデータをメモリに書き込んだ後、当該メモリに書き込んだ所定のデータを当該マイクロコンピュータにより読み込んで、当該読み込んだデータと、メモリに書き込んだ元のデータとが一致するか否かを検証する検証手段とを設けている。
そして、マイクロコンピュータは、検証手段による検証の結果、双方のデータが一致した場合は、変更手段により、マイクロコンピュータのクロック信号の周期を縮小して動作周波数を高くした後、当該検証手段による検証を再度実行し、検証手段による検証の結果、双方のデータが一致しなかった場合は、一致すると判定された直近の検証時における動作周波数のクロック信号に基づいて、マイクロコンピュータとメモリとの間のデータの授受動作を行う。また、マイクロコンピュータは、検証手段による検証を再度実行する場合に、１回目の周期縮小時における、基本動作周波数の周期ｔ１に対する今回の周期ｔ２（ｔ１＞ｔ２）の縮小幅ｔ１−ｔ２より、２回目の周期縮小時における、前回の周期ｔ２に対する今回の周期ｔ３（ｔ２＞ｔ３）の縮小幅ｔ２−ｔ３を小さくする。
【００１０】
このようにすることで、例えば、制御装置が設置された周辺の環境（温度や湿度）下で、マイクロコンピュータが、予め設定されている動作周波数よりも高い周波数で各種処理動作が実行出来る能力を有している場合、当該周辺環境に合わせて、マイクロコンピュータの動作周波数を最適化することが出来る。つまり、制御装置は、周辺の環境に応じた処理速度で、各種処理を実行することが出来る。
【００１１】
これにより、マイクロコンピュータで実行される各種処理の速度を速めることが出来るため、例えば、設定値の変更が行われた場合、当該設定値に基づく装置の更新処理を短縮することが出来る。また、制御装置において、電源チャタリング等が生じた場合においても、短時間の間で各種データの保存を行うことが出来るため、データの消失の可能性を縮小することが出来る。さらに、制御装置において、ソフトウェアのアップデートを行う場合においても、更新データのダウンロードやインストール処理にかかる時間を短縮することが出来る。
【発明の効果】
【００１２】
本発明によれば、マイクロコンピュータが、予め設定されている動作周波数よりも高い周波数で各種処理動作が実行出来る能力を有している場合、マイクロコンピュータの動作周波数を最適化して、周辺の環境に応じた処理速度で、各種処理を実行することが出来る。
【図面の簡単な説明】
【００１３】
【図１】制御装置の概略構成図である。
【図２】各種信号やデータの出入力を示した図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態につき、図面を参照しながら説明する。尚、後述する図１〜図２において、同一部分または対応する部分に同一符号を付してある。
【００１５】
図１は、本発明の実施形態である制御装置１００の概略構成図である。
【００１６】
図１中において、１１は、図示しない機器の各部を制御するためのマイクロコンピュータ（以下、「マイコン」と記載）である。２１は、電気的な操作によりデータの書換えが可能な不揮発性のメモリであるフラッシュＲＯＭ（Read Only Memory）ある。
【００１７】
マイコン１１において、１２は、各種制御プログラムやデータ等に従って、演算処理等を行う演算処理部である。演算処理部１２は、例えば、ＣＰＵ（Central Processing Unit）から構成される。
【００１８】
１３は、マイコン１１とフラッシュＲＯＭ２１との間でデータの授受を行う際に、通信の同期を取るためのクロック信号を生成するクロック生成部である。クロック生成部１３は、例えば、水晶振動子を有するクロックジェネレータから構成される。
【００１９】
１４は、演算処理部１２で実行される各種制御プログラムやデータ等が記憶された記憶部である。記憶部１４は、例えば、ＲＯＭ（Read Only Memory）から構成される。
【００２０】
１５は、演算処理部１２の演算結果等から成るデータを一時的に記憶する一時記憶部である。一時記憶部１５は、例えば、ＲＡＭ（Random Access Memory）から構成される。
【００２１】
１６は、クロック生成部１３で生成されたクロック信号を出力するクロック出力部である。クロック出力部１６と、後述するクロック入力部２３は、信号線Ｐにより接続されている。信号線Ｐは、例えば、ＳＣＬ（Serial Clock）線から成る。
【００２２】
１７は、データの出入力を行うデータ出入力部である。データ出入力部１７と、後述するデータ出入力部２４は、信号線Ｑにより接続されている。信号線Ｑは、例えば、ＳＤＡ（Serial Data）線から成る。
【００２３】
Ｒは、信号線Ｐと信号線Ｑにより構成される通信バスである。通信バスＲは、例えば、ＩＩＣ（Inter Integrated Circuit）バスから構成される。
【００２４】
１８は、フラッシュＲＯＭ２１の動作を有効にするためのＣＥ（Chip Enable）信号を出力する信号出力部である。信号出力部１８と、後述する信号入力部２５は、信号線Ｖで接続されている。
【００２５】
フラッシュＲＯＭ２１において、２２は、マイコン１１から出力されるデータ等を記憶する記憶部である。２３は、マイコン１１のクロック出力部１６から出力されるクロック信号を入力するクロック入力部である。２４は、マイコン１１との間でデータの出入力を行うデータ出入力部である。２５は、マイコン１１の信号出力部１８から出力されるＣＥ信号を入力する信号入力部である。
【００２６】
以上の構成において、演算処理部１２とクロック生成部１３は、本発明における変更手段の一実施形態である。また、演算処理部１２は、本発明における検証手段の一実施形態である。
【００２７】
次に、本発明の実施形態である制御装置１００に備えられたマイコン１１とフラッシュＲＯＭ２１との間の通信によるデータの授受動作について説明する。
【００２８】
マイコン１１では、記憶部１４に記憶された各種制御プログラムやデータ等に従って、演算処理部１２が演算処理等を行う。演算処理部１２の演算結果から成るデータは、一旦、マイコン１１内の一時記憶部１５に記憶される。
【００２９】
マイコン１１からフラッシュＲＯＭ２１へデータを出力する場合は、先ず、マイコン１１において、演算処理部１２により、クロック生成部１３で生成されるクロック信号の最適化の処理（以下、「最適化処理」と記載）が実行され、その後、マイコン１１の一時記憶部１５に記憶されたデータが、フラッシュＲＯＭ２１の記憶部２２に記憶される。
【００３０】
ここで、最適化処理は、マイコン１１に予め設定されている基本動作周波数に基づいて実行される。本実施形態においては、図２の（ｂ）に示すように、周期がｔ１〔秒〕であるクロック信号がクロック生成部１３で生成される。このため、マイコン１１の基本動作周波数は、１／ｔ１〔Ｈｚ〕である。
【００３１】
最適化処理が開始されると、出力レベルがＬ（Low）であるＣＥ信号が、信号線Ｖを通じて、マイコン１１の信号出力部１８からフラッシュＲＯＭ２１の信号入力部２５へ出力される。
【００３２】
ここで、ＣＥ信号がＬの区間では、フラッシュＲＯＭ２１の動作は有効となるため、マイコン１１とフラッシュＲＯＭ２１との間でデータの授受動作を実行することが出来る。
【００３３】
また、ＣＥ信号がＨ（High）の区間では、フラッシュＲＯＭ２１の動作は無効となるため、マイコン１１とフラッシュＲＯＭ２１との間でデータの授受動作を実行することが出来ない。
【００３４】
ＣＥ信号がＨからＬに切り替わると、クロック生成部１３で生成されたクロック信号は、信号線Ｐを通じて、クロック出力部１６からクロック入力部２３へ出力される。そして、演算処理部１２は、図２の（ｂ）に示すクロック信号中のｘ１のタイミングで、信号線Ｑを通じて、記憶部１４に予め記憶されている検証用データを、フラッシュＲＯＭ２１の記憶部２２内の所定の記憶領域に書き込む。検証用データは、本発明における所定のデータの一例である。
【００３５】
この書き込みに先立って、演算処理部１２は、検証用データの書き込み先を決定する。検証用データの書き込み先は、記憶部２２内に予め設けてある複数の記憶領域に対応するアドレスから、所定のアドレスを選択することで決定される。
【００３６】
検証用データの書き込みが完了すると、演算処理部１２は、図２の（ｂ）に示すクロック信号中のｘ３のタイミングで、記憶部２２に記憶された検証用データの読み込み動作を開始する。すなわち、演算処理部１２は、信号線Ｑを通じて、記憶部２２内の前記アドレスで指定された記憶領域に記憶されている検証用データを読み出して、一時記憶部１５に記憶する。
【００３７】
検証用データの読み込み処理が終了すると、演算処理部１２は、一時記憶部１５に記憶されている検証用データ（記憶部２２から読み込んだデータ）と、記憶部１４に記憶されている検証用データ（記憶部２２に書き込んだ元のデータ）とが一致するか否かの検証作業（ベリファイ）を実行する。
【００３８】
そして、ベリファイの結果、双方のデータが一致する場合（エラー無し）、演算処理部１２は、ＣＥ信号をＬからＨに切り替えて、信号入力部２５へ出力する。これにより、マイコン１１とフラッシュＲＯＭ２１との間で行われるデータの授受動作が中断する。
【００３９】
ＣＥ信号をＬからＨに切り替えた後、演算処理部１２は、クロック生成部１３を制御して、ｔ１〔秒〕からｔ２〔秒〕（ｔ１＞ｔ２）に周期を縮小したクロック信号を生成する。
【００４０】
これにより、マイコン１１の動作周波数が、基本動作周波数である１／ｔ１〔Ｈｚ〕から１／ｔ２〔Ｈｚ〕へアップされるため、マイコン１１における処理動作が速くなり、処理時間が短縮される。
【００４１】
一方、ベリファイの結果、双方のデータが一致しない場合（エラー有り）、演算処理部１２は、ＣＥ信号をＬからＨに切り替えて、信号入力部２５へ出力する。これにより、マイコン１１とフラッシュＲＯＭ２１との間で行われるデータの授受動作が中断する。
【００４２】
ＣＥ信号をＬからＨに切り替えた後、演算処理部１２は、クロック生成部１３を制御して、クロック信号の周期をｔ２〔秒〕からｔ１〔秒〕へ戻す。これにより、クロック生成部１３では、基本動作周波数（１／ｔ１〔Ｈｚ〕）に対応したクロック信号が、引き続き生成される。
【００４３】
ベリファイの結果が正常（エラー無し）で、マイコン１１の動作周波数が、１／ｔ１〔Ｈｚ〕から１／ｔ２〔Ｈｚ〕へアップされると、マイコン１１では、記憶部１４に記憶された最適化処理に係る制御プログラムやデータ等に従って、演算処理部１２が最適化処理を再び行う。
【００４４】
最適化処理が開始されると、出力レベルがＬであるＣＥ信号が、信号線Ｖを通じて、マイコン１１の信号出力部１８からフラッシュＲＯＭ２１の信号入力部２５へ出力される。
【００４５】
ＣＥ信号がＨからＬに切り替わると、クロック生成部１３で生成されたクロック信号は、信号線Ｐを通じて、クロック出力部１６からクロック入力部２３へ出力される。そして、演算処理部１２は、図２の（ｄ）に示すクロック信号中のｘ５のタイミングで、信号線Ｑを通じて、記憶部１４に予め記憶されている検証用データを、フラッシュＲＯＭ２１の記憶部２２内の所定の記憶領域に書き込む。
【００４６】
この書き込みに先立って、演算処理部１２は、検証用データの書き込み先を決定する。検証用データの書き込み先は、前回と同様である。
【００４７】
検証用データの書き込みが完了すると、演算処理部１２は、図２の（ｄ）に示すクロック信号中のｘ７のタイミングで、記憶部２２に記憶された検証用データの読み込み動作を開始する。すなわち、演算処理部１２は、信号線Ｑを通じて、記憶部２２内の前記アドレスで指定された記憶領域に記憶されている検証用データを読み出して、一時記憶部１５に記憶する。
【００４８】
検証用データの読み込み処理が終了すると、演算処理部１２は、前述したベリファイを再び実行する。
【００４９】
そして、クロック信号の周期をｔ２〔秒〕にアップした後のベリファイの結果、記憶部２２から読み込んだデータと、記憶部２２に書き込んだ元のデータとが一致する場合（エラー無し）、演算処理部１２は、ＣＥ信号をＬからＨに切り替えて、信号入力部２５へ出力する。これにより、マイコン１１とフラッシュＲＯＭ２１との間で行われるデータの授受動作が中断する。
【００５０】
ＣＥ信号をＬからＨに切り替えた後、演算処理部１２は、クロック生成部１３を制御して、ｔ２〔秒〕よりも更に周期を縮小したクロック信号を生成する。
【００５１】
これにより、マイコン１１の動作周波数が、１／ｔ２〔Ｈｚ〕よりも高い周波数へアップされるため、マイコン１１における処理動作が更に速くなり、処理時間がより短縮される。
【００５２】
一方、クロック信号の周期をｔ２〔秒〕にアップした後のベリファイの結果、記憶部２２から読み込んだデータと、記憶部２２に書き込んだ元のデータとが一致しない場合（エラー有り）、演算処理部１２は、ＣＥ信号をＬからＨに切り替えて、信号入力部２５へ出力する。これにより、マイコン１１とフラッシュＲＯＭ２１との間で行われるデータの授受動作が中断する。
【００５３】
ＣＥ信号をＬからＨに切り替えた後、演算処理部１２は、クロック生成部１３を制御して、元の周期（ｔ１〔秒〕）に戻したクロック信号を生成する。
【００５４】
これにより、マイコン１１の動作周波数が、元の周波数へダウンされるため、マイコン１１における処理動作の速度が、最適化処理の実行前と同じ速度になる。
【００５５】
ベリファイの結果が正常で、マイコン１１の動作周波数が、１／ｔ２〔Ｈｚ〕よりも高い周波数へアップされると、マイコン１１では、記憶部１４に記憶された最適化処理に係る制御プログラムやデータ等に従って、演算処理部１２が最適化処理を再び行う。
【００５６】
この最適化処理において、演算処理部１２は、クロック生成部１３を制御して、ｔ２〔秒〕よりも更に周期を縮小したクロック信号、例えば、周期がｔ３〔秒〕（ｔ２＞ｔ３）であるクロック信号を生成し、当該クロック信号の周波数１／ｔ３〔Ｈｚ〕に基づいて最適化処理を実行する。
【００５７】
そして、クロック信号の周期をｔ３〔秒〕にアップした後のベリファイの結果、記憶部２２から読み込んだデータと、記憶部２２に書き込んだ元のデータとが一致する場合（エラー無し）、演算処理部１２は、クロック生成部１３を制御して、ｔ３〔秒〕よりも更に周期を縮小したクロック信号、例えば、周期がｔ４〔秒〕（ｔ３＞ｔ４）であるクロック信号を生成し、当該クロック信号の周波数１／ｔ４〔Ｈｚ〕に基づいて最適化処理を再び実行する。
【００５８】
一方、クロック信号の周期をｔ３〔秒〕にアップした後のベリファイの結果、記憶部２２から読み込んだデータと、記憶部２２に書き込んだ元のデータとが一致しない場合（エラー有り）、演算処理部１２は、クロック生成部１３を制御して、双方のデータが一致すると判定された直近の検証時における周期（ｔ２〔秒〕）に戻したクロック信号を生成する。
【００５９】
以上説明した最適化処理を、ベリファイの結果にエラーが出るまで繰り返し実行し、エラーが出た場合は、動作周波数をエラーが出る直前の動作周波数（以下、「最適周波数」と記載）に戻して、クロック信号を生成する。これで、クロック信号の最適化処理は終了する。
【００６０】
その後、最適周波数のクロック信号に基づいて、演算処理部１２は、演算処理の結果である一時記憶部１５に記憶されたデータを、信号線Ｑを通じて、フラッシュＲＯＭ２１の記憶部２２に記憶する。
【００６１】
このように、上述した実施形態においては、マイコン１１とフラッシュＲＯＭ２１との間でデータの授受を行う前に、クロック信号の最適化処理を行い、演算処理部１２により、クロック生成部１３で生成されるクロック信号の周期を縮小（周波数を高く）しながら、ベリファイを繰り返し実行する。そして、ベリファイの結果にエラーが出た場合は、動作周波数をエラーが出る直前の動作周波数（最適周波数）に戻してクロック信号を生成し、当該クロック信号に基づいて、演算処理部１２が、マイコン１１とフラッシュＲＯＭ２１との間におけるデータの授受動作を実行したり、その他各種の処理動作を実行したりする。
【００６２】
よって、例えば、制御装置１００が設置された周辺の環境（温度や湿度）下で、演算処理部１２が、予め設定されている基本動作周波数よりも高い周波数で各種処理動作が実行出来る能力を有している場合、当該周辺環境に合わせて、演算処理部１２の動作周波数を最適化することが出来る。
【００６３】
これにより、演算処理部１２で実行される各種処理の速度を速めることが出来るため、制御装置１００において、例えば、設定値の変更が行われた場合、当該設定値に基づく装置の更新処理を短縮することが出来る。また、制御装置１００において、電源チャタリング等が生じた場合においても、短時間の間で各種データの保存を行うことが出来るため、データの消失の可能性を縮小することが出来る。さらに、ソフトウェアのアップデートを行う場合においても、更新データのダウンロードやインストール処理にかかる時間を短縮することが出来る。
【００６４】
尚、前述の最適化処理は、ユーザーが所定の操作を行うことにより実行されるようにしてもよいし、マイコン１１が定期的に自動実行するようにしてもよい。
【００６５】
本発明では、以上述べた以外にも種々の実施形態を採用することができる。例えば、上記実施形態では、マイクロコンピュータによりデータの出入力が行われる書換え可能なメモリとしてフラッシュＲＯＭを例に挙げたが、これに限られず、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）等のメモリでもよい。
【００６６】
また、上記実施形態において、演算処理部１２は、クロック生成部１３を制御して、前回の周期よりも縮小した周期のクロック信号、例えば、ｔ１〔秒〕からｔ２〔秒〕（ｔ１＞ｔ２）に周期を縮小したクロック信号を生成したが、この場合の周期の縮小幅は任意である。例えば、１回目の縮小時においては、周期ｔ１に対する今回の周期ｔ２の縮小幅ｔ１−ｔ２を大きくし、２回目以降の縮小時においては、前回の周期ｔ２に対する今回の周期ｔ３の縮小幅ｔ２−ｔ３を小さくしてもよい。
【符号の説明】
【００６７】
１１    マイクロコンピュータ
１２    演算処理部
１３    クロック生成部
１４    記憶部
１５    一時記憶部
１６    クロック出力部
１７    データ出入力部
１８    信号出力部
２１    フラッシュＲＯＭ
２２    記憶部
２３    クロック入力部
２４    データ出入力部
２５    信号入力部
１００    制御装置
Ｐ，Ｑ，Ｖ    信号線
Ｒ      通信バス
【図１】
0005564854.tif 000002
【図２】
0005564854.tif 000003