(57)【要約】【課題】半導体装置において、通常の動作状態から省電力状態に移行した際に、従来における動作状態の移行後にあるＲＡＭへの動作設定の書き換えのためのオーバーヘッドを抑えることを目的とする。【解決手段】半導体装置に、二つの動作状態それぞれに対応する動作設定に関するデータを、それぞれ同じデータ構造で格納したＲＡＭと、所定の電源電圧値を閾値としてＣＰＵのＲＡＭの参照先を切り替えるセレクタとを備える。【選択図】図１
2008107999.tif 000002
【特許請求の範囲】
【請求項１】
第１クロックと前記第1クロックよりも低速の第2クロックのいずれかに同期して動作する半導体装置であって、
前記第1クロックで動作する場合の自装置内各部の動作条件を設定するための第1パラメータを記憶する第１メモリと、
前記第２クロックで動作する場合の自装置内各部の動作条件を設定するための第2パラメータを記憶する第２メモリと、
前記第1クロックまたは前記第2クロックを受けて前記自装置内各部を前記動作条件に基づいて制御するＣＰＵと、
前記第1クロックまたは前記第2クロックを前記ＣＰＵに供給するクロック制御手段と、
前記クロック制御手段により前記第１クロックが供給されているときには前記ＣＰＵに前記第1メモリを参照させ、前記クロック制御手段により前記第２クロックが供給されているときには前記ＣＰＵに前記第2メモリを参照させるように前記ＣＰＵの参照先を切り替えるセレクタとを備える
ことを特徴とする半導体装置。
【請求項２】
前記第１パラメータ及び前記第２パラメータは、自装置に接続されている外部機器の動作条件を含み、
前記ＣＰＵは、更に、当該動作条件に基づいて前記外部機器を制御する
ことを特徴とする請求項１記載の半導体装置。
【請求項３】
前記半導体装置は、更に、
自装置に供給される電源電圧の電圧値が予め定められた第１閾値を下回ったかどうかを検出する検出手段を備え、
前記クロック制御手段は、前記第１クロックを前記ＣＰＵに供給している場合において、前記検出手段により、前記電源電圧の電圧値が前記第１閾値を下回ったと検出されたときに、前記第２クロックを前記ＣＰＵに供給し、      
前記セレクタは、前記第１メモリを前記ＣＰＵに参照させ、前記検出手段により、前記電源電圧の電圧値が前記第１閾値を下回ったと検出された場合に、前記ＣＰＵの参照先を前記第１メモリから前記第２メモリに切り替える
ことを特徴とする請求項１記載の半導体装置。
【請求項４】
前記検出手段は、更に、電源電圧の電圧値が一度前記第１閾値を下回った後において、予め定められた前記第１閾値よりも高い第２閾値を超えたかどうかを検出し、
前記クロック制御手段は、前記検出手段により、前記電源電圧の電圧値が前記第２閾値を越えたと検出された場合に、前記第１クロックを前記ＣＰＵに供給し、
前記セレクタは、前記検出手段により、前記電源電圧の電圧値が前記第２閾値を越えたと検出された場合に、前記ＣＰＵの参照先を前記第２メモリから前記第１メモリに切り替える
ことを特徴とする請求項２記載の半導体装置。
【請求項５】
前記第１メモリが記憶している前記第１パラメータと、前記第２メモリが記憶している第２パラメータは、それぞれ同じデータ構造を有し、それぞれのメモリにおいて自装置内の同じ部を制御するための動作設定は、同じアドレス位置に格納され、
前記ＣＰＵは、当該部を制御する場合に、セレクタの切り替え先の前記第１メモリまたは前記第２メモリの同一のアドレス位置を参照する
ことを特徴とする請求項１記載の半導体装置。
【請求項６】
前記セレクタは、前記ＣＰＵの参照先を前記第１メモリとしているとき、前記第２パラメータの書き込みを行う場合にのみ、前記ＣＰＵに対し、前記第２メモリへのアクセスできるように切り替え、
前記セレクタは、前記ＣＰＵの参照先を前記第１メモリとしているとき、前記第２パラメータの書き込みを行う場合にのみ、前記ＣＰＵに対し、前記第２メモリへのアクセスできるように切り替え、
前記ＣＰＵは、前記第１クロックを供給されて動作しているときに、前記第２メモリに対して前記第２パラメータを書き込み、前記第２クロックを供給されて動作しているときに、前記第１メモリに対して前記第１パラメータを書き込む
ことを特徴とする請求項１記載の半導体装置。
【請求項７】
前記クロック制御手段は予め定められた周期で前記第１クロックと前記第２クロックとを切替ながら供給し、前記セレクタは、前記周期と同じ周期で前記第１メモリと前記第２メモリにおける前記ＣＰＵの参照先の切り替えを行う
ことを特徴とする請求項１記載の半導体装置。
【請求項８】
車載システムであって、
自動車の駆動制御を実行するための機器を含む駆動制御系と、前記自動車の車内設備の制御を実行するための機器を含む電装系と、ユーザが前記自動車を運転する際の利便性を向上させるための機器を含むＡＶ系とを含む自動車各部に請求項４に記載の半導体装置を付設した
ことを特徴とする車載システム。
【請求項９】
前記自動車各部において、前記第１閾値は、前記ＡＶ系、前記電装系、前記駆動制御系の順に小さくなるように設定され、前記第２閾値は、前記ＡＶ系、前記電装系、前記駆動制御系の順に小さくなるように設定される
ことを特徴とする請求項８記載の車載システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に当該半導体装置における省電力状態と通常状態における動作設定変更に関する。
【背景技術】
【０００２】
従来よりマイクロコンピュータにおいては、２以上の発振（以下、クロックという）を供給し、マイクロコンピュータにおける省電力を実現していた。マイクロコンピュータは高速クロックと低速クロックの両方の発振で動作することが可能であり、高速クロックの供給を受けて動作する場合は、処理能力は高いものの、消費電力も合わせて高くなる。他方、低速クロックの供給を受けて動作する場合は、高速クロックの供給を受ける場合よりも、処理能力は落ちるものの、消費電力も低くなる。よって、マイクロコンピュータで省電力を実現する場合には、低速クロックの供給を受けて動作できるようにすればよい。なお、ここで高速クロック及び低速クロックと記述したが、これは区別するための表現であり、相対的にクロックの速度が高速と低速になっているものとする。
【０００３】
そのようなマイクロコンピュータを用いた省電力技術としては、休止状態からの復帰時に特定のメモリ領域から直ちにウェイクアップ時用の制御プログラムを読み出して実行するものがある（特許文献１参照）。
【特許文献１】特開２００６−１２７４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、低速クロックを供給されて動作する省電力状態と高速クロックを供給されて動作する通常状態とでは、マイクロコンピュータが搭載される装置などにおいて、当該マイクロコンピュータが装置の各回路を制御するための設定パラメータや動作状況などが異なる。そこで、通常状態から省電力状態、あるいは省電力状態から通常状態に移行した場合には、マイクロコンピュータは、メモリ内における各設定パラメータなどを書き換える必要があり、従来においては状態が移行した後に設定の書き換えを行っていた。その書き換えのためのオーバヘッドが存在するため、従来のマイクロコンピュータにおいては状態の移行において動作を開始するのにタイムラグが発生しているといえる。特に、書き換えるデータ量が多い場合などには、書き換えのための時間が多くなってしまい、その時間は、装置によって、例えば車両制御システムなどにおいては、安全性を欠く可能性にもつながる。
【０００５】
そこで、本発明は上記問題に鑑みてなされたものであり、２種類以上のクロックを受けて、上記オーバーヘッドをなくすことができるマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、第１クロックと前記第1クロックよりも低速の第2クロックのいずれかに同期して動作する半導体装置であって、前記第1クロックで動作する場合の自装置内各部の動作条件を設定するための第1パラメータを記憶する第１メモリと、前記第２クロックで動作する場合の自装置内各部の動作条件を設定するための第2パラメータを記憶する第２メモリと、前記第1クロックまたは前記第2クロックを受けて前記自装置内各部を前記動作条件に基づいて制御するＣＰＵと、前記第1クロックまたは前記第2クロックを前記ＣＰＵに供給するクロック制御手段と、前記クロック制御手段により前記第１クロックが供給されているときには前記ＣＰＵに前記第1メモリを参照させ、前記クロック制御手段により前記第２クロックが供給されているときには前記ＣＰＵに前記第2メモリを参照させるように前記ＣＰＵの参照先を切り替えるセレクタとを備えるを備えることを特徴としている。
【発明の効果】
【０００７】
上述のような構成によって、半導体装置は、第１クロックを受けて動作している第１の動作状態から第２クロックを受けて動作している第２の動作状態に移行する際に、セレクタがＣＰＵの参照先のＲＡＭを切り替えるので、従来にあった動作設定の書き換えのためのオーバーヘッドを発生させることなく動作設定の変更をすることができる。
また、前記第１パラメータ及び前記第２パラメータは、自装置に接続されている外部機器の動作条件を含み、前記ＣＰＵは、更に、当該動作条件に基づいて前記外部機器を制御することとしてもよい。
【０００８】
これにより、半導体装置は、自装置を搭載した機器や、自装置に有線ないし無線で接続されている機器も、メモリに格納されている動作設定に基づいて制御できるようになる。
また、前記半導体装置は、更に、自装置に供給される電源電圧の電圧値が予め定められた第１閾値を下回ったかどうかを検出する検出手段を備え、前記クロック制御手段は、前記第１クロックを前記ＣＰＵに供給している場合において、前記検出手段により、前記電源電圧の電圧値が前記第１閾値を下回ったと検出されたときに、前記第２クロックを前記ＣＰＵに供給し、前記セレクタは、前記第１メモリを前記ＣＰＵに参照させ、前記検出手段により、前記電源電圧の電圧値が前記第１閾値を下回ったと検出された場合に、前記ＣＰＵの参照先を前記第１メモリから前記第２メモリに切り替えることとしてもよい。
【０００９】
これにより、半導体装置のセレクタは、第１の動作状態から第２の動作状態に移行する際に、供給されている電源電圧値に基づいてＲＡＭの参照先を切り替えることができ、半導体装置において、第２の動作状態である省電力状態へ移行するためのトリガとすることができる。
また、前記検出手段は、更に、電源電圧の電圧値が一度前記第１閾値を下回った後において、予め定められた前記第１閾値よりも高い第２閾値を超えたかどうかを検出し、前記クロック制御手段は、前記検出手段により、前記電源電圧の電圧値が前記第２閾値を越えたと検出された場合に、前記第１クロックを前記ＣＰＵに供給し、前記セレクタは、前記検出手段により、前記電源電圧の電圧値が前記第２閾値を越えたと検出された場合に、前記ＣＰＵの参照先を前記第２メモリから前記第１メモリに切り替えることとしてもよい。
【００１０】
これにより、第２の動作状態から、第１の動作状態に移行するトリガとして、半導体装置に供給されている電源電圧値が第２閾値を超えたかどうかによって第１の動作状態への移行が実行される。また、第２の動作状態が省電力状態で、第１の動作状態が通常状態である場合に、第２閾値を第１閾値よりも高く設定することで、一度省電力状態へ移行した後に通常状態に復帰したときに、閾値付近での電源電圧値が上下してチャタリングするのを防ぎ、より安定して、半導体装置が通常状態での動作に復帰することが可能となる。
【００１１】
また、前記第１メモリが記憶している前記第１パラメータと、前記第２メモリが記憶している第２パラメータは、それぞれ同じデータ構造を有し、それぞれのメモリにおいて自装置内の同じ部を制御するための動作設定は、同じアドレス位置に格納され、前記ＣＰＵは、当該部を制御する場合に、セレクタの切り替え先の前記第１メモリまたは前記第２メモリの同一のアドレス位置を参照することとしてもよい。
【００１２】
これにより、半導体装置のＣＰＵはメモリが切り替わったことを意識せずに切り替わった先のメモリのデータを用いて半導体装置の各部の制御を実行することができる。
また、前記セレクタは、前記ＣＰＵの参照先を前記第１メモリとしているとき、前記第２パラメータの書き込みを行う場合にのみ、前記ＣＰＵに対し、前記第２メモリへのアクセスできるように切り替え、前記セレクタは、前記ＣＰＵの参照先を前記第１メモリとしているとき、前記第２パラメータの書き込みを行う場合にのみ、前記ＣＰＵに対し、前記第２メモリへのアクセスできるように切り替え、前記ＣＰＵは、前記第１クロックを供給されて動作しているときに、前記第２メモリに対して前記第２パラメータを書き込み、前記第２クロックを供給されて動作しているときに、前記第１メモリに対して前記第１パラメータを書き込むこととしてもよい。
【００１３】
これにより、ＣＰＵは、使用していない側のメモリに対して、自装置が動作している状態とは、異なる動作状態の動作設定を書き込むことができる。動作状態が３以上あり、動作設定用のＲＡＭとして２つ分の記憶領域しか確保できない場合などには、ＣＰＵが動作設定を書き換えることで対応できるようになる。
また、前記クロック制御手段は予め定められた周期で前記第１クロックと前記第２クロックとを切替ながら供給し、前記セレクタは、前記周期と同じ周期で前記第１メモリと前記第２メモリにおける前記ＣＰＵの参照先の切り替えを行うこととしてもよい。
【００１４】
これにより、セレクタは、予め定められた時間周期で、第１の動作状態と第２の動作状態の切替のトリガとすることができる。
また、本発明は、車載システムであって、前記自動車の駆動制御を実行するための機器を含む駆動制御系と、前記自動車の車内設備の制御を実行するための機器を含む電装系と、ユーザが前記自動車を運転する際の利便性を向上させるための機器を含むＡＶ系とを含む自動車各部に請求項４に記載の半導体装置を付設したこととしてもよい。
【００１５】
また、前記車載システムの前記自動車各部において、前記第１閾値は、前記ＡＶ系、前記電装系、前記駆動制御系の順に小さくなるように設定され、前記第２閾値は、前記ＡＶ系、前記電装系、前記駆動制御系の順に小さくなるように設定されることとしてもよい。
これにより、車載システムにおいて、各部に対応して、半導体装置を設けることで、各部の省電力状態と通常動作状態とを、メモリにおける動作設定の書き換えオーバヘッドを発生させることなく切り替えることができる。自動車の制御などにおいて、このオーバーヘッドによる動作状態移行のためのタイムラグは時として事故につながる可能性があるが、これを未然に防ぐことも可能となる。また、各部の閾値をそれぞれの動作設定にあわせることで、自動車において重要な箇所をできるだけ省電力状態に陥らせることを防げる。
【００１６】
つまり、自動車の運行上最も重要な部位はエンジンやステアリングなどの駆動制御を実行する部位であり、特に動作していなくても問題ないのが、ＣＤプレーヤなどのユーザの嗜好を満たすためのＡＶ系の機器であるので、ＡＶ系の機器から省電力状態になるようにＡＶ系の第１閾値を駆動制御系のそれよりも高く設定する。ＡＶ系への電力をある程度カットすることで、その分、電源電圧に余裕ができるので、その分をより重要な駆動制御系に回すことで、自動車が走行できなくなる事態をなるべく防ぐことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態である半導体装置について図面を用いて説明する。
＜実施の形態１＞
＜構成＞
図１は、本発明に係るマイクロコンピュータの機能構成を示したブロック図である。同図に示すように、マイクロコンピュータ１００は、タイマ１０１と、通信部１０２と、汎用Ｉ／Ｏ（Input/Output）ポート１０３と、Ａ／Ｄ（Analog/Digital）コンバータ１０４と、Ｄ／Ａ（Digital/Analog）コンバータ１０５と、電圧検出器１０６と、ＲＯＭ（Read Only Memory）１０７と、ＲＡＭ（Random Access Memory）１０８と、ＲＡＭ１０９と、ＣＰＵ（Central Processing Unit）１１０と、セレクタ１１１と、クロック制御部１１２とを含んで構成される。
【００１８】
また、マイクロコンピュータ１００は、図２に示すようにオーディオセット２００に接続され、当該オーディオセット２００の機能の一部または全部を制御するものとする。
では、図１に基づいてマイクロコンピュータ１００の各部の機能を説明する。同図に示されるように、マイクロコンピュータ１００の各部は、バス（白抜き矢印）を介して接続されている。
【００１９】
タイマ１０１は、現在時刻をカウントし、ＣＰＵ１１０に対して時刻を通知する機能を有する。
通信部１０２は、マイクロコンピュータに接続される各種機器と通信するための機能を有する。
汎用Ｉ／Ｏポート１０３は、マイクロコンピュータ１００に接続される各種機器とデータの送受信を行う機能を有する。
【００２０】
ＡＤＣ１０４は、アナログデータをデジタルデータに変換する機能を有する。また、変換して生成したデジタルデータをマイクロコンピュータ１００の各部あるいは外部の機器に送信する機能も有する。
ＤＡＣ１０５は、デジタルデータをアナログデータに変換する機能を有する。また、変換して生成したアナログデータをマイクロコンピュータ１００の各部あるいは外部の機器に送信する機能も有する。
【００２１】
電圧検出器１０６は、マイクロコンピュータ１００に供給されている電源電圧値をマイコン電源電圧線から検出し、検出した電圧値をセレクタ１１１に送出する機能を有する。
ＲＯＭ１０７は、マイクロコンピュータ１００やマイクロコンピュータ１００が搭載される装置を制御するためのプログラムやデータなどが予め記録されているメモリである。
ＲＡＭ１０８は、マイクロコンピュータ１００が低速クロックで動作している場合にＣＰＵ１１０が各部を制御するための設定パラメータを記憶するためのメモリである。
【００２２】
ＲＡＭ１０９は、マイクロコンピュータ１００が高速クロックで動作している場合にＣＰＵ１１０が各部を制御するための設定パラメータを記憶するためのメモリである。
ＣＰＵ１１０は、マイクロコンピュータ１００の各部を制御する機能を有する。
セレクタ１１１は、電源電圧値に関する閾値を記憶しており、電圧検出器１０６から送出されてくる電圧値が当該閾値を下回っているかどうかを判断し、下回っていた場合に、クロック制御部１１２に低速クロックを受信するように指示し、それ以外の場合には、高速クロックを受信するように指示する機能を有する。
【００２３】
クロック制御部１１２は、セレクタ１１１の指示に基づいて、高速発振クロック（以下高速クロックという）若しくは、低速発振クロック（以下低速クロックという）のいずれかを受け、マイクロコンピュータ１００の各部に供給する機能を有する。ここで、簡単に高速クロックと低速クロックでの動作の差による消費電力の差について図３に基づいて説明する。
【００２４】
図３において、高速発振動作状態とは高速クロックを受けて動作している状態のことであり、低速発振動作状態とは低速クロックを受けて動作している状態のことである。同図において、消費電力を示すための矢印は、単位時間当たりの消費電力を示している。図３に示すように、高速発振動作状態の方が消費電力は高く、低速発振動作状態の方が消費電力は低い。これはクロックにおいて１パルスごとに回路やＣＰＵは動作するので、クロックが高速であるほど、動作回数が多くなり、当然に消費電力も高くなる。以下、マイクロコンピュータ１００が、高速クロックに同期して動作している状態を通常状態、低速クロックに同期して動作している状態を省電力状態という。
【００２５】
図２は、このようなマイクロコンピュータ１００が接続される外部機器との接続状態の一例を示した図である。
同図に示すように、マイクロコンピュータ１００は、オーディオセット２００に接続されている。
マイクロコンピュータ１００は、オーディオセット２００に対し電源電圧を供給し、また、通信を行って、オーディオセット２００の各部の機能の一部または全部を制御する機能を有する。
【００２６】
具体的には、マイクロコンピュータ１００は、オーディオセット２００のＤＳＰ（Digital Signal Processor）２０１に対して、当該オーディオセット２００の各機能を制御するための信号ＳＤＡ、ＳＣＬを、通信部１０２、汎用Ｉ／Ｏポート１０３を介して出力する。この制御には、マイクロコンピュータ１００が通常状態で動作している場合の通信制御と、省電力状態で動作している場合の通信抑止制御を含む。
【００２７】
また、マイクロコンピュータ１００はパワーモジュール２０２に対して電源電圧POWの供給、及び供給停止を実行する機能を有する。
＜データ＞
ここで、各ＲＡＭに格納される概念的なデータの一例を示す。
図４（ａ）は、ＲＡＭ１０８に記憶されているデータのデータ構造の一例を示した図で、図２に示したようなシステム状態における省電力動作時の動作設定の一例を示している。また、図４（ｂ）は、ＲＡＭ１０９に記憶されているデータのデータ構造の一例を示した図で、図２に示したようなシステム状態における通常動作時の動作設定の一例を示している。
【００２８】
ＲＡＭ１０８は、アドレス値0X00000000からのアドレス領域を汎用ＲＡＭエリアとして各種通常データを格納し、アドレス値0X00008000から、マイクロコンピュータ１００の各部を制御するためのデータを格納する機能を有する。図４（ａ）に示すようにアドレス値0X00000100の開始位置から、マイクロコンピュータ１００が省電力状態から通常状態に復帰するための復帰電圧値として３Ｖを上回ることが記憶されており、これは、マイクロコンピュータから省電力状態から通常状態へ復帰するための条件に関するデータである。マイクロコンピュータ１００は、電圧検出器１０６で検出される電圧値が３Ｖを上回ったかどうかに基づいて省電力状態から通常状態への復帰を行うことになる。
【００２９】
アドレス値0X00008000から、マイクロコンピュータ１００からオーディオセット２００への電源供給のPowerをHi出力する設定が記憶されており、ここには、外部機器の電源設定に関するデータが格納されている。アドレス値0X00008008からSDAをONし、アドレス値0X00008016からSCLをONする設定、即ち停止されていた通信制御を実行する動作設定が記憶されている。
【００３０】
一方、ＲＡＭ１０９は、ＲＡＭ１０８と同じデータ構造を有し、アドレス値0X00000000からのアドレス領域を汎用ＲＡＭエリアとして各種通常データを格納し、アドレス値0X00008000から、マイクロコンピュータ１００の各部を制御するためのデータを格納する機能を有する。図４（ｂ）に示すようにアドレス値0X00000100の開始位置から、マイクロコンピュータ１００が通常状態から省電力状態に移行するための省電力電圧値として２Ｖを下回ることが記憶されており、ここには、マイクロコンピュータ１００が通常状態から省電力状態へと移行するための条件が格納されている。電圧検出器１０６で検出される電圧値が２Ｖを下回ったかどうかに基づいて通常状態から省電力状態への移行を行うことになる。アドレス値0X00008000から、マイクロコンピュータ１００からオーディオセット２００への電源供給のPowerをLow出力する設定が記憶されている。アドレス値0X00008008からSDAをOFFし、アドレス値0X00008016からSCLをOFFする設定、即ち実行されていた通信制御を停止する動作設定が記憶されている。
【００３１】
ＲＡＭ１０８とＲＡＭ１０９とが同じデータ構造を有しているが故に切替がスムーズに行われ、ＣＰＵ１１０が参照先が実質的に切り替わったことを意識せずに、動作することが可能となる。
＜動作＞
次に、本実施の形態におけるマイクロコンピュータの動作を図面を用いて説明する。
【００３２】
まず、比較のために従来の場合におけるマイクロコンピュータの省電力状態への移行、通常状態への復帰を図５に基づいて説明する。
図５は、マイクロコンピュータが動作しているクロックと、マイクロコンピュータにおける処理内容と、ＲＡＭに記憶されるデータの内容に関するタイミングチャートである。
本図は、時刻Ｔ０からＴ１にかけては、マイクロコンピュータのＣＰＵには、クロックは高速クロックが供給されている。この時間帯においては、ＲＡＭには通常時の動作条件が記憶されており、当該動作条件に基づいてマイクロコンピュータの各部は通常時の処理を実行している。
【００３３】
時刻Ｔ１において、省電力状態に移行する必要があった場合に、時刻Ｔ１からはクロックは、低速クロックがマイクロコンピュータのＣＰＵに供給され始める。そして時刻Ｔ１からＴ２にかけて、ＣＰＵがＲＡＭに省電力時の動作条件を低速クロックに同期して動作しながら書き込む。時刻Ｔ２において、ＲＡＭの動作設定の書き込みが終了し、時刻Ｔ２から、省電力時の処理が実行される。
【００３４】
時刻Ｔ３において省電力状態から通常状態に復帰すべく、ＣＰＵに供給されるクロックが低速クロックから高速クロックに切り替わり、時刻Ｔ３からＴ４にかけて通常状態の動作条件のＲＡＭへの書き込みが実行され、時刻Ｔ４から通常時の処理がマイクロコンピュータ上において実行される。
以上が従来における、省電力状態への切り替わり、省電力状態から通常状態への復帰に関するマイクロコンピュータにおける動作の簡単な説明である。
【００３５】
これが本発明の場合であると、図６に示したタイミングチャートのようになる。本発明の場合について、マイクロコンピュータ１００の省電力状態への移行、通常状態への復帰を図６に基づいて説明する。
図６においては、クロックの状態と、マイクロコンピュータにおける処理内容と、ＲＡＭ１０８、ＲＡＭ１０９におけるデータの状態と、ＣＰＵ１１０の参照先の推移を示した。本図においては、ＣＰＵ１１０の参照先については、斜線部分で示している。
【００３６】
本発明の場合、時刻Ｔ５からＴ６にかけて、通常の処理を実行しており、ＣＰＵ１１０はＲＡＭ１０９を参照している。
そして時刻Ｔ６において、電源電圧の低下が検出され、ＲＡＭ１０８が参照されるようになり、通信制御レジスタに格納されている通信停止設定に基づいてマイクロコンピュータ１００は、オーディオセット２００との通信を停止する。従来だと時刻Ｔ６の時点でＲＡＭへの動作設定の書き込みにより発生する図５において時刻Ｔ１からＴ２におけるラグがなくなり、参照先は単にセレクタにより切り替わるのみであり、次の動作に即座に移行できる。
【００３７】
時刻Ｔ６からＴ７にかけて省電力時の処理が実行され、時刻Ｔ７において、マイクロコンピュータ１００のセレクタ１１１が、電圧検出器１０６により検出される電圧値が、通常の動作状態に復帰する電圧値を超えたとする。すると、セレクタ１１１は、ＣＰＵ１１０の参照先をＲＡＭ１０９に戻し、またクロック制御部１１２は高速クロックを供給し始める。ＲＡＭ１０９にもとより格納されている通常時のデータに基づいて、マイクロコンピュータ１００は、通信制御レジスタに格納されている通信動作設定に基づき、オーディオセット２００の通信を開始する。但し、省電力時とは異なり、通信に関しては、初期設定、例えば、通信のアドレス設定などが必要な部分があり、その部分に関しては、従来と同様にＣＰＵ１１０がＲＡＭ１０９に対して書き込み設定を行う。但し書き込みは通信制御レジスタに関する部分のみである。この通信初期化設定は時刻Ｔ７からＴ８において実行される。
【００３８】
そして時刻Ｔ８から、完全に通常時の処理が実行される。
本図６と図５とを比較すればわかるように、本発明においては、ＲＡＭを二つ備え、単にＣＰＵ１１０の参照先を切り替えるだけにする構成とすることで、従来においては、必要だった設定変更の書き込みにおける時間（図５、時刻Ｔ１〜Ｔ２）が排除されているのが大きな特徴である。
【００３９】
では、図６における通常状態から省電力状態へ移行する際のマイクロコンピュータ１００の動作をより具体的に図１のブロック図と図７のフローチャートに基づいて説明する。
まず、電圧検出器１０６が、マイコン電源電圧線に引火される電圧値を検出して検出した値を、バスを介してセレクタ１１１に通知する（ステップＳ７０１）。なお、電圧値の通知は、所定時間ごと、例えば０．５secごとに行われる。セレクタ１１１は検出された電源電圧値が、ＲＡＭ１０９に格納されている省電力電圧値である２Ｖを下回っているかどうかを判断する（ステップＳ７０３）。当該省電力電圧値は、ＲＡＭ１０９を参照させるように切り替えた時点で、セレクタ１１１により、ＲＡＭ１０９から予め読み出され、セレクタ１１１内のレジスタに記憶されている。
【００４０】
電源電圧値が２Ｖを下回っていない場合には（ステップＳ７０３のＮＯ）、セレクタ１１１は、参照先を切り替えるためのスイッチを切り替えないで、ＣＰＵ１１０の参照先のＲＡＭをＲＡＭ１０９のままにしておき（ステップＳ７０４）、マイクロコンピュータ１００は、通常の処理を続行する。
電源電圧値が２Ｖを下回っていた場合には（ステップＳ７０３のＹＥＳ）、セレクタ１１１は、まず、ＣＰＵ１１０の参照先のＲＡＭをＲＡＭ１０９からＲＡＭ１０８に切り替える（ステップＳ７０５）。また、セレクタ１１１は、ほぼ同時にクロック制御部１１２に対して、ＣＰＵ１１０に供給するクロックを高速クロックから低速クロックに切り替えるための指示信号を出力し、クロック制御部１１２は、ＣＰＵ１１０に対して低速クロックを供給し始める。
【００４１】
そして、ＣＰＵ１１０は、ＲＡＭ１０８に格納されている動作設定に基づいて、動作設定を行い、マイクロコンピュータ１００は、切り替わった参照先のＲＡＭ１０８に格納されている動作設定に基づいて省電力時の処理を実行する。
また、セレクタ１１１は、切り替えた先のＲＡＭの省電力状態から通常状態へ復帰するための復帰電圧値を自己のレジスタ内に記憶しておき、以降は、電圧検出器が検出する電圧値が当該復帰電圧値を超えるかどうかを判断する。
【００４２】
以上が通常時の処理を行っているときに電圧値を一度検出した場合におけるマイクロコンピュータ１００の動作である。
そして、図６における省電力状態から通常状態へ復帰する際のマイクロコンピュータ１００の動作を図８のフローチャートに基づいて説明する。
まず、電圧検出器１０６が、マイコン電源電圧線に引火される電圧値を検出して検出した値を、バスを介してセレクタ１１１に通知する（ステップＳ８０１）。セレクタ１１１は検出された電源電圧値が、ＲＡＭ１０９に格納されている復帰電圧値である３Ｖを上回っているかどうかを判断する（ステップＳ８０３）。
【００４３】
電源電圧値が３Ｖを上回っていない場合には（ステップＳ８０３のＮＯ）、セレクタ１１１はＣＰＵ１１０の参照先を切り替えずに、ＣＰＵ１１０の参照先のＲＡＭをＲＡＭ１０８のままにしておき（ステップＳ８０４）、マイクロコンピュータ１００は、省電力時の処理を続行する。
一方、電源電圧値が３Ｖを上回っていた場合には（ステップＳ８０３のＹＥＳ）、セレクタ１１１は、まず、ＣＰＵ１１０の参照先のＲＡＭをＲＡＭ１０８からＲＡＭ１０９に切り替える（ステップＳ８０５）。また、セレクタ１１１は、ほぼ同時にクロック制御部１１２に対して、ＣＰＵ１１０に供給するクロックを低速クロックから高速クロックに切り替えるための指示信号を出力し、クロック制御部１１２は、ＣＰＵ１１０に対して高速クロックを供給し始める。
【００４４】
そして、ＣＰＵ１１０は、ＲＡＭ１０９に格納されている動作設定に基づいて、動作設定を行い、マイクロコンピュータ１００は、切り替わった参照先のＲＡＭ１０９に格納されている動作設定に基づいて省電力時の処理を実行する。また、セレクタ１１１は、切り替えた先のＲＡＭの通常状態から省電力状態へ移行するための省電力電圧値を自己のレジスタ内に記憶しておき、以降は、電圧検出器が検出する電圧値が当該省電力電圧値を下回るかどうかを判断する。
【００４５】
なお、最初の起動時においては、マイクロコンピュータ１００は通常状態で動作するものとしてセレクタ１１１は、ＲＡＭ１０９をＣＰＵ１１０の参照先としている。
以上に説明してきたように、本発明においては、通常時と省電力時とに対応する二つのＲＡＭに動作設定を予め格納しておき、セレクタにより切り替えることで、ＲＡＭの内容を書き換えることなく、動作設定を変更し、すぐに次の状態へ移行して処理を実行できる。
＜実施の形態２＞
上記実施の形態１においては、電圧検出器１０６を用いて電圧値を検出することとしたが、実施の形態２においては電圧の検出に関する別実施例を記載する。ここでは、実施の形態１と異なる部分についてのみ説明し、その他の重複する部分については説明を割愛する。
【００４６】
図９は、本実施の形態におけるマイクロコンピュータの機能構成を示したブロック図である。マイクロコンピュータ９００は、実施の形態１において示したマイクロコンピュータ１００とは異なり、電圧検出器１０６を備えていない。またマイコン電源電圧線から、ＡＤＣ９０４に接続されている。
ＡＤＣ９０４は、ＡＤＣ１０４の機能に加えて、所定期間ごとに、電源電圧線の電圧のアナログ値をデジタル値に変換し、変換された電圧値をセレクタ１１１に出力する機能を有する。
【００４７】
即ち実施の形態１において、電圧検出器１０６が果たしていた機能をＡＤＣ９０４が代替することが本実施の形態における特徴である。
マイクロコンピュータ９００の動作としても、マイクロコンピュータ１００における動作において電圧検出器１０６が行っていた動作をＡＤＣ９０４が実行することになる点が実施の形態１と相違する点である。こうすることにより、電圧検出器を備えなくとも、通常のマイクロコンピュータならば、備えているＡＤＣを用いることで電圧値を検出することができ、電圧検出器のために必要とするコストを軽減することができる。
＜実施の形態３＞
上記実施の形態１においては、マイクロコンピュータ１００とオーディオセット２００との簡単なシステムを説明したが、本実施の形態においては、自動車に搭載されるマイクロコンピュータ１００を使用した車載システムを開示する。
＜構成＞
図１０は、車載システム１０００のシステム図を示している。
【００４８】
車載システム１０００の各機器は、大別して３系統の機器に分けられる。図１０に示すように、車載システム１０００は、ＡＶ系１０１０と、電装系１０２０と、制御系１０３０とを含んで構成され、各部はバスを介して接続されている。
ＡＶ系１０１０は、ＣＤ（Compact Disc）プレーヤ１０１１と、カーナビ１０１２と、ラジオ１０１３と、モニタ１０１４と、リモコン１０１５とを含んで構成される。各部について簡単に説明する。
【００４９】
ＣＤプレーヤ１０１１は、音楽ＣＤからデータを読み出しスピーカに出力する機能を有する。
カーナビ１０１２は、自動車の現在位置や進行方向などをＧＰＳ、地磁気計などを利用して算出し、算出された位置と地図を対応させてモニタ１０１４に表示させる機能を有する。また、ユーザに指定された目的地までの最適な経路を算出し提示する機能も有する。また、リモコン１０１５から出力された指示内容に基づく処理を実行する機能を有する。
【００５０】
ラジオ１０１３は、ラジオ放送を受信して、スピーカに出力する機能を有する。
モニタ１０１４は、カーナビ１０１２の指示に基づき地図などの表示を実行したり、テレビ放送受信機能を搭載していた場合などには、放送されている番組を表示したりする機能を有する。
リモコン１０１５は、近距離無線でカーナビ１０１２を操作するためのものであり、ユーザ入力の内容をカーナビ１０１２に出力する機能を有する。
【００５１】
電装系１０２０は、ウィンドウ１０２１と、ライト１０２２と、ＩＴＳ（Intelligent Transport System）１０２３と、各種センサ１０２４と、ドアロック１０２５とを含んで構成される。
ウィンドウ１０２１は、自動車の窓の開閉をユーザからの操作に基づいて実行する機能を有する。
【００５２】
ライト１０２２は、自動車のライト１０２２をユーザからの操作に基づいて点灯、消灯を実行する機能を有する。
ＩＴＳは、最先端の情報通信技術を用いて人と道路と車両とを情報でネットワークすることにより、交通事故、渋滞などといった道路交通問題の解決を目的に構築する交通システムのことであり、ＩＴＳ１０２３は、渋滞情報などをカーナビ１０１２に出力する機能や、料金所などの料金を自動的に課金される料金を納付する機能を有する。
【００５３】
各種センサ１０２４には、例えば、接触センサ、光度センサ、超音波センサなどが含まれており、例えば、超音波センサの場合には、自動車が壁などに対して距離が近すぎていないかなどを検出し、例えば警報音をスピーカに出力させてユーザに事故防止を促すものである。
また、制御系１０３０は、エンジン１０３１と、サーボモータ１０３２と、ステアリング１０３３と、バッテリー１０３４とを含んで構成される。
【００５４】
エンジン１０３１は、自動車を駆動させるためのエンジンである。
サーボモータ１０３２は、自動車の運動制御を行う機能を有し、ユーザからの入力、例えば、アクセルの踏み込み具合やブレーキペダルの踏み込み具合などに応じて、エンジンの回転数をあげたり、ブレーキをかけたりする。
ステアリング１０３３は、ハンドルのことであり、ユーザのハンドル操作に基づいて車輪の向きを変える機能を有する。
【００５５】
バッテリー１０３４は、電力を生成するものであり、車載システム１０００の各部に電力を供給する機能を有する。
以上の車載システム１０００の各部には、マイクロコンピュータ１００と同様の機能を有するＭＣ（Micro Computer）が取り付けられている。なお、各ＭＣに設定されている省電力状態に移行する閾電圧値は、それぞれの機器の必要性に応じて、個別に設定されるのが望ましいが、ここでは理解しやすくするために、各系統ごとに、その閾値が異なるものとし、同系統内においては、同じ閾値をそれぞれのＭＣが記憶しているものとする。
【００５６】
また、ＭＣ１００ａ〜ｅについては、実施の形態１において示したマイクロコンピュータ１００とは異なり、ＲＡＭを更に一つ追加され、省電力状態よりもなお電力を要求しない休止状態の動作設定と休止状態への電源電圧値に関する移行条件とが書き込まれている。
＜動作＞
図１１には、本実施の形態における車載システムの動作例を示すタイミングチャートを示した。本図においては、電源電圧値の推移とそれに伴う各系統の動作状態の変化を示した。なお、ここでは簡単のため、ＡＶ系１０１０に属する各機器の省電力電圧値などの電圧値は一括で統一されているものとする。電装系１０２０と制御系１０３０とにおいても同様とする。よって、本実施の形態において、マイコンの動作は、系統別でＡＶ系マイコン、電装系マイコン、制御系マイコンとして説明する。ＡＶ系マイコンは、図１０におけるＭＣ１００ａ〜ｅであり、電装系マイコンは、ＭＣ１００ｆ〜ｊであり、制御系マイコンは、ＭＣ１００ｋ〜ｍである。
【００５７】
図１１は、バッテリ電圧値の推移と、ＡＶ系１０１０に含まれる各機器のマイコンの処理内容と、電装系１０２０に含まれる各機器のマイコンの処理内容と、制御系１０３０に含まれる各機器のマイコンの処理内容とを対応付けて示したタイミングチャートである。
図１１に示すように時刻Ｔ１０からＴ１１にかけて、ＡＶ系マイコン、電装系マイコン、制御系マイコンそれぞれは、通常時の処理を実行している。
【００５８】
そして時刻Ｔ１１において、ＡＶ系マイコンが、バッテリ電圧値が省電力閾値を下回ったことを検知して、セレクタは、ＲＡＭの参照先を省電力時の動作設定を格納しているＲＡＭを切り替え、ＡＶ系マイコンは省電力時の処理を低速クロックに同期して実行する。
時刻Ｔ１２において、更にバッテリ電圧値が低下し、ＡＶ系マイコンが休止状態に移行する休止閾値を下回ったことで、ＡＶ系マイコンは休止状態に陥り、ＣＰＵに対するクロックの供給がカットされる。また、休止状態におけるデータなどの保護処理を実行する。ただし、電圧検出器とセレクタは動作したままである。
【００５９】
しばらくしてバッテリー電圧が持ち直し、時刻Ｔ１３において、ＡＶ系マイコンが休止状態から省電力状態に復帰するＡＶ系復帰閾値をバッテリー電圧値が超えたことをセレクタが検出する。そして、セレクタは、クロック制御部に対してＣＰＵへの低速クロックの供給を開始させ、ＣＰＵの参照先のＲＡＭを省電力時対応のＲＡＭに切り替える。そして、ＡＶ系マイコンは、時刻Ｔ１３からＴ１４にかけて省電力時の処理を実行する。
【００６０】
時刻Ｔ１４においてバッテリー電圧が更に回復し、ＡＶ系通常復帰閾値を超えたことを検出したＡＶ系マイコンのセレクタは、ＣＰＵの参照先を通常状態の動作設定を格納しているＲＡＭに切り替える。またセレクタは、クロック制御部に対してＣＰＵへの高速クロックの供給を指示する。
以上が車載システム１０００における動作の一例である。
＜補足＞
上記実施の形態に基づいて本発明であるところのマイクロコンピュータと、当該マイクロコンピュータが使用されるシステムについて説明してきたが、本発明の実施の形態はこれに限定されるものではないことは勿論である。以下、その変形例について説明する。
（１）上記実施の形態においては、各ＲＡＭにはそれぞれの動作設定が予め格納されているものとして記述したが、動作状態が切り替わる前にＣＰＵが動作設定を書き込む構成としても良い。例えば、通常状態でマイクロコンピュータが動作している場合に、ＣＰＵは、ＲＡＭ１０９を参照しているが、この間にＲＯＭから省電力時の動作設定を読み出し、ＲＡＭ１０８に書き込む。この場合、セレクタは、ＣＰＵに対して、動作設定の書き込みに際してのみ、使用しているＲＡＭとは逆のＲＡＭへのアクセスを許可する。
（２）上記実施の形態においては、ＲＡＭを二つ設けたが、ＲＡＭを一つとしてもよい。この場合、ＲＡＭには通常時と省電力時と二つの動作状態における設定が、同じデータ構造で、異なるアドレス値に格納される。そしてセレクタは、ＣＰＵの参照先をアドレス値の指定を以って行うこととしてもよい。こうすると、ＲＡＭが一つで済むので、生産コストを抑制することができる。
（３）上記実施の形態１においては通常状態と省電力状態の２状態がある場合、実施の形態３においては、通常状態と省電力状態と休止状態の３状態がある場合を開示した。場合によっては更なる状態設定をしてもよく、各状態に合わせてＲＡＭを搭載するか、あるいは、ある状態から次の状態に移行できる状態に基づいてＲＡＭに移行可能な動作状態の動作条件をＣＰＵが書き込むこととしてよい。こうすることでより多くの状態でマイクロコンピュータが動作したとしても対応可能になる。
（４）上記実施の形態においては、セレクタを用いて機械的にＲＡＭの参照先を切り替えたが、この切替をプログラムにより実行できることとしてもよい。即ち、ＣＰＵが、省電力状態に移行するための処理を実行するためのプログラムを実行しており、当該プログラムにおいては、省電力状態に移行する際には、動作設定の参照先のアドレスを替えることとしてもよい。
（５）上記実施の形態においては、セレクタは、電源電圧値に基づいてＣＰＵの参照先のＲＡＭを切り替えていたが、例えば、タイマに所定時間をカウントさせ、当該所定時間経過の通知を受けて、参照先を切り替え、クロック制御部は、クロックの供給を切り替える構成としてもよい。
（６）上記実施の形態３においては、ＡＶ系マイコンのみが、省電力状態になり、更に休止状態になる実施例を示したが、もし、バッテリー電圧値が電装系省電力閾値を下回った場合には、その時点から電装系マイコンも省電力時の処理を実行することとなる。
（７）上記実施の形態においては、セレクタは、高速用のＲＡＭと低速用のＲＡＭを丸ごと切り替える構成としたが、実際に通常状態と省電力状態とで動作設定の異なる部分だけ切り替える構成としても良い。つまり、上記実施の形態１を例にとって言えば、汎用ＲＡＭとして通常データを格納している部分については切り替えず、動作設定を格納している制御レジスタの部分のみを切り替える構成としても良い。
【産業上の利用可能性】
【００６１】
本発明に係る半導体装置は、電源電圧が不安定な環境、消費電力の抑制が重視される環境への適用が有効であり、自動車の電源系統を制御するシステム用のマイクロコンピュータとして活用することができる。
【図面の簡単な説明】
【００６２】
【図１】マイクロコンピュータ１００の機能構成を示したブロック図である。
【図２】マイクロコンピュータ１００と外部機器であるオーディオセットとの接続状態を示したブロック図である。
【図３】消費電力と動作クロックとの関係を示した図である。
【図４】（ａ）ＲＡＭ１０８に保持されるデータの一例である。（ｂ）ＲＡＭ１０９に保持されるデータの一例である。
【図５】従来における動作設定変更を示したタイミングチャートである。
【図６】本発明における動作設定変更を示したタイミングチャートである。
【図７】マイクロコンピュータにおける通常動作から省電力動作に移行する際の切替動作を示したフローチャートである。
【図８】マイクロコンピュータにおける省電力動作から通常動作に移行する際の切替動作を示したフローチャートである。
【図９】実施の形態２に係るマイクロコンピュータの機能構成を示したブロック図である。
【図１０】実施の形態３に係る車載システムの各機能を示したシステムブロック図である。
【図１１】車載システムにおける省電力の推移の一例を示したタイミングチャートである。
【符号の説明】
【００６３】
１００  マイクロコンピュータ
１００ａ〜ｍ  ＭＣ（マイクロコンピュータ）
１０１  タイマ
１０２  通信部
１０３  汎用Ｉ／Ｏポート
１０４  ＡＤＣ
１０５  ＤＡＣ
１０６  電圧検出器
１０７  ＲＯＭ
１０８  ＲＡＭ（低速用）
１０９  ＲＡＭ（高速用）
１１０  ＣＰＵ
１１１  セレクタ
１１２  クロック制御部
２００  オーディオセット
２０１  ＤＳＰ
２０２  パワーモジュール
１０００  車載システム
１０１０  ＡＶ系
１０１１  ＣＤプレーヤ
１０１２  カーナビ
１０１３  ラジオ
１０１４  モニタ
１０１５  リモコン
１０２０  電装系
１０２１  ウィンドウ
１０２２  ライト
１０２３  ＩＴＳ
１０２４  各種センサ
１０２５  ドアロック
１０３０  制御系
１０３１  エンジン
１０３２  サーボモータ
１０３３  ステアリング
１０３４  バッテリー
【図１】
2008107999.tif 000003
【図２】
2008107999.tif 000004
【図３】
2008107999.tif 000005
【図４】
2008107999.tif 000006
【図５】
2008107999.tif 000007
【図６】
2008107999.tif 000008
【図７】
2008107999.tif 000009
【図８】
2008107999.tif 000010
【図９】
2008107999.tif 000011
【図１０】
2008107999.tif 000012
【図１１】
2008107999.tif 000013