(57)【要約】【課題】暗電流を増加させることなくレジスタのリフレッシュを行うことが可能なマイクロコンピュータを提供する。【解決手段】ＣＰＵの動作モードを、ＣＰＵが動作している通常動作モードと、ＣＰＵが停止しているスリープモードとの間で切り替える動作モード切換手段と、通常動作モードにて動作し、ＣＰＵを動作させるためのメインクロックを生成するメインクロック生成手段と、メインクロック生成手段とは別に設けられ、サブクロックを生成するサブクロック生成手段と、ＣＰＵの設定状態や動作状態を含むＣＰＵ状態情報を記憶する第一記憶手段と、リフレッシュ用のＣＰＵ状態情報を記憶するする第二記憶手段と、スリープモードにおいて、サブクロックに基づいて予め定められたタイミングでリフレッシュ信号を生成するリフレッシュ信号生成手段と、リフレッシュ信号に基づいて、第二記憶手段に記憶されたＣＰＵ状態情報を読み出して、第一記憶手段に書き込むデータリフレッシュ手段と、を備えることを特徴とする。【選択図】図１
2010061393.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するＣＰＵと、
前記ＣＰＵの動作モードを、該ＣＰＵが動作している通常モードと、該ＣＰＵが停止しているスリープモードとの間で切り替える動作モード切換手段と、
前記通常モードにて動作し、前記ＣＰＵを動作させるためのメインクロックを生成するメインクロック生成手段と、
前記メインクロック生成手段とは別に設けられ、サブクロックを生成するサブクロック生成手段と、
前記ＣＰＵの設定状態や動作状態を含むＣＰＵ状態情報を記憶する第一記憶手段と、
リフレッシュ用の前記ＣＰＵ状態情報を記憶する第二記憶手段と、
前記スリープモードにおいて、前記サブクロックに基づいて予め定められたタイミングでリフレッシュ信号を生成するリフレッシュ信号生成手段と、
前記リフレッシュ信号に基づいて、前記第二記憶手段に記憶された前記ＣＰＵ状態情報を読み出して、前記第一記憶手段に書き込むデータリフレッシュ手段と、
を備えることを特徴とするマイクロコンピュータ。
【請求項２】
前記第一記憶手段は、揮発性メモリを含んで構成され、
前記第二記憶手段は、不揮発性メモリを含んで構成される請求項１に記載のマイクロコンピュータ。
【請求項３】
前記リフレッシュ信号生成手段は、前記メインクロックを検出するメインクロック検出手段を含み、
前記メインクロックを検出したときには前記リフレッシュ信号を生成せず、前記メインクロックを検出しないときに前記リフレッシュ信号を生成する請求項１または請求項２に記載のマイクロコンピュータ。
【請求項４】
前記第二記憶手段には、予めバックアップ用のＣＰＵ状態情報が記憶されており、
前記データリフレッシュ手段は、前記第二記憶手段から、前記バックアップ用のＣＰＵ状態情報を読み出して、前記第一記憶手段に書き込む請求項１ないし請求項３のいずれか１項に記載のマイクロコンピュータ。
【請求項５】
前記第二記憶手段は、前記ＣＰＵの動作モードが、前記通常モードから前記スリープモードに切り替えられる直前の、前記第一記憶手段に記憶されている前記ＣＰＵ状態情報を記憶し、
前記データリフレッシュ手段は、前記第二記憶手段から、前記通常モードから前記スリープモードに切り替えられる直前の前記ＣＰＵ状態情報を読み出して、前記第一記憶手段に書き込む請求項１ないし請求項４のいずれか１項に記載のマイクロコンピュータ。
【請求項６】
前記第一記憶手段に記憶されたＣＰＵ状態情報の内容と、前記第二記憶手段に記憶されたＣＰＵ状態情報の内容とを比較するＣＰＵ状態情報比較手段を備え、
前記データリフレッシュ手段は、前記ＣＰＵ状態情報の内容の比較結果に基づいて、前記第二記憶手段からＣＰＵ状態情報を読み出して、前記第一記憶手段に書き込む請求項１ないし請求項５のいずれか１項に記載のマイクロコンピュータ。
【請求項７】
前記データリフレッシュ手段は、前記第一記憶手段に記憶されたＣＰＵ状態情報の内容と、前記第二記憶手段に記憶されたＣＰＵ状態情報の内容とが異なっているときに、前記異なっているとされたＣＰＵ状態情報の内容のみを、前記第二記憶手段から読み出して前記第一記憶手段に書き込む請求項６に記載のマイクロコンピュータ。
【請求項８】
前記データリフレッシュ手段は、前記第一記憶手段に記憶されたＣＰＵ状態情報の内容と、前記第二記憶手段に記憶されたＣＰＵ状態情報の内容とが、少なくとも1つ以上異なっているときに、前記第一記憶手段に記憶されている全てのＣＰＵ状態情報の内容を、前記スリープモードから前記通常モードに切り替えられた際に、予め定められた内容に書き換える旨のデータ再設定情報を書き込む請求項６に記載のマイクロコンピュータ。
【請求項９】
前記サブクロック生成手段は、ＣＲ発振回路を含む請求項１ないし請求項８のいずれか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関し、特にＣＰＵが停止しているときのレジスタ，メモリのリフレッシュ動作に関するものである。
【背景技術】
【０００２】
車両において、各部の電子制御化に伴い、電子制御装置（以下、ＥＣＵ：Electronic  Control  Unitと略称する）が数多く搭載されるようになっているが、消費電力も増加し、バッテリの負担も増大している。そこで、通常動作モードと、該通常動作モードよりも消費電力量が少ないスリープモードとの間で切り替えが可能なマイクロコンピュータを用いることで、ＥＣＵが非動作時のときには、マイクロコンピュータをスリープモードとして、消費電力量を抑制している。
【０００３】
従来、スリープモード時に、ＣＰＵの動作に関する設定を保持するレジスタの記憶内容がノイズ等の影響で変わること（レジスタのデータ化け）によるシステム誤作動を防止するために、定期的にレジスタリフレッシュを行っている。図８に、従来技術によるレジスタリフレッシュの実施例のタイミングチャートを示す。レジスタリフレッシュタイミングＴｍが到来したときに、ＣＰＵの状態はスリープモード（ＣＰＵ停止状態）から通常モード（ＣＰＵ動作状態）に切り替わり、レジスタリフレッシュＲｍを行う。そして、レジスタリフレッシュＲｍを行った後に、ＣＰＵの状態は通常モードからスリープモードに切り替わる。
【０００４】
また、光ディスク再生装置においても、スリープモードで処理を一時停止するときに、ＤＲＡＭの内容を保持しつつ消費電力を低減するリフレッシュ回路が考案されている（特許文献１参照）。
【０００５】
【特許文献１】特開２０００−２６０１７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図８の例では、ＣＰＵ動作時にメインクロックを用いたレジスタリフレッシュＲｍを実施することで、レジスタのデータ化けを回避している。暗電流（ＥＣＵ非動作時の消費電流）低減を図るためには、レジスタリフレッシュタイミングすなわち低消費電力動作時間Ｔｍを長くすることは有効である。しかし、ＣＰＵ動作時のレジスタリフレッシュの間隔（すなわちＴｍ）が長くなるため、レジスタのデータ化けによるシステムへの悪影響を及ぼす確率が高くなる。そのため、積極的な低消費電力動作を行うことができず、暗電流増加の一因となっている。
【０００７】
上記問題を背景として、本発明の課題は、暗電流を増加させることなくレジスタのリフレッシュを行うことが可能なマイクロコンピュータを提供することにある。
【課題を解決するための手段および発明の効果】
【０００８】
上記課題を解決するためのマイクロコンピュータは、プログラムを実行するＣＰＵと、ＣＰＵの動作モードを、該ＣＰＵが動作している通常モードと、該ＣＰＵが停止しているスリープモードとの間で切り替える動作モード切換手段と、通常モードにて動作し、ＣＰＵを動作させるためのメインクロックを生成するメインクロック生成手段と、メインクロック生成手段とは別に設けられ、サブクロックを生成するサブクロック生成手段と、ＣＰＵの設定状態や動作状態を含むＣＰＵ状態情報を記憶する第一記憶手段と、リフレッシュ用のＣＰＵ状態情報を記憶する第二記憶手段と、スリープモードにおいて、サブクロックに基づいて予め定められたタイミングでリフレッシュ信号を生成するリフレッシュ信号生成手段と、リフレッシュ信号に基づいて、第二記憶手段に記憶されたＣＰＵ状態情報を読み出して、第一記憶手段に書き込むデータリフレッシュ手段と、を備えることを特徴とする。
【０００９】
上記構成においては、低消費電力動作時（スリープモード時）にはメインクロックは停止するが、サブクロックは動作し続けている。これを利用することで、低消費電力動作時のレジスタ（第一記憶手段）のリフレッシュを実現することができる。これにより、低消費電力動作時のレジスタのデータ化けの心配がなくなり、積極的な低消費電力動作を行うことで、暗電流低減が見込める。また、上記構成においては、リフレッシュは、ＣＰＵ動作時には実行されない。そのため、ＣＰＵ動作時はソフトウェアによるレジスタ書き換えに影響を与えることがないため、ＥＣＵの動作に影響を及ぼすことはない。
【００１０】
また、本発明のマイクロコンピュータにおける第一記憶手段は、揮発性メモリを含んで構成され、第二記憶手段は、不揮発性メモリを含んで構成されるように構成される。
【００１１】
揮発性メモリを用いてデータの保持を行う場合、常にデータ保持用の電圧を印加しているが、データ化けを確実に防止することはできない。また、不揮発性メモリは、データ化けの可能性が低く、リフレッシュ用のデータを保持するのに好適である。上記構成によって、レジスタ等に揮発性メモリを用いた場合でも、レジスタのデータ化けの可能性がより小さくなる。また、ＲＡＭを第一記憶手段として用いる場合にも、データ化けの心配がより小さくなる。
【００１２】
また、本発明のマイクロコンピュータにおけるリフレッシュ信号生成手段は、メインクロックを検出するメインクロック検出手段を含み、メインクロックを検出したときにはリフレッシュ信号を生成せず、メインクロックを検出しないときにリフレッシュ信号を生成するように構成される。
【００１３】
上記構成によって、リフレッシュは、ＣＰＵ動作時には実行されない。一方、スリープモード時には確実に実行される。そのため、ＣＰＵ動作時はソフトウェアによるレジスタ書き換えに影響を与えることがないため、ＥＣＵの動作に影響を及ぼすことはない。
【００１４】
また、本発明のマイクロコンピュータにおける第二記憶手段には、予めバックアップ用のＣＰＵ状態情報が記憶されており、データリフレッシュ手段は、第二記憶手段から、バックアップ用のＣＰＵ状態情報を読み出して、第一記憶手段に書き込むように構成される。
【００１５】
上記構成によって、レジスタ等においてデータ化けが発生したときにおいても、データの内容を復旧することができる。
【００１６】
また、本発明のマイクロコンピュータにおける第二記憶手段は、ＣＰＵの動作モードが、通常モードからスリープモードに切り替えられる直前の、第一記憶手段に記憶されているＣＰＵ状態情報を記憶し、データリフレッシュ手段は、第二記憶手段から、通常モードからスリープモードに切り替えられる直前のＣＰＵ状態情報を読み出して、第一記憶手段に書き込むように構成される。
【００１７】
上記構成によって、レジスタ等においてデータ化けが発生したときにおいても、データの内容を復旧することができ、さらに、スリープモードから通常モードに切り替ったときには、ＣＰＵは、通常モードからスリープモードに切り替えられる直前の状態から動作するため、ＥＣＵの動作を円滑なものとすることができる。
【００１８】
また、本発明のマイクロコンピュータは、第一記憶手段に記憶されたＣＰＵ状態情報の内容と、第二記憶手段に記憶されたＣＰＵ状態情報の内容とを比較するＣＰＵ状態情報比較手段を備え、データリフレッシュ手段は、ＣＰＵ状態情報の内容の比較結果に基づいて、第二記憶手段からＣＰＵ状態情報を読み出して、第一記憶手段に書き込むように構成される。
【００１９】
上記構成によって、リフレッシュの対象を選択・限定することができるため、リフレッシュ時間を短縮することができる。また、リフレッシュが不要な領域に書き込みを行わないため、書き込みの際にデータが化けるということも発生しない。
【００２０】
また、本発明のマイクロコンピュータにおけるデータリフレッシュ手段は、第一記憶手段に記憶されたＣＰＵ状態情報の内容と、第二記憶手段に記憶されたＣＰＵ状態情報の内容とが異なっているときに、異なっているとされたＣＰＵ状態情報の内容のみを、第二記憶手段から読み出して前記第一記憶手段に書き込むように構成される。
【００２１】
上記構成によって、ＣＰＵ状態情報の内容とが異なっているもののみを書き換えるため、リフレッシュに要する時間を短縮することができる。また、リフレッシュが不要な領域に書き込みを行わないため、書き込みの際にデータが化けるということも発生しない。
【００２２】
また、本発明のマイクロコンピュータにおけるデータリフレッシュ手段は、第一記憶手段に記憶されたＣＰＵ状態情報の内容と、第二記憶手段に記憶されたＣＰＵ状態情報の内容とが、少なくとも1つ以上異なっているときに、第一記憶手段の内容を、スリープモードから通常モードに切り替えられた際に、予め定められた内容に書き換える旨のデータ再設定情報を書き込むように構成される。
【００２３】
上記構成によって、スリープモード時にデータ化けが発生したときには、データのリフレッシュは行われないが、スリープモードから通常モードに切り替えられた際に、実質的にデータのリフレッシュが行われ、暗電流も増加せず、ＥＣＵの動作に影響を及ぼすことはない。
【００２４】
また、本発明のマイクロコンピュータにおけるサブクロック生成手段は、ＣＲ発振回路を含むように構成される。
【００２５】
ＣＲ発振回路は、Ｃ（コンデンサ），Ｒ（抵抗），トランジスタあるいはオペアンプ等で構成され、水晶発振子が不要である。上記構成によって、比較的安価でサブクロック生成手段を構成することが可能となる。また、ＣＲ発振回路は集積化が可能なため、マイクロコンピュータに内蔵することも可能である。さらに、水晶発振子を用いた発振回路に比べて、消費電流が少ないので、スリープモードでの動作に適している。
【発明を実施するための最良の形態】
【００２６】
以下、本発明のマイクロコンピュータを、図面を参照しながら説明する。本発明のマイクロコンピュータは、例えば、車両に搭載されたＥＣＵに用いられる。車両では暗電流が多いと、バッテリの消耗を早めるため、本発明のマイクロコンピュータを用いることで、暗電流を低減でき、バッテリの消耗を抑えることができる。
【００２７】
図１に、マイクロコンピュータ（以下、マイコンと略称する）１およびその周辺構成を示す。マイコン１は、基本的な構成要素として、プログラムを実行するＣＰＵ１１，マイコン１の機能や動作モードを選択して設定するためのＤＲＡＭあるいはＳＲＡＭで構成されるレジスタ１２，プログラムやデータが予め格納されるＲＯＭ１３，ＣＰＵ１１による演算結果を一時記憶するためのＲＡＭ１４，ＥＥＰＲＯＭ（Electrical  Erasable  &  Programmable  Read  Only  Memory：電気的消去・プログラム可能・読出し専用メモリ）あるいはフラッシュメモリ等の不揮発性記憶媒体で構成されるメモリ１５等が、データバス２４を介して接続されている。
【００２８】
なお、ＣＰＵ１１が本発明の動作モード切換手段に相当し、レジスタ１２が本発明の第一記憶手段に相当し、ＲＯＭ１３が本発明の第二記憶手段に相当し、ＲＡＭ１４が本発明の第一記憶手段に相当し、メモリ１５が本発明の第二記憶手段に相当する。また、レジスタ１２に記憶された情報の少なくとも一部が本発明のＣＰＵ状態情報に相当し、さらに、ＲＡＭ１４に記憶された情報の少なくとも一部も本発明のＣＰＵ状態情報に相当する。
【００２９】
そして、マイコン１は、その外部に設けられる発振素子２３とによりＣＰＵ１１の動作クロックであるメインクロック信号（例えば、数ＭＨｚ〜数十ＭＨｚ）を生成するメイン発振回路１６と、上記メインクロック信号よりも周波数が低いサブクロック信号（例えば、数十ＫＨｚ）を生成するサブ発振回路１８とを備えている。なお、メイン発振回路１６が本発明のメインクロック生成手段に相当する。また、サブ発振回路１８が本発明のサブクロック生成手段に相当する。
【００３０】
また、マイコン１は、レジスタ等のリフレッシュ動作を行うリフレッシュ制御部１９を備えている。リフレッシュ制御部１９は、例えばＰＬＤ（Programmable  Logic  Device：プログラム可能論理デバイス）によって構成され、メインクロック信号およびサブクロック信号の状態に基づいて生成されるリフレッシュ信号生成部１７からの信号に基づいてリフレッシュ動作を行う。なお、リフレッシュ制御部１９が本発明のメモリデータリフレッシュ手段，ＣＰＵ状態情報比較手段に相当する。
【００３１】
図１０に、リフレッシュ信号生成部１７の構成を示す。リフレッシュ信号生成部１７は、メイン発振回路１６からのメインクロックを検出する検出回路１７ａ，サブ発振回路１８と分周回路１７ｃとの経路の接続／遮断を行うスイッチ回路１７ｂ，サブ発振回路１８からのサブクロックを分周する分周回路１７ｃを含んで構成される。なお、リフレッシュ信号生成部１７が本発明のリフレッシュ信号生成手段に相当する。また、検出回路１７ａが本発明のメインクロック検出手段に相当する。
【００３２】
検出回路１７ａは、メインクロックを検出したときには、スイッチ回路１７ｂをオフ状態とし、サブ発振回路１８と分周回路１７ｃとの経路が遮断状態となり、分周回路１７ｃからは信号は出力されない。一方、メインクロックを検出しないきとには、スイッチ回路１７ｂをオン状態とし、サブ発振回路１８と分周回路１７ｃとの経路の経路が接続状態となり、分周回路１７ｃからはサブクロックが分周された信号が出力される。
【００３３】
図１に戻り、ＣＰＵ１１は、特定の命令を実行することによってマイコン１の動作モードを、少なくともＣＰＵ１１およびメイン発振回路が動作する通常動作モードと、ＣＰＵ１１およびメイン発振回路１６の動作を停止させ、通常動作モードよりも消費電力量が少ないスリープモードに切り替え制御することができるようになっている。
【００３４】
よって、リフレッシュ信号生成部１７は、スリープモードにおいてのみ、サブクロックが分周された信号を出力する。
【００３５】
また、マイコン１は、モータやＬＣＤ等の外部アクチュエータを駆動するためのドライバ２０，シリアル通信を行うシリアル通信部２１，外部との信号の入出力を行うための汎用入出力ポートを含む入出力部２２等を含むこともある。
【００３６】
電源回路２５は、例えばバッテリ等の外部電源装置から、マイコン１の各部に電源を供給するためのものである（各部への結線は省略）。
【００３７】
図２に、サブ発振回路１８の構成例を示す。サブ発振回路１８は、周知のＣＲ発振回路により構成される。図２は、サブ発振回路１８をウィーンブリッジ型発振回路で構成した例である。他に、ザルツァ型発振回路，移相型発振回路を用いてもよい。図２の例では、抵抗Ｒ１，Ｒ２、コンデンサＣ１，Ｃ２、オペアンプＯＰが、発振回路の基本構成要素である。また、抵抗Ｒ３は振幅安定化用、抵抗Ｒ４は振幅調整用の抵抗である。出力端子ＳＩＮ  ＯＵＴから出力されるサブクロック信号の発振周波数ｆは、ｆ＝１／｛２π×（Ｃ１×Ｃ２×Ｒ１×Ｒ２）１／２｝となる。
【００３８】
図３に、データリフレッシュ動作における、マイコン１の動作の流れを示す。まず、スリープモードに移行する命令が実行されたか否かを判定する。スリープモード移行命令が実行されたとき（Ｓ１１：Ｙｅｓ）、少なくともＣＰＵ１１およびメイン発振回路１６の動作を停止して、通常モードからスリープモードに移行する（Ｓ１３）。なお、ステップＳ１２については後述する。スリープモード中は、メイン発振回路１６は停止しているが、サブ発振回路１８は動作している。また、サブ発振回路１８は、消費電力低減の面から、通常モード時には停止している方が望ましい。
【００３９】
スリープモード中は、通常モードに移行する命令が実行されたか否かを判定する。例えば、スリープモード中にシリアル通信部２０においてデータを受信した場合、あるいは入出力部２２で予め定められた信号を検出した場合、シリアル通信部２０あるいは入出力部２２からＣＰＵ１１にウェイクアップ信号が送られる。このウェイクアップ信号が通常モード移行命令に相当する。通常モード移行命令が実行されたとき（Ｓ１４：Ｙｅｓ）、メイン発振回路１６およびＣＰＵ１１の動作を開始してスリープモードから通常モードに移行する（Ｓ１７）。
【００４０】
一方、通常モード移行命令が実行されずスリープモードが継続中のとき（Ｓ１４：Ｎｏ）、リフレッシュタイミング（図９のＲｓに相当）が到来したか否かを判定する。リフレッシュ信号生成部１７には、メインクロックとサブクロックの両方が入力されているが、上述のとおり、メイン発振回路１６が動作していてメインクロックが入力されているとき（すなわち通常モード時）には、リフレッシュ制御部１９に対して何も出力しない。一方、メイン発振回路１６が停止してメインクロックが入力されないとき（すなわちスリープモード時）には、サブクロックに基づいて、例えば分周処理を行ってリフレッシュタイミング信号をリフレッシュ制御部１９に対して出力する。
【００４１】
リフレッシュタイミングが到来したとき（Ｓ１５：Ｙｅｓ）、例えばレジスタ１２のデータリフレッシュ動作（Ｓ１６）を実行する（後述）。
【００４２】
図４を用いて、図３のステップＳ１６に相当するデータリフレッシュ動作について、レジスタ１２に記憶されている内容のリフレッシュを例に挙げて説明する。なお、本動作は、リフレッシュ制御部１９において行われる。まず、ＲＯＭ１３に予め記憶されているリフレッシュ情報を１つあるいは複数読み出す（Ｓ３１）。
【００４３】
図５に、ＲＯＭ１３に記憶されているリフレッシュ情報の一例を示す。リフレッシュ情報はレジスタのアドレスと、その設定内容であるデータとが関連付けて記憶されている。図４に戻り、リフレッシュ制御部１９は、リフレッシュ情報に含まれるアドレスを指定して、そのアドレスに対応付けられたデータをレジスタ１２に書き込む（Ｓ３２）。
【００４４】
そして、全データ、あるいは予め定められたアドレス範囲または予め定められた個数のデータの書き込みが完了したとき（Ｓ３３：Ｙｅｓ）、本動作を終了する。
【００４５】
図４の例では、ＲＯＭ１３に予め記憶されているリフレッシュ情報を用いてレジスタのリフレッシュを行っていたが、マイコン１がスリープモードに移行する直前のデータを記憶し、その記憶内容をリフレッシュ情報として用いてもよい。以下にその動作の概要を説明する。
【００４６】
まず、図３のマイコン１の動作において、スリープモードに移行する命令が実行されたか否かを判定して、スリープモード移行命令が実行されたとき（Ｓ１１：Ｙｅｓ）、レジスタ１２のデータをメモリ１５に退避する（Ｓ１２）。その後、ＣＰＵ１１およびメイン発振回路１６の動作を停止して通常モードからスリープモードに移行する（Ｓ１３）。以降の動作は、図３と同様である。
【００４７】
図４のデータリフレッシュ動作においては、ステップＳ３１においてＲＯＭ１３からではなくメモリ１５からリフレッシュ情報を読み出す。その他の動作は図４と同様である。
【００４８】
メモリ１５に記憶したリフレッシュ情報を用いて、リフレッシュ動作を行う構成において、レジスタ１２の他にＲＡＭ１４のリフレッシュを行うことも可能である。ＲＡＭ１４は、少なくとも一部の領域がＳＲＡＭあるいはデータを保持可能なＤＲＡＭで構成されていることもある。このため、スリープモード時にはＲＡＭ１４のこれらの領域においてデータ化けが発生する可能性もある。以下にその動作の概要を説明する。
【００４９】
まず、図３のマイコン１の動作において、スリープモードに移行する命令が実行されたか否かを判定して、スリープモード移行命令が実行されたとき（Ｓ１１：Ｙｅｓ）、ＲＡＭ１４のデータをメモリ１５に退避する（Ｓ１２）。その後、メイン発振回路１６およびＣＰＵ１１の動作を停止して通常モードからスリープモードに移行する（Ｓ１３）。以降の動作は、図３と同様である。
【００５０】
図４のデータリフレッシュ動作においては、ステップＳ３１においてＲＯＭ１３からではなくメモリ１５からリフレッシュ情報を読み出し、ステップＳ３２では、読み出したデータをＲＡＭ１４に書き込む。その他の動作は図４と同様である。
【００５１】
図６を用いて、図３のステップＳ１６に相当するデータリフレッシュ動作の別例について、レジスタ１２に記憶されている内容のリフレッシュを例に挙げて説明する。まず、ＲＯＭ１３に予め記憶されているリフレッシュ情報（ＲＯＭデータ）を例えば１つ読み出す（Ｓ５１）。次に、読み出したフレッシュ情報に含まれるアドレスに相当するレジスタ１２のデータ（レジスタデータ）を読み出す（Ｓ５２）。
【００５２】
そして、読み出したＲＯＭデータおよびレジスタデータの内容を比較する（Ｓ５３）。比較の結果、両者が一致しているとき（Ｓ５４：Ｙｅｓ）、データ化けが発生していないのでステップＳ５６（後述）へ移る。一方、両者が一致していないとき（Ｓ５４：Ｎｏ）、データ化けが発生したとして、読み出したＲＯＭデータをレジスタ１２の該当するアドレス領域へ書き込む（Ｓ５５）。このとき、レジスタ１２の予め定められた領域に予め定められたデータ（初期化コード：本発明のデータ再設定情報）を書き込む構成としてもよい。
【００５３】
そして、全データ、あるいは予め定められたアドレス範囲または予め定められた個数のデータの書き込みが完了したとき（Ｓ５６：Ｙｅｓ）、本動作を終了する。
【００５４】
図７を用いて、レジスタ１２の予め定められた領域に予め定められたデータ（初期化コード）が書き込まれた構成における、マイコン１の通常モードへの移行動作について説明する。なお、本動作は、マイコン１がスリープモードとなっていることが前提となる。
【００５５】
まず、図３と同様に、通常モードに移行する命令が実行されたか否かを判定する。通常モード移行命令が実行されたとき（Ｓ７１：Ｙｅｓ）、メイン発振回路１６およびＣＰＵ１１の動作を開始してスリープモードから通常モードに移行する（Ｓ７２）。次に、レジスタ１２の予め定められた領域の内容を読み出す（Ｓ７３）。
【００５６】
そして、その読み出した内容が初期化コードか否かを判定する。初期化コードであるとき（Ｓ７４：Ｙｅｓ）、レジスタ１２の全ての内容あるいは予め定められた範囲の内容を初期化する（Ｓ７５）。初期化の方法は、以下のいずれを用いてもよい。
・ＲＯＭ１３に予め記憶されているレジスタ初期化データ（リフレッシュ情報でもよい）をレジスタ１２に書き込む。
・ＲＯＭ１３に記憶されてＣＰＵ１１が実行するプログラムに含まれるレジスタ初期化処理を実行し、レジスタ初期化処理に含まれる初期化データをレジスタ１２に書き込む。
【００５７】
図６の構成においても、マイコン１がスリープモードに移行する直前のデータを記憶し、その記憶内容をリフレッシュ情報として用いることが可能である。この場合、図３ではステップＳ１２を実行して、レジスタデータをメモリ１５に退避してリフレッシュ情報を作成する。そして、図６のステップＳ５１では、メモリ１５に記憶されたリフレッシュ情報を読み出す。
【００５８】
また、図６の構成においても、ＲＡＭ１４のリフレッシュを行うことが可能である。この場合、図３ではステップＳ１２を実行して、ＲＡＭ１４のデータをメモリ１５に退避してリフレッシュ情報を作成する。そして、図６のステップＳ５１では、メモリ１５に記憶されたリフレッシュ情報を読み出し、ステップＳ５２ではＲＡＭ１４のデータを読み出す。
【００５９】
また、図６の構成において、メモリ１５に記憶されたリフレッシュ情報とＲＡＭ１４のデータとを比較した結果、両者の内容が異なってデータ化けが発生している場合（Ｓ５４：Ｎｏ）、レジスタ１２と同様に、ＲＡＭ１４の所定領域に初期化コードを書き込み、図７のようなＲＡＭ初期化処理を行ってもよい。
【００６０】
図８に、従来技術によるレジスタリフレッシュ動作に関するタイミングチャートを示す。また、図９に、本発明の構成によるレジスタリフレッシュ動作に関するタイミングチャートを示す。図８の例では、レジスタのリフレッシュＲｍを行う度にＣＰＵ１１を動作させなければならず、低消費電力動作時間Ｔｍが継続せず、Ｔｍの延べ時間も長くならないが、図９の例では、レジスタのリフレッシュＲｓを行うためにＣＰＵ１１を動作させる必要がないので、低消費電力動作時間Ｔｓを、継続時間，延べ時間とも図８のＴｍよりも長くすることができる。無論、ＲＡＭ１４のデータのリフレッシュも同様に行うことができる。
【００６１】
上述の図３〜図６の例では、レジスタ１２のみ、あるいはＲＡＭ１４のみのリフレッシュを行っているが、レジスタ１２およびＲＡＭ１４の両方をリフレッシュしてもよい。例えば、図４において、まず、レジスタ１２のリフレッシュを行い、続いてＲＡＭ１４のリフレッシュを行う。無論、レジスタ１２のリフレッシュ動作とＲＡＭ１４のリフレッシュ動作とを別個のものとしてもよい。
【００６２】
また、リフレッシュタイミング（Ｒｓ）が到来したときに、レジスタ１２のリフレッシュとＲＡＭ１４のリフレッシュとを交互に行ってもよい。
【００６３】
以上、本発明の実施の形態を説明したが、これらはあくまで例示にすぎず、本発明はこれらに限定されるものではなく、特許請求の範囲の趣旨を逸脱しない限りにおいて、当業者の知識に基づく種々の変更が可能である。
【図面の簡単な説明】
【００６４】
【図１】マイクロコンピュータの構成例を示す図。
【図２】サブ発振回路の構成例を示す図。
【図３】データリフレッシュ動作を説明するフロー図。
【図４】図３のデータリフレッシュ動作の詳細を説明するフロー図。
【図５】リフレッシュ情報の一例を示す図。
【図６】データリフレッシュ動作の別例を説明するフロー図。
【図７】レジスタ初期化時のマイコンの動作を説明するフロー図。
【図８】従来技術によるレジスタリフレッシュの動作例を示すタイミングチャート。
【図９】本発明の構成によるレジスタリフレッシュの動作例を示すタイミングチャート。
【図１０】リフレッシュ信号生成部の構成例を示す図。
【符号の説明】
【００６５】
１    マイクロコンピュータ（マイコン）
１１    ＣＰＵ（動作モード切換手段）
１２    レジスタ（第一記憶手段）
１３    ＲＯＭ（第二記憶手段）
１４    ＲＡＭ（第一記憶手段）
１５    メモリ（第二記憶手段）
１６    メイン発振回路（メインクロック生成手段）
１７    リフレッシュ信号生成部（リフレッシュ信号生成手段，ＣＰＵ状態情報比較手段）
１７ａ  検出回路（メインクロック検出手段）
１７ｂ  スイッチ回路
１７ｃ  分周回路
１８    サブ発振回路（サブクロック生成手段）
１９    リフレッシュ制御部（メモリデータリフレッシュ手段）
２３    発振素子
【図１】
2010061393.tif 000003
【図２】
2010061393.tif 000004
【図３】
2010061393.tif 000005
【図４】
2010061393.tif 000006
【図５】
2010061393.tif 000007
【図６】
2010061393.tif 000008
【図７】
2010061393.tif 000009
【図８】
2010061393.tif 000010
【図９】
2010061393.tif 000011
【図１０】
2010061393.tif 000012