(57)【要約】【課題】回生電源からの電源供給を適切に制御することができる半導体装置を提供することである。【解決手段】一実施の形態にかかる半導体装置は、通常電源Ｐｎから処理部への電源供給を制御する通常電源供給制御部１５と、回生電源Ｐｒから処理部への電源供給を制御する回生電源供給制御部１６と、回生電源から供給される回生電源電圧を検知するモニタ部１３と、通常電源供給制御部１５および回生電源供給制御部１６を制御する電源制御部１７と、を備える。電源制御部１７は、予め求められた、処理部において処理されるルーチンの所定の時間当たりの消費電力の見積値と、モニタ部１３で検知された回生電源電圧Ｖｃと、に基づいて通常電源供給制御部１５および回生電源供給制御部１６を制御する。【選択図】図１
2014081763.tif 000002
【特許請求の範囲】
【請求項１】
通常電源から処理部への電源供給を制御する第１の電源供給制御部と、
回生電源から前記処理部への電源供給を制御する第２の電源供給制御部と、
前記回生電源から供給される回生電源電圧を検知するモニタ部と、
前記第１および第２の電源供給制御部を制御する制御部と、を備え、
前記制御部は、予め求められた、前記処理部において処理されるルーチンの所定の時間当たりの消費電力の見積値と、前記モニタ部で検知された前記回生電源電圧と、に基づいて前記第１および第２の電源供給制御部を制御する、
半導体装置。
【請求項２】
前記制御部は、前記予め求められた消費電力の見積値を用いて通常電源閾値電圧を決定し、当該通常電源閾値電圧と前記モニタ部で検知された前記回生電源電圧との比較結果に基づいて前記第１および第２の電源供給制御部を制御する、請求項１に記載の半導体装置。
【請求項３】
前記制御部は、前記モニタ部で検知された前記回生電源電圧が回生電源閾値電圧以上である場合、前記第２の電源供給制御部が前記回生電源の供給を開始するように制御する、請求項２に記載の半導体装置。
【請求項４】
前記制御部は、前記モニタ部で検知された前記回生電源電圧が前記通常電源閾値電圧以上である場合、前記第１の電源供給制御部が前記通常電源の供給を停止するように制御する、請求項２に記載の半導体装置。
【請求項５】
前記制御部は、前記第２の電源供給制御部が前記回生電源を供給している際に前記モニタ部で検知された前記回生電源電圧が前記通常電源閾値電圧よりも小さくなった場合、前記第１の電源供給制御部が前記通常電源を供給するように制御する、請求項２に記載の半導体装置。
【請求項６】
前記制御部は、前記第１の電源供給制御部が前記通常電源を供給した後、前記第２の電源供給制御部が前記回生電源を供給している際に前記モニタ部で検知された前記回生電源電圧が回生電源電圧よりも小さくなった場合、前記第２の電源供給制御部が前記回生電源の供給を停止するように制御する、請求項５に記載の半導体装置。
【請求項７】
前記通常電源閾値電圧は、前記消費電力の見積値を前記所定の時間における電圧値に換算した値と前記回生電源電圧との和である、請求項６に記載の半導体装置。
【請求項８】
前記消費電力の見積値は、前記処理部において処理されるルーチンの各々の単位時間当たりの消費電力を用いて求められる、請求項１に記載の半導体装置。
【請求項９】
前記消費電力の見積値は、前記処理部において処理されるルーチンの単位時間当たりの消費電力の最大値を用いて求められる、請求項１に記載の半導体装置。
【請求項１０】
前記所定の時間は、前記単位時間を複数加算した時間である、請求項８または９に記載の半導体装置。
【請求項１１】
前記単位時間は、前記第１および第２の電源供給制御部の動作が安定する時間に基づいて決定される、請求項８または９に記載の半導体装置。
【請求項１２】
前記回生電源は蓄電容量を備え、
前記蓄電容量には、前記半導体装置が備えるバッファ回路の出力側の寄生容量の電荷が蓄積される、
請求項１に記載の半導体装置。
【請求項１３】
前記回生電源は前記半導体装置に搭載されている、請求項１に記載の半導体装置。
【請求項１４】
前記回生電源は前記半導体装置の外部に設けられており、前記半導体装置は前記回生電源から電源供給を受ける端子を備える、請求項１に記載の半導体装置。
【請求項１５】
前記回生電源は蓄電池を備え、
前記蓄電池には、ブレーキ回生システムで発生した電力が蓄積される、
請求項１４に記載の半導体装置。
【請求項１６】
通常電源および回生電源から処理部への電源供給を制御する半導体装置の制御方法であって、
前記回生電源から供給される回生電源電圧を検知し、
前記処理部において処理されるルーチンの所定の時間当たりの消費電力の見積値を予め求め、
前記検知された回生電源電圧と前記消費電力の見積値とに基づいて前記通常電源から前記処理部への電源供給および前記回生電源から前記処理部への電源供給を制御する、
半導体装置の制御方法。
【請求項１７】
前記予め求められた消費電力の見積値を用いて通常電源閾値電圧を決定し、当該通常電源閾値電圧と前記検知された回生電源電圧との比較結果に基づいて、前記通常電源から前記処理部への電源供給および前記回生電源から前記処理部への電源供給を制御する、請求項１６に記載の半導体装置の制御方法。
【請求項１８】
前記検知された回生電源電圧が回生電源閾値電圧以上である場合、前記回生電源から前記処理部への電源供給を開始する、請求項１７に記載の半導体装置の制御方法。
【請求項１９】
前記検知された回生電源電圧が前記通常電源閾値電圧以上である場合、前記通常電源から前記処理部への電源供給を停止する、請求項１７に記載の半導体装置の制御方法。
【請求項２０】
前記回生電源から前記処理部に電源を供給している際に前記検知された回生電源電圧が前記通常電源閾値電圧よりも小さくなった場合、前記通常電源から前記処理部への電源供給を開始する、請求項１７に記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置及びその制御方法に関し、例えば回生電源を利用することができる半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
近年のエネルギー問題や環境問題への関心の高まりから、電子機器の省電力化に関する技術が重要となってきている。これに伴い、電子機器を構成する半導体装置においても電力を効率的に使用する技術が重要となってきている。
【０００３】
特許文献１には、低消費電力化を実現するための電力制御情報を生成する電力制御情報生成装置に関する技術が開示されている。特許文献２には、動作時の電力消費量を管理することが可能な画像処理装置に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１４０８９号公報
【特許文献２】特開２０１２−１０５０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
半導体装置において電力を効率的に使用するための技術として、回収した電力を蓄える回生電源を利用する技術がある。例えば、半導体装置に電源を供給する手段として通常電源と回生電源とを設け、回生電源に回収した電力が蓄えられている場合は回生電源から電力を供給し、回生電源に電力が蓄えられていない場合は通常電源から電力を供給することで、半導体装置に電力を効率的に供給することができる。
【０００６】
しかしながら、回生電源は電源供給量に限りがあるため、半導体装置における電力の消費量に応じて回生電源からの電源供給を適切に制御する必要がある。回生電源からの電源供給を適切に制御しなければ、半導体装置への電力供給が停止したり、半導体装置への供給電圧が低下したりするなど、半導体装置への電源供給が不安定となり半導体装置の動作に影響を及ぼすという問題がある。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態にかかる半導体装置は、通常電源から処理部への電源供給と、回生電源から処理部への電源供給とを、予め求められた、処理部において処理されるルーチンの所定の時間当たりの消費電力の見積値と、モニタ部で検知された前記回生電源電圧と、に基づいて制御する。
【０００９】
一実施の形態にかかる半導体装置の制御方法は、回生電源から供給される回生電源電圧を検知し、処理部において処理されるルーチンの所定の時間当たりの消費電力の見積値を予め取得し、検知された回生電源電圧と消費電力の見積値とに基づいて通常電源から処理部への電源供給および回生電源から処理部への電源供給を制御する。
【発明の効果】
【００１０】
前記一実施の形態によれば、回生電源からの電源供給を適切に制御することができる半導体装置及びその制御方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる半導体装置を示すブロック図である。
【図２】実施の形態１にかかる半導体装置が備える電源制御部を示すブロック図である。
【図３】図２に示す電源制御部が備えるテーブルの一例を示す図である。
【図４】実施の形態１にかかる半導体装置の動作を説明するための図である。
【図５】実施の形態１にかかる半導体装置の動作を説明するための図である。
【図６】実施の形態１にかかる半導体装置の動作を説明するための図である（遷移例１）。
【図７】実施の形態１にかかる半導体装置の動作を説明するための図である（遷移例２）。
【図８】実施の形態２にかかる半導体装置を示すブロック図である。
【図９】実施の形態２にかかる半導体装置が備える回生電源の一例を示す回路図である。
【図１０】図９に示す回生電源の動作を説明するためのタイミングチャートである。
【図１１】実施の形態３にかかる半導体装置を示すブロック図である。
【図１２】図１１に示す半導体装置を備える自動車制御システムの一例である。
【図１３】図１１に示す半導体装置を備える自動車制御システムの他の例である。
【発明を実施するための形態】
【００１２】
＜実施の形態１＞
以下、図面を参照して実施の形態１について説明する。
図１は、実施の形態１にかかる半導体装置を示すブロック図である。図１に示す半導体装置１は、例えば電子機器や自動車等を制御するマイクロコントローラである。
【００１３】
図１に示すように、半導体装置１は、電源端子１１、回生電源装置１２、モニタ部１３、基準電圧生成回路１４、通常電源供給制御部（第１の電源供給制御部）１５、回生電源供給制御部（第２の電源供給制御部）１６、電源制御部（制御部）１７、電源ライン１９、ＣＰＵ（Central Processing Unit：処理部）２１、メモリ２２、周辺回路２３、およびバス２５を備える。
【００１４】
電源端子１１は、半導体装置１の外部から供給される通常電源Ｐｎ（例えば、５Ｖ）を受ける端子である。電源端子１１で受けた通常電源Ｐｎは、モニタ部１３、基準電圧生成回路１４、および通常電源供給制御部１５に供給される。
【００１５】
回生電源装置１２は、回収した電力を蓄え、この蓄えた電力を再度利用するための電源である。回生電源装置１２は回生電源供給制御部１６に回生電源Ｐｒを供給する。回生電源装置１２は、例えば電力回収手段と、当該電力回収手段で回収した電力を蓄える蓄電手段を備えている。例えば、電力回収手段は半導体装置が備えるバッファ回路（不図示）から電力を回収することができる。なお、電力回収手段は、バッファ回路以外にも、半導体装置が備える他の回路などから電力を回収してもよい。
【００１６】
モニタ部１３は、回生電源装置１２から供給される回生電源Ｐｒの電圧を検知し、この検知結果である回生電源電圧Ｖｃを電源制御部１７に出力する。モニタ部１３は、電源端子１１を介して供給される通常電源Ｐｎにより動作する。
【００１７】
基準電圧生成回路１４は、電源端子１１を介して供給される通常電源Ｐｎを用いて基準電圧Ｖ_ｒｅｆ（例えば、１．５Ｖ）を生成し、生成した基準電圧Ｖ_ｒｅｆを通常電源供給制御部１５および回生電源供給制御部１６に供給する。
【００１８】
通常電源供給制御部１５は、電源制御部１７から出力された制御信号ＣＴＲ_ｎに応じて通常電源から処理部（つまり、ＣＰＵ２１等に接続された電源ライン１９）への電源供給を制御する。つまり、通常電源供給制御部１５は、制御信号ＣＴＲ_ｎに応じて通常電源Ｐｎの電圧や供給量を調整し、調整後の通常電源Ｐｎ_ｏｕｔを電源ライン１９に供給する。このとき、通常電源供給制御部１５は、基準電圧生成回路１４で生成された基準電圧Ｖ_ｒｅｆを用いて、通常電源Ｐｎの電圧を調整してもよい。また、通常電源供給制御部１５は、電源ライン１９に通常電源Ｐｎを供給しないように制御することもできる。
【００１９】
例えば、電源端子１１に供給される通常電源Ｐｎの電圧が５Ｖであり、電源ライン１９に供給されるべき電圧が１．５Ｖである場合、通常電源供給制御部１５は、電源端子１１に供給される通常電源の電圧（５Ｖ）を１．５Ｖに降圧する。なお、本実施の形態において、通常電源供給制御部１５は、電源端子１１に供給される通常電源Ｐｎの電圧を降圧するのみならず、電源端子１１に供給される通常電源Ｐｎの電圧を昇圧するように構成してもよい。
【００２０】
回生電源供給制御部１６は、電源制御部１７から出力された制御信号ＣＴＲ_ｒに応じて回生電源装置１２から処理部（ＣＰＵ２１等）への電源供給を制御する。つまり、回生電源供給制御部１６は、制御信号ＣＴＲ_ｒに応じて回生電源Ｐｒの電圧や供給量を調整し、調整後の回生電源Ｐｒ_ｏｕｔを電源ライン１９に供給する。このとき、回生電源供給制御部１６は、基準電圧生成回路１４で生成された基準電圧Ｖ_ｒｅｆを用いて、回生電源Ｐｒの電圧を調整してもよい。また、回生電源供給制御部１６は、電源ライン１９に回生電源Ｐｒを供給しないように制御することもできる。
【００２１】
例えば、電源ライン１９に供給されるべき電圧が１．５Ｖである場合、回生電源供給制御部１６は、回生電源Ｐｒを１．５Ｖに降圧する。なお、本実施の形態において、回生電源供給制御部１６は、回生電源Ｐｒの電圧を降圧するのみならず、回生電源Ｐｒの電圧を昇圧するように構成してもよい。
【００２２】
電源制御部１７は、通常電源供給制御部１５および回生電源供給制御部１６を制御する。電源制御部１７は、モニタ部１３から出力された回生電源電圧Ｖｃを入力し、通常電源供給制御部１５を制御するための制御信号ＣＴＲ_ｎを通常電源供給制御部１５に出力し、回生電源供給制御部１６を制御するための制御信号ＣＴＲ_ｒを回生電源供給制御部１６に出力する。
【００２３】
ＣＰＵ２１はバス２５、２７を介して電源制御部１７と接続されている。また、ＣＰＵ２１はバス２５を介して周辺回路２３と接続されている。ＣＰＵ２１には、電源ライン１９から電源が供給される。ＣＰＵ２１は、一般的なマイクロコントローラが行う制御と共に、電源制御部１７の制御や周辺回路２３の制御も行う。更にＣＰＵ２１は、メモリバス２８を介してメモリ２２に命令要求を行い、メモリ２２に格納されているアプリケーションプログラムの命令をフェッチする。メモリ２２には、電源ライン１９から電源が供給される。
【００２４】
周辺回路２３は、例えばタイマ回路や通信回路を備える。タイマ回路は、任意の周波数の波形出力が可能な回路である。また、通信回路はＵＡＲＴ、ＳＰＩ、ＣＡＮなどの通信回路である。周辺回路２３は、バス２５を介してＣＰＵ２１と接続されている。また、周辺回路２３には、電源ライン１９から電源が供給される。なお、本実施の形態にかかる半導体装置では、周辺回路としてタイマ回路や通信回路以外の回路を備えていてもよい。
【００２５】
次に、本実施の形態にかかる半導体装置１が備える電源制御部１７について詳細に説明する。電源制御部１７は、予め求められた、ＣＰＵ２１において処理されるルーチンの所定の時間当たりの消費電力の見積値と、モニタ部１３で検知された回生電源電圧Ｖｃと、に基づいて通常電源供給制御部１５および回生電源供給制御部１６を制御する。つまり、電源制御部１７は、予め求められた消費電力の見積値を用いて通常電源閾値電圧Ｖｔｈ_Ｐｎを決定し、当該通常電源閾値電圧Ｖｔｈ_Ｐｎとモニタ部１３で検知された回生電源電圧Ｖｃとの比較結果に基づいて通常電源供給制御部１５および回生電源供給制御部１６を制御する。以下で詳細に説明する。
【００２６】
図２は、本実施の形態にかかる半導体装置１が備える電源制御部１７を示すブロック図である。図２に示すように、電源制御部１７は、イネーブル設定レジスタ３１、単位時間設定レジスタ３２、動作ルーチン設定レジスタ３３、回路安定時間レジスタ３４、タイマ３５、演算データ算出回路３６、メモリ３７、消費電力演算回路３８、閾値演算回路３９、回生電源閾値電圧レジスタ４１、および比較回路４２、４３を備える。
【００２７】
イネーブル設定レジスタ３１、単位時間設定レジスタ３２、および動作ルーチン設定レジスタ３３の設定情報は、ＣＰＵ２１がバス２５、２７を介して各々のレジスタにアクセスすることで書き込まれる。
【００２８】
イネーブル設定レジスタ３１は、電源制御部１７の動作開始を設定するレジスタである。イネーブル設定レジスタ３１は、イネーブル信号ＳＩＧ_ＥＮをタイマ３５および比較回路４３に出力する。
【００２９】
単位時間設定レジスタ３２は、通常電源供給制御部１５および回生電源供給制御部１６が電源供給を制御（スイッチング制御）する際の基本単位となる単位時間を設定するレジスタである。単位時間設定レジスタ３２は、単位時間信号ＳＩＧ_ＵＴをタイマ３５および演算データ算出回路３６に出力する。
【００３０】
動作ルーチン設定レジスタ３３は、半導体装置１のメモリ２２に格納されているプログラムの中で、実行されるプログラムのルーチン番号を設定するためのレジスタである。動作ルーチン設定レジスタ３３は、動作ルーチン信号ＳＩＧ_ＲＴを演算データ算出回路３６に出力する。
【００３１】
回路安定時間レジスタ３４は、通常電源供給制御部１５および回生電源供給制御部１６の制御（スイッチング制御）が安定するために必要な時間である回路安定時間情報ｔ＿ＳＴを格納するレジスタである。本実施の形態では、通常電源供給制御部１５の安定時間と回生電源供給制御部１６の安定時間を同一であるものとするが、通常電源供給制御部１５の安定時間と回生電源供給制御部１６の安定時間は別々に設定してもよい。回路安定時間情報ｔ＿ＳＴは、回路安定時間レジスタ３４にハイまたはロウの２進数でハードウエアとして予め書き込まれていてもよく、またＣＰＵ２１によって設定することができるように構成してもよい。回路安定時間レジスタ３４は、回路安定時間情報ｔ＿ＳＴを演算データ算出回路３６に出力する。
【００３２】
タイマ３５は、イネーブル信号ＳＩＧ_ＥＮおよび単位時間信号ＳＩＧ_ＵＴを入力し、単位時間クロックＣＬＫを演算データ算出回路３６に出力する。例えば、タイマ３５は、イネーブル信号ＳＩＧ_ＥＮが活性状態となった場合、単位時間信号ＳＩＧ_ＵＴで示される時間をカウントして単位時間クロックＣＬＫを生成する。
【００３３】
演算データ算出回路３６は、動作ルーチン信号ＳＩＧ_ＲＴ、単位時間信号ＳＩＧ_ＵＴ、回路安定時間情報ｔ＿ＳＴ、および単位時間クロックＣＬＫを入力する。演算データ算出回路３６は、単位時間クロックＣＬＫに同期して、動作ルーチン信号ＳＩＧ_ＲＴと単位時間信号ＳＩＧ_ＵＴとに基づいて、メモリ３７に格納されている単位時間毎の消費電力情報から、読み出し対象となるルーチン番号の対象時間帯のデータが格納されたメモリ３７のアドレスＡＤＤを算出し、このアドレスＡＤＤをメモリ３７に出力する。本実施の形態では、例えば２つのアドレスが単位時間設定レジスタ３２で指定される時間内に順次出力される。
【００３４】
メモリ３７は、演算データ算出回路３６から出力されたアドレスＡＤＤを入力し、指定されたアドレスに記憶されている消費電力情報ＩＮＦ_Ｑｃを消費電力演算回路３８に出力する。図３は、メモリ３７に格納されている消費電力情報の一例を示す図である。図３に示すように、メモリ３７には、各々のルーチンｒ１〜ｒｍを実行した際の各々の単位時間ｔ０〜ｔｎにおける消費電力が対応づけて格納されている（ｍ、ｎは正の整数とする）。
【００３５】
例えば、ルーチンｒ１を実行した場合の単位時間ｔ１における消費電力はＱｃ_ｒ１_１である。メモリ３７は、演算データ算出回路３６から出力されたアドレスＡＤＤが、Ｑｃ_ｒ１_１が格納されたアドレスである場合、ルーチンｒ１を実行した場合の単位時間ｔ１における消費電力Ｑｃ_ｒ１_１を消費電力情報ＩＮＦ_Ｑｃとして消費電力演算回路３８に出力する。
【００３６】
消費電力演算回路３８は、メモリ３７から順次出力される消費電力情報ＩＮＦ_Ｑｃ（つまり、ルーチンの単位時間当たりの消費電力）を加算して、加算後の値を消費電力の見積値Ｑｃ_ｅｓｔとして閾値演算回路３９に出力する。例えば、消費電力演算回路３８は、２つの消費電力情報ＩＮＦ_Ｑｃを加算することで、２つの単位時間における消費電力の見積値Ｑｃ_ｅｓｔを求めることができる。
【００３７】
閾値演算回路３９は、消費電力の見積値Ｑｃ_ｅｓｔと回生電源閾値電圧Ｖｔｈ_Ｐｒを入力する。ここで、回生電源閾値電圧Ｖｔｈ_Ｐｒは、回生電源閾値電圧レジスタ４１に格納されている。回生電源閾値電圧Ｖｔｈ_Ｐｒは、回生電源閾値電圧レジスタ４１にハイまたはロウの２進数でハードウエアとして予め書き込まれていてもよく、またＣＰＵ２１によって設定することができるように構成してもよい。
【００３８】
閾値演算回路３９は、消費電力演算回路３８から出力された消費電力の見積値Ｑｃ_ｅｓｔを所定の時間における電圧値に換算し、更にこの換算した電圧値と回生電源閾値電圧Ｖｔｈ_Ｐｒとを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出することができる。  閾値演算回路３９は、通常電源閾値電圧Ｖｔｈ_Ｐｎを比較回路４２に出力する。
【００３９】
比較回路４２は、閾値演算回路３９から出力された通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとを比較し、この比較結果に基づいて通常電源供給制御部１５を制御（例えば、オン／オフ制御）する制御信号ＣＴＲ_ｎを出力する。
【００４０】
また、比較回路４２は、比較回路４３から出力された回生電源供給制御部１６の制御信号ＣＴＲ_ｒを入力し、回生電源供給制御部１６がオン状態となった場合（つまり、回生電源供給制御部１６が電源ライン１９に電力を供給し始めた場合）、回生電源供給制御部１６の安定時間の間、通常電源供給制御部１５がオフ状態とならないような制御信号ＣＴＲ_ｎを出力する。
【００４１】
比較回路４３は、モニタ部１３から出力された回生電源電圧Ｖｃ、回生電源閾値電圧レジスタ４１から出力された回生電源閾値電圧Ｖｔｈ_Ｐｒ、およびイネーブル設定レジスタ３１から出力されたイネーブル信号ＳＩＧ_ＥＮを入力する。そして、イネーブル信号ＳＩＧ_ＥＮが活性状態である場合、回生電源閾値電圧Ｖｔｈ_Ｐｒと回生電源電圧Ｖｃとを比較し、この比較結果に基づいて回生電源供給制御部１５を制御（例えば、オン／オフ制御）する制御信号ＣＴＲ_ｒを出力する。一方、イネーブル信号ＳＩＧ_ＥＮが非活性状態である場合、比較回路４３は回生電源供給制御部１５をオフ状態とする制御信号ＣＴＲ_ｒを出力する。
【００４２】
次に、本実施の形態にかかる半導体装置１の動作について説明する。
図１に示す電源端子１１に電源が供給されると、基準電圧生成回路１４は、基準電圧Ｖ_ｒｅｆを生成し、生成した基準電圧Ｖ_ｒｅｆを通常電源供給制御部１５および回生電源供給制御部１６に供給する。通常電源供給制御部１５は、電源端子１１に供給された通常電源Ｐｎを基準電圧Ｖ_ｒｅｆと同一の電圧に調整し、調整後の通常電源Ｐｎ_ｏｕｔを電源ライン１９に供給する。このとき、回生電源供給制御部１６は初期設定でオフとし、基準電圧生成回路１４から基準電圧Ｖ_ｒｅｆが供給されても、電源ライン１９に回生電源Ｐｒ_ｏｕｔを供給しないものとする。
【００４３】
モニタ部１３は、回生電源Ｐｒの電圧のモニタを開始する。電源制御部１７、ＣＰＵ２１、メモリ２２、および周辺回路２３は、通常電源供給制御部１５からの電源供給を受けて動作可能な状態となる。ＣＰＵ２１は、メモリ２２に格納されているアプリケーションプログラムの命令を読み出し実行する。
【００４４】
次に、半導体装置１において回生電源Ｐｒを用いる場合の動作について説明する。電源制御部１７は、ＣＰＵ２１による設定とモニタ部１３から出力された回生電源電圧Ｖｃに基づいて、通常電源供給制御部１５および回生電源供給制御部１６を制御する。
【００４５】
図４は、本実施の形態にかかる半導体装置１の動作を説明するための図である。図４に示す表には、回生電源Ｐｒの蓄電状態、並びに通常電源供給制御部１５および回生電源供給制御部１６の単位時間毎のオン／オフ状態を示している。図４に示すＱ１〜Ｑ８は、２つの単位時間毎の消費電力量を示し、Ｑ９は期間ｔ９のみの消費電力量を示している。期間ｔ０〜ｔ９は同じ時間間隔であり、この時間間隔は単位時間に対応している。また、この時間間隔（単位時間）は、回路安定時間レジスタ３４（図２参照）に格納されている回路安定時間情報ｔ＿ＳＴに対応している。ここで、プログラムであるルーチンｒ１の時間は、ｔ０からｔ９の時間の合計である。
【００４６】
また、図４に示すグラフには、期間ｔ０〜ｔ９における回生電源電圧Ｖｃと、通常電源供給制御部１５のオン／オフ制御の閾値となる通常電源閾値電圧Ｖｔｈ_Ｐｎと、回生電源供給制御部１６のオン／オフ制御の閾値となる回生電源閾値電圧Ｖｔｈ_Ｐｒとを示している。本実施の形態では、一例として回生電源閾値電圧Ｖｔｈ_Ｐｒは１．８Ｖに固定されている。また、通常電源閾値電圧Ｖｔｈ_Ｐｎは、２単位時間の消費電力Ｑ１〜Ｑ８を用いて決定される。ここで、通常電源閾値電圧Ｖｔｈ_Ｐｎの値は１単位時間毎に更新される。
【００４７】
図４に示す期間ｔ０において、ＣＰＵ２１はバス２５、２７を介してルーチン番号を動作ルーチン設定レジスタ３３に設定する。ここで、設定するルーチン番号は、アプリケーションプログラム中の各種動作ルーチン内で回生電源Ｐｒによる電源供給を実施するルーチンの番号である。例えば、アプリケーションプログラム設計者は、予めどのルーチンで回生電源Ｐｒを使用するかを決めた上でプログラムを作成することにより設定するルーチン番号を決定することができる。本実施の形態では、消費電力を見積もることができるルーチンでのみ回生電源を用いるように構成してもよい。動作ルーチン設定レジスタ３３に設定されたルーチン番号は、動作ルーチン信号ＳＩＧ_ＲＴとして演算データ算出回路３６に出力される。
【００４８】
更に、ＣＰＵ２１はバス２５、２７を介して、ルーチンを時間単位で分割した最小の単位時間を単位時間設定レジスタ３２に設定する。ここで単位時間は、通常電源供給制御部１５および回生電源供給制御部１６が安定するために必要な時間（回路安定時間）に基づいて決定することができる。例えば、単位時間は、通常電源供給制御部１５および回生電源供給制御部１６が安定するために必要な時間と同一とすることができる。単位時間設定レジスタ３２に設定された単位時間は、単位時間信号ＳＩＧ_ＵＴとしてタイマ３５および演算データ算出回路３６に出力される。
【００４９】
更に、ＣＰＵ２１がバス２５、２７を介してイネーブル設定レジスタ３１にハイレベル（活性状態）を設定すると、タイマ３５は単位時間周期のクロックＣＬＫを生成し、生成したクロックＣＬＫを演算データ算出回路３６に出力する。
【００５０】
期間ｔ０では、イネーブル設定レジスタ３１にハイレベルが設定されると同時に、その情報がイネーブル信号ＳＩＧ_ＥＮとして比較回路４３に出力される。そして、モニタ部１３から出力された回生電源電圧Ｖｃが回生電源閾値電圧Ｖｔｈ_Ｐｒ以上であるので、比較回路４３は回生電源供給制御部１６をオン状態とするための制御信号ＣＴＲ_ｒを回生電源供給制御部１６に出力する。これにより、期間ｔ０において回生電源供給制御部１６がオン状態となる。つまり、回生電源供給制御部１６が調整後の電源Ｐｒ_ｏｕｔを電源ライン１９に出力する。
【００５１】
また、期間ｔ０は、通常電源供給制御部１５が安定してオンしている状態であるため、回生電源供給制御部１６の回路安定時間を考慮することなく、回生電源供給制御部１６をオン状態にすることができる。また、期間ｔ０では通常電源供給制御部１５をオフ状態にしないため、この期間は演算データ算出回路３６、消費電力演算回路３８、閾値演算回路３９、比較回路４２は使用されない。
【００５２】
期間ｔ１の開始のタイミングにおいて、演算データ算出回路３６は、動作ルーチン信号ＳＩＧ_ＲＴに含まれる動作ルーチン番号、タイマ３５から出力されたクロックＣＬＫを用いて、ルーチンｒ１の期間ｔ１と期間ｔ２のデータを指定するためのアドレスＡＤＤを生成し、生成したアドレスＡＤＤをメモリ３７に出力する。メモリ３７は、アドレスＡＤＤに対応した消費電力情報ＩＮＦ_Ｑｃ（図３に示す例では、Ｑｃ_ｒ１_１、Ｑｃ_ｒ１_２）を消費電力演算回路３８に出力する。
【００５３】
消費電力演算回路３８は、メモリ３７から出力された消費電力情報であるＱｃ_ｒ１_１とＱｃ_ｒ１_２とを加算して、加算後の値Ｑ１を消費電力の見積値Ｑｃ_ｅｓｔとして閾値演算回路３９に出力する。閾値演算回路３９は、消費電力演算回路３８から出力された消費電力の見積値Ｑ１を、回生電源電圧Ｖｃの降下量（電圧値）に換算し、更にこの換算した電圧値と回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）とを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出する。ここで、回生電源電圧Ｖｃの降下量（電圧値）は、例えば、消費電力の見積値Ｑ１と回生電源の蓄電容量とを用いて求めることができる。
【００５４】
図５は、本実施の形態にかかる半導体装置の動作を説明するための図であり、消費電力量に応じて通常電源閾値電圧Ｖｔｈ_Ｐｎを決定する場合を説明するための図である。図５に示す遷移例１は、期間ｔ０と期間ｔ１の消費電力Ｑ１が最大値ではないある値Ｑｃである場合の回生電源電圧Ｖｃの傾きと通常電源閾値電圧Ｖｔｈ_Ｐｎを示している。遷移例２は、例えば期間ｔ０と期間ｔ１の消費電力Ｑ１が最大値Ｑｍａｘである場合の回生電源電圧Ｖｃの傾きと通常電源閾値電圧Ｖｔｈ_Ｐｎを示している。遷移例１の消費電力Ｑｃは、遷移例２の消費電力Ｑｍａｘよりも小さいため最大消費電力Ｑｍａｘが見込まれる場合に比べて通常電源閾値電圧Ｖｔｈ_Ｐｎを低く設定できる。
【００５５】
閾値演算回路３９で設定された通常電源閾値電圧Ｖｔｈ_Ｐｎは、比較回路４２に出力される。そして、比較回路４２において通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとが比較される。図４に示すように、期間ｔ１では回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎ以上であるので、通常電源供給制御部１５をオフにする制御信号ＣＴＲ_ｎが出力される。これにより、通常電源供給制御部１５はオフ状態となり、通常電源供給制御部１５は電源ライン１９への電源Ｐｎ_ｏｕｔの供給を停止する。
【００５６】
また、比較回路４３において回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）と、モニタ部１３から出力された回生電源電圧Ｖｃとが比較される。期間ｔ１では、回生電源電圧Ｖｃが回生電源閾値電圧Ｖｔｈ_Ｐｒ以上であるので、回生電源供給制御部１６をオン状態に維持する制御信号ＣＴＲ_ｒが出力される。
【００５７】
期間ｔ２においても、期間ｔ１で説明した場合と同様の手順で、期間ｔ２と期間ｔ３とにおける消費電力の見積値Ｑ２を求め、この見積値Ｑ２と回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）とを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出する。そして、比較回路４２において通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとを比較する。期間ｔ２においても、回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎ以上であるので、比較回路４２は、通常電源供給制御部１５をオフ状態に維持する制御信号ＣＴＲ_ｎを出力する。これにより、通常電源供給制御部１５はオフ状態を維持する。
【００５８】
期間ｔ３においても、上記と同様の手順で期間ｔ３と期間ｔ４とにおける消費電力の見積値Ｑ３を求め、この見積値Ｑ３と回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）とを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出する。そして、比較回路４２において通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとを比較する。この場合は、タイミングｔαにおいて回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎよりも低くなるため、期間ｔ３の開始タイミング後に電源制御部１７は通常電源供給制御部１５をオン状態とするための制御信号ＣＴＲ_ｎを通常電源供給制御部１５に出力する。これにより、期間ｔ３において通常電源供給制御部１５がオン状態となる。つまり、通常電源供給制御部１５が調整後の電源Ｐｎ_ｏｕｔを電源ライン１９に出力する。
【００５９】
回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎよりも低くなった場合は、比較回路４３において回生電源電圧Ｖｃと回生電源閾値電圧Ｖｔｈ_Ｐｒとが随時比較される。しかし、期間ｔ３では回生電源電圧Ｖｃが回生電源閾値電圧Ｖｔｈ_Ｐｒ以上であるため、回生電源供給制御部１６はオン状態を維持する。
【００６０】
また、期間ｔ３の開始タイミングから制御信号ＣＴＲ_ｎ、ＣＴＲ_ｒが出力されるまでの処理時間は期間ｔ３の時間と比べて十分小さく、通常電源供給制御部１５がオフ状態からオン状態に遷移した後、期間ｔ３の残りの時間で通常電源供給制御部１５が安定するように設計されている。つまり、期間ｔ４のどのタイミングで回生電源供給制御部１６がオフ状態になっても、通常電源供給制御部１５は安定して電源を供給することができる。
【００６１】
期間ｔ４においても、上記と同様の手順で期間ｔ４と期間ｔ５とにおける消費電力の見積値Ｑ４を求め、この見積値Ｑ４と回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）とを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出する。そして、比較回路４２において通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとを比較する。この場合は、回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎよりも低いため、期間ｔ４の開始タイミング後に、比較回路４２は通常電源供給制御部１５をオン状態に維持する制御信号ＣＴＲ_ｎを出力する。これにより、通常電源供給制御部１５はオン状態を維持する。
【００６２】
また、回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎよりも低くなった場合は、比較回路４３において回生電源電圧Ｖｃと回生電源閾値電圧Ｖｔｈ_Ｐｒとが随時比較される。そして回生電源電圧Ｖｃが回生電源閾値電圧Ｖｔｈ_Ｐｒよりも低くなったタイミングｔβにおいて、比較回路４３は、回生電源供給制御部１６をオフ状態とする制御信号ＣＴＲ_ｒを出力する。これにより、回生電源供給制御部１６はオフ状態となる。このように、期間ｔ４では回生電源供給制御部１６がオフ状態となるが、既に通常電源供給制御部１５が電源ライン１９に安定的に電源を供給しているので、電源供給不足によりＣＰＵ２１、メモリ２２、周辺回路２３等が誤動作することを抑制することができる。
【００６３】
期間ｔ５においても、上記と同様の手順で期間ｔ５と期間ｔ６とにおける消費電力の見積値Ｑ５を求め、この見積値Ｑ５と回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）とを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出する。そして、比較回路４２において通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとを比較する。この場合も、回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎよりも低いため、期間ｔ５の開始タイミング後に、比較回路４２は通常電源供給制御部１５をオン状態に維持する制御信号ＣＴＲ_ｎを出力する。これにより、通常電源供給制御部１５はオン状態を維持する。
【００６４】
仮に、期間ｔ５において回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎ以上となった場合であっても、この期間ｔ５では、比較回路４２が通常電源供給制御部１５をオフ状態にする制御信号ＣＴＲ_ｎを出さないように構成されている。つまり、回生電源供給制御部１６をオン状態とした後、回路安定時間（単位時間）が経過するまでは、通常電源供給制御部１５をオフ状態としないように制御することで、回生電源供給制御部１６が安定動作するための時間を確保することができる。
【００６５】
期間ｔ６においても、上記と同様の手順で期間ｔ６と期間ｔ７とにおける消費電力の見積値Ｑ６を求め、この見積値Ｑ６と回生電源閾値電圧Ｖｔｈ_Ｐｒ（１．８Ｖ）とを加算することで通常電源閾値電圧Ｖｔｈ_Ｐｎを算出する。そして、比較回路４２において通常電源閾値電圧Ｖｔｈ_Ｐｎと、モニタ部１３から出力された回生電源電圧Ｖｃとを比較する。この場合は、回生電源電圧Ｖｃが通常電源閾値電圧Ｖｔｈ_Ｐｎ以上であり、また回生電源供給制御部１６の回路安定時間（つまり、単位時間）も経過しているので、通常電源供給制御部１５をオフにする制御信号ＣＴＲ_ｎが出力される。これにより、通常電源供給制御部１５はオフ状態となり、通常電源供給制御部１５は電源ライン１９への電源Ｐｎ_ｏｕｔの供給を停止する。
【００６６】
期間ｔ７〜期間ｔ８の動作は期間ｔ２の動作と同様である。
期間ｔ９はルーチンｒ１の最終期間であるので、期間ｔ９の終了時に回生電源供給制御部１６がオフ状態となる。このため、期間ｔ９の開始時に電源制御部１７は通常電源供給制御部１５をオン状態にする制御信号ＣＴＲ_ｎを出力する。これにより、通常電源供給制御部１５はオン状態となり、通常電源供給制御部１５は電源ライン１９への電源Ｐｎ_ｏｕｔの供給を開始する。よって、期間ｔ９の終了時に回生電源供給制御部１６がオフ状態となっても、電源ライン１９に電源が安定して供給される。
【００６７】
本実施の形態にかかる半導体装置１では、上記で説明したように、通常電源閾値電圧Ｖｔｈ_Ｐｎを単位時間の２倍の期間毎に、この期間の消費電力の見積値に応じて決定している。このように構成することで、例えば、期間ｔ４において回生電源電圧Ｖｃが回生電源閾値電圧Ｖｔｈ_Ｐｒよりも低くなることを期間ｔ３において事前に予測できる。そして、期間ｔ３において予め通常電源供給制御部１５をオン状態とし、期間ｔ４の開始時には通常電源供給制御部１５が安定した状態となるようにしている。これにより、期間ｔ４のどの時点で回生電源供給制御部１６がオフ状態になっても、電源ライン１９に電力を安定的に供給し続けることができ、ＣＰＵ２１等の誤動作を抑制することができる。なお、消費電力の見積値を求める期間は単位時間の２倍の期間に限定されることはなく、単位時間の３倍以上の期間としてもよい。換言すると、消費電力の見積値を求める期間は、単位時間を複数加算した時間である。
【００６８】
本実施の形態では、図５に示したように、通常電源供給制御部１５のみがオン状態となっている状態Ａと、通常電源供給制御部１５と回生電源供給制御部１６との両方がオン状態となっている状態Ｂと、回生電源供給制御部１６のみがオン状態となっている状態Ｃとを有する。本実施の形態にかかる半導体装置１では、この３つの状態を、実行するアプリケーションプログラムのルーチンの消費電力量に応じて、それぞれを適切に切り換える制御を行う。
【００６９】
すなわち、半導体装置１は、アプリケーションプログラムの消費電力が予測できるプログラムのルーチンを単位時間で分割する。この単位時間は、通常電源供給制御部１５と回生電源供給制御部１６の動作が安定する期間に対応する時間とする。そして、電源制御部１７は、プログラムルーチンの単位時間あたりの消費電力量をテーブル情報としてメモリに保持しておく。
【００７０】
そして、このテーブル情報から通常電源供給制御部１５と回生電源供給制御部１６の動作が安定する期間よりも先のタイミングまでの消費電力を見積もることで、通常電源閾値電圧Ｖｔｈ_Ｐｎを求め、この通常電源閾値電圧ＶｔｈＰｎを基準として、通常電源供給制御部１５を制御する。よって、通常電源Ｐｎから回生電源Ｐｒへの電源切り替えタイミング、あるいは回生電源Ｐｒから通常電源Ｐｎへの電源切り替えタイミングにおいて、通常電源供給制御部１５と回生電源供給制御部１６の動作が不安定になることによる、電力供給不足を抑制することができる。したがって、回生電源からの電源供給を適切に制御することができ、ＣＰＵ２１等の誤動作を抑制することができる。
【００７１】
更に、本実施の形態にかかる半導体装置１では、通常電源供給制御部１５および回生電源供給制御部１６の安定時間を考慮して通常電源閾値電圧Ｖｔｈ_Ｐｎを決定するため、回生電源Ｐｒを有効に使用することができる。
【００７２】
図６は、図５に示した遷移例１、つまり所定のルーチンの２単位時間毎の消費電力を見積り、この見積値を用いて通常電源閾値電圧Ｖｔｈ_Ｐｎを決定した場合の、回生電源電圧Ｖｃの時間遷移、回生電力量、および消費電力量の関係を示す図である。
【００７３】
図６に示すように、期間ｔ１１では、電力の消費Ｑｃはあるが回生電力の蓄積はなく、また回生電源Ｐｒ_ｏｕｔのみで動作しているので、回生電源電圧Ｖｃは低下する。期間ｔ１２では、消費電力Ｑｃよりも回生電力Ｑｒが大きいため、回生電源Ｐｒ_ｏｕｔがオン状態であるが回生電源電圧Ｖｃは上昇する。期間ｔ１３では、消費電力Ｑｃよりも回生電力Ｑｒが大きいが、回生電源の蓄電容量が満充電状態となっているため、Ｑｘで示した電力が蓄電容量に蓄電されず無駄になる。
【００７４】
期間ｔ１４では、電力の消費Ｑｃはあるが回生電力の蓄積がないため回生電源電圧Ｖｃは低下する。期間ｔ１５でも、電力の消費Ｑｃはあるが回生電力の蓄積がないため回生電源電圧Ｖｃは低下する。しかし、期間ｔ１５では回生電源Ｐｒ_ｏｕｔに加えて通常電源Ｐｎ_ｏｕｔからも電力が供給されるので、回生電源電圧Ｖｃの下降の傾きは期間ｔ１４の場合よりも緩やかになる。
【００７５】
期間ｔ１６では、消費電力Ｑｃよりも回生電力Ｑｒが大きいため回生電源電圧Ｖｃは上昇する。また、回生電源Ｐｒ_ｏｕｔおよび通常電源Ｐｎ_ｏｕｔから電源が供給されているので、回生電源電圧Ｖｃの傾きは期間ｔ１２の場合よりも大きくなる。期間ｔ１７では、期間ｔ１２の場合と同じ傾きで、回生電源電圧Ｖｃが上昇する。
【００７６】
図７は、図５に示した遷移例２、つまり所定のルーチンの２単位時間毎の消費電力の見積値を最大消費電力Ｑｍａｘに固定し、この最大消費電力Ｑｍａｘを用いて通常電源閾値電圧Ｖｔｈ_Ｐｎを決定した場合の、回生電源電圧Ｖｃの時間遷移、回生電力量、および消費電力量の関係を示す図である。
【００７７】
図７に示すように、期間ｔ２１では、電力の消費Ｑｃはあるが回生電力の蓄積はなく、また回生電源Ｐｒ_ｏｕｔと通常電源Ｐｎ_ｏｕｔから電源が供給されているので、回生電源電圧Ｖｃは低下する。期間ｔ２２では、消費電力Ｑｃよりも回生電力Ｑｒが大きいため、回生電源Ｐｒ_ｏｕｔがオン状態であるが回生電源電圧Ｖｃは上昇する。期間ｔ２３では、期間ｔ２２と同様に消費電力Ｑｃよりも回生電力Ｑｒが大きいため、回生電源Ｐｒ_ｏｕｔがオン状態であるが回生電源電圧Ｖｃは上昇する。このとき、通常電源Ｐｎ_ｏｕｔからの電力供給は停止されるので、回生電源電圧Ｖｃの傾きは期間ｔ２２の場合よりも小さくなる。期間ｔ２４では、消費電力Ｑｃよりも回生電力Ｑｒが大きいが、回生電源の蓄電容量が満充電状態となっているため、Ｑｗ１で示した電力が蓄電容量に蓄電されず無駄になる。
【００７８】
期間ｔ２５では、電力の消費Ｑｃはあるが回生電力の蓄積がないため回生電源電圧Ｖｃは低下する。期間ｔ２６でも、電力の消費Ｑｃはあるが回生電力の蓄積がないため回生電源電圧Ｖｃは低下する。しかし、期間ｔ２６では回生電源Ｐｒ_ｏｕｔに加えて通常電源Ｐｎ_ｏｕｔからも電力が供給されるので、回生電源電圧Ｖｃの下降の傾きは期間ｔ２５の場合よりも緩やかになる。期間ｔ２７以降の動作に関しては、期間ｔ２２〜期間ｔ２４の動作と同様である。
【００７９】
図６、図７に示すように、図６に示した場合は無駄になる電力はＱｘであるのに対して、図７に示した場合は無駄になる電力はＱｗ１とＱｗ２の和となる。よって、図６に示す場合、すなわち、所定のルーチンの２単位時間毎の消費電力を見積り、この見積値を用いて通常電源閾値電圧Ｖｔｈ_Ｐｎを決定した場合の方が無駄になる電力が少ないといえる。
【００８０】
つまり、消費電力の見積値を最大消費電力Ｑｍａｘで固定した場合（図７）は、消費電力の見積値を用いた場合（図６）よりも、通常電源閾値電圧Ｖｔｈ_Ｐｎが高くなる。このように通常電源閾値電圧Ｖｔｈ_Ｐｎが高くなると、回生電源電圧Ｖｃの最大値Ｖｃ_ｍａｘと通常電源閾値電圧Ｖｔｈ_Ｐｎとの差が小さくなり、回生電源Ｐｒ_ｏｕｔのみで電源を供給する期間が短くなる。すなわち、回生電源Ｐｒ_ｏｕｔのみで電源を供給する期間は、図６の場合（消費電力の見積値を用いた場合）では、期間ｔ１１、ｔ１２、ｔ１４、ｔ１７であるのに対して、図７の場合（消費電力の見積値を最大消費電力Ｑｍａｘで固定した場合）では、期間ｔ２３、ｔ２５、ｔ２８と短い。このように回生電源Ｐｒ_ｏｕｔのみで電源を供給する期間が短いと、回生電源Ｐｒ_ｏｕｔに蓄積された電力が消費されないため、回生電源が発生した場合であっても蓄電することができなくなる。よって、消費電力の見積値を最大消費電力Ｑｍａｘで固定した場合（図７）は、無駄になる電力が多くなる。
【００８１】
一方、消費電力の見積値を最大消費電力Ｑｍａｘで固定した場合（図７）は、各ルーチンの最大消費電力の情報を保持すればいいので、メモリ３７に格納される情報量を少なくすることができ、また、消費電力演算回路３８を省略することができ、回路構成を簡素化することができるという利点がある。
【００８２】
上記で説明したように、半導体装置において電力を効率的に使用するための技術として、回収した電力を蓄える回生電源を利用する技術がある。例えば、半導体装置に電源を供給する手段として通常電源と回生電源とを設け、回生電源に回収した電力が蓄えられている場合は回生電源から電力を供給し、回生電源に電力が蓄えられていない場合は通常電源から電力を供給することで、半導体装置に電力を効率的に供給することができる。
【００８３】
しかしながら、回生電源は電源供給量に限りがあるため、半導体装置における電力の消費量に応じて回生電源からの電源供給を適切に制御する必要がある。回生電源からの電源供給を適切に制御しなければ、半導体装置への電力供給が停止したり、半導体装置への供給電圧が低下したりするなど、半導体装置への電源供給が不安定となり半導体装置の動作に影響を及ぼすという問題があった。
【００８４】
本実施の形態にかかる半導体装置では、電源制御部１７が、予め求められた、ＣＰＵ２１において処理されるルーチンの所定の時間当たりの消費電力の見積値と、モニタ部１３で検知された回生電源Ｐｒの電圧と、に基づいて、通常電源供給制御部１５および回生電源供給制御部１６を制御している。つまり、本実施の形態にかかる半導体装置では、半導体装置における電力の消費量を予め予測し、この予測した電力消費量に応じて回生電源からの電源供給を制御している。よって、回生電源からの電源供給を適切に制御することができる。
【００８５】
以上で説明した本実施の形態により、回生電源からの電源供給を適切に制御することができる半導体装置および半導体装置の制御方法を提供することができる。
【００８６】
＜実施の形態２＞
次に、実施の形態２について説明する。図８は、実施の形態２にかかる半導体装置１'を示すブロック図である。本実施の形態にかかる半導体装置１'では、回生電源装置５０および周辺回路４５の構成が実施の形態１で説明した半導体装置１と異なる。これ以外は実施の形態１で説明した半導体装置１と同様であるので、同一の構成要件には同一の符号を付し、重複した説明は省略する。
【００８７】
図８に示すように、周辺回路４５は、タイマ回路１〜ｐおよび通信回路１〜ｐを備える。タイマ回路１〜ｐは、任意の周波数の波形出力が可能な回路である。また、通信回路１〜ｐはＵＡＲＴ、ＳＰＩ、ＣＡＮなどの通信回路である。タイマ回路１〜ｐはタイマ出力を、通信回路１〜ｐは通信データと通信クロックを、データ信号ＤＡＴＡ_１〜ｑとしてバッファ回路５２に出力する（典型的にはｑ＝２ｐである）。また、タイマ回路１〜ｐはタイマ出力イネーブル信号を、通信回路１〜ｐは通信データイネーブル信号と通信クロックイネーブル信号を、イネーブル信号ＥＮ_１〜ｑとしてバッファ回路５２に出力する。
【００８８】
回生電源装置５０は、バッファ回路５２と蓄電容量５３とを備える。バッファ回路５２には電源端子５１を介して外部から電源Ｐｎ_ｂが供給される。バッファ回路５２に供給される電源Ｐｎ_ｂは、例えば５Ｖである。蓄電容量５３は、バッファ回路５２で消費される電荷の一部を蓄え、回生電源Ｐｒとして使用する。蓄電容量５３から出力された回生電源Ｐｒは、回生電源供給制御部１６に供給される。また、モニタ部１３は蓄電容量５３の出力、つまり回生電源Ｐｒの電圧をモニタしている。
【００８９】
次に、図９を用いて回生電源装置５０の具体的な構成例について説明する。
図９に示すように、回生電源装置５０は、ｑ個のバッファ回路５２_１〜５２_ｑを備え、各々のバッファ回路５２_１〜５２_ｑには電源端子５１から電源Ｐｂ_ｎが供給されている。バッファ回路５２_１〜５２_ｑには、周辺回路４５の出力であるデータ信号ＤＡＴＡ_１〜ｑおよびイネーブル信号ＥＮ_１〜ｑが供給される。
【００９０】
バッファ回路５２_１は、データ信号ＤＡＴＡ_１とイネーブル信号ＥＮ_１とを入力し、出力端子５６_１から出力信号ＢＵＦ_ｏｕｔ_１を出力する。出力信号ＢＵＦ_ｏｕｔ_１が出力される配線や出力端子５６_１には、寄生容量５７_１が寄生している。他のバッファ回路５２_２〜５２_ｑについても同様である。また、バッファ回路５２_１〜５２_ｑは、回生電源ライン５４を介して蓄電容量５３の一端に接続されている。蓄電容量５３の他端は接地されている。
【００９１】
バッファ回路５２_１は、ＰＭＯＳトランジスタＭＰ１と、ＮＭＯＳトランジスタＭＮ１、ＭＮ２と、遅延回路Ｄ１と、３ＡＮＤ回路（ＡＮＤ１）を備える。遅延回路Ｄ１は、データ信号ＤＡＴＡ_１およびイネーブル信号ＥＮ_１を入力し、イネーブル信号ＥＮ_１のタイミングに応じて出力Ｄ_ｏｕｔをＡＮＤ１およびＮＭＯＳトランジスタＭＮ２のゲートに出力する。ＡＮＤ１は、遅延回路Ｄ１の出力Ｄ_ｏｕｔの反転論理、データ信号ＤＡＴＡ_１、およびイネーブル信号ＥＮ_１を入力し、これらの３ＡＮＤ演算結果Ａ_ｏｕｔをＮＭＯＳトランジスタＭＮ１のゲートに出力する。
【００９２】
ＮＭＯＳトランジスタＭＮ１のゲートにはＡＮＤ１の演算結果Ａ_ｏｕｔが供給され、ドレインは出力端子５６_１に接続され、ソースは回生電源ライン５４に接続されている。ＮＭＯＳトランジスタＭＮ２のゲートには遅延回路Ｄ１の出力Ｄ_ｏｕｔが供給され、ドレインは出力端子５６_１に接続され、ソースは接地されている。ＰＭＯＳトランジスタＭＰ１のゲートにはデータ信号ＤＡＴＡ_１が供給され、ソースには電源Ｐｎ_ｂが供給され、ドレインは出力端子５６_１に接続に接続されている。
【００９３】
次に、図９に示した回生電源装置５０の動作について、図１０に示すタイミングチャートを用いて説明する。
【００９４】
周辺回路４５から出力されたデータ信号ＤＡＴＡ_１とイネーブル信号ＥＮ_１は、遅延回路Ｄ１に供給される。遅延回路Ｄ１は、データ信号ＤＡＴＡ_１がハイレベルになるとデータ信号ＤＡＴＡ_１の立ち上がりを遅延させた出力Ｄ_ｏｕｔをｔ３１、ｔ３２、ｔ３３の各タイミングにおいて出力する。
【００９５】
ＡＮＤ１は、遅延回路Ｄ１の出力Ｄ_ｏｕｔの反転論理、データ信号ＤＡＴＡ_１、およびイネーブル信号ＥＮ_１を入力し、これらの３ＡＮＤ演算結果Ａ_ｏｕｔとして、ｔ３１、ｔ３２、ｔ３３の各タイミングにおいてワンショットパルスを出力する。
【００９６】
タイミングｔ３１では、データ信号ＤＡＴＡ_１がロウレベルからハイレベルに遷移するため、ＰＭＯＳトランジスタＭＰ１はオン状態からオフ状態になる。また、タイミングｔ３１の直前ではＰＭＯＳトランジスタＭＰ１はオン状態であったため、タイミングｔ３１では出力端子５６_１はハイレベルになっており、寄生容量５７_１には電荷が蓄積されている。
【００９７】
また、タイミングｔ３１においてＡＮＤ１は演算結果Ａ_ｏｕｔとしてワンショットパルスを出力するので、ＮＭＯＳトランジスタＭＮ１は、このワンショットパルスがハイレベルである期間、オン状態となる。これにより、寄生容量５７_１と蓄電容量５３とが短絡されて、寄生容量５７_１に蓄積されている電荷が蓄電容量５３に蓄えられる。
【００９８】
ＡＮＤ１の演算結果Ａ_ｏｕｔであるワンショットパルスがロウレベルになるタイミングで、遅延回路Ｄ１の出力Ｄ_ｏｕｔがハイレベルに遷移するため、ＮＭＯＳトランジスタＭＮ１がオフ状態となると同時に、ＮＭＯＳトランジスタＭＮ２がオン状態となる。これにより、出力端子５６_１はロウレベルになり、バッファ回路５２_１の出力ＢＵＦ_ｏｕｔ_１としてロウレベルの信号が出力される。
【００９９】
以降、タイミングｔ３２、ｔ３３においても同様の動作をすることで、図１０に示すように、蓄電容量５３の電圧Ｖｃ（つまり、回生電源電圧Ｖｃ）が上昇していく。そして、蓄電容量５３に所定の電荷が蓄積されると電圧Ｖｃが回生電源閾値電圧Ｖｔｈ_Ｐｒ以上となり、回生電源Ｐｒを使用することができるようになる。
【０１００】
また、上記の寄生容量５７_１に蓄積されている電荷を蓄電容量５３に蓄える動作は、イネーブル信号ＥＮ_１がハイレベルの場合に実施される。よって、寄生容量５７_１の電荷を再利用しない場合、例えば、寄生容量５７_１の容量が小さい場合や、トグル率が低くスピードが優先される場合は、イネーブル信号ＥＮ_１をロウレベルにすることで、寄生容量５７_１の電荷の回生の機能を停止することができる。
【０１０１】
半導体装置であるマイクロコントローラは、一般的に多数のタイマ出力や通信端子、あるいは外部拡張メモリ用のアドレスやデータといった出力端子を有している。よって、上記に示した回生電源装置５０を用いることで、これらの出力端子の寄生容量の充放電電荷を回収することができ、半導体装置１'の内部回路において回収した電荷を再利用することができる。
【０１０２】
次に、本実施の形態にかかる半導体装置１'の動作、特に、半導体装置１'に電源が投入されてから周辺回路４５が動作するまでについて説明する。半導体装置１'には、電源端子１１、５１を介して電源が供給される。例えば、電源端子１１には５Ｖの内部電源Ｐｎが供給され、電源端子５１には５Ｖの外部電源Ｐｎ_ｂが供給される。電源端子５１に外部電源Ｐｎ_ｂが供給されると、バッファ回路５２は動作可能な状態となる。電源端子１１に内部電源Ｐｎが供給されると、基準電圧生成回路１４は、基準電圧Ｖ_ｒｅｆを生成し、生成した基準電圧Ｖ_ｒｅｆを通常電源供給制御部１５および回生電源供給制御部１６に供給する。通常電源供給制御部１５は、電源端子１１に供給された通常電源Ｐｎを基準電圧Ｖ_ｒｅｆと同一の電圧に調整し、調整後の通常電源Ｐｎ_ｏｕｔを電源ライン１９に供給する。このとき、回生電源供給制御部１６は初期設定でオフとし、基準電圧生成回路１４から基準電圧Ｖ_ｒｅｆが供給されても、電源ライン１９に回生電源Ｐｒ_ｏｕｔを供給しないものとする。
【０１０３】
モニタ部１３は、回生電源Ｐｒの電圧のモニタを開始する。電源制御部１７、ＣＰＵ２１、メモリ２２、および周辺回路２３は、通常電源供給制御部１５からの電源供給を受けて動作可能な状態となる。ＣＰＵ２１は、メモリ２２に格納されているアプリケーションプログラムの命令を読み出し実行する。そして、ＣＰＵ２１は、バス２５を介して周辺回路４５のタイマ回路１〜ｐおよび通信回路１〜ｐに動作命令を出力し、タイマ回路１〜ｐおよび通信回路１〜ｐを動作させる。タイマ回路１〜ｐおよび通信回路１〜ｐは、ＣＰＵ２１からの指示に従って、データ信号ＤＡＴＡ_１〜ｑとイネーブル信号ＥＮ_１〜ｑを出力する。
【０１０４】
周辺回路４５からバッファ回路５２への出力が開始されることにより、各々のバッファ回路５２_１〜５２_ｑにおいて上記で説明した電荷を回生する動作が開始する。回生された電荷は蓄電容量５３に蓄積される。電荷が蓄積されると回生電源Ｐｒの電圧が上昇する。これにより、半導体装置において回生電源Ｐｒを用いることが可能になり、電源制御部１７は、ＣＰＵ２１による設定とモニタ部１３から出力された回生電源電圧Ｖｃに基づいて、通常電源供給制御部１５および回生電源供給制御部１６を制御する。電源制御部１７が通常電源供給制御部１５および回生電源供給制御部１６を制御する動作については実施の形態１の場合と同様であるので、重複した説明は省略する。
【０１０５】
近年、エネルギー問題や環境問題の対策の一環として、例えば電気自動車を中心としたエネルギーのインフラ革新が始まろうとしている。これに伴い、電気自動車で使用される半導体装置においても、電力を効率的に使用する技術が重要となってきている。現在、自動車向けのマイクロコントローラは、５Ｖインターフェースが主流である。一方、内部回路の電圧は、一般的に素子の微細化による耐圧対策および消費電力の抑制のために、例えばレギュレータで電圧を１．５Ｖ位に低くして供給している。
【０１０６】
また自動車向けマイクロコントローラは、通信回路やタイマ回路を多数搭載しており、通信回路やタイマ回路で使用する５Ｖ出力回路（バッファ回路）を多数搭載している。ここで、外部電源Ｐｎ_ｂが５Ｖ（つまり、出力端子５６の出力電圧が５Ｖ）であり、内部回路が１．５Ｖ（つまり、電源ライン１９が１．５Ｖ）である。よって、この電圧差を有効利用して、出力端子の５Ｖで消費される電荷の一部を回生して内部回路で使用することで、電力を効率的に使用することができる。
【０１０７】
しかしながら、回生電源は電源供給量に限りがあるため、半導体装置における電力の消費量に応じて回生電源からの電源供給を適切に制御する必要がある。回生電源からの電源供給を適切に制御しなければ、半導体装置への電力供給が停止したり、半導体装置への供給電圧が低下したりするなど、半導体装置への電源供給が不安定となり半導体装置の動作に影響を及ぼすという問題があった。
【０１０８】
本実施の形態にかかる半導体装置では、電源制御部１７が、予め求められた、ＣＰＵ２１において処理されるルーチンの所定の時間当たりの消費電力の見積値と、モニタ部１３で検知された回生電源Ｐｒの電圧と、に基づいて、通常電源供給制御部１５および回生電源供給制御部１６を制御している。つまり、本実施の形態にかかる半導体装置では、半導体装置における電力の消費量を予め予測し、この予測した電力消費量に応じて回生電源からの電源供給を制御している。よって、回生電源からの電源供給を適切に制御することができる。
【０１０９】
以上で説明した本実施の形態により、回生電源からの電源供給を適切に制御することができる半導体装置および半導体装置の制御方法を提供することができる。
【０１１０】
＜実施の形態３＞
次に、実施の形態３について説明する。図１１は、実施の形態３にかかる半導体装置６１を示すブロック図である。本実施の形態にかかる半導体装置６１では、回生電源装置６２が半導体装置の外部に設けられている点が実施の形態１で説明した半導体装置１と異なる。  つまり、図１１に示す半導体装置６１は、外部に設けられている回生電源装置６２から供給される回生電源Ｐｒを入力する電源端子６３を備える。回生電源装置６２は、任意の手段を用いて回生電源を蓄積することができる。これ以外は実施の形態１で説明した半導体装置１と同様であるので、同一の構成要件には同一の符号を付し、重複した説明は省略する。
【０１１１】
図１２は、図１１に示す半導体装置を備える自動車制御システムの一例を示す図である。図１２に示す自動車制御システム６０は、複数のＥＣＵ（electronic control unit）を備える。ＥＣＵ_ａは、ＭＰＵ_ａ（半導体装置）６１_ａと回生電源装置_ａ（６２_ａ）とを備える。ＭＰＵ_ａ（６１_ａ）と回生電源装置_ａ（６２_ａ）は、例えば同一の基板に搭載されている。
【０１１２】
ＭＰＵ_ａ（６１_ａ）および回生電源装置_ａ（６２_ａ）には、電源ライン６５から通常電源Ｐｎ_ａが供給される。また、回生電源装置_ａ（６２_ａ）は、ＭＰＵ_ａ（６１_ａ）に回生電源Ｐｒ_ａを供給する。ＭＰＵ_ａ（６１_ａ）は、通常電源Ｐｎ_ａおよび回生電源Ｐｒ_ａを用いて動作する。つまり、ＭＰＵ_ａ（６１_ａ）は、回生電源装置_ａで蓄電が行われ回生電源Ｐｒ_ａの電圧が上がると、回生電源Ｐｒ_ａを用いた動作を開始する。ここで、ＭＰＵ_ａ（６１_ａ）が通常電源Ｐｎ_ａおよび回生電源Ｐｒ_ａを用いる場合の動作は、実施の形態１で説明した場合と同様であるので重複した説明は省略する。なお、ＥＣＵ_ｂが備えるＭＰＵ_ｂ（６１_ｂ）および回生電源装置_ｂ（６２_ｂ）についても、ＥＣＵ_ａの場合と同様である。
【０１１３】
このように、各ＥＣＵがＭＰＵと回生電源とを備えるように構成することで、各ＥＣＵにおいて蓄積された回生電源をＭＰＵで有効に活用することができる。
【０１１４】
図１３は、図１１に示す半導体装置を備える自動車制御システムの他の例を示す図である。図１３に示す自動車制御システム７０は、複数のＥＣＵ_１〜６を備える。各々のＥＣＵ_１〜６は、ＭＰＵ_１〜６を備える。各々のＭＰＵ_１〜６には、回生電源ライン７４から回生電源Ｐｒが、通常電源ライン７５から通常電源Ｐｎがそれぞれ供給される。回生電源Ｐｒは回生電源蓄電池７２から供給される。回生電源蓄電池７２は、ブレーキ回生システム７１から出力された回生電力を蓄電する。つまり、ブレーキ回生システム７１は、自動車が減速する際の運動エネルギーを電荷に換えて回生電源蓄電池７２に回生電力を蓄電する。通常電源Ｐｎは通常電源蓄電池７３から供給される。
【０１１５】
図１３に示す自動車制御システム７０においても、ＭＰＵ_１は、通常電源Ｐｎおよび回生電源Ｐｒを用いて動作する。つまり、ＭＰＵ_１は、回生電源蓄電池７２が回生電力を蓄電し、回生電源Ｐｒの電圧が上がると、回生電源Ｐｒを用いた動作を開始する。ここで、ＭＰＵ_１が通常電源Ｐｎおよび回生電源Ｐｒを用いる場合の動作は、実施の形態１で説明した場合と同様であるので重複した説明は省略する。
【０１１６】
図１３に示す自動車制御システム７０では、自動車の運動エネルギーを電気エネルギーに変換するブレーキ回生システム７１を用いて回生した電荷を回生電源蓄電池に蓄積し、この回生電源を複数のＥＣＵに搭載したＭＰＵの回生電源端子に供給することで、各ＥＣＵにおいて適切に回生電源を活用することができる。よって、自動車のブレーキ回生システム７１を、複雑な構成とすることなく容易に活用することが可能となる。
【０１１７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１１８】
１  半導体装置
１１  電源端子
１２  回生電源装置
１３  モニタ部
１４  基準電圧生成回路
１５  通常電源供給制御部
１６  回生電源供給制御部
１７  電源制御部
１９  電源ライン
２１  ＣＰＵ
２２  メモリ
２３  周辺回路
２５  バス
３１  イネーブル設定レジスタ
３２  単位時間設定レジスタ
３３  動作ルーチン設定レジスタ
３４  回路安定時間レジスタ
３５  タイマ
３６  演算データ算出回路
３７  メモリ
３８  消費電力演算回路
３９  閾値演算回路
４１  回生電源閾値電圧レジスタ
４２、４３  比較回路
４５  周辺回路
５０  回生電源装置
５２  バッファ回路
５３  蓄電容量
６１  半導体装置
６２  回生電源装置
６３  電源端子
７１  ブレーキ回生システム
７２  回生電源蓄電池
７３  通常電源蓄電池
７４  回生電源ライン
７５  通常電源ライン
【図１】
2014081763.tif 000003
【図２】
2014081763.tif 000004
【図３】
2014081763.tif 000005
【図４】
2014081763.tif 000006
【図５】
2014081763.tif 000007
【図６】
2014081763.tif 000008
【図７】
2014081763.tif 000009
【図８】
2014081763.tif 000010
【図９】
2014081763.tif 000011
【図１０】
2014081763.tif 000012
【図１１】
2014081763.tif 000013
【図１２】
2014081763.tif 000014
【図１３】
2014081763.tif 000015