(57)【要約】【課題】更新用プログラムの誤起動を防止すること。【解決手段】実施形態に係る制御装置は、主処理部と、記憶部とを備える。主処理部は、制御プログラムの実行中にかかる制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、制御プログラムを更新する更新用プログラムを制御プログラムに替えて起動するプログラム移行へ推移する。記憶部は、装置電源が保たれている間は情報を保持可能に構成される。また、主処理部は、更新要求を受け付けたことを示す更新要求情報を上記再起動の前に記憶部へ記憶させるとともに、上記再起動の履歴を記憶部へ記憶させ、上記再起動の後に参照する上記更新要求情報および上記履歴に基づいて更新用プログラムを起動判定する。【選択図】図２
2018132956.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムの実行中に該制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移する主処理部と、
前記装置電源が保たれている間は情報を保持可能に構成された記憶部と
を備え、
前記主処理部は、
前記更新要求を受け付けたことを示す更新要求情報を前記再起動の前に前記記憶部へ記憶させるとともに、前記再起動の履歴を前記記憶部へ記憶させ、前記再起動の後に参照する前記更新要求情報および前記履歴に基づいて前記更新用プログラムを起動判定すること
を特徴とする制御装置。
【請求項２】
前記主処理部は、
前記更新要求情報に前記更新要求を受け付けたことを示す情報が含まれ、かつ、前記履歴に前記再起動がなされたことを示す情報が含まれる場合に、前記更新用プログラムを起動すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記記憶部は、
第１の記憶領域および第２の記憶領域を有し、
前記主処理部は、
前記第１の記憶領域へ前記更新要求情報を記憶させ、前記第２の記憶領域へ前記履歴を記憶させること
を特徴とする請求項１または２に記載の制御装置。
【請求項４】
質問に相当する送信内容を前記主処理部へ送信し、前記質問に対する前記主処理部からの回答を評価する第１の監視方式によって前記主処理部を監視する監視部
をさらに備え、
前記主処理部は、
前記更新要求を受け付けた場合に、前記監視部に対し、前記第１の監視方式から当該主処理部のウォッチドッグ信号を監視する第２の監視方式への切り替えを行わせること
を特徴とする請求項１、２または３に記載の制御装置。
【請求項５】
前記主処理部は、
前記再起動の前に、前記第１の監視方式から前記第２の監視方式への切り替えを行わせること
を特徴とする請求項４に記載の制御装置。
【請求項６】
制御プログラムの実行中に該制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移する主処理部と、前記装置電源が保たれている間は情報を保持可能に構成された記憶部とを備える制御装置を用いた制御プログラム更新方法であって、
前記更新要求を受け付けたことを示す更新要求情報を前記再起動の前に前記記憶部へ記憶させるとともに、前記再起動の履歴を前記記憶部へ記憶させる記憶工程と、
前記再起動の後に参照する前記更新要求情報および前記履歴に基づいて前記更新用プログラムを起動判定する起動判定工程と
を含むことを特徴とする制御プログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、制御装置および制御プログラム更新方法に関する。
【背景技術】
【０００２】
従来、車両に搭載され、エンジンやトランスミッション、カーナビゲーションといった車両の各種システムをそれぞれ電子制御する制御装置（ＥＣＵ：Electronic  Control  Unit）が知られている。かかる制御装置では、内蔵されたマイクロコントローラ（以下、「マイコン」と記載する）が予め内部に保持する制御プログラムを読み出して実行することにより、割り当てられた各種機能を実現する。
【０００３】
なお、このような制御装置の制御プログラムは、機能を追加する場合や事後的に不具合が発見された場合などに、更新（リプログラミング）が必要となる場合がある（たとえば、特許文献１参照）。
【０００４】
かかる更新に際しては、マイコンでは、制御プログラムは更新のために一旦停止されるとともに、更新用プログラムが起動され、かかる更新用プログラムにより制御プログラムが書き換えられる。たとえばマイコンは、ソフトリセットされたことを契機として、制御プログラムに替えて更新用プログラムを起動する。
【０００５】
なお、ソフトリセットとは、装置電源を保持した状態での再起動方法であり、たとえばＲＡＭ（Random  Access  Memory）にプログラム起動に関する情報が展開された状態でマイコンがリブートされる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１１８０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術には、更新用プログラムの誤起動を防止するうえで更なる改善の余地がある。
【０００８】
具体的には、マイコンは、たとえば上述のＲＡＭに展開されたプログラム起動に関する情報を参照しつつ、制御プログラムに替えて更新用プログラムを起動すべきか否かを判定する。しかし、かかるＲＡＭに展開された情報は、ソフトリセットによりＲＡＭ化け等が生じ、不正な値となってしまうおそれがある。
【０００９】
仮に不正な値となってしまった場合、マイコンは、更新用プログラムを起動すべき場合に起動しなかったり、逆に更新用プログラムを起動すべきでない場合に起動してしまったりと、更新用プログラムを誤起動させるおそれがある。
【００１０】
実施形態の一態様は、上記に鑑みてなされたものであって、更新用プログラムの誤起動を防止することができる制御装置および制御プログラム更新方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
実施形態の一態様に係る制御装置は、主処理部と、記憶部とを備える。前記主処理部は、制御プログラムの実行中に該制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移する。前記記憶部は、前記装置電源が保たれている間は情報を保持可能に構成される。また、前記主処理部は、前記更新要求を受け付けたことを示す更新要求情報を前記再起動の前に前記記憶部へ記憶させるとともに、前記再起動の履歴を前記記憶部へ記憶させ、前記再起動の後に参照する前記更新要求情報および前記履歴に基づいて前記更新用プログラムを起動判定する。
【発明の効果】
【００１２】
実施形態の一態様によれば、更新用プログラムの誤起動を防止することができる。
【図面の簡単な説明】
【００１３】
【図１Ａ】図１Ａは、車載システムの概要説明図である。
【図１Ｂ】図１Ｂは、リプログラミングの概要説明図である。
【図１Ｃ】図１Ｃは、実施形態に係る制御プログラム更新方法の概要説明図（その１）である。
【図１Ｄ】図１Ｄは、実施形態に係る制御プログラム更新方法の概要説明図（その２）である。
【図２】図２は、実施形態に係るＥＣＵのブロック図である。
【図３Ａ】図３Ａは、Ｑ＆Ａ方式の概要説明図である。
【図３Ｂ】図３Ｂは、ＷＤＣ監視方式の概要説明図である。
【図３Ｃ】図３Ｃは、プログラム移行に際しての監視方式切替シーケンスを示す図である。
【図４】図４は、起動判定処理の説明図である。
【図５】図５は、実施形態に係る制御プログラム更新方法の処理シーケンスを示す図である。
【図６】図６は、実施形態に係るＥＣＵのマイコンが実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して、本願の開示する制御装置および制御プログラム更新方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１５】
また、以下では、本実施形態に係る制御プログラム更新方法の概要について図１Ａ〜図１Ｄを用いて説明した後に、本実施形態に係る制御プログラム更新方法を適用したＥＣＵ１０（「制御装置」の一例に相当）について、図２〜図６を用いて説明することとする。
【００１６】
まず、本実施形態に係る制御プログラム更新方法の概要について図１Ａ〜図１Ｄを用いて説明する。図１Ａは、車載システム１の概要説明図である。また、図１Ｂは、リプログラミングの概要説明図である。また、図１Ｃおよび図１Ｄは、本実施形態に係る制御プログラム更新方法の概要説明図（その１）および（その２）である。
【００１７】
図１Ａに示すように、車両Ｃは、車載システム１を備える。車載システム１は、複数のＥＣＵ１０−１〜１０−ｎを備える。ＥＣＵ１０−１〜１０−ｎは、ＣＡＮ（Controller  Area  Network）等のネットワークＮにより相互通信可能に接続され、それぞれ制御プログラムを実行することによって制御対象２０−１〜２０−ｎを電子制御する。制御対象２０−１〜２０−ｎは、たとえばエンジンやトランスミッション、カーナビゲーションといった各種システムである。
【００１８】
ここで、各ＥＣＵ１０が実行する制御プログラムは、機能を追加する場合や事後的に不具合が発見された場合などに更新が必要となる場合がある。かかる場合、図１Ｂに示すように、更新対象となるＥＣＵ１０に対し、ＣＡＮ等を介して更新用端末５０が接続され、リプログラミングが施される。
【００１９】
リプログラミングに際しては、まずＥＣＵ１０は、電源が投入されて制御プログラムが起動され、かかる制御プログラムによる通常処理が実行されている状態となる（ステップＳ１）。
【００２０】
かかる状態において、更新用端末５０からコマンド投入等により更新要求が送信されると（ステップＳ２）、これを受け付けたＥＣＵ１０では制御プログラムに替えて更新用プログラムを起動するプログラム移行が行われる（ステップＳ３）。更新用プログラムが起動されると、ＥＣＵ１０は、更新用プログラムによるプログラム更新処理を実行する（ステップＳ４）。
【００２１】
プログラム移行では、図１Ｃに示すように、更新要求受付（ステップＳ３１）がなされた後、ＥＣＵ１０内の主処理部であるマイコン１１がソフトリセットされる（ステップＳ３２）。そして、ソフトリセットされたマイコン１１は、制御プログラムを起動すべきか更新用プログラムを起動すべきかの起動判定を実施する（ステップＳ３３）。
【００２２】
かかる起動判定に際しては、従来構成では、マイコン１１は、たとえばソフトリセットされたことを契機として更新用プログラムを起動していた。しかしながら、この場合、更新要求受付がなされていないにも関わらず、すなわち正式な手順を踏まずに、たまたまソフトリセットされてしまった場合に更新用プログラムを起動させてしまうおそれがある。
【００２３】
この点、更新要求受付がなされたことをプログラム起動に関する情報の一つとしてＲＡＭに展開しておき、ソフトリセット後にかかる情報を参照してもよいが、通常のＲＡＭではソフトリセットによりＲＡＭ化け等が生じ、不正な値となってしまう可能性がある。
【００２４】
そこで、本実施形態に係る制御プログラム更新方法では、図１Ｃに示すように、更新要求受付がなされた場合に、マイコン１１は、かかる更新要求受付がなされたことを示す更新要求情報１１２ａをリテンションＲＡＭへ書き込むこととした。
【００２５】
リテンションＲＡＭは、マイコン１１がソフトリセットされても情報を保持するＲＡＭ領域、言い換えれば装置電源が保たれていれば情報を保持可能なＲＡＭ領域であって、たとえばフリップフロップで構成されたＳＲＡＭ（Static  Random  Access  Memory）である。
【００２６】
また、本実施形態に係る制御プログラム更新方法では、ソフトリセットされた場合に、マイコン１１は、かかるソフトリセットされたことを示すソフトリセット履歴１１２ｂをレジスタへ残す。レジスタもまたフリップフロップ等で構成された、装置電源が保たれていれば情報を保持可能な記憶領域である。
【００２７】
そのうえで、本実施形態に係る制御プログラム更新方法では、マイコン１１は、かかる更新要求情報１１２ａとソフトリセット履歴１１２ｂとの双方を参照して、更新要求が受け付けられ、かつ、ソフトリセットされたのならば、更新用プログラムを起動するように起動判定を実施することとした。
【００２８】
これにより、更新要求受付という正式な手順が踏まれ、かつ、ソフトリセットされた場合にのみ、更新用プログラムを起動することができる。すなわち、ＲＡＭ化け等の事象や、不用意なソフトリセットに起因する更新用プログラムの誤起動を防止することができる。
【００２９】
ところで、ＥＣＵ１０は、マイコン１１が正常に動作しているか否かを監視し、動作異常を検出した場合にはたとえば電源のＯＦＦ／ＯＮによりマイコン１１をハードリセットする監視部を備える。
【００３０】
監視部は、図１Ｄに示すように、たとえば電源ＩＣ（Integrated  Circuit）１２である。マイコン監視の方式としては、たとえばマイコン１１から出力されるウォッチドッグカウンタ（以下、「ＷＤＣ」と記載する）信号のパルス間隔を監視するＷＤＣ監視方式が知られている。
【００３１】
また、マイコン監視の他の方式としては、シリアル通信によるＱ＆Ａ方式も知られている。Ｑ＆Ａ方式では、電源ＩＣ１２からマイコン１１に対し、「質問」に相当するデータが周期的に送信される。マイコン１１ではかかるデータを指定の指示により演算して、その演算結果を「回答」として電源ＩＣ１２へ送信する。
【００３２】
そして、電源ＩＣ１２は、かかる回答の通信タイミングや回答の内容を評価することにより、マイコン１１の動作状態を監視する。回答の内容の評価等まで含む分、Ｑ＆Ａ方式の方がより詳細な監視を行えると言える。本実施形態に係るＥＣＵ１０は、制御プログラムによる通常処理の実行中は、Ｑ＆Ａ方式を採用している。
【００３３】
なお、プログラム移行を含むリプログラミングの間でも、ハングアップなどの不正な状態を検出できるように、電源ＩＣ１２によるマイコン監視は継続されることが好ましい。ただし、プログラム移行においてはマイコン１１側の処理負荷が高まるなどするため、電源ＩＣ１２およびマイコン１１間の通信タイミングに乱れが生じやすくなる。
【００３４】
また、Ｑ＆Ａ方式では、質問と回答の通信シーケンスはタイミング等を含め細かく規定される。そのうえ、比較的低速なシリアル通信が用いられることから、プログラム移行中には通信タイミングがより乱れやすくなることが想定される。通信タイミングが乱れてしまうと、たとえばプログラム移行中に、電源ＩＣ１２により誤ってマイコン１１がハードリセットされてしまうおそれがある。
【００３５】
そこで、本実施形態に係る制御プログラム更新方法では、図１Ｄに示すように、プログラム移行に際し、ソフトリセット前に、マイコン監視方式をＱ＆Ａ方式からＷＤＣ監視方式へ切り替えることとした（ステップＳ２１）。
【００３６】
このように、プログラム移行に際し、少なくともＱ＆Ａ方式より規定が緩やかであり、通信シーケンス等が乱れにくいＷＤＣ監視方式へマイコン監視方式を切り替えることによって、図１Ｄに示すように、プログラム移行中のハードリセットを防止することができる。
【００３７】
図１Ｃおよび図１Ｄに示した本実施形態に係る制御プログラム更新方法のより具体的な内容については、図２以降を用いて後述する。以下、上述した制御プログラム更新方法を適用したＥＣＵ１０について、さらに具体的に説明する。
【００３８】
図２は、本実施形態に係るＥＣＵ１０のブロック図である。なお、図２では、本実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
【００３９】
換言すれば、図２に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【００４０】
図２に示すように、ＥＣＵ１０は、マイコン１１と、電源ＩＣ１２とを備える。まず、電源ＩＣ１２から説明する。電源ＩＣ１２は、マイコン１１からの監視方式切替要求に応じて、通常処理時にはＱ＆Ａ方式により、リプログラミング時にはＷＤＣ監視方式により、マイコン１１を監視する。監視の結果、マイコン１１が動作異常の状態にあれば、電源ＩＣ１２は必要に応じてマイコン１１をハードリセットする。
【００４１】
マイコン１１は、制御部１１１と、記憶部１１２とを備える。制御部１１１は、プログラム実行部１１１ａと、更新要求受付部１１１ｂと、監視方式切替要求部１１１ｃと、ソフトリセット処理部１１１ｄと、起動判定部１１１ｅとを備える。
【００４２】
記憶部１１２は、第１記憶部１１２−１と、第２記憶部１１２−２と、第３記憶部１１２−３とを有する。第１記憶部１１２−１は、上述したリテンションＲＡＭに対応する。第２記憶部１１２−２は、上述したレジスタに対応する。
【００４３】
第１記憶部１１２−１は、更新要求情報１１２ａを記憶する。第２記憶部１１２−２は、ソフトリセット履歴１１２ｂを記憶する。第３記憶部１１２−３は、制御プログラム１１２ｃと、更新用プログラム１１２ｄとを記憶する。
【００４４】
制御部１１１は、たとえば、ＣＰＵ（Central  Processing  Unit）であって、マイコン１１の全体制御を行う。プログラム実行部１１１ａは、起動判定部１１１ｅからの起動指示に応じて、第３記憶部１１２−３から制御プログラム１１２ｃまたは更新用プログラム１１２ｄを読み出して実行する。
【００４５】
プログラム実行部１１１ａは、通常処理時は、制御プログラム１１２ｃを読み出して実行することによりＥＣＵ１０に割り当てられた電子制御機能を実現する。また、プログラム実行部１１１ａは、リプログラミング時は、更新用プログラム１１２ｄを読み出して実行することにより制御プログラム１１２ｃにアップデートデータを適用して制御プログラム１１２ｃを書き換える。
【００４６】
なお、制御プログラム１１２ｃのアップデートデータは、図示していないが、たとえばサーバ装置からダウンロードされたり、更新用端末５０からインストールされたり、可搬性のある記憶媒体を介して読み込まれたりすることでマイコン１１へ適用可能となる。
【００４７】
また、プログラム実行部１１１ａは、電源ＩＣ１２のマイコン監視方式に応じた処理、たとえばＱ＆Ａ方式における質問の回答を演算して送信する処理（以下、「Ｑ＆Ａ処理」と記載する）や、ＷＤＣ監視方式におけるＷＤＣ信号の出力処理（以下、「ＷＤＣ出力処理」と記載する）を行う。
【００４８】
更新要求受付部１１１ｂは、更新用端末５０からの更新要求を受け付ける。また、更新要求受付部１１１ｂは、更新要求受付がなされたことを示す更新要求情報１１２ａを第１記憶部１１２−１へ書き込む。また、更新要求受付部１１１ｂは、更新要求受付がなされたことを監視方式切替要求部１１１ｃへ通知する。
【００４９】
監視方式切替要求部１１１ｃは、更新要求受付部１１１ｂからの通知に基づき、電源ＩＣ１２に対し、マイコン監視方式をＱ＆Ａ方式からＷＤＣ監視方式へ切り替えさせる監視方式切替要求を送信する。
【００５０】
ここで、図３Ａ〜図３Ｃを用いて、プログラム移行に際しての監視方式切替についてより具体的に説明しておく。図３Ａは、Ｑ＆Ａ方式の概要説明図である。また、図３Ｂは、ＷＤＣ監視方式の概要説明図である。また、図３Ｃは、プログラム移行に際しての監視方式切替シーケンスを示す図である。なお、Ｑ＆Ａ方式およびＷＤＣ監視方式については既に述べたが、図３Ａおよび図３Ｂで補足しておく。
【００５１】
図３Ａに示すように、Ｑ＆Ａ方式では、電源ＩＣ１２からマイコン１１に対し、質問（Ｑｕｅｓｔｉｏｎ）に相当するたとえばランダムデータと演算指示とが送信される。
【００５２】
マイコン１１は、質問に含まれるランダムデータを、あわせて送られた演算指示により演算して、その演算結果を電源ＩＣ１２へ回答（Ａｎｓｗｅｒ）として送信する。かかるやり取りは、周期的に繰り返される。
【００５３】
そして、電源ＩＣ１２は、マイコン１１の回答が規定された通信タイミングで返ってこなかったり（図中の「通信異常」参照）、回答が期待値通りでなかったりすれば（図中の「演算結果≠期待値」参照）、マイコン１１に動作異常が生じているとしてたとえばマイコン１１をハードリセットすることとなる。
【００５４】
また、図３Ｂに示すように、ＷＤＣ監視方式では、電源ＩＣ１２が、マイコン１１から周期的に出力されるＷＤＣ信号のパルス間隔を監視する。電源ＩＣ１２は、図示略のウォッチドックタイマ（以下、「ＷＤＴ」と記載する）を有しており、かかるＷＤＴにより図中に示すように「タイムアウト」を判定すると、マイコン１１に動作異常が生じているとしてたとえばマイコン１１をハードリセットすることとなる。
【００５５】
そして、図３Ｃに示すように、本実施形態に係るＥＣＵ１０では、更新要求受付部１１１ｂにより「更新要求受付」がなされたならば、監視方式切替要求部１１１ｃが、更新要求受付後の最初の質問（Ｑｕｅｓｔｉｏｎ）の受信直後に監視方式切替要求を電源ＩＣ１２へ送信する。
【００５６】
これにより、質問の受信により電源ＩＣ１２との通信が成立していることを確認できるとともに、質問に対する回答を演算したうえでシリアル通信により送信する間のタイムラグを解消し、電源ＩＣ１２に対し速やかに監視方式切替要求を送信することができる。
【００５７】
また、図３Ｃに示すように、本実施形態に係るＥＣＵ１０では、マイコン１１が、監視方式切替要求の送信後、「ソフトリセット」される前に、少なくとも１回、ＷＤＣ信号を出力する。これにより、「ソフトリセット」される間に、すなわちプログラム移行中のマイコン１１のリブート期間にＷＤＣ信号の出力が遅延してしまい、電源ＩＣ１２によりタイムアウトを判定されてしまうのを防止することができる。
【００５８】
なお、図３Ｃに示すように、「プログラム更新処理終了」までの間は、切り替えられたＷＤＣ監視方式でマイコン監視が継続され、「プログラム更新処理終了」後は、マイコン１１に更新された制御プログラム１１２ｃを読み出して実行させるため、電源ＩＣ１２によるハードリセットが行われる。
【００５９】
図２の説明に戻る。監視方式切替要求部１１１ｃは、電源ＩＣ１２への監視方式切替要求の送信後、かかる旨をソフトリセット処理部１１１ｄへ通知する。
【００６０】
ソフトリセット処理部１１１ｄは、監視方式切替要求部１１１ｃからの通知後で、かつ、ＷＤＣ信号の出力が開始された後に、マイコン１１をソフトリセットさせる。また、ソフトリセット処理部１１１ｄは、ソフトリセットに際して第２記憶部１１２−２のソフトリセット履歴１１２ｂを書き込む。
【００６１】
起動判定部１１１ｅは、マイコン１１がリブートされた際に、更新要求情報１１２ａとソフトリセット履歴１１２ｂとに基づいて、起動させるべきプログラムを判定する起動判定処理を行う。
【００６２】
ここで、あわせて図４を参照する。図４は、起動判定処理の説明図である。具体的には、起動判定部１１１ｅは、図４に示すように、マイコン１１がソフトリセットされた場合には、更新要求情報１１２ａが「あり」で、かつ、ソフトリセット履歴１１２ｂが「あり」の場合にのみ、更新用プログラム１１２ｄを起動すべきプログラムと判定する。
【００６３】
更新要求情報１１２ａが「あり」とは、更新要求受付がなされたことを示す情報が更新要求情報１１２ａに含まれることを指す。また、ソフトリセット履歴１１２ｂが「あり」とは、ソフトリセットされたことを示す情報がソフトリセット履歴１１２ｂに含まれることを指す。
【００６４】
なお、起動判定部１１１ｅは、マイコン１１がハードリセットされた場合には、更新要求情報１１２ａおよびソフトリセット履歴１１２ｂに含まれる情報の内容に関わらず、制御プログラム１１２ｃを起動すべきプログラムと判定する。
【００６５】
図２の説明に戻る。そして、起動判定部１１１ｅは、起動すべきと判定したプログラムのたとえば種別を起動指示としてプログラム実行部１１１ａへ通知し、起動指示に応じたプログラムをプログラム実行部１１１ａに実行させる。
【００６６】
ここまでの説明を踏まえ、次に、本実施形態に係る制御プログラム更新方法における処理の流れについて図５を用いて説明する。図５は、実施形態に係る制御プログラム更新方法の処理シーケンスを示す図である。
【００６７】
図５に示すように、まず時間ｔ１より前では、「実行中プログラム」は制御プログラム１１２ｃであり、「処理内容」は通常処理およびＱ＆Ａ処理であり、「マイコン監視方式」はＱ＆Ａ方式であるものとする。
【００６８】
ここで、時間ｔ１において「更新要求受付」がなされたものとする。かかる時間ｔ１からマイコン１１が「ソフトリセット」される時間ｔ３の間に、マイコン監視方式の切り替えに関する処理が実行される。図５に示すように、説明の便宜上、かかる処理を「切替処理」とする。
【００６９】
切替処理では、「ソフトリセット」の時間ｔ３より前の時間ｔ２において、電源ＩＣ１２へ向けて「監視方式切替要求」が送信され、かかる「監視方式切替要求」を受け取った電源ＩＣ１２は、マイコン監視方式をＷＤＣ監視方式へ切り替える。
【００７０】
また、ここでは図示していないが、切替処理では、マイコン監視方式がＷＤＣ監視方式へ切り替えられてＷＤＣ監視開始後、「ソフトリセット」の前に、すなわち時間ｔ２〜ｔ３の間に、少なくとも１回、ＷＤＣ信号を出力する。
【００７１】
そして、時間ｔ３においてマイコン１１が「ソフトリセット」される。その後、マイコン１１のリブートにともなって起動すべきプログラムの起動判定が実施され、更新用プログラム１１２ｄの起動条件を満たすならば（図４参照）、更新用プログラム１１２ｄが起動されて「実行中プログラム」は更新用プログラム１１２ｄとなり、「処理内容」はプログラム更新処理およびＷＤＣ出力処理となる。
【００７２】
そして、プログラム更新処理が終了したならば、時間ｔ４において電源ＩＣ１２の電源制御により「ハードリセット」がなされ、これにともなって制御プログラム１１２ｃが起動されて、以降は制御プログラム１１２ｃが「実行中プログラム」となる。
【００７３】
なお、補足的に示したが、「ハードリセット」後は「ＦＷ（First  Window）」と呼ばれる期間となる。かかる「ＦＷ」の間、所定時間内にＱ＆Ａ方式のシリアル通信開始もしくはＷＤＣ監視方式のＷＤＣ信号の入力がなされないと、電源ＩＣ１２は、マイコン１１をリセットする。
【００７４】
次に、本実施形態に係るＥＣＵ１０のマイコン１１が実行する処理手順について、図６を用いて説明する。図６は、本実施形態に係るＥＣＵ１０のマイコン１１が実行する処理手順を示すフローチャートである。
【００７５】
なお、ここでは、更新用端末５０からの更新要求を受け付けた場合の、ソフトリセット後の起動判定処理までの処理手順を示している。前提として、プログラム実行部１１１ａは制御プログラム１１２ｃを実行中であり、マイコン監視方式はＱ＆Ａ方式であるものとする。
【００７６】
図６に示すように、まず更新要求受付部１１１ｂは、更新用端末５０からの更新要求があるか否かを判定する（ステップＳ１０１）。ここで、更新要求がある場合（ステップＳ１０１，Ｙｅｓ）、更新要求受付部１１１ｂはかかる更新要求を受け付け、更新要求受付がなされたことを示す更新要求情報１１２ａを書き込む（ステップＳ１０２）。更新要求がない場合は（ステップＳ１０１，Ｎｏ）、ステップＳ１０１からの処理を繰り返す。
【００７７】
そして、監視方式切替要求部１１１ｃが、ソフトリセット前に監視方式切替要求を電源ＩＣ１２へ送信する（ステップＳ１０３）。電源ＩＣ１２は、かかる監視方式切替要求を受信すると、マイコン監視方式をＱ＆Ａ方式からＷＤＣ監視方式へ切り替える。
【００７８】
そして、ソフトリセット処理部１１１ｄが、ソフトリセット履歴１１２ｂを残しつつ、マイコン１１をソフトリセットさせる（ステップＳ１０４）。
【００７９】
そして、マイコン１１のソフトリセットによるリブート後、起動判定部１１１ｅが、ソフトリセット履歴１１２ｂが「あり」、かつ、更新要求情報１１２ａが「あり」か否かを判定する（ステップＳ１０５）。
【００８０】
ここで、ステップＳ１０５の判定条件を満たす場合（ステップＳ１０５，Ｙｅｓ）、起動判定部１１１ｅは、プログラム実行部１１１ａへ更新用プログラム１１２ｄを起動させる（ステップＳ１０６）。
【００８１】
一方、ステップＳ１０５の判定条件を満たさない場合（ステップＳ１０５，Ｎｏ）、起動判定部１１１ｅは、プログラム実行部１１１ａへ制御プログラム１１２ｃを起動させる（ステップＳ１０７）。以上で、起動判定処理までの処理手順が終了する。
【００８２】
上述してきたように、本実施形態に係るＥＣＵ１０（「制御装置」の一例に相当）は、マイコン１１（「主処理部」の一例に相当）と、記憶部１１２とを備える。
【００８３】
マイコン１１は、制御プログラム１１２ｃの実行中にかかる制御プログラム１１２ｃの更新要求を受け付けた場合に、ソフトリセット（「装置電源を保持した状態での再起動」の一例に相当）を介しつつ、制御プログラム１１２ｃを更新する更新用プログラム１１２ｄを制御プログラム１１２ｃに替えて起動するプログラム移行へ推移する。
【００８４】
記憶部１１２は、装置電源が保たれている間は情報を保持可能に構成される。また、マイコン１１は、更新要求を受け付けたことを示す更新要求情報１１２ａをソフトリセットの前に記憶部１１２へ記憶させるとともに、ソフトリセット履歴１１２ｂ（「再起動の履歴」の一例に相当）を記憶部１１２へ記憶させ、ソフトリセットの後に参照する更新要求情報１１２ａおよびソフトリセット履歴１１２ｂに基づいて更新用プログラム１１２ｄを起動判定する。
【００８５】
したがって、本実施形態に係るＥＣＵ１０によれば、更新用プログラム１１２ｄの誤起動を防止することができる。
【００８６】
また、マイコン１１は、更新要求情報１１２ａに更新要求を受け付けたことを示す情報が含まれ、かつ、ソフトリセット履歴１１２ｂにソフトリセットがなされたことを示す情報が含まれる場合に、更新用プログラム１１２ｄを起動する。
【００８７】
したがって、本実施形態に係るＥＣＵ１０によれば、更新要求受付という正式な手順が踏まれ、かつ、ソフトリセットされた場合にのみ、更新用プログラム１１２ｄを起動することができる。すなわち、ＲＡＭ化け等の事象や、不用意なソフトリセットに起因する更新用プログラムの誤起動を防止することができる。
【００８８】
また、記憶部１１２は、第１記憶部１１２−１（「第１の記憶領域」の一例に相当）および第２記憶部１１２−２（「第２の記憶領域」の一例に相当）を有し、マイコン１１は、第１記憶部１１２−１へ更新要求情報１１２ａを記憶させ、第２記憶部１１２−２へソフトリセット履歴１１２ｂを記憶させる。
【００８９】
したがって、本実施形態に係るＥＣＵ１０によれば、異なる記憶領域に分けて更新要求情報１１２ａおよびソフトリセット履歴１１２ｂを記憶させるので、更新要求情報１１２ａおよびソフトリセット履歴１１２ｂのデータが保証される可能性を高めることができる。すなわち、更新用プログラム１１２ｄの起動判定の精度を向上させ、更新用プログラム１１２ｄの誤起動を防止するのに資することができる。
【００９０】
また、質問に相当する送信内容をマイコン１１へ送信し、質問に対するマイコン１１からの回答を評価するＱ＆Ａ方式（「第１の監視方式」の一例に相当）によってマイコン１１を監視する電源ＩＣ１２（「監視部」の一例に相当）をさらに備える。
【００９１】
マイコン１１は、更新要求を受け付けた場合に、電源ＩＣ１２に対し、Ｑ＆Ａ方式からマイコン１１のＷＤＣ信号（「ウォッチドッグ信号」の一例に相当）を監視するＷＤＣ監視方式（「第２の監視方式」の一例に相当）への切り替えを行わせる。
【００９２】
したがって、本実施形態に係るＥＣＵ１０によれば、制御プログラム１１２ｃの更新に際し、電源ＩＣ１２から誤ってリセットされてしまうのを防止することができる。
【００９３】
また、マイコン１１は、ソフトリセット前に、Ｑ＆Ａ方式からＷＤＣ監視方式への切り替えを行わせる。すなわち、本実施形態に係るＥＣＵ１０は、マイコン１１に処理負荷がかかりがちであり、通信タイミングが乱れやすくなることが想定されるソフトリセット後ではなく、ソフトリセット前に、少なくともＱ＆Ａ方式より規定が緩やかであり、通信シーケンスが単純で乱れにくいＷＤＣ監視方式へマイコン監視方式を切り替えさせる。
【００９４】
したがって、本実施形態に係るＥＣＵ１０によれば、プログラム移行中に電源ＩＣ１２により動作異常と判定されるリスクを減らし、プログラム移行中の電源ＩＣ１２からのハードリセットを防止することができる。
【００９５】
なお、上述した実施形態では、更新要求情報１１２ａがリテンションＲＡＭ領域に記憶され、ソフトリセット履歴１１２ｂがレジスタに記憶されることとしたが、装置電源が保たれている限り情報を保持可能に構成された記憶部であればよく、更新要求情報１１２ａおよびソフトリセット履歴１１２ｂの記憶先を限定するものではない。
【００９６】
また、上述した実施形態では、ＥＣＵ１０は車両Ｃに設けられることとしたが、無論、車両Ｃに限られるものではなく、たとえば船舶や航空機等に設けられてもよい。
【００９７】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００９８】
１    車載システム
１０    ＥＣＵ
１１    マイコン
１２    電源ＩＣ
５０    更新用端末
１１１    制御部
１１１ａ  プログラム実行部
１１１ｂ  更新要求受付部
１１１ｃ  監視方式切替要求部
１１１ｄ  ソフトリセット処理部
１１１ｅ  起動判定部
１１２    記憶部
１１２−１  第１記憶部
１１２−２  第２記憶部
１１２−３  第３記憶部
１１２ａ  更新要求情報
１１２ｂ  ソフトリセット履歴
１１２ｃ  制御プログラム
１１２ｄ  更新用プログラム
Ｃ      車両
Ｎ      ネットワーク
【図１Ａ】
2018132956.tif 000003
【図１Ｂ】
2018132956.tif 000004
【図１Ｃ】
2018132956.tif 000005
【図１Ｄ】
2018132956.tif 000006
【図２】
2018132956.tif 000007
【図３Ａ】
2018132956.tif 000008
【図３Ｂ】
2018132956.tif 000009
【図３Ｃ】
2018132956.tif 000010
【図４】
2018132956.tif 000011
【図５】
2018132956.tif 000012
【図６】
2018132956.tif 000013