JP6500147B2 - 車載プログラム書込み装置 - Google Patents

車載プログラム書込み装置 Download PDF

Info

Publication number
JP6500147B2
JP6500147B2 JP2018083664A JP2018083664A JP6500147B2 JP 6500147 B2 JP6500147 B2 JP 6500147B2 JP 2018083664 A JP2018083664 A JP 2018083664A JP 2018083664 A JP2018083664 A JP 2018083664A JP 6500147 B2 JP6500147 B2 JP 6500147B2
Authority
JP
Japan
Prior art keywords
vehicle
program
update
control devices
data
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
JP2018083664A
Other languages
English (en)
Other versions
JP2018129093A (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Publication of JP2018129093A publication Critical patent/JP2018129093A/ja
Application granted granted Critical
Publication of JP6500147B2 publication Critical patent/JP6500147B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、車載プログラム書込み装置に関するものである。
車両に搭載された車載制御装置の制御動作を記述した制御プログラムは、マイコン内のフラッシュメモリ等の不揮発性メモリに格納されている。また制御プログラム内で用いられる初期値などのデータも不揮発性メモリに格納されている。これらのプログラムやデータは、車両を市場に出荷した以降については変更しないのが通常ではあるが、バグが検出された場合や、より良いサービスを提供することを理由に、制御プログラムやデータの更新を行っている。
自動車の制御プログラムやデータの更新処理は、車両を販売店へ持込み、そこで書換えが行われるが、近年では車両外部のインフラである携帯電話網などの無線通信で行う方式が考案されている。
特許文献1では、車両外部の情報管理基地局装置は、車両に搭載されている無線通信機を介して停止中の車両に対してアップデートリクエストを送信し、これを受信した車両は、スリープ状態からウェイクアップして、車両に搭載された車載制御装置を起動し、情報管理基地局装置から送信されたアップデートプログラムを車載制御装置へ書込むことを行っている。
また、特許文献2では、外部ツールと車両に搭載された書込み装置を通信ケーブルで接続し、外部ツールから送信された更新プログラムを書込み装置へ蓄積し、その後に通信ケーブルを外した状態で書込み装置から車載制御装置へ更新プログラムを書込むことを行っている。
特許第4361902号公報 特許第4593095号公報
特許文献1の方式では、アップデートプログラムを事前に蓄積しておく手段が無いため、情報管理基地局装置から車載制御装置への更新プログラム転送時間と車載制御装置への書込み時間の合計が更新プログラムの書込みに要する時間になるので、時間がかかるという問題が発生する。すなわち、運転者が急に更新プログラムを書込み中の自動車を運転したいという状況になった場合、書込み完了するまで待たされることになる。
特許文献2の方式では、書込み中は通信が不要となるので、他の車両へ通信ケーブルを接続することで更新プログラムを書込み装置へ蓄積することができる。結果として書込み時間は、外部との通信を介さずに実行できるので短縮できる点と、車両の書込み処理と他の車両への通信ケーブルを介した更新プログラムの蓄積処理を並列に実行できる点で書込み時間の短縮化を実現している。しかし、逆に言えば、並列実行するためには、1つの車両については、蓄積処理を終了した後にすぐに書込み処理をする必要があるということになる。この点で、自動車運転者は車両を使用しない都合も良い時間帯を選択することができない。
そこで本発明は、自動車の所有者や、自動車を利用する運転者にとって、不便さを感じさせずに車載制御装置の制御プログラムやデータを更新することを課題とする。
上記課題を解決するために、例えば請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、車両に搭載された機器の動作を制御プログラムで制御する複数の車載制御装置と、外部センタから送信された前記複数の車載制御装置の1または複数の更新プログラムと、更新データと、前記1または複数の車載制御装置を特定する1または複数の車載制御装置番号を含む管理情報を有する更新プログラムデータを受信しメモリへ蓄積する中継装置を備え、前記複数の車載制御装置のおのおのは前記制御プログラムを実行する通常動作モードと前記制御プログラムを前記更新プログラムへ書き換えるリプロモードを有し、前記複数の車載制御装置と前記中継装置はCANバスによる車載ネットワークで接続された車載プログラム書込み装置において、前記中継装置は、メモリ蓄積完了表示器と書込み開始指令ボタンと書込み完了表示器を有し、イグニッションがオン状態の場合に前記外部センタから送信された前記1または複数の車載制御装置の前記更新プログラムデータを受信完了した場合に前記メモリ蓄積完了表示器を点灯し、前記メモリ蓄積完了表示器が点灯している状態において前記書込み開始指令ボタンをオンにすると、前記1または複数の車載制御装置を特定するCANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させて前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを開始して、書込みを完了した後に前記書込み完了表示器を点灯し、前記メモリ蓄積完了表示器が消灯状態であれば前記書込み開始指令ボタンをオンにしても前記更新プログラムと前記更新データの書込みを実行しないことを特徴とする。
本発明によれば、更新プログラムと更新データを運転者に不便を感じさせること無く車載制御装置へ書込める車載プログラム書込み装置を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
車載プログラム書込み装置の全体構成を示す図。 車載制御装置の構成を示す図。 中継装置の構成を示す図。 中継装置マイコンの割込みテーブル。 車載制御装置マイコンの割込みテーブル。 外部センタの送信データ構成を示す図。 中継装置の蓄積データ構成を示す図。 中継装置のメモリ構成を示す図。 車載制御装置のメモリ構成を示す図。 外部センタの書込み開始指令による書込み処理概要を示す図。 書込みボタンによる書込み処理概要を示す図。 中継装置のメモリ蓄積処理を示す図。 外部センタへの書込み完了通知送信データ構成を示す図。 中継装置の書込み開始指令の蓄積データ構成を示す図。 書込み開始指令受信処理を示すフローチャート。 書込み開始処理を示すフローチャート。 車載制御装置のウェイクアップ受信処理を示すフローチャート。 車載制御装置番号RECECUID[n]で指示された車載制御装置のリプロモード受信処理を示すフローチャート。 車載制御装置番号RECECUID[n]で指示された車載制御装置へ更新プログラムを送信する中継装置の処理を示すフローチャート。 車載制御装置番号RECECUID[n]で指示された車載制御装置の書込み処理を示すフローチャート。 車載制御装置番号RECECUID[n]で指示された車載制御装置からの書込み完了結果を配列RESULTECU[n]へ格納する中継装置の処理を示すフローチャート。 中継装置の書込み完了処理を示すフローチャート。 書込み開始指令ボタンによる書込み開始指令処理を示すフローチャート。 ボタンによる書込み開始処理を示すフローチャート。
運転者に不便を感じさせないためには、自動車を使用しない時間帯に、安全かつ短時間で更新プログラムと更新データを車載制御装置へ書込むことが必要である。本発明では、まず安全と書込み時間短縮を実現するため、外部センタから無線で送信された車載制御装置の更新プログラムデータを、イグニッションがオンの状態の場合に取得し、中継装置へ蓄積する手段を前提とする。これは1つには、無線で更新プログラムデータを受信するので、ビルの蔭や屋内駐車場など、電波が届かない場所に車両が停車していると受信できない場合が考えられるので、イグニッションがオン状態で走行中などに中継装置に更新プログラムデータを受信したほうがより確実かつ安全に受信できるからである。2つには、外部センタから直接車載制御装置へ無線を介して書込むよりも、車両内の中継装置から車載制御装置へ書込むほうが書込み時間を短縮できるからである。
本発明は、運転者が自動車を使用しない時間帯に更新プログラムと更新データを車載制御装置への書込みを実現する手段である。本発明手段を説明する前に、プログラム更新手順を考察する。まず車載制御装置のプログラム更新は、車両所有者の同意無しに実行することはできない。そのため、事前に電話やメールなどでプログラム更新の同意や自動車を使用しない第1の時間帯を確認しておく必要がある。ここで第1の時間帯とは、車両所有者が指定した都合の良い年、月、日における時間帯ならプログラム更新しても良いと合意した時間帯のことである。従って夜中の2時〜3時の時間帯に自宅駐車場でプログラム更新を希望するかも知れない。ただし、外部センタがその時間帯で他の車両へ更新プログラムデータを送信予定である場合には、車両所有者と調整して、他の時間帯へ変更することも有り得る。また、他の車両所有者は、時間帯など指定せずに、都合の良い時に自分でプログラム更新をしたいと希望するかも知れない。このように、時間帯を指定するケースでは、夜中の時間帯が想定されるので、車両には運転者が乗車しておらず、イグニッションはオフ状態で更新プログラムの書込みを実現する必要がある。本ケースを第1のケースとする。一方、時間帯を指定せずに運転者が都合の良い時に自分でプログラム更新するケースを第2のケースと定義する。以下、本発明による第1のケースと第2のケースの実現手段を説明する。
最初に、第1のケースの実現手段を説明する。本手段は、運転者が自動車に乗車していないので、外部センタからの指令に基づき、車両所有者の希望する時間帯(第1の時間帯と呼ぶ)にプログラム更新を実行することを基本とする。
請求項1の手段は、外部センタから第1の時間帯の以前に更新プログラムデータを中継装置へ蓄積した後に、中継装置は、外部センタから第1の時間帯の範囲内に送信された書込み開始指令を受信した場合に車載制御装置をウェイクアップ起動し、リプロモード(プログラム書換えモード)へ遷移させ、車載制御装置からのリプロモード遷移通知とメモリへ蓄積された車載制御装置の更新プログラムデータの有無に基づいて車載制御装置へ更新プログラムと更新データの書き込みを第1の時間帯に実行する手段である。この結果、車両所有者が不便に感じない時間帯で車載制御装置のプログラムとデータの更新を完了することができる。
請求項2の手段は、請求項1において、外部センタから第1の時間帯の範囲内に送信された書込み開始指令を受信しかつイグニッションがオフ状態の場合に車載制御装置をウェイクアップ起動し、リプロモード(プログラム書換えモード)へ遷移させ、車載制御装置からのリプロモード遷移通知とメモリへ蓄積された車載制御装置の更新プログラムデータの有無に基づいて車載制御装置へ更新プログラムと更新データの書き込みを第1の時間帯に実行する手段である。
請求項3の手段は、外部センタから書込み開始指令を受信しなくても中継装置が自動的に書込みを実行する手段を提供している。すなわち本手段は、外部センタから受信した更新プログラムデータ内の書込みを実行する第2の時間帯と車両に搭載された時計から取得した時刻を比較し、時刻が第2の時間帯の範囲内または範囲外か判断することで書込み開始指令処理を実行できる。すなわち、既に更新プログラムデータが中継装置のメモリに蓄積完了していれば、車載ネットワークに接続された車載制御装置へウェイクアップパターンを送信して車載制御装置をウェイクアップ起動し、次に車載制御装置へリプロモードへの遷移コマンドを送信して、車載制御装置がリプロモードへ遷移した通知を受けた後に更新プログラムと更新データの書込み処理を実行する手段である。以上のように、本手段は、現在時刻を車両内の時計から取得し、その時刻が第2の時間帯の範囲内であるかチェックすることで車両所有者との約束を守ることができる。すなわち第1の時間帯と第2の時間帯を同一に設定することで実現できる。
請求項4の手段は、請求項3において、書込み開始指令処理を実行するための条件として、イグニッションがオフ状態であることを追加した請求項である。
請求項5の手段は、請求項1〜4において、車両内にメモリ蓄積完了表示器を設置し、外部センタから送信された更新プログラムデータを中継装置が蓄積完了した場合に点灯する手段である。車両への更新プログラムデータは数日前に送信することを想定した場合、本表示器が点灯することによって運転者は、プログラム更新の準備が整ったことを認識できるので安心感を与えることができる。
請求項6の手段は、請求項1〜5において、車両内に書込み完了表示器を設置し、車載制御装置を全て書込み完了した後に、表示器の点灯と外部センタへ書込み完了通知を行う手段である。これにより、運転者は、例えば翌日の朝に、車両の書込み完了表示器が点灯していれば完了を確認できるので安心できる。また外部センタも完了を知ることができる。
次に、第2のケースの実現手段を説明する。本ケースは運転者が自動車に乗車しているケースである。
請求項7の手段は、運転者が更新プログラムデータを蓄積完了したことを確認できるメモリ蓄積完了表示器と運転者が書込み開始指令を指示するための書込み開始指令ボタンと書込みが終了したことを示す書込み完了表示器を設置し、運転者はメモリ蓄積完了表示器の点灯を確認した後に、運転者の都合良い時間に書込み開始指令ボタンをオンにすることで中継装置は車載制御装置へ書込みを実行し、さらに書込み完了表示器が点灯することで書込み完了を運転者へ知らせる手段である。このように、2つの表示器と1つのボタンがあれば、運転者は安心して確実に書込み作業を実行することができる。
請求項8の手段は、請求項7において運転者の都合良い時間にイグニッションをオン状態に設定し、かつ車両のシフトギヤをパーキング位置に設定した後に、書込み開始指令ボタンをオンにすることで中継装置は車載制御装置へ書込みを実行し、さらに書込み完了表示器が点灯することで書込み完了を運転者へ知らせる手段である。このように、2つの表示器と1つのボタンがあれば、運転者は安心して確実に書込み作業を実行することができる。
請求項9の手段は、たとえ運転者が乗車していても必ずしも運転者が所有者というわけでは無いので、車両所有者と約束した第1の時間帯に書込みを実行するための手段である。本手段は、車両所有者との約束の第1の時間帯に書き込みを実行するには、更新プログラムデータに第2の時間帯のデータ(第2の時間帯は第1の時間帯と同一に設定しておく)を設定して中継装置へ送信し、中継装置は書込み開始指令ボタンがオン状態になった時刻が第2の時間帯の範囲内であるか時計を用いてチェックし、その結果範囲内でありかつメモリ蓄積完了表示器が点灯している場合に車載制御装置へ書込みを実行し、書込み完了後に書込み完了表示器を点灯して運転者へ知らせる手段である。
請求項10の手段は、中継装置は書込み開始指令ボタンがオン状態になった時刻が第2の時間帯の範囲内であるか時計を用いてチェックし、その結果範囲内でありかつメモリ蓄積完了表示器が点灯かつイグニッションがオン状態で車両のシフトギヤ位置がパーキングの場合に車載制御装置へ書込みを実行し、書込み完了後に書込み完了表示器を点灯して運転者へ知らせる手段である。
以上のように本発明によれば、運転者が車両に乗車しているケースでも、乗車していないケースでも約束の時間帯に書込み開始を実行する手段や都合の良い時に書込み開始指令ボタンを押すことにより、更新プログラムを書込むことが可能となる。
以下、図面を用いて本発明の実施例を説明する。
まず、実施例で用いるハードウェア構成、ソフトウェア構成、及びデータ構成を説明する。
図1は、車載プログラム書込み装置の全体構成を示すものである。
外部センタ100は、更新プログラムデータを車両110へ無線で送信し、その書込み完了結果を車両から受信する機能をもつ。無線中継基地101は、外部センタ100と車両110間の無線データを中継する。車両110には、更新プログラムデータの蓄積と車載制御装置へ更新プログラムと更新データを分割送信する機能を有する中継装置120、制御対象(エンジン)135を制御する車載制御装置130、制御対象(トランスミッション)145を制御する車載制御装置140、制御対象(モータ)155を制御する車載制御装置150、車両に搭載されたバッテリ電源172、車両に搭載された電子機器にバッテリ電源を供給するイグニッションスイッチIGN170、時計180、書込み開始指令ボタン182、メモリ蓄積完了表示器184、書込み完了表示器186がある。中継装置120は、外部センタ100とデータ送受信を行う無線送受信機121とマイコン122で構成されている。さらに中継装置120は、車載ネットワーク160と接続し、時計180と信号線181を介して接続し、書き込み開始指令ボタン182と信号線183を介して接続し、メモリ蓄積完了表示器184と信号線185を介して接続し、書込み完了表示器186と信号線187を介して接続されている。ここで書込み開始指令ボタン182とメモリ蓄積完了表示器184と書込み完了表示器186は、説明を分かりやすくするために個別に用意したが、タッチパネル付きの表示器などで操作と表示を1つの装置で代替しても良い。無線送受信機121は、マイコン122と信号線128を介して接続されている。マイコン122は、演算器を含むCPU123、マイコンの動作を制御するプログラムを格納する内部ROM124、更新プログラムデータを格納するための更新データROM125、RAM126、車載ネットワークのプロトコル処理を行う車載LAN通信部127で構成されている。
車載ネットワーク160は、中継装置120と車載制御装置130,140,150を接続する車載ネットワークである。バッテリ電源172は、電源線173を介して中継装置120や車載制御装置130,140,150など全ての車載電子機器へ電源を供給している。またイグニッション170は車載電子機器を起動するための信号であり、信号線171を介して中継装置120と車載制御装置130,140,150へ接続されている。イグニッション170をオン状態にすると、接続された電子機器は起動し、START状態にするとエンジンがスタートする。車載制御装置130は車載ネットワーク160に接続され、制御対象であるエンジン135を、信号線136を介して制御する。マイコン131は車載制御装置130の動作を制御し、車載LAN通信部132は車載ネットワーク160と接続されている。ROM133は、制御対象135を制御するためのプログラムとデータを格納するフラッシュメモリであり、RAM134はSRAMである。
車載制御装置140は車載ネットワーク160に接続され、制御対象であるトランスミッション145を、信号線146を介して制御する。マイコン141は車載制御装置140の動作を制御し、車載LAN通信部142は車載ネットワーク160と接続されている。ROM143は、制御対象145を制御するためのプログラムとデータを格納するフラッシュメモリであり、RAM144はSRAMである。車載制御装置140はトランスミッションのシフトギヤ位置信号147を中継装置121へ出力している。
車載制御装置150は車載ネットワーク160に接続され、制御対象であるモータ155を、信号線156を介して制御する。マイコン151は車載制御装置150の動作を制御し、車載LAN通信部152は車載ネットワーク160と接続されている。ROM153は、制御対象155を制御するためのプログラムとデータを格納するフラッシュメモリであり、RAM154はSRAMである。
次に車載制御装置130の起動に係わる回路について図2を用いて説明する。本実施例では、車載制御装置は130,140,150の3つで構成しているが、起動に係わる回路は同一である。このため、図2でまとめて説明する。車載制御装置130の入力には、バッテリ電源線173とイグニッション信号線171と車載ネットワーク160がある。リレー回路210がオン状態になるとバッテリ電源線173と電源線220が接続され、バッテリ電源がDC−DC回路230へ供給される。DC−DC回路230はバッテリ電圧をマイコンの電圧へ降圧してマイコンの電源端子240へ供給する。これによりマイコン131はパワーオンリセットして起動できる。ここでリレー回路210をオン状態にする信号が3つあるので説明する。
1つ目はイグニッション信号IGN 171であり、2つ目は車載ネットワークのドライバIC CAN BD 200のウェイクアップ検知信号WakeUp 250であり、3つ目はマイコン131の自己保持信号PowerKeep 260である。この3つの信号はOR回路270を介して信号260へ出力され、リレー回路210のオン、オフ動作を制御している。ウェイクアップ検知信号WakeUp 250は車載ネットワーク160を介してウェイクアップ信号を受信するとオン状態となる信号である。ウェイクアップ機能は、自動車で一般的に使用されている機能であり、CANネットワークやFlexRayネットワークでもサポートされている。また信号線290は車載ネットワークのドライバIC CAN BD 200とマイコン131を接続する信号であり、通信データのやり取りを行う信号線である。
次に自己保持信号PowerKeep 260を説明する。マイコン131がこの信号をオン状態にすると、イグニッション信号IGN 171とウェイクアップ検知信号WakeUp 250がオフ状態になっても回路構成からリレー回路210はオン状態を維持できることがわかる。従って、更新プログラムをフラッシュメモリへ書込み際には、本信号をオン状態に設定しておけば、マイコンの電源を維持できるので安全を確保できる。シフトギヤ位置信号147だけが車載制御装置140から中継装置120へ出力されている。他の車載制御装置130,150は出力しない。
次に中継装置120の起動に係わる回路について図3を用いて説明する。中継装置120の入力には、バッテリ電源線173、時計の信号線181、書込み開始指令ボタンの信号線183、メモリ蓄積完了表示器の信号線185、書込み完了表示器の信号線187、イグニッション信号線171、シフトギヤ位置信号147と車載ネットワーク160がある。また無線送受信機121はマイコン122と信号線128を介して接続されている。リレー回路310がオン状態になるとバッテリ電源線173と電源線370が接続され、バッテリ電源がDC−DC回路320へ供給される。DC−DC回路320はバッテリ電圧をマイコンの電圧へ降圧してマイコンの電源端子380へ供給する。これによりマイコン122はパワーオンリセットして起動できる。ここで車載制御装置と同様に、リレー回路310をオン状態にする信号が3つあるので説明する。
1つ目はイグニッション信号171であり、2つ目は車載ネットワークのドライバICCAN BD 300のウェイクアップ検知信号WakeUp 340であり、3つ目はマイコン122の自己保持信号PowerKeep 350である。この3つの信号はOR回路330を介して信号360へ出力され、リレー回路310のオン、オフ動作を制御している。ウェイクアップ検知信号WakeUp 340は車載ネットワーク160を介してウェイクアップ信号を受信するとオン状態となる信号である。ウェイクアップ機能は、自動車で一般的に使用されている機能である。また信号線390は車載ネットワークのドライバIC CAN BD 300とマイコン122を接続する信号であり、通信データのやり取りを行う信号線である。
次に自己保持信号PowerKeep 350を説明する。マイコン122がこの信号をオン状態にすると、イグニッション信号171とウェイクアップ検知信号WakeUp 340がオフ状態になっても回路構成からリレー回路310はオン状態を維持できることがわかる。従って、更新プログラムをフラッシュメモリへ書込み際には、本信号をオン状態に設定しておけば、マイコン122の電源を維持できるので安全を確保できる。
次に中継装置のマイコンの割り込みテーブル構成を図4に示す。
割り込みテーブル400は、マイコンの外部や内部で発生した割り込みを本テーブルに登録したアドレスへ分岐させるテーブルである。中継装置では、無線送受信機から更新プログラムデータを受信した時に処理を行う中継装置のメモリ蓄積処理プログラム(図11参照)のアドレス410、書込み開始指令ボタンが押されたかチェックするための500ms周期割り込みプログラムのアドレス420、1000ms周期で起動する書込み開始指令受信処理プログラム(図14参照)のアドレス430が設定されている。請求項1,2では、図14の書込み開始指令受信処理プログラムは図11の中継装置のメモリ蓄積処理プログラムの中から起動されることに注意が必要である。
車載制御装置130,140,150のマイコンの割り込みテーブル構成を図5に示す。車載制御装置の割り込みテーブルは、全て同一なので、まとめて説明する。
割り込みテーブル500は、マイコンの外部や内部で発生した割り込みを本テーブルに登録したアドレスへ分岐させるテーブルである。前述したように車載制御装置では、イグニッションIGNがオンになった場合や、車載ネットワークからウェイクアップパターンを受信するとマイコンの電源がオンとする。510は電源オンの時に実行するプログラムのアドレスを登録してある。これにより図16の車載制御装置のウェイクアップ受信処理プログラムが起動される。520は、中継装置から更新プログラムと更新データを受信した時に実行するプログラムのアドレスが登録してある。これにより図19のRECECUID[n]の書込み処理プログラムが起動される。
次に、外部センタ100が送信する送信データ構成を図6に示す。
600は更新プログラムデータの送信データ構成であり、620は書込み開始指令コマンドの送信データ構成である。送信データ600の先頭のヘッダは送信開始を指示する情報であり、VINは車両を一意に特定する車両番号である。CMDはコマンドの種類である。CMDが”SNDPROG”であれば受信データが更新プログラムデータを意味し、”WRITE”であれば受信データが書込み開始指令を意味する。ST2は本発明の請求項3,4,9,10の第2の時間帯のスタート時刻であり、ET2は第2の時間帯のエンド時刻を示している。請求項1,2,7,8では不要な情報である。Nは送信された更新プログラムデータの数を示している。SIZE[1]は最初に送信する更新プログラムデータのサイズであり、バイト単位で表現している。SIZE[N]は最後に送信する更新プログラムデータのサイズである。
次にECU[1]は最初に送信する更新プログラムデータ情報であり、ECU[N]は最後に送信する更新プログラムデータ情報である。更新プログラムデータ情報の数もNと同じである。EOFは送信データの最後を示す情報である。
次にECU[N]の内部データ構成610を説明する。ECU[N]は、他のECU[1]などの内部データ構成と同一なのでECU[N]でまとめて説明する。本実施例では、ECU[N]の更新プログラムデータは更新プログラムと更新データと管理情報で構成されている。まずECUIDは車両内の車載制御装置を一意に特定する車載制御装置番号である。VNOは更新プログラムと更新データのバージョン番号、PADRは車載制御装置のROMの書込みアドレスである。更新プログラムと更新データをROMへ書込む時に必要となる先頭アドレスである。PSIZEは更新プログラムと更新データのサイズである。サイズの単位はバイトである。PROGDATAは、更新プログラムと更新データ本体を示している。次に620の書込み開始指令コマンドの送信データ構成を説明する。VINは一意に車両を特定するための車両番号、CMDは書込み開始指令コマンドである。この620は請求項1,2では必要な情報であるが、請求項3,4,7,8,9,10では不要な情報である。
次に中継装置120が外部センタから受信し蓄積したデータ構成を、図7を用いて説明する。図7からわかるように、蓄積データ構成700は、図6のヘッダとEOFを除いた構成と類似している。まずRECVINは受信データVINを保持する変数、RECCMDは受信データCMDを保持する変数であり、更新プログラムデータを受信した場合は”SNDPROG”である。RECST2は受信データST2を保持する変数、RECET2は受信データET2を保持する変数、RECNは受信データNを保持する変数、RECSIZE[1]〜RECSIZE[RECN]は受信データSIZE[1]〜SIZE[N]を保持する配列であり、RECECUID[1]〜RECECUID[RECN]は受信データECUID[1]〜ECUID[N]を保持する配列、RECECUVNO[1]〜RECECUVNO[RECN]は受信データECUVNO[1]〜ECUVNO[N]を保持する配列である。RECECUPADR[1]〜RECECUPADR[RECN]は受信データECUPADR[1]〜ECUPADR [N]を保持する配列であり、RECECUPSIZE[1]〜RECECUPSIZE[RECN]は受信データECUPSIZE[1]〜ECUPSIZE[N]を保持する配列であり、RECECUPROGDATA[1]〜RECECUPROGDATA[REN]は受信データECUPROGDATA[1]〜ECUPROGDATA[N]を保持する配列である。次にメモリ蓄積完了ビットは、メモリ蓄積処理で蓄積完了後にオンにセットされる。書込み完了ビットは、全ての更新プログラムと更新データが車載制御装置へ書込み完了した場合にセットされる。
次にRECVINとRECCMD”WRITE”は、外部センタから書込み開始指令を受信した場合に、それぞれ受信データVINとCMD”WRITE”を保持する変数である。
以上述べた変数と配列は、図1の更新データROM125に格納される。従って、これらのデータはマイコン122の電源がオフになっても消えることは無く保持される。
次に図8の中継装置のメモリ構成について説明する。内部ROM124には無線送受信機121から割り込み410経由で起動される無線送受信機からの受信処理プログラム821内にメモリ蓄積処理プログラムと書込み開始指令受信処理プログラムが格納されている。書込み開始指令受信処理プログラムは、請求項3,4に対応するため、1000ms周期で起動するプログラムでもある。また書込み開始指令ボタンによる書込み開始指令処理プログラム822と無線送受信機への送信処理プログラム823も格納されている。また定数データ領域830には、当該車両を一意に特定できる車両Noや車両に搭載されている車載制御装置を一意に特定できるECUIDとCANID変換テーブルがある。本実施例では車載制御装置の更新プログラムを車載ネットワークCANへ特定の車載制御装置へ送信する場合、特定のCANIDを指定して送信している。すなわち車載制御装置は、特定のCANIDを指定された送信データだけを受信できる。
このように、車載制御装置ごとに異なるCANIDを割り当てることで、中継装置と車載制御装置間で通信が可能となる。このため、車載制御装置を一意に特定するためのECUIDとCANIDの変換テーブルが定数データ領域830に格納されている。同様に中継装置にも専用のCANIDが割り当てられており、車載制御装置が中継装置へ送信データを送信する場合には、中継装置専用のCANIDを指定して送信すれば良い。また、当該車両に搭載されている車載制御装置台数Nmaxやウェイクアップ最大待ち時間、モード変更最大待ち時間も格納されている。ウェイクアップ最大待ち時間とは、イグニッションがオフ状態の場合に中継装置が車載制御装置を起動する際に、どのくらいの時間待てば全ての車載制御装置が立ち上がり、応答を車載ネットワークへ送信できるかを示す最大時間である。従って中継装置は、ウェイクアップパターンを車載ネットワークへ送信した後、ウェイクアップ最大待ち時間経過後に受信バッファを確認すれば必ず全ての車載制御装置からの応答を確認することができる。ウェイクアップは特定の車載制御装置だけを起動するのでなく、全ての車載制御装置を起動する。同様に、モード変更最大待ち時間も、中継装置が車載ネットワークへリプロモードなどのモード変更を送信した場合、どのくらいの時間待てば、指定した車載ネットワークへモード変更を完了したという意味の返信が返ってくるかを示す最大時間できる。モード変更の送信はCANIDを指定するので、特定の車載制御装置だけがモード変更される。次に更新データROM125は、外部センタから受信したデータを格納するためのフラッシュメモリである。図7の蓄積データ700が格納される。RAM126は、内部ROM820のプログラムが使用するワークエリアでありIGN状態や時計データ、シフトギヤ位置などのデータが読込まれ、SRAMで構成されている。イグニッションの状態や時計のデータ、車載制御装置の書込み完了ビットRESULTECU[1]〜RESULTECU[REC]がプログラム実行中に格納される。
図8Aは、車載制御装置のメモリ構成である。本実施例では、全ての車載制御装置のメモリ構成は同一であるため、本図を用いて説明する。ROM133には更新プログラムと更新データを受信するウェイクアップ受信処理プログラム8A04とリプロモードコマンドを受信するリプロモード受信処理プログラム8A05と更新プログラムと更新データを8A03の領域へ書込む書込み処理プログラム8A06がROM133のプログラム領域8A01に格納されている。定数データ領域8A02には、車載制御装置自身を一意に特定するための自ECUIDとECUIDと対を成すCANID変換データと、中継装置へ送信する際に使用する中継装置ECUIDとそのCANID変換データ、ウェイクアップ最大待ち時間、モード変更最大待ち時間が格納されている。RAM134には、イグニッションの状態などプログラム8A04、8A05、8A06が実行中に使用するワークエリアである。ただし、車載制御装置140だけがシフトギヤ位置情報を保持している。
以上の構成を前提にして、本発明の請求項1〜6の処理概要を図9に示し、請求項7〜10の処理概要を図10に示す。
最初に、プログラム更新を発見した時点から更新処理を実施するまでの経緯を考察する。まず車載制御プログラムにバグや改良点が車両メーカで発見されると、更新プログラムと更新データを作成する。次に、車両の所有者に対して、販売店などを経由して不良の内容説明とその改善内容を文書で通知する。その後販売店は、対策を実施するために車両の所有者へ電話などでプログラム更新の承認を確認し、更新プログラムの書込みを実施している時間帯は車両を運転できないことを説明し、それを承知頂いた上で、車両のプログラム更新を行う都合の良い年月日の時間帯を聞いて、外部センタへその時間帯を連絡する。このように、車両の所有者に不便を感じさせないようにするには、車両の所有者に都合の良い日の時間帯にプログラム更新をすることが重要である。
外部センタは、通知された時間帯に更新プログラムデータを所有者の車両へ書込むために、前記通知された時間帯以前に、前記所有者の車両の中継装置へ更新プログラムデータを送信し、蓄積しておく必要がある。以上の経緯が請求項1〜6に関するものであり、図9の処理フローで実現する。
一方、更新プログラムデータが車載中継装置に蓄積されていれば、外部センタからの書込み開始指令を待つこと無く、運転者の都合の良いタイミングでプログラム更新を行いたいケースも考えられる。このケースが請求項7〜10に対応するもので図10の処理フローで実現する。ただし、運転者が車両の所有者とは限らないので、所有者が時間帯を指定している場合は、時間帯の範囲外では書込みを抑止する必要がある。この抑止処理を実現する発明が請求項9,10のケースである。以下、詳細は省いた概要を図9と図10で説明する。
図9は外部センタの書込み開始指令による書込み処理概要である。ただし書込み開始指令を事前に更新プログラムデータ内に入れて送信するケースも含んでいる。
外部センタと中継装置と車載制御装置の処理概要をそれぞれの時間軸901,902,903に沿って説明する。
まず外部センタは、車両所有者と約束した予め決められた時間帯より前の時刻に更新プログラムデータ904を中継装置へ送信する。中継装置は、イグニッションがオン状態であれば受信を行う。最初に中継装置の電源を確保するためにPowerKeep信号をオン905し、更新データROMへ更新プログラムデータを蓄積する。次にメモリ蓄積完了ビットをオン906し、メモリ蓄積完了表示器を点灯907する。次に外部装置へメモリ蓄積完了通知908を行い、PowerKeep信号をオフ909する。以上の処理が完了した後に、請求項1,2の場合は予め決められた時間帯において、外部装置は書込み開始指令910を中継装置へ送信する。請求項3,4の場合は書込み開始指令を受信せずに、現在時刻が既に受信した第2の時間帯であることを車載時計から自立的に判断する。中継装置は、PowerKeep信号をオン911し、車載制御装置へウェイクアップパターンを送信912する。車載制御装置はウェイクアップパターンを受信すると電源がオンするのでプログラムを実行し、PowerKeep信号をオン914する。車載制御装置からウェイクアップ応答913を受信した後に、プログラム更新要求があった車載制御装置へリプロモード遷移要求915を送信し、車載制御装置からリプロモード応答916が返ってきたことを確認して、更新プログラムと更新データを分割して書き込み処理917〜918を繰り返し送信する。当該車載制御装置の更新プログラムと更新データを全て送信した後に書込み終了を送信919する。車載制御装置は書込み終了を受信すると、中継装置へ書込み完了応答920を送信した後にPowerKeep信号をオフ921する。中継装置は、車載制御装置から書込み完了応答920が返ってきたら、当該車載制御装置の更新プログラムと更新データ処理は完了したので、車載制御装置の書込み完了ビットをオン922し、次に他の車載制御装置の更新プログラムデータがあれば、全ての更新プログラムと更新データを車載制御装置へ送信する処理923を繰り返す。その後、書込みが全ての車載制御装置で成功(OK)であれば書込み完了ビットをオン924し、書き込み完了表示器を点灯925し、メモリ蓄積完了ビットをオフ926し、メモリ蓄積完了表示器を消灯927して、書込み完了通知928を外部センタへ通知した後、PowerKeep信号をオフ929して終了する。本処理概要は、概要であり、車載制御装置に故障があった場合には書込み失敗するので書込み失敗を外部センタへ通知する必要があるが、以降の詳細処理フローにおいて説明する。
次に、本発明の請求項7〜10の処理概要を図10の書込みボタンによる書込み処理概要を用いて説明する。
図10は、外部センタと中継装置と車載制御装置の処理概要である。外部センタ、中継装置、車載制御装置それぞれの時間軸1001、1002、1003に沿って説明する。
まず外部センタは、車両所有者と約束した時間帯が予め決められていれば、その時間帯より前の時刻に更新プログラムデータ1004を中継装置へ送信する。ただし請求項7,8では、必ずしも車両所有者と予め第2の時間帯を決めておく必要は無い。請求項9,10では、決めておく必要がある。中継装置は、イグニッションがオン状態であれば受信を行う。最初に中継装置の電源を確保するためにPowerKeep信号をオン1005し、更新データROMへ更新プログラムデータを蓄積する。次にメモリ蓄積完了ビットをオン1006し、メモリ蓄積完了表示器を点灯1007して運転者へ通知する。次に外部装置へメモリ蓄積完了通知1008を行い、PowerKeep信号をオフ1009を行う。以上の処理は、図9と同一であるが、以降の処理が異なる。まず運転者は、メモリ蓄積完了表示器が点灯していることを確認して、イグニッションをオンし(請求項8,10)、さらにシフトギヤをパーキング位置に設定(請求項8,10)してから、中継装置に接続されている書込み開始指令ボタンをオンすることで書込み開始指令を実行する。もし、メモリ蓄積完了表示器が消灯またはイグニッションがオフの状態(請求項8,10)またはシフトギヤがパーキング以外の位置(請求項8,10)であれば、書込み開始指令ボタンを押しても、書込みは実行されない。ここでは、条件が成立した場合の処理フローを説明する。まず、中継装置はボタンが押されたことを確認した後、自身の電源を確保するために、PowerKeep信号をオン1011する。次にプログラム更新要求があった車載制御装置へリプロモード遷移要求1012を送信する。車載制御装置は、リプロモードへ遷移した後に、中継装置へリプロモード応答1013を送信して、PowerKeep信号をオン1014する。中継装置は、車載制御装置からリプロモード応答1013が返ってきたことを確認して、更新プログラムと更新データを分割して書き込み処理1015〜1016を繰り返し送信する。当該車載制御装置の更新プログラムと更新データを全て送信した後に書込み終了通知を送信1017する。車載制御装置は、書込み終了通知1017を受信すると、リプロモードから通常動作モードへ変更した後に中継装置へ書込み完了応答1018を送信してPowerKeep信号をオフ1019する。中継装置は、車載制御装置から書込み完了応答1018が返ってきたら、当該車載制御装置の更新プログラムと更新データ処理は完了したので、車載制御装置の書込み完了ビットをオン1020し、次に他の車載制御装置の更新プログラムデータがあれば、全ての更新プログラムと更新データを車載制御装置へ送信する処理1021を繰り返す。その後、書込みが全ての車載制御装置で成功(OK)であれば書込み完了ビットをオン1022し、書き込み完了表示器を点灯1023し、メモリ蓄積完了ビットをオフ1024し、メモリ蓄積完了表示器を消灯1025して、書込み完了通知1026を外部センタへ通知した後、PowerKeep信号をオフ1027して終了する。本処理は、概要であり、車載制御装置に故障があった場合には書込み失敗するので書込み失敗を外部センタへ通知する必要があるが、以降の詳細処理フローにおいて説明する。
次に、図9と図10の共通の処理であるメモリ蓄積処理の詳細を図11の中継装置のメモリ蓄積処理を用いて説明する。まず無線送受信機からの受信割り込み1100がマイコンへ入力すると、本プログラムが起動する。最初に中継装置のPowerKeep信号をオン1101し、次に受信データを更新データROMへ格納する処理1102を実行する。処理内容は図6のデータ600を図7の蓄積データ700へ変換して更新データROMヘ蓄積することである。詳細は、下記である。
受信データ自車両NoのVINを更新データROMの変数RECVINへ書込み、
受信データコマンドのCMDを更新データROMの変数RECCMDへ書込み、
受信データ第2の時間帯の開始時刻ST2を更新データROMの変数RECST2へ書込み、
受信データ第2の時間帯の終了時刻ET2を更新データROMの変数RECET2へ書込み、
受信データ更新プログラムデータの数Nを更新データROMの変数RECNへ書込み、
受信データ各受信データサイズSIZE[1]〜SIZE[RECN]を更新データROMの配列RECSIZE[1]〜RECSIZE[RECN]へ書込み、
受信データ車載制御装置番号ECUID[1]〜ECUID[RECN]を更新データROMの配列RECECUID[1]〜RECECUID[RECN]へ書込み、
受信データの更新プログラムと更新データのバージョンVNO[1]〜VNO[RECN]を更新データROMの配列RECECUVNO[1]〜RECECUVNO[RECN]へ書込み、
受信データの更新プログラムと更新データの書込み先頭アドレスPADR[1]〜PADR[RECN]を更新データROMの配列RECECUPADR[1]〜RECECUPADR[RECN]へ書込み、
受信データの更新プログラムと更新データサイズPSIZE[1]〜PSIZE[RECN]を更新データROMの配列RECECUPSIZE[1]〜RECECUPSIZE[RECN]へ書込み、
受信データの更新プログラムと更新データ本体PROGDATA[1]〜PROGDATA[RECN]を更新データROMの配列RECECUPROGDATA[1]〜RECECUPROGDATA[RECN]へ書込む。
ここで、注意すべきことは、更新すべき車載制御装置番号はRECECUID[n]、n=1〜RECNに格納されること、車載制御装置のROMへ更新プログラムと更新データを書き込む先頭アドレスはRECECUPADR[n]、n=1〜RECNに格納されることである。また請求項1,2,7,8の実施例としてはRECST2とRECET2は不要であり、請求項3,4,9,10の実施例で必要となる情報である。
次に1103で受信したデータが自車両への送信データであるか判定するため、RECVINと内部ROM124の定数データ領域に格納されている車両Noが一致するかチェックする。もし一致しなければ、1109のPowerKeep信号をオフして終了である。一致すれば当該車両への受信データなので、1104のRECCMDが”SNDPROG”かチェックする。もし一致しなければ他のコマンドであるため、1400の書込み開始指令処理を実行する。一致すれば受信データが更新プログラムデータであるため、1105の車両のイグニッションがオン状態であるかチェックする。もし一致しなければ次の外部センタからの送信まで待つため1109のPowerKeep信号をオフして終了する。一致すれば1106のメモリ蓄積完了ビットをオンし、1107のメモリ蓄積完了表示器を点灯し、1108の外部センタへメモリ蓄積完了通知を行い、1109のPowerKeep信号をオフして終了する。ここで外部センタへのメモリ蓄積完了通知は、通知データを無線送受信機への送信処理プログラム823へ渡して実行される。ここで1400の書込み開始指令受信処理は、請求項1,2の場合では外部センタから書込み開始指令コマンド”WRITE”を受信した場合に実行されるが、請求項3,4,7,8,9,10では受信しないので実行されることは無い。請求項3,4では図14に示すように、書込み開始指令受信処理は1000ms周期起動で周期的に実行される。
以上で請求項すべてに係わるメモリ蓄積完了処理の詳細を説明した。
次に、予め決められた時間帯に外部センタから送信される書込み開始指令コマンドの送信データ構成を、図6の620を用いて説明する。620の先頭のヘッダは送信開始を指示する情報であり、VINは車両を一意に特定する車両番号である。CMDは書込み開始指令コマンドである。EOFは送信終了を指示する情報である。ここでCMDが”SNDPROG”であれば受信データは更新プログラムデータを意味し、”WRITE”であれば受信データは書込み開始指令を意味する。ここでは書込み開始指令であるため、”WRITE”コマンドとなる。このように、”SNDPROG”コマンドと”WRITE”コマンドではCMD以降のデータが大きく異なる。また本”WRITE”コマンドを受信するのは、請求項1,2の場合である。
次に図12を用いて中継装置が書込み完了後に外部センタへ送信する書込み完了通知の送信データ構成を説明する。1200のCENTERIDは外部センタを一意に特定するための外部センタの番号、CMDは書込み完了または未完了を意味するコマンドである。”COMPLETE”であれば書込み完了であり、”INCOMPLETE”であれば書込み未完了の通知となる。VINは車両を一意に特定するための車両番号である。
図13は中継装置の書込み開始指令の蓄積データ構成1300である。図7の最後に同一の構成が記載されている。ヘッダとEOFを除いてRECVINとRECCMDが更新データROMに保持される。ただし、請求項3,4,7,8,9,10の場合は、図13に示すデータ構成は不要である。請求項3,4,9,10では既に第2の時間帯は受信済みだからであり、請求項7,8の場合は、運転者は自由に書込み開始をボタンにより実行できるためのである。
次に外部センタから書込み開始指令を受信したケースと1000ms周期で書込み開始を判断するケースの書込み処理の詳細を図14〜図21を用いて説明する。本ケースは請求項1〜4の実施例である。書込み開始指令は図11の1400の書込み開始指令受信処理からの分岐または1000ms周期起動により開始される。
図14に書込み開始指令受信処理の詳細を説明する。まず1400は外部センタから書込み開始指令を受信したか、または1000ms周期で起動された場合に実行される。1401で中継装置の電源を確定するためPowerKeep信号をオンに設定する。次に1402は請求項1,2の実施例の場合に実行される。請求項3,4の場合は無視され1403を実行する。1402において不一致ならば1407のPowerKeep信号をオフにして終了する。もし一致すれば書き込み開始指令コマンドであるため、1403を実行する。1403においてメモリ蓄積完了ビットがオンかチェックする。もしオンでなければ1407のPowerKeep信号をオフして終了する。もしオンならば、各請求項の実施例ごとに動作が異なるので以下説明する。
請求項1の実施例では1403がYESであれば1404,1405,1406を省略して1500の書込み開始処理と1407のPowerKeep信号をオフにして終了する。
請求項2の実施例では1403がYESであれば1404のイグニッションがオフかチェックし、もしNOならば1407のPowerKeep信号をオフして終了する。YESならば1405と1406を省略し、1500を実行する。
請求項3の実施例では1404を省略して1405と1406を実行する。1406がYESなら11500を実行する。
請求項4では1404を実行し、YESなら1405と1406を実行する。1405において時計の現在時刻を変数Tへセットし、1406の判定RECST2<T<RECET2を実行する。もしNOであれば、予め決められた時間帯では無いので、1407のPowerKeep信号をオフにして終了する。もしYESであれば、予め決められた時間帯の範囲内であるから1500の書込み開始処理を実行する。1500では書込み開始処理を実行し、次に1407のPowerKeep信号をオフにして終了する。このように、請求項2,3、4の実施例では、メモリ蓄積完了ビットがオンであることを確認した後、イグニッションの状態や第2の時間帯を参照すべきか異なるので注意が必要である。各実施例において全ての条件が成立すると、書き込み開始処理1500を実行する。
次に1500の書込み開始処理の詳細を、図15を用いて説明する。
最初に全ての車載制御装置を起動するため、1501の車載ネットワークのCANバスへウェイクアップパターンを送信する。次に1502の変数WKMAXTIMEへウェイクアップ最大待ち時間をセットし、1503の判定文 WKMAXTIME>経過時間 の判定を行う。この判定文は、ウェイクアップパターンを受信した車載制御装置の電源がオンとなって立ち上がったことを示すウェイクアップ受信を待つための時間の確保である。もし1503でYESであれば最大待ち時間以内であり、まだ立ち上がらずにいる車載制御装置が存在するかもしれないことを意味する。従って、NOになるまで待ってから1504の処理を実行する。すなわち全ての車載制御装置が立ち上がっている状態で1504を実行している。図15の処理の途中ではあるが、ウェイクアップパターンを受信した車載制御装置の動作を図16の車載制御装置のウェイクアップ受信処理を用いて説明する。まずウェイクアップパターンを受信すると、前述したように、1600の全ての車載制御装置の電源がオンとなる。次に1601のPowerKeep信号をオンし、1602のCANバスからウェイクアップ受信確認をWakeUp信号によって確認する。すなわちWakeUp信号がオンであれば自身の立上げ要因がウェイクアップであることがわかる。次に1603により中継装置専用のCANIDを送信バッファのCANIDフィールドへ設定し、”WAKEUP_RESPONSE”を送信バッファのCMDフィールドへ設定し、自分自身の車載制御装置ECUIDを送信バッファのDATAフィールドへ設定する。次に1604で送信バッファの内容をCANバスへ送信し、終了する。このように、車載制御装置は、自身の立上げ完了を中継装置へCANバスを介して通知している。次に図15の1504へ戻って説明を行う。すなわち全ての車載制御装置が立ち上がった後に更新すべき車載制御装置をリプロモードにしなければならない。このため、まず更新すべきRECECUID[n](n=1)の車載制御装置をリプロモードにする処理を行う。最初に1504で変数nへ1をセットし、1505で送信バッファのCANIDフィールドへRECECUID[n]専用CANIDの設定と、送信バファのCMDフィールドへリプロモードコマンドを意味する”REPRO_MODE”の設定と、送信バッファのDATAフィールドへ中継装置専用のECUIDを設定し、送信バッファをCANバスへ送信する。次に1506では変数REPROMAXTIMEへモード変更最大待ち時間を設定し、次の1507では車載制御装置番号RECECUID[n]からの応答を待つため、経過時間が最大時間を越えるまで待つ。超えた場合はNOとなるので、1508において車載制御装置RECECU[n]からの受信データを調べる処理を行う。ここでも図15の処理の説明の途中ではあるが、リプロモードを受信した車載制御装置番号RECECUID[n]の車載制御装置の動作を図17のRECECUID[n]のリプロモード受信処理を説明する。まず1701でPowerKeep信号をオンする。既にウェイクアップ時にオンしているので何の効果も無いが、何度オンにしても影響は無い。次に1702では受信バッファのCANIDフィールドのデータを変数CANIDへ設定し、受信バッファのCMDフィールドのデータを変数CMANDへ設定する。次に1703において変数CMANDが”REPRO_MODE”か判定し、NOならば終了し、YESならば1704において受信バッファのDATAフィールドのデータを変数DATAへ設定する。次に、1705において車載制御装置をリプロモードへ設定し、リプロモードに設定したことを中継装置へ通知するために1706において送信バッファのCANIDフィールドへ中継装置専用CANIDを設定し、送信バッファのCMDフィールドへリプロモード設定完了を意味する”REPRO_RESPONSE”を設定し、送信バッファのDATAフィールドへ車載制御装置自身のECUIDを設定する。次に1707で送信バッファをCANバスへ送信することで中継装置へリプロモード設定完了を通知している。以上で図17の車載制御装置の説明を終了し、再び中継装置の図15の1508へ戻る。1508では、受信バッファのCANIDフィールドのデータを変数CANIDへ設定し、受信バッファのCMDフィールドのデータを変数CMDへ設定し、受信バッファのDATAフィールドのデータを変数DATAへ設定している。次に1509において変数CMDが”REPRO_RESPONSE”であるかチェックする。ここでYESであれば1800においてRECECUID[n]の車載制御装置へ更新プログラム送信処理を実行する。もしNOであればRECECUID[n]の車載制御装置が異常であるため、1510において車載制御装置の書込み完了ビット配列RESULTECU[n]へ”NG”を設定している。次に1511において変数nがRECNと一致するかチェックし、NOであれば1512においてnをインクリメントして再度1505の実行を繰り返す。
すなわち1511は、受信した全ての更新プログラムと更新データを該当する車載制御装置へ送信完了したかチェックしている。YESであれば2100の書込み完了処理を実行して終了する。
次に1800のRECECUID[n]へ更新プログラム送信処理の詳細を、図18を用いて説明する。また2100の書込み完了処理は、その後に説明する。
図18では、中継装置がRECECUID[n]の車載制御装置へ更新プログラムと更新データを4バイト単位で送信し、送信完了後に書込み完了結果を車載制御装置から受信してその結果を記憶する処理を行っている。
まず1801では変数CMMANDへコマンド”WRITE”を設定し、次の1802では変数ECUIDへRECECUID[n]を設定し、変数SNDPADRへERCECUPADR[n]を設定し、変数PSIZEへRECECUPSIZE[n]を設定し、変数PROGDATAADRへRECECUPROGDATA[n]の先頭アドレスを設定し、変数SNDPDATAへPROGDATAADRから4バイトデータを設定し、変数SNDSIZEへ0を設定している。次に1803では変数CANIDへ送信先の車載制御装置ECUID専用CANIDを設定し、1804では送信バッファのCANIDフィールドへ変数CANID、送信バッファのCMDフィールドへ変数CMMAND、送信バッファのPADRフィールドへ変数SNDPADR、送信バッファのDATAフィールドへ変数SNDPDATAを設定している。次の1805では送信バッファの内容をCANバスへ送信している。以上の処理で更新プログラムと更新データの最初の書込みアドレスと更新プログラムと更新データの最初の4バイトデータを車載制御措置へ送信できた。次に1806では、更新プログラムと更新データの次の4バイトデータを送信するための準備を行っている。すなわち変数PROGDATAADRを4インクリメントし、変数SNDPDATAへ変数PROGDATAADRで示すアドレスから4バイトデータをセットし、変数SNDPADRを4インクリメントし、変数SNDSIZEも4インクリメントしている。これにより、更新プログラムと更新データの次の4バイトデータと、書込みアドレスをそれぞれ設定できたことになる。次の1807では、更新プログラムと更新データを当該車載制御装置へ全て送信したかチェックするため、変数SNDSIZEと変数PSIZEが一致したかチェックしている。NOであれば1804へ戻り送信処理を繰り返す。YESであれば1808を実行し、変数CMMANDへ送信完了を意味する”END”を設定し、送信バッファのCANIDフィールドへECUID専用のCANIDを設定し、送信バッファのCMDフィールドへ変数CMMANDを設定し、送信バッファの内容をCANバスへ送信する。以上でRECECUID[n]の車載制御装置へ更新プログラムと更新データを全て送信したことになるので、2000のRECECUID[n]の書込み完了処理を実行して終了する。図18の処理は、図15の1800から実行されているので、図15の1511からわかるように、全ての更新プログラムと更新データを送信していることがわかる。
以上中継装置から車載制御装置へ更新プログラムと更新データを送信する処理を説明したが、次に図19を用いて、更新プログラムと更新データを受信する車載制御装置の書込み処理を説明する。またその後で2000のRECECUID[n]の書込み完了処理と2100の書込み完了処理を説明する。
図19の車載制御装置RECECUID[n]の書込み処理は、受信割り込みで起動される。
本プログラムは、図8Aの車載制御装置の制御プログラム、データ格納エリア8A03領域へ更新プログラムと更新データを書込む処理を行うが、本領域はフラッシュメモリであるため、本来ならば最初に本領域に既に書込まれているプログラムとデータを消去してから書込む必要がある。しかし本実施例では消去処理は発明の本質とは無関係であることと簡単化のために省略して説明する。1901では受信バッファのCANIDフィールドのデータを変数CANIDへ設定し、受信バッファのCMDフィールドのデータを変数CMANDへ設定している。次に、1902では変数CANIDと自車載制御装置のCANIDの一致チェックを行い、NOならば他の車載制御装置への送信データと判断し終了する。YESなら1903において変数CMANDが”WRITE”であるかチェックし、YESなら書込みコマンドと判定し、1904において変数SNDPADRへ受信バッファのPADRフィールドのデータSNDPADRをセットし、変数SNDPDATAへ受信バッファのDATAフィールドのデータSNDPDATAをセットする。次の1905〜1907は、図8Aの8A03の制御プログラム、データを書き換える処理である。まず1905において書込みアドレス設定レジスタMADRへ変数SNDPADRを設定し、1906にて書込みデータ設定レジスタMDATAへ変数SNDPDATAを設定し、1907においてコマンドレジスタMCOMへ書込みコマンドWRITEを設定している。書込みの実行はMCOMレジスタへWRITEコマンドが設定された時点で開始されるので、更新プログラムと更新データの4バイトを保持する変数SNDPDATAが8A03の領域のアドレスSNDPADRへ書込まれたことになる。次に1908において書込みが成功したかチェックするため状態レジスタROMStatusにエラーERRORを検出したかを判定している。YESであれば4バイトの書込みは失敗したことを意味するので、1909で変数ERRStatusへ”NG”をセットして終了する。もしNOならば4バイトの書込みは成功したので終了する。以上述べた処理は4バイトの書込み処理であるが、本処理は図18の1805において送信されたデータに基づいて行われた処理である。図18では1807で更新プログラムと更新データの全てを送信する処理を繰り返すので、本処理も同様に受信する度に繰返すことになる。一方、1903においてNOである場合は、更新プログラムと更新データ全てを書込み完了した後に中継装置から送信されるコマンド”END”であるかチェックし、当該制御装置の書込み完了を中継装置へ通知する処理である。まず1910において変数CMANDが”END”であるかチェックし、NOならば終了とする。YESならば1911にて変数CANIDへ中継装置専用CANIDをセットし、1912にて変数CMMANDへ”END”の応答を意味する”RESPONSE”をセットし、1913では変数SNDPDATAへ変数ERRStatusをセットし、1914において送信バッファのCANIDフィールドへ変数CANIDをセットし、送信バッファのCMDフィールドへ変数CMMANDをセットし、送信バッファのDATAフィールドへ変数SNDPDATAをセットし、次の1915において送信バッファの内容をCANバスへ送信している。以上で、4バイトの書込み処理とその結果を中継装置へ通知を終了したので、次の1916では車載制御装置の動作モードをリプロモードから通常動作モードへ変更し、1917でPowerKeep信号をオフして終了している。
次に図18の2000のRECECUID[n]の書込み完了処理について詳細に説明する。
図20がRECECUID[n]の書込み完了処理フローである。2010では”CANバスから受信有り?”をチェックしている。これは車載制御装置RECECUID[n]から”RESPONSE”応答の受信をチェックしている処理である。YESであれば2020において変数RESCANIDへ受信バッファのCANIDフィールドのデータCANIDを設定し、変数RESCMDへ受信バッファのCMDフィールドのデータCMMANDを設定し、変数RESULTへ受信バッファのDATAフィールドのデータSNDPDATAを設定する。次に2030では変数CANIDが中継装置専用CANIDと一致するかチェックし、NOであれば中継装置の受信データでは無いので終了する。もしYESであれば、次の2040において変数RESCMDがコマンド”RESPONSE”と一致するかチェックし、NOならば終了する。もしYESならば変数RESULTには書込み完了結果が格納されているので、次の2050でRECECUIDの書込み完了ビット配列RESULTECU[n]へ変数RESULTを格納して終了する。以上で、RECECUID[n]の更新プログラムと更新データ書込み完了結果がRESULTECU[n]に格納された。
処理全体構成を振り返って見れば分かるように、書込み開始は図14の処理から開始され、書込み開始条件が成立すると、図15の処理が実行され、ここで全ての更新プログラムと更新データをその車載制御装置へ書込む処理を呼び出す処理を繰返している。この繰返しの中に図18のRECECUID[n]へ更新プログラム送信処理が存在し、さらに図18の処理の中で図20のRECECUID[n]の書込み完了処理が実行されている。従って、図20のRECECUID[n]の書込み完了処理は、更新プログラムと更新データに対応する車載制御装置の全てに対して実行されたことになる。
次に図15において、全ての更新プログラムと更新データを対応する車載制御装置へ書込み完了した後に、実行される2100の書込み完了処理を図21を用いて説明する。
2101では変数nへ1をセットし、2102でRECECUID[n]の車載制御装置の書込み完了ビットRESULTECU[n]が”OK”かチェックしている。NOであれば書込み異常が発生したことを意味するので2112において図7に記載の書込み完了ビットをオフに設定し、2113で書込み完了表示器を消灯し、2114で外部センタへ書込み失敗を意味する書込み未完了通知を行い、最後に2115で中継装置のPowerKeep信号をオフにして終了する。一方、2102においてYESであれば変数nがRECNと一致したかチェックし、NOならば変数nをインクリメントして2102を繰り返し実行する。YESであれば、全ての書込み処理の結果が”OK”であることを意味するので、2105において書込み完了ビットをオンに設定し、2106において書込み完了表示器を点灯し、2107において外部センタへ正常に書込み完了が終了したことを意味する書込み完了通知を行い、2108において、全ての処理が終了したのでメモリ蓄積完了ビットをオフに設定し、2109においてメモリ蓄積完了表示器を消灯し、2110で中継装置のPowerKeep信号をオフにして終了する。
次に車両に搭載された書込み開始指令ボタンにより書込み開始を実現するケースの実施例を詳細に説明する。本ケースは、請求項7〜10に関するものである。
本実施例は、図10の書込みボタンによる書込み処理概要の詳細な処理動作を説明する。ただし、既に図11の中継装置のメモリ蓄積完了処理は、詳細に説明したので、図10の1010以降の処理について説明する。
図22は、書込み開始指令ボタンによる書込み開始指令処理の詳細フローである。本処理プログラム2200は500ms毎に起動するプログラムである。本プログラムが起動すると、2201において書込み開始指令ボタンがオンであるかチェックし、NOであれば終了する。もしYESならば2202のメモリ蓄積完了ビットがオンかチェックし、NOであれば終了する。もしYESならば請求項7〜10の実施例により異なるので、下記に動作を説明する。
請求項7の実施例では、2203,2204,2205,2206を省略して2300を実行する。すなわちボタンによる書込み開始処理を実行して終了する。
請求項8の実施例では、2203においてイグニッションがオンかチェックし、NOならば終了し、YESならば2204のシフトギヤ位置がパーキングかチェックしてNOならば終了する。YESならば2205と2206を省略して2300のボタンによる書込み開始処理を実行して終了する。
請求項9の実施例では、2203,2204を省略して2205と2206を実行する。2205で車載時計から現在時刻を取得して変数Tへセットし、2206で変数Tが第2の時間帯の開始時刻RECST2と終了時刻RECET2の範囲内にあるかチェックしてNOならば終了する。YESならば2300のボタンによる書込み開始処理を実行して終了する。
請求項10の実施例では、2203でイグニッションがオンかチェクし、NOならば終了し、YESならば2204においてシフトギヤ位置がパーキングかチェックし、NOならば終了する。YESならば2205において変数Tへ車載時計から現在時刻をセットし、2206において変数Tが第2の時間帯の開始時刻RECST2と終了時刻RECET2の範囲内にあるかチェックし、NOならば終了する。YESならば2300のボタンによる書込み開始処理を実行して終了する。
以上で請求項7〜10の実施例の動作を説明した。
次に図23のボタンによる書込み開始処理を詳細に説明する。
2301において変数nへ1をセットし、2302において送信バッファのCANIDフィールドへRECECUID[n]専用のCANIDをセットし、送信バッファのCMDフィールドへリプロモードコマンド”REPRO_MODE”をセット、送信バッファのDATAフィールドへ中継装置のECUIDをセットし、送信バッファの内容をCANバスへ送信している。以上の処理は、イグニッションがオンであるため車載制御装置の電源はオンであるので、中継装置はウェイクアップパターンを送信せずに、リプロモード遷移要求コマンド”REPRO_MODE”を送信している。次に2303において変数REPROMAXTIMEへモード変更最大待ち時間をセットし、2304にてREPROMAXTIME時間が経過するまで待つ処理を行っている。経過した場合はNOとなり、2305において変数CANIDへ受信バッファのCANIDフィールドのデータCANIDをセットし、変数CMDへ受信バッファのCMDフィールドのデータCMDをセットし、変数DATAへ受信バッファのDATAフィールドのデータDATAをセットしている。次に、2306において変数CMDが”REPRO_RESPONSE”と一致するかチェックし、NOならば異常と判定して2307のRESULTECU[n]へ”NG”を設定する。もしYESならば1800の”RECECUID[n]へ更新プログラム送信処理”を実行し、2308の変数nがRECNと一致したかチェックする。NOであれば、全ての更新プログラムと更新データを送信していないので、2309において変数nをインクリメントして2302を繰返し実行する。もし2308においてYESであれば2100の書込み完了処理を実行して終了する。以上述べた処理2301〜2310は、図15の1504〜1513と全く同一である。従って1800の”RECECUID[n]へ更新プログラム送信処理”と2100の書込み完了処理は、再度説明する必要は無いので省略する。
以上で、請求項1〜10における実施例とその動作を詳細に説明した。
以上説明した如く、本発明によれば、車両に搭載された中継装置は、イグニッションがオン状態において外部のセンタから送信された更新プログラムデータを走行に係わる車載制御装置の制御動作とは無関係に中継装置が受信できるので、運転者が不便を感じることは無く更新プログラムデータを蓄積できる。
また、更新プログラムと更新データの書込み処理は、自動車の運転者が乗車していない場合には、自動車が自宅または他の駐車場に駐車している場合でもあるいは真夜中であってもイグニッションがオフ状態であっても、約束の時間帯に車両制御装置の制御プログラムとデータの更新が可能となる。
また、自動車の運転者が乗車している場合には、運転者の都合の良い時間に、書込み開始指令ボタンを押すことによって書込みを実行したり、また所有者との約束の時間帯に限定して書込みを実行したりすることができる。
以上のように、更新プログラムと更新データを高速にかつ運転者に不便を感じさせること無く、車載制御装置へ書込むことができる。
100 外部センタ
101 無線中継基地
120 中継装置
121 無線送受信機
122,131,141,151 マイコン
130,140,150 車載制御装置
160 車載ネットワーク
170 イグニッションスイッチ

Claims (10)

  1. 車両に搭載された機器の動作を制御プログラムで制御する複数の車載制御装置と、
    外部センタから送信された前記複数の車載制御装置の1または複数の更新プログラムと、更新データと、前記1または複数の車載制御装置を特定する1または複数の車載制御装置番号を含む管理情報を有する更新プログラムデータを受信しメモリへ蓄積する中継装置を備え、
    前記複数の車載制御装置のおのおのは前記制御プログラムを実行する通常動作モードと前記制御プログラムを前記更新プログラムへ書き換えるリプロモードを有し、前記複数の車載制御装置と前記中継装置はCANバスによる車載ネットワークで接続された車載プログラム書込み装置において、
    前記中継装置は、メモリ蓄積完了表示器と書込み開始指令ボタンと書込み完了表示器を有し、イグニッションがオン状態の場合に前記外部センタから送信された前記1または複数の車載制御装置の前記更新プログラムデータを受信完了した場合に前記メモリ蓄積完了表示器を点灯し、
    前記メモリ蓄積完了表示器が点灯している状態において前記書込み開始指令ボタンをオンにすると、前記1または複数の車載制御装置を特定するCANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させて前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを開始して、
    書込みを完了した後に前記書込み完了表示器を点灯し、前記メモリ蓄積完了表示器が消灯状態であれば前記書込み開始指令ボタンをオンにしても前記更新プログラムと前記更新データの書込みを実行しないことを特徴とする車両に搭載された車載プログラム書込み装置。
  2. 請求項1に記載の車載プログラム書込み装置において、
    前記メモリ蓄積完了表示器が点灯しかつ前記イグニッションがオン状態でかつ前記車両のシフトギヤ位置がパーキングである場合に前記書込み開始指令ボタンをオンにすると、
    前記1または複数の車載制御装置を特定する前記CANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させて前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを開始して、
    書込みを完了した後に前記書込み完了表示器を点灯し、
    前記メモリ蓄積完了表示器が消灯または前記イグニッションがオフ状態または前記車両の前記シフトギヤ位置がパーキング以外の位置であれば前記書込み開始指令ボタンをオンにしても前記更新プログラムと前記更新データの書込みを実行しないことを特徴とする車両に搭載された車載プログラム書込み装置。
  3. 車両に搭載された機器の動作を制御プログラムで制御する複数の車載制御装置と、外部センタから送信された前記複数の車載制御装置の1または複数の更新プログラムと更新データと前記1または複数の車載制御装置を特定する1または複数の車載制御装置番号を含む管理情報とを有する更新プログラムデータを受信してメモリへ蓄積する中継装置を備え、
    前記複数の車載制御装置のおのおのは前記制御プログラムを実行する通常動作モードと前記制御プログラムを前記更新プログラムへ書き換えるリプロモードを有し、前記複数の車載制御装置と前記中継装置はCANバスによる車載ネットワークで接続された車載プログラム書込み装置において、
    前記中継装置は予め決められた第1の時間帯以前に前記外部センタから送信された前記1または複数の車載制御装置の前記更新プログラムデータをイグニッションがオン状態の場合に受信する手段を有し、
    前記外部センタから前記第1の時間帯に送信された書込み開始指令を受信し、前記第1の時間帯に前記複数の車載制御装置をウェイクアップ起動し、前記1または複数の車載制御装置を特定するCANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させる手段と、
    前記1または複数の車載制御装置のおのおのは前記中継装置へリプロモード遷移を通知し、
    前記中継装置は前記1または複数の車載制御装置からの前記リプロモード遷移通知と前記メモリへ蓄積された前記1または複数の車載制御装置の前記更新プログラムデータの有無に基づき前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを前記第1の時間帯に実行する手段とを有することを特徴とする車両に搭載された車載プログラム書込み装置。
  4. 請求項3に記載の車載プログラム書込み装置において、
    前記第1の時間帯に前記複数の車載制御装置をウェイクアップ起動し、前記1または複数の車載制御装置を特定する前記CANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させる手段と、
    前記1または複数の車載制御装置のおのおのは前記中継装置へリプロモード遷移を通知し、
    前記中継装置は前記1または複数の車載制御装置からの前記リプロモード遷移通知と前記メモリへ蓄積された前記1または複数の車載制御装置の前記更新プログラムデータの有無に基づき前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを前記第1の時間帯に実行する手段は、前記イグニッションがオフの場合に実行することを特徴とする車両に搭載された車載プログラム書込み装置。
  5. 車両に搭載された機器の動作を制御プログラムで制御する複数の車載制御装置と、外部センタから送信された前記複数の車載制御装置の1または複数の更新プログラムと更新データと前記1または複数の車載制御装置を特定する1または複数の車載制御装置番号を含む管理情報と書込み開始指令を実行する第2の時間帯を含む更新プログラムデータを受信してメモリへ蓄積する中継装置を備え、
    前記複数の車載制御装置のおのおのは前記制御プログラムを実行する通常動作モードと前記制御プログラムを前記更新プログラムへ書き換えるリプロモードを有し、
    前記複数の車載制御装置と前記中継装置はCANバスによる車載ネットワークで接続された車載プログラム書込み装置において、
    前記中継装置は前記第2の時間帯以前に前記外部センタから送信された前記1または複数の車載制御装置の前記更新プログラムデータをイグニッションがオン状態の場合に受信する手段を有し、
    前記車両に搭載された時計に基づいて前記第2の時間帯に前記複数の車載制御装置をウェイクアップ起動し、
    前記1または複数の車載制御装置を特定するCANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させる手段と、
    前記1または複数の車載制御装置のおのおのは前記中継装置へリプロモード遷移を通知し、
    前記中継装置は前記1または複数の車載制御装置からの前記リプロモード遷移通知と前記メモリへ蓄積された前記1または複数の車載制御装置の前記更新プログラムデータの有無に基づき前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを前記第2の時間帯に実行する手段を有することを特徴とする車両に搭載された車載プログラム書込み装置。
  6. 請求項5に記載の車載プログラム書込み装置において、
    前記車両に搭載された時計に基づいて前記第2の時間帯に前記複数の車載制御装置をウェイクアップ起動し、
    前記1または複数の車載制御装置を特定する前記CANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させる手段と、
    前記1または複数の車載制御装置のおのおのは前記中継装置へリプロモード遷移を通知し、
    前記中継装置は前記1または複数の車載制御装置からの前記リプロモード遷移通知と前記メモリへ蓄積された前記1または複数の車載制御装置の前記更新プログラムデータの有無に基づき前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを前記第2の時間帯に実行する手段は、前記イグニッションがオフの状態で実行することを特徴とする車両に搭載された車載プログラム書込み装置。
  7. 請求項3乃至6のいずれか1項に記載の車載プログラム書込み装置において、前記中継装置は、前記外部センタから前記1または複数の車載制御装置の前記更新プログラムデータの受信を完了すると前記車両内のメモリ蓄積完了表示器を点灯し、かつ前記外部センタへメモリ蓄積完了通知を行うことを特徴とする車両に搭載された車載プログラム書込み装置。
  8. 請求項3乃至7のいずれか1項に記載の車載プログラム書込み装置において、前記複数の車載制御装置のおのおのは、前記更新プログラムと前記更新データの書込み完了後に前記中継装置へ書込み完了を通知する手段を有し、
    前記中継装置は前記1または複数の車載制御装置の全てからの書込み完了通知を受信した後に、
    前記車両内の書込み完了表示器を点灯しかつ前記外部センタへ更新完了通知を実行することを特徴とする車両に搭載された車載プログラム書込み装置。
  9. 車両に搭載された機器の動作を制御プログラムで制御する複数の車載制御装置と、外部センタから送信された前記複数の車載制御装置の1または複数の更新プログラムと更新データと前記1または複数の車載制御装置を特定する1または複数の車載制御装置番号を含む管理情報と第2の時間帯を含む更新プログラムデータを受信しメモリへ蓄積する中継装置を備え、
    前記複数の車載制御装置のおのおのは前記制御プログラムを実行する通常動作モードと前記制御プログラムを前記更新プログラムへ書き換えるリプロモードを有し、
    前記複数の車載制御装置と前記中継装置はCANバスによる車載ネットワークで接続された車載プログラム書込み装置において、
    前記中継装置は、
    メモリ蓄積完了表示器と書込み開始指令ボタンと書込み完了表示器を有し、
    前記中継装置はイグニッションがオン状態の場合に前記外部センタから送信された前記1または複数の車載制御装置の前記更新プログラムデータを受信完了した場合に前記メモリ蓄積完了表示器を点灯する手段と、
    前記メモリ蓄積完了表示器が点灯しかつ前記書込み開始指令ボタンをオンにした時刻が前記第2の時間帯の範囲内であれば前記1または複数の車載制御装置を特定するCANIDおよびリプロモードコマンドを前記CANバスへ送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させて前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを開始する手段と、
    書込みを完了後に前記書込み完了表示器を点灯する手段と、
    前記メモリ蓄積完了表示が消灯または前記書込み開始指令ボタンをオンにした時刻が前記第2の時間帯の範囲外であれば書込みを実行しない手段を有することを特徴とする車両に搭載された車載プログラム書込み装置。
  10. 請求項9に記載の車載プログラム書込み装置において、
    前記メモリ蓄積完了表示器が点灯しかつ前記イグニッションがオン状態でかつ前記車両のシフトギヤ位置がパーキングでかつ前記書込み開始指令ボタンをオンにした時刻が前記第2の時間帯の範囲内であれば前記1または複数の車載制御装置を特定する前記CANIDを送信して前記1または複数の車載制御装置を前記リプロモードへ遷移させて前記1または複数の車載制御装置へ前記更新プログラムと前記更新データの書き込みを開始する手段と、
    書込みを完了後に前記書込み完了表示器を点灯する手段と、
    前記メモリ蓄積完了表示が消灯または前記イグニッションがオフ状態または前記車両の前記シフトギヤ位置がパーキング以外の位置または前記書込み開始指令ボタンをオンにした時刻が前記第2の時間帯の範囲外であれば書込みを実行しない手段を有することを特徴とする車両に搭載された車載プログラム書込み装置。
JP2018083664A 2014-06-19 2018-04-25 車載プログラム書込み装置 Active JP6500147B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014125884 2014-06-19
JP2014125884 2014-06-19

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016529533A Division JP6333977B2 (ja) 2014-06-19 2015-06-19 車載プログラム書込み装置

Publications (2)

Publication Number Publication Date
JP2018129093A JP2018129093A (ja) 2018-08-16
JP6500147B2 true JP6500147B2 (ja) 2019-04-10

Family

ID=54935628

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016529533A Active JP6333977B2 (ja) 2014-06-19 2015-06-19 車載プログラム書込み装置
JP2018083664A Active JP6500147B2 (ja) 2014-06-19 2018-04-25 車載プログラム書込み装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016529533A Active JP6333977B2 (ja) 2014-06-19 2015-06-19 車載プログラム書込み装置

Country Status (5)

Country Link
US (1) US10061576B2 (ja)
EP (1) EP3159219B8 (ja)
JP (2) JP6333977B2 (ja)
CN (2) CN106414178B (ja)
WO (1) WO2015194652A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6281535B2 (ja) * 2015-07-23 2018-02-21 株式会社デンソー 中継装置、ecu、及び、車載システム
JP6135723B2 (ja) * 2015-08-20 2017-05-31 コベルコ建機株式会社 建設機械及びこれを備えたプログラム書き換えシステム
US10409735B2 (en) * 2015-08-31 2019-09-10 Macronix International Co., Ltd. Electronic device and data exchange method including protocol indicative of modes of operation
JP6551244B2 (ja) * 2016-01-14 2019-07-31 株式会社オートネットワーク技術研究所 車載用制御システム
US10031740B2 (en) * 2016-10-24 2018-07-24 Lear Corporation Method for programming vehicle electronic control modules
US10416985B2 (en) * 2017-02-16 2019-09-17 Ford Global Technologies, Llc Method and apparatus for multi cycle vehicle software update compliance handling
JP6785720B2 (ja) * 2017-05-29 2020-11-18 日立オートモティブシステムズ株式会社 車両用制御装置及びプログラム書き換え方法
JP2018202940A (ja) * 2017-05-31 2018-12-27 株式会社アドヴィックス ソフトウェア更新システム
JP6922667B2 (ja) * 2017-11-06 2021-08-18 株式会社オートネットワーク技術研究所 プログラム更新装置、プログラム更新システム及びプログラム更新方法
JP6915500B2 (ja) * 2017-11-06 2021-08-04 トヨタ自動車株式会社 更新システム、電子制御装置、更新管理装置、及び更新管理方法
JP6958308B2 (ja) * 2017-12-11 2021-11-02 株式会社オートネットワーク技術研究所 車載更新装置、プログラム及び、プログラム又はデータの更新方法
JP6962252B2 (ja) * 2018-03-23 2021-11-05 株式会社オートネットワーク技術研究所 プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP6718483B2 (ja) * 2018-06-29 2020-07-08 株式会社Subaru 車両
WO2020022265A1 (ja) * 2018-07-25 2020-01-30 株式会社デンソー 車両用電子制御システム、プログラム更新の承諾判定方法及びプログラム更新の承諾判定プログラム
JP7379892B2 (ja) * 2018-07-25 2023-11-15 株式会社デンソー 車両用電子制御システム、車両側システム及び携帯端末
JP7059985B2 (ja) 2018-08-10 2022-04-26 株式会社デンソー 車両用電子制御システム、車両用マスタ装置、データ格納面情報の送信制御方法、データ格納面情報の送信制御プログラム、車両用マスタ装置側プログラム、センター装置、更新データの選定方法及びセンター装置側プログラム
JP7100558B2 (ja) * 2018-10-17 2022-07-13 日立Astemo株式会社 自動車用電子制御装置
CN109471652A (zh) * 2018-10-24 2019-03-15 北汽福田汽车股份有限公司 车辆的程序更新方法及其系统、车载终端和电子设备
KR102598962B1 (ko) * 2018-12-12 2023-11-06 현대자동차주식회사 차량 제어기의 업데이트 제어 장치 및 방법, 그리고 차량 시스템
JP6832374B2 (ja) * 2019-02-22 2021-02-24 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP7238547B2 (ja) * 2019-03-29 2023-03-14 マツダ株式会社 自動車用演算装置
JP2021005217A (ja) * 2019-06-26 2021-01-14 株式会社デンソー 車両制御システムおよび電子制御装置
JP7283359B2 (ja) * 2019-11-19 2023-05-30 株式会社オートネットワーク技術研究所 車載更新装置、及び更新処理プログラム
CN112596419A (zh) * 2020-11-24 2021-04-02 奇瑞新能源汽车股份有限公司 电动汽车及其驱动电机控制器的唤醒电路
JP7216262B2 (ja) * 2020-11-27 2023-02-01 株式会社クボタ 情報更新システム
GB2617151A (en) * 2022-03-31 2023-10-04 Continental Automotive Tech Gmbh System and apparatus suitable for facilitating vehicle system update, and a processing method in association thereto
DE102023201667A1 (de) 2023-02-23 2024-08-29 Volkswagen Aktiengesellschaft Sicherheitsvorrichtung und Fahrzeug

Family Cites Families (35)

* 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
JP2000145534A (ja) * 1998-11-09 2000-05-26 Denso Corp 自動車用電子制御装置
JP3785299B2 (ja) * 2000-03-16 2006-06-14 本田技研工業株式会社 車両制御装置のためのメモリ書き換えシステム
JP3828335B2 (ja) * 2000-04-13 2006-10-04 本田技研工業株式会社 車両制御装置のための書き換えシステム
DE10038096A1 (de) * 2000-08-04 2002-02-14 Bosch Gmbh Robert Verfahren und System zur Übertragung von Daten
DE10052881C2 (de) * 2000-10-20 2003-03-13 Porsche Ag Steuervorrichtung für ein Getriebe eines Kraftfahrzeuges
JP2004028000A (ja) * 2002-06-27 2004-01-29 Mitsubishi Electric Corp 通信による車載ecuのメモリ書き換え装置
TW200417852A (en) 2002-12-19 2004-09-16 Komatsu Mfg Co Ltd Rewrite control apparatus for onboard program
JP2004199490A (ja) * 2002-12-19 2004-07-15 Komatsu Ltd 車載プログラムの書き換え制御装置
WO2004079565A2 (en) * 2003-03-03 2004-09-16 Snap-On Technologies, Inc. Method for providing a software module to an automotive vehicle control unit, and computer program for executing the method
JP2005070949A (ja) * 2003-08-21 2005-03-17 Sanyo Electric Co Ltd プログラム処理装置
JP4593095B2 (ja) 2003-08-29 2010-12-08 株式会社デンソー プログラム書込装置,プログラム書込システム,送信装置およびプログラム
US8290659B2 (en) * 2003-12-15 2012-10-16 Hitachi, Ltd. Information updating method of vehicle-mounted control apparatus, update information communication system, vehicle-mounted control apparatus, and information management base station apparatus
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
KR100996167B1 (ko) * 2005-06-22 2010-11-24 주식회사 만도 전자제어유니트의 메모리 프로그램방법
JP2007011734A (ja) 2005-06-30 2007-01-18 Denso Corp 車載制御装置
US20070185624A1 (en) * 2006-02-07 2007-08-09 General Motors Corporation Method for remote reprogramming of vehicle flash memory
JP2009040280A (ja) * 2007-08-09 2009-02-26 Auto Network Gijutsu Kenkyusho:Kk 車載制御装置
JP4722194B2 (ja) * 2009-04-13 2011-07-13 本田技研工業株式会社 車両のための書き換えシステム
JP5229740B2 (ja) * 2009-05-29 2013-07-03 Necインフロンティア株式会社 通信システム、送信装置、受信装置、ファームウェアの更新方法、及びプログラム
WO2012017719A1 (ja) * 2010-08-03 2012-02-09 本田技研工業株式会社 車両用プログラム書換えシステム
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
JP5370341B2 (ja) * 2010-11-10 2013-12-18 株式会社デンソー 通信装置及びデータ通信システム
JP5686697B2 (ja) * 2011-08-05 2015-03-18 三菱電機株式会社 組込み機器保守システム
CN105843089A (zh) * 2011-08-17 2016-08-10 秦皇岛天业通联重工科技有限公司 一种车载终端的控制方法
JP2013068105A (ja) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd 自動車用電子制御装置
JP5522155B2 (ja) * 2011-12-09 2014-06-18 株式会社デンソー プログラム書換方法及びプログラム書換装置,電子制御装置
JP5790551B2 (ja) * 2012-03-14 2015-10-07 株式会社デンソー 通信システム、中継装置、車外装置及び通信方法
JP2014035730A (ja) * 2012-08-10 2014-02-24 Hitachi Automotive Systems Ltd 車両用制御装置
JP6056424B2 (ja) * 2012-11-29 2017-01-11 株式会社デンソー 車載プログラム更新装置
JPWO2014087613A1 (ja) * 2012-12-05 2017-01-05 パナソニックIpマネジメント株式会社 通信装置、電子機器、通信方法、車両用鍵
US20140380296A1 (en) * 2013-06-20 2014-12-25 General Motors Llc Re-programming vehicle modules
CN103616830B (zh) * 2013-12-02 2017-04-12 北京经纬恒润科技有限公司 汽车控制器刷写控制方法、装置及一种汽车总线系统
CN103713932B (zh) * 2014-01-21 2017-03-08 北京经纬恒润科技有限公司 一种电子控制单元中应用程序的更新方法及装置
WO2015159815A1 (ja) * 2014-04-16 2015-10-22 クラリオン株式会社 データ配信システム、制御サーバ及びデータ配信方法

Also Published As

Publication number Publication date
EP3159219A4 (en) 2018-02-21
EP3159219B1 (en) 2021-09-08
JPWO2015194652A1 (ja) 2017-04-20
US20170090907A1 (en) 2017-03-30
EP3159219B8 (en) 2021-10-13
CN106414178B (zh) 2019-08-20
US10061576B2 (en) 2018-08-28
JP2018129093A (ja) 2018-08-16
CN106414178A (zh) 2017-02-15
WO2015194652A1 (ja) 2015-12-23
EP3159219A1 (en) 2017-04-26
CN110321149B (zh) 2023-08-25
CN110321149A (zh) 2019-10-11
JP6333977B2 (ja) 2018-05-30

Similar Documents

Publication Publication Date Title
JP6500147B2 (ja) 車載プログラム書込み装置
JP6347834B2 (ja) 車載プログラム書込み装置および地図データ書込み装置
JP4722194B2 (ja) 車両のための書き換えシステム
US20180341476A1 (en) Software updating device, software updating system, and software updating method
US9128798B2 (en) Module updating device
WO2019181496A1 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2017215890A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP3338634B2 (ja) 分散処理型の制御装置
JP2013193595A (ja) 自動車用電子制御装置
WO2018207587A1 (ja) 車載中継装置、制御プログラム及びメモリ共有方法
US20220342653A1 (en) Ota master, center, system, update method, non-transitory storage medium, and vehicle
JP2007216832A (ja) タイヤ空気圧監視システム
US9383799B2 (en) Communication node
WO2020189281A1 (ja) 電子制御装置及び制御データの設定方法
KR101879820B1 (ko) 스마트카의 보안시스템 및 보안방법
US9032195B2 (en) Navigation device for vehicle
US11954480B2 (en) Center, OTA master, system, method, non-transitory storage medium, and vehicle
US20220342651A1 (en) Center, ota master, system, distribution method, non-transitory storage medium, and vehicle
EP3640811B1 (en) Communication system
JP2015098311A (ja) 電子制御装置、ソフトウェア書き換えシステム
US10664291B2 (en) Tire pressure monitoring unit with expandable program library and method for supplementing a program library of a tire pressure monitoring unit
JP2000207194A (ja) 車載電子ユニット内の不揮発性メモリへのデ―タ書き込み方法
JP5432125B2 (ja) 個別情報書込可能なマイクロコンピュータを備えた土木工事機械器具
KR20110053056A (ko) Av 시스템의 자가-업데이트 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190318

R150 Certificate of patent or registration of utility model

Ref document number: 6500147

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250