(57)【特許請求の範囲】
【請求項１】
プロセッサを備える半導体集積回路であって、
前記プロセッサと同一の半導体基板上に形成された、温度センサと、不揮発性メモリと、比較器とを有し、
前記比較器は、前記温度センサによって測定される温度を所定の温度閾値と比較し、
前記不揮発性メモリは、前記比較器の比較結果に基づいて、前記温度が前記温度閾値を超えていた期間についての情報を累積的に保持し、
前記期間の累積値が所定の高温時間閾値を超えたときに、外部に警告を通知し、
前記半導体集積回路は、前記半導体基板上に形成された、アナログ／ディジタル変換器と、タイマとをさらに有し、
前記アナログ／ディジタル変換器は、前記温度センサによって測定される前記温度をディジタル値に変換して前記比較器に供給し、
前記不揮発性メモリに保持される前記情報は、前記温度が前記温度閾値を超えていた累積期間であり、
前記タイマは、前記温度が前記温度閾値を超えていた期間をカウントし、
前記半導体集積回路は、前記不揮発性メモリに保持される累積期間を読み出し、前記温度が前記温度閾値を超えていた前記期間を前記累積期間に加算して、前記不揮発性メモリに書き戻し、
前記半導体集積回路は、前記半導体基板上に形成された、低速クロック回路をさらに有し、
前記低速クロック回路は、前記プロセッサが停止状態にあるときにも、前記アナログ／ディジタル変換器と前記タイマとに動作クロックを供給する、
半導体集積回路。
【請求項２】
請求項１において、前記半導体集積回路は、前記半導体基板上に形成された、低速タイマをさらに有し、
前記低速タイマは、前記低速クロック回路から動作クロックを供給され、前記アナログ／ディジタル変換器と前記タイマとを間欠的に動作させる、
半導体集積回路。
【請求項３】
請求項２において、
前記半導体集積回路は、前記低速タイマにより間欠的に、前記不揮発性メモリに保持される累積期間を読み出し、前記温度が前記温度閾値を超えていた前記期間を前記累積期間に加算して、前記不揮発性メモリに書き戻す、
半導体集積回路。
【請求項４】
請求項２において、
前記半導体集積回路は、前記低速タイマにより間欠的に、前記不揮発性メモリに保持される累積期間を読み出し、前記温度が前記温度閾値を超えていた前記期間を前記累積期間に加算して保持し、
前記プロセッサは、停止状態から通常状態に復帰した後に、保持される前記累積期間を前記不揮発性メモリに書き戻す、
半導体集積回路。
【請求項５】
請求項４において、前記半導体集積回路は、前記半導体基板上に形成された、記憶回路をさらに有し、
前記半導体集積回路は、前記不揮発性メモリから読み出した前記累積期間を前記記憶回路に書き込み、
前記記憶回路は、前記累積期間が加算されて更新されたときには、更新後の累積期間を保持し、
前記プロセッサは、前記停止状態の間に前記累積期間が更新されたときには、停止状態から通常状態に復帰した後に、前記記憶回路に保持される更新された前記累積期間を前記不揮発性メモリに書き戻す、
半導体集積回路。
【請求項６】
請求項１において、
前記プロセッサが通常動作状態にあるとき、前記アナログ／ディジタル変換器は、前記プロセッサによって通常動作の為に使用される期間とは異なる期間に、前記温度センサによって測定される前記温度をディジタル値に変換する、
半導体集積回路。
【請求項７】
マイクロコントローラを備える電子制御ユニットであって、
前記マイクロコントローラは、プロセッサと、温度センサと、不揮発性メモリと、比較器とを有し、
前記比較器は、前記温度センサによって測定される温度を所定の温度閾値と比較し、
前記不揮発性メモリは、前記比較器の比較結果に基づいて、前記温度が前記温度閾値を超えていた期間についての情報を累積的に保持し、
前記期間の累積値が所定の高温時間閾値を超えたときに、外部に警告を通知し、
前記マイクロコントローラは、アナログ／ディジタル変換器と、タイマとをさらに有し、
前記アナログ／ディジタル変換器は、前記温度センサによって測定される前記温度をディジタル値に変換して前記比較器に供給し、
前記不揮発性メモリに保持される前記情報は、前記温度が前記温度閾値を超えていた累積期間であり、
前記タイマは、前記温度が前記温度閾値を超えていた期間をカウントし、
前記マイクロコントローラは、前記不揮発性メモリに保持される累積期間を読み出し、前記温度が前記温度閾値を超えていた前記期間を前記累積期間に加算して、前記不揮発性メモリに書き戻し、
前記マイクロコントローラは、低速クロック回路をさらに有し、
前記低速クロック回路は、前記プロセッサが停止状態にあるときにも、前記アナログ／ディジタル変換器と前記タイマとに動作クロックを供給する、
電子制御ユニット。
【請求項８】
請求項７において、前記マイクロコントローラは、低速タイマをさらに有し、
前記低速タイマは、前記低速クロック回路から動作クロックを供給され、前記アナログ／ディジタル変換器と前記タイマとを間欠的に動作させる、
電子制御ユニット。
【請求項９】
請求項８において、
前記マイクロコントローラは、前記低速タイマにより間欠的に、前記不揮発性メモリに保持される累積期間を読み出し、前記温度が前記温度閾値を超えていた前記期間を前記累積期間に加算して、前記不揮発性メモリに書き戻す、
電子制御ユニット。
【請求項１０】
請求項８において、
前記マイクロコントローラは、前記低速タイマにより間欠的に、前記不揮発性メモリに保持される累積期間を読み出し、前記温度が前記温度閾値を超えていた前記期間を前記累積期間に加算して保持し、
前記プロセッサは、停止状態から通常状態に復帰した後に、保持される前記累積期間を前記不揮発性メモリに書き戻す、
電子制御ユニット。
【請求項１１】
請求項１０において、前記マイクロコントローラは、記憶回路をさらに有し、
前記マイクロコントローラは、前記不揮発性メモリから読み出した前記累積期間を前記記憶回路に書き込み、
前記記憶回路は、前記累積期間が加算されて更新されたときには、更新後の累積期間を保持し、
前記プロセッサは、前記停止状態の間に前記累積期間が更新されたときには、停止状態から通常状態に復帰した後に、前記記憶回路に保持される更新された前記累積期間を前記不揮発性メモリに書き戻す、
電子制御ユニット。
【請求項１２】
請求項７において、
前記プロセッサが通常動作状態にあるとき、前記アナログ／ディジタル変換器は、前記プロセッサによって通常動作の為に使用される期間とは異なる期間に、前記温度センサによって測定される前記温度をディジタル値に変換する、
電子制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路および電子制御ユニットに関し、特に高い信頼性が求められる電子制御ユニット（ＥＣＵ：Electronic Control Unit）に搭載される半導体集積回路であるマイクロコントローラ（Microcontroller、以下ＭＣＵと呼ぶ場合もある）に好適に利用できるものである。
【背景技術】
【０００２】
ＭＣＵなどの半導体集積回路は、正常動作が保証される温度が、多くの場合、半導体の接合温度Ｔｊ（junction temperature）によって規定される。ＭＣＵを搭載する車両制御用の電子制御ユニットにおいては、特にその電子制御ユニットがエンジン制御ユニットであって高温になるエンジンルームに設置される場合などには、搭載されるＭＣＵの動作温度が、正常動作が保証される範囲を逸脱しないように制御される。
【０００３】
特許文献１には、周囲からの熱影響を含めたＭＣＵの過熱を防止するために、電子制御ユニット内の周囲温度Ｔａ（atmosphere temperature）を、ＭＣＵが安定して動作できる上限温度以下にするために、測定された温度Ｔａに応じてＭＣＵの動作を抑える技術が開示されている。エンジン制御ユニット内のチップサーミスタを用いて温度Ｔａを測定し、その測定結果をＭＣＵにフィードバックし、ソフトウェアの対策でＭＣＵ自身の動作温度低減を図る。ＭＣＵは、ＣＰＵ（Central Processing Unit）を使用してソフトウェアでチップサーミスタから入力された信号をＡ／Ｄ変換器を介して温度Ｔａの情報を判断し、動作が不安定になる温度状況下では、クロック制御回路に対して、ＭＣＵのシステムクロックの発振周波数を低下させることで、ＭＣＵ自身の発熱低減を図る。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２４９７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１について本発明者が検討した結果、以下のような新たな課題があることがわかった。
【０００６】
特許文献１に記載される技術を始めとする先行技術は、ＭＣＵなどの半導体集積回路の動作温度が、正常動作が保証される範囲を逸脱しないように制御する技術であるが、経年劣化による寿命（摩耗故障）については考慮されていない。半導体集積回路は、正常動作が保証される温度範囲を逸脱すると、正常な機能・特性が保証されないが、即座に故障に至るとは限らない。一方、正常動作が保証される温度範囲であっても動作時間が累積することによって摩耗故障に至るし、その温度範囲を逸脱しているときには動作を停止していても温度範囲を逸脱している時間が累積することによって摩耗故障に至ることがわかった。例えば、車載用のエンジン制御ユニットに搭載されるＭＣＵは、上述のようにエンジンルームに設置されて高温環境に曝される場合がある。さらに、ハイブリッド車の充電中などには、エンジンが停止しており、したがってエンジン制御ユニットのＭＣＵが動作を停止していても、ＭＣＵの温度が高温であるような状況になり得る。このような状態が累積すると摩耗故障に至る恐れがあることがわかった。
【０００７】
以上のように、半導体集積回路の動作は、正常な動作の保証に加えて、摩耗故障に至っていない事の保障が重要であることがわかった。ここで動作の「保障」とは、「保証」とは異なり、いずれは摩耗故障に至ることを前提として、使用者に対して摩耗故障に至るよりも前の期間にあることを知らせる機能を言う。
【０００８】
そこで発明者らは、特許文献１に記載される温度監視機能を、経年劣化による寿命を予測する技術に応用することについて検討したが、さらに以下の課題があることを見出した。即ち、正常動作を保証するための温度監視機能は、半導体集積回路が動作している時にのみ動作するため、動作を停止している期間は温度を監視することができないことがわかった。また、温度を監視することができても、その時点での温度が保証範囲を超えているか否かを判定することができるに留まり、寿命を予測するためには十分ではないことがわかった。
【０００９】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
一実施の形態によれば、下記の通りである。
【００１１】
すなわち、同一の半導体基板上に形成された、プロセッサと、温度センサと、不揮発性メモリと、比較器とを備える半導体集積回路であって、以下のように構成される。比較器は、温度センサによって測定される温度を所定の温度閾値と比較し、不揮発性メモリは、その温度が温度閾値を超えていた期間についての情報を累積的に保持する。半導体集積回路は、温度が温度閾値を超えていた期間の累積値が所定の高温時間閾値を超えたときに、外部に警告を通知する。
【発明の効果】
【００１２】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００１３】
すなわち、経時劣化による寿命（摩耗故障）を自ら予測して警告を通知する半導体集積回路（例えばＭＣＵ）を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、各実施形態に係るＭＣＵ及びＥＣＵの概略的な構成例を示すブロック図である。
【図２】図２は、実施形態１に係るＭＣＵ及びＥＣＵの動作例を示すシグナルフロー図である。
【図３】図３は、実施形態１に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（前半）である。
【図４】図４は、実施形態１に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（後半）である。
【図５】図５は、実施形態２に係るＭＣＵ及びＥＣＵの動作例を示すシグナルフロー図である。
【図６】図６は、実施形態２に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（前半）である。
【図７】図７は、実施形態２に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（後半）である。
【図８】図８は、実施形態３に係るＭＣＵ及びＥＣＵのスタンバイ中の動作例を示すシグナルフロー図である。
【図９】図９は、実施形態３に係るＭＣＵ及びＥＣＵのＭＣＵ再起動時の動作例を示すシグナルフロー図である。
【図１０】図１０は、実施形態３に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（前半）である。
【図１１】図１１は、実施形態３に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（後半）である。
【図１２】図１２は、実施形態４に係るＭＣＵ及びＥＣＵのスタンバイ中の動作例を示すシグナルフロー図である。
【図１３】図１３は、実施形態４に係るＭＣＵ及びＥＣＵのＭＣＵ再起動時の動作例を示すシグナルフロー図である。
【図１４】図１４は、実施形態４に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（前半）である。
【図１５】図１５は、実施形態４に係るＭＣＵ及びＥＣＵの動作例を示すフローチャート（後半）である。
【発明を実施するための形態】
【００１５】
実施の形態について詳述する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
【００１６】
〔実施形態１〕
図１は、各実施形態に係るＭＣＵ２０及びＥＣＵ３０の概略的な構成例を示すブロック図である。ＥＣＵ３０は、例えばエンジン制御用ＥＣＵであって、各種センサ３１とインジェクタ３２に接続されており、ＭＣＵ２０と、ＭＣＵ２０を制御するための制御用ＭＣＵ２１と、ＥＣＵ３０内に電源を供給する電源回路２２とクロック信号を供給するクロック発振器２３とを備える。なお、図中の配線は、それぞれ任意の本数の信号線で実装されるが、図では１本か複数本かの区別はせず、所謂ベクトル表記は省略されている。このことは、本願における他の図面についても同様である。
【００１７】
ＭＣＵ２０は、ＣＰＵ４、不揮発性メモリであるＦｌａｓｈＲＯＭ５、不揮発性メモリ制御部（Flash Controller）６、データを一時記憶するＲＡＭ７、及び、それらを互いに接続するバス１１を中心に構成されている。それ以外に、タイマ８、Ａ／Ｄ変換器２、温度センサ１、入出力ポート１２、外部入出力回路１３、及び、動作制御部１４を備える。動作制御部１４は、動作モード信号を供給する動作モード制御部１５、システムクロックを供給するＰＬＬ回路１６、及び、バックアップクロックを供給する低速発振回路を含んで構成される。以上は、一般的なマイクロコントローラの構成を例示するものであって、さらに他の機能ブロックを含んでもよい。即ち、図示及び詳細な説明は省略するが、割り込み制御回路、ダイレクトメモリコントローラなどを含んでもよいし、バス１１が階層化され、キャッシュメモリなどを含んでいてもよい。
【００１８】
ＭＣＵ２０は、さらに、温度監視専用回路１０と異常出力ポート９を備える。温度監視専用回路１０の構成と動作は、各実施形態で詳述するが、温度センサ１で測定される温度が入力され、ＦｌａｓｈＲＯＭ５から各種閾値が供給され、異常出力ポート９を介してＭＣＵ２０の外部にある制御ＭＣＵ２１に対して、警告を通知することができ、さらに、不揮発性メモリ制御部６を介してＦｌａｓｈＲＯＭ５に値を書き戻すことができる。ここで、ＦｌａｓｈＲＯＭ５は不揮発性メモリであり、指定されたアドレスから読み出されたデータが、ＣＰＵ４にプログラムとして供給される。さらに、トリミングパラメータなどが保持されており、電源投入後のパワーアップシーケンスで読み出され、レジスタなどに設定される。レジスタなどに設定されることによって、ＦｌａｓｈＲＯＭ５がアクセスされた時に限らず常時、その値を参照することができる。後述の温度閾値、高温時間閾値なども、このようなトリミングパラメータと同様に管理される。
【００１９】
ＥＣＵ３０が、エンジン制御用ＥＣＵである場合の動作について説明する。ＭＣＵに対してエンジンの各種センサ３１からの測定値の信号が、外部入出力回路１３と入出力ポート１２を介して、入力値として読み込まれる。センサ３１からの測定値の信号がアナログ信号である場合には、信号配線は図示が省略されているが、外部入出力回路１３を介してＡ／Ｄ変換器２に入力され、Ａ／Ｄ（アナログ値からディジタル値に）変換された入力値として読み込まれる。Ａ／Ｄ変換された入力値は、ＣＰＵ４で実行されるプログラムによって処理され、その一例としては、タイマ８に供給されて、燃料噴射量、点火時期等が計算され、そのデータに対応した制御信号をインジェクタ３２に出力される。出力された制御信号を基に、インジェクタ３２からエンジンへ燃料が噴射される。
【００２０】
ＭＣＵ２０を含むＥＣＵユニット３０は、エンジンなどの発熱源に近いエンジンルーム内に設置されることが多く、熱源からの影響を受けやすい。このような場合に、周囲温度Ｔａが高温であることや、ＭＣＵ２０自身の性能向上による自己発熱温度上昇を考慮すれば、ＭＣＵ２０の正常動作や信頼性を担保するためには、ＥＣＵ３０における温度管理が非常に重要になってくる。本願の各実施形態では、異常出力ポート９から制御ＭＣＵ２１に通知される警告に基づいて、制御ＭＣＵ２１が、電源回路２２とクロック発振器２３を介してＭＣＵ２０に供給する電源やクロックを適切に制御することを可能とする構成となっている。警告に基づいてＭＣＵ２０の動作を制御する方法は任意であり、種々変更可能である。また、エンジン制御用ＥＣＵ以外の装置であっても、同様の環境に置かれる場合があり、そのような場合にも同様の解決手段が有効に機能する。
【００２１】
図２は、実施形態１に係るＭＣＵ２０及びＥＣＵ３０の動作例を示すシグナルフロー図である。ブロックで図示される各構成要素は、図１に示した各ブロックと同じである。ただし、図１ではＡ／Ｄ変換器２として示したが、図２には、Ａ／Ｄ変換器２が、ＣＰＵ４の周辺回路としてのＡ／Ｄ変換器２＿１と温度監視専用Ａ／Ｄ変換器２＿２によって構成される例が示されている。また、図１では詳細が示されていないが、図２には、温度監視専用回路１０が、温度監視専用比較器Ｔ１９、温度監視専用タイマ１８、及び、温度監視専用比較器Ｌ３を含んで構成される例が示されている。また、図２では、ブロック間を繋ぐ矢印によって、信号の流れが示されている。ここで、実線の矢印は温度監視に関わる信号の流れであり、破線の矢印はその他の一般的な信号の流れである。このことは、他のシグナルフロー図（図５、図８、図９、図１２及び図１３）についても同様である。
【００２２】
破線矢印で示されるように、各種センサ３１からの測定値の信号が、外部入出力回路１３と入出力ポート１２を介して、Ａ／Ｄ変換器２＿１に入力され、Ａ／Ｄ変換された入力値がタイマ８に読み込まれる。ＣＰＵ４は、ＦｌａｓｈＲＯＭ５から供給されるプログラムを実行しており、中間データをＲＡＭ７に一時保存するなどして、タイマ８からの出力値を処理し、インジェクタ３２の制御値を算出して、入出力ポート１２と外部入出力回路１３を介してインジェクタ３２を制御する。このとき、ＭＣＵ制御回路２１が電源回路２２とクロック発振器２３を制御して、電源とクロックを供給している。ＭＣＵ制御回路２１は、図１の制御用ＭＣＵ２１で実行されるソフトウェアとして実装される機能のうち、特にＭＣＵ２０を制御する機能を指す。
【００２３】
実線矢印で示される、温度監視動作について説明する。温度センサ１によって測定された温度は、温度監視専用Ａ／Ｄ変換器２＿２によってディジタル値に変換されて、温度監視専用回路１０内の温度監視専用比較器Ｔ１９に入力される。温度監視専用比較器Ｔ１９の他方の入力には、ＦｌａｓｈＲＯＭ５から温度閾値が入力されている。比較の結果、温度センサ１によって測定された温度が温度閾値を超えている場合には、温度監視専用タイマ１８に対してフラグが通知され、合せて、高温検知信号が異常検出ポート９を介して警告ＴとしてＭＣＵ制御回路２１などの外部に通知される。高温検知信号が警告Ｔとして通知されたＭＣＵ制御回路２１では、従来技術と同様にＭＣＵ２０に供給するクロック信号の周波数を低下させるなどの手段によって、ＭＣＵ２０の動作を抑え、ＭＣＵ２０自身による発熱を低減することにより、正常動作が保証される温度範囲を超えないように制御することができる。温度センサ１によって測定される温度が温度閾値以下になった時には、フラグを下げて温度監視専用タイマ１８の計測動作を中止させ、また、警告Ｔを取り消す。
【００２４】
一方、フラグが通知された温度監視専用タイマ１８は、当該フラグが通知されている期間（高温期間）を計測する。この高温期間は、ＭＣＵ２０が出荷された当初からの累積的な期間である。その時点までに高温に曝された期間が、ＦｌａｓｈＲＯＭ５から供給され、温度監視専用比較器Ｔ１９からフラグが通知されたときには、ＦｌａｓｈＲＯＭ５から供給される過去の高温期間に対して、フラグが通知されている期間を累積的に加算する計測動作を行う。計測された期間は、温度監視専用比較器Ｌ３に入力される。温度監視専用比較器Ｌ３の他方の入力には、ＦｌａｓｈＲＯＭ５から高温時間閾値が供給されている。温度監視専用タイマ１８から出力される累積的な計測期間が高温時間閾値を超えた場合には、累積時間超過信号が異常検出ポート９を介して警告ＬとしてＭＣＵ制御回路２１などの外部に通知される。警告Ｌ（累積時間超過信号）は、経年劣化による寿命が近いこと、即ち、近い将来に摩耗故障が発生する恐れがあることを警告するものである。高温時間閾値は、パワーサイクル試験などに基づいて、予め、経験的に、実験的に、またはシミュレーション等により、或いは理論的に算出しておき、ＦｌａｓｈＲＯＭ５に格納しておく。警告Ｌ（累積時間超過信号）が通知された場合には、例えば、温度センサ１によって測定される温度が温度閾値を超えていなくても、ＭＣＵ２０に供給するクロック信号の周波数を低下させるなどの手段によって、ＭＣＵ２０の動作を抑え、ＭＣＵ２０自身による発熱を低減することにより、実際に摩耗故障に至るまでの期間を延ばすことができる。
【００２５】
また、警告Ｌ（累積時間超過信号）が通知された場合には、そのことを示す情報をフラグとしてＦｌａｓｈＲＯＭ５に書き込んでおくとよい。ＥＣＵ３０が一旦動作を停止して温度が低くなった場合にも、警告Ｌ（累積時間超過信号）は有効であるので、再度電源が投入されて動作が再開されたときに、改めて同じ警告Ｌ（累積時間超過信号）を通知することができる。また、ＦｌａｓｈＲＯＭ５に格納されているフラグに基づいて、ＭＣＵ２０の動作を抑え、ＭＣＵ２０自身による発熱を低減する動作制限を継続することができる。例えば、ＦｌａｓｈＲＯＭ５からフラグを読み出して動作制御部１４に通知し、ＭＣＵ２０の動作制限を実施することができる。
【００２６】
温度監視専用タイマ１８によって累積的に計測される高温期間は、計測動作中は定期的にＦｌａｓｈＲＯＭ５に書き戻すように構成するのが好適である。駐車などによるエンジンの停止に伴ってＥＣＵ３０の動作が突然に停止した場合にも、それまでの累積的な高温期間（累積時間）がＦｌａｓｈＲＯＭ５に保持されるので、計測誤差の発生を最小限に抑えることができる。または、温度センサ１によって測定される温度が温度閾値を下回った時点で、ＦｌａｓｈＲＯＭ５に書き戻すように、構成してもよい。
【００２７】
図３と図４は、このときのＭＣＵ２０及びＥＣＵ３０の動作例を示すフローチャートであり、図３は前半、図４は後半である。ＭＣＵ２０が起動した後、温度センサ１で温度を測定し（Ｓ１）、温度監視専用Ａ／Ｄ変換器２＿２を用いてディジタル値に変換する（Ｓ２）。ＦｌａｓｈＲＯＭ５に設定した温度閾値とＡ／Ｄ変換したデータを温度監視専用比較器Ｔ１９により比較を実施し（Ｓ３）、温度閾値以上の温度を検知すると温度監視専用タイマ１８に対して時間計測開始フラグをアサートする（Ｓ４）。フラグを受け取った温度監視専用タイマ１８は時間計測を開始する（Ｓ５）。その後、Ｓ４より前、またはＳ４あるいはＳ５と同時に、異常出力ポート９から高温検知信号を警告Ｔとして外部に通知する（Ｓ６）。
【００２８】
温度監視専用比較器Ｔ１９は常に温度比較を続けており（Ｓ３）、測定温度が閾値以下となった場合、温度監視専用タイマ１８に対して時間計測開始フラグをアサートしているときには（Ｓ７）、温度監視専用タイマ１８に対しての時間計測フラグをネゲートし温度監視専用タイマ１８の時間計測を停止させる（Ｓ８）。同時にまたはこれと前後して、異常出力ポート１から高温検知信号（警告Ｔ）を取り下げる（Ｓ９）。一方、温度監視専用タイマ１８に対して時間計測開始フラグをアサートしていないときには（Ｓ７）、温度センサ１による温度測定（Ｓ１）に戻る。
【００２９】
温度閾値以上の温度を検知して警告Ｔを外部に通知した（Ｓ６）後、温度監視専用タイマ１８によってカウントされた高温閾値を超えていた累積の期間（累積時間）とＦｌａｓｈＲＯＭ５に格納されている高温時間閾値とを温度監視専用比較器Ｌ３により比較する（Ｓ１０）。累積時間が高温時間閾値を超えた場合、この際、累積時間が高温時間閾値を超えたことを、異常出力ポート９経由で累積時間超過信号を外部に警告Ｌとして通知することが可能である（Ｓ１２）。また、高温状態を検知した場合および累積時間が高温時間閾値を超過した場合に、ＭＣＵ２０の動作制限を実施する（Ｓ１３）ことが可能となる。一例として、イグニッションオフした後でもこれ以上の高温動作はＭＣＵ２０として信頼性に影響を及ぼすことにつながるため、ＭＣＵ２０の性能・機能等の動作を制限して起動することで、これ以上の温度ストレスを与えない制御を実施することができる。この場合、ＦｌａｓｈＲＯＭ５に格納されているフラグを用いてチップ（ＭＣＵ２０）全体の動作を制御している動作制御部１４の制御を行う。フラグを受けた動作制御部１４はチップの動作を制限する。即ち、イグニッションオフか否かを判定し（Ｓ１４）、オフでないならＳ１へ戻り、オフなら動作を停止する（Ｓ１５）。その後再びイグニッションがオンされたとき（Ｓ１６）には、ＦｌａｓｈＲＯＭ５にフラグが格納されているか否かを判定し（Ｓ１７）、格納されていなければＳ１へ戻る（通常の起動）。一方、フラグが格納されていれば、改めて警告Ｌを外部に通知し（Ｓ１８）、イグニッションオフ以前のＭＣＵ２０の動作制限（Ｓ１３）と同様に、ＭＣＵ２０の動作を制限する（Ｓ１９）。
【００３０】
累積時間が高温時間閾値を超過したことを示す警告Ｌの通知を基に、ＥＣＵ３０全体であらかじめ考慮しているＭＣＵ２０の動作制限時のソフトウェアでシステムを運用することが可能となる。
【００３１】
以上説明したように、累積時間が高温時間閾値を超過したときには、ＭＣＵ２０として想定している信頼性を保障できなくなるため、保障外の温度につながる動作を制限することで故障を未然に防ぐことが可能となる。また、保障温度以上の動作状態をＦｌａｓｈＲＯＭ５上にロギングできるため、想定外の高温動作が発生した場合の原因究明の手段となる。これはＭＣＵ２０のメーカのみならず、ＥＣＵ３０としてもエンドユーザの使用条件をロギングすることが可能となるためメリットとなる。また、温度センサ１は、ＭＣＵ２０が形成される半導体基板上に同じ半導体製造プロセスによって形成されるとよい。温度センサがチップ外に設置されると測定されるのが周囲温度Ｔａとなるのに対して、温度センサ１が同一チップ上に形成されることにより接合温度Ｔｊをより正確に測定することができる。これらのことは、本明細書で後述する実施形態を含め、あらゆる実施の形態に共通する事項である。
【００３２】
本実施形態１では、温度センサ１によって測定された温度が温度閾値を超えた時に、高温検知信号（警告Ｔ）を通知し、かつ、高温時間の累積的計測を行う例を示したが、高温検知信号（警告Ｔ）を通知するか否かの判断基準となる温度閾値と、高温時間の累積的計測を行うか否かの判断基準となる温度閾値とは、それぞれ別個の値としてもよい。その場合には例えば、１個の温度監視専用比較器１９に代えて、高温検知信号（警告Ｔ）の通知のための比較器と、高温時間を累積的に計測させるフラグをアサート／ネゲートするための比較器とをそれぞれ別個に備えることによって実現される。
【００３３】
〔実施形態２〕
図５は、実施形態２に係るＭＣＵ２０及びＥＣＵ３０の動作例を示すシグナルフロー図である。実施形態１では、温度監視専用Ａ／Ｄ変換器２＿２を備えることにより、温度の監視を常時行うことを可能とした。一方、本実施形態２では、温度監視専用Ａ／Ｄ変換器２＿２に代えて、ＣＰＵ４の周辺回路モジュールの１つである通常のＡ／Ｄ変換器２を使って、温度センサ１によって測定された温度のＡ／Ｄ変換を行う。他の構成と動作は、図２を引用して説明した実施形態１と同様であるので、詳しい説明を省略する。
【００３４】
本実施形態２においては、ＣＰＵ４動作中、温度センサ１による温度測定を実施する。Ａ／Ｄ変換器２は、破線の矢印で示される一般的な信号の流れに沿った、各種センサ３１から入力される測定値に対するＡ／Ｄ変換と、温度センサ１によって測定された温度のＡ／Ｄ変換とを時分割で実行する。温度センサ１によって測定された温度のＡ／Ｄ変換は、各種センサ３１から入力される測定値に対するＡ／Ｄ変換よりも低い優先度で、間欠的に行えば良い。一般に温度は、各種センサ３１から入力される測定値に比べて緩やかに変化するからである。
【００３５】
これにより、Ａ／Ｄ変換の頻度を低減させ専用のＡ／Ｄ変換器２＿２を用いる必要がなくなる。
【００３６】
低優先度で変換したＡ／Ｄ変換データを温度監視専用比較器Ｔ１９に通知し、ＦｌａｓｈＲＯＭ５に設定した温度閾値と比較を実施し、温度閾値以上の温度を検知すると温度監視専用タイマ１８に対して時間計測開始フラグをアサートする。また、異常出力ポート９から高温検知信号（警告Ｔ）を外部に通知する。また、温度監視専用タイマ１８から出力される累積的な計測期間が高温時間閾値を超えた場合には、異常出力ポート９から累積時間超過信号（警告Ｌ）を外部に通知する。これらの動作は、間欠的である以外は、実施形態１と同様である。
【００３７】
図６と図７は、このときのＭＣＵ２０及びＥＣＵ３０の動作例を示すフローチャートであり、図６は前半、図７は後半である。ＭＣＵ２０が起動した後、温度センサ１で温度を測定し（Ｓ１）、一定期間毎にＡ／Ｄ変換器２を用いてディジタル値に変換する（Ｓ２２）。以降の動作は、図３と図４に示した実施形態１と同様であるので、説明を省略する。
【００３８】
本実施形態２においては、実施形態１において常時実施することができた温度測定（温度監視）を間欠的にすることにより、温度監視専用のＡ／Ｄ変換器２＿２を設ける必要がなくなり、回路規模の増大を抑えることができる。その他の効果及び変形例は、実施形態１と同様である。
【００３９】
〔実施形態３〕
本実施形態３では、ハイブリッド車などのバッテリが搭載されている車両に好適なＭＣＵ２０及びＥＣＵ３０について説明する。ハイブリッド車は、エンジンが使用されていない時（エンジン停止状態）、即ち、エンジン制御用ＥＣＵ３０が動作していない時にもバッテリの充電を行うため、充電制御を行う部分は非常に高温になる。充電制御は通常、別のＥＣＵ、別のＭＣＵにて実施されており、エンジン制御用ＥＣＵ３０に搭載されているＭＣＵ２０はスタンバイ状態であることが一般的である。しかしエンジン制御用ＥＣＵ３０の近傍に発熱源がある場合には、搭載されるＭＣＵ２０がスタンバイ状態であっても、当該ＭＣＵ２０に対して熱ストレスが加えられ続けるため、当該ＭＣＵ２０の信頼性を保障するためには、スタンバイ状態での熱履歴を取得することが有効な手段となる。
【００４０】
図８は、実施形態３に係るＭＣＵ２０及びＥＣＵ３０のスタンバイ中の動作例を示すシグナルフロー図である。エンジンが停止している状態であるため、ＣＰＵ４、ＲＡＭ７、タイマ８、動作モード制御部１５及びＰＬＬ回路１６は未使用状態であり、各種センサ３１からの測定データは入力されず、インジェクタ３２に対する制御信号の出力はない。動作制御部１４からは、ＰＬＬ回路１６からのシステムクロックに代えて、低速発振回路１７からバックアップクロックが供給されている。バックアップクロックで動作するタイマ（不図示）を使用して、一定期間ごとに温度センサ１を動作させ、温度を測定してＡ／Ｄ変換器２でディジタル値に変換する。一定期間ごとに温度測定を実施するためのタイマとしては、タイマ８を用いても良いし、後述の図１２と同様に専用の低速タイマ２４を設けても良い。
【００４１】
ディジタル値に変換された温度の測定値は、ＦｌａｓｈＲＯＭ５に格納されている温度閾値と温度監視専用比較器Ｔ１９によって比較される。比較の結果、測定された温度が温度閾値を超えたことを検知すると、温度監視専用タイマ１８に対して時間計測開始フラグをアサートする。このとき、異常出力ポート９から高温検知信号を警告Ｔとして外部に通知する。温度監視専用タイマ１８はフラグが通知されている間の時間を計測し、ＦｌａｓｈＲＯＭ５から供給されるそれまでの累積時間にさらに累積的に加算して累積時間を更新し、更新された累積時間を温度監視専用比較器Ｌ３に通知する。
【００４２】
温度監視専用比較器Ｔ１９は、測定された温度が温度閾値以下になった場合は、時間計測開始フラグをネゲートして温度監視専用タイマ１８の計測をストップさせ、その累積時間を温度監視専用比較器Ｌ３に格納しておく。また、異常出力ポート９の高温検知信号（警告Ｔ）を取り下げる。
【００４３】
温度監視専用比較器Ｌ３はＦｌａｓｈＲＯＭ５に格納された高温時間閾値と温度監視専用タイマ１８から入力される累積時間を常時比較しており、累積時間が高温時間閾値を超えた場合は、異常出力ポート９から累積時間超過信号を警告ＬとしてＭＣＵ制御回路２１に通知する。ＭＣＵ制御回路２１は、電源回路２２とクロック発振器２３からＭＣＵ２０に電源とクロックを供給し、ＭＣＵ２０を起動する。ＭＣＵ２０が起動した後に、累積時間をオーバーしたことを示すフラグを、Ｆｌａｓｈ制御部６を介してＦｌａｓｈＲＯＭ５に書き込む。ＣＰＵ４はフラグの格納完了を検知した後、入出力ポート１２からＭＣＵ制御回路２１に信号を通知し、ＭＣＵ制御回路２１が電源とクロックを制御してＭＣＵ２０を再びスタンバイ状態に遷移させる。
【００４４】
累積時間をオーバーしたことを示すフラグは、警告Ｌ（累積時間超過信号）に対応する、ＭＣＵ２０の内部情報であって、経年劣化による寿命が近いこと、即ち、近い将来に摩耗故障が発生する恐れがあることを示すものである。累積時間をオーバーしたことを示すフラグがセットされた場合には、例えば、温度センサ１によって測定される温度が温度閾値を超えていなくても、ＭＣＵ２０に供給するクロック信号の周波数を低下させるなどの手段によって、ＭＣＵ２０の動作を抑え、ＭＣＵ２０自身による発熱を低減することにより、実際に摩耗故障に至るまでの期間を延ばすことができる。また、ＦｌａｓｈＲＯＭ５にフラグを格納することにより、エンジン停止状態から再びイグニッションオンしたときには、ＦｌａｓｈＲＯＭ５に格納されているフラグに基づいて、ＭＣＵ２０の動作を抑え、ＭＣＵ２０自身による発熱を低減する動作制限を継続することができる。例えば、ＦｌａｓｈＲＯＭ５からフラグを読み出して動作制御部１４に通知し、ＭＣＵ２０の動作制限を実施することができる。
【００４５】
図９は、ＭＣＵ再起動時のＭＣＵ２０及びＥＣＵ３０の動作例を示すシグナルフロー図である。図８に示したシグナルフロー図から、動作制御部１４の動作モード信号とシステムクロックの供給が再開され、各種センサ３１とインジェクタ３２はエンジン動作開始前の状態に変化し、温度センサ１、Ａ／Ｄ変換器２、ＣＰＵ４、ＲＡＭ７及びタイマ８は機能動作開始前の状態に変化し、Ｆｌａｓｈ制御部６とＦｌａｓｈＲＯＭ５には電源供給が再開される。
【００４６】
ＭＣＵ再起動前のスタンバイ中に、累積時間をオーバーしたことを示すフラグがセットされ、ＦｌａｓｈＲＯＭ５に書き込まれている場合には、ＭＣＵ再起動時にそのフラグ情報が読み出されて動作制御部１４に供給される。動作モード制御部１５とＰＬＬ回路１６は、そのフラグ情報に基づいてモード信号とシステムクロックを出力する。フラグが立っている状態では、例えばシステムクロックの周波数を下げてＣＰＵ４の動作を抑え、ＭＣＵ２０自身による発熱を抑える動作制限を行なうことができる。
【００４７】
図１０と図１１は、このときのＭＣＵ２０及びＥＣＵ３０の動作例を示すフローチャートであり、図１０は前半、図１１は後半である。スタンバイ中に内蔵タイマによるカウントを行い（Ｓ４０）、温度測定タイミングに至るごとに温度センサ１による温度測定を実施する（Ｓ１）。測定された温度データはＡ／Ｄ変換器２によってディジタル値に変換される（Ｓ４２）。ここで、Ａ／Ｄ変換器２に代えて、温度監視専用Ａ／Ｄ変換器２＿２を用いても良い。ＦｌａｓｈＲＯＭ５から読み出された温度閾値とＡ／Ｄ変換された温度データとを温度監視専用比較器Ｔ１９により比較し（Ｓ３）、温度閾値以上の温度を検知すると温度監視専用タイマ１８に対して時間計測開始フラグをアサートする（Ｓ４）。フラグを受け取った温度監視専用タイマ１８は時間計測を開始する（Ｓ５）。その後、Ｓ４より前、またはＳ４あるいはＳ５と同時に、異常出力ポート９から高温検知信号を警告Ｔとして外部に通知する（Ｓ６）。
【００４８】
温度監視専用比較器Ｔ１９は内蔵タイマによる一定周期で温度比較を続けており（Ｓ３）、測定温度が閾値以下となった場合、温度監視専用タイマ１８に対して時間計測開始フラグをアサートしているときには（Ｓ７）、温度監視専用タイマ１８に対しての時間計測フラグをネゲートして温度監視専用タイマ１８の時間計測を停止させる（Ｓ８）。同時にまたはこれと前後して、異常出力ポート１からの高温検知信号（警告Ｔ）を取り下げる（Ｓ９）。その後、または、温度監視専用タイマ１８に対して時間計測開始フラグをアサートしていないときには（Ｓ７）、再びスタンバイ状態に戻る（Ｓ５４）。
【００４９】
温度閾値以上の温度を検知して警告Ｔを外部に通知した（Ｓ６）後、温度監視専用タイマ１８によってカウントされた高温閾値を超えていた累積の期間（累積時間）とＦｌａｓｈＲＯＭ５に格納されている高温時間閾値とを温度監視専用比較器Ｌ３により比較する（Ｓ１０）。累積時間が高温時間閾値を超えた場合には、異常出力ポート９経由で累積時間超過信号を外部に警告Ｌとして通知する（Ｓ１２）。その後、或いはＳ１２と並行してまたはＳ１２よりも前に、ＭＣＵ２０を起動して（Ｓ５３）、累積時間が高温時間閾値を超えたことを示すフラグを、Ｆｌａｓｈ制御部６を介してＦｌａｓｈＲＯＭ５に格納する（Ｓ５１）。フラグの格納後は、再びスタンバイ状態に戻る（Ｓ５４）。
【００５０】
再スタンバイ（Ｓ５４）中には、イグニッションオンか否かを判定し（Ｓ５５）、イグニッションオンでなければスタンバイ中のＳ４０に戻る。イグニッションオン（Ｓ１６）であれば、ＦｌａｓｈＲＯＭ５にフラグが格納されているか否かを判定し（Ｓ１７）、フラグが格納されていなければ正常起動する（Ｓ６０）。一方、フラグが格納されていれば、改めて警告Ｌを外部に通知し（Ｓ１８）、ＭＣＵ２０の動作を制限した状態で起動する（Ｓ５９）。
【００５１】
以上のように、実施形態１や２に示したエンジン動作中に対応するＭＣＵ２０の動作中の温度監視を実行することができるのに加え、スタンバイ中にも温度閾値を超えた期間を累積的に計測して、累積時間が高温時間閾値を超過したことを検出することができる。これにより、ＭＣＵ２０の寿命をより正確に予測することができ、的確に警告Ｌを通知することができる。
【００５２】
〔実施形態４〕
図１２及び図１３は、実施形態４に係るＭＣＵ及びＥＣＵの動作例を示すシグナルフロー図であり、図１２にはスタンバイ中の動作例が、図１３にはＭＣＵ再起動時の動作例が、それぞれ示される。実施形態３ではスタンバイ中に累積時間が高温時間閾値を超過したことを検出すると、ＭＣＵ２０を起動しＦｌａｓｈ制御部６を介してＦｌａｓｈＲＯＭ５にそのフラグ情報を書き込む。これに対して、本実施形態４では、スタンバイ中に累積時間が高温時間閾値を超過したことを検出しても、直ちにはＦｌａｓｈＲＯＭ５に書き込まず、次にイグニッションがオンされＭＣＵ２０が再起動されるのを待って、そのフラグ情報をＦｌａｓｈＲＯＭ５に書き込む。これにより、スタンバイ中の消費電力の増加を抑えることができる。これを実現するために、温度監視専用比較器Ｌ３は、フラグ情報をＭＣＵ２０が再起動されるまで保持することができる保持領域（例えばレジスタ）を備える。温度が温度閾値を超えていた累積時間についても同様に、ＭＣＵ２０が再起動されるまで保持することができる保持領域（例えばレジスタ）を、温度監視専用タイマ１８または温度監視専用比較器Ｌ３に備え、ＭＣＵ２０の再起動を待ってＦｌａｓｈＲＯＭ５に書き戻すように構成するとよい。
【００５３】
図１２に示すようにスタンバイ状態では、図８と同様に、エンジンが停止状態であるため、ＣＰＵ４、ＲＡＭ７、タイマ８、動作モード制御部１５及びＰＬＬ回路１６は未使用状態であり、各種センサ３１からの測定データは入力されず、インジェクタ３２に対する制御信号の出力はない。動作制御部１４からは、ＰＬＬ回路１６からのシステムクロックに代えて、低速発振回路１７からバックアップクロックが供給されている。さらに、Ａ／Ｄ変換器２＿１とＦｌａｓｈ制御部６も未使用状態とされる。図８とは異なり、ＭＣＵ２０は低速タイマ２４を備え、一定期間ごとに温度センサ１を動作させて温度測定を実施する。測定された温度データは、温度監視専用Ａ／Ｄ変換器２＿２によってディジタル値に変換されて、温度監視専用比較器Ｔ１９に入力される。温度監視専用比較器Ｔ１９の他方の入力には、ＦｌａｓｈＲＯＭ５から温度閾値が入力されている。比較の結果、温度センサ１によって測定された温度が温度閾値を超えている場合には、温度監視専用タイマ１８に対してフラグが通知され、合せて、高温検知信号が異常検出ポート９を介して警告ＴとしてＭＣＵ制御回路２１などの外部に通知される。温度センサ１によって測定される温度が温度閾値以下になった時には、フラグを下げて温度監視専用タイマ１８の計測動作を中止させ、合せて警告Ｔを取り消す。
【００５４】
一方、フラグが通知された温度監視専用タイマ１８は、当該フラグが通知されている期間（高温期間）を計測する。温度監視専用タイマ１８には、その時点までの累積時間がＦｌａｓｈＲＯＭ５から供給され、これに温度監視専用比較器Ｔ１９からフラグが通知されている期間（高温期間）が累積的にこれに加算される。高温期間が加算された累積時間は、温度監視専用比較器Ｌ３に入力される。温度監視専用比較器Ｌ３の他方の入力には、ＦｌａｓｈＲＯＭ５から高温時間閾値が供給されている。温度監視専用タイマ１８から出力される累積時間が高温時間閾値を超えた場合には、累積時間超過信号が異常検出ポート９を介して警告ＬとしてＭＣＵ制御回路２１などの外部に通知される。
【００５５】
実施形態３とは異なり、累積時間が高温時間閾値を超えたことが検出されても、ＭＰＵ２０を起動してＦｌａｓｈＲＯＭ５にそれを示すフラグ情報を書き込む動作には移行せず、累積時間が高温時間閾値を超えたことを示すフラグ情報は、温度監視専用比較器Ｌ３内に保持される。累積時間についても同様である。累積時間は、測定される温度が温度閾値を超えている期間は逐次更新されるが、最新の値は温度監視専用タイマ１８内または温度監視専用比較器Ｌ３内に保持される。
【００５６】
図１３は、エンジン停止状態から再びイグニッションオンされて、ＭＣＵ２０が再起動されたときの、ＭＣＵ２０及びＥＣＵ３０の動作例を示すシグナルフロー図である。図１２に示したシグナルフロー図から、動作制御部１４の動作モード信号とシステムクロックの供給が再開され、各種センサ３１とインジェクタ３２はエンジン動作開始前の状態に変化し、温度センサ１、Ａ／Ｄ変換器２＿１及び温度監視専用Ａ／Ｄ変換器２＿２、ＣＰＵ４、ＲＡＭ７及びタイマ８は機能動作開始前の状態に変化し、Ｆｌａｓｈ制御部６には電源供給が再開される。
【００５７】
また、ＭＣＵ２０には選択論理２５が設けられている。選択論理２５は、温度監視専用回路１０内のハードウェアとして設けられてもよいし、ＣＰＵ４で実行されるソフトウェアの機能として実装されても良い。選択論理２５はＦｌａｓｈＲＯＭ５に累積時間が高温時間閾値を超えたことを示すフラグが既に格納されている場合には、その情報を動作制御部１４に転送してＭＰＵ２０の動作制限を行う。ＦｌａｓｈＲＯＭ５にはそのフラグが格納されておらず、ＭＣＵ再起動前のスタンバイ中に、累積時間が高温時間閾値を超えたことが検出され、それを示すフラグ情報が温度監視専用比較器Ｌ３内に保持されている場合には、選択論理２５は温度監視専用比較器Ｌ３からフラグ情報を読み出して、動作制御部１４に供給する。動作制御部１４では、動作モード制御部１５とＰＬＬ回路１６が、そのフラグ情報に基づくモード信号とシステムクロックを出力する。フラグが立っている状態では、例えばシステムクロックの周波数を下げてＣＰＵ４の動作を抑え、ＭＣＵ２０自身による発熱を抑える動作制限を行なうことができる。選択論理２５はこれと並行して、温度監視専用比較器Ｌ３から読み出したフラグ情報を、Ｆｌａｓｈ制御部６を介してＦｌａｓｈＲＯＭ５に書き込む。
【００５８】
温度監視専用タイマ１８内または温度監視専用比較器Ｌ３内に累積時間が保持されている場合には、選択論理２５が、これを読み出してＦｌａｓｈ制御部６を介してＦｌａｓｈＲＯＭ５に書き込んでもよい。
【００５９】
図１４と図１５は、このときのＭＣＵ２０及びＥＣＵ３０の動作例を示すフローチャートであり、図１４は前半、図１５は後半である。スタンバイ中に低速タイマ２４によるカウントを行い（Ｓ７０）、カウント閾値を超えるごとに温度センサ１による温度測定を実施する（Ｓ１）。測定された温度データは温度監視専用Ａ／Ｄ変換器２＿２によってディジタル値に変換される（Ｓ７２）。ＦｌａｓｈＲＯＭ５から読み出された温度閾値とＡ／Ｄ変換された温度データとを温度監視専用比較器Ｔ１９により比較し（Ｓ３）、温度閾値以上の温度を検知すると温度監視専用タイマ１８に対して時間計測開始フラグをアサートする（Ｓ４）。フラグを受け取った温度監視専用タイマ１８は時間計測を開始する（Ｓ５）。その後、Ｓ４より前、またはＳ４あるいはＳ５と同時に、異常出力ポート９から高温検知信号を警告Ｔとして外部に通知する（Ｓ６）。
【００６０】
温度監視専用比較器Ｔ１９は低速タイマ２４による一定周期で温度比較を続けており（Ｓ３）、測定温度が閾値以下となった場合、温度監視専用タイマ１８に対して時間計測開始フラグをアサートしているときには（Ｓ７）、温度監視専用タイマ１８に対しての時間計測フラグをネゲートして温度監視専用タイマ１８の時間計測を停止させる（Ｓ８）。同時にまたはこれと前後して、異常出力ポート１からの高温検知信号（警告Ｔ）を取り下げる（Ｓ９）。その後、または、温度監視専用タイマ１８に対して時間計測開始フラグをアサートしていないときには（Ｓ７）、イグニッションオン判定（Ｓ８３）に移行する。
【００６１】
温度閾値以上の温度を検知して警告Ｔを外部に通知した（Ｓ６）後、温度監視専用タイマ１８によってカウントされた高温閾値を超えていた累積の期間（累積時間）とＦｌａｓｈＲＯＭ５に格納されている高温時間閾値とを温度監視専用比較器Ｌ３により比較する（Ｓ１０）。累積時間が高温時間閾値を超えた場合、累積時間が高温時間閾値を超えたことを示すフラグを、温度監視専用比較器Ｌ３内の保持領域（レジスタ等）に格納する（Ｓ８１）。その後、またはそれと並行して或いはそれより前に、異常出力ポート９経由で累積時間超過信号を外部に警告Ｌとして通知する（Ｓ１２）。その後、スタンバイ状態のままイグニッションオン判定（Ｓ８３）に移行する。
【００６２】
イグニッションオンか否かを判定し（Ｓ８４）、イグニッションオンでなければＳ７０に戻る。イグニッションオン（Ｓ８５）であれば、温度監視専用比較器Ｌ３にフラグが格納されているか否かを判定する（Ｓ８６）。その結果、温度監視専用比較器Ｌ３にフラグが格納されていれば、警告Ｌを外部に通知し（Ｓ８７）、ＭＣＵ２０の動作を制限した状態で起動し（Ｓ８８）、累積時間が高温時間閾値を超えたことを示すフラグを、Ｆｌａｓｈ制御部６を介してＦｌａｓｈＲＯＭ５に格納する（Ｓ８９）。一方、Ｓ８６の判定の結果、温度監視専用比較器Ｌ３にフラグが格納されていなければ、ＦｌａｓｈＲＯＭ５にフラグが格納されているか否かを判定し（Ｓ９０）、フラグが格納されていなければ正常起動する（Ｓ９３）。一方、フラグが格納されていれば、改めて警告Ｌを外部に通知し（Ｓ９１）、ＭＣＵ２０の動作を制限した状態で起動する（Ｓ９２）。
【００６３】
以上説明したように、実施形態３とは異なり、スタンバイ中にはＦｌａｓｈＲＯＭ５への書込みを行わないため、低消費電力のまま温度の監視を行うことができる。
【００６４】
図１４及び図１５には図示を省略したが、高温時間閾値に至る前の累積時間は、ＦｌａｓｈＲＯＭ５へ書き戻して保持される。これについても、スタンバイ中に更新された累積時間は、温度監視専用タイマ１８内または温度監視専用比較器Ｌ３内の保持領域（レジスタ等）に保持され、ＭＣＵ２０が再起動された時にＦｌａｓｈＲＯＭ５に書き戻される。
【００６５】
また、スタンバイ状態において、累積時間が高温時間閾値を超えたことが検出されてフラグが温度監視専用比較器Ｌ３内の保持領域（レジスタ等）に保持され、スタンバイ中に更新された累積時間が温度監視専用タイマ１８内または温度監視専用比較器Ｌ３内の保持領域（レジスタ等）に保持されたまま、イグニッションオンされずにＥＣＵ３０の電源がオフされる場合がある。このような場合にも保持された情報が失われること防ぐためには、間欠的にＭＣＵ２０を起動して、保持領域に保持されるフラグや累積時間などの情報を、ＦｌａｓｈＲＯＭ５へ書き込むとよい。または、ユーザによるＥＣＵ３０への電源オフの操作を検知した後、実際にＥＣＵ３０への電源供給が停止するまでの間に、保持領域に保持されるフラグや累積時間などの情報を、ＦｌａｓｈＲＯＭ５へ書き込むとよい。
【００６６】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６７】
例えば、不揮発性メモリの一例としてＦｌａｓｈＲＯＭを示したが、他の不揮発性メモリに変更しても良い。累積時間が高温時間閾値を超過したことを示すフラグは、一度検出されると取り下げられることはないため、１度だけ書込みが可能なヒューズ形式のＲＯＭに書き込むように変更しても良い。
【符号の説明】
【００６８】
１  温度センサ
２  Ａ／Ｄ（Analog to Digital）変換器
４  プロセッサ（ＣＰＵ）
５  不揮発性メモリ（Flash ROM）
６  不揮発性メモリ制御部（Ｆｌａｓｈ制御部：Flash Controller）
７  ＲＡＭ（Random Access Memory）
８  タイマ
９  異常出力ポート
１０  温度監視専用回路
３、１９  温度監視専用比較器
１８  温度監視専用タイマ
１１  バス
１２  入出力ポート
１３  外部入出力回路
１４  動作制御部
１５  動作モード制御
１６  ＰＬＬ回路
１７  低速発振回路
２０  マイクロコントローラ（ＭＣＵ）
２１  ＭＣＵ制御回路（制御用ＭＣＵ）
２２  電源回路
２３  クロック発振器
２４  低速タイマ
２５  選択論理
３０  エンジン制御用ＥＣＵ
３１  各種センサ
３２  インジェクタ
警告Ｌ  累積時間超過信号
警告Ｔ  高温検知信号
【図１】
0006598592.tif 000002
【図２】
0006598592.tif 000003
【図３】
0006598592.tif 000004
【図４】
0006598592.tif 000005
【図５】
0006598592.tif 000006
【図６】
0006598592.tif 000007
【図７】
0006598592.tif 000008
【図８】
0006598592.tif 000009
【図９】
0006598592.tif 000010
【図１０】
0006598592.tif 000011
【図１１】
0006598592.tif 000012
【図１２】
0006598592.tif 000013
【図１３】
0006598592.tif 000014
【図１４】
0006598592.tif 000015
【図１５】
0006598592.tif 000016