(57)【特許請求の範囲】
【請求項１】
半導体装置は、
外部装置の電源端子と接続するための外部端子と、
前記外部端子に前記外部装置の電源電圧を供給するポートと、
前記ポートの出力を制御するパワーマネージャと、
前記パワーマネージャの動作を制御するＣＰＵと、
を備え、
前記ポートは、前記外部端子と前記電源端子との断線および前記外部端子の地絡を検知するための回路を備え、
前記ポートは、
メインバッファと、
一端が電源に接続される可変抵抗と、
前記メインバッファの出力と前記可変抵抗の他端とを選択的に前記外部端子に接続する切替回路と、
前記外部端子に接続される入力バッファと、
で構成される。
【請求項２】
請求項１の半導体装置において、
前記ポートは駆動能力高める回路を備える。
【請求項３】
請求項２の半導体装置において、
前記ポートはサブバッファをさらに備え、制御信号によって前記サブバッファを活性化することにより駆動能力を高めるよう構成される。
【請求項４】
請求項１の半導体装置において、
前記パワーマネージャは、前記ＣＰＵによって設定されたレジスタの内容に基づいて前記ポートの出力をＨｉｇｈおよびＬｏｗにする信号を生成するよう構成される。
【請求項５】
請求項１の半導体装置において、
前記外部装置はセンサである。
【請求項６】
請求項１の半導体装置において、さらに、
前記外部装置の信号端子と接続するための入力端子と、
前記入力端子からのアナログ信号をデジタル信号に変換するＡ／Ｄ変換回路と、
を備える。
【請求項７】
請求項１の半導体装置において、
前記外部端子および前記ポートをそれぞれ複数備え、
前記パワーマネージャは複数の前記外部端子が所定数同時にＨｉｇｈになるときはエラーとして検出するよう構成される。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は半導体装置に関し、例えば外部センサに電源を供給するマイクロコントローラに適用可能である。
【背景技術】
【０００２】
車載システムの複雑性を改善するために、シングルワイヤバスといったものが提案されている。シングルワイヤバスでは、信号ラインでデバイスへの電源供給が行われるため、デバイス用の電源回路が不要になる。シングルワイヤバスに対応したデバイスは、信号ラインにダイオードを介してキャパシタが接続され、信号ラインの電圧をキャパシタに充電することで自分の電源として使う（例えば、米国特許出願公開第２００８／０２９８３８５号明細書）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００８／０２９８３８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
シングルワイヤバスを適用する車載システムでは、例えばセンサ等のデバイス側でシングルワイヤバスへの対応が必要となるが、すべてのデバイスが対応できるわけではない。シングルワイヤバス非対応のデバイスを用いたシステムでは、デバイス用の電源回路等の回路が必要となる。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００５】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、半導体装置はセンサ等の外部デバイスの電源に接続して直接給電を行うポートを備える。
【発明の効果】
【０００６】
上記半導体装置によれば、デバイス用の電源回路等の回路が不要となる。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る半導体装置を説明するためのブロック図
【図２】実施例に係るＥＣＵシステムの構成を示すブロック図
【図３】図２のセンサの構成を示すブロック図
【図４】図２のＥＣＵシステムの動作タイミング図
【図５】比較例に係るＥＣＵシステムの構成を示すブロック図
【図６】図２の入出力ポート部のポートの構成を示す回路図
【図７】図６のスイッチの構成を示す回路図
【図８】図６の出力バッファの真理値表
【図９】図６のポートによる故障検出を説明するための表
【図１０】変形例に係るポートの構成を示す回路図
【図１１】図１０の出力バッファの真理値表
【図１２】図２のパワーマネージャの構成を示すブロック図
【図１３】図１２のシーケンサの構成を示すブロック図
【図１４】図１３のシーケンサの第１の動作例を示すタイミング図
【図１５】図１３のシーケンサの第２の動作例を示すタイミング図
【図１６】図１３のシーケンサの第３の動作例を示すタイミング図
【図１７】図１２のパワーマネージャのエラー検出機能を説明するためのタイミング図
【発明を実施するための形態】
【０００８】
以下、実施形態、実施例および変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【０００９】
最近の自動車は、更なる燃費向上、各国の厳しくなる排ガス規定への対応、アンチロック・ブレーキ・システム（Antilock Brake System、略称：ＡＢＳ）やエアバック、衝突被害軽減ブレーキなどの安全機能、更には車内快適性の向上のため、搭載される電子制御ユニット（Electronic Control Unit、略称：ＥＣＵ）は増加し、これらＥＣＵによる電力消費も増加する傾向にある。その一方で自動車のバッテリ性能は急激に性能向上を見込めず、これらＥＣＵ増加に追随することが困難になってきていることから、各ＥＣＵの消費電流を削減する必要が生じている。
【００１０】
ＥＣＵの消費電流を削減する方法として、消費電力の小さいマイクロコントローラやセンサなどを採用することが考えられるが、マイクロコントローラやセンサなどデバイス単体での消費電力削減には限界がある。さらなる消費電力削減のために、恒常的に動作する必要のないセンサなどのデバイスに対し、動作しないタイミングにおいては電源供給をカットすることで、ＥＣＵシステムのトータルでの消費電力削減が期待できる。しかし、この電源供給タイミングのコントロールを行うためには、専用の電源コントロールのシーケンサを準備し、かつセンサ等への電源供給をシーケンサからＯＮ／ＯＦＦできる回路が必要となり、コスト面で不利になる。
【００１１】
＜実施形態＞
図１は実施形態に係る半導体装置を説明するためのブロック図である。
実施形態に係る半導体装置はセンサ等のデバイス（ＤＥＶＩＣＥ）の電源端子（ＳＰＴ）と接続するための外部端子（ＯＴ）と、外部端子（ＯＴ）にデバイス（ＤＥＶＩＣＥ）の電源電圧を供給するポート（ＰＯＲＴ）と、ポート（ＰＯＲＴ）の出力を制御するパワーマネージャ（ＰＯＷＥＲ  ＭＡＮＥＧＥＲ）と、パワーマネージャ（ＰＯＷＥＲ  ＭＡＮＥＧＥＲ）の動作を制御する中央処理装置（ＣＰＵ）と、を備える。ポートからデバイスに直接給電することにより、デバイス用の電源回路やパワーマネージャのコストを上げることなく、消費電力を削減することが可能となる。
【００１２】
実施形態の１実施例として、マイクロコントローラを含むＥＣＵとセンサとを備えるＥＣＵシステムについて説明するが、これに限定されるものではない。
【実施例】
【００１３】
図２は実施例に係るＥＣＵシステムの構成を示すブロック図である。図３は図２のセンサの構成を示すブロック図である。
ＥＣＵシステム１は半導体装置であるマイクロコントローラ１０と外部デバイスであるセンサＳＥ０〜ＳＥｎと振動子３１とキャパシタ３２、３３と図示しない電源回路とを備える。電源回路はマイクロコントローラ１０に電源電圧（Ｖｃｃ）を供給する。
【００１４】
マイクロコントローラ１０は中央処理装置（ＣＰＵ）１１とメモリ（Ｍｅｍｏｒｙ）１２と通信インタフェース（ＣＯＭ  Ｉ／Ｆ）１３とパワーマネージャ（ＰＭ）１４と入出力ポート部（ＰＯＲＴ）１５とＡ／Ｄ変換回路（ＡＤＣ）１６と発振回路（ＯＳＣ）１７とスタンバイ制御回路（ＳＢＣ）１８とパワーオン回路（ＰＯＣ）１９と電源端子ＰＴと接地端子ＧＴとを１つの半導体基板上に備える。ＣＰＵ１１とメモリ１２と通信インタフェース１３とは内部電源領域ＩＰＡに含まれ、電源端子ＰＴから入力される外部電源の電圧よりも低い電圧で動作し、スタンバイ時は内部電源領域ＩＰＡの供給電圧が停止する。パワーマネージャ１４と入出力ポート部１５とＡ／Ｄ変換回路１６と発振回路１７とスタンバイ制御回路１８とは外部電源領域ＯＰＡに含まれ、スタンバイ時、外部電源は供給されるが、発振回路１７は停止する。内部電源領域ＩＰＡと外部電源領域ＯＰＡとの間にはレベルシフタ（Ｌ／Ｓ）が配置される。リセット時およびスタンバイ時は外部電源領域ＯＰＡの回路は停止する。外部電源領域ＯＰＡの外側にパワーオン回路１９が配置される。
【００１５】
ＣＰＵ１１はメモリ１２に格納されるプログラムに従ってマイクロコントローラ１０の各部を介してＥＣＵシステム１を制御する。メモリ１２はプログラムやデータを格納するフラッシュメモリ等の電気的に書換可能な不揮発性メモリとデータを格納するＳＲＡＭ等の揮発性メモリを備える。通信インタフェース１３はＬＩＮ、ＣＡＮ等の車載ＬＡＮによって他のＥＣＵと通信を行う。
【００１６】
パワーマネージャ１４は入出力ポート部１５を制御してセンサＳＥ０〜ＳＥｎに電源を供給する。パワーマネージャ１４は時間を設定・計測するタイマーやセンサＳＥ０〜ＳＥｎの電源のオン・オフ制御に用いる入出力ポート部１５の出力データをあらかじめ格納する記憶手段（ＲＡＭ／レジスタ）を備える。パワーマネージャ１４の詳細は後述する。
【００１７】
入出力ポート部１５は複数のポートＰ０〜Ｐｎを備え、それぞれセンサＳＥ０〜ＳＥｎの電源端子に接続される。センサＳＥ０〜ＳＥｎに電源電圧を供給するポートＰ０〜Ｐｎは、少なくとも２値の状態をセンサＳＥ０〜ＳＥｎの電源端子に供給し、この２値以上の状態を用いてセンサＳＥ０〜ＳＥｎをオン・オフする。ポートＰ０〜Ｐｎの“１”（ＶＯＨ）出力によりセンサＳＥ０〜ＳＥｎに電源を供給してオンにし、“０”（ＶＯＬ）出力によりセンサＳＥ０〜ＳＥｎをオフにする。なお、ポートＰ０〜ＰｎとセンサＳＥ０〜ＳＥｎは１対１に接続する必要はない。各センサＳＥ０〜ＳＥｎに対応するオン・オフ信号をポートＰ０〜Ｐｎから出力するとともに、少なくとも１本のポートから各センサＳＥ０〜ＳＥｎに電源電圧を供給し、電源電圧供給端子本数を最適化する。各センサＳＥ０〜ＳＥｎに電源電圧を供給するポートＰ０〜Ｐｎは、端子の電流駆動能力を変更する手段を設けてもよい。これにより、センサの動作負荷に応じて駆動能力を最適化することができ、スイッチングノイズを低減することが可能となる。なお、入出力ポート部１５は汎用入出力ポートであり、センサと接続しないポートも備える。ポートＰ０〜Ｐｎの詳細は後述する。
【００１８】
Ａ／Ｄ変換回路１６は複数の入力チャネルＡ０〜Ａｎとそれに接続される入力端子（不図示）を備え、それぞれセンサＳＥ０〜ＳＥｎの出力端子ＳＯＴに接続される。Ａ／Ｄ変換回路１６は入力チャネルＡ０〜Ａｎから入力されるアナログ信号をデジタル信号に変換する。
【００１９】
発振回路１７は外付けされる水晶振動子等の振動子３１、キャパシタ３２、３３を用いてクロック信号を生成する。スタンバイ制御回路１８は電源スイッチＳＷを用いて内部電源領域ＩＰＡへの電源供給を制御する。パワーオン回路１９は外部電源の供給が開始されるとリセット信号を生成し、マイクロコントローラ１０の各回路をリセットする。
【００２０】
センサＳＥ０〜ＳＥｎはそれぞれセンサＩＣ（ＳＥ  ＩＣ）２１と増幅回路２２と電源端子ＳＰＴとセンサ出力端子ＳＯＴと接地端子ＳＧＴとを備える。増幅回路２２はオペアンプＯＰと抵抗Ｒ１、Ｒ２、Ｒ３で構成される。センサＳＥ０〜ＳＥｎの電源はマイクロプロセッサン１０のポートＰ０〜Ｐｎから供給される。
【００２１】
図４は図２のＥＣＵシステムの動作タイミング図である。
電源電圧（Ｖｃｃ）の供給が開始されると、パワーオン回路（ＰＯＣ）１９がリセット信号を生成し、スタンバイ制御回路（ＳＢＣ）１８はリセットされてスタンバイが解除される状態になり、発振回路（ＯＳＣ）１７は発振を開始する。このとき、ＣＰＵ１１はリセット状態であり、発振回路１７の発振が安定してリセット状態（ＲＥＳＥＴ）が解除されると通常動作（ＲＵＮ）を開始する。ＣＰＵ１１によって、Ａ／Ｄ変換回路（ＡＤＣ）１６を初期設定し、その後パワーマネージャ１４を初期設定する。
【００２２】
パワーマネージャ１４が動作を開始して、ポートＰ０が所定の期間“１”を出力すると、センサＳＥ０の電源端子ＳＰＴに電源が供給され（ＳＰＴ（Ｐ０））、センサＳＥ０は出力端子ＳＯＴからアナログ値の信号をＡ／Ｄコンバータ１６の入力チャネルＡ０に出力し（ＳＯＴ（Ａ０））、Ａ／Ｄコンバータ１６はデジタル値の信号に変換する（変換（Ａ０））。次に、ポートＰ１が所定の期間“１”を出力すると、センサＳＥ１の電源端子ＳＰＴに電源が供給され（ＳＰＴ（Ｐ１））、センサＳＥ１は出力端子ＳＯＴからアナログ値の信号をＡ／Ｄコンバータ１６の入力チャネルＡ１に出力し（ＳＯＴ（Ａ１））、Ａ／Ｄコンバータ１６はデジタル値の信号に変換する（変換（Ａ１））。次に、ポートＰｎが所定の期間“１”を出力すると、センサＳＥｎの電源端子ＳＰＴに電源が供給され（ＳＰＴ（Ｐｎ））、センサＳＥｎは出力端子ＳＯＴからアナログ値の信号をＡ／Ｄコンバータ１６の入力チャネルＡｎに出力し（ＳＯＴ（Ａｎ））、Ａ／Ｄコンバータ１６はデジタル値の信号に変換する（変換（Ａｎ））。
【００２３】
スタンバイ制御回路１８によってマイクロコントローラ１０がスタンバイ状態（Ｓｔａｎｄｂｙ）になると、ＣＰＵ１１、発振回路１７、パワーマネージャ１４は停止する。スタンバイ制御回路１８によってマイクロコントローラ１０のスタンバイ状態が解除されると、マイクロコントローラ１０は上述のリセット解除と同様な動作を行う。
【００２４】
図５は比較例に係るＥＣＵシステムの構成を示すブロック図である。
ＥＣＵシステム１Ｒはマイクロコントローラ１０ＲとセンサＳＥ０〜ＳＥｎと振動子３１とキャパシタ３２、３３と電源スイッチＰＳＷ０〜ＰＳＷｎと図示しない電源回路とを備える。電源回路はマイクロコントローラ１０ＲおよびセンサＳＥ０〜ＳＥｎに電源電圧（Ｖｃｃ）を供給する。マイクロコントローラ１０Ｒは実施例とは異なりシーケンサを備えない。入出力ポート部１５Ｒの複数のポートＰ０〜Ｐｎは、それぞれセンサＳＥ０〜ＳＥｎの電源端子に接続される電源スイッチＰＳＷ０〜ＰＳＷｎに接続される。なお、比較例の複数のポートＰ０〜Ｐｎは、後述する実施例および変形例の構成とは異なり、切替回路ＭＸやサブバッファＳＢを備えない。上記を除いて、ＥＣＵシステム１ＲはＥＣＵシステム１と同様である。ＥＣＵシステム１は、ＥＣＵシステム１Ｒの電源スイッチＰＳＷ０〜ＰＳＷｎおよび電源スイッチＰＳＷ０〜ＰＳＷｎに電源を供給する配線が不要になる。
【００２５】
実施例によれば、センサの電源を制御するパワーマネージャをマイクロコントローラに内蔵することにより、部品点数を削減することができる。さらに、マイクロコントローラにパワーマネージャを搭載することで、ＣＰＵの介在頻度を減らし、低電力化が可能となる。
【００２６】
（ポート）
図６は図２の入出力ポート部のポートの構成を示す回路図である。図７は図６のスイッチの構成を示す回路図である。
ポートＰ０〜Ｐｎのそれぞれは、出力バッファＯＢと入力バッファＩＢとを備える。出力バッファＯＢは、メインバッファＭＢと、可変抵抗ＲＡと、メインバッファＭＢの出力と可変抵抗ＲＡの出力を切り替える切替回路ＭＸとを備える。
【００２７】
メインバッファＭＢはｐチャネルＭＯＳトランジスタＭＰ１とｎチャネルＭＯＳトランジスタＭＮ１とで構成されるＣＭＯＳインバータである。ｐチャネルＭＯＳトランジスタＭＰ１のソースは電源電圧（Ｖｃｃ）が印加される端子Ｔ２に接続され、ドレインはノードＮ１に接続され、ゲートは入力信号（Ｉｎｐｕｔ  Ａ）が入力される端子Ｔ１に接続される。ｎチャネルＭＯＳトランジスタＭＮ１のソースは接地（ＧＮＤ）に接続される端子Ｔ３に接続され、ドレインはノードＮ１に接続され、ゲートは端子Ｔ１に接続される。
【００２８】
切替回路ＭＸはスイッチＳＷ１と、スイッチＳＷ２とインバータＩＮＶ１とを備える。スイッチＳＷ１はノードＮ１と端子Ｔ４との間に配置され、インバータＩＮＶ１の出力に基づいてノードＮ１と端子Ｔ４との間の導通・遮断を行う。スイッチＳＷ２は電源電圧（Ｖｃｃ）が印加される端子Ｔ５に接続される可変抵抗Ｒと端子Ｔ４との間に配置され、入力信号（Ｉｎｐｕｔ  Ｂ）が入力される端子Ｔ６の出力に基づいてノードＮ１と端子Ｔ４との間の導通・遮断を行う。
【００２９】
端子Ｔ４は後述する外部端子ＯＴに接続され、外部端子ＯＴから出力信号（Ｏｕｔｐｕｔ）がマイクロコントローラ１０の外部に出力される。入力バッファＩＢは端子Ｔ４上の信号を端子Ｔ７に読み込み、リード信号（Ｒｅａｄ）にする。なお、入力バッファＩＢはインバータ等で構成される。
【００３０】
スイッチＳＷ１、ＳＷ２は、お互いに並列接続されるｐチャネルＭＯＳトランジスタＭＰ２およびｎチャネルＭＯＳトランジスタＭＮ２と、インバータＩＮＶ２と、を備えるＣＭＯＳトランスファーゲートで構成されるアナログスイッチである。
【００３１】
端子Ｔ１の入力信号（Ｉｎｐｕｔ  Ａ）はパワーマネージメント１４およびＣＰＵ１１によって設定される。端子Ｔ６の入力信号（Ｉｎｐｕｔ  Ｂ）はＣＰＵ１１によって設定される。
【００３２】
図８は図６の出力バッファの真理値表である。
入力信号（Ｉｎｐｕｔ  Ｂ）および入力信号（Ｉｎｐｕｔ  Ａ）が“１”の場合の出力信号である通常Ｈｉｇｈ（Ｎｏｒｍａｌ  Ｈｉｇｈ）はセンサＳＥ０〜ＳＥｎを駆動できるドライブ能力を持ったポートＨｉｇｈ出力である。入力信号（Ｉｎｐｕｔ  Ｂ）が“１”の場合の出力信号である弱Ｈｉｇｈ（Ｗｅａｋ  Ｈｉｇｈ）は可変抵抗ＲＡを介してＨｉｇｈレベルを出力する。アナログスイッチである切替回路ＭＸは通常Ｈｉｇｈと弱Ｈｉｇｈを排他的に切り替える。また、弱Ｈｉｇｈを出力する場合に挿入される抵抗は可変抵抗であるので、抵抗値をレジスタで設定する。また、入力バッファＩＢは端子Ｔ４からの出力信号（Ｏｕｔｐｕｔ）の電圧レベルがＬｏｗかＨｉｇｈを確認するために用いられる。
【００３３】
センサＳＥ０〜ＳＥｎに電源電圧を供給するポートＰ０〜Ｐｎは、それぞれ少なくとも２値（通常Ｈｉｇｈおよび弱Ｈｉｇｈ）の状態をセンサＳＥ０〜ＳＥｎに供給し、この２値以上の状態を用いて断線や電圧降下、地絡を検知する機能安全機能を備える。高い信頼性が要求されない場合は、ポートＰ０〜Ｐｎに可変抵抗ＲＡおよび切替回路ＭＸを設けなくてもよい。
【００３４】
図９は図６のポートによる故障検出を説明するための表である。
アプリケーション（ＥＣＵシステム）の通常動作時には弱Ｈｉｇｈは使用せず通常Ｈｉｇｈのみ使用し、アプリケーションの動作開始直後や定期的に故障検出のために弱Ｈｉｇｈを使用する。
【００３５】
正常にマイクロコントローラ１０とセンサＳＥ０〜ＳＥｎが接続されている場合（正常時）、通常Ｈｉｇｈを出力するときは電源供給ができるため、マイクロコントローラ１０のユーザプログラム（故障検出プログラム）は端子Ｔ４の出力レベルのリード値を“１”として読み出す。一方、弱Ｈｉｇｈを出力するとき、接続先のセンサＳＥ０〜ＳＥｎの動作電流が抵抗ＲＡに流れることでＩＲドロップが発生し、通常のＨｉｇｈレベルを保つことができなくなるため、ユーザプログラムは端子Ｔ４の出力レベルのリード値を“０”として読み出す。ただし、センサＳＥ０〜ＳＥｎの動作電流は製品毎に異なるため、ＩＲドロップによるリード値の“０”が検出できるよう、ユーザプログラムが可変抵抗ＲＡの抵抗値を設定できるようにしている。
【００３６】
マイクロコントローラ１０とセンサＳＥ０〜ＳＥｎとの間に断線が生じ端子Ｔ４がオープン状態になっている場合（断線時）、センサＳＥ０〜ＳＥｎによる消費電流は生じないため、弱Ｈｉｇｈ出力であっても端子Ｔ４のレベルはＨｉｇｈを保ち、その結果ユーザプログラムが“１”を読み出すことで断線を検出することができる。
【００３７】
また、端子Ｔ４が接地電位とショートしている場合（地絡時）、にリードを行った場合、ユーザプログラムは通常Ｈｉｇｈ出力、弱Ｈｉｇｈ出力共に端子Ｔ４の出力レベルを“０”として読み出すため、同様に地絡も検出することができる。
【００３８】
図１０は変形例に係るポートの構成を示す回路図である。図１１は図１０の出力バッファの真理値表である。
変形例に係るポートは図６のポートにサブバッファを追加した構成である。サブバッファＳＢは、端子Ｔ５とノードＮ１との間に並列に接続されるｐチャネルＭＯＳトランジスタＭＰ３、ＭＰ４と、論理和ゲートＯＲ１とを備える。ｐチャネルＭＯＳトランジスタＭＰ３、ＭＰ４のそれぞれのソースは電源電圧（Ｖｃｃ）が印加される端子Ｔ２に接続され、ドレインはノードＮ１に接続され、ゲートは論理和ゲートＯＲ１の出力に接続される。論理和ゲートＯＲ１には端子Ｔ１に入力される入力信号（Ｉｎｐｕｔ  Ａ）および端子Ｔ８に入力される入力信号（Ｉｎｐｕｔ  Ｃ）の反転信号が入力される。端子Ｔ１の入力信号（Ｉｎｐｕｔ  Ａ）はシーケンサ１４によって設定される。端子Ｔ６の入力信号（Ｉｎｐｕｔ  Ｂ）および端子Ｔ８の入力信号（Ｉｎｐｕｔ  Ｃ）はＣＰＵ１１によって設定される。
【００３９】
サブバッファＳＢはポートが電源用使用される場合にメインバッファＭＢの補助用として使用する。通常の信号用としてポートを使用する場合は、Ｉｎｐｕｔ  Ｃ＝０とし、電源用としてポートを使用する場合はＩｎｐｕｔ  Ｃ＝１とする。言い換えると、入力信号（Ｉｎｐｕｔ  Ｃ）を“０”に設定する場合は通常のドライブ能力でＨｉｇｈを出力し、入力信号（Ｉｎｐｕｔ  Ｃ）を“１”に設定する場合は、強いドライブ能力でＨｉｇｈを出力する。ドライブ能力が通常（Ｎｏｒｍａｌ）である場合は、１個のｐチャネルＭＯＳトランジスタで駆動し、ドライブ能力が強（Ｓｔｒｏｎｇ）である場合は、３個のｐチャネルＭＯＳトランジスタで駆動するが、これに限定されるものではなく、負荷に応じてｐチャネルＭＯＳトランジスタのサイズおよび個数をレジスタで設定するようにしてもよい。
【００４０】
（パワーマネージャ）
図１２は図２のパワーマネージャの構成を示すブック図である。図１３は図１２のシーケンサの構成を示すブロック図である。
パワーマネージャ１４はポートＰ０〜Ｐｎに対応するシーケンサＳＱ０〜ＳＱｎとエラー定義レジスタ（ＥＤＲ）１４１とエラー検出回路（ＥＤＣ）１４２とエラー検出フラグ（ＥＤＦ）１４３とを備える。シーケンサＳＱｎについて以下説明する。なお、シーケンサＳＱ０〜ＳＱｎ−１はシーケンサＳＱｎと同様な構成である。各略号の末尾の「ｎ」はシーケンサＳＱｎの各構成要素を表している。
【００４１】
シーケンサＳＱｎはカウンタイネーブルレジスタｎ（ＣＥｎ）４１とクロック分周レジスタｎ（ＣＤｎ）４２とカウンタｎ（ＣＮＴＲｎ）４３とコンペアバッファレジスタ１ｎ（ＣＢ１ｎ）４４とコンペアバッファレジスタ２ｎ（ＣＢ２ｎ）４５とコンペアバッファレジスタ３ｎ（ＣＢ３ｎ）４６とコンペアバッファレジスタ４ｎ（ＣＢ４ｎ）４７とを備える。また、シーケンサＳＱｎはコンペアレジスタ１ｎ（ＣＭ１ｎ）４８とコンペアレジスタ２ｎ（ＣＭ２ｎ）４９とコンペアレジスタ３ｎ（ＣＭ３ｎ）５０とコンペアレジスタ４ｎ（ＣＭ４ｎ）５１と出力端子クリアレジスタｎ（ＯＴＣｎ）５２と分周器（ＤＩＶｎ）５３とクロック供給許可／禁止設定回路（ＣＫＥｎ）５４と比較器５５〜５８と出力制御回路（ＯＰＣｎ）５９と論理和ゲート６０、６１とを備える。論理和ゲート６０、６１の入力の「○」は反転信号入力を表している。
【００４２】
以下に各レジスタを説明する。
ＣＥｎ（４１）は１ビットのレジスタで、“０”が設定されると、シーケンサＳＱｎの動作が禁止され、カウンタｎ（４３）は０にクリアされ、出力制御回路５９はクリアされ、クロック供給許可／禁止設定回路５４は禁止に設定される。ＣＥｎ（４１）に“１”が設定されると、シーケンサＳＱｎの動作が許可され、カウンタ４３はカウントを行う。
【００４３】
ＣＤｎ（４２）はソースクロック（ＣＬＫ）をこのレジスタで設定した値で分周を行う。分周されたクロックは、カウンタｎ（４３）のカウンタクロック（ＣＣＬＫ）として供給される。
【００４４】
カウンタｎ（４３）はシーケンサＳＱｎの出力タイミングを制御するタイマカウンタである。
【００４５】
ＣＢ１ｎ（４４）、ＣＢ２ｎ（４５）、ＣＢ３ｎ（４６）、ＣＢ４ｎ（４７）はそれぞれカウンタ動作中にコンペア値を変更できるようにするために設けられ、ＣＭ１ｎ（４８）、ＣＭ２ｎ（４９）、ＣＭ３ｎ（５０）、ＣＭ４ｎ（５１）との二段構成となっている。ＣＰＵ１１からのアクセスはＣＢ１ｎ（４４）、ＣＢ２ｎ（４５）、ＣＢ３ｎ（４６）、ＣＢ４ｎ（４７）に対し行い、実際にカウンタ値との比較は、ＣＭ１ｎ（４８）、ＣＭ２ｎ（４９）、ＣＭ３ｎ（５０）、ＣＭ４ｎ（５１）に対し行われる。ＣＭ１ｎ（４８）、ＣＭ２ｎ（４９）、ＣＭ３ｎ（５０）、ＣＭ４ｎ（５１）の更新タイミングは、カウンタｎ（４３）のクリアタイミング（カウンタｎ（４３）のカウント値とＣＭ４ｎ（５１）の設定値との一致）で行われる。
【００４６】
ＣＭ１ｎ（４８）は外部端子ＯＴｎの出力をＯＮ（Ｈｉｇｈ）にするタイミングを設定するためのレジスタであり、カウンタｎ（４３）のカウント値と本レジスタの設定値が一致したときに、出力制御回路５９をセットし、外部端子ＯＴｎの出力をＯＮ（Ｈｉｇｈ）にする。
【００４７】
ＣＭ２ｎ（４９）は割込み信号（ＩＮＴｎ）を活性化するタイミングを設定するレジスタであり、カウンタｎ（４３）のカウント値と本レジスタの設定値が一致したときに、割込み信号（ＩＮＴｎ）を活性化する。ユーザアプリケーション（通常動作プログラム）はこの割込みをトリガに、センサ電源のＯＮから安定時間を確保してからセンサ処理（値読み込みなど）を行うことができる。
【００４８】
ＣＭ３ｎ（５０）は外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）にするタイミングを設定するレジスタであり、カウンタｎ（４３）のカウント値と本レジスタの設定値が一致したときに、出力制御回路５９をクリアし、外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）にする。
【００４９】
ＣＭ４ｎ（５１）はカウンタｎ（４３）をクリアするタイミング、出力制御回路５９をクリアするタイミング、外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）にするタイミング、ＣＭ１ｎ（４８）、ＣＭ２ｎ（４９）、ＣＭ３ｎ（５０）、ＣＭ４ｎ（５１）を更新するタイミングを設定するレジスタである。カウンタｎ（４３）のカウンタ値と本レジスタの設定値が一致したときに、カウンタｎ（４３）をクリアすると共に、出力制御回路５９をクリアし、外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）にする。また同時にＣＭ１ｎ（４８）、ＣＭ２ｎ（４９）、ＣＭ３ｎ（５０）、ＣＭ４ｎ（５１）の値をＣＢ１ｎ（４４）、ＣＢ２ｎ（４５）、ＣＢ３ｎ（４６）、ＣＢ４ｎ（４７）の値へ更新する（Ｗ）。
【００５０】
ＯＴＣｎ（５２）は１ビットのレジスタで、ＣＢ３ｎ（５０）が一致する前、またはＣＢ３ｎ（５０）を使用しない場合において、ＣＰＵ１１が外部端子ＯＴｎの出力を直接ＯＦＦ（Ｌｏｗ）にするために使用する。外部端子ＯＴｎの出力がＯＮ（Ｈｉｇｈ）のときにＣＰＵ１１から本ビットに“１”を書き込むと、出力制御回路５９がクリアされ、外部端子ＯＴｎの出力はＯＦＦ（Ｌｏｗ）状態に遷移する。外部端子ＯＴｎの出力がＯＦＦ（Ｌｏｗ）のときに本ビットをセットした場合は何も起こらない。
【００５１】
図１４は図１３のシーケンサの第１の動作例を示すタイミング図である。第１の動作例はＣＭ３ｎ（４９）を使用する場合である。
ＣＥｎ（４１）が“０”のときは、カウンタｎ（４３）は“０”にクリアされた状態で、カウントは停止しており、外部端子ＯＴｎの出力はＯＦＦ（Ｌｏｗ）となっている。ＣＥｎ（４１）を“１”にセットするとシーケンサＳＱｎは動作を開始する。
【００５２】
カウンタ４３のカウント値とＣＭ１ｎ（４８）の設定値とが一致すると、外部端子ＯＴｎの出力はＯＮ（Ｈｉｇｈ）となり、センサＳＥｎへの電源供給を開始する。
【００５３】
電源をセンサＳＥｎに供給してから、センサＳＥｎの出力が安定するまで一定の時間（Ｔｗ）を要する。よってＣＭ２ｎ（４９）にこのセンサ安定時間（Ｔｗ）分を設定し、カウンタｎ（４３）のカウント値とＣＭ２ｎ（４９）の設定値とが一致したとき割り込み信号（ＩＮＴｎ）が活性化され、この割込み信号（ＩＮＴｎ）をトリガにすることで、マイクロコントローラ１０は安定した信号を効率よく読み取ることができる。
【００５４】
その後、カウンタｎ（４３）のカウント値とＣＭ３ｎ（５０）の設定値とが一致すると、外部端子ＯＴｎの出力はＯＦＦ（Ｌｏｗ）となる。
【００５５】
シーケンサＳＱｎの周期はＣＭ４ｎ（５１）で設定し、本レジスタの設定値とカウンタｎ（４３）のカウント値とが一致すると、カウンタｎ（４３）はクリアされる。もしＣＰＵ１１によりＣＢ１ｎ（４４）、ＣＢ２ｎ（４５）、ＣＢ３ｎ（４６）、ＣＢ４ｎ（４７）の値が変更されていた場合、このタイミング（ｔＡ）でＣＭ１ｎ（４８）、ＣＭ２ｎ（４９）、ＣＭ３ｎ（５０）、ＣＭ４ｎ（５１）は、変更後のＣＢ１ｎ（４４）、ＣＢ２ｎ（４５）、ＣＢ３ｎ（４６）、ＣＢ４ｎ（４７）の値に更新される。
【００５６】
ＣＥｎ（４１）が“０”になると、カウンタｎ（４３）は“０”にクリアされ、クロック供給許可／禁止設定回路５４がカウンタ４３へのカウンタクロック（ＣＣＬＫ）の供給を禁止するため、カウントは停止し、外部端子ＯＴｎの出力はＯＦＦ（Ｌｏｗ）となる。
【００５７】
図１５は図１３のシーケンサの第２の動作例を示すタイミング図である。第２の動作例はＣＭ３ｎ（５０）を使用しない（ＣＭ４ｎ（５１）の設定より大きい値を設定）で、ＯＴＣｎ（５２）を使用する場合である。
第２の動作例では、決まったタイミングで外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）にするのでなく、ＣＰＵ１１が任意のタイミング（ＣＰＵ１１がセンサ出力値を読み取った後など）で外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）としたい場合に用いられる。その方法はＣＰＵ１１が外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）としたいタイミング（ｔＣ）で、ＯＴＣｎ（５２）に“１”を書込むことによって行われる。もし、ＣＭ４ｎ（５１）の設定値とカウンタｎ（４３）のカウント値が一致するタイミング（ｔＢ）まで外部端子ＯＴｎがまだＯＮ（Ｈｉｇｈ）のままであった場合は、外部端子ＯＴｎの出力もＯＦＦ（Ｌｏｗ）となる。
【００５８】
図１６は図１３のシーケンサの第３の動作例を示すタイミング図である。第３の動作例はＣＭ３ｎ（４９）とＯＴＣｎ（５２）とを併用する場合である。
図１４の第１の動作例と図１５の第３の動作例は、外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）とする方法として、ＣＭ３ｎ（５０）とＯＴＣｎ（５２）をそれぞれ単独で使用した例を示したが、これらを併用しても構わない。例えば、タイミング（ｔＣ）で、ＯＴＣｎ（５２）に“１”を書込むことによって外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）し、タイミング（ｔＤ）で、カウンタｎ（４３）のカウント値とＣＭ３ｎ（５０）の設定値とが一致して、外部端子ＯＴｎの出力をＯＦＦ（Ｌｏｗ）する。
【００５９】
図１７は図１２のパワーマネージャのエラー検出機能を説明するためのタイミング図である。
パワーマネージャ１４は、同時に複数の外部端子ＯＴの出力がＯＮ（Ｈｉｇｈ）となった場合、そのことを検出し割込み信号を発生させ、同時ＯＮとなった端子情報を保持する機構を持つ。
【００６０】
何個の外部端子ＯＴの出力が同時にＯＮになった場合にエラーとするかは、ユーザアプリケーションに依存（センサの消費電力などに依存）するため、ユーザによってエラー定義レジスタ１４１にその個数を設定することによって行われる。図１７には外部端子ＯＴの出力が３個と４個が同時にＯＮとなった場合にエラーとなる例を示す。
エラー検出回路１４２はソースクロック（ＣＬＫ）で出力制御回路５９の出力信号（ＯＰ０〜ＯＰｎ）のサンプリングを行い、出力端子情報を取得する。もしエラー定義レジスタ１４１で設定された個数以上の外部端子ＯＴの出力のＯＮを検出した場合はエラー割り込み（ＩＮＴＥ）を発生させ、その時に同時ＯＮとなっていた出力端子情報を、エラー検出フラグ１４３にセットする。本フラグはＣＰＵ１１から読み出されるまで保持し、読出しを行う事によりクリアされる。ＣＰＵ１１はＯＴＣ（５２）をセットして出力制御回路５９をクリアして外部端子ＯＴをＯＦＦ（Ｌｏｗ）する。
【００６１】
エラー定義レジスタ１４１に“３”が設定されている場合、タイミング（ｔＥ）では、外部端子ＯＴ０、ＯＴ１、ＯＴｎが同時にＯＮしているので、エラー検出回路１４２はエラーを検出して、割り込み信号（ＩＮＴＥ）を活性化すると共に、エラー検出フラフ１４３のうちＯＮとなる端子に対応するエラーフラグＦＬＧ０、ＦＬＧ１、ＦＬＧｎがセットされる。割り込み信号（ＩＮＴＥ）を受け付けるＣＰＵ１１は割り込み処理ルーチンでエラー検出フラグ１４３を読出してエラー検出フラグ１４３がクリアされる。
【００６２】
エラー定義レジスタ１４１に“４”が設定されている場合、タイミングｔＢでは、外部端子ＯＴ０、ＯＴ１、ＯＴ２、ＯＴｎが同時にＯＮしているので、エラー検出回路１４２はエラーを検出して、割り込み信号（ＩＮＴＥ）を活性化すると共に、エラー検出フラフ１４３のうちＯＮとなる外部端子に対応するエラーフラグＦＬＧ０、ＦＬＧ１、ＦＬＧ２、ＦＬＧｎがセットされる。
【００６３】
本実施例は電源回路の代わりにマイクロコントローラのポートからセンサ等へ電源供給する。この電源供給タイミングのためのポートを制御する専用パワーマネージャを持つことにより、ＣＰＵ処理の負荷を抑えることができ、効率的にセンサの電源制御を行うことができる。
【００６４】
しかし、ポートを電源として使用するため、その電源供給能力は従来の電源回路に劣り、同時に複数のセンサを駆動することは困難となる場合が考えられる。その一方で各センサを同時に起動させる必然性もないため、各センサへの電源供給が同時にＯＮとならないように、マイクロコントローラ側でポート出力タイミングを調整することで、前述の問題点をカバーすることができる。
【００６５】
しかしセンサは製品ごとに、動作させる間隔や電源供給ＯＮとする時間はさまざまであるため、注意してタイミング設定しても極々稀な確率で同時にＯＮとなってしまうケースや、正常系では同時ＯＮとならずとも想定外要因にて同時ＯＮとなることが否定できないケースがある。同時ＯＮとなった場合、十分にセンサへの電源供給がされてないため、センサからの入力値は信用できない。
【００６６】
この場合、同時ＯＮをエラー信号（エラー割り込み信号（ＩＮＴＥ）、エラー検出フラグ）にて検出する。よってエラー信号を検出した場合、マイクロコントローラはセンサからの値を破棄することで、センサからの誤った値を採用することによるＥＣＵ異常動作発生を回避することが可能になる。
【００６７】
以上、本発明者によってなされた発明を実施形態、実施例および変形例に基づき具体的に説明したが、本発明は、上記実施形態、実施例および変形例に限定されるものではなく、種々変更可能であることはいうまでもない。
【符号の説明】
【００６８】
１・・・ＥＣＵシステム
１０・・・マイクロコントローラ
１１・・・ＣＰＵ
１２・・・メモリ
１３・・・通信インタフェース
１４・・・パワーマネージャ
１５・・・入出力ポート部
１６・・・Ａ／Ｄ変換回路
１７・・・発振回路
１８・・・スタンバイ制御回路
１９・・・パワーオン制御回路
Ｐ０〜Ｐｎ・・・ポート
ＳＥ０〜ＳＥｎ・・・センサ
【図１】
0006633882.tif 000002
【図２】
0006633882.tif 000003
【図３】
0006633882.tif 000004
【図４】
0006633882.tif 000005
【図５】
0006633882.tif 000006
【図６】
0006633882.tif 000007
【図７】
0006633882.tif 000008
【図８】
0006633882.tif 000009
【図９】
0006633882.tif 000010
【図１０】
0006633882.tif 000011
【図１１】
0006633882.tif 000012
【図１２】
0006633882.tif 000013
【図１３】
0006633882.tif 000014
【図１４】
0006633882.tif 000015
【図１５】
0006633882.tif 000016
【図１６】
0006633882.tif 000017
【図１７】
0006633882.tif 000018