JP2008242995A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2008242995A
JP2008242995A JP2007085046A JP2007085046A JP2008242995A JP 2008242995 A JP2008242995 A JP 2008242995A JP 2007085046 A JP2007085046 A JP 2007085046A JP 2007085046 A JP2007085046 A JP 2007085046A JP 2008242995 A JP2008242995 A JP 2008242995A
Authority
JP
Japan
Prior art keywords
microcomputer
rewrite
mode
control software
rewriting
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
JP2007085046A
Other languages
English (en)
Other versions
JP4367513B2 (ja
Inventor
Kazuya Okamoto
和也 岡本
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 Corp
Original Assignee
Denso Corp
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 Corp filed Critical Denso Corp
Priority to JP2007085046A priority Critical patent/JP4367513B2/ja
Priority to US12/056,058 priority patent/US7831678B2/en
Priority to EP08005786.2A priority patent/EP1975788B1/en
Publication of JP2008242995A publication Critical patent/JP2008242995A/ja
Application granted granted Critical
Publication of JP4367513B2 publication Critical patent/JP4367513B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Safety Devices In Control Systems (AREA)
  • Control By Computers (AREA)

Abstract

【課題】制御ソフトが連続して書き換えられる2つのマイコンA,Bのうち、少なくとも後で書き換えが実施される方のマイコンAは常時電源供給される電子制御装置において、各マイコンA、Bの制御ソフトを確実に書き換え可能にする。
【解決手段】マイコンAには、誤って書換モードになった場合の対策として、書換モード時に書換ツールから必要な情報が一定時間以内に送られてこなければ通常モードに戻るタイムアウト機能が設けられている。そこで、両マイコンA,Bを通常モードから離脱させて制御ソフトを書き換える場合、マイコンBは通常モードから書換モードになるが、マイコンAは待機状態となる。そして、マイコンAは、マイコンBの制御ソフトの書き換えが終了して書換ツールからの書換対象切換コマンドを受けると書換モードに移行する。このため、マイコンBの制御ソフトの書き換え中にマイコンAがタイムアウト機能により通常モードに戻ることがない。
【選択図】図9

Description

本発明は、複数のマイコン(マイクロコンピュータ)を備えた電子制御装置に関し、特に、その各マイコンの制御ソフトウェアをオンボード書き換え可能な電子制御装置に関するものである。
従来より、自動車用の電子制御装置として、電気的にデータの書き換えが可能なEEPROMやフラッシュメモリなどの不揮発性メモリ(以下、書換可能不揮発性メモリともいう)を有するマイコンを備え、その書換可能不揮発性メモリに格納された制御プログラムや制御データからなる制御ソフトウェアを、市場への供給後でも書き換えることができるようにしたものがある。
即ち、この種の電子制御装置において、マイコンは、通常時には、書換可能不揮発性メモリに格納された制御ソフトウェアを実行することでエンジン等の制御対象を制御するが、当該電子制御装置と通信可能に接続される書換装置からのモード切換指令を受けると、制御ソフトウェアとは別の書換処理用ソフトウェアを実行する書換モードに移行して、書換可能不揮発性メモリ内の制御ソフトウェアを書換装置から送信されて来る制御ソフトウェアに書き換えるための書換処理を行う。
よって、このような電子制御装置によれば、マイコンを当該装置に実装した状態で、書換可能不揮発性メモリ内の制御ソフトウェアを書き換える、所謂オンボード書き換えが可能となるため、市場への供給後に何等かの原因で動作内容(制御内容)を変更しなければならない事態が起こったとしても、容易に対応することができる。
そして、近年、この種の電子制御装置では、制御内容の複雑化に伴って、複数のマイコンを搭載したものが主流となっており、各マイコンについて、制御ソフトウェアのオンボード書き換えが可能となるように構成することが考えられる(例えば特許文献1,2参照)。
また、複数のマイコンを搭載した電子制御装置においては、特定のマイコンに他のマイコンを監視する監視機能を持たせる場合もある。つまり、特定のマイコンが、制御ソフトウェアを実行する通常モード時において、監視対象である他のマイコンにて制御ソフトウェアが正常に実行されているか否かを監視し、異常と判断したならば上記他のマイコンをリセットする、といった構成を採る場合がある(例えば特許文献1,2参照)
特許第3097580号公報 特許第3137012号公報
ところで、複数の各マイコンの制御ソフトウェアをオンボード書き換え可能な電子制御装置においては、各マイコンの制御ソフトウェアを連続して書き換える場合に、各マイコンを1つずつ書換モードにするのではなく、まず書換装置からのモード切換指令により全てのマイコンを書換モードに移行させ、その状態で、各マイコンの制御ソフトウェアを順番に書き換えるように構成することが考えられる。なぜなら、複数のマイコンが情報を共有しながら各自の制御対象を制御する構成の場合に、あるマイコンの制御ソフトウェアを書き換えている最中に他のマイコンを通常モードで動作させても所望の制御を確実に行うことができず、全てのマイコンを通常モードから離脱させる方が好ましいと考えられるか
らである。
また特に、この手法は、あるマイコンMaに他のマイコンMbを監視する監視機能を持たせている場合に必要である。つまり、監視する側のマイコンMaを通常モードにしたままで、監視対象であるマイコンMbの制御ソフトウェアの書き換えを実施すると、マイコンMaが前述の監視機能によってマイコンMbをリセットしてしまうからであり、このため、マイコンMa,Mbの両方を通常モードから離脱させて、マイコンMaに備えられた監視機能を無効化する必要があるからである。
しかし、各マイコンの制御ソフトウェアを連続して書き換える場合に全てのマイコンを書換モードに移行させる手法を、下記(1)及び(2)の2つの条件を満たす電子制御装置に適用すると、制御ソフトウェアの書き換えを正常に実施することができなくなってしまう可能性がある。
(1)少なくとも2つのマイコンA,Bを備えていると共に、その2つのマイコンA,Bの制御ソフトウェアが連続して書き換えられる場合には、マイコンBの方が先に(換言すれば、マイコンAの方が後に)制御ソフトウェアの書き換えが実施される。
(2)マイコンA,Bのうちの少なくともマイコンAは、常時電源が供給されるようになっている。
ここで、上記(1),(2)の条件を満たす電子制御装置の場合になぜ問題が生じるかについて具体的に説明する。
まず、例えば特許文献1,2に記載の電子制御装置のように、搭載された各マイコンが、車両のイグニッションスイッチのオンに伴い電源が供給されて動作するマイコンであるならば、何らかの原因により、制御ソフトウェアを実行する通常モードから書換モードに誤って移行してしまっても、イグニッションスイッチを一旦オフして再びオンすれば、通常モードに復帰させることができる。
これに対して、常時電源が供給されるマイコンでは、イグニッションスイッチのオフ→オンによる通常モードへの復帰ができないため、一般に、誤って書換モードに移行した場合のフェイルセーフ機能として、タイムアウト機能が設けられる。このタイムアウト機能は、書換モード時の書換処理用ソフトウェアが実行されることで実現される機能であり、書換処理を実施するために必要な情報(例えば、予め定められたコマンドや、書き換えるべき新たな制御ソフトウェアを構成するデータ等)が書換装置から一定時間以内に送られてきたか否かを監視して該情報が送られてこなければ通常モードに復帰する、という機能である。
このため、上記(1),(2)の条件を満たす電子制御装置の場合、少なくともマイコンAには上記タイムアウト機能が設けられることとなる。
よって、マイコンA,Bの制御ソフトウェアを連続して書き換える場合において、全てのマイコンを書換モードに移行させると、先にマイコンBの制御ソフトウェアを書き換えている間に、書換装置からマイコンAには制御ソフトウェアの書き換えに必要な情報が送信されないため、マイコンAが上記タイムアウト機能によって通常モードに復帰してしまい、その結果、マイコンAの制御ソフトウェアを書き換えることができなくなってしまう。
そして更に、マイコンAが通常モード時にマイコンBを監視するようになっているので
あれば、タイムアウト機能によって通常モードに復帰したマイコンAは、先に制御ソフトウェアの書き換えを行っている最中のマイコンBをリセットしてしまうこととなる。このため、マイコンBの制御ソフトウェアも正常に書き換えることができなくなってしまう。
本発明は、こうした問題に鑑みなされたものであり、制御ソフトウェアが連続して書き換えられる2つのマイコンのうち、少なくとも後で制御ソフトウェアの書き換えが実施される方のマイコンは常時電源供給されるようになっている電子制御装置において、各マイコンの制御ソフトウェアを確実に書き換え可能にすることを目的としている。
請求項1の電子制御装置は、外部装置と通信可能に接続される第1マイコン及び第2マイコンを備えている。そして、第1マイコン及び第2マイコンの各々は、電気的にデータの書き換えが可能な不揮発性メモリ(書換可能不揮発性メモリ)を有すると共に、通常モード時には、その不揮発性メモリに格納された制御ソフトウェアを実行することで制御対象を制御し、外部装置からのモード切換指令を受けた場合には、制御ソフトウェアとは別の書換処理用ソフトウェアを実行する書換モードに移行して、その書換処理用ソフトウェアを実行することにより、書換可能不揮発性メモリ内の制御ソフトウェアを外部装置から送信されて来る制御ソフトウェアに書き替えるための書換処理を行うようになっている。
また、請求項1の電子制御装置において、第1マイコンと第2マイコンの制御ソフトウェアが連続して書き換えられる場合には、外部装置から各マイコンへ前記モード切換指令が送信されると共に、第2マイコンの方が先に(換言すれば、第1マイコンの方が後に)制御ソフトウェアの書き換えが実施されるようになっている。
そして更に、2つのマイコンのうち、少なくとも第1マイコンは、常時電源が供給されるようになっており、その第1マイコンが実行する書換処理用ソフトウェアには、当該第1マイコンにおいて前記書換処理を実施するために必要な所定の情報が外部装置から当該第1マイコンへ一定時間以内に送られてきたか否かを監視し該情報が送られてこなければ制御ソフトウェアを実行する通常モードに復帰するタイムアウト機能を、当該第1マイコンに実現させるプログラムが含まれている。つまり、常時電源が供給されると共に、第2マイコンの後で制御ソフトウェアの書き換えが行われる第1マイコンは、書換モードの場合にタイムアウト機能を有することとなる。
そこで特に、請求項1の電子制御装置において、第1マイコンは、外部装置からのモード切換指令を受けた場合に、そのまま書換モードに移行するのではなく、制御ソフトウェアを実行せずに書換モードへ移行するのを待つ待機状態となり、その後、外部装置からのモード移行許可指令を受けると、書換モードに移行するようになっている。
このような電子制御装置において、第1マイコンと第2マイコンの制御ソフトウェアを書き換える場合には、まず、外部装置から各マイコンへモード切換指令を送信する。
すると、第2マイコンは通常モードから書換モードに移行し、第1マイコンは通常モードから抜けて待機状態となる。
その後、外部装置から第2マイコン用の制御ソフトウェアを送信すると、第2マイコンが、書換処理により、自己の書換可能不揮発性メモリに格納されている制御ソフトウェアを、その外部装置からの制御ソフトウェアに書き換えることとなる。
そして、第2マイコンの制御ソフトウェアの書き換えが終了した後、外部装置から第1マイコンへモード移行許可指令を送信すれば、第1マイコンを書換モードに移行させるこ
とができる。よって、その後、外部装置から第1マイコン用の制御ソフトウェアを送信することにより、第1マイコンの制御ソフトウェアを書き換えることができる。
ここで特に、第1マイコンは、第2マイコンの制御ソフトウェアの書き換えが行われている最中に、制御ソフトウェアを実行しないが書換モードにも移行しない(即ち、書換処理用ソフトウェアも実行しない)待機状態となるため、タイムアウト機能によって通常モードに復帰してしまうことはない。このため、第2マイコンに続いて、第1マイコンの制御ソフトウェアも確実に書き換えることができるようになる。
このように、請求項1の電子制御装置によれば、第2マイコンの制御ソフトウェアと第1マイコンの制御ソフトウェアを、その順に連続して書き換える場合に、その両方のマイコンを通常モードから離脱させても、第2マイコンの制御ソフトウェアを書き換えている最中に第1マイコンがタイムアウト機能によって通常モードに復帰してしまうことが防止され、各マイコンの制御ソフトウェアを確実に書き換えることができるようになる。
次に、請求項2の電子制御装置では、請求項1の電子制御装置において、第1マイコンが実行する制御ソフトウェアには、第2マイコンにて該第2マイコンの書換可能不揮発性メモリに格納されている制御ソフトウェアが正常に実行されているか否かを監視すると共に、その制御ソフトウェアが正常に実行されていないと判断すると第2マイコンをリセットするための動作を行う監視機能を、第1マイコンに実現させるプログラムが含まれている。つまり、第1マイコンは通常モード時に第2マイコンを監視して異常と判断すると第2マイコンをリセットするようになっている。
このような請求項2の電子制御装置によれば、第2マイコンの制御ソフトウェアの書き換えが行われている最中に、第1マイコンを通常モードから離脱した待機状態にして、その第1マイコンの第2マイコンに対する監視機能を無効化することができ、そのため、第1マイコンが第2マイコンをリセットしてしまうことを防止することができる。そして、前述したように、第2マイコンの制御ソフトウェアの書き換えが行われている最中に、第1マイコンがタイムアウト機能によって通常モードに復帰してしまうこともない。
このため、第1マイコンが通常モード時に第2マイコンを監視することと、その各マイコンの制御ソフトウェアを確実に書き換え可能にすることとを両立させることができる。
次に、請求項3の電子制御装置では、請求項2の電子制御装置において、第1マイコンは、制御ソフトウェアを書き換えるための書換処理が終了すると通常モードに復帰するようになっている。そして、第2マイコンは、書換処理が終了すると、制御ソフトウェアを実行しない無制御状態となり、その後、第1マイコンの監視機能によりリセットされることで通常モードに復帰する。つまり、書換処理が終了した第2マイコンは、その後に通常モードへと復帰した第1マイコンの監視機能によりリセットされて通常モードに戻る。
この構成によれば、2つのマイコンを自動的に且つほぼ同時に通常モードへと復帰させることができ、2つのマイコンによる制御開始の同期化が容易となる。また、第1マイコンの第2マイコンに対する監視機能の他に、例えば、第2マイコンが通常モード時に第1マイコンが正常か否かの異常検出を行うようになっている場合に、両マイコンの通常モードへの復帰タイミングが大きく異なると、その第2マイコンの異常検出機能によって異常と判定されてしまう可能性があるが、そのような不都合を防止することができる。
次に、請求項4の電子制御装置では、請求項1〜3の電子制御装置において、前記モード移行許可指令は、外部装置が制御ソフトウェアの書換対象を第1マイコン以外のマイコンから第1マイコンに切り換える場合に送信する書換対象切換指令である。
つまり、第2マイコンの制御ソフトウェアと第1マイコンの制御ソフトウェアを、その順に連続して書き換える場合、外部装置は、第2マイコンの制御ソフトウェアの書き換えが終了すると、第1マイコンへ、制御ソフトウェアの書換対象を第1マイコンに切り換えることを示す書換対象切換指令を送信するように構成されると考えられるため、その書換対象切換指令を、モード移行許可指令として用いている。そして、この構成によれば、外部装置から送信される指令を新たに設ける必要がないという点で有利である。
次に、請求項5の電子制御装置では、請求項1〜4の電子制御装置において、第1マイコンは、前記待機状態となっている場合に、特定の復帰条件が成立したか否かを判定し、その復帰条件が成立したと判定すると、通常モードに復帰するようになっている。
この構成によれば、第1マイコンと第2マイコンとのうち、第2マイコンの制御ソフトウェアだけを書き換える場合にも対応することができる。つまり、外部装置から各マイコンへモード切換指令を送信し、その後、第2マイコンの制御ソフトウェアの書き換えが終了した時点で、上記特定の復帰条件を成立させれば、第1マイコンを待機状態からそのまま通常モードに復帰させることができる。そして、第2マイコンの制御ソフトウェアだけを書き換えたい場合に、その作業を速やかに完了することができる。
尚、請求項3に従属する請求項5の電子制御装置ならば、第2マイコンの制御ソフトウェアだけを書き換える場合においても、上記特定の復帰条件を成立させて第1マイコンを通常モードに復帰させると、その第1マイコンの監視機能によって第2マイコンがリセットされて通常モードに復帰することとなる。
次に、請求項6の電子制御装置では、請求項5の電子制御装置において、第1マイコンは、前記待機状態となっている場合に、外部装置から、制御ソフトウェアの書き換えが終了したことを示す終了通知が送信されてきたか否かを判定し、その終了通知が送信されてきたならば、前記復帰条件が成立したとして通常モードに復帰する。
つまり、一般に、電子制御装置における制御ソフトウェアを書き換えるための外部装置は、制御ソフトウェアを書き換えるための一連の処理を終了する際に、終了通知を送信するようになっているため、「外部装置から終了通知が送信されてきた」ということを、復帰条件としている。そして、この構成によれば、復帰条件としての特別なトリガを追加することなく、待機状態の第1マイコンを通常モードに復帰させることができる。
次に、請求項7の電子制御装置では、請求項5,6の電子制御装置において、第1マイコンは、前記待機状態となっている場合に、特定の操作部が操作されたか否かを判定し、その操作部が操作されたならば、前記復帰条件が成立したとして通常モードに復帰するようになっている。
この構成によれば、前述した効果の他に、例えば第1マイコンが何らかの原因で誤って待機状態になってしまっても、特定の操作部を操作することにより、第1マイコンを強制的に通常モードへと復帰させることができる、という利点がある。
次に、請求項8の電子制御装置では、請求項1〜7の電子制御装置において、第1マイコンは、前記待機状態となっている場合に、当該第1マイコンが該待機状態であるならばアクティブレベルとなるはずの信号をモニタし、その信号がアクティブレベルでなければ通常モードに復帰するようになっている。
この構成によれば、第1マイコンが何らかの原因で誤って待機状態になってしまっても
、そのような場合にはモニタ対象の信号が非アクティブレベルであるため、第1マイコンを自動的に通常モードへと復帰させることができる。
以下に、本発明が適用された実施形態の電子制御装置について説明する。尚、本実施形態の電子制御装置は、自動車(車両)に搭載される車載電子制御装置である。
まず図1に示すように、本実施形態の電子制御装置(以下、ECUという)1は、マイコンAとマイコンBを備えている。
マイコンAは、例えば他のECUに対する電源供給制御や常時動作すべき車載機器の制御を行うマイコンであり、常時供給される電源電圧Vaを受けて動作する。
マイコンBは、例えばエンジンを制御するマイコンであり、自動車のイグニッションスイッチがオンされている場合に供給される電源電圧Vbを受けて動作する。
また、ECU1は、車両に配設された車両内通信線2に接続されている。そして、ECU1には、車両内通信線2に接続された他の装置とマイコンA,Bの各々が通信するための通信ドライバ3,5も備えられている。
更に、マイコンA,Bで実行されるソフトウェア(以下単にソフトという)を書き換える際には、車両内通信線2に、外部装置としての書換ツール7がコネクタ9を介して接続される。そして、マイコンA,Bは、通信ドライバ3,5を介して書換ツール7と通信することとなる。尚、図示は省略しているが、書換ツール7もマイコンを主要部として構成されており、通信ドライバ等も備えている。
次に、マイコンA,Bの構成について説明する。
マイコンAには、データの書き換えが不能なROM11と、データの書き換えが可能な書換可能不揮発性メモリとしてのフラッシュメモリ13と、ROM11及びフラッシュメモリ13に格納されているソフトを実行するコア15とが備えられている。
同様に、マイコンBにも、データの書き換えが不能なROM21と、フラッシュメモリ23と、ROM21及びフラッシュメモリ23に格納されているソフトを実行するコア25とが備えられている。
また、マイコンAの方には、コア15がソフトを正常に実行しているか否かを監視するためのウォッチドッグタイマ(以下、WDTと記す)17が内蔵されている。このWDT17は、自己のタイマ値がコア15によって規定時間Ta以内にクリアされなければ異常と判断してコア15をリセットする、という周知のものである。
ここで、マイコンBのフラッシュメモリ23には、エンジンを制御するための制御ソフトを含んだアプリケーションソフトが格納されている。そして、マイコンBは、フラッシュメモリ23内の制御ソフトをコア25によって実行することにより、マイコンAと内部通信線10を介して規定時間Tb1毎に通信しながらエンジンを制御すると共に、マイコンAへ規定時間Tb2以内毎にウォッチドッグパルスWDPを出力する。
また、マイコンAのフラッシュメモリ13には、他のECUに対する電源供給制御や常時動作すべき車載機器の制御を行うための制御ソフトを含んだアプリケーションソフトが格納されている。そして、マイコンAは、フラッシュメモリ13内の制御ソフトをコア1
5によって実行することにより、マイコンBと内部通信線10を介して通信しながら他ECUへの電源供給制御や車載機器制御を行うと共に、WDT17を規定時間Ta以内毎にクリアし、更に、マイコンBの動作を監視するための図2の如き監視処理を一定時間毎に繰り返し行う。つまり、マイコンAは内蔵のWDT17によって監視されるが、マイコンBはマイコンAによって監視されるようになっており、そのため、マイコンAが実行する制御ソフトには、図2の監視処理を行うためのプログラムが含まれている。
その監視処理の内容を説明すると、図2に示すように、まずS110にて、マイコンBからのウォッチドッグパルスWDPの出力周期が規定時間Tb2以内であるか否かを判定し、出力周期が規定時間Tb2以内であれば、次のS120にて、マイコンBから内部通信線10を介して規定時間Tb1以内に信号が送られてきたか否か(内部通信の周期がOKであるか否か)を判定する。そして、規定時間Tb1以内に信号が送られてきていれば、そのまま当該監視処理を終了する。
また、S110にて、マイコンBからのウォッチドッグパルスWDPの出力周期が規定時間Tb2以内ではないと判定した場合、或いは、S120にて、マイコンBから内部通信線10を介して規定時間Tb1以内に信号が送られてこなかったと判定した場合には、S130に移行して、異常カウンタをカウントアップさせる。そして、続くS140にて、異常カウンタの値が異常判定閾値以上になったか否かを判定し、異常判定閾値以上になっていなければ、当該監視処理を終了する。
これに対し、S140にて、異常カウンタの値が異常判定閾値以上になったと判定したならば、マイコンBにて制御ソフトが正常に実行されていないと判断して、S150に進み、マイコンBのコア25をリセットするためのリセット信号を出力した後、当該監視処理を終了する。
一方、マイコンBのROM21には、フラッシュメモリ23内のソフトを書換ツール7から送信されて来る新たなソフトに書き替えるための書換処理用ソフトが格納されている。同様に、マイコンAのROM11には、フラッシュメモリ13内のソフトを書換ツール7から送信されて来る新たなソフトに書き替えるための書換処理用ソフトが格納されている。
また、図1に示すように、ECU1には、マイコンAから後述するタイミングで出力される書込許可判定信号と、マイコンBから後述するタイミングで出力される書込許可判定信号との論理和をとり、その論理和信号を書込許可信号として出力するオア回路31が設けられている。そして、そのオア回路31からの書込許可信号はマイコンA,Bの各々に入力されるようになっている。
更に、マイコンAには、イグニッションスイッチがオンされた場合にアクティブレベルとなるイグニッションスイッチ信号が、外部スイッチ信号の一つとして入力されるようになっている。
次に、書換ツール7が実行する処理と、ECU1の各マイコンA,Bが実行する処理について、図3〜図8のフローチャートを用い説明する。
尚、以下の説明において、例えば信号A、通信A、ソフトA、コマンドAなど、「A」が末尾に付されたマイコンA以外のものは、それがマイコンAに対応するものであることを意味している。同様に、例えば信号B、通信B、ソフトB、コマンドBなど、「B」が末尾に付されたマイコンB以外のものは、そのれがマイコンBに対応するものであることを意味している。
まず図3は、書換ツール7が実行する書換処理を表すフローチャートである。尚、図3の処理は、実際には書換ツール7に備えられたマイコンによって実行される。
書換ツール7は、作業者によって車両内通信線2に接続された後に、マイコンA,Bの制御ソフトを書き換えるための特定の操作が行われると、図3の書換処理を開始する。
そして、まずS200にて、マイコンAとセキュリティ通信Aを行い、次のS210にて、マイコンBとセキュリティ通信Bを行う。
尚、セキュリティ通信A,Bの各々は、マイコンA,Bと特定の情報をやり取りすることで、マイコンA,B側のセキュリティを解除するための通信である。そして、マイコンA,Bの各々は、セキュリティが解除されることで、書換ツール7からのモード切換コマンドA,Bを受付可能な状態となる。また、モード切換コマンドA,Bとは、マイコンA,Bの動作モードを、制御ソフトを実行する通常モードから書換処理用ソフトを実行する書換モードへと移行させるためのコマンドである。
次に、書換ツール7は、S220にて、マイコンAと書換モード移行通信Aを行い、次のS230にて、マイコンBと書換モード移行通信Bを行う。
尚、書換モード移行通信A,Bの各々は、最初にモード切換コマンドA,Bを送信し、その後、マイコンA,Bと特定の情報をやり取りすることで、マイコンA,Bを書換モードに移行させるための通信である。
次に、書換ツール7は、S240にて、マイコンBと初期通信Bを行い、次のS250にて、マイコンBとデータ通信Bを行う。
尚、初期通信Bは、書換モードに移行したマイコンBに対して、フラッシュメモリ23内のソフトを書き換える準備を行わせるための通信であり、例えば、この初期通信Bにより、フラッシュメモリ23におけるソフトの書換領域を指示する。そして、データ通信Bは、書き換えるべき新制御ソフトBを所定データ量毎に順次送信して、マイコンBにフラッシュメモリ23内の既存の制御ソフトBをその新制御ソフトBに書き換えさせるための通信である。
そして、S250のデータ通信Bが終了すると(即ち、マイコンBの制御ソフトの書き換えが終了すると)、次のS260にて、マイコンAへ書換対象切換コマンドを送信する。すると、後述するように、マイコンAは、この時点で、本当に書換モードへ移行することとなる。尚、マイコンAへの書換対象切換コマンドは、ソフトの書換対象をマイコンA以外のマイコンからマイコンAに切り換えることを示すコマンドである。
次に、書換ツール7は、S270にて、マイコンAと初期通信Aを行い、次のS280にて、マイコンAとデータ通信Aを行う。
尚、初期通信Aとデータ通信Aは、前述した初期通信B及びデータ通信Bと同じ役割の通信である。即ち、初期通信Aは、書換モードに移行したマイコンAに対して、フラッシュメモリ13内のソフトを書き換える準備を行わせるための通信であり、例えば、この初期通信Aにより、フラッシュメモリ13におけるソフトの書換領域を指示する。そして、データ通信Aは、書き換えるべき新制御ソフトAを所定データ量毎に順次送信して、マイコンAにフラッシュメモリ13内の既存の制御ソフトAをその新制御ソフトAに書き換えさせるための通信である。
そして、S280のデータ通信Aが終了すると(即ち、マイコンAの制御ソフトの書き換えが終了すると)、次のS290にて、マイコンA,Bの両方へ終了通知コマンドを送信し、その後、当該書換処理を終了する。尚、終了通知コマンドは、ソフトの書き換えが終了したことを示すコマンドである。
次に図4は、マイコンBが実行する処理を表すフローチャートである。そして、図4において、S300の処理がフラッシュメモリ23内の制御ソフトBによって実現され、S310〜S370の処理がフラッシュメモリ23内の制御ソフトB以外のアプリケーションソフトBによって実現され、S380,S390の処理がROM21内の書換処理用ソフトBによって実現される。
図4に示すように、マイコンBは、初期状態から動作を開始すると、フラッシュメモリ23に格納されている制御ソフトBを実行することにより、通常の制御処理を行う(S300)。尚、前述したように、マイコンBは、この制御ソフトBによる制御処理により、マイコンAと内部通信線10を介して規定時間Tb1毎に通信しながらエンジンを制御すると共に、マイコンAへ規定時間Tb2以内毎にウォッチドッグパルスWDPを出力する。
そして、マイコンBは、その制御処理を行っている最中に、書換ツール7からのセキュリティ通信Bの信号を受信したか否かを判定し(S310)、セキュリティ通信Bの信号を受信しなければ、制御処理を続ける(S310:NO→S300)。この状態が、通常モードの状態である。
一方、書換ツール7からのセキュリティ通信Bの信号を受信したならば(S310:YES)、S320に移行して、引き続き書換ツール7とのセキュリティ通信Bを行い、次のS330にて、セキュリティを解除して良いか否かを判定する。具体的には、書換ツール7とのセキュリティ通信Bが規定の手順で全て完了できたならば、セキュリティを解除して良いと判定する。
そして、セキュリティを解除して良いと判定しなかった場合には、S300に戻って再び制御ソフトBによる制御処理を行うが、セキュリティを解除して良いと判定した場合には、S340に進む。
S340では、S330にてセキュリティを解除して良いと判定してから一定時間以内に書換ツール7からのモード切換コマンドBを受信したか否かを判定する。そして、一定時間内にモード切換コマンドBを受信しなければ、S300に戻って再び制御ソフトBによる制御処理を行うが、一定時間以内にモード切換コマンドBを受信したならば、S350に進んで、書換ツール7との書換モード移行通信Bを行う。
次にS360にて、書換モードに移行して良いか否かを判定する。具体的には、書換ツール7との書換モード移行通信Bが規定の手順で全て完了できたならば、書換モードに移行して良いと判定する。そして、書換モードに移行して良いと判定しなかった場合には、S300に戻って再び制御ソフトによる制御処理を行うが、書換モードに移行して良いと判定した場合には、S370に進む。
S370では、フラッシュメモリ23へのデータ書き込みを許可した状態であることを示す書込許可判定信号Bを、アクティブレベル(本実施形態ではハイ)にし、その後、プログラムの実行先を、ROM21内の書換処理用ソフトBへジャンプさせる。
これにより、マイコンBの動作モードは、書換処理用ソフトBを実行する書換モードとなり、マイコンBは、その書換処理用ソフトBを実行することにより、書換モード処理(S380)を行う。
ここで、図5に示すように、書換処理用ソフトBによる書換モード処理では、まずS410にて、書換ツール7からの初期通信Bの信号を待ち、初期通信Bの信号を受信したならば(S410:YES)、S420に進んで、引き続き書換ツール7との初期通信Bを行う。
そして、初期通信Bが終了すると、次のS430にて、書換ツール7からのデータ通信Bの信号(即ち、所定データ量毎の新制御ソフトB)を受信したか否かを判定し、そのデータ通信Bの信号を受信したならば、S440に進む。そして、S440では、データ通信Bの処理として、今回受信した所定データ量の新制御ソフトBをフラッシュメモリ23に更新して書き込む書換処理を行い、その後、S430に戻る。
また、S430にて、データ通信Bの信号を受信していないと判定した場合には、S450に移行して、書換ツール7からの終了通知コマンドを受信したか否かを判定し、終了通知コマンドを受信してなければ、再びS430に戻る。
一方、S450にて、終了通知コマンドを受信したと判定したならば、そのまま当該書換モード処理を終了し、図4のS390に進む。すると、マイコンBは、実質的な処理を行わない無限ループ状態になる。
次に図6は、マイコンAが実行する処理を表すフローチャートである。そして、図6において、S500の処理がフラッシュメモリ13内の制御ソフトAによって実現され、S510〜S575の処理がフラッシュメモリ13内の制御ソフトA以外のアプリケーションソフトAによって実現され、S580,S590の処理がROM11内の書換処理用ソフトAによって実現される。
図6に示すように、マイコンAは、初期状態から動作を開始すると、フラッシュメモリ13に格納されている制御ソフトAを実行することにより、通常の制御処理を行う(S500)。尚、前述したように、マイコンAは、この制御ソフトAによる制御処理により、マイコンBと内部通信線10を介して通信しながら他ECUへの電源供給制御や車載機器制御を行うと共に、WDT17を規定時間Ta以内毎にクリアし、更に、マイコンBの動作を監視するための図2の監視処理も行う。
そして、マイコンAは、その制御処理を行っている最中に、書換ツール7からのセキュリティ通信Aの信号を受信したか否かを判定し(S510)、セキュリティ通信Aの信号を受信しなければ、制御処理を続ける(S510:NO→S500)。この状態が、通常モードの状態である。
一方、書換ツール7からのセキュリティ通信Aの信号を受信したならば(S510:YES)、S520に移行して、引き続き書換ツール7とのセキュリティ通信Aを行い、次のS530にて、セキュリティを解除して良いか否かを判定する。具体的には、書換ツール7とのセキュリティ通信Aが規定の手順で全て完了できたならば、セキュリティを解除して良いと判定する。
そして、セキュリティを解除して良いと判定しなかった場合には、S500に戻って再び制御ソフトAによる制御処理を行うが、セキュリティを解除して良いと判定した場合には、S540に進む。
S540では、S530にてセキュリティを解除して良いと判定してから一定時間以内に書換ツール7からのモード切換コマンドAを受信したか否かを判定する。そして、一定時間内にモード切換コマンドAを受信しなければ、S500に戻って再び制御ソフトAによる制御処理を行うが、一定時間以内にモード切換コマンドAを受信したならば、S550に進んで、書換ツール7との書換モード移行通信Aを行う。
次にS560にて、書換モードに移行して良いか否かを判定する。具体的には、書換ツール7との書換モード移行通信Aが規定の手順で全て完了できたならば、書換モードに移行して良いと判定する。そして、書換モードに移行して良いと判定しなかった場合には、S500に戻って再び制御ソフトによる制御処理を行うが、書換モードに移行して良いと判定した場合には、S570に進む。
S570では、フラッシュメモリ13へのデータ書き込みを許可した状態であることを示す書込許可判定信号Aを、アクティブレベル(本実施形態ではハイ)にし、その後、S575に進んで、図7の書換モード移行待ち処理を実行する。尚、マイコンAでは、S570の後、そのまま書換モードにはならずに書換モード移行待ち処理を実行する点が、マイコンBと異なっている。
図7に示すように、書換モード移行待ち処理では、まずS610にて、WDT17をクリアし、次のS620にて、WDTクリアカウンタをリセットスタートさせる。尚、このWDTクリアカウンタは、WDT17をクリアする周期を計時するためのタイマカウンタであり、図示しない別のタイマ処理或いはハードウェアによって一定時間毎にカウントアップされる。
そして、次にS630にて、書換ツール7からの書換対象切換コマンドを受信したか否かを判定し、書換対象切換コマンドを受信していないと判定したならば、S640に進む。
S640では、オア回路31からの書込許可信号がアクティブレベル(ハイ)であるか否かを判定し、書込許可信号がアクティブレベルならば、次のS650にて、書換ツール7からの終了通知コマンドを受信したか否かを判定する。そして、終了通知コマンドを受信していなければ、次のS660にて、イグニッションスイッチ信号に基づき、操作部としてのイグニッションスイッチ(IGSW)がオンからオフに操作されたか否かを判定し、オフに操作されていなければ、S670に進む。
S670では、WDTクリアカウンタの値が、WDT17のタイムオーバー時間である規定時間Taよりも短い一定時間(本実施形態では4ms)に相当する値に達しているか否かを判定し、4msに相当する値に達していなければ、S630に戻る。
また、S670にて、WDTクリアカウンタの値が4msに相当する値に達していると判定した場合には、最初のS610に戻る。
また、S640にて書込許可信号がアクティブレベルでないと判定した場合、或いは、S650にて書換ツール7からの終了通知コマンドを受信したと判定した場合、或いは、S660にてイグニッションスイッチがオンからオフに操作されたと判定した場合には、S680に移行して、WDTクリアカウンタのカウントアップを停止させると共に、その状態でループする。
すると、S610によるWDT17のクリアが実施されなくなるため、少なくとも規定
時間Taが経過すると、マイコンAは、WDT17によりリセットされて、制御ソフトAを実行する通常モードの状態へ復帰することとなる。
一方、上記S630にて、書換ツール7からの書換対象切換コマンドを受信したと判定した場合には、当該書換モード移行待ち処理を終了し、プログラムの実行先を、ROM11内の書換処理用ソフトAへジャンプさせる。これにより、マイコンAの動作モードは、書換処理用ソフトAを実行する書換モードとなり、マイコンAは、その書換処理用ソフトAを実行することにより、書換モード処理(S580)を行う。
つまり、マイコンAにおいて、図7の書換モード移行待ち処理を実行している状態は、制御ソフトAを実行せずに書換モードへ移行するのを待っている待機状態である。
そして、その待機状態において、書換ツール7からの書換対象切換コマンド及び終了通知コマンドを受信せず、オア回路31からの書込許可信号がアクティブレベルで且つイグニッションスイッチがオフに操作されなければ、S610及びS620の処理が4ms毎に実行され、その4ms毎にWDT17をクリアすることとなる。これは、WDT17によってリセットされないようにするためである。尚、マイコンAが正規の手順でこの待機状態となった場合には、少なくとも図6におけるS570の処理により、オア回路31からの書込許可信号は必ずアクティブレベルになっている。
また、待機状態になっても、オア回路31からの書込許可信号が非アクティブレベルであった場合(S640:NO)、或いは、待機状態である間に、書換ツール7からの終了通知コマンドを受信するか(S650:YES)、イグニッションスイッチがオフに操作されたならば(S660:YES)、マイコンAはWDT17によりリセットされて通常モードに復帰することとなる。
一方、待機状態である場合に、書換ツール7からの書換対象切換コマンドを受信したならば(S630:YES)、待機状態から抜けて、書換処理用ソフトAを実行する書換モードへ移行することとなる。
そして、図8に示すように、書換処理用ソフトAによる書換モード処理(即ち、書換モードの場合に行う処理)では、まずS705にて、時間カウンタをリセットスタートさせる。尚、この時間カウンタはタイムアウト機能用のタイマカウンタであり、図示しない別のタイマ処理或いはハードウェアによって一定時間毎にカウントアップされる。
次にS710にて、書換ツール7からの初期通信Aの信号を受信したか否かを判定し、その信号を受信していなければ、S715に進む。そして、S715では、時間カウンタの値がタイムアウト時間(本実施形態では5秒)に相当する値を超えた否かを判定し、5秒を超えていなければ、S710に戻る。
また、S710にて、初期通信Aの信号を受信したと判定した場合には、S720に進んで、引き続き書換ツール7との初期通信Aを行う。そして、初期通信Aが終了すると、次のS725にて、再び時間カウンタをリセットスタートさせる。
次にS730にて、書換ツール7からのデータ通信Aの信号(即ち、所定データ量毎の新制御ソフトA)を受信したか否かを判定する。そして、データ通信Aの信号を受信したならば、S740に進み、データ通信Aの処理として、今回受信した所定データ量の新制御ソフトAをフラッシュメモリ13に更新して書き込む書換処理を行い、次のS745にて、再び時間カウンタをリセットスタートさせた後、S730に戻る。
また、S730にて、データ通信Aの信号を受信していないと判定した場合には、S750に移行して、書換ツール7からの終了通知コマンドを受信したか否かを判定し、終了通知コマンドを受信してなければ、S755に進む。そして、S755では、時間カウンタの値がタイムアウト時間の5秒に相当する値を超えた否かを判定し、5秒を超えていなければ、S730に戻る。
また、S750にて、書換ツール7からの終了通知コマンドを受信したと判定したならば、ECU1における制御ソフトの書き換えが全て完了したということであるため、そのまま当該書換モード処理を終了して、図6のS590に進む。そして、そのS590にて、プログラムの実行先を制御ソフトAの先頭へジャンプさせる。すると、マイコンAは通常モードに戻ることとなる。
一方、上記S715とS755との何れかにおいて、時間カウンタの値が5秒に相当する値を超えたと判定した場合には、S760に移行して、この場合にもプログラムの実行先を制御ソフトAの先頭へジャンプさせる。よって、この場合、マイコンAは、制御ソフトAの書き換えが完了していなくても通常モードに戻ることとなる。
つまり、電源電圧Vbで動作するマイコンBならば、誤って書換モードに移行したとしても、イグニッションスイッチをオフ→オンすれば、強制的に通常モードへと復帰させることができるが、常時供給される電源電圧Vaで動作するマイコンAには、誤って書換モードに移行した場合のフェイルセーフ機能として、図8のS705,S715,S725,S745,S755,S760によるタイムアウト機能が備えられている。具体的には、書換モードになっても、制御ソフトAの書換処理を実施するのに必要な初期通信Aの信号及びデータ通信Aの信号と終了通知コマンドとの何れかが、書換ツール7から5秒以内に送信されてこなければ(何も受信しない状態が5秒を超えたら)、通常モードに復帰するようになっている。
尚、図示は省略しているが、マイコンAは、書換モードの場合にも、WDT17によってリセットされないようにするために、WDT17を規定時間Ta以内毎(例えば4ms毎)にクリアする処理を行っている。
以上のようなECU1において、マイコンA,Bの制御ソフトを書き換える場合には、図9に示すように、書換ツール7が各マイコンA,Bとセキュリティ通信A,Bを行って、そのマイコンA,Bにおけるセキュリティを解除させる。
そして、書換ツール7は、その後、各マイコンA,Bへモード切換コマンドA,Bを送信して、各マイコンA,Bと書換モード移行通信A,Bを行う。
すると、制御ソフトを先に書き換える方のマイコンBは、通常モードから書換モードに移行し、また、制御ソフトを後で書き換える方のマイコンAは、通常モードから抜けて、図7の書換モード移行待ち処理を行う待機状態となる。
その後、書換ツール7と書換モードのマイコンBが初期通信B及びデータ通信Bを行うことにより、書換ツール7からマイコンBへ、書き換えるべき新制御ソフトBが送信され、マイコンBは、フラッシュメモリ23内の制御ソフトBを、その書換ツール7からの新制御ソフトBに書き換えることとなる。
そして、マイコンBの制御ソフトBの書き換えが終了すると、書換ツール7は、マイコンAへ、書換対象切換コマンド(モード移行許可指令に相当)を送信する。すると、マイコンAは、この時点で書換モードに移行する。
その後、書換ツール7と書換モードのマイコンAが初期通信A及びデータ通信Aを行うことにより、書換ツール7からマイコンAへ、書き換えるべき新制御ソフトAが送信され、マイコンAは、フラッシュメモリ13内の制御ソフトAを、その書換ツール7からの新制御ソフトAに書き換えることとなる。
そして、マイコンAの制御ソフトAの書き換えが終了すると、書換ツール7は、マイコンA,Bの両方へ終了通知コマンドを送信する。
すると、マイコンAは、図8の書換モード処理を終了して通常モードに復帰し、新制御ソフトAの実行を開始する。また、マイコンBは、図5の書換モード処理を終了するが、制御ソフトBは実行せずに無限ループ状態(無制御状態)となる。
このため、マイコンBは、通常モードに戻ったマイコンAが図2の監視処理を実行することで実現される監視機能によってリセットされる。そして、マイコンBは、そのマイコンAによるリセットで通常モードに復帰して、新制御ソフトBの実行を開始し、この時点から、両方のマイコンA,Bが本来の制御機能を果たすこととなる。
尚、本実施形態において、書換ツール7は終了通知コマンドをマイコンA,Bの両方に送信するようになっているが、終了通知コマンドをマイコンAだけに送信するようにしても全く同じである。つまり、マイコンBが書換モード時に実行する図5の書換モード処理では、制御ソフトBの書き換えが終了してから終了通知コマンドを受信しなければ、「S430:NO→S450:NO→S430」の無限ループ状態となり、やはり、マイコンBは、通常モードに戻ったマイコンAの監視機能によりリセットされて通常モードに復帰することとなるからである。
ここで、本実施形態のECU1においては、マイコンA,Bの両方を通常モードから離脱させているため、マイコンBの制御ソフトBの書き換えを行っている最中に、マイコンAが通常モード時の監視機能(即ち、図2の監視処理による機能)によってマイコンBをリセットしないようにすることができる。
そして更に、マイコンBの制御ソフトBの書き換えを行っている最中に、マイコンAは、通常モードから離脱するが書換モードにも移行せずに、図7の書換モード移行待ち処理を実行する待機状態となるため、書換モード時のタイムアウト機能(図8のS705,S715,S725,S745,S755,S760による機能)によって通常モードに復帰してしまうことはない。このため、マイコンBに続いて、マイコンAの制御ソフトAも確実に書き換えることができる。
よって、マイコンAが通常モード時にマイコンBを監視することと、マイコンBの制御ソフトBとマイコンAの制御ソフトAをその順に連続して書き換え可能にすることとを両立させることができる。
また、本実施形態のECU1において、マイコンBは、制御ソフトBの書き換えが終了すると無限ループ状態となり、マイコンAは、制御ソフトAの書き換えが終了すると通常モードに復帰して、その通常モード時の監視機能によりマイコンBをリセットして通常モードに復帰させるようになっている。このため、2つのマイコンA,Bを自動的に且つほぼ同時に通常モードへと復帰させることができ、2つのマイコンA,Bによる制御開始の同期化が容易となる。
また、本実施形態において、マイコンAは、書換ツール7からの書換対象切換コマンド
を受けると、待機状態から書換モードへ移行するようになっているため、書換ツール7から送信されるコマンド(指令)として、マイコンAを待機状態から書換モードに移行されるための特別なコマンドを新たに設ける必要がない。
また、本実施形態において、マイコンAは、待機状態となっている場合に、書換ツール7からの終了通知コマンドを受けると(S650:YES)、通常モードに復帰するようになっている。
このため、マイコンBの制御ソフトBだけを書き換える場合にも対応することができる。つまり、制御ソフトBだけを書き換える場合、書換ツール7は、図3(図9)におけるS260〜S280の処理を実行せずに、制御ソフトBの書き換え(データ通信B)が終了したら、終了通知コマンドを送信する。すると、マイコンAは、待機モードから通常モードに戻り、制御ソフトBの書き換えが終わって無限ループ状態になっているマイコンBをリセットし通常モードに復帰させることとなる。
尚、制御ソフトBだけを書き換える場合に、書換ツール7が図3(図9)におけるS220の処理も実行せずに、マイコンAへモード切換コマンドAを送信しない構成も考えられる。その場合には、例えば、マイコンBが、書換ツール7からのモード切換コマンドBを受信した時点で、内部通信線10を介しマイコンAと通信して、マイコンAを書換モード移行待ち処理を実行する待機状態に移行させるように構成することができる。
また、本実施形態において、マイコンAは、待機状態となっている場合に、イグニッションスイッチがオンからオフに操作されても(S660:YES)、通常モードに復帰するようになっている。
このため、マイコンBの制御ソフトBだけを書き換える場合に、仮に書換ツール7がマイコンAへ終了通知コマンドを送信しなくても、マイコンA,Bを通常モードに復帰させることができる。また、マイコンAが何らかの原因で誤って待機状態になってしまっても、イグニッションスイッチをオフに操作することにより、マイコンAを強制的に通常モードへと復帰させることができる。
また、本実施形態において、マイコンAは、待機状態となっている場合に、オア回路31からの書込許可信号がアクティブレベルでなければ(S640:NO)、通常モードに復帰するようになっている。
このため、マイコンAが何らかの原因で誤って待機状態になってしまっても、そのような場合には、マイコンAを自動的に通常モードへと復帰させることができる。前述したように、マイコンAが正規の手順で待機状態となった場合には、マイコンA側の図6におけるS570の処理、或いはマイコンB側の図4におけるS370の処理により、オア回路31からの書込許可信号は必ずアクティブレベルになっているはずであり、マイコンAが待機状態になった場合に、その書込許可信号が非アクティブレベルであれば、誤って待機状態になったと考えられるからである。
尚、上記実施形態では、マイコンAが第1マイコンに相当し、マイコンBが第2マイコンに相当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、上記実施形態では、書き換える対象が制御ソフトA,Bだけであったが、フラッシュメモリ13,23内のアプリケーションソフトA,B全体を書き換えるようにしても良い。この場合、アプリケーションソフトA,Bのうち、制御ソフトA,B以外の部分は、同じ内容に書き換えれば良い。
また、図7のS660では、イグニッションスイッチ以外の他のスイッチ(例えばエンジンを始動させるためのスタートスイッチ)が操作されたか否かを判定するように構成しても良い。
また、マイコンBもマイコンAと同様に、常時供給の電源電圧Vaを受けて動作する構成であっても良い。また、マイコンは3つ以上あっても良い。
実施形態のECUの構成を表す構成図である。 マイコンAが通常モード時に実行する監視処理を表すフローチャートである。 書換ツールが実行する書換処理を表すフローチャートである。 マイコンBが実行する処理を表すフローチャートである。 図4中の書換モード処理を表すフローチャートである。 マイコンBが実行する処理を表すフローチャートである。 図6中の書換モード移行待ち処理を表すフローチャートである。 図6中の書換モード処理を表すフローチャートである。 書換ツール及びマイコンA,Bの処理の流れを表す説明図である。
符号の説明
1…ECU(電子制御装置)、A,B…マイコン、2…車両内通信線、3,5…通信ドライバ、7…書換ツール(外部装置)、9…コネクタ、10…内部通信線、11,21…ROM、13,23…フラッシュメモリ(書換可能不揮発性メモリ)、15,25…コア、17…WDT(ウォッチドッグタイマ)、31…オア回路

Claims (8)

  1. 外部装置と通信可能に接続される第1マイコン及び第2マイコンを備え、
    前記第1マイコン及び第2マイコンの各々は、電気的にデータの書き換えが可能な不揮発性メモリを有すると共に、通常モード時には、その不揮発性メモリに格納された制御ソフトウェアを実行することで制御対象を制御し、前記外部装置からのモード切換指令を受けた場合には、前記制御ソフトウェアとは別の書換処理用ソフトウェアを実行する書換モードに移行して、その書換処理用ソフトウェアを実行することにより、前記不揮発性メモリ内の制御ソフトウェアを前記外部装置から送信されて来る制御ソフトウェアに書き替えるための書換処理を行うようになっており、
    また、前記2つのマイコンの制御ソフトウェアが連続して書き換えられる場合には、前記外部装置から前記各マイコンへ前記モード切換指令が送信されると共に、前記第2マイコンの方が先に制御ソフトウェアの書き換えが実施されるようになっており、
    更に、前記2つのマイコンのうち、少なくとも前記第1マイコンは、常時電源が供給されるようになっていると共に、
    前記第1マイコンが実行する前記書換処理用ソフトウェアには、当該第1マイコンにおいて前記書換処理を実施するために必要な所定の情報が前記外部装置から当該第1マイコンへ一定時間以内に送られてきたか否かを監視し該情報が送られてこなければ前記制御ソフトウェアを実行する通常モードに復帰するタイムアウト機能を、当該第1マイコンに実現させるプログラムが含まれている電子制御装置において、
    前記第1マイコンは、前記モード切換指令を受けた場合に、そのまま前記書換モードに移行するのではなく、前記制御ソフトウェアを実行せずに前記書換モードへ移行するのを待つ待機状態となり、その後、前記外部装置からのモード移行許可指令を受けると、前記書換モードに移行するようになっていること、
    を特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記第1マイコンが実行する前記制御ソフトウェアには、前記第2マイコンにて該第2マイコンの前記不揮発性メモリに格納されている制御ソフトウェアが正常に実行されているか否かを監視すると共に、その制御ソフトウェアが正常に実行されていないと判断すると前記第2マイコンをリセットするための動作を行う監視機能を、前記第1マイコンに実現させるプログラムが含まれていること、
    を特徴とする電子制御装置。
  3. 請求項2に記載の電子制御装置において、
    前記第1マイコンは、前記書換処理が終了すると通常モードに復帰するようになっており、
    前記第2マイコンは、前記書換処理が終了すると、前記制御ソフトウェアを実行しない無制御状態となり、その後、前記第1マイコンの前記監視機能によりリセットされることで通常モードに復帰すること、
    を特徴とする電子制御装置。
  4. 請求項1ないし請求項3の何れか1項に記載の電子制御装置において、
    前記モード移行許可指令は、前記外部装置が制御ソフトウェアの書換対象を前記第1マイコン以外のマイコンから前記第1マイコンに切り換える場合に送信する書換対象切換指令であること、
    を特徴とする電子制御装置。
  5. 請求項1ないし請求項4の何れか1項に記載の電子制御装置において、
    前記第1マイコンは、前記待機状態となっている場合に、特定の復帰条件が成立したか
    否かを判定し、その復帰条件が成立したと判定すると、通常モードに復帰するようになっていること、
    を特徴とする電子制御装置。
  6. 請求項5に記載の電子制御装置において、
    前記第1マイコンは、前記待機状態となっている場合に、前記外部装置から、制御ソフトウェアの書き換えが終了したことを示す終了通知が送信されてきたか否かを判定し、その終了通知が送信されてきたならば、前記復帰条件が成立したとして通常モードに復帰すること、
    を特徴とする電子制御装置。
  7. 請求項5又は請求項6に記載の電子制御装置において、
    前記第1マイコンは、前記待機状態となっている場合に、特定の操作部が操作されたか否かを判定し、その操作部が操作されたならば、前記復帰条件が成立したとして通常モードに復帰するようになっていること、
    を特徴とする電子制御装置。
  8. 請求項1ないし請求項7の何れか1項に記載の電子制御装置において、
    前記第1マイコンは、前記待機状態となっている場合に、当該第1マイコンが該待機状態であるならばアクティブレベルとなるはずの信号をモニタし、その信号がアクティブレベルでなければ通常モードに復帰するようになっていること、
    を特徴とする電子制御装置。
JP2007085046A 2007-03-28 2007-03-28 電子制御装置 Expired - Fee Related JP4367513B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007085046A JP4367513B2 (ja) 2007-03-28 2007-03-28 電子制御装置
US12/056,058 US7831678B2 (en) 2007-03-28 2008-03-26 Electronic control apparatus
EP08005786.2A EP1975788B1 (en) 2007-03-28 2008-03-27 Electronic control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007085046A JP4367513B2 (ja) 2007-03-28 2007-03-28 電子制御装置

Publications (2)

Publication Number Publication Date
JP2008242995A true JP2008242995A (ja) 2008-10-09
JP4367513B2 JP4367513B2 (ja) 2009-11-18

Family

ID=39484566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007085046A Expired - Fee Related JP4367513B2 (ja) 2007-03-28 2007-03-28 電子制御装置

Country Status (3)

Country Link
US (1) US7831678B2 (ja)
EP (1) EP1975788B1 (ja)
JP (1) JP4367513B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001482A1 (en) 2010-06-28 2012-01-05 Toyota Jidosha Kabushiki Kaisha Electronic control unit and control method thereof
WO2013021423A1 (ja) * 2011-08-10 2013-02-14 トヨタ自動車株式会社 リプログラミングシステム及びリプログラミング方法
JP2014099099A (ja) * 2012-11-15 2014-05-29 Denso Corp 制御システム
JP2014164596A (ja) * 2013-02-26 2014-09-08 Denso Corp 制御システム
WO2015076012A1 (ja) * 2013-11-20 2015-05-28 トヨタ自動車株式会社 電子制御装置、ソフトウェア書き換えシステム
JP2015102964A (ja) * 2013-11-22 2015-06-04 株式会社デンソー 電子制御装置
JP2020138590A (ja) * 2019-02-27 2020-09-03 株式会社デンソーテン 制御装置、制御装置システム、および、制御装置の制御方法
JP2021149605A (ja) * 2020-03-19 2021-09-27 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5702829B2 (ja) * 2013-05-23 2015-04-15 本田技研工業株式会社 中継装置
US9466159B1 (en) * 2015-04-10 2016-10-11 J. J. Keller & Associates, Inc. Methods and systems for automatically identifying a data source for an on-board recorder
JP6524989B2 (ja) * 2016-11-15 2019-06-05 トヨタ自動車株式会社 演算器の動作保証方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177504A (ja) * 1996-12-18 1998-06-30 Denso Corp 電子制御装置
JP2000235487A (ja) * 1999-02-17 2000-08-29 Denso Corp 電子制御装置
JP2003196256A (ja) * 2001-12-26 2003-07-11 Denso Corp 電子制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JP3881069B2 (ja) 1996-10-08 2007-02-14 株式会社デンソー 電子装置
JP3137012B2 (ja) 1996-12-09 2001-02-19 株式会社デンソー 電子制御装置
US6144887A (en) * 1996-12-09 2000-11-07 Denso Corporation Electronic control unit with reset blocking during loading
JP3828335B2 (ja) * 2000-04-13 2006-10-04 本田技研工業株式会社 車両制御装置のための書き換えシステム
EP1376344A3 (en) * 2002-06-17 2005-08-24 Seiko Epson Corporation Apparatus and method of rewriting firmware
KR20060054980A (ko) * 2004-11-17 2006-05-23 삼성전자주식회사 복수의 마이크로 프로세서들을 구비한 장치의 소프트웨어업그레이드 방법 및 그 장치
JP2007085046A (ja) 2005-09-21 2007-04-05 Sekisui House Ltd 雪止め瓦

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177504A (ja) * 1996-12-18 1998-06-30 Denso Corp 電子制御装置
JP2000235487A (ja) * 1999-02-17 2000-08-29 Denso Corp 電子制御装置
JP2003196256A (ja) * 2001-12-26 2003-07-11 Denso Corp 電子制御装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001482A1 (en) 2010-06-28 2012-01-05 Toyota Jidosha Kabushiki Kaisha Electronic control unit and control method thereof
CN102971685A (zh) * 2010-06-28 2013-03-13 丰田自动车株式会社 电子控制单元及其控制方法
WO2013021423A1 (ja) * 2011-08-10 2013-02-14 トヨタ自動車株式会社 リプログラミングシステム及びリプログラミング方法
JP2014099099A (ja) * 2012-11-15 2014-05-29 Denso Corp 制御システム
JP2014164596A (ja) * 2013-02-26 2014-09-08 Denso Corp 制御システム
WO2015076012A1 (ja) * 2013-11-20 2015-05-28 トヨタ自動車株式会社 電子制御装置、ソフトウェア書き換えシステム
JP2015102964A (ja) * 2013-11-22 2015-06-04 株式会社デンソー 電子制御装置
JP2020138590A (ja) * 2019-02-27 2020-09-03 株式会社デンソーテン 制御装置、制御装置システム、および、制御装置の制御方法
JP7244299B2 (ja) 2019-02-27 2023-03-22 株式会社デンソーテン 制御装置、制御装置システム、および、制御装置の制御方法
JP2021149605A (ja) * 2020-03-19 2021-09-27 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法
JP7411467B2 (ja) 2020-03-19 2024-01-11 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法

Also Published As

Publication number Publication date
US7831678B2 (en) 2010-11-09
EP1975788A2 (en) 2008-10-01
US20090076630A1 (en) 2009-03-19
JP4367513B2 (ja) 2009-11-18
EP1975788A3 (en) 2009-06-03
EP1975788B1 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
JP4367513B2 (ja) 電子制御装置
US9081699B2 (en) Relay device
CN107852352B (zh) 中继装置、电子控制装置以及车载系统
CN110347412B (zh) 电子控制单元固件升级管理方法、装置、设备和存储介质
JP4974706B2 (ja) 車載通信装置及び車載通信システム
JP2009166549A (ja) 車両用電子制御装置
JPH11259375A (ja) 車両用制御装置及び車両制御システム
JP2007213137A (ja) 電子制御装置
JP2016141160A (ja) 電子制御装置及び電子制御システム
EP1712424B1 (en) Vehicle control apparatus
JP2001123874A (ja) 電子制御装置のプログラム書換システム及びメモリ書換装置
JP6415990B2 (ja) 自動車用電子制御装置
JP2018120438A (ja) 電子制御装置及びプログラム書換システム
JP2011093389A (ja) 制御システム、電子装置、制御装置及び装置起動方法
JP2011039608A (ja) 処理システム、動作状態制御方法及びコンピュータプログラム
JP2007316800A (ja) 車載プログラム書換え制御装置
JP4254577B2 (ja) 制御装置
WO2015076012A1 (ja) 電子制御装置、ソフトウェア書き換えシステム
CN114115714B (zh) 混合存储器模块中的热事件预测
JP2016143908A (ja) 電子制御装置及び電子制御システム
JP6040952B2 (ja) 通信システム、電子制御装置
JP2019073106A (ja) 電子制御装置
JP2010258635A (ja) 制御装置
JP2003196256A (ja) 電子制御装置
JP6887277B2 (ja) 自動車用電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080918

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090710

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090817

R151 Written notification of patent or utility model registration

Ref document number: 4367513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees