(57)【要約】【課題】マイコンのリセットの原因を特定することができる制御装置および制御方法を提供する。【解決手段】実施形態の一態様に係る制御装置においては、リセット部と、取得部と、特定部とを備える。リセット部は、バッテリに接続されてマイコンに電力を供給するレギュレータの出力電圧が第１所定電圧未満のときにマイコンをリセットする。取得部は、起動中にレギュレータの出力電圧が第１所定電圧未満に低下したことを示すレギュレータ低電圧情報と、バッテリの出力電圧が第２所定電圧未満に低下したことを示すバッテリ低電圧情報とを取得可能とされる。特定部は、取得部によって取得されるレギュレータ低電圧情報およびバッテリ低電圧情報の有無に基づいて、マイコンのリセットの原因を特定する。【選択図】図１
2020102020.tif 000002
【特許請求の範囲】
【請求項１】
バッテリに接続されてマイコンに電力を供給するレギュレータの出力電圧が第１所定電圧未満のときに前記マイコンをリセットするリセット部と、
起動中に前記レギュレータの出力電圧が第１所定電圧未満に低下したことを示すレギュレータ低電圧情報と、前記バッテリの出力電圧が第２所定電圧未満に低下したことを示すバッテリ低電圧情報とを取得可能な取得部と、
前記取得部によって取得される前記レギュレータ低電圧情報および前記バッテリ低電圧情報の有無に基づいて、前記マイコンのリセットの原因を特定する特定部と
を備えることを特徴とする制御装置。
【請求項２】
前記取得部は、
前記バッテリと前記レギュレータとの間に介挿されるリレーの出力電圧が第３所定電圧未満に低下したことを示すリレー低電圧情報を取得可能であり、
前記特定部は、
前記取得部によって取得される前記リレー低電圧情報の有無に基づいて、前記マイコンのリセットの原因を特定すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記取得部は、
前記マイコンに異常が発生したことを示すマイコン異常情報を取得可能であり、
前記特定部は、
前記取得部によって取得される前記マイコン異常情報の有無に基づいて、前記マイコンのリセットの原因を特定すること
を特徴とする請求項１または２に記載の制御装置。
【請求項４】
前記取得部は、
前記リセット部によって前記マイコンがリセットされた後に電力の供給が復帰した場合、前記バッテリ低電圧情報を再度取得可能であり、
前記特定部は、
電力の供給が復帰した後に、前記取得部によって前記バッテリ低電圧情報が取得された場合、前記マイコンのリセットの原因が前記バッテリであることを特定すること
を特徴とする請求項１〜３のいずれか一つに記載の制御装置。
【請求項５】
前記取得部は、
第１所定間隔で処理を実行する定時タスク処理と次回の定時タスク処理との間に、前記第１所定間隔より短い第２所定間隔で処理を実行するアイドルタスク処理において、前記レギュレータ低電圧情報、前記バッテリ低電圧情報、および、前記リレー低電圧情報の少なくともいずれかを取得可能であること
を特徴とする請求項２に記載の制御装置。
【請求項６】
マイコンに電力を供給するレギュレータの出力電圧が第１所定電圧未満に低下したとき、前記マイコンをリセットするリセット部と、
前記マイコンがリセットされたとき、前記マイコンがリセットされたことを示すマイコン異常情報を生成する生成部と、
前記生成部によって生成された前記マイコン異常情報に基づいて、前記マイコンのリセットの原因を特定する特定部と
を備え、
前記生成部は、
前記マイコンをリセットした後の電力供給の復帰中に、前記レギュレータの出力電圧が前記第１所定電圧以上に上昇したとき、前記マイコン異常情報を再度生成すること
を特徴とする制御装置。
【請求項７】
バッテリに接続されてマイコンに電力を供給するレギュレータの出力電圧が第１所定電圧未満のときに前記マイコンをリセットするリセット工程と、
起動中に前記レギュレータの出力電圧が第１所定電圧未満に低下したことを示すレギュレータ低電圧情報と、前記バッテリの出力電圧が第２所定電圧未満に低下したことを示すバッテリ低電圧情報とを取得可能な取得工程と、
前記取得工程によって取得される前記レギュレータ低電圧情報および前記バッテリ低電圧情報の有無に基づいて、前記マイコンのリセットの原因を特定する特定工程と
を含むことを特徴とする制御方法。
【請求項８】
マイコンに電力を供給するレギュレータの出力電圧が第１所定電圧未満に低下したとき、前記マイコンをリセットするリセット工程と、
前記マイコンがリセットされたとき、前記マイコンがリセットされたことを示すマイコン異常情報を生成する生成工程と、
前記生成工程によって生成された前記マイコン異常情報に基づいて、前記マイコンのリセットの原因を特定する特定工程と
を含み、
前記生成工程は、
前記マイコンをリセットした後の電力供給の復帰中に、前記レギュレータの出力電圧が前記第１所定電圧以上に上昇したとき、前記マイコン異常情報を再度生成すること
を特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および制御方法に関する。
【背景技術】
【０００２】
従来、例えば車両に搭載され、エンジンなど車両の各種システムをそれぞれ電子制御する制御装置が知られている（例えば、特許文献１参照）。上記した制御装置では、内蔵されたマイクロコンピュータやマイクロコントローラ（以下、「マイコン」と記載する）が制御プログラムを読み出して実行することにより、割り当てられた各種機能を実現する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２１９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記した制御装置にあっては、電源不良やマイコンの異常など種々の原因でマイコンがリセットされることがあった。しかしながら、従来技術にあっては、マイコンのリセット発生の原因を特定することができず、改善の余地があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、マイコンのリセットの原因を特定することができる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決し、目的を達成するために、本発明は、制御装置において、リセット部と、取得部と、特定部とを備える。リセット部は、バッテリに接続されてマイコンに電力を供給するレギュレータの出力電圧が第１所定電圧未満のときに前記マイコンをリセットする。取得部は、起動中に前記レギュレータの出力電圧が第１所定電圧未満に低下したことを示すレギュレータ低電圧情報と、前記バッテリの出力電圧が第２所定電圧未満に低下したことを示すバッテリ低電圧情報とを取得可能とされる。特定部は、前記取得部によって取得される前記レギュレータ低電圧情報および前記バッテリ低電圧情報の有無に基づいて、前記マイコンのリセットの原因を特定する。
【発明の効果】
【０００７】
本発明によれば、マイコンのリセットの原因を特定することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る制御方法の概要を示す図である。
【図２】図２は、制御装置を含む制御システムの構成例を示すブロック図である。
【図３】図３は、制御装置の処理を説明するタイムチャートである。
【図４】図４は、制御装置の処理を説明するタイムチャートである。
【図５】図５は、制御装置が実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本願の開示する制御装置および制御方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１０】
＜１．制御装置による制御方法の概要＞
以下では先ず、実施形態に係る制御装置による制御方法の概要について図１を参照して説明する。図１は、実施形態に係る制御方法の概要を示す図である。
【００１１】
実施形態に係る制御方法は、例えば制御装置１によって実行される。制御装置１は、マイコン１０と、レギュレータ４０と、電源ＩＣ（Integrated  Circuit）５０とを備える。また、制御装置１には、バッテリ１００が接続される。
【００１２】
マイコン１０は、例えば、予め内部に保持する制御プログラムを読み出して実行することにより、各種の機能を実現することができる。なお、マイコン１０の構成については、図２を用いて後述する。
【００１３】
レギュレータ４０は、バッテリ１００に接続され、バッテリ１００から供給された電力を所定の電圧に調整してマイコン１０に供給する。電源ＩＣ５０は、マイコン１０に対する電源の状態（ここではバッテリ１００やレギュレータ４０の状態）や、マイコン１０の動作状態などを監視することができる。
【００１４】
ところで、上記のように構成される制御装置１において、例えば起動中に、レギュレータ４０からマイコン１０へ供給される電力が何らかの原因で低下することがある。マイコン１０にあっては、供給される電力が低下すると、電源ＩＣ５０からリセット要求がなされてリセット処理が行われる。
【００１５】
このようなマイコン１０のリセットが発生した場合、従来技術にあっては、リセット発生の原因を特定することができなかった。そのため、例えば、制御装置１やバッテリ１００において、実際には正常に機能していたにも関わらず、リセット発生の原因が特定できないため、制御装置１やバッテリ１００の交換が行われるなど、不要な部品交換につながっていた。
【００１６】
そこで、本実施形態に係る制御方法にあっては、マイコン１０のリセットの原因を特定することができるようにした。
【００１７】
具体的には、制御装置１の電源ＩＣ５０は、レギュレータ４０の出力電圧を監視する（ステップＳ１）。また、電源ＩＣ５０は、バッテリ１００の出力電圧を監視する（ステップＳ２）。
【００１８】
電源ＩＣ５０は、例えば、制御装置１の起動中にレギュレータ４０の出力電圧が第１所定電圧未満に低下した場合、レギュレータ４０が低電圧状態になったことを示すレギュレータ低電圧情報をマイコン１０へ出力する。マイコン１０は、かかるレギュレータ低電圧情報を取得すると、かかるレギュレータ低電圧情報を図示しない記憶部に記憶させる（ステップＳ３）。
【００１９】
また、電源ＩＣ５０は、例えば、制御装置１の起動中にレギュレータ４０の出力電圧が第１所定電圧未満になり、かつ、バッテリ１００の出力電圧が第２所定電圧未満に低下した場合、バッテリ１００が低電圧状態になったことを示すバッテリ低電圧情報をマイコン１０へ出力する。マイコン１０は、バッテリ低電圧情報を取得すると、かかるバッテリ低電圧情報を記憶部に記憶させる（ステップＳ３）。
【００２０】
なお、上記した第１所定電圧や第２所定電圧は、例えば、レギュレータ４０やバッテリ１００が低電圧で正常に機能することが難しいと判定される値に予め設定されるが、これに限られず、任意の値に設定してもよい。
【００２１】
また、電源ＩＣ５０は、レギュレータ４０の出力電圧が第１所定電圧未満で低電圧状態であることから、マイコン１０に対してリセット要求を出力し、マイコン１０はリセット処理を実行する（ステップＳ４）。
【００２２】
そして、制御装置１は、例えばリセットからの復帰後に、マイコン１０のリセットの原因を特定する処理を実行することができる。例えば、制御装置１は、記憶部にアクセスして、レギュレータ低電圧情報およびバッテリ低電圧情報の有無に基づいて、マイコン１０のリセットの原因を特定する（ステップＳ５）。
【００２３】
具体的には、制御装置１は、レギュレータ低電圧情報およびバッテリ低電圧情報が記憶部にある場合、レギュレータ４０のみならず、バッテリ１００自体が低電圧状態であることから、低電圧によるリセットの原因はバッテリ１００であると特定することができる。
【００２４】
また、制御装置１は、記憶部にレギュレータ低電圧情報があり、バッテリ低電圧情報が無い場合、バッテリ１００自体は正常と推定できることから、バッテリ１００以外の部品（例えばレギュレータ４０など）がリセットの原因と特定することができる。
【００２５】
このように、本実施形態に係る制御装置１にあっては、マイコン１０のリセット時にレギュレータ低電圧情報やバッテリ低電圧情報を取得し、取得される情報の有無を判定することで、マイコン１０のリセットの原因を特定することができる。
【００２６】
＜２．制御装置を含む制御システムの構成＞
次に、本実施形態に係る制御装置１を含む制御システムの構成について、図２を用いて説明する。図２は、制御装置１を含む制御システムＡの構成例を示すブロック図である。なお、図２のブロック図では、本実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
【００２７】
換言すれば、図２のブロック図に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【００２８】
図２に示すように、制御システムＡは、上記した制御装置１と、バッテリ１００と、リレー１１０とを備える。バッテリ１００は、制御装置１などに対して電力を供給する。
【００２９】
リレー１１０は、バッテリ１００と制御装置１のレギュレータ４０との間に介挿される。リレー１１０は、例えば、図示しないイグニッションスイッチのオン・オフ信号に応じて動作する。すなわち、リレー１１０は、イグニッションスイッチがオンである場合、バッテリ１００とレギュレータ４０とを電気的に接続して、バッテリ１００からレギュレータ４０へ電力が供給される。他方、リレー１１０は、イグニッションスイッチがオフである場合、バッテリ１００とレギュレータ４０との電気的な接続を遮断する。
【００３０】
制御装置１は、上記したように、マイコン１０と、レギュレータ４０と、電源ＩＣ５０とを備える。レギュレータ４０は、バッテリ１００からリレー１１０を介して供給された電力を所定の電圧（例えば５Ｖ）に調整してマイコン１０に供給する。
【００３１】
電源ＩＣ５０は、レギュレータ４０やバッテリ１００の出力電圧を監視し、レギュレータ４０やバッテリ１００の状態に応じて、上記したレギュレータ低電圧情報やバッテリ低電圧情報などの各種情報、リセット要求などをマイコン１０へ出力する。
【００３２】
マイコン１０は、制御部２０と、記憶部３０とを備える。記憶部３０は、不揮発性メモリやハードディスクドライブといった記憶デバイスで構成される記憶部である。記憶部３０は、レギュレータ低電圧情報３１、バッテリ低電圧情報３２、リレー低電圧情報３３、マイコン異常情報３４などを記憶可能に構成され、また、各種プログラムや設定データなどを記憶する。
【００３３】
レギュレータ低電圧情報３１は、制御装置１の起動中にレギュレータ４０の出力電圧が第１所定電圧未満に低下した場合に、マイコン１０から出力される情報である。なお、レギュレータ４０の出力電圧が第１所定電圧未満に低下すると、電源ＩＣ５０からリセット要求がなされてマイコン１０のリセット処理が行われることから、レギュレータ低電圧情報３１は、制御装置１の起動中にリセット処理があったことを示すリセット履歴情報に対応している。
【００３４】
バッテリ低電圧情報３２は、制御装置１の起動中にレギュレータ４０の出力電圧が第１所定電圧未満に低下し、かつ、バッテリ１００の出力電圧が第２所定電圧未満に低下した場合に、マイコン１０から出力される情報である。なお、リレー低電圧情報３３およびマイコン異常情報３４については、後述する。
【００３５】
制御部２０は、ＣＰＵ（Central  Processing  Unit）などを有し、リセット部２１と、生成部２２と、取得部２３と、特定部２４とを備える。
【００３６】
なお、マイコン１０のＣＰＵは、例えば、記憶部３０などに記憶されたプログラムを読み出して実行することによって、制御部２０のリセット部２１、生成部２２、取得部２３および特定部２４として機能する。また、制御部２０のリセット部２１、生成部２２、取得部２３および特定部２４の少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。なお、マイコン１０は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【００３７】
制御部２０のリセット部２１は、電源ＩＣ５０からのリセット要求を受け付けたとき、マイコン１０をリセットする。すなわち、リセット部２１は、レギュレータ４０の出力電圧が第１所定電圧未満のとき、言い換えると低電圧状態のときにマイコン１０をリセットする。なお、リセット部２１は、上記した電源ＩＣ５０からのリセット要求に限られず、例えば、マイコン１０に異常が発生したときやイグニッションスイッチがオフされたときなどに、マイコン１０をリセットすることができる。
【００３８】
生成部２２は、上記したリレー低電圧情報３３およびマイコン異常情報３４などを生成して取得部２３へ出力する。詳しくは、生成部２２は、リレー１１０の出力電圧を監視することができる。そして、生成部２２は、リレー１１０の出力電圧が第３所定電圧未満に低下した場合、リレー１１０が低電圧状態になったことを示すリレー低電圧情報３３を生成して取得部２３へ出力する。
【００３９】
なお、上記した第３所定電圧は、例えば、リレー１１０の出力電圧が低電圧で正常に機能していないと判定される値に予め設定されるが、これに限られず、任意の値に設定してもよい。
【００４０】
また、生成部２２は、マイコン１０の動作状態を監視することができる。そして、生成部２２は、マイコン１０に例えばソフト異常などの異常が発生した場合、マイコン１０に異常が発生したことを示すマイコン異常情報３４を生成して取得部２３へ出力する。
【００４１】
また、生成部２２は、マイコン１０がリセットされたとき、マイコン１０がリセットされたことを示すマイコン異常情報３４を生成してもよい。すなわち、マイコン異常情報３４には、マイコン１０に異常が発生したことを示す情報に加え、あるいは代えてマイコン１０がリセットされたことを示す情報が含まれてもよい。また、生成部２２は、マイコン１０がリセットされたことを示す情報をマイコンリセット情報として、マイコン異常情報３４とは別に生成してもよい。
【００４２】
取得部２３は、電源ＩＣ５０から出力されるレギュレータ低電圧情報３１やバッテリ低電圧情報３２を取得することができる。また、取得部２３は、生成部２２から出力されるリレー低電圧情報３３やマイコン異常情報３４を取得することができる。
【００４３】
取得部２３は、レギュレータ低電圧情報３１やバッテリ低電圧情報３２、リレー低電圧情報３３、マイコン異常情報３４を取得すると、取得した情報を記憶部３０に記憶させる。
【００４４】
特定部２４は、取得部２３によって取得されるレギュレータ低電圧情報３１、バッテリ低電圧情報３２、リレー低電圧情報３３、および、マイコン異常情報３４の有無に基づいて、マイコン１０のリセットの原因を特定する。言い換えると、特定部２４は、記憶部３０に記憶されるレギュレータ低電圧情報３１等の有無に基づいて、マイコン１０のリセットの原因を特定する。
【００４５】
例えば、特定部２４は、レギュレータ低電圧情報３１が取得されている場合、制御装置１の起動中にリセット処理があったことを示しており、さらに、バッテリ低電圧情報３２が取得される場合、バッテリ１００自体が低電圧状態であることから、低電圧によるリセットの原因はバッテリ１００であると特定することができる。
【００４６】
また、特定部２４は、バッテリ低電圧情報３２が取得されておらず、リレー低電圧情報３３が取得されている場合、バッテリ１００自体は正常であるものの、リレー１１０の出力電圧が低下していると推定できることから、低電圧によるリセットの原因はリレー１１０であると特定することができる。
【００４７】
また、特定部２４は、バッテリ低電圧情報３２およびリレー低電圧情報３３が取得されておらず、マイコン異常情報３４が取得されている場合、バッテリ１００やリレー１１０自体は正常と推定できることから、低電圧によるリセットの原因はマイコン１０であると特定することができる。
【００４８】
また、特定部２４は、バッテリ低電圧情報３２、リレー低電圧情報３３およびマイコン異常情報３４が取得されていない場合、すなわち、レギュレータ低電圧情報３１のみが取得されている場合、バッテリ１００やリレー１１０、マイコン１０自体は正常と推定できることから、低電圧によるリセットの原因はレギュレータ４０であると特定することができる。
【００４９】
そして、特定部２４は、上記のようにしてマイコン１０のリセットの原因を特定すると、特定した原因を示す情報を制御装置１に接続された表示装置（図示せず）などに対して出力することができる。これにより、例えば、ユーザはマイコン１０のリセットの原因を把握することが可能となる。
【００５０】
ところで、上記したように、制御装置１の起動中にレギュレータ４０の出力電圧が第１所定電圧未満で、かつ、バッテリ１００の出力電圧が第２所定電圧未満に低下すると、バッテリ低電圧情報３２が記憶部３０に記憶される。
【００５１】
かかるバッテリ低電圧情報３２は、例えば、イグニッションスイッチがオフされて、レギュレータ４０の出力電圧が第１所定電圧より低い第４所定電圧未満まで低下すると、記憶部３０から削除されるように設定されることがある。
【００５２】
しかしながら、例えばバッテリ１００が不良の場合、不良の状態によっては、バッテリ１００の出力電圧が一度低下してから復帰することもある。このとき、例えば、レギュレータ４０の出力電圧が第１所定未満になると、マイコン１０はリセットされるが、第４所定電圧未満まで低下すると、バッテリ低電圧情報３２が記憶部３０から削除されるため、特定部２４においてリセットの原因がバッテリ１００であることを特定できないおそれがある。
【００５３】
そこで、本実施形態にあっては、取得部２３は、マイコン１０がリセットされた後に電力の供給が復帰した場合、バッテリ低電圧情報３２を再度取得可能とされる。そして、特定部２４は、電力の供給が復帰した後に、取得部２３によってバッテリ低電圧情報３２が取得された場合、マイコン１０のリセットの原因がバッテリ１００であることを特定するようにした。
【００５４】
これについて図３を参照して説明する。図３は、本実施形態に係る制御装置１の処理を説明するタイムチャートである。
【００５５】
図３に示すように、先ず時刻Ｔ１において、バッテリ１００に異常が生じて出力電圧が低下するものとする。時刻Ｔ２において、バッテリ１００の出力電圧が第２所定電圧未満に低下し、時刻Ｔ３において、レギュレータ４０の出力電圧が第１所定電圧未満に低下すると、取得部２３がバッテリ低電圧情報３２を取得して記憶部３０に記憶させるとともに、マイコン１０がリセットされる。
【００５６】
そして、時刻Ｔ４において、レギュレータ４０の出力電圧が第４所定電圧未満に低下すると、バッテリ低電圧情報３２が記憶部３０から削除される。次いで、時刻Ｔ５において、電力供給の復帰が開始されてバッテリ１００やレギュレータ４０の出力電圧が上昇するものとする。そして、時刻Ｔ６において、レギュレータ４０の出力電圧が第４所定電圧以上、第１所定電圧未満で、かつ、バッテリ１００の出力電圧が第２所定電圧未満となると、取得部２３がバッテリ低電圧情報３２を再度取得して記憶部３０に記憶させる。すなわち、記憶部３０にはバッテリ低電圧情報３２が再度記憶される。
【００５７】
次いで、特定部２４は、電力の供給が復帰した後に、取得部２３によってバッテリ低電圧情報３２が取得されていることから、言い換えると、記憶部３０にバッテリ低電圧情報３２が記憶されていることから、マイコン１０のリセットの原因がバッテリ１００であることを特定する。
【００５８】
このように、バッテリ１００やレギュレータ４０の出力電圧の低下により、バッテリ低電圧情報３２が記憶部３０から削除される場合であっても、電力の供給が復帰した後に、バッテリ低電圧情報３２を再度取得して、リセットの原因を特定するようにした。これにより、本実施形態にあっては、リセットの原因を精度良く特定することができる。
【００５９】
なお、上記では、バッテリ低電圧情報３２について説明したが、これに限定されるものではない。すなわち、例えば、レギュレータ４０の出力電圧が第１所定電圧未満に低下してマイコン１０がリセットされると、マイコン１０がリセットされたことを示すマイコン異常情報３４が生成されて記憶部３０に記憶される。かかるマイコン異常情報３４も、レギュレータ４０の出力電圧が第１所定電圧より低い第４所定電圧未満まで低下すると、記憶部３０から削除されるように設定されることがある。
【００６０】
そのため、バッテリ低電圧情報３２と同様に、マイコン異常情報３４についても記憶部３０から削除されると、例えば特定部２４においてリセットの原因がマイコン１０であることを特定できないおそれがある。
【００６１】
そこで、本実施形態に係る生成部２２は、例えばマイコン１０をリセットした後の電力供給の復帰中に、レギュレータ４０の出力電圧が第１所定電圧以上に上昇したとき、マイコン異常情報３４を再度生成し、取得部２３へ出力するようにしてもよい。言い換えると、記憶部３０にマイコン異常情報３４が再度記憶されるようにしてもよい。
【００６２】
そして、特定部２４は、電力の供給が復帰した後に、取得部２３によって取得されたマイコン異常情報３４に基づいてマイコン１０のリセットの原因がマイコン１０であることを特定するようにしてもよい。これにより、本実施形態にあっては、リセットの原因を精度良く特定することができる。
【００６３】
次に、取得部２３がレギュレータ低電圧情報３１、バッテリ低電圧情報３２、および、リレー低電圧情報３３を取得する処理について、図４を参照してさらに詳しく説明する。図４は、制御装置１のリレー低電圧情報３３を取得する処理を説明するタイムチャートである。
【００６４】
ここで、取得部２３の処理を説明する前に、マイコン１０の処理について説明しておく。マイコン１０は、図４に示すように、定時タスク処理と、アイドルタスク処理とを実行する。定時タスク処理は、第１所定間隔Ｂ１で処理を行う。定時タスク処理では、上記したリセットの原因を特定する処理や、データの通信処理など種々の処理が行われる。
【００６５】
アイドルタスク処理は、定時タスク処理の間に実行される処理である。アイドルタスク処理は、第１所定間隔Ｂ１より短い第２所定間隔Ｂ２で処理を実行する。本実施形態では、かかるアイドルタスク処理において、取得部２３の取得処理が行われるようにした。これにより、取得部２３は、レギュレータ低電圧情報３１、バッテリ低電圧情報３２、および、リレー低電圧情報３３などを確実に取得することができる。
【００６６】
これについてリレー低電圧情報３３を例にとって説明する。図４に示すように、リレー低電圧情報３３は、上記したバッテリ低電圧情報３２と同様、リレー１１０の出力電圧が第３所定電圧より低い第５所定電圧未満まで低下すると、記憶部３０から削除されるように設定されることがある。
【００６７】
ところで、リレー１１０の出力電圧においては、瞬断など電圧の低下が早い場合がある。かかる場合、例えば、時刻Ｔ１１で定時タスク処理が終了した後、時刻Ｔ１２において、リレー１１０の出力電圧が第３所定電圧未満になり、記憶部３０にはリレー低電圧情報３３が記憶される。そして、次回の定時タスク処理が時刻Ｔ１４で開始される前に、時刻Ｔ１３において、リレー１１０の出力電圧が低い第５所定電圧未満まで低下し、リレー低電圧情報３３が記憶部３０から削除される。
【００６８】
そのため、例えば仮に、定時タスク処理において、取得部２３がリレー低電圧情報３３の取得処理を行うようにすると、リレー低電圧情報３３を取得できないおそれがある。そこで、本実施形態あっては、定時タスク処理より処理間隔が短いアイドルタスク処理において、取得部２３の取得処理が行われるようにした。これにより、図４の例では、取得部２３は、時刻Ｔ１２を含むアイドルタスク処理において、リレー低電圧情報３３を確実に取得することができる。そして、例えば、取得部２３は、取得されたリレー低電圧情報３３を、定時タスク処理で行われるリセットの原因を特定する処理の際に、特定部２４へ出力するようにしてもよい。
【００６９】
なお、上記では、リレー低電圧情報３３を取得する処理をアイドルタスク処理において行うようにしたが、これに限られず、レギュレータ低電圧情報３１やバッテリ低電圧情報３２を取得する処理をアイドルタスク処理において行ってもよい。
【００７０】
＜３．実施形態に係る制御装置の制御処理＞
次に、制御装置１における具体的な処理手順について図５を用いて説明する。図５は、制御装置１が実行する処理手順を示すフローチャートである。
【００７１】
図５に示すように、制御装置１の制御部２０は、制御装置１の起動中にリセット処理があったことを示すリセット履歴情報があるか否かを判定する（ステップＳ１０）。言い換えると、制御部２０は、レギュレータ低電圧情報３１が取得されたか否かを判定する。
【００７２】
制御部２０は、リセット履歴情報がないと判定された場合（ステップＳ１０，Ｎｏ）、すなわち、レギュレータ低電圧情報３１が取得されない場合、以降の処理をスキップする。他方、制御部２０は、リセット履歴情報がある、すなわち、レギュレータ低電圧情報３１が取得されたと判定された場合（ステップＳ１０，Ｙｅｓ）、バッテリ低電圧情報３２が取得されたか否かを判定する（ステップＳ１１）。
【００７３】
制御部２０は、バッテリ低電圧情報３２が取得されたと判定された場合（ステップＳ１１，Ｙｅｓ）、マイコン１０のリセットはバッテリ１００が原因であると特定する（ステップＳ１２）。他方、制御部２０は、バッテリ低電圧情報３２が取得されないと判定された場合（ステップＳ１１，Ｎｏ）、リレー低電圧情報３３が取得されたか否かを判定する（ステップＳ１３）。
【００７４】
制御部２０は、リレー低電圧情報３３が取得されたと判定された場合（ステップＳ１３，Ｙｅｓ）、マイコン１０のリセットはリレー１１０が原因であると特定する（ステップＳ１４）。一方、制御部２０は、リレー低電圧情報３３が取得されないと判定された場合（ステップＳ１３，Ｎｏ）、マイコン異常情報３４が取得されたか否かを判定する（ステップＳ１５）。
【００７５】
制御部２０は、マイコン異常情報３４が取得されたと判定された場合（ステップＳ１５，Ｙｅｓ）、マイコン１０のリセットはマイコン１０が原因であると特定する（ステップＳ１６）。他方、制御部２０は、マイコン異常情報３４が取得されないと判定された場合（ステップＳ１５，Ｎｏ）、マイコン１０のリセットはレギュレータ４０が原因であると特定する（ステップＳ１７）。
【００７６】
そして、制御部２０は、ステップＳ１２，Ｓ１４，Ｓ１６，Ｓ１７の処理において、マイコン１０のリセットの原因を特定すると、特定した原因を示す情報を制御装置１に接続された表示装置などに出力する（ステップＳ１８）。
【００７７】
上述してきたように、実施形態に係る制御装置１は、リセット部２１と、取得部２３と、特定部２４とを備える。リセット部２１は、バッテリ１００に接続されてマイコン１０に電力を供給するレギュレータ４０の出力電圧が第１所定電圧未満のときにマイコン１０をリセットする。取得部２３は、起動中にレギュレータ４０の出力電圧が第１所定電圧未満に低下したことを示すレギュレータ低電圧情報３１と、バッテリ１００の出力電圧が第２所定電圧未満に低下したことを示すバッテリ低電圧情報３２とを取得可能とされる。特定部２４は、取得部２３によって取得されるレギュレータ低電圧情報３１およびバッテリ低電圧情報３２の有無に基づいて、マイコン１０のリセットの原因を特定する。これにより、マイコン１０のリセットの原因を特定することができる。
【００７８】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００７９】
１    制御装置
１０  マイコン
２１  リセット部
２２  生成部
２３  取得部
２４  特定部
３１  レギュレータ低電圧情報
３２  バッテリ低電圧情報
３３  リレー低電圧情報
３４  マイコン異常情報
【図１】
2020102020.tif 000003
【図２】
2020102020.tif 000004
【図３】
2020102020.tif 000005
【図４】
2020102020.tif 000006
【図５】
2020102020.tif 000007