(57)【要約】【課題】所定のプログラムにしたがって割込み処理を実行する処理部の処理負荷が増大することなく、割込み発生からの経過時間を用いた高度な割込み処理を実行する。【解決手段】処理部５を備えたマイクロコンピュータ２は、外部からの複数の割込み要因を監視する割込み要因監視部７を備える。割込み要因監視部７は、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を記憶する最大待ち要因記憶部１１を有し、最大待ち要因記憶部１１に記憶されている記憶内容により、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別する。【選択図】図１
2018049446.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムにしたがって割込み処理を実行する処理部（５）を備えたマイクロコンピュータ（２）において、
外部からの複数の割込み要因を監視する割込み要因監視部（７）を備え、
前記割込み要因監視部は、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を記憶する最大待ち要因記憶部（１１）を有し、前記最大待ち要因記憶部に記憶されている記憶内容により、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別するマイクロコンピュータ。
【請求項２】
請求項１に記載したマイクロコンピュータにおいて、
前記割込み要因監視部は、現在から遡って過去所定回数分の割込み要因を記憶する要因記憶部（１０）を有するマイクロコンピュータ。
【請求項３】
請求項２に記載したマイクロコンピュータにおいて、
前記要因記憶部は、前記過去所定回数分の割込み要因を先入れ先出し順にしたがって記憶するマイクロコンピュータ。
【請求項４】
請求項１から３の何れか一項に記載したマイクロコンピュータにおいて、
前記割込み要因監視部は、割込み要因毎の割込み発生からの経過時間を計測するタイマカウンタ（８）を有し、前記タイマカウンタの値を用いて複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別するマイクロコンピュータ。
【請求項５】
請求項１から３の何れか一項に記載したマイクロコンピュータにおいて、
前記割込み要因監視部は、割込み要因毎の割込み発生からの経過時間を計測するタイマカウンタ（８）と、前記割込み要因毎の割込みの発生回数を計測する回数カウンタ（９）とを有し、前記タイマカウンタの値と前記回数カウンタの値とを用いて複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別するマイクロコンピュータ。
【請求項６】
請求項１から３の何れか一項に記載したマイクロコンピュータにおいて、
前記割込み要因監視部は、割込み要因毎の割込み発生からの経過時間を計測するタイマカウンタ（８）と、前記割込み要因毎の割込みの発生回数を計測する回数カウンタ（９）とを有し、前記タイマカウンタの値を用いて複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別する第１の判別方法と、前記タイマカウンタの値と前記回数カウンタの値とを用いて複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別する第２の判別方法とのうち何れかを選択するマイクロコンピュータ。
【請求項７】
請求項４から６の何れか一項に記載したマイクロコンピュータにおいて、
前記タイマカウンタは、タイマ（６）からタイミング通知を入力することで、その値を更新するマイクロコンピュータ。
【請求項８】
請求項１に記載したマイクロコンピュータにおいて、
前記割込み要因監視部は、割込み要因毎の割込み発生からの経過時間を計測するタイマカウンタ（８）と、前記割込み要因毎の割込みの発生回数を計測する回数カウンタ（９）と、現在から遡って過去所定回数分の割込み要因を記憶する要因記憶部（１０）とを有し、
前記処理部は、前記割込み要因監視部から前記タイマカウンタの値、前記回数カウンタの値、前記要因記憶部の記憶内容、前記最大待ち要因記憶部の記憶内容のうち少なくとも何れかを取得するマイクロコンピュータ。
【請求項９】
請求項８に記載したマイクロコンピュータにおいて、
前記処理部は、割込み要因クリアを前記割込み要因監視部に出力し、前記タイマカウンタの値、前記回数カウンタの値、前記要因記憶部の記憶内容、前記最大待ち要因記憶部の記憶内容のうち少なくとも何れかをクリアするマイクロコンピュータ。
【請求項１０】
請求項１から９の何れか一項に記載したマイクロコンピュータを備えた電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマイクロコンピュータ及び電子制御装置に関する。
【背景技術】
【０００２】
従来より、所定のプログラムにしたがって割込み処理を実行する処理部を備えたマイクロコンピュータが供されている。例えば特許文献１には、外部からの割込み要因を監視する割込み要因監視部を有する構成が開示されている。この構成では、割込み要因監視部は、割込み要因毎に個別に設定されている監視間隔で割込みの発生を監視し、割込み発生からの経過時間と割込みの発生回数とを記憶する。割込み要因監視部は、経過時間が予め設定されている所定時間を超え、発生回数が予め設定されている所定回数を超えると、異常の発生を判別する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２７１９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている構成では、異常の発生を割込み要因監視部で判別することはできる。しかしながら、異常が発生していない正常時において、割込み要因毎の割込み発生からの経過時間を処理部で扱うことができず、その経過時間を用いた高度な割込み処理を実行することができない。例えば割込みＡが連続して発生しているにも関わらず、割込みＡよりも優先度が高い割込みＢが発生している期間では、割込みＡの割込み処理を実行することができない。その一方で、割込みＡの割込み処理を実行しない状況が継続すると、異常が発生する。又、割込み要因毎の割込み発生からの経過時間を処理部で扱えるようにし、経過時間が最も長い割込み要因を処理部が判別するように構成すると、処理部の処理負荷の増大を招く。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、処理部の処理負荷が増大することなく、割込み発生からの経過時間を用いた高度な割込み処理を実行することができるマイクロコンピュータ及び電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、所定のプログラムにしたがって割込み処理を実行する処理部（５）を備えたマイクロコンピュータ（２）において、外部からの複数の割込み要因を監視する割込み要因監視部（７）を備える。割込み要因監視部は、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を記憶する最大待ち要因記憶部（１１）を有し、最大待ち要因記憶部に記憶されている記憶内容により、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を判別する。割込み発生からの経過時間が最も長い割込み要因を、処理部とは別の割込み要因監視部が判別することで、処理部の処理負荷が増大することなく、割込み発生からの経過時間を用いた高度な割込み処理を実行することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態を示す機能ブロック図
【図２】フローチャート
【図３】フローチャート
【図４】フローチャート
【図５】フローチャート
【図６】フローチャート
【図７】フローチャート
【発明を実施するための形態】
【０００８】
以下、本発明の一実施形態について図面を参照して説明する。電子制御装置１は、例えば車両用のエンジンの始動を制御する装置であり、電子制御装置１の動作を制御するマイクロコンピュータ（以下、マイコンと称する）２を有する。マイコン２は、割込み制御装置３と、情報処理装置４とを有する。割込み制御装置３は、外部から割込み要因１〜ｎ（ｎは自然数）のｎ個の割込み要因を入力可能であり、何れかの割込み要因を入力すると、割込み要求を情報処理装置４に出力すると共に、その入力した割込み要因を特定可能な要因番号を情報処理装置４に出力する。
【０００９】
情報処理装置４は、処理部５と、タイマ６と、割込み要因監視部７とを有する。処理部５は所定のプログラムにしたがって割込み処理を実行する。タイマ６は、予め任意に設定されている間隔でタイミング通知を割込み要因監視部７に出力する。割込み要因監視部７は、割込み制御装置３から入力する割込み要求及び要因番号と、タイマ６から入力するタイミング通知とを用い、割込み要因の状態を監視する。
【００１０】
割込み要因監視部７は、割込み制御装置３から割込み要求を入力すると、割込みの発生を判定し、割込みの発生を示す割込み通知を処理部５に出力する。処理部５は、割込み要因監視部７から割込み通知を入力すると共に、各種要求を割込み要因監視部７に出力し、割込み処理を実行する。割込み要因監視部７は、処理部５から各種要求を入力すると、その入力した各種要求に対する各種応答を処理部５に出力する。
【００１１】
処理部５は、割込み要因監視部７に出力する各種要求として、割込み要因クリア要求、タイマカウンタ値取得要求、回数カウンタ値取得要求、要因ＦＩＦＯ（First In First Out）取得要求、最大待ち要因取得要求を出力する。処理部５は、割込み要因クリア要求を割込み要因監視部７に出力することで、割込み要因監視部７で監視されている割込み要因をクリアする。
【００１２】
処理部５は、タイマカウンタ値取得要求を割込み要因監視部７に出力することで、後述するタイマカウンタ８の値を含むタイマカウンタ値取得応答を割込み要因監視部７から入力し、タイマカウンタ８の値を割込み要因監視部７から取得する。処理部５は、回数カウンタ値取得要求を割込み要因監視部７に出力することで、後述する回数カウンタ９の値を含む回数カウンタ値取得応答を割込み要因監視部７から入力し、回数カウンタ９の値を割込み要因監視部７から取得する。
【００１３】
処理部５は、要因ＦＩＦＯ取得要求を割込み要因監視部７に出力することで、後述する要因ＦＩＦＯ１０の記憶内容を含む要因ＦＩＦＯ取得応答を割込み要因監視部７から入力し、要因ＦＩＦＯ１０の記憶内容を割込み要因監視部７から取得する。処理部５は、最大待ち要因取得要求を割込み要因監視部７に出力することで、後述する最大待ち要因レジスタ１１の記憶内容を含む最大待ち要因取得応答を割込み要因監視部７から入力し、最大待ち要因レジスタ１１の記憶内容を割込み要因監視部７から取得する。
【００１４】
割込み要因監視部７は、割込み要因毎のタイマカウンタ８と回数カウンタ９とを有すると共に、要因ＦＩＦＯ１０（要因記憶部に相当する）と最大待ち要因レジスタ１１（最大待ち要因記憶部に相当する）とを有する。タイマカウンタ８は、何れかの割込み要因が発生している期間において、タイマ６からタイミング通知を入力する毎に対応する値をインクリメントし、その割込み発生からの経過時間を計測する。回数カウンタ９は、割込み制御装置３から割込み要求を入力すると、その割込み要求に対応して割込み制御装置３から入力した要因番号に対応する値をインクリメントし、その割込みの発生回数を計測する。タイマカウンタ８及び回数カウンタ９は、それぞれ処理部５から割込み要因クリア要求を入力すると、割込み要因に対応する値を「０」にクリアする。
【００１５】
要因ＦＩＦＯ１０は、割込み制御装置３から要因番号を入力すると、その入力した要因番号を先入れ先出し順に記憶する。要因ＦＩＦＯ１０は、記憶可能な要因番号の個数である上限数をｍ（ｍは自然数）とし、１〜ｍ番目のｍ個の記憶領域を有している。要因ＦＩＦＯ１０は、割込み制御装置３から要因番号を入力すると、記憶している要因番号の個数がｐ（ｐは自然数、ｐ＜ｍ）であり、上限数に達していなければ、１〜ｐ番目の記憶領域に記憶している要因番号をそれぞれ２〜（ｐ＋１）番目の記憶領域に移動する。そして、要因ＦＩＦＯ１０は、割込み制御装置３から入力した要因番号、即ち最新の要因番号を１番目の記憶領域に記憶する。一方、要因ＦＩＦＯ１０は、記憶している要因番号の個数がｍであり、上限数に達していれば、ｍ番目の記憶領域に記憶している要因番号を削除する。そして、要因ＦＩＦＯ１０は、１〜（ｍ−１）番目の記憶領域に記憶している要因番号をそれぞれ２〜ｍ番目の記憶領域に移動し、割込み制御装置３から入力した要因番号、即ち最新の要因番号を１番目の記憶領域に記憶する。尚、要因ＦＩＦＯ１０は、上限数を任意に変更可能である。
【００１６】
最大待ち要因レジスタ１１は、ｎ個の割込み要因の中でタイマカウンタ８の値が最大の割込み要因の要因番号、又は回数カウンタ９の値が最大の割込み要因の要因番号を記憶するレジスタである。即ち、最大待ち要因レジスタ１１は、ｎ個の割込み要因の中でタイマカウンタ８の値が最大の割込み要因の要因番号を記憶することで、割込み要因が発生しているにも関わらず、その割込み要因に対応する割込み処理が実行されるまでの経過時間、即ち割込み発生からの経過時間が最も長い割込み要因を記憶する。又、最大待ち要因レジスタ１１は、ｎ個の割込み要因の中で回数カウンタ９の値が最大の割込み要因の要因番号を記憶することで、割込み要因が発生しているにも関わらず、その対応する割込み処理が実行されるまでの発生回数、即ち割込みの発生回数が最も多い割込み要因を記憶する。
【００１７】
この場合、割込み要因監視部７は、タイマカウンタ８を用いた方式及び回数カウンタ９を用いた方式のうち何れかで最大待ち要因レジスタ１１の記憶内容を更新する必要があり、何れの方式で更新するかを選択可能である。割込み要因監視部７が最大待ち要因レジスタ１１の記憶内容を更新するタイミングとして以下の２つのタイミングがある。
【００１８】
１つ目は、割込み要因監視部７が割込み制御装置３から割込み要求を入力したタイミングである。割込み要因監視部７は、割込み制御装置３から割込み要求を入力すると、その割込み要求に対応して割込み制御装置３から入力した要因番号に対応する回数カウンタ９の値をインリメントする。そのため、回数カウンタ９の値が最大となる割込み要因が変化する可能性がある。回数カウンタ９の値が最大となる割込み要因が変化すると、それまで最大待ち要因レジスタ１１が記憶している割込み要因の要因番号と、回数カウンタ９の値が最大となった割込み要因の要因番号とが合致しなくなる。よって、この場合は最大待ち要因レジスタ１１の記憶内容を更新する必要がある。
【００１９】
２つ目は、割込み要因監視部７が処理部５から割込み要因クリア要求を入力したタイミングである。割込み要因監視部７は、処理部５から割込み要因クリア要求を入力すると、割込み要因に対応するタイマカウンタ８の値及び回数カウンタ９の値の両方を「０」にクリアする。そのため、それまで最大待ち要因レジスタ１１が記憶している割込み要因の要因番号と、割込み要因クリア要求によりタイマカウンタ８の値及び回数カウンタ９の値の両方が「０」にクリアされた割込み要因の要因番号とが合致していると、それまで最大待ち要因レジスタ１１が記憶している割込み要因の要因番号と、タイマカウンタ８の値又は回数カウンタ９の値が最大となった割込み要因の要因番号とが合致しなくなる。よって、この場合も最大待ち要因レジスタ１１の記憶内容を更新する必要がある。
【００２０】
尚、割込み要因監視部７は、タイマ６からタイミング通知を入力すると、発生している割込み要因に対応する全てのタイマカウンタ８の値を一斉にインクリメントする。そのため、タイマカウンタ８の値が最大の割込み要因が変化することはなく、それまで最大待ち要因レジスタ１１が記憶している割込み要因の要因番号と、タイマカウンタ８の値が最大の割込み要因の要因番号とが合致したままである。よって、この場合は最大待ち要因レジスタ１１の記憶内容を更新する必要はない。
【００２１】
次に、上記した構成の作用について図２から図７を参照して説明する。割込み要因監視部７は、割込み制御装置３から割込み要求を入力すると、割込み要因の監視処理を実行し、タイマ６からタイミング通知を入力すると、タイマカウンタ８の更新処理を実行する。以下、割込み要因の監視処理及びタイマカウンタ８の更新処理について順次説明する。尚、割込み要因監視部７が割込み制御装置３から割込み要求を入力するタイミングとタイマ６からタイミング通知を入力するタイミングとの間には依存関係が存在しないので、割込み要因監視部７は、割込み要因の監視処理及びタイマカウンタ８の更新処理を独立して実行する。
【００２２】
（１）割込み要因の監視処理
割込み要因監視部７は、割込み要因の監視処理を開始すると、割込み通知を処理部５に出力する（Ｓ１）。このとき、処理部５は、割込み要因監視部７から割込み通知を入力することで、割込み処理を開始する。
【００２３】
割込み要因監視部７は、割込み通知を処理部５に出力すると、要因ＦＩＦＯ１０の更新処理に移行する（Ｓ２）。割込み要因監視部７は、要因ＦＩＦＯ１０の更新処理を開始すると、割込み制御装置３から入力した要因番号を取得し（Ｓ１１）、記憶している要因番号の個数が上限数に達しているか否かを判定する（Ｓ１２）。ここで、割込み要因監視部７は、上限数をｍとすると、記憶している要因番号の個数がｐ（ｐ＜ｍ）であれば、記憶している要因番号の個数が上限数に達していないと判定する（Ｓ１２：ＮＯ）。割込み要因監視部７は、１〜ｐ番目の記憶領域に記憶している要因番号をそれぞれ２〜（ｐ＋１）番目の記憶領域に移動し（Ｓ１３）、その取得した要因番号を１番目の記憶領域に記憶し（Ｓ１４）、要因ＦＩＦＯ１０の更新処理を終了し、割込み要因の監視処理に戻る。
【００２４】
一方、割込み要因監視部７は、記憶している要因番号の個数がｍであれば、記憶している要因番号の個数が上限数に達していると判定する（Ｓ１２：ＹＥＳ）。割込み要因監視部７は、ｍ番目の記憶領域に記憶している要因番号を削除し（Ｓ１５）、１〜（ｍ−１）番目の記憶領域に記憶している要因番号をそれぞれ２〜ｍ番目の記憶領域に移動し（Ｓ１６）、その取得した要因番号を１番目の記憶領域に記憶し（Ｓ１７）、要因ＦＩＦＯ１０の更新処理を終了し、割込み要因の監視処理に戻る。割込み要因監視部７は、このようにして要因番号を先入れ先出し順に記憶することで、過去に発生した割込み要因を、その発生順序を維持したまま記憶可能となる。
【００２５】
割込み要因監視部７は、割込み要因の監視処理に戻ると、回数カウンタ９の更新処理に移行する（Ｓ３）。割込み要因監視部７は、回数カウンタ９の更新処理を開始すると、割込み制御装置３から入力して取得した要因番号を取得し（Ｓ２１）、その取得した要因番号に対応する回数カウンタ９の値をインクリメントし（Ｓ２２）、回数カウンタの更新処理を終了し、割込み要因の監視処理に戻る。割込み要因監視部７は、このように発生した割込み要因に対応する回数カウンタ９の値をインクリメントすることで、割込み要因毎に割込みの発生回数を記憶可能となる。尚、以上は、割込み要因監視部７は、要因ＦＩＦＯ１０の更新処理を終了した後に回数カウンタの更新処理を実行する場合を説明したが、要因ＦＩＦＯ１０の更新処理と回数カウンタ９の更新処理との間には依存関係が存在しないので、要因ＦＩＦＯ１０の更新処理と回数カウンタ９の更新処理とを同時に（即ち並列に）実行しても良い。
【００２６】
割込み要因監視部７は、割込み要因の監視処理に戻ると、割込み要求入力時の最大待ち要因レジスタ１１の更新処理に移行する。割込み要因監視部７は、割込み要求入力時の最大待ち要因レジスタ１１の更新処理を開始すると、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が回数カウンタ９で更新されるか否かを判定する（Ｓ３１）。割込み要因監視部７は、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が回数カウンタ９により更新されないと判定すると（Ｓ３１：ＮＯ）、最大待ち要因レジスタ１１の記憶内容の更新が不要となるので、割込み要求入力時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００２７】
一方、割込み要因監視部７は、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が回数カウンタ９により更新されると判定すると（Ｓ３１：ＹＥＳ）、割込み制御装置３から入力して取得した要因番号と、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号とが異なるか否かを判定する（Ｓ３２）。割込み要因監視部７は、両者が同じであると判定すると（Ｓ３２：ＮＯ）、回数カウンタ９の値を更新したとしても値が最大となる割込み要因が変化せず、最大待ち要因レジスタ１１の記憶内容の更新が不要となるので、割込み要求入力時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００２８】
一方、割込み要因監視部７は、両者が異なると判定すると（Ｓ３２：ＹＥＳ）、回数カウンタ９の値を更新することで、値が最大となる割込み要因が変化する可能性があるので、割込み制御装置３から入力して取得した要因番号に対応する回数カウンタ９の値と最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号に対応する回数カウンタ９の値との大小を比較する（Ｓ３３）。割込み要因監視部７は、割込み制御装置３から入力して取得した要因番号に対応する回数カウンタ９の値が、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号に対応する回数カウンタ９の値よりも大きくないと判定すると（Ｓ３３：ＮＯ）、最大待ち要因レジスタ１１の記憶内容の更新が不要となるので、割込み要求入力時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００２９】
一方、割込み要因監視部７は、割込み制御装置３から入力して取得した要因番号に対応する回数カウンタ９の値が、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号に対応する回数カウンタ９の値よりも大きいと判定すると（Ｓ３３：ＹＥＳ）、割込み制御装置３から入力して取得した要因番号を最大待ち要因レジスタ１１に記憶し（Ｓ３４）、割込み要求入力時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００３０】
割込み要因監視部７は、割込み要因の監視処理に戻ると、処理部５からの割込み要因クリア要求の入力を待機する（Ｓ５）。これ以降、処理部５は、割込み処理を完了すると、割込み要因クリア処理を実行し、割込み要因クリア要求を割込み要因監視部７に出力する。割込み要因監視部７は、処理部５から割込み要因クリア要求を入力したと判定すると（Ｓ５：ＹＥＳ）、割込み要因クリア時の最大待ち要因レジスタ１１の更新処理に移行する（Ｓ６）。
【００３１】
割込み要因監視部７は、割込み要因クリア時の最大待ち要因レジスタ１１の更新処理を開始すると、処理部５から入力した割込み要因クリア要求により指定されているクリア対象の要因番号と最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号とが異なるか否かを判定する（Ｓ４１）。割込み要因監視部７は、両者が異なると判定すると（Ｓ４１：ＹＥＳ）、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が変化せず、最大待ち要因レジスタ１１の記憶内容の更新が不要となるので、割込み要因クリア時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００３２】
一方、割込み要因監視部７は、両者が同じであると判定すると（Ｓ４１：ＮＯ）、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が回数カウンタ９により更新されるか否かを判定する（Ｓ４２）。割込み要因監視部７は、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が回数カウンタ９により更新されないと判定すると（Ｓ４２：ＮＯ）、タイマカウンタ８の値が最大の割込み要因が最大待ち要因レジスタ１１に記憶される必要があるので、全ての割込み要因の中からタイマカウンタ８の値が最大の割込み要因を探索する（Ｓ４３）。そして、割込み要因監視部７は、その探索した割込み要因の要因番号を最大待ち要因レジスタ１１に記憶し（Ｓ４４）、割込み要因クリア時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００３３】
一方、割込み要因監視部７は、最大待ち要因レジスタ１１に記憶されている割込み要因の要因番号が回数カウンタ９により更新されると判定すると（Ｓ４２：ＹＥＳ）、全ての割込み要因の中から回数カウンタ９の値が最大の割込み要因を探索する（Ｓ４５）。割込み要因監視部７は、探索した割込み要因が複数であるか否かを判定し（Ｓ４６）、その探索した割込み要因が複数でない（即ち１つである）と判定すると（Ｓ４６：ＮＯ）、その探索した割込み要因の要因番号を最大待ち要因レジスタ１１に記憶し（Ｓ４４）、割込み要因クリア時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００３４】
一方、割込み要因監視部７は、その探索した割込み要因が複数であると判定すると（Ｓ４６：ＹＥＳ）、その複数の割込み要因の中からタイマカウンタ８の値が最大の割込み要因を探索する（Ｓ４７）。そして、割込み要因監視部７は、その探索した割込み要因の要因番号を最大待ち要因レジスタ１１に記憶し（Ｓ４４）、割込み要因クリア時の最大待ち要因レジスタ１１の更新処理を終了し、割込み要因の監視処理に戻る。
【００３５】
（２）タイマカウンタ８の更新処理
割込み要因監視部７は、タイマカウンタ８の更新処理を開始すると、回数カウンタ９の値が「０」でない割込み要因が存在するか否かを判定する（Ｓ５１）。割込み要因監視部７は、回数カウンタ９の値が「０」でない割込み要因が存在していないと判定すると（Ｓ５１：ＮＯ）、割込み要因が発生していないと判定し、タイマカウンタ８の値をインクリメントせず、タイマカウンタ８の更新処理を終了する。一方、割込み要因監視部７は、回数カウンタ９の値が「０」でない割込み要因が存在していると判定すると（Ｓ５１：ＹＥＳ）、割込み要因が発生していると判定し、その割込み要因に対応するタイマカウンタ８の値をインクリメントし（Ｓ５２）、タイマカウンタ８の更新処理を終了する。
【００３６】
このようにして割込み要因監視部７が割込み要因の監視処理及びタイマカウンタ８の更新処理を実行することで、割込み発生からの経過時間が最も長い割込み要因を判別する処理を処理部５が実行しなくとも、その経過時間が最も長い割込み要因を割込み要因監視部７で判別可能となる。加えて、割込みの発生回数が最も多い割込み要因を処理部５が実行しなくとも、その発生回数が最も多い割込み要因を発生順序にしたがって割込み要因監視部７で判別可能となる。これにより、処理部５は、経過時間が最も長い割込み要因や発生回数が最も多い割込み要因を割込み要因監視部７から取得することで、その取得した経過時間や発生回数に応じて割込み処理の実行順序を変更する等の高度な割込み処理を実行可能となる。尚、タイマカウンタ８の値を用いて割込み発生からの経過時間が最も長い割込み要因を判別する判別方法と、タイマカウンタ８の値と回数カウンタ９の値とを用いて割込み発生からの経過時間が最も長い割込み要因を判別する判別方法とのうち何れかを選択可能としても良い。
【００３７】
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
マイコン２において、最大待ち要因レジスタ１１に記憶されている記憶内容により、複数の割込み要因のうち割込み発生からの経過時間が最も長い割込み要因を割込み要因監視部７が判別するようにした。経過時間が最も長い割込み要因を判別する処理を処理部５が実行しなくとも、経過時間が最も長い割込み要因を割込み要因監視部７が判別することで、処理部５の処理負荷が増大することなく、割込み発生からの経過時間を用いた高度な割込み処理を実行することができる。又、複数の割込み要因を監視することで、複数の割込み要因に対応することができ、電子制御装置１を含めたシステムの柔軟な開発を実現することができる。
【００３８】
又、マイコン２において、要因ＦＩＦＯ１０に記憶されている記憶内容により、複数の割込み要因のうち割込みの発生回数が最も多い割込み要因を割込み要因監視部７が判別するようにした。発生回数が最も多い割込み要因を判別する処理を処理部５が実行しなくとも、発生回数が最も多い割込み要要因を割込み要因監視部７が判別することで、処理部５の処理負荷が増大することなく、割込み発生からの経過時間に加えて割込みの発生回数を用いた高度な割込み処理を実行することができる。又、過去に発生した割込み要因の発生順序を維持したまま記憶することで、デバッグを容易に行うことができる。
【００３９】
又、マイコン２において、タイマカウンタ８の値を用いて割込み発生からの経過時間が最も長い割込み要因を判別する判別方法と、タイマカウンタ８の値と回数カウンタ９の値とを用いて割込み発生からの経過時間が最も長い割込み要因を判別する判別方法とのうち何れかを選択するようにした。何れかの判別方法を、電子制御装置１を含めたシステムに応じて選択することで、システムの柔軟な開発を実現することができる。
【００４０】
又、マイコン２において、タイマ６からタイミング通知を入力することで、タイマカウンタの値を更新するようにした。タイマカウンタの値を定期的に更新し、割込み発生からの経過時間を適切に計測することができる。
【００４１】
又、マイコン２において、タイマカウンタ８の値、回数カウンタ９の値、要因ＦＩＦＯ１０の記憶内容、最大待ち要因記憶部１１の記憶内容を処理部５が割込み要因監視部７から取得するようにした。タイマカウンタ８の値、回数カウンタ９の値、要因ＦＩＦＯ１０の記憶内容、最大待ち要因記憶部１１の記憶内容を処理部５が任意のタイミングで取得することができる。
【００４２】
又、マイコン２において、処理部５が割込み要因クリアを割込み要因監視部７に出力すると、タイマカウンタ８の値、回数カウンタ９の値、要因ＦＩＦＯ１０の記憶内容、最大待ち要因記憶部１１の記憶内容をクリアするようにした。タイマカウンタ８の値、回数カウンタ９の値、要因ＦＩＦＯ１０の記憶内容、最大待ち要因記憶部１１の記憶内容を処理部５が任意のタイミングでクリアすることができる。
【００４３】
本発明は、上記した実施形態で例示したものに限定されることなく、その範囲を逸脱しない範囲で任意に変形又は拡張することができる。
電子制御装置１は、車両用のエンジンの始動を制御する装置に限らず、どのような電子制御装置に適用しても良い。
【００４４】
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【００４５】
図面中、１は電子制御装置、２はマイコン、５は処理部、７は割込み要因監視部、８はタイマカウンタ、９は回数カウンタ、１０は要因ＦＩＦＯ（要因記憶部）、１１は最大待ち要因レジスタ（最大待ち要因記憶部）である。
【図１】
2018049446.tif 000003
【図２】
2018049446.tif 000004
【図３】
2018049446.tif 000005
【図４】
2018049446.tif 000006
【図５】
2018049446.tif 000007
【図６】
2018049446.tif 000008
【図７】
2018049446.tif 000009