(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明に係る車両用制御装置及びプログラム書き換え方法の実施形態を図面に基づいて説明する。
図1は、プログラム書き換えシステムの一態様を示すブロック図である。
図1において、車両用制御装置100は、メイン電子制御ユニット200(メインECU)と、メイン電子制御ユニットによって統括的に制御される複数のサブ電子制御ユニット300A、300B、300Cと、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300C(サブECU−A、サブECU−B、サブECU−C)とが接続されるネットワーク400と、から構成されている。
【0010】
メイン電子制御ユニット200は、CPU201、ROM,RAMなどの記憶媒体202、外部装置と通信を行うためのインターフェイス部203などを備える。
サブ電子制御ユニット300A、300B、300Cは、それぞれCPU301a、301b、301c、及び、ROM,RAMなどの記憶媒体302a、302b、302cを備えて構成される。
【0011】
サブ電子制御ユニット300A、300B、300Cは、例えば、車両500に搭載されるエンジン(内燃機関)における燃料供給、点火などを制御するエンジンコントロールモジュール(ECM)、車両500のオートライトシステム、ドアロックシステムなどの各種電装品を制御するボディコントロールモジュール(BCM)、車両500のブレーキシステムの制動力を電子制御するABSコントロールユニット(ABS−C/U)、AM/FM電子チューナやCD/DVDドライブなどを含むAVコントロールユニット(AV−C/U)などである。
【0012】
なお、サブ電子制御ユニット300A、300B、300Cは、車載状態で車両用制御装置100の外部装置と直接的に通信する機能、装置を備えない。
ネットワーク400は、CAN(Controller Area Network)、LIN(Local Interconnect Network)などの多重通信プロトコルに基づき種々の情報を送受信する。
【0013】
上記構成の車両用制御装置100において、外部装置である書き換えツール600(外部ツール)を用いてサブ電子制御ユニット300A、300B、300Cのプログラムデータを書き換える作業は、外部装置と通信を行うためのインターフェイス部203を備えるメイン電子制御ユニット200をゲートウェイ(Gateway)とし、書き換えツール600と書き換え対象のサブ電子制御ユニット300A、300B、300Cとの間で通信させるゲートウェイ方式で行われる。
【0014】
書き換えツール600は、サブ電子制御ユニット300A、300B、300Cのプログラムデータ書き換え作業用のソフトウェアが組み込まれたパーソナルコンピュータを含んで構成され、書き換え用のプログラムデータ(アプリケーションプログラム等)が格納されているハードディスクなどの記憶媒体601や、メイン電子制御ユニット200との間で通信を行うための通信回路602などを備える。
【0015】
そして、書き換えツール600は、書き換え作業時に、車両用制御装置100に備えられた診断機用のコネクタ800(OBDコネクタ)などにハーネスを介して接続されることで、メイン電子制御ユニット200と相互通信(有線通信)可能とされ、記憶媒体601に格納されているプログラムデータを、メイン電子制御ユニット200を介して書き換え対象のサブ電子制御ユニット300A、300B、300Cに転送する。
なお、書き換えツール600を操作する作業者は、パーソナルコンピュータに備えられたキーボードや液晶画面を用いて書き換えツール600に対し対話的に指示を出すことができるよう構成される。
【0016】
図2は、メイン電子制御ユニット200のゲートウェイ機能を説明する図である。
図2に示すように、メイン電子制御ユニット200の記憶媒体202には、各サブ電子制御ユニット300A、300B、300Cの仮想メモリ領域がそれぞれに設定される。
【0017】
つまり、
図2に示す一態様では、メイン電子制御ユニット200の記憶媒体202であるROMには、キャリブレーション領域202e、プログラム領域202dとともに、サブ電子制御ユニット300A用の仮想メモリ領域202a、サブ電子制御ユニット300B用の仮想メモリ領域202b、202bが設定され、メイン電子制御ユニット200の記憶媒体202であるRAMには、サブ電子制御ユニット300C用の仮想メモリ領域202c、202cが設定される。
【0018】
ここで、書き換えツール600は、キャリブレーション領域202eやプログラム領域202dと同様に各仮想メモリ領域202a、202b、202cにアクセスでき、書き換え対象のサブ電子制御ユニット300A、300B、300Cのプログラムデータ(書き換えデータ)は、対応する仮想メモリ領域202a、202b、202cに一時的に格納される。
【0019】
そして、メイン電子制御ユニット200は、仮想メモリ領域202a、202b、202cに格納されたプログラムデータを、書き換え対象となるサブ電子制御ユニット300A、300B、300Cに向けて転送して、書き換えツール600と書き換え対象のサブ電子制御ユニット300A、300B、300Cとの間でのデータ通信を仲介する。
このようにして、メイン電子制御ユニット200は、書き換えツール600と書き換え対象のサブ電子制御ユニット300A、300B、300Cとの間でのデータ通信を仲介するゲートウェイ手段としての機能を備える。
【0020】
図3は、メイン電子制御ユニット200をゲートウェイとする通信におけるタイムアウトの発生を説明する図である。
図3に示すシステム構成は、書き換えツール600とメイン電子制御ユニット200との間での通信速度が、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信速度よりも速い構成、つまり、書き換えツール600とメイン電子制御ユニット200との間での通信が高速通信で、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信が低/中速通信である。
なお、タイムアウトとは、通信が一定時間以内に開始または完了できない場合、通信処理を自動的に中止することである。
【0021】
図3において、書き換えツール600が、プログラムデータの書き換え単位毎の第1書き換え要求(書き換えデータ)をメイン電子制御ユニット200に出力すると、メイン電子制御ユニット200は第1書き換え要求をハードウェア処理及びソフトウェア処理した後、プログラムデータの書き換え対象であるサブ電子制御ユニット300A、300B、300Cに第1書き換え要求を転送する。
そして、第1書き換え要求を受けたサブ電子制御ユニット300A、300B、300Cは、第1書き換え要求に基づき書き換え処理を行った後、第1返答をメイン電子制御ユニット200に向けて送信し、メイン電子制御ユニット200は第1返答をハードウェア処理及びソフトウェア処理した後、第1返答を書き換えツール600に転送する。
【0022】
第1返答を受けた書き換えツール600は、第2書き換え要求を送信できる条件が整ったと判断し、第2書き換え要求をメイン電子制御ユニット200に出力し、メイン電子制御ユニット200を介して第2返答がサブ電子制御ユニット300A、300B、300Cから返されるのを待つ。
このようにして、書き換えツール600は、書き換え要求を出力し、当該書き換え要求に対応する返答を受けてから次の書き換え要求を出力する処理を繰り返して、サブ電子制御ユニット300A、300B、300Cに書き換え用のプログラムデータを送信する。
【0023】
ここで、書き換えツール600とメイン電子制御ユニット200との間での通信は高速で行われるが、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間では低/中速で行われるために通信に時間を要し、更に、メイン電子制御ユニット200をゲートウェイとして用いるためにメイン電子制御ユニット200において書き換え要求及び返答を処理するのに時間を要する。
このため、書き換えツール600が書き換え要求を出力してから当該書き換え要求に対応する返答を受けるまでの時間が規定時間を超えてタイムアウトになり、書き換えツール600が通信(書き換えデータの送信)を停止してしまう可能性がある。
そこで、メイン電子制御ユニット200は、ゲートウェイとして機能するときにタイムアウトを防ぐ信号を出力する機能(通信維持手段)を備える。
【0024】
図4は、メイン電子制御ユニット200がタイムアウトを防ぐ信号としてのBUSY信号を書き換えツール600に出力する処理を示す。
図4のシステム構成は、
図3と同様に、書き換えツール600とメイン電子制御ユニット200との間での通信が高速通信で、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信が低/中速通信である。
【0025】
そして、メイン電子制御ユニット200は、書き換えツール600から書き換え要求が送信されてから予め定められた一定時間が経過すると、書き換えツール600に向けてBUSY信号を出力する処理を実施し、更に、BUSY信号を書き換えツール600に出力してから返答を書き換えツール600に転送するまでの間は、書き換えツール600からの新規の書き換え要求を吸収する処理を実施する。
なお、上記のBUSY信号は、以前の書き換え要求に基づく処理が完了しておらず、新たな要求を受け付けられないことを表明する信号である。
【0026】
このように、メイン電子制御ユニット200がBUSY信号を書き換えツール600に出力すれば、書き換えツール600は要求に基づく処理が進行中であると認識でき、タイムアウトが防がれる。
つまり、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信速度が書き換えツール600とメイン電子制御ユニット200との間での通信速度よりも遅く、また、メイン電子制御ユニット200による通信の仲介処理に時間を要しても、書き換えツール600がタイムアウトとなることが防がれ、書き換えツール600によるサブ電子制御ユニット300A、300B、300Cのプログラムデータの書き換え処理を継続させることができる。
【0027】
図3及び
図4のシステム構成とは逆に、書き換えツール600とメイン電子制御ユニット200との間での通信が低/中速通信で、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信が高速通信である場合には、サブ電子制御ユニット300A、300B、300Cがタイムアウトになる可能性がある。
【0028】
図5は、メイン電子制御ユニット200が、サブ電子制御ユニット300A、300B、300Cのタイムアウトを防ぐ信号を出力する処理を示す。
つまり、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信が高速通信で、書き換えツール600とメイン電子制御ユニット200との間での通信が低/中通信である場合、書き換えツール600とメイン電子制御ユニット200との間での通信に時間を要し、更に、メイン電子制御ユニット200が書き換え要求及び返答を処理するのに(仲介処理に)時間を要するため、サブ電子制御ユニット300A、300B、300Cが返答を出力してから次の書き換え要求を受けるまでの時間が長引き、サブ電子制御ユニット300A、300B、300Cがタイムアウトによって通信を停止する可能性がある。
【0029】
そこで、メイン電子制御ユニット200は、サブ電子制御ユニット300A、300B、300Cが返答を出力してから、次の書き換え要求をサブ電子制御ユニット300A、300B、300Cに向けて転送するまでの間において、タイムアウトを防ぐ信号としての通信維持信号を一定時間毎に書き換え対象のサブ電子制御ユニット300A、300B、300Cに向けて出力する。
これにより、サブ電子制御ユニット300A、300B、300Cは、返答を出力してから次の書き換え要求を受けるまでの間で通信を維持し、タイムアウトが防がれる。
【0030】
ところで、
図4は、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信が全て低/中速通信である場合を示し、
図5は、メイン電子制御ユニット200とサブ電子制御ユニット300A、300B、300Cとの間での通信が全て高速通信である場合を示すが、サブ電子制御ユニット300A、300B、300C毎にメイン電子制御ユニット200との間での通信速度が異なる場合があり得る。
【0031】
図6は、サブ電子制御ユニット300A、300B、300C毎にメイン電子制御ユニット200との間での通信速度(通信方式)が異なる場合を例示する。
図6において、メイン電子制御ユニット200とサブ電子制御ユニット300Aとの間での通信は高速通信で、メイン電子制御ユニット200とサブ電子制御ユニット300Bとの間での通信は中速通信で、メイン電子制御ユニット200とサブ電子制御ユニット300Cとの間での通信は低速通信である。
【0032】
ここで、メイン電子制御ユニット200は、上位層側(書き換えツール600)及び下位層側(サブ電子制御ユニット300A、300B、300C)の接続機器の通信プロトコルを識別し、上位層側と下位層側との組み合わせに応じたタイムアウト防止動作(タイムアウトを防ぐための信号出力処理)を行う。
例えば、メイン電子制御ユニット200と書き換えツール600との間での通信が高速通信で、書き換え対象の電子制御ユニットが低速で通信されるサブ電子制御ユニット300C或いは中速で通信されるサブ電子制御ユニット300Bである場合、メイン電子制御ユニット200は、
図4に示したように、書き換え要求の受信から一定時間経過したときに、タイムアウトを防ぐ信号としてのBUSY信号を書き換えツール600に出力する。
これにより、書き換えツール600は、書き換え要求の出力から返答の入力までに時間を要しても、タイムアウトになることが防がれる。
【0033】
一方、メイン電子制御ユニット200と書き換えツール600との間での通信が低/中速通信で、プログラムデータの書き換え対象の電子制御ユニットが高速で通信されるサブ電子制御ユニット300Aである場合、メイン電子制御ユニット200は、
図5に示したように、サブ電子制御ユニット300Aから返答を受けてから次の書き換え要求をサブ電子制御ユニット300Aに転送するまでの間において、タイムアウトを防ぐ信号としての通信維持信号をサブ電子制御ユニット300Aに向けて出力する。
これにより、サブ電子制御ユニット300Aは、返答の出力から次の書き換え要求の入力までに時間を要しても、タイムアウトになることが防がれる。
なお、書き換えツール600とメイン電子制御ユニット200との間での通信は有線通信に限定されず、無線通信が行われる構成においても、メイン電子制御ユニット200がタイムアウトを防ぐ信号の出力処理を行うことで、同様の作用効果を得ることができる。
【0034】
図1及び
図6には、無線通信の一態様として、車両用制御装置100に含まれるセキュリティ電子制御ユニット700が書き換えツール600と無線通信を行う構成を示してある。
セキュリティ電子制御ユニット700は、外部との間で無線通信する機能を有するとともに、ネットワーク400を介してサブ電子制御ユニット300A、300B、300Cへの不正データの送信を阻止する機能を有する。
【0035】
そして、サブ電子制御ユニット300A、300B、300Cのプログラム書き換えにおいては、無線通信機能を有した書き換えツール600とセキュリティ電子制御ユニット700との間で無線通信を行わせ、メイン電子制御ユニット200は、セキュリティ電子制御ユニット700を介して書き換えツール600からの信号を受けるとともに、セキュリティ電子制御ユニット700を介して書き換えツール600に信号を出力する。
このように、セキュリティ電子制御ユニット700と書き換えツール600とが無線通信する場合においても、メイン電子制御ユニット200は、上位層側(書き換えツール600)及び下位層側(サブ電子制御ユニット300A、300B、300C)の接続機器の通信プロトコルを識別し、上位層側と下位層側との組み合わせに応じたタイムアウト防止動作(タイムアウトを防ぐための信号出力処理)を行うことができる。
【0036】
図7は、サブ電子制御ユニット300A、300B、300Cにおける書き換え時間を確保する処理を説明する図である。
図7のシステム構成は、書き換えツール600とメイン電子制御ユニット200との間での通信が高速通信で、メイン電子制御ユニット200と書き換え対象のサブ電子制御ユニット300A、300B、300Cとの間での通信が中速通信である。
【0037】
係るシステム構成において、サブ電子制御ユニット300A、300B、300Cは、書き換えツール600からの書き換え要求をメイン電子制御ユニット200経由で受けたときに書き換えツール600への返答の出力処理を実施する。
そして、サブ電子制御ユニット300A、300B、300Cは、書き換え処理を次の書き換え要求の入力までの間で実施し、次の書き換え要求に対応する返答を書き換えツール600に向けて出力するときに、前回の書き換え要求に基づく書き換え処理の結果を示す信号を返答とともに書き換えツール600側に送信する。
【0038】
係る構成によると、サブ電子制御ユニット300A、300B、300Cは、書き換え要求に基づく書き込み処理の終了を待たずに当該書き換え要求に対応する返答を書き換えツール600に向けて出力するから、書き換えツール600において書き換え要求の出力から返答を受けるまでの時間が規定時間を超えてタイムアウトになることが防がれる。
【0039】
また、サブ電子制御ユニット300A、300B、300Cは、書き換え要求に基づく書き換え処理を、当該書き換え要求を受けてから次の書き換え要求が入力されるまでの間で実施するから、書き換え要求の入力から当該書き換え要求に対応する返答を出力するまでの時間よりも長い、書き換え要求の入力周期に略相当する時間を書き換え処理の時間として確保できる。
上記構成では、メイン電子制御ユニット200がタイムアウトを防ぐ信号を出力することなく、書き換えツール600による書き換え処理を継続して行わせることが可能になる。
【0040】
図8は、
図7に示した返答及び書き換え結果の送信処理を実施しても、書き換えツール600がタイムアウトになってしまう場合の対策処理を示す。
図8のシステム構成は、書き換えツール600とメイン電子制御ユニット200との間での通信が高速通信で、メイン電子制御ユニット200と書き換え対象のサブ電子制御ユニット300A、300B、300Cとの間での通信が低速通信である。
【0041】
そして、書き換えツール600は、書き換え処理として、まず、メイン電子制御ユニット200の記憶媒体202(RAM)に、サブ電子制御ユニット300A、300B、300Cの書き換えデータを展開する。
つまり、書き換えツール600は、書き換え要求をメイン電子制御ユニット200に出力し、メイン電子制御ユニット200は書き換え要求を自身の記憶媒体202(RAM)に展開して返答(展開結果)を書き換えツール600に戻す処理を繰り返して、サブ電子制御ユニット300A、300B、300Cの書き換えデータがメイン電子制御ユニット200の記憶媒体202(RAM)に展開されるようにする。
【0042】
全ての書き換えデータがメイン電子制御ユニット200の記憶媒体202(RAM)に展開された後、メイン電子制御ユニット200は、書き換えトリガに基づき、サブ電子制御ユニット300A、300B、300Cとの間での通信を開始し、サブ電子制御ユニット300A、300B、300Cのプログラムデータの書き換えを実行する。
書き換えトリガは、例えば、書き換えツール600からメイン電子制御ユニット200に与える構成とすることができ、また、メイン電子制御ユニット200が電源保持機能(セルフシャットオフ機能)を備える場合は、メイン電子制御ユニット200の電源スイッチの信号(オンからオフへの切り替え)を書き換えトリガの信号として用いることができる。
【0043】
書き換えトリガを受けたメイン電子制御ユニット200は、書き換え対象のサブ電子制御ユニット300A、300B、300Cに対して書き換え要求を出力し、サブ電子制御ユニット300A、300B、300Cからの返答を受けると次の書き換え要求を出力することを繰り返し、書き換え対象のサブ電子制御ユニット300A、300B、300Cのプログラムデータの書き換えを実施する。
また、メイン電子制御ユニット200は、書き換え対象のサブ電子制御ユニット300A、300B、300Cと通信して書き換え処理を行わせているときに、書き換えツール600に向けてBUSY信号を一定時間毎に出力して、書き換えツール600がタイムアウトになることを防ぐ。
【0044】
一方、書き換えツール600は、メイン電子制御ユニット200と書き換え対象のサブ電子制御ユニット300A、300B、300Cとの間で通信して書き換えを行っている間において書き換え完了を待つ待機状態(通信中断状態)となり、書き換え対象のサブ電子制御ユニット300A、300B、300Cが出力する書き換え完了の信号をメイン電子制御ユニット200経由で受けると、書き換え処理を終了する。
【0045】
なお、書き換えツール600は、サブ電子制御ユニット300A、300B、300Cにおけるプログラムデータの書き換え完了を待たずにオフされ(換言すれば、書き換えツール600とメイン電子制御ユニット200との間での通信が停止され)、次回書き換えツール600が起動されたときに書き換え処理の結果をメイン電子制御ユニット200から受信する構成とすることができる。
また、サブ電子制御ユニット300A、300B、300Cにおけるプログラムデータの書き換えに失敗したときに、メイン電子制御ユニット200から書き換え要求を再度出力することが可能である。
【0046】
上記実施形態で説明した各技術的思想は、矛盾が生じない限りにおいて、適宜組み合わせて使用することができる。
また、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
例えば、メイン電子制御ユニット200が外部と無線通信する機能を備える場合、メイン電子制御ユニット200は、書き換えツール600と直接的に無線通信を行って、書き換えツール600とサブ電子制御ユニット300A、300B、300Cとの間でのデータ通信を仲介することができる。
【0047】
また、書き換えツール600と無線通信するセキュリティ電子制御ユニット700が、ネットワーク400を介してサブ電子制御ユニット300A、300B、300Cと直接通信して、書き換えツール600とサブ電子制御ユニット300A、300B、300Cとの間でのデータ通信を仲介することができる。
【0048】
ここで、上述した実施形態から把握し得る技術的思想について、以下に記載する。
車両用制御装置は、その一態様において、
メイン電子制御ユニットと、
前記メイン電子制御ユニットと相互に通信可能なサブ電子制御ユニットと、
を有する車両用制御装置であって、
前記メイン電子制御ユニットは、
外部装置と前記サブ電子制御ユニットとの間でのデータ通信を仲介するゲートウェイ手段と、
前記外部装置との間での通信方式、及び、前記サブ電子制御ユニットとの間での通信方式を識別する通信方式識別手段と、
前記通信方式識別手段が識別した通信方式に基づき前記外部装置と前記サブ電子制御ユニットとのいずれか一方を選択し、選択した側に前記外部装置と前記サブ電子制御ユニットとの間でのデータ通信におけるタイムアウトを防ぐ信号を出力する通信維持手段と、
を備える。
【0049】
また、車両用制御装置は、その一態様において、
メイン電子制御ユニットと、
前記メイン電子制御ユニットと相互に通信可能なサブ電子制御ユニットと、
を有する車両用制御装置であって、
前記メイン電子制御ユニットは、
外部装置と前記サブ電子制御ユニットとの間でのデータ通信を仲介するゲートウェイ手段と、
前記外部装置と前記メイン電子制御ユニットとの間での通信速度が前記メイン電子制御ユニットと前記サブ電子制御ユニットとの間での通信速度よりも速い場合に、前記外部装置からの要求信号を受けた後当該要求信号に基づく返答信号を前記サブ電子制御ユニットから受けるまでの間において、前記外部装置に対してBUSY信号を一定時間毎に出力する前記通信維持手段と、
を備える。
【0050】
また、車両用制御装置は、その一態様において、
メイン電子制御ユニットと、
前記メイン電子制御ユニットと相互に通信可能なサブ電子制御ユニットと、
を有する車両用制御装置であって、
前記メイン電子制御ユニットは、
外部装置と前記サブ電子制御ユニットとの間でのデータ通信を仲介するゲートウェイ手段と、
前記外部装置と前記メイン電子制御ユニットとの間での通信速度が前記メイン電子制御ユニットと前記サブ電子制御ユニットとの間での通信速度よりも遅い場合に、前記サブ電子制御ユニットからの返答信号を受けた後前記外部装置からの要求信号を受けるまでの間において、前記サブ電子制御ユニットに通信維持信号を一定時間毎に出力する前記通信維持手段と、
を備える。