JP2018132956A - 制御装置および制御プログラム更新方法 - Google Patents

制御装置および制御プログラム更新方法 Download PDF

Info

Publication number
JP2018132956A
JP2018132956A JP2017026329A JP2017026329A JP2018132956A JP 2018132956 A JP2018132956 A JP 2018132956A JP 2017026329 A JP2017026329 A JP 2017026329A JP 2017026329 A JP2017026329 A JP 2017026329A JP 2018132956 A JP2018132956 A JP 2018132956A
Authority
JP
Japan
Prior art keywords
program
update
control program
update request
microcomputer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017026329A
Other languages
English (en)
Other versions
JP6723941B2 (ja
Inventor
森 直人
Naoto Mori
直人 森
重人 梅山
Shigeto Umeyama
重人 梅山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2017026329A priority Critical patent/JP6723941B2/ja
Priority to US15/792,043 priority patent/US10296322B2/en
Priority to CN201711370281.XA priority patent/CN108427564B/zh
Publication of JP2018132956A publication Critical patent/JP2018132956A/ja
Application granted granted Critical
Publication of JP6723941B2 publication Critical patent/JP6723941B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Automation & Control Theory (AREA)

Abstract

【課題】更新用プログラムの誤起動を防止すること。【解決手段】実施形態に係る制御装置は、主処理部と、記憶部とを備える。主処理部は、制御プログラムの実行中にかかる制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、制御プログラムを更新する更新用プログラムを制御プログラムに替えて起動するプログラム移行へ推移する。記憶部は、装置電源が保たれている間は情報を保持可能に構成される。また、主処理部は、更新要求を受け付けたことを示す更新要求情報を上記再起動の前に記憶部へ記憶させるとともに、上記再起動の履歴を記憶部へ記憶させ、上記再起動の後に参照する上記更新要求情報および上記履歴に基づいて更新用プログラムを起動判定する。【選択図】図2

Description

開示の実施形態は、制御装置および制御プログラム更新方法に関する。
従来、車両に搭載され、エンジンやトランスミッション、カーナビゲーションといった車両の各種システムをそれぞれ電子制御する制御装置(ECU:Electronic Control Unit)が知られている。かかる制御装置では、内蔵されたマイクロコントローラ(以下、「マイコン」と記載する)が予め内部に保持する制御プログラムを読み出して実行することにより、割り当てられた各種機能を実現する。
なお、このような制御装置の制御プログラムは、機能を追加する場合や事後的に不具合が発見された場合などに、更新(リプログラミング)が必要となる場合がある(たとえば、特許文献1参照)。
かかる更新に際しては、マイコンでは、制御プログラムは更新のために一旦停止されるとともに、更新用プログラムが起動され、かかる更新用プログラムにより制御プログラムが書き換えられる。たとえばマイコンは、ソフトリセットされたことを契機として、制御プログラムに替えて更新用プログラムを起動する。
なお、ソフトリセットとは、装置電源を保持した状態での再起動方法であり、たとえばRAM(Random Access Memory)にプログラム起動に関する情報が展開された状態でマイコンがリブートされる。
特開2014−118071号公報
しかしながら、上述した従来技術には、更新用プログラムの誤起動を防止するうえで更なる改善の余地がある。
具体的には、マイコンは、たとえば上述のRAMに展開されたプログラム起動に関する情報を参照しつつ、制御プログラムに替えて更新用プログラムを起動すべきか否かを判定する。しかし、かかるRAMに展開された情報は、ソフトリセットによりRAM化け等が生じ、不正な値となってしまうおそれがある。
仮に不正な値となってしまった場合、マイコンは、更新用プログラムを起動すべき場合に起動しなかったり、逆に更新用プログラムを起動すべきでない場合に起動してしまったりと、更新用プログラムを誤起動させるおそれがある。
実施形態の一態様は、上記に鑑みてなされたものであって、更新用プログラムの誤起動を防止することができる制御装置および制御プログラム更新方法を提供することを目的とする。
実施形態の一態様に係る制御装置は、主処理部と、記憶部とを備える。前記主処理部は、制御プログラムの実行中に該制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移する。前記記憶部は、前記装置電源が保たれている間は情報を保持可能に構成される。また、前記主処理部は、前記更新要求を受け付けたことを示す更新要求情報を前記再起動の前に前記記憶部へ記憶させるとともに、前記再起動の履歴を前記記憶部へ記憶させ、前記再起動の後に参照する前記更新要求情報および前記履歴に基づいて前記更新用プログラムを起動判定する。
実施形態の一態様によれば、更新用プログラムの誤起動を防止することができる。
図1Aは、車載システムの概要説明図である。 図1Bは、リプログラミングの概要説明図である。 図1Cは、実施形態に係る制御プログラム更新方法の概要説明図(その1)である。 図1Dは、実施形態に係る制御プログラム更新方法の概要説明図(その2)である。 図2は、実施形態に係るECUのブロック図である。 図3Aは、Q&A方式の概要説明図である。 図3Bは、WDC監視方式の概要説明図である。 図3Cは、プログラム移行に際しての監視方式切替シーケンスを示す図である。 図4は、起動判定処理の説明図である。 図5は、実施形態に係る制御プログラム更新方法の処理シーケンスを示す図である。 図6は、実施形態に係るECUのマイコンが実行する処理手順を示すフローチャートである。
以下、添付図面を参照して、本願の開示する制御装置および制御プログラム更新方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
また、以下では、本実施形態に係る制御プログラム更新方法の概要について図1A〜図1Dを用いて説明した後に、本実施形態に係る制御プログラム更新方法を適用したECU10(「制御装置」の一例に相当)について、図2〜図6を用いて説明することとする。
まず、本実施形態に係る制御プログラム更新方法の概要について図1A〜図1Dを用いて説明する。図1Aは、車載システム1の概要説明図である。また、図1Bは、リプログラミングの概要説明図である。また、図1Cおよび図1Dは、本実施形態に係る制御プログラム更新方法の概要説明図(その1)および(その2)である。
図1Aに示すように、車両Cは、車載システム1を備える。車載システム1は、複数のECU10−1〜10−nを備える。ECU10−1〜10−nは、CAN(Controller Area Network)等のネットワークNにより相互通信可能に接続され、それぞれ制御プログラムを実行することによって制御対象20−1〜20−nを電子制御する。制御対象20−1〜20−nは、たとえばエンジンやトランスミッション、カーナビゲーションといった各種システムである。
ここで、各ECU10が実行する制御プログラムは、機能を追加する場合や事後的に不具合が発見された場合などに更新が必要となる場合がある。かかる場合、図1Bに示すように、更新対象となるECU10に対し、CAN等を介して更新用端末50が接続され、リプログラミングが施される。
リプログラミングに際しては、まずECU10は、電源が投入されて制御プログラムが起動され、かかる制御プログラムによる通常処理が実行されている状態となる(ステップS1)。
かかる状態において、更新用端末50からコマンド投入等により更新要求が送信されると(ステップS2)、これを受け付けたECU10では制御プログラムに替えて更新用プログラムを起動するプログラム移行が行われる(ステップS3)。更新用プログラムが起動されると、ECU10は、更新用プログラムによるプログラム更新処理を実行する(ステップS4)。
プログラム移行では、図1Cに示すように、更新要求受付(ステップS31)がなされた後、ECU10内の主処理部であるマイコン11がソフトリセットされる(ステップS32)。そして、ソフトリセットされたマイコン11は、制御プログラムを起動すべきか更新用プログラムを起動すべきかの起動判定を実施する(ステップS33)。
かかる起動判定に際しては、従来構成では、マイコン11は、たとえばソフトリセットされたことを契機として更新用プログラムを起動していた。しかしながら、この場合、更新要求受付がなされていないにも関わらず、すなわち正式な手順を踏まずに、たまたまソフトリセットされてしまった場合に更新用プログラムを起動させてしまうおそれがある。
この点、更新要求受付がなされたことをプログラム起動に関する情報の一つとしてRAMに展開しておき、ソフトリセット後にかかる情報を参照してもよいが、通常のRAMではソフトリセットによりRAM化け等が生じ、不正な値となってしまう可能性がある。
そこで、本実施形態に係る制御プログラム更新方法では、図1Cに示すように、更新要求受付がなされた場合に、マイコン11は、かかる更新要求受付がなされたことを示す更新要求情報112aをリテンションRAMへ書き込むこととした。
リテンションRAMは、マイコン11がソフトリセットされても情報を保持するRAM領域、言い換えれば装置電源が保たれていれば情報を保持可能なRAM領域であって、たとえばフリップフロップで構成されたSRAM(Static Random Access Memory)である。
また、本実施形態に係る制御プログラム更新方法では、ソフトリセットされた場合に、マイコン11は、かかるソフトリセットされたことを示すソフトリセット履歴112bをレジスタへ残す。レジスタもまたフリップフロップ等で構成された、装置電源が保たれていれば情報を保持可能な記憶領域である。
そのうえで、本実施形態に係る制御プログラム更新方法では、マイコン11は、かかる更新要求情報112aとソフトリセット履歴112bとの双方を参照して、更新要求が受け付けられ、かつ、ソフトリセットされたのならば、更新用プログラムを起動するように起動判定を実施することとした。
これにより、更新要求受付という正式な手順が踏まれ、かつ、ソフトリセットされた場合にのみ、更新用プログラムを起動することができる。すなわち、RAM化け等の事象や、不用意なソフトリセットに起因する更新用プログラムの誤起動を防止することができる。
ところで、ECU10は、マイコン11が正常に動作しているか否かを監視し、動作異常を検出した場合にはたとえば電源のOFF/ONによりマイコン11をハードリセットする監視部を備える。
監視部は、図1Dに示すように、たとえば電源IC(Integrated Circuit)12である。マイコン監視の方式としては、たとえばマイコン11から出力されるウォッチドッグカウンタ(以下、「WDC」と記載する)信号のパルス間隔を監視するWDC監視方式が知られている。
また、マイコン監視の他の方式としては、シリアル通信によるQ&A方式も知られている。Q&A方式では、電源IC12からマイコン11に対し、「質問」に相当するデータが周期的に送信される。マイコン11ではかかるデータを指定の指示により演算して、その演算結果を「回答」として電源IC12へ送信する。
そして、電源IC12は、かかる回答の通信タイミングや回答の内容を評価することにより、マイコン11の動作状態を監視する。回答の内容の評価等まで含む分、Q&A方式の方がより詳細な監視を行えると言える。本実施形態に係るECU10は、制御プログラムによる通常処理の実行中は、Q&A方式を採用している。
なお、プログラム移行を含むリプログラミングの間でも、ハングアップなどの不正な状態を検出できるように、電源IC12によるマイコン監視は継続されることが好ましい。ただし、プログラム移行においてはマイコン11側の処理負荷が高まるなどするため、電源IC12およびマイコン11間の通信タイミングに乱れが生じやすくなる。
また、Q&A方式では、質問と回答の通信シーケンスはタイミング等を含め細かく規定される。そのうえ、比較的低速なシリアル通信が用いられることから、プログラム移行中には通信タイミングがより乱れやすくなることが想定される。通信タイミングが乱れてしまうと、たとえばプログラム移行中に、電源IC12により誤ってマイコン11がハードリセットされてしまうおそれがある。
そこで、本実施形態に係る制御プログラム更新方法では、図1Dに示すように、プログラム移行に際し、ソフトリセット前に、マイコン監視方式をQ&A方式からWDC監視方式へ切り替えることとした(ステップS21)。
このように、プログラム移行に際し、少なくともQ&A方式より規定が緩やかであり、通信シーケンス等が乱れにくいWDC監視方式へマイコン監視方式を切り替えることによって、図1Dに示すように、プログラム移行中のハードリセットを防止することができる。
図1Cおよび図1Dに示した本実施形態に係る制御プログラム更新方法のより具体的な内容については、図2以降を用いて後述する。以下、上述した制御プログラム更新方法を適用したECU10について、さらに具体的に説明する。
図2は、本実施形態に係るECU10のブロック図である。なお、図2では、本実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
換言すれば、図2に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
図2に示すように、ECU10は、マイコン11と、電源IC12とを備える。まず、電源IC12から説明する。電源IC12は、マイコン11からの監視方式切替要求に応じて、通常処理時にはQ&A方式により、リプログラミング時にはWDC監視方式により、マイコン11を監視する。監視の結果、マイコン11が動作異常の状態にあれば、電源IC12は必要に応じてマイコン11をハードリセットする。
マイコン11は、制御部111と、記憶部112とを備える。制御部111は、プログラム実行部111aと、更新要求受付部111bと、監視方式切替要求部111cと、ソフトリセット処理部111dと、起動判定部111eとを備える。
記憶部112は、第1記憶部112−1と、第2記憶部112−2と、第3記憶部112−3とを有する。第1記憶部112−1は、上述したリテンションRAMに対応する。第2記憶部112−2は、上述したレジスタに対応する。
第1記憶部112−1は、更新要求情報112aを記憶する。第2記憶部112−2は、ソフトリセット履歴112bを記憶する。第3記憶部112−3は、制御プログラム112cと、更新用プログラム112dとを記憶する。
制御部111は、たとえば、CPU(Central Processing Unit)であって、マイコン11の全体制御を行う。プログラム実行部111aは、起動判定部111eからの起動指示に応じて、第3記憶部112−3から制御プログラム112cまたは更新用プログラム112dを読み出して実行する。
プログラム実行部111aは、通常処理時は、制御プログラム112cを読み出して実行することによりECU10に割り当てられた電子制御機能を実現する。また、プログラム実行部111aは、リプログラミング時は、更新用プログラム112dを読み出して実行することにより制御プログラム112cにアップデートデータを適用して制御プログラム112cを書き換える。
なお、制御プログラム112cのアップデートデータは、図示していないが、たとえばサーバ装置からダウンロードされたり、更新用端末50からインストールされたり、可搬性のある記憶媒体を介して読み込まれたりすることでマイコン11へ適用可能となる。
また、プログラム実行部111aは、電源IC12のマイコン監視方式に応じた処理、たとえばQ&A方式における質問の回答を演算して送信する処理(以下、「Q&A処理」と記載する)や、WDC監視方式におけるWDC信号の出力処理(以下、「WDC出力処理」と記載する)を行う。
更新要求受付部111bは、更新用端末50からの更新要求を受け付ける。また、更新要求受付部111bは、更新要求受付がなされたことを示す更新要求情報112aを第1記憶部112−1へ書き込む。また、更新要求受付部111bは、更新要求受付がなされたことを監視方式切替要求部111cへ通知する。
監視方式切替要求部111cは、更新要求受付部111bからの通知に基づき、電源IC12に対し、マイコン監視方式をQ&A方式からWDC監視方式へ切り替えさせる監視方式切替要求を送信する。
ここで、図3A〜図3Cを用いて、プログラム移行に際しての監視方式切替についてより具体的に説明しておく。図3Aは、Q&A方式の概要説明図である。また、図3Bは、WDC監視方式の概要説明図である。また、図3Cは、プログラム移行に際しての監視方式切替シーケンスを示す図である。なお、Q&A方式およびWDC監視方式については既に述べたが、図3Aおよび図3Bで補足しておく。
図3Aに示すように、Q&A方式では、電源IC12からマイコン11に対し、質問(Question)に相当するたとえばランダムデータと演算指示とが送信される。
マイコン11は、質問に含まれるランダムデータを、あわせて送られた演算指示により演算して、その演算結果を電源IC12へ回答(Answer)として送信する。かかるやり取りは、周期的に繰り返される。
そして、電源IC12は、マイコン11の回答が規定された通信タイミングで返ってこなかったり(図中の「通信異常」参照)、回答が期待値通りでなかったりすれば(図中の「演算結果≠期待値」参照)、マイコン11に動作異常が生じているとしてたとえばマイコン11をハードリセットすることとなる。
また、図3Bに示すように、WDC監視方式では、電源IC12が、マイコン11から周期的に出力されるWDC信号のパルス間隔を監視する。電源IC12は、図示略のウォッチドックタイマ(以下、「WDT」と記載する)を有しており、かかるWDTにより図中に示すように「タイムアウト」を判定すると、マイコン11に動作異常が生じているとしてたとえばマイコン11をハードリセットすることとなる。
そして、図3Cに示すように、本実施形態に係るECU10では、更新要求受付部111bにより「更新要求受付」がなされたならば、監視方式切替要求部111cが、更新要求受付後の最初の質問(Question)の受信直後に監視方式切替要求を電源IC12へ送信する。
これにより、質問の受信により電源IC12との通信が成立していることを確認できるとともに、質問に対する回答を演算したうえでシリアル通信により送信する間のタイムラグを解消し、電源IC12に対し速やかに監視方式切替要求を送信することができる。
また、図3Cに示すように、本実施形態に係るECU10では、マイコン11が、監視方式切替要求の送信後、「ソフトリセット」される前に、少なくとも1回、WDC信号を出力する。これにより、「ソフトリセット」される間に、すなわちプログラム移行中のマイコン11のリブート期間にWDC信号の出力が遅延してしまい、電源IC12によりタイムアウトを判定されてしまうのを防止することができる。
なお、図3Cに示すように、「プログラム更新処理終了」までの間は、切り替えられたWDC監視方式でマイコン監視が継続され、「プログラム更新処理終了」後は、マイコン11に更新された制御プログラム112cを読み出して実行させるため、電源IC12によるハードリセットが行われる。
図2の説明に戻る。監視方式切替要求部111cは、電源IC12への監視方式切替要求の送信後、かかる旨をソフトリセット処理部111dへ通知する。
ソフトリセット処理部111dは、監視方式切替要求部111cからの通知後で、かつ、WDC信号の出力が開始された後に、マイコン11をソフトリセットさせる。また、ソフトリセット処理部111dは、ソフトリセットに際して第2記憶部112−2のソフトリセット履歴112bを書き込む。
起動判定部111eは、マイコン11がリブートされた際に、更新要求情報112aとソフトリセット履歴112bとに基づいて、起動させるべきプログラムを判定する起動判定処理を行う。
ここで、あわせて図4を参照する。図4は、起動判定処理の説明図である。具体的には、起動判定部111eは、図4に示すように、マイコン11がソフトリセットされた場合には、更新要求情報112aが「あり」で、かつ、ソフトリセット履歴112bが「あり」の場合にのみ、更新用プログラム112dを起動すべきプログラムと判定する。
更新要求情報112aが「あり」とは、更新要求受付がなされたことを示す情報が更新要求情報112aに含まれることを指す。また、ソフトリセット履歴112bが「あり」とは、ソフトリセットされたことを示す情報がソフトリセット履歴112bに含まれることを指す。
なお、起動判定部111eは、マイコン11がハードリセットされた場合には、更新要求情報112aおよびソフトリセット履歴112bに含まれる情報の内容に関わらず、制御プログラム112cを起動すべきプログラムと判定する。
図2の説明に戻る。そして、起動判定部111eは、起動すべきと判定したプログラムのたとえば種別を起動指示としてプログラム実行部111aへ通知し、起動指示に応じたプログラムをプログラム実行部111aに実行させる。
ここまでの説明を踏まえ、次に、本実施形態に係る制御プログラム更新方法における処理の流れについて図5を用いて説明する。図5は、実施形態に係る制御プログラム更新方法の処理シーケンスを示す図である。
図5に示すように、まず時間t1より前では、「実行中プログラム」は制御プログラム112cであり、「処理内容」は通常処理およびQ&A処理であり、「マイコン監視方式」はQ&A方式であるものとする。
ここで、時間t1において「更新要求受付」がなされたものとする。かかる時間t1からマイコン11が「ソフトリセット」される時間t3の間に、マイコン監視方式の切り替えに関する処理が実行される。図5に示すように、説明の便宜上、かかる処理を「切替処理」とする。
切替処理では、「ソフトリセット」の時間t3より前の時間t2において、電源IC12へ向けて「監視方式切替要求」が送信され、かかる「監視方式切替要求」を受け取った電源IC12は、マイコン監視方式をWDC監視方式へ切り替える。
また、ここでは図示していないが、切替処理では、マイコン監視方式がWDC監視方式へ切り替えられてWDC監視開始後、「ソフトリセット」の前に、すなわち時間t2〜t3の間に、少なくとも1回、WDC信号を出力する。
そして、時間t3においてマイコン11が「ソフトリセット」される。その後、マイコン11のリブートにともなって起動すべきプログラムの起動判定が実施され、更新用プログラム112dの起動条件を満たすならば(図4参照)、更新用プログラム112dが起動されて「実行中プログラム」は更新用プログラム112dとなり、「処理内容」はプログラム更新処理およびWDC出力処理となる。
そして、プログラム更新処理が終了したならば、時間t4において電源IC12の電源制御により「ハードリセット」がなされ、これにともなって制御プログラム112cが起動されて、以降は制御プログラム112cが「実行中プログラム」となる。
なお、補足的に示したが、「ハードリセット」後は「FW(First Window)」と呼ばれる期間となる。かかる「FW」の間、所定時間内にQ&A方式のシリアル通信開始もしくはWDC監視方式のWDC信号の入力がなされないと、電源IC12は、マイコン11をリセットする。
次に、本実施形態に係るECU10のマイコン11が実行する処理手順について、図6を用いて説明する。図6は、本実施形態に係るECU10のマイコン11が実行する処理手順を示すフローチャートである。
なお、ここでは、更新用端末50からの更新要求を受け付けた場合の、ソフトリセット後の起動判定処理までの処理手順を示している。前提として、プログラム実行部111aは制御プログラム112cを実行中であり、マイコン監視方式はQ&A方式であるものとする。
図6に示すように、まず更新要求受付部111bは、更新用端末50からの更新要求があるか否かを判定する(ステップS101)。ここで、更新要求がある場合(ステップS101,Yes)、更新要求受付部111bはかかる更新要求を受け付け、更新要求受付がなされたことを示す更新要求情報112aを書き込む(ステップS102)。更新要求がない場合は(ステップS101,No)、ステップS101からの処理を繰り返す。
そして、監視方式切替要求部111cが、ソフトリセット前に監視方式切替要求を電源IC12へ送信する(ステップS103)。電源IC12は、かかる監視方式切替要求を受信すると、マイコン監視方式をQ&A方式からWDC監視方式へ切り替える。
そして、ソフトリセット処理部111dが、ソフトリセット履歴112bを残しつつ、マイコン11をソフトリセットさせる(ステップS104)。
そして、マイコン11のソフトリセットによるリブート後、起動判定部111eが、ソフトリセット履歴112bが「あり」、かつ、更新要求情報112aが「あり」か否かを判定する(ステップS105)。
ここで、ステップS105の判定条件を満たす場合(ステップS105,Yes)、起動判定部111eは、プログラム実行部111aへ更新用プログラム112dを起動させる(ステップS106)。
一方、ステップS105の判定条件を満たさない場合(ステップS105,No)、起動判定部111eは、プログラム実行部111aへ制御プログラム112cを起動させる(ステップS107)。以上で、起動判定処理までの処理手順が終了する。
上述してきたように、本実施形態に係るECU10(「制御装置」の一例に相当)は、マイコン11(「主処理部」の一例に相当)と、記憶部112とを備える。
マイコン11は、制御プログラム112cの実行中にかかる制御プログラム112cの更新要求を受け付けた場合に、ソフトリセット(「装置電源を保持した状態での再起動」の一例に相当)を介しつつ、制御プログラム112cを更新する更新用プログラム112dを制御プログラム112cに替えて起動するプログラム移行へ推移する。
記憶部112は、装置電源が保たれている間は情報を保持可能に構成される。また、マイコン11は、更新要求を受け付けたことを示す更新要求情報112aをソフトリセットの前に記憶部112へ記憶させるとともに、ソフトリセット履歴112b(「再起動の履歴」の一例に相当)を記憶部112へ記憶させ、ソフトリセットの後に参照する更新要求情報112aおよびソフトリセット履歴112bに基づいて更新用プログラム112dを起動判定する。
したがって、本実施形態に係るECU10によれば、更新用プログラム112dの誤起動を防止することができる。
また、マイコン11は、更新要求情報112aに更新要求を受け付けたことを示す情報が含まれ、かつ、ソフトリセット履歴112bにソフトリセットがなされたことを示す情報が含まれる場合に、更新用プログラム112dを起動する。
したがって、本実施形態に係るECU10によれば、更新要求受付という正式な手順が踏まれ、かつ、ソフトリセットされた場合にのみ、更新用プログラム112dを起動することができる。すなわち、RAM化け等の事象や、不用意なソフトリセットに起因する更新用プログラムの誤起動を防止することができる。
また、記憶部112は、第1記憶部112−1(「第1の記憶領域」の一例に相当)および第2記憶部112−2(「第2の記憶領域」の一例に相当)を有し、マイコン11は、第1記憶部112−1へ更新要求情報112aを記憶させ、第2記憶部112−2へソフトリセット履歴112bを記憶させる。
したがって、本実施形態に係るECU10によれば、異なる記憶領域に分けて更新要求情報112aおよびソフトリセット履歴112bを記憶させるので、更新要求情報112aおよびソフトリセット履歴112bのデータが保証される可能性を高めることができる。すなわち、更新用プログラム112dの起動判定の精度を向上させ、更新用プログラム112dの誤起動を防止するのに資することができる。
また、質問に相当する送信内容をマイコン11へ送信し、質問に対するマイコン11からの回答を評価するQ&A方式(「第1の監視方式」の一例に相当)によってマイコン11を監視する電源IC12(「監視部」の一例に相当)をさらに備える。
マイコン11は、更新要求を受け付けた場合に、電源IC12に対し、Q&A方式からマイコン11のWDC信号(「ウォッチドッグ信号」の一例に相当)を監視するWDC監視方式(「第2の監視方式」の一例に相当)への切り替えを行わせる。
したがって、本実施形態に係るECU10によれば、制御プログラム112cの更新に際し、電源IC12から誤ってリセットされてしまうのを防止することができる。
また、マイコン11は、ソフトリセット前に、Q&A方式からWDC監視方式への切り替えを行わせる。すなわち、本実施形態に係るECU10は、マイコン11に処理負荷がかかりがちであり、通信タイミングが乱れやすくなることが想定されるソフトリセット後ではなく、ソフトリセット前に、少なくともQ&A方式より規定が緩やかであり、通信シーケンスが単純で乱れにくいWDC監視方式へマイコン監視方式を切り替えさせる。
したがって、本実施形態に係るECU10によれば、プログラム移行中に電源IC12により動作異常と判定されるリスクを減らし、プログラム移行中の電源IC12からのハードリセットを防止することができる。
なお、上述した実施形態では、更新要求情報112aがリテンションRAM領域に記憶され、ソフトリセット履歴112bがレジスタに記憶されることとしたが、装置電源が保たれている限り情報を保持可能に構成された記憶部であればよく、更新要求情報112aおよびソフトリセット履歴112bの記憶先を限定するものではない。
また、上述した実施形態では、ECU10は車両Cに設けられることとしたが、無論、車両Cに限られるものではなく、たとえば船舶や航空機等に設けられてもよい。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 車載システム
10 ECU
11 マイコン
12 電源IC
50 更新用端末
111 制御部
111a プログラム実行部
111b 更新要求受付部
111c 監視方式切替要求部
111d ソフトリセット処理部
111e 起動判定部
112 記憶部
112−1 第1記憶部
112−2 第2記憶部
112−3 第3記憶部
112a 更新要求情報
112b ソフトリセット履歴
112c 制御プログラム
112d 更新用プログラム
C 車両
N ネットワーク

Claims (6)

  1. 制御プログラムの実行中に該制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移する主処理部と、
    前記装置電源が保たれている間は情報を保持可能に構成された記憶部と
    を備え、
    前記主処理部は、
    前記更新要求を受け付けたことを示す更新要求情報を前記再起動の前に前記記憶部へ記憶させるとともに、前記再起動の履歴を前記記憶部へ記憶させ、前記再起動の後に参照する前記更新要求情報および前記履歴に基づいて前記更新用プログラムを起動判定すること
    を特徴とする制御装置。
  2. 前記主処理部は、
    前記更新要求情報に前記更新要求を受け付けたことを示す情報が含まれ、かつ、前記履歴に前記再起動がなされたことを示す情報が含まれる場合に、前記更新用プログラムを起動すること
    を特徴とする請求項1に記載の制御装置。
  3. 前記記憶部は、
    第1の記憶領域および第2の記憶領域を有し、
    前記主処理部は、
    前記第1の記憶領域へ前記更新要求情報を記憶させ、前記第2の記憶領域へ前記履歴を記憶させること
    を特徴とする請求項1または2に記載の制御装置。
  4. 質問に相当する送信内容を前記主処理部へ送信し、前記質問に対する前記主処理部からの回答を評価する第1の監視方式によって前記主処理部を監視する監視部
    をさらに備え、
    前記主処理部は、
    前記更新要求を受け付けた場合に、前記監視部に対し、前記第1の監視方式から当該主処理部のウォッチドッグ信号を監視する第2の監視方式への切り替えを行わせること
    を特徴とする請求項1、2または3に記載の制御装置。
  5. 前記主処理部は、
    前記再起動の前に、前記第1の監視方式から前記第2の監視方式への切り替えを行わせること
    を特徴とする請求項4に記載の制御装置。
  6. 制御プログラムの実行中に該制御プログラムの更新要求を受け付けた場合に、装置電源が保たれた状態での再起動を介しつつ、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移する主処理部と、前記装置電源が保たれている間は情報を保持可能に構成された記憶部とを備える制御装置を用いた制御プログラム更新方法であって、
    前記更新要求を受け付けたことを示す更新要求情報を前記再起動の前に前記記憶部へ記憶させるとともに、前記再起動の履歴を前記記憶部へ記憶させる記憶工程と、
    前記再起動の後に参照する前記更新要求情報および前記履歴に基づいて前記更新用プログラムを起動判定する起動判定工程と
    を含むことを特徴とする制御プログラム更新方法。
JP2017026329A 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法 Active JP6723941B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017026329A JP6723941B2 (ja) 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法
US15/792,043 US10296322B2 (en) 2017-02-15 2017-10-24 Controller and control program updating method
CN201711370281.XA CN108427564B (zh) 2017-02-15 2017-12-18 控制器和控制程序更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017026329A JP6723941B2 (ja) 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法

Publications (2)

Publication Number Publication Date
JP2018132956A true JP2018132956A (ja) 2018-08-23
JP6723941B2 JP6723941B2 (ja) 2020-07-15

Family

ID=63105211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017026329A Active JP6723941B2 (ja) 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法

Country Status (3)

Country Link
US (1) US10296322B2 (ja)
JP (1) JP6723941B2 (ja)
CN (1) CN108427564B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692763B2 (ja) * 2017-02-15 2020-05-13 株式会社デンソーテン 制御装置および制御プログラム更新方法
CN111830889B (zh) * 2019-04-16 2022-08-19 中车大连电力牵引研发中心有限公司 电源控制装置及电源
JP7411467B2 (ja) * 2020-03-19 2024-01-11 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法
CN113391836B (zh) * 2021-07-14 2022-11-18 威海新北洋技术服务有限公司 固件程序的升级方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635758A (ja) * 1992-07-20 1994-02-10 Fujitsu Ltd プログラム監視制御装置
JPH10187454A (ja) * 1996-12-27 1998-07-21 Nec Corp Bios書き換え方式
JP2001297009A (ja) * 2000-04-13 2001-10-26 Honda Motor Co Ltd 車両制御装置のための書き換えシステム
JP2003104138A (ja) * 2001-10-01 2003-04-09 Honda Motor Co Ltd データ書き換えのための車両制御装置の監視システム
JP2005250854A (ja) * 2004-03-04 2005-09-15 Denso Corp 制御装置
JP2009163380A (ja) * 2007-12-28 2009-07-23 Brother Ind Ltd 情報処理装置、情報処理方法及びプログラム
JP2011000894A (ja) * 2009-06-16 2011-01-06 Fujitsu Ten Ltd 制御装置及び制御方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5650946A (en) * 1995-01-06 1997-07-22 Xilinx, Inc. Logic simulator which can maintain, store and use historical event records
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
US9003387B2 (en) * 2009-09-25 2015-04-07 Fisher-Rosemount Systems, Inc. Automated deployment of computer-specific software updates
CN102098303A (zh) * 2011-01-21 2011-06-15 汉柏科技有限公司 实现自动化升级的硬件防火墙及其升级方法
CN102760065A (zh) * 2011-04-29 2012-10-31 昆达电脑科技(昆山)有限公司 嵌入式系统及其程序更新方法
CN102314364B (zh) * 2011-08-08 2014-08-20 北京登合科技有限公司 一种自动适配移动终端的方法
JP5939149B2 (ja) 2012-12-18 2016-06-22 トヨタ自動車株式会社 車両用情報処理装置およびプログラム更新方法
JP6155769B2 (ja) * 2013-03-29 2017-07-05 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法
CN106030539A (zh) * 2014-02-27 2016-10-12 三菱电机株式会社 软件搭载设备和软件更新方法
CN104200629B (zh) * 2014-09-01 2018-05-22 中国东方电气集团有限公司 一种基于gprs监控终端的软件系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635758A (ja) * 1992-07-20 1994-02-10 Fujitsu Ltd プログラム監視制御装置
JPH10187454A (ja) * 1996-12-27 1998-07-21 Nec Corp Bios書き換え方式
JP2001297009A (ja) * 2000-04-13 2001-10-26 Honda Motor Co Ltd 車両制御装置のための書き換えシステム
JP2003104138A (ja) * 2001-10-01 2003-04-09 Honda Motor Co Ltd データ書き換えのための車両制御装置の監視システム
JP2005250854A (ja) * 2004-03-04 2005-09-15 Denso Corp 制御装置
JP2009163380A (ja) * 2007-12-28 2009-07-23 Brother Ind Ltd 情報処理装置、情報処理方法及びプログラム
JP2011000894A (ja) * 2009-06-16 2011-01-06 Fujitsu Ten Ltd 制御装置及び制御方法

Also Published As

Publication number Publication date
CN108427564A (zh) 2018-08-21
US20180232224A1 (en) 2018-08-16
JP6723941B2 (ja) 2020-07-15
CN108427564B (zh) 2021-04-13
US10296322B2 (en) 2019-05-21

Similar Documents

Publication Publication Date Title
JP6692763B2 (ja) 制御装置および制御プログラム更新方法
JP6723941B2 (ja) 制御装置および制御プログラム更新方法
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US7975188B2 (en) Restoration device for BIOS stall failures and method and computer program product for the same
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
JP2019084941A (ja) 更新システム、電子制御装置、更新管理装置、及び更新管理方法
KR20120052406A (ko) 펌웨어 이미지 갱신 및 관리
US7716524B2 (en) Restarting an errored object of a first class
JP2002245022A (ja) マルチプロセッサシステムとその共有メモリ制御方法、及び共有メモリ制御プログラム
JP5880862B2 (ja) 制御システム
JP5960632B2 (ja) 車両用電子制御装置
JP2014099097A (ja) 情報処理装置、情報処理方法、およびコンピュータプログラム
US7711985B2 (en) Restarting an errored object of a first class
US10853297B2 (en) Method for maintaining memory sharing in a computer cluster
JP2007172096A (ja) 情報処理装置、および、その起動制御方法
JP2007008609A (ja) エレベーター制御装置
KR100495367B1 (ko) 소프트웨어 워치도그를 이용한 시스템 관리방법
JP2019191942A (ja) 制御装置および機能検査方法
JP6102692B2 (ja) 電子制御装置
JP2006323617A (ja) メモリ管理方法及びメモリ管理装置
JPH0973437A (ja) マルチcpuシステム
JP2013058159A (ja) 電子制御装置
JP2018180608A (ja) プログラム実行装置およびプログラム実行方法
JP2020518924A (ja) 冗長処理システムにおけるエラー補正
JP2000276354A (ja) 通信装置制御回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191015

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191015

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200624

R150 Certificate of patent or registration of utility model

Ref document number: 6723941

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250