(57)【特許請求の範囲】
【請求項１】
制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置であって、
複数の設定データのうちの対応する設定データを記憶する複数の記憶部と、
前記複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、前記制御装置に設定データの上書きの要否を判断させるためのチェックデータを生成する生成部と、
前記チェックデータを前記制御装置に出力するチェックデータ出力部とを備え、
前記制御装置は、前記チェックデータに基づき設定データの上書きが必要であると判断した場合に、前記複数の記憶部に記憶された設定データを上書きする、データ保持装置。
【請求項２】
制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置であって、
複数の設定データのうちの対応する設定データを記憶する複数の記憶部と、
前記複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、設定データの上書きの要否を判断するためのチェックデータを生成する生成部と、
前記チェックデータに基づき設定データの上書きの要否を判断する判断部と、
前記判断部によって設定データの上書きが必要であると判断された場合に、前記複数の記憶部に記憶された設定データの上書きを前記制御装置に要求する上書要求部とを備え、
前記制御装置は、前記上書要求部によって前記複数の記憶部に記憶された設定データの上書きが要求された場合に、前記複数の記憶部に記憶された設定データを上書きする、データ保持装置。
【請求項３】
前記データ保持装置は、前記チェックデータの正否を判断するための期待チェックデータを記憶する判断用記憶部をさらに備え、
前記判断部は、前記生成部によって生成されたチェックデータと前記判断用記憶部に記憶された前記期待チェックデータとが一致しない場合に、設定データの上書きが必要であると判断する、請求項２に記載のデータ保持装置。
【請求項４】
前記生成部は、巡回冗長検査によって前記チェックデータを生成する、請求項１〜３のいずれかに記載のデータ保持装置。
【請求項５】
前記データ保持装置は、シリアル通信によって前記制御装置と通信可能である、請求項１〜４のいずれかに記載のデータ保持装置。
【請求項６】
制御装置と、
前記制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置とを備え、
前記データ保持装置は、
複数の設定データのうちの対応する設定データを記憶する複数の記憶部と、
前記複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、前記制御装置に設定データの上書きの要否を判断させるためのチェックデータを生成する生成部と、
前記チェックデータを前記制御装置に出力するチェックデータ出力部とを含み、
前記制御装置は、前記チェックデータに基づき設定データの上書きが必要であると判断した場合に、前記複数の記憶部に記憶された設定データを上書きする、データ保持システム。
【請求項７】
前記チェックデータの正否を判断するための期待チェックデータを記憶する判断用記憶部をさらに備え、
前記制御装置は、前記チェックデータ出力部から受信したチェックデータと前記判断用記憶部に記憶された前記期待チェックデータとが一致しない場合に、設定データの上書きが必要であると判断する、請求項６に記載のデータ保持システム。
【請求項８】
制御装置と、
前記制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置とを備え、
前記データ保持装置は、
複数の設定データのうちの対応する設定データを記憶する複数の記憶部と、
前記複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、設定データの上書きの要否を判断するためのチェックデータを生成する生成部と、
前記チェックデータに基づき設定データの上書きの要否を判断する判断部と、
前記判断部によって設定データの上書きが必要であると判断した場合に、前記複数の記憶部に記憶された設定データの上書きを前記制御装置に要求する上書要求部とを含み、
前記制御装置は、前記上書要求部によって前記複数の記憶部に記憶された設定データの上書きが要求された場合に、前記複数の記憶部に記憶された設定データを上書きする、データ保持システム。
【請求項９】
前記データ保持装置は、前記チェックデータの正否を判断するための期待チェックデータを記憶する判断用記憶部をさらに含み、
前記判断部は、前記生成部によって生成されたチェックデータと前記判断用記憶部に記憶された前記期待チェックデータとが一致しない場合に、設定データの上書きが必要であると判断する、請求項８に記載のデータ保持システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ保持装置、およびデータ保持システムに関し、特に、制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置、およびそのデータ保持装置を備えたデータ保持システムに関する。
【背景技術】
【０００２】
従来から、データ保持装置に保持された設定データが正確な値となるように制御装置によって上書きされることが知られている。たとえば、特開２０１２−３２２６２号公報（特許文献１）には、記憶素子であるＲＡＭ（Random Access Memory）に保持されたパラメータがノイズの影響で誤った値に変更されてしまうことに鑑み、マイクロコンピュータが周期的にリフレッシュ処理を実行することによってパラメータを上書きすることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−３２２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、製品の高機能化により、データ保持装置が保持する設定データの数が増えつつある。しかしながら、上記特許文献１に開示されるように、マイクロコンピュータが周期的にリフレッシュ処理を実行する構成とした場合、周期的に全ての設定データを逐一上書きすることになる。このため、マイクロコンピュータと記憶素子との間の通信時間や通信回数が増大し、非効率である。
【０００５】
本発明は上記の課題を解決するためになされたものであって、その目的は、効率良く正確な設定データを保持することができるデータ保持装置およびデータ保持システムを提供することである。
【課題を解決するための手段】
【０００６】
本発明のある局面に従うデータ保持装置は、制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持する。データ保持装置は、複数の記憶部と、生成部と、チェックデータ出力部とを備える。複数の記憶部は、複数の設定データのうちの対応する設定データを記憶する。生成部は、複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、制御装置に設定データの上書きの要否を判断させるためのチェックデータを生成する。チェックデータ出力部は、チェックデータを制御装置に出力する。制御装置は、チェックデータに基づき設定データの上書きが必要であると判断した場合に、複数の記憶部に記憶された設定データを上書きする。
【０００７】
このデータ保持装置によれば、制御装置によって設定データが逐一上書きされることがなく、制御装置がチェックデータに基づき設定データの上書きが必要であると判断した場合に限り制御装置によって設定データが上書きされる。これにより、データ保持装置は、設定データの上書きの頻度を抑えることができるため、効率良く正確な設定データを保持することができる。
【０００８】
本発明の別の局面に従うデータ保持装置は、制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持する。データ保持装置は、複数の記憶部と、生成部と、判断部と、上書要求部とを備える。複数の記憶部は、複数の設定データのうちの対応する設定データを記憶する。生成部は、複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、設定データの上書きの要否を判断するためのチェックデータを生成する。判断部は、チェックデータに基づき設定データの上書きの要否を判断する。上書要求部は、判断部によって設定データの上書きが必要であると判断された場合に、複数の記憶部に記憶された設定データの上書きを制御装置に要求する。制御装置は、上書要求部によって複数の記憶部に記憶された設定データの上書きが要求された場合に、複数の記憶部に記憶された設定データを上書きする。
【０００９】
このデータ保持装置によれば、制御装置によって設定データが逐一上書きされることがなく、データ保持装置がチェックデータに基づき設定データの上書きが必要であると判断した場合に限り制御装置によって設定データが上書きされる。これにより、データ保持装置は、設定データの上書きの頻度を抑えることができるため、効率良く正確な設定データを保持することができる。
【００１０】
上記本発明の別の局面に従うデータ保持装置において、好ましくは、データ保持装置は、判断用記憶部をさらに備える。判断用記憶部は、チェックデータの正否を判断するための期待チェックデータを記憶する。判断部は、生成部によって生成されたチェックデータと判断用記憶部に記憶された期待チェックデータとが一致しない場合に、設定データの上書きが必要であると判断する。
【００１１】
このデータ保持装置によれば、データ保持装置は、判断用記憶部に記憶された期待チェックデータを用いて設定データの上書きの要否を判断することができるため、データ保持装置内において設定データの上書きの要否を判断することができる。
【００１２】
上記データ保持装置において、好ましくは、生成部は、巡回冗長検査によってチェックデータを生成する。
【００１３】
このデータ保持装置によれば、巡回冗長検査によってチェックデータが生成されるため、他の誤り検出方式を用いる場合に比べて設定データの上書きの要否の判断精度が高まる。
【００１４】
上記データ保持装置において、好ましくは、データ保持装置は、シリアル通信によって制御装置と通信可能である。
【００１５】
このデータ保持装置によれば、シリアル通信のような逐次的にデータを送受信する構成であっても、チェックデータに基づき設定データの上書きが必要であると判断された場合に限り制御装置によって設定データが上書きされるため、データ保持装置は、効率良く正確な設定データを保持することができる。
【００１６】
本発明のある局面に従うデータ保持システムは、制御装置と、制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置とを備える。データ保持装置は、複数の記憶部と、生成部と、チェックデータ出力部とを含む。複数の記憶部は、複数の設定データのうちの対応する設定データを記憶する。生成部は、複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、制御装置に設定データの上書きの要否を判断させるためのチェックデータを生成する。チェックデータ出力部は、チェックデータを制御装置に出力する。制御装置は、チェックデータに基づき設定データの上書きが必要であると判断した場合に、複数の記憶部に記憶された設定データを上書きする。
【００１７】
このデータ保持システムによれば、制御装置によって設定データが逐一上書きされることがなく、制御装置がチェックデータに基づき設定データの上書きが必要であると判断した場合に限り制御装置によって設定データが上書きされる。これにより、データ保持装置は、設定データの上書きの頻度を抑えることができるため、効率良く正確な設定データを保持することができる。
【００１８】
上記本発明のある局面に従うデータ保持システムにおいて、好ましくは、データ保持システムは、判断用記憶部をさらに備える。判断用記憶部は、チェックデータの正否を判断するための期待チェックデータを記憶する。制御装置は、チェックデータ出力部から受信したチェックデータと判断用記憶部に記憶された期待チェックデータとが一致しない場合に、設定データの上書きが必要であると判断する。
【００１９】
このデータ保持システムによれば、期待チェックデータが判断用記憶部に記憶されているため、データ保持装置に異常があっても期待チェックデータの内容に影響はない。
【００２０】
本発明の別の局面に従うデータ保持システムは、制御装置と、制御装置と通信可能に接続されるとともに当該制御装置によって上書き可能な複数の設定データを保持するデータ保持装置とを備える。データ保持装置は、複数の記憶部と、生成部と、判断部と、上書要求部とを含む。複数の記憶部は、複数の設定データのうちの対応する設定データを記憶する。生成部は、複数の記憶部のうちの２以上の記憶部に記憶された設定データに基づき、設定データの上書きの要否を判断するためのチェックデータを生成する。判断部は、チェックデータに基づき設定データの上書きの要否を判断する。上書要求部は、判断部によって設定データの上書きが必要であると判断した場合に、複数の記憶部に記憶された設定データの上書きを制御装置に要求する。制御装置は、上書要求部によって複数の記憶部に記憶された設定データの上書きが要求された場合に、複数の記憶部に記憶された設定データを上書きする。
【００２１】
このデータ保持システムによれば、制御装置によって設定データが逐一上書きされることがなく、データ保持装置がチェックデータに基づき設定データの上書きが必要であると判断した場合に限り制御装置によって設定データが上書きされる。これにより、データ保持装置は、設定データの上書きの頻度を抑えることができるため、効率良く正確な設定データを保持することができる。
【００２２】
上記本発明の別の局面に従うデータ保持システムにおいて、好ましくは、データ保持装置は、判断用記憶部をさらに含む。判断用記憶部は、チェックデータの正否を判断するための期待チェックデータを記憶する。判断部は、生成部によって生成されたチェックデータと判断用記憶部に記憶された期待チェックデータとが一致しない場合に、設定データの上書きが必要であると判断する。
【００２３】
このデータ保持システムによれば、データ保持装置は、判断用記憶部に記憶された期待チェックデータを用いて設定データの上書きの要否を判断することができるため、データ保持装置内において設定データの上書きの要否を判断することができる。
【発明の効果】
【００２４】
本発明によれば、データ保持装置は、効率良く正確な設定データを保持することができる。
【図面の簡単な説明】
【００２５】
【図１】比較例におけるデータ保持システムの構成を概略的に示すブロック図である。
【図２】比較例におけるリフレッシュ処理を示す図である。
【図３】第１実施形態におけるデータ保持システムの構成を概略的に示すブロック図である。
【図４】第１実施形態におけるリフレッシュ処理を示す図である。
【図５】ＣＰＵが実行する処理を説明するためのフローチャートである。
【図６】ＩＣチップが実行する処理を説明するためのフローチャートである。
【図７】第２実施形態におけるデータ保持システムの構成を概略的に示すブロック図である。
【図８】第２実施形態におけるリフレッシュ処理を示す図である。
【図９】ＩＣチップが実行する処理を説明するためのフローチャートである。
【図１０】ＣＰＵが実行する処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００２６】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、参照する図面において、同一または相当する部分には同一の参照番号を付してその説明は繰り返さない。
【００２７】
[比較例におけるデータ保持システムの構成]
図１は、本実施形態の比較例におけるデータ保持システム９００の構成を概略的に示すブロック図である。データ保持システム９００は、ＩＣ（Integrated Circuit）チップ９０１と、ＣＰＵ（Central Processing Unit）５０とを備える。
【００２８】
ＩＣチップ９０１は、複数の素子が一つにまとめられてパッケージ内に封入された電子部品であり、たとえば、レギュレータなどの電源ＩＣが対応する。ＩＣチップ９０１は、レジスタ１０（１）、レジスタ１０（２）、・・・およびレジスタ１０（ｎ）（ｎは任意の自然数）といった複数の記憶素子であるレジスタと、マルチプレクサ１５とを備える。以下では、レジスタ１０（１）、レジスタ１０（２）、・・・およびレジスタ１０（ｎ）をまとめてレジスタ１０とも称する。
【００２９】
複数のレジスタ１０は、ドロップアウト電圧の設定値、リセット電圧の閾値、クロックの周波数など、各種設定データをそれぞれ記憶する。図１に示す例では、レジスタ１０（１）、レジスタ１０（２）、・・・およびレジスタ１０（ｎ）は、それぞれ設定データ１、設定データ２、・・・および設定データｎを記憶する。
【００３０】
マルチプレクサ１５は、シリアルバスを介してＣＰＵ５０に直接的に接続されている。ＩＣチップ９０１は、マルチプレクサ１５を介して、シリアル通信によってＣＰＵ５０と通信可能である。具体的には、マルチプレクサ１５は、ＳＰＩ（Serial Peripheral Interface）およびＩ２Ｃ（Inter Integrated Circuit）など、１ビットずつ順番にデータを転送するシリアル通信によってＣＰＵ５０と通信可能である。
【００３１】
このように、ＩＣチップ９０１とＣＰＵ５０との間の通信は、ＩＣチップ９０１のピン数制限およびコスト削減などの観点から、通信速度が重視されないシリアル通信を採用することが一般的である。また、設定データは、たとえば画像データのように頻繁に変更されるものではなく、一旦レジスタ１０に記憶されるとその後は変更されることがほぼない。このため、ＩＣチップ９０１とＣＰＵ５０との間の通信は、シリアル通信を用いれば十分である。
【００３２】
ＲＡＭ７０は、複数のレジスタ１０のそれぞれに記憶された設定データに対応する理想のデータとして、複数の期待データを記憶する。たとえば、ＲＡＭ７０は、レジスタ１０（１）に記憶された設定データ１に対応する期待データ１、レジスタ１０（２）に記憶された設定データ２に対応する期待データ２、レジスタ１０（ｎ）に記憶された設定データｎに対応する期待データｎを記憶する。
【００３３】
上記の構成を有するデータ保持システム９００において、ＩＣチップ９０１は、ＲＡＭ７０に記憶された期待データを設定データとして、システムの電源投入後にＣＰＵ５０によって設定値を各レジスタ１０に記憶する。ＩＣチップ９０１は、各レジスタ１０に記憶された設定データを適宜読み出して、ドロップアウト電圧などの設定に用いる。
【００３４】
ここで、ＩＣチップ９０１が用いられる環境によっては、ノイズなどの影響によって各レジスタ１０に記憶された設定データが期待データと異なる値に変更されてしまう場合が生じ得る。そこで、ＣＰＵ５０は、期待データを、周期的（たとえば、１００ｍｓｅｃごと）にＩＣチップ９０１の各レジスタ１０に記憶された設定データに上書きする。なお、以下では、各レジスタ１０に記憶された設定データを上書きすることをリフレッシュ処理ともいう。
【００３５】
[リフレッシュ処理の一例]
図２は、比較例におけるリフレッシュ処理を示す図である。図２に示す処理は、ＩＣチップ９０１とＣＰＵ５０との間で周期的（たとえば、１００ｍｓｅｃごと）に実行される。
【００３６】
まず、ＣＰＵ５０は、ＩＣチップ９０１に設定データ１を要求する要求信号を送信する。これに対して、ＩＣチップ９０１は、レジスタ１０（１）から設定データ１を読み込み、ＣＰＵ５０に設定データ１を含む応答信号を送信する。ＣＰＵ５０は、ＩＣチップ９０１から設定データ１を受信すると、受信した設定データ１とＲＡＭ７０に記憶された期待データ１とを比較することで、レジスタ１０（１）に記憶された設定データ１が正確な値であるか否かを判断する。
【００３７】
設定データ２についても同様に、ＣＰＵ５０は、ＩＣチップ９０１のレジスタ１０（２）から設定データ２を取得し、取得した設定データ２とＲＡＭ７０に記憶された期待データ２とを比較することで、レジスタ１０（２）に記憶された設定データ２が正確な値であるか否かを判断する。
【００３８】
このように、ＣＰＵ５０は、各レジスタ１０に記憶された設定データとＲＡＭ７０に記憶された期待データとを順次比較することで、各レジスタ１０に記憶された全ての設定データが正確な値であるか否かを判断する。そして、図２に示すように、レジスタ１０（ｎ）に記憶された設定データｎとＲＡＭ７０に記憶された期待データｎとが不一致である場合、ＣＰＵ５０は、ＲＡＭ７０に記憶された期待データを含む上書指令信号をＩＣチップ９０１に順次送信することで、送信した期待データを各レジスタ１０に記憶された設定データに上書きするリフレッシュ処理を実行する。
【００３９】
以上のように、データ保持システム９００においては、リフレッシュ処理の要否を判断するために、ＣＰＵ５０によって、ＩＣチップ９０１の各レジスタ１０に記憶された全ての設定データが正確な値であるか否かが逐一判断され、その都度、ＩＣチップ９０１からＣＰＵ５０に設定データが送信される。前述したように、ＩＣチップ９０１とＣＰＵ５０との間の通信は、通信速度が重視されないシリアル通信を採用することが一般的であるが、周期的にリフレッシュ処理の要否を判断するために全ての設定データが逐一送信されるとなると、ＩＣチップ９０１とＣＰＵ５０との間の通信時間や通信回数が増大し、非効率である。
【００４０】
また、リフレッシュ処理の要否を判断することなく、ＣＰＵ５０が周期的にリフレッシュ処理を実行する方法も考えられる。しかし、このような方法を採用した場合であっても、周期的なリフレッシュ処理によって全ての設定データを逐一上書きすることになり、ＩＣチップ９０１とＣＰＵ５０との間の通信時間や通信回数が増大し、非効率である。
【００４１】
そこで、第１実施形態におけるデータ保持システム１００において、ＩＣチップ１は、各レジスタ１０に記憶された設定データに基づき、ＣＰＵにリフレッシュ処理の要否を判断させるためのチェックデータを生成し、ＣＰＵ５０は、チェックデータに基づきリフレッシュ処理が必要であると判断した場合に、設定データを上書きする。これにより、リフレッシュ処理の要否を判断するために全ての設定データが逐一送信されることもなく、また、必要な場合に限りリフレッシュ処理が実行されるため周期的にリフレッシュ処理が実行されることもない。よって、ＩＣチップ９０１とＣＰＵ５０との間の通信時間や通信回数を抑えることができる。以下、詳細に説明する。
【００４２】
[第１実施形態におけるデータ保持システムの構成]
図３は、第１実施形態におけるデータ保持システム１００の構成を概略的に示すブロック図である。データ保持システム１００は、ＩＣチップ１と、ＣＰＵ５０と、ＲＡＭ７０とを備える。ＣＰＵ５０およびＲＡＭ７０は、図１に示したものと同じ構成であるため、説明を繰り返さない。ＩＣチップ１は、図１に示したＩＣチップ９０１が備えていないチェックデータ生成部２０をさらに備える。
【００４３】
なお、第１実施形態において、データ保持システム１００は、「データ保持システム」の一実施形態に対応する。ＩＣチップ１は、「データ保持装置」の一実施形態に対応する。レジスタ１０は、「記憶部」の一実施形態に対応する。チェックデータ生成部２０は、「生成部」の一実施形態に対応する。マルチプレクサ１５は、「チェックデータ出力部」の一実施形態に対応する。ＣＰＵ５０は、「制御装置」の一実施形態に対応する。ＲＡＭ７０は、「判断用記憶部」の一実施形態に対応する。
【００４４】
チェックデータ生成部２０は、複数のレジスタ１０のうちの２以上のレジスタ１０に記憶された設定データに基づき、ＣＰＵ５０にリフレッシュ処理の要否を判断させるためのチェックデータを生成する。第１実施形態においては、チェックデータ生成部２０は、全てのレジスタ１０に記憶された設定データに基づきチェックデータを生成する。
【００４５】
チェックデータの生成においては、巡回冗長検査（ＣＲＣ（Cyclic Redundancy Check））、パリティ、およびチェックサムなどの誤り検出方式を用いることができるが、検出精度の観点からは、巡回冗長検査が好適である。そこで、チェックデータ生成部２０は、巡回冗長検査によってチェックデータを生成する。巡回冗長検査とは、設定データを所定の定数で割ったときの余りを用いて設定データが正確な値であるか否かを判定する誤り検出方式の一種である。チェックデータ生成部２０は、設定データを所定の定数で割ったときの余りをチェックデータとして用いる。
【００４６】
ＲＡＭ７０は、チェックデータの正否を判断するための期待チェックデータを記憶する。たとえば、チェックデータ生成部２０が、レジスタ１０（１）に記憶された設定データ１とレジスタ１０（２）に記憶された設定データ２とに基づきチェックデータを生成するものであれば、ＲＡＭ７０には、期待データ１と期待データ２とに基づき予め巡回冗長検査によって生成された期待チェックデータが記憶される。設定データ１および設定データ２に異常がなければ、設定データ１と設定データ２とに基づきチェックデータ生成部２０によって生成されたチェックデータと、ＲＡＭ７０に記憶された期待チェックデータとは一致するはずである。
【００４７】
第１実施形態においては、チェックデータ生成部２０によって全てのレジスタ１０に記憶された設定データに基づきチェックデータが生成されるため、ＲＡＭ７０には、全ての期待データに基づき予め巡回冗長検査によって生成された期待チェックデータが記憶される。
【００４８】
[第１実施形態におけるリフレッシュ処理]
図４は、第１実施形態におけるリフレッシュ処理を示す図である。図４に示す処理は、ＩＣチップ１とＣＰＵ５０との間で周期的（たとえば、１００ｍｓｅｃごと）に実行される。
【００４９】
まず、ＣＰＵ５０は、ＩＣチップ１にチェックデータを要求する要求信号を送信する。これに対して、ＩＣチップ１は、各レジスタ１０に記憶された設定データに基づき巡回冗長検査によってチェックデータを生成する。そして、ＩＣチップ１は、ＣＰＵ５０にチェックデータを含む応答信号を送信する。ＣＰＵ５０は、ＩＣチップ１からチェックデータを受信すると、受信したチェックデータとＲＡＭ７０に記憶された期待チェックデータとを比較することで、各レジスタ１０に記憶された設定データが正確な値であるか否かを判断する。
【００５０】
ＣＰＵ５０は、チェックデータと期待チェックデータとを比較した結果、両者が不一致である場合、ＲＡＭ７０に記憶された期待データを含む上書指令信号をＩＣチップ１に順次送信することで、送信した期待データを各レジスタ１０に記憶された設定データに上書きするリフレッシュ処理を実行する。
【００５１】
図５および図６を参照しながら、前述した第１実施形態におけるＩＣチップ１およびＣＰＵ５０が実行する具体的な処理について説明する。
【００５２】
図５は、ＣＰＵ５０が実行する処理を説明するためのフローチャートである。ＣＰＵ５０は、ＩＣチップ１にチェックデータを要求する（Ｓ１１０）。ＣＰＵ５０は、ＩＣチップ１からチェックデータを受信したか否かを判定する（Ｓ１１１）。ＣＰＵ５０は、ＩＣチップ１からチェックデータを受信していない場合（Ｓ１１１でＮＯ）、再びＳ１１１の処理を繰り返す。一方、ＣＰＵ５０は、ＩＣチップ１からチェックデータを受信した場合（Ｓ１１１でＹＥＳ）、受信したチェックデータとＲＡＭ７０に記憶された期待チェックデータとを比較することで、両者が一致するか否かを判定する（Ｓ１１２）。
【００５３】
ＣＰＵ５０は、チェックデータと期待チェックデータとが一致する場合（Ｓ１１２でＹＥＳ）、各レジスタ１０に記憶された設定データが正確な値であると判断して、そのまま本ルーチンを終了する。一方、ＣＰＵ５０は、チェックデータと期待チェックデータとが一致しない場合（Ｓ１１２でＮＯ）、各レジスタ１０に記憶された設定データが正確な値でないと判断して、ＲＡＭ７０に記憶された期待データを含む上書指令信号をＩＣチップ１に順次送信することで、送信した期待データを各レジスタ１０に記憶された設定データに上書きするリフレッシュ処理を実行する（Ｓ１１３）。その後、ＣＰＵ５０は、本ルーチンを終了する。
【００５４】
図６は、ＩＣチップ１が実行する処理を説明するためのフローチャートである。ＩＣチップ１は、ＣＰＵ５０からチェックデータの要求があったか否かを判定する（Ｓ１０）。ＩＣチップ１は、ＣＰＵ５０からチェックデータの要求がある場合（Ｓ１０でＹＥＳ）、各レジスタ１０に記憶された設定データに基づき巡回冗長検査によってチェックデータを生成する（Ｓ１１）。ＩＣチップ１は、ＣＰＵ５０にチェックデータを送信し（Ｓ１２）、本ルーチンを終了する。
【００５５】
一方、ＩＣチップ１は、ＣＰＵ５０からチェックデータの要求がない場合（Ｓ１０でＮＯ）、ＣＰＵ５０から設定データの上書指令があったか否かを判定する（Ｓ１３）。ＩＣチップ１は、ＣＰＵ５０から設定データの上書指令がない場合（Ｓ１３でＮＯ）、本ルーチンを終了する。一方、ＩＣチップ１は、ＣＰＵ５０から設定データの上書指令がある場合（Ｓ１３でＹＥＳ）、受信した期待データを各レジスタ１０に記憶された設定データに上書きし（Ｓ１４）、本ルーチンを終了する。
【００５６】
以上のように、第１実施形態におけるＩＣチップ１およびデータ保持システム１００によれば、ＣＰＵ５０によって設定データが逐一上書きされることがなく、ＣＰＵ５０がチェックデータに基づきリフレッシュ処理が必要であると判断した場合に限りＣＰＵ５０によってリフレッシュ処理が実行されて設定データが上書きされる。これにより、ＩＣチップ１は、リフレッシュ処理の実行頻度を抑えることができるため、比較例のようにＩＣチップ９０１とＣＰＵ５０との間の通信時間や通信回数が増大することがなく、効率良く正確な設定データを保持することができる。
【００５７】
また、第１実施形態におけるＩＣチップ１によれば、巡回冗長検査によってチェックデータが生成されるため、パリティやチェックサムなどの他の誤り検出方式を用いる場合に比べてリフレッシュ処理の要否の判断精度が高まる。
【００５８】
また、第１実施形態におけるＩＣチップ１によれば、シリアル通信のような逐次的にデータを送受信する構成であっても、チェックデータに基づきリフレッシュ処理が必要であると判断された場合に限りＣＰＵ５０によってリフレッシュ処理が実行されるため、ＩＣチップ１は、効率良く正確な設定データを保持することができる。
【００５９】
また、第１実施形態におけるデータ保持システム１００によれば、期待チェックデータがＲＡＭ７０に記憶されているため、ＩＣチップ１に異常があっても期待チェックデータの内容に影響はない。
【００６０】
[第２実施形態におけるデータ保持システムの構成]
図３〜図６に示した第１実施形態におけるデータ保持システム１００では、ＣＰＵ５０がチェックデータと期待データとを比較することでリフレッシュ処理の要否を判断していた。しかし、これに限らず、ＩＣチップ１がチェックデータと期待データとを比較することでリフレッシュ処理の要否を判断してもよい。以下、ＩＣチップ１がリフレッシュ処理の要否を判断する第２実施形態におけるデータ保持システム２００について説明する。
【００６１】
図７は、第２実施形態におけるデータ保持システム２００の構成を概略的に示すブロック図である。データ保持システム２００は、ＩＣチップ２０１と、ＣＰＵ５０と、ＲＡＭ７０とを備える。ＣＰＵ５０およびＲＡＭ７０は、図１および図３に示したものと同じ構成であるため、説明を繰り返さない。ＩＣチップ２０１は、図３に示すＩＣチップ１が備えていない判断用レジスタ３５と、判断部３０と、上書要求部４０とをさらに備える。
【００６２】
なお、第２実施形態において、データ保持システム２００は、「データ保持システム」の一実施形態に対応する。ＩＣチップ２０１は、「データ保持装置」の一実施形態に対応する。レジスタ１０は、「記憶部」の一実施形態に対応する。チェックデータ生成部２０は、「生成部」の一実施形態に対応する。判断部３０は、「判断部」の一実施形態に対応する。上書要求部４０は、「上書要求部」の一実施形態に対応する。ＣＰＵ５０は、「制御装置」の一実施形態に対応する。判断用レジスタ３５は、「判断用記憶部」の一実施形態に対応する。
【００６３】
判断用レジスタ３５は、チェックデータの正否を判断するための期待チェックデータを記憶する。たとえば、チェックデータ生成部２０が、レジスタ１０（１）に記憶された設定データ１とレジスタ１０（２）に記憶された設定データ２とに基づきチェックデータを生成するものであれば、判断用レジスタ３５には、期待データ１と期待データ２とに基づき予め巡回冗長検査によって生成された期待チェックデータが記憶される。設定データ１および設定データ２に異常がなければ、設定データ１と設定データ２とに基づきチェックデータ生成部２０によって生成されたチェックデータと、判断用レジスタ３５に記憶された期待チェックデータとは一致するはずである。
【００６４】
第２実施形態においては、チェックデータ生成部２０によって全てのレジスタ１０に記憶された設定データに基づきチェックデータが生成されるため、判断用レジスタ３５には、全ての期待データに基づき予め巡回冗長検査によって生成された期待チェックデータが記憶される。
【００６５】
判断部３０は、チェックデータ生成部２０によって生成されたチェックデータと、判断用レジスタ３５に記憶された期待チェックデータとを比較することで、各レジスタ１０に記憶された設定データが正確な値であるか否かを判断する。
【００６６】
上書要求部４０は、判断部３０によって各レジスタ１０に記憶された設定データが正確な値でないと判断された場合に、割込信号として設定データの上書きを要求する上書要求信号をＣＰＵ５０に送信する。
【００６７】
[第２実施形態におけるリフレッシュ処理]
図８は、第２実施形態におけるリフレッシュ処理を示す図である。図８に示す処理は、ＩＣチップ２０１とＣＰＵ５０との間で実行される。
【００６８】
まず、ＩＣチップ２０１は、各レジスタ１０に記憶された設定データに基づき巡回冗長検査によってチェックデータを生成する。そして、ＩＣチップ２０１は、生成したチェックデータと判断用レジスタ３５に記憶された期待チェックデータとを比較することで、各レジスタ１０に記憶された設定データが正確な値であるか否かを判断する。ＩＣチップ２０１は、チェックデータと期待チェックデータとを比較した結果、両者が不一致である場合、設定データの上書きを要求する上書要求信号をＣＰＵ５０に送信する。
【００６９】
ＣＰＵ５０は、ＩＣチップ２０１から上書要求信号を受信すると、ＲＡＭ７０に記憶された期待データを含む上書指令信号をＩＣチップ２０１に順次送信することで、送信した期待データを各レジスタ１０に記憶された設定データに上書きするリフレッシュ処理を実行する。
【００７０】
図９および図１０を参照しながら、前述した第２実施形態におけるＩＣチップ２０１およびＣＰＵ５０が実行する具体的な処理について説明する。
【００７１】
図９は、ＩＣチップ２０１が実行する処理を説明するためのフローチャートである。なお、ＩＣチップ２０１は、図９に示す処理を周期的（たとえば、１００ｍｓｅｃごと）に実行する。ＩＣチップ２０１は、各レジスタ１０に記憶された設定データに基づき巡回冗長検査によってチェックデータを生成する（Ｓ３０）。ＩＣチップ２０１は、生成したチェックデータと判断用レジスタ３５に記憶された期待チェックデータとを比較することで、両者が一致するか否かを判定する（Ｓ３１）。
【００７２】
ＩＣチップ２０１は、チェックデータと期待チェックデータとが一致する場合（Ｓ３１でＹＥＳ）、各レジスタ１０に記憶された設定データが正確な値であると判断して、そのまま本ルーチンを終了する。一方、ＩＣチップ２０１は、チェックデータと期待チェックデータとが一致しない場合（Ｓ３１でＮＯ）、正確な設定データを記憶したレジスタ１０が存在すると判断して、設定データの上書きを要求する上書要求信号をＣＰＵ５０に送信する（Ｓ３２）。
【００７３】
ＩＣチップ２０１は、ＣＰＵ５０から設定データの上書指令があったか否かを判定する（Ｓ３３）。ＩＣチップ２０１は、ＣＰＵ５０から設定データの上書指令がない場合（Ｓ３３でＮＯ）、再びＳ３３の処理を繰り返す。一方、ＩＣチップ２０１は、ＣＰＵ５０から設定データの上書指令がある場合（Ｓ３３でＹＥＳ）、受信した期待データを各レジスタ１０に記憶された設定データに上書きし（Ｓ３４）、本ルーチンを終了する。
【００７４】
図１０は、ＣＰＵ５０が実行する処理を説明するためのフローチャートである。ＣＰＵ５０は、ＩＣチップ２０１から上書要求信号を受信したか否かを判定する（Ｓ１３０）。ＣＰＵ５０は、ＩＣチップ２０１から上書要求信号を受信していない場合（Ｓ１３０でＮＯ）、本ルーチンを終了する。
【００７５】
一方、ＣＰＵ５０は、ＩＣチップ２０１から上書要求信号を受信した場合（Ｓ１３０でＹＥＳ）、ＲＡＭ７０に記憶された期待データを含む上書指令信号をＩＣチップ２０１に送信し（Ｓ１３１）、本ルーチンを終了する。
【００７６】
以上のように、第２実施形態におけるＩＣチップ２０１およびデータ保持システム２００によれば、ＣＰＵ５０によって設定データが逐一上書きされることがなく、ＩＣチップ２０１がチェックデータに基づきリフレッシュ処理が必要であると判断した場合に限りＣＰＵ５０によってリフレッシュ処理が実行されて設定データが上書きされる。これにより、ＩＣチップ２０１は、リフレッシュ処理の実行頻度を抑えることができるため、比較例のようにＩＣチップ９０１とＣＰＵ５０との間の通信時間や通信回数が増大することがなく、効率良く正確な設定データを保持することができる。
【００７７】
また、第２実施形態におけるＩＣチップ２０１およびデータ保持システム２００によれば、ＩＣチップ２０１は、判断用レジスタ３５に記憶された期待チェックデータを用いて設定データの上書きの要否を判断することができるため、ＩＣチップ２０１内において設定データの上書きの要否を判断することができる。
【００７８】
また、第２実施形態におけるＩＣチップ２０１によれば、巡回冗長検査によってチェックデータが生成されるため、パリティやチェックサムなどの他の誤り検出方式を用いる場合に比べてリフレッシュ処理の要否の判断精度が高まる。
【００７９】
また、第２実施形態におけるＩＣチップ２０１によれば、シリアル通信のような逐次的にデータを送受信する構成であっても、チェックデータに基づき設定データの上書きが必要であると判断された場合に限りＣＰＵ５０によってリフレッシュ処理が実行されるため、ＩＣチップ２０１は、効率良く正確な設定データを保持することができる。
【００８０】
[変形例]
前述した実施形態においては、データ保持装置として電源ＩＣなどのＩＣチップを例示した。しかし、たとえば、データ保持装置は、ＬＳＩ（Large Scale Integration）のような大規模集積回路であってもよいし、ＣＰＵのような処理装置として働く電子回路であってもよい。データ保持装置は、設定データのような一旦記憶されるとその後は変更されることが少ないデータを記憶する装置であればいずれのものを用いてもよい。さらに、記憶部の例としては、レジスタに限らずＲＡＭであってもよく、その他の記憶素子であってもよい。
【００８１】
前述した実施形態においては、チェックデータ生成部２０は、全てのレジスタ１０に記憶された設定データに基づきチェックデータを生成していた。しかし、たとえば、チェックデータ生成部２０は、全てのレジスタ１０のうちの一部である２以上のレジスタに記憶された設定データに基づきチェックデータを生成してもよい。この場合であっても、比較例のように各レジスタ１０に記憶された全ての設定データが正確な値であるか否かが逐一判断されるよりも効率が良い。
【００８２】
また、全てのレジスタ１０のうちの一部である２以上のレジスタに記憶された設定データに基づき生成されたチェックデータを用いて誤り検出する場合、ＣＰＵ５０による設定データの上書き対象は、チェックデータの生成の基になった設定データのみであってもよいし、その他の設定データを含む全ての設定データであってもよい。
【００８３】
第２実施形態においては、ＩＣチップ２０１は、周期的（たとえば、１００ｍｓｅｃごと）に図９に示す処理を実行していた。つまり、ＩＣチップ２０１は、周期的にチェックデータを生成して、生成したチェックデータと期待データとを比較していた。しかし、これに限らない。たとえば、ＩＣチップ２０１は、ＣＰＵ５０からの指令に基づきチェックデータを生成し、生成したチェックデータと期待データとを比較してもよい。
【００８４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８５】
１，２０１，９０１  ＩＣチップ、１０  レジスタ、１５  マルチプレクサ、２０  チェックデータ生成部、３０  判断部、３５  判断用レジスタ、４０  上書要求部、５０  ＣＰＵ、７０  ＲＡＭ、１００，２００，９００  データ保持システム。
【図１】
0006761280.tif 000002
【図２】
0006761280.tif 000003
【図３】
0006761280.tif 000004
【図４】
0006761280.tif 000005
【図５】
0006761280.tif 000006
【図６】
0006761280.tif 000007
【図７】
0006761280.tif 000008
【図８】
0006761280.tif 000009
【図９】
0006761280.tif 000010
【図１０】
0006761280.tif 000011