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

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

Info

Publication number
JP6692763B2
JP6692763B2 JP2017026330A JP2017026330A JP6692763B2 JP 6692763 B2 JP6692763 B2 JP 6692763B2 JP 2017026330 A JP2017026330 A JP 2017026330A JP 2017026330 A JP2017026330 A JP 2017026330A JP 6692763 B2 JP6692763 B2 JP 6692763B2
Authority
JP
Japan
Prior art keywords
monitoring
program
microcomputer
processing unit
control program
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.)
Active
Application number
JP2017026330A
Other languages
English (en)
Other versions
JP2018132957A (ja
Inventor
森 直人
直人 森
重人 梅山
重人 梅山
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 JP2017026330A priority Critical patent/JP6692763B2/ja
Priority to US15/837,208 priority patent/US10591884B2/en
Priority to CN201810087763.2A priority patent/CN108427609B/zh
Publication of JP2018132957A publication Critical patent/JP2018132957A/ja
Application granted granted Critical
Publication of JP6692763B2 publication Critical patent/JP6692763B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0297Reconfiguration of monitoring system, e.g. use of virtual sensors; change monitoring method as a response to monitoring results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24015Monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25064Update component configuration to optimize program execution
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2637Vehicle, car, auto, wheelchair

Description

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

Claims (5)

  1. 制御プログラムを実行する主処理部と、
    質問に相当する送信内容を前記主処理部へ送信し、前記質問に対する前記主処理部からの回答を評価する第1の監視方式によって前記主処理部を監視する監視部と
    を備え、
    前記主処理部は、
    前記制御プログラムの更新要求を受け付けた場合に、前記監視部に対し、前記第1の監視方式から当該主処理部のウォッチドッグ信号を監視する第2の監視方式への切り替えを行わせること
    を特徴とする制御装置。
  2. 前記主処理部は、
    前記制御プログラムの更新要求を受け付けた場合に、前記制御プログラムを更新する更新用プログラムを前記制御プログラムに替えて起動するプログラム移行へ推移するものであって、
    前記プログラム移行は、
    装置電源を保持した状態での前記主処理部の再起動を含み、
    前記主処理部は、
    前記プログラム移行に際し、前記再起動の前に、前記第1の監視方式から前記第2の監視方式への切り替えを行わせること
    を特徴とする請求項1に記載の制御装置。
  3. 前記主処理部は、
    前記第2の監視方式による監視開始後、かつ、前記再起動の前に、前記監視部へ向けて前記ウォッチドッグ信号を少なくとも1回、強制的に出力すること
    を特徴とする請求項2に記載の制御装置。
  4. 前記主処理部は、
    前記再起動を経て前記更新用プログラムを起動した直後から前記ウォッチドッグ信号を周期的に出力すること
    を特徴とする請求項2または3に記載の制御装置。
  5. 制御プログラムを実行する主処理部と、質問に相当する送信内容を前記主処理部へ送信し、前記質問に対する前記主処理部からの回答を評価する第1の監視方式によって前記主処理部を監視する監視部とを備える制御装置を用いた制御プログラム更新方法であって、
    前記制御プログラムの更新要求を受け付けた場合に、前記監視部に対し、前記第1の監視方式から前記主処理部のウォッチドック信号を監視する第2の監視方式への切り替えを行わせる切替要求工程
    を含むことを特徴とする制御プログラム更新方法。
JP2017026330A 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法 Active JP6692763B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017026330A JP6692763B2 (ja) 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法
US15/837,208 US10591884B2 (en) 2017-02-15 2017-12-11 Controller and control program updating method
CN201810087763.2A CN108427609B (zh) 2017-02-15 2018-01-29 控制器和控制程序更新方法

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2018132957A JP2018132957A (ja) 2018-08-23
JP6692763B2 true JP6692763B2 (ja) 2020-05-13

Family

ID=63104569

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US10591884B2 (ja)
JP (1) JP6692763B2 (ja)
CN (1) CN108427609B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061243B (zh) * 2018-10-17 2023-05-26 联合汽车电子有限公司 电子控制器程序流监控系统及方法
CN109582486B (zh) * 2018-11-20 2023-04-28 厦门科灿信息技术有限公司 一种看门狗监测方法、系统及设备和存储介质
CN109591732B (zh) * 2019-01-09 2021-04-13 浙江吉利汽车研究院有限公司 汽车上电控制方法、装置、整车控制器及汽车
US11036573B2 (en) * 2019-05-16 2021-06-15 Ford Global Technologies, Llc Control processor unit (CPU) error detection by another CPU via communication bus
US10936397B2 (en) * 2019-05-23 2021-03-02 Ford Global Technologies, Llc Hybrid control module status communication system and method
JP7189839B2 (ja) * 2019-05-27 2022-12-14 日立Astemo株式会社 電子制御装置
JP7327104B2 (ja) * 2019-11-20 2023-08-16 株式会社富士通ゼネラル 電子機器
KR102219432B1 (ko) * 2019-12-12 2021-02-26 현대모비스 주식회사 와치독 장치 및 그 제어 방법
FR3115373B1 (fr) * 2020-10-20 2023-06-02 Psa Automobiles Sa Gestion de la supervision d’un composant électronique d’un véhicule terrestre à moteur

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015940A1 (en) * 2001-05-29 2004-01-22 3Com Corporation Intelligent device upgrade engine
JP4050196B2 (ja) * 2003-07-09 2008-02-20 三菱電機株式会社 監視制御回路を有する電子制御装置
DE10331872A1 (de) * 2003-07-14 2005-02-10 Robert Bosch Gmbh Verfahren zur Überwachung eines technischen Systems
TWI362588B (en) * 2007-10-12 2012-04-21 Asustek Comp Inc Monitor apparatus, a monitoring method thereof and computer apparatus therewith
JP4776610B2 (ja) * 2007-11-26 2011-09-21 三菱電機株式会社 監視制御回路を有する車載電子制御装置
JP4476320B2 (ja) * 2007-11-26 2010-06-09 三菱電機株式会社 監視制御回路を有する車載電子制御装置
JP5967059B2 (ja) 2013-12-04 2016-08-10 株式会社デンソー 車両用電子制御装置
ES2835575T3 (es) * 2014-05-11 2021-06-22 Safetty Systems Ltd Una unidad de monitorización, así como un método para predecir el funcionamiento anormal de sistemas de ordenador activados por tiempo
CN204515759U (zh) * 2015-04-14 2015-07-29 广州市智博光辉电气科技有限公司 一种微控制器异常强制复位的看门狗电路
JP6540227B2 (ja) * 2015-05-21 2019-07-10 株式会社ジェイテクト 車両用制御装置
CN105034992B (zh) * 2015-07-02 2017-04-05 郑州宇通客车股份有限公司 一种车辆ecu升级用供电控制电路及使用该电路的车辆
JP6723941B2 (ja) * 2017-02-15 2020-07-15 株式会社デンソーテン 制御装置および制御プログラム更新方法

Also Published As

Publication number Publication date
US10591884B2 (en) 2020-03-17
CN108427609B (zh) 2021-05-25
CN108427609A (zh) 2018-08-21
US20180231948A1 (en) 2018-08-16
JP2018132957A (ja) 2018-08-23

Similar Documents

Publication Publication Date Title
JP6692763B2 (ja) 制御装置および制御プログラム更新方法
JP6723941B2 (ja) 制御装置および制御プログラム更新方法
US7975188B2 (en) Restoration device for BIOS stall failures and method and computer program product for the same
JP6044316B2 (ja) 車載電子制御装置
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
KR20100066576A (ko) 펌웨어 이미지 갱신 및 관리
RU2602378C9 (ru) Стойка с множеством модулей управления стойкой и способ обновления встроенного программного обеспечения, используемого для стойки
US20120317576A1 (en) method for operating an arithmetic unit
US7716524B2 (en) Restarting an errored object of a first class
GB2412190A (en) A recovery framework
JP5960632B2 (ja) 車両用電子制御装置
JP5880862B2 (ja) 制御システム
JP2018194887A (ja) 車両用サービス管理装置及び車両用サービス管理プログラム
WO2020066552A1 (ja) Bmc及びbmcファームウェア判定方法
JP5517301B2 (ja) データ処理システム
US7711985B2 (en) Restarting an errored object of a first class
JP5533777B2 (ja) プログラム群
JP2007008609A (ja) エレベーター制御装置
CN107179980B (zh) 用于监视计算系统的方法和相应的计算系统
JP6524989B2 (ja) 演算器の動作保証方法
KR100495367B1 (ko) 소프트웨어 워치도그를 이용한 시스템 관리방법
JP2019191942A (ja) 制御装置および機能検査方法
US20230398955A1 (en) In-vehicle use control system
JP2006323617A (ja) メモリ管理方法及びメモリ管理装置
JP2013058159A (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

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: 20200324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200415

R150 Certificate of patent or registration of utility model

Ref document number: 6692763

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250