JP7230768B2 - 電子制御装置、セッション確立プログラム及び制御プログラム - Google Patents

電子制御装置、セッション確立プログラム及び制御プログラム Download PDF

Info

Publication number
JP7230768B2
JP7230768B2 JP2019186889A JP2019186889A JP7230768B2 JP 7230768 B2 JP7230768 B2 JP 7230768B2 JP 2019186889 A JP2019186889 A JP 2019186889A JP 2019186889 A JP2019186889 A JP 2019186889A JP 7230768 B2 JP7230768 B2 JP 7230768B2
Authority
JP
Japan
Prior art keywords
program
session
wireless
wired
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.)
Active
Application number
JP2019186889A
Other languages
English (en)
Other versions
JP2020021506A (ja
Inventor
雄三 原田
一浩 上原
充啓 夏目
卓也 河▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso 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
Publication of JP2020021506A publication Critical patent/JP2020021506A/ja
Application granted granted Critical
Publication of JP7230768B2 publication Critical patent/JP7230768B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C2205/00Indexing scheme relating to group G07C5/00
    • G07C2205/02Indexing scheme relating to group G07C5/00 using a vehicle scan tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、電子制御装置セッション確立プログラム及び制御プログラムに関する。
従来より、車両ネットワークにサービスツールを有線接続し、車両の電子制御装置(以下、ECU(Electronic Control Unit)と称する)の診断を行うことが知られている。又、通信ネットワークの進展等に伴い、コネクッテッドカーの技術も普及しており、無線通信を介した遠隔操作により診断を行うことも知られている。このように有線での診断と無線での診断との要求が発生する場合において、例えば特許文献1には、サービスツールによる有線での診断を優先的に行うように調停する技術が開示されている。尚、診断はダイアグとも称される。
特開2014-78800号公報
外部からの有線又は無線を介した要求には、診断だけでなくプログラムの書換えもある。又、診断やプログラムの書換え対象となるECUにおいて、車両制御に関わるプログラムを実行中という場合もある。このような事情から、ECUは、外部からの各種要求に対して適切に調停する必要が生じる。
本発明は、上記した事情に鑑みてなされたものであり、その目的は、外部からの各種要求に対して適切に調停することができる電子制御装置セッション確立プログラム及び制御プログラムを提供することにある。
請求項1に記載した電子制御装置(19~21)によれば、アプリ実行部(34)は、第1状態として、第1デフォルトセッション、車両外部から有線を介して電子制御装置の診断を行うための有線診断セッション及び車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッションを有し、有線による診断を示す要求に基づいて有線診断セッションへ状態遷移させ、有線による書換えを示す要求に基づいて有線書換えセッションへ状態遷移させ、第2状態として、第2デフォルトセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、無線による書換えを示す要求に基づいて無線書換えセッションへ状態遷移させる。アプリ実行部は、第1状態と第2状態とを独立して管理し、第1デフォルトセッション又は有線診断セッションと、無線書換えセッションとを非排他的に確立する。
第1状態のデフォルトセッション又は有線診断セッションと、無線書換えセッションとを非排他的に確立することで、車両制御又は有線での電子制御装置の診断と、無線でのプログラムの書換えとの要求に対し、それらを非排他的に実行することができ、外部からの各種要求に対して適切に調停することができる。
一実施形態の全体構成を示す機能ブロック図 CGWの電気的な構成を示す機能ブロック図 ECUの電気的な構成を示す機能ブロック図 リプログファームウェア組込み型の2面メモリにおける通常動作時の態様を示す図 リプログファームウェア組込み型の2面メモリにおける書換え動作時の態様を示す図 リプログファームウェアダウンロード型の2面メモリにおける通常動作時の態様を示す図 リプログファームウェアダウンロード型の2面メモリにおける書換え動作時の態様を示す図 マイコンの処理毎の構成を示す機能ブロック図 プログラムの構成を示す図(その1) 状態遷移を示す図(その1) 状態遷移を示す図(その2) 状態遷移を示す図(その3) セッションの調停を示す図(その1) セッションの調停を示す図(その2) 第1状態の状態遷移管理処理を示すフローチャート(その1) 第1状態の状態遷移管理処理を示すフローチャート(その2) 第1状態の状態遷移管理処理を示すフローチャート(その3) 第2状態の状態遷移管理処理を示すフローチャート(その1) 第2状態の状態遷移管理処理を示すフローチャート(その2) プログラムの構成を示す図(その2) 状態遷移を示す図(その4)
以下、一実施形態について図面を参照して説明する。車両用プログラム書換えシステム(車両用電子制御システムに相当する)は、ECUに搭載されている車両制御や診断等のアプリプログラムをOTAにより書換え可能なシステムである。尚、本実施形態では、アプリプログラムを有線又は無線で書換える場合について説明するが、例えば地図アプリで使用される地図データ、ECUで使用される制御パラメータ等、各種アプリで使用されるデータを有線又は無線で書換える場合にも適用することができる。即ち、有線でのプログラムの書換えは、車両外部から有線を介して取得したプログラムを用いてECUを書換えることに加え、プログラムが実行される際に使用される各種データを有線を介して取得して書換えることも含む。無線でのプログラムの書換えは、車両外部から無線を介して取得したプログラムを用いてECUを書換えることに加え、プログラムが実行される際に使用される各種データを無線を介して取得して書換えることも含む。
図1に示すように、車両用プログラム書換えシステム1は、通信ネットワーク2側のセンター装置3と、車両側の車両側システム4と、ユーザ端末5とを有する。通信ネットワーク2は、例えば4G回線等による移動体通信ネットワーク、インターネット、WiFi(Wireless Fidelity)(登録商標)等を含んで構成される。
センター装置3は、ファイルサーバ6と、ウェブサーバ7と、管理サーバ8とを有し、各サーバ6~8が相互にデータ通信可能に構成されている。センター装置3は、車両用プログラム書換えシステム1において通信ネットワーク2側のOTA(Over the Air)の機能を統括し、OTAセンターとして機能する。ファイルサーバ6は、車両に配信するアプリプログラムの管理機能を備え、アプリプログラムの提供事業者であるサプライヤから提供されるリプログデータと車両の状態を管理するサーバである。ファイルサーバ6は、通信ネットワーク2を介して車両側システム4との間でデータ通信可能であり、リプログデータを車両側システム4に配信する。ウェブサーバ7は、ウェブ情報を管理するサーバである。ウェブサーバ7は、通信ネットワーク2を介してユーザ端末5との間でデータ通信可能であり、ウェブ情報をユーザ端末5に送信する。管理サーバ8は、個人情報や車両情報等を管理する。
ユーザ端末5は、ユーザが携帯可能な携帯端末9や車室内に配置されている車載ディスプレイ10である。携帯端末9は、例えばスマートフォンやタブレットである。車載ディスプレイ10は、例えばナビゲーション機能を兼用するディスプレイやメータディスプレイである。ユーザは、車室外に居るときには携帯端末9を用いてアプリプログラムの書換えに関する各種設定や各種確認を行うことができ、車室内に居るときには車載ディスプレイ10を用いてアプリプログラムの書換えに関する各種設定や各種確認を行うことができる。
車両側システム4は、マスタ装置11(車両用マスタ装置に相当する)を有する。マスタ装置11は、DCM12とCGW13を有し、DCM12とCGW13とが第1バス14を介してデータ通信可能に接続されている。DCM12は、センター装置3との間で通信ネットワーク2を介してデータ通信を行う車載通信機であり、ファイルサーバ6からリプログデータをダウンロードし、そのダウンロードしたリプログデータをCGW13に転送する。CGW13は、車両用ゲートウェイ装置であり、DCM12から転送されたリプログデータを、アプリプログラムを書換える書換え対象ECUに配信する。マスタ装置11は、車両用プログラム書換えシステム1において車両側のOTAの機能を統括し、OTAマスタとして機能する。
CGW13には、第1バス14に加え、第2バス15、第3バス16、第4バス17、第5バス18が車内側のバスとして接続されている。第2バス15は、例えばボディ系ネットワークのバスであり、複数のボディ系ECU19が接続されている。複数のボディ系ECU19は、例えばドアのロック/アンロックを制御するドアECU、メータ表示を制御するメータECU、エアコンの駆動を制御するエアコンECU、ウィンドウの開閉を制御するウィンドウECU等である。第3バス16は、例えば走行系ネットワークのバスであり、複数の走行系ECU20が接続されている。複数の走行系ECU20は、例えばエンジンの駆動を制御するエンジンECU、ブレーキの駆動を制御するブレーキECU、自動変速機の駆動を制御するECTECU、パワーステアリングの駆動を制御するパワーステアリングECU等である。第4バス17は、例えばマルチメディア系ネットワークのバスであり、複数のマルチメディア系ECU21が接続されている。複数のマルチメディア系ECU21は、例えばナビゲーションシステムを制御するためのナビゲーションECU、電子式料金収受システム(ETC(Electronic Toll Collection System、登録商標))を制御するETCECU等である。第5バス18は、車両側システム4の電源を管理する電源管理ECU22が接続されている。
CGW13には、第6バス23が車外側のバスとして接続されている。第6バス23は、DLC(Data Link Coupler)コネクタ24が接続されている。DLCコネクタ24にはツール25(サービスツールに相当する)が着脱可能に接続される。バス14~18,23は、例えばCAN(Controller Area Network、登録商標)バスにより構成されており、CGW13は、CANのデータ通信規格又は診断通信規格(UDS:ISO14229)にしたがってDCM12、ECU19~22、ツール25との間でデータ通信を行う。尚、バス15~17は、ボディ系ネットワークのバス、走行系ネットワークのバス、マルチメディア系ネットワークのバス以外の系統のバスであっても良い。又、DCM12とCGW13とがイーサーネットにより接続されていても良いし、DLCコネクタ24とCGW13とがイーサーネットにより接続されても良い。
書換え対象ECUは、CGW13からリプログデータを受信すると、その受信したリプログデータをフラッシュメモリに書込んでアプリプログラムを書換える。上記した構成では、CGW13は、リプログデータを書換え対象ECUに配信するリプログマスタとして機能し、書換え対象ECUは、CGW13から受信したリプログデータを書込んでアプリプログラムを書換えるリプログスレーブとして機能する。
アプリプログラムを書換える態様としては、有線で書換える態様と、無線で書換える態様とがある。アプリプログラムを有線で書換える態様とは、車両外部から有線を介して取得したアプリプログラムを用いて書換え対象ECUを書換える態様である。具体的には、ツール25がDLCコネクタ24に接続されると、ツール25は、リプログデータをCGW13に転送する。CGW13は、ゲートウェイとして、有線書換え要求を書換え対象ECUに送信し、ツール25から転送されたリプログデータを書換え対象ECUに配信する。CGW13において、ツール25から転送されたリプログデータを書換え対象ECUに配信することは、リプログデータを中継することを意味する。書換え対象ECUは、CGW13から受信したリプログデータを書込んでアプリプログラムを書換える。
アプリプログラムを無線で書換える態様とは、車両外部から無線を介して取得したアプリプログラムを用いて書換え対象ECUを書換える態様である。具体的には、センター装置3からDCM12にリプログデータがダウンロードされると、DCM12は、センター装置3からダウンロードされたリプログデータをCGW13に転送する。CGW13は、ゲートウェイとして、無線書換え要求を書換え対象ECUに送信し、DCM12から転送されたリプログデータを書換え対象ECUに配信する。書換え対象ECUは、CGW13から受信したリプログデータを書込んでアプリプログラムを書換える。
ECU19を診断する態様としては、有線で診断する態様と、無線で診断する態様とがある。有線で診断する態様とは、車両外部から有線を介してECU19を診断する態様である。具体的には、ツール25がDLCコネクタ24に接続されると、ツール25は、診断要求をCGW13に転送する。CGW13は、ゲートウェイとして、診断要求を診断対象ECUに送信し、ツール25から転送された診断コマンドを診断対象ECUに配信する。診断対象ECUは、CGW13から受信した診断コマンドに応じた診断処理を行う。
無線で診断する態様とは、車両外部から無線を介してECU19を診断する態様である。具体的には、センター装置3からDCM12に診断要求として診断コマンドが送信されると、DCM12は、診断コマンドをCGW13に転送する。CGW13は、ゲートウェイとして、診断要求として診断コマンドを診断対象ECUへ配信する。診断対象ECUは、CGW13から受信した診断コマンドに応じた診断処理を行う。
図2に示すように、CGW13は、マイクロコンピュータ(以下、マイコンと称する)26と、データ転送回路27と、電源回路28と、電源検出回路29とを有する。マイコン26は、CPU(Central Processing Unit)26a、ROM(Read Only Memory)26b、RAM(Random Access Memory)26c、フラッシュメモリ26d(記憶部に相当する)を有し、非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで、制御プログラムに対応する処理を実行し、CGW13の動作を制御する。
データ転送回路27は、バス14~18,23との間のCANのデータ通信規格に準拠したデータ通信を制御する。電源回路28は、バッテリ電源(以下、+B電源と称する)、アクセサリ電源(以下、ACC電源と称する)、イグニッション電源(以下、IG電源と称する)を入力する。電源検出回路29は、+B電源の電圧値、ACC電源の電圧値、IG電源の電圧値を検出し、これらの検出した電圧値を所定の電圧閾値と比較し、その比較結果をマイコン26に出力する。マイコン26は、+B電源、ACC電源、IG電源の比較結果を電源検出回路29から入力し、+B電源、ACC電源、IG電源が正常であるか異常であるかを特定する。
図3に示すように、ECU19~21は、マイコン30と、データ転送回路31と、電源回路32と、電源検出回路33とを有する。マイコン30は、CPU30a、ROM30b、RAM30c及びフラッシュメモリ30d(記憶部に相当する)等を有し、非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで、制御プログラムに対応する処理を実行し、ECU19~21の動作を制御する。
データ転送回路31は、バス15~17との間のCANのデータ通信規格に準拠したデータ通信を制御する。電源回路32は、+B電源、ACC電源、IG電源を入力する。電源検出回路33は、+B電源の電圧値、ACC電源の電圧値、IG電源の電圧値を検出し、これらの検出した電圧値を所定の電圧閾値と比較し、その比較結果をマイコン30に出力する。マイコン30は、+B電源、ACC電源、IG電源の比較結果を電源検出回路33から入力し、+B電源、ACC電源、IG電源が正常であるか異常であるかを特定する。尚、ECU19~21は、例えばセンサやアクチュエータ等の負荷が異なるが、基本的には同等の構成である。
DCM12は、図3に示すECU19と同様の構成を有する。更に、DCM12は、センター装置3と通信する通信機、車両の位置を検出可能なGPS(Global Positioning System)を有する。ここで、DCM12のフラッシュメモリ28dは、配信パッケージを記憶するために十分な容量を有する。車載ディスプレイ10は、図3に示すECU19と同様の構成を有する。車載ディスプレイ10は、図示しない表示器とデータの送受信が可能に接続される。電源管理ECU22は、図3に示すECU19と同様の構成を有する。
ECU19~21に搭載されているフラッシュメモリ30dの種別としては、アプリプログラムが配置されているアプリ領域を1面で持つ1面単独方式メモリ、アプリ領域を疑似的な2面で持つ1面サスペンド方式メモリ、アプリ領域を実質的な2面で持つ2面メモリがある。以下、1面単独方式メモリが搭載されているECUを1面単独メモリECUと称し、1面サスペンド方式メモリが搭載されているECUを1面サスペンドメモリECUと称し、2面メモリが搭載されているECUを2面メモリECUと称する。本実施形態では、マイコン30の内部にCPU30a及びROM30bが設けられている構成を例示しているが、マイコン30の内部にCPU30aが設けられている一方でマイコン30の外部にROM30bが設けられている構成でも良く、所謂外付けメモリタイプの構成でも良い。
1面単独メモリECUは、プログラム記憶領域を1面で持つ構成であるので、運用面及び非運用面という概念はなく、アプリ処理を実行中にアプリプログラムの書換え処理を実行することができない。そのため、1面単独メモリECUは、アプリプログラムを停止してアプリ処理や診断処理を停止した状態で、書換えプログラムを実行してアプリプログラムの書換え処理を実行する。
一方、1面サスペンドメモリECUや2面メモリECUは、プログラム記憶領域を2面で持つ構成であるので、運用面及び非運用面という概念があり、メモリ構成を工夫することで、アプリプログラムを実行してアプリ処理や診断処理を実行中に、書換えプログラムを実行して非運用面のアプリプログラムの書換え処理を実行可能である。本実施形態では、フラッシュメモリ30dとして2面メモリを採用し、そのメモリ構成を工夫することで、運用面のアプリプログラムを実行中に、非運用面のアプリプログラムの書換え処理を実行可能としている。
以下、2面メモリの構成について説明する。図4から図7に示すように、2面メモリは、ブート領域とアプリ領域を有し、アプリ領域をA面とB面との2面で持つ。2面メモリは、リプログファームウェアが予め組込まれているリプログファームウェア組込み型と、リプログファームウェアを外部からダウンロードするリプログファームウェアダウンロード型とがある。以下、各構成について説明する。
(1)リプログファームウェア組込み型
図4は、リプログファームウェア組込み型の2面メモリを示しており、書換えを行うためのファームウェアが予めフラッシュメモリに記憶されている。図4に示すように、ブート領域には、ブートプログラムが書換え不能として配置されている。ブートプログラムは、ブートスワップ機能と、ブート時ベクタテーブルを含む。各アプリ領域には、差分エンジンワーク領域と、アプリプログラムと、アプリプログラムを書換えるための書換えプログラムが予め配置されている。アプリプログラムは、バージョン情報と、パラメータデータと、ソフトウェア(アプリ)と、ファームウェアと、通常時ベクタテーブルを含む。書換えプログラムは、リプログ進捗管理情報2と、リプログ進捗管理情報1と、起動面判定情報と、無線リプログファームウェアと、有線リプログファームウェアと、ブート時ベクタテーブルを含む。無線リプログファームウェアとは、車両外部から無線を介して取得したアプリプログラムを用いてECUを書換える処理を行うファームウェアである。有線リプログファームウェアとは、車両外部から有線を介して取得したアプリプログラムを用いてECUを書換える処理を行うファームウェアである。リプログファームウェアには、メモリの消去、書込みを行うプログラムや差分エンジン等の基本構成要素が含まれる。
2面のアプリ領域をA面、B面と称すると、マイコン30は、車両制御処理や診断処理等のアプリ処理を実行する通常動作時では、ブートプログラムを実行してA面とB面の各起動面判定情報からブートスワップ機能により新旧を判定し、A面及びB面の何れが運用面であるかを判定する。マイコン30は、A面を運用面とすると判定すると、A面のブート時ベクタテーブルとA面の通常時ベクタテーブルを参照して先頭アドレスを探索し、A面のアプリプログラムを実行する。同様に、マイコン30は、B面を運用面とすると判定すると、B面のブート時ベクタテーブルとB面の通常時ベクタテーブルを参照して先頭アドレスを探索し、B面のアプリプログラムを実行する。
マイコン30は、非運用面のアプリプログラムの書換え処理を実行する書換え動作時では、図5に示すように、非運用面のアプリプログラムを旧データとして差分エンジンワーク領域に一旦退避させる。マイコン30は、差分エンジンワーク領域に一旦退避させた旧データを読出し、その読出した旧データと、組込んでいるリプログファームウェアによりRAM30cに記憶した差分リプログデータから新データを復元する。マイコン30は、旧データと差分リプログデータから新データを生成すると、その生成した新データを非運用面に書込んで非運用面のアプリプログラムを書換える。尚、差分エンジンワーク領域に一旦退避させる旧データは、運用面のアプリプログラムを対象としても良いし、非運用面のアプリプログラムを対象としても良い。運用面のアプリプログラムを対象とする場合には、非運用面のデータを、新データを書込む前に消去する。ここで、車両外部から取得したリプログデータが差分データでなく全データ(フルデータ)である場合には、取得したリプログデータを新データとして非運用面に書込むこととなる。
(2)リプログファームウェアダウンロード型
図6に示すように、リプログファームウェアダウンロード型では、車両外部からリプログファームウェアを受信してRAMに記憶し、RAM上にて実行する。上記したリプログファームウェア組込み型と比較し、無線リプログファームウェアや有線リプログファームウェアを外部からダウンロードし、アプリプログラムを書換えた後に、その無線リプログファームウェアや有線リプログファームウェアを削除する点で異なる。
マイコン30は、車両制御処理等のアプリ処理や診断処理を実行する通常動作時では、リプログファームウェア組込み型と同様に、ブートプログラムを実行してA面とB面の各起動面判定情報からブートスワップ機能により新旧を判定し、A面及びB面の何れが運用面であるかを判定し、運用面のアプリプログラムを実行してアプリ処理を実行する。
マイコン30は、アプリプログラムの書換え処理を実行する書換え動作時では、図7に示すように、非運用面のアプリプログラムを旧データとして差分エンジンワーク領域に一旦退避させる。マイコン30は、差分エンジンワーク領域に一旦退避させた旧データを読出し、その読出した旧データと、外部からダウンロードされたリプログファームウェアによりRAM30cに記憶した差分リプログデータから新データを復元する。マイコン30は、旧データ差分リプログデータから新データを生成すると、その生成した新データを非運用面に書込んで非運用面のアプリプログラムを書換える。そして、マイコン30は、書換えが完了すると、ダウンロードしたリプログファームウェアを、RAMから消去する。尚、差分エンジンワーク領域に一旦退避させる旧データは、運用面のアプリプログラムを対象としても良いし、非運用面のアプリプログラムを対象としても良い。運用面のアプリプログラムを対象とする場合には、非運用面のデータを、新データを書込む前に消去する。ここで、車両外部から取得したリプログデータが差分データでなく全データ(フルデータ)である場合には、取得したリプログデータを新データとして非運用面に書込むこととなる。
上記したように、リプログファームウェア組込み型及びリプログファームウェアダウンロード型の何れの構成でも、各アプリ領域に、アプリプログラムと、アプリプログラムを書換えるための書換えプログラムが配置されている。尚、図4及び図6では、アプリプログラムをリプログ対象として示したが、書換えプログラムもリプログ対象としても良い。又、書換えプログラムを書換え不能としたい場合は、ブート領域に配置しても良い。例えばディーラー等においてツールを介した有線での書換えが確実に実施できるように有線書換えのためのプログラムをブート領域に配置しても良い。
図8に示すように、マイコン30は、処理毎の機能ブロックとして、アプリ実行部34と、無線書換え要求特定部35と、有線書換え要求特定部36とを有する。アプリ実行部34は、各プログラムの実行を調停する機能を有する。無線書換え要求特定部35は、無線を介したプログラム書換え要求を特定する機能を有する。有線書換え要求特定部35は、有線を介したプログラム書換え要求を特定する機能を有する。
図9は、フラッシュメモリに記憶される各プログラムの構成を示す図である。車両制御プログラムは、ECU19~21自身に搭載されている車両制御機能(例えばステアリング制御機能)を実現するためのプログラムである。有線診断プログラムは、車両外部から有線を介してECU19~21自身の診断を行うためのプログラムである。無線診断プログラムは、車両外部から無線を介してECU19~21自身の診断を行うためのプログラムである。無線書換えプログラムは、車両外部から無線を介して取得されたプログラムの書換えを行うためのプログラムである。有線書換えプログラムは、車両外部から有線を介して取得されたプログラムの書換えを行うためのプログラムである。車両制御プログラムは、アプリ領域に第1プログラムとして配置される。有線診断プログラム及び有線書換えプログラムは、アプリ領域に第2プログラムとして配置される。無線診断プログラム及び無線書換えプログラムは、アプリ領域に第3プログラムとして配置される。換言すれば、第2プログラムは、車両制御以外の有線を介した特殊処理を行うプログラムであり、第3プログラムは、車両制御以外の無線を介した特殊処理を行うプログラムである。尚、有線書換えプログラムは、アプリ領域に配置せず、ブート領域に第4プログラムとして配置しても良い。
アプリ実行部34は、第1プログラムと、第2プログラムと、第3プログラムとを同時に実行可能となるように制御する(非排他制御する)。アプリ実行部34は、例えば車両制御プログラムと、有線診断プログラムと、無線診断プログラムとを同時に実行可能とする。即ち、アプリ実行部34は、車両制御と、有線でのECU19~21の診断と、無線でのECU19~21の診断とを同時に実行可能とする。同様に、アプリ実行部34は、車両制御プログラムと、有線診断プログラムと、無線書換えプログラムとを同時に実行可能とし、車両制御プログラムと、有線書換えプログラムと、無線診断プログラムとを同時に実行可能とし、車両制御プログラムと、有線書換えプログラムと、無線書換えプログラムとを同時に実行可能とするように制御する。
一方、アプリ実行部34は、第2プログラム内の各プログラムを同時に実行不能となるよう排他制御する。同様に、第3プログラム内の各プログラムを同時に実行不能となるよう排他制御する。アプリ実行部34は、例えば有線診断プログラムと、有線書換えプログラムとを排他制御し、無線診断プログラムと、無線書換えプログラムとを排他制御する。即ち、アプリ実行部34は、有線を介した特殊処理のうち一のプログラムのみを実行する。同様に、アプリ実行部34は、無線を介した特殊処理のうち一のプログラムのみを実行する。
無線書換えプログラムは、換言すれば、無線診断プログラムの内部に配置されており、無線診断プログラムの一部として組込まれているとも言える。即ち、アプリ実行部34は、無線書換えプログラムが無線診断プログラムの内部に配置されている構成により、車両制御プログラム及び有線診断プログラムを実行中に後述するようにデフォルトセッション又は無線診断セッションから無線書換えセッションへ状態遷移されると、車両制御プログラム及び有線診断プログラムの実行を継続したまま、無線書換えプログラムを実行するように制御する。アプリ実行部34は、車両制御プログラム及び有線診断プログラムの実行を継続したまま、無線書換えプログラムの実行を開始することで、車両制御プログラムと、有線診断プログラムと、無線書換えプログラムとを同時に実行可能とする。即ち、アプリ実行部34は、車両制御と、有線でのECU19~21の診断と、無線でのアプリプログラムの書換えとを同時に実行可能となるように制御する。
ここで、診断処理や書換え処理の具体的な内容によっては、有線での診断と無線での診断及び有線での書換えと無線での書換えが同時に実行できない状況が生じる。例えば有線での書換えと無線での書換えとが同じ領域を書換える場合、両者の処理が衝突する。そのため、アプリ実行部34は、処理や要求の具体内容に応じて有線診断プログラムと無線診断プログラムとを排他制御し、又、有線書換えプログラムと無線書換えプログラムとを排他制御する。又、診断処理の内容によっては、通常の車両制御が継続できない場合も生じ得る。例えばECUを動作させてその結果を読み出す診断処理の場合、通常の車両制御と同時に実行不能となる。その場合、アプリ実行部34は、車両制御プログラムを待機させ、有線又は無線診断プログラムを実行する、という調停制御を行う。
一方、有線書換えプログラムをアプリ領域に配置せず、ブート領域に第4プログラムとして配置した場合、アプリ実行部34は、上述とは一部異なる調停制御を行う。有線書換えプログラムは、図9に破線で示すように、有線診断プログラムの外部に第4プログラムとして配置されており、有線診断プログラムの一部として組込まれていない。この場合、アプリ実行部34は、第4プログラムを実行する際は、第1~第3プログラムを終了するよう排他制御を行う。即ち、アプリ実行部34は、第1~第3プログラムを実行するモードから第4プログラムを実行する専用モードに切り替える。換言すれば、有線書換えプログラムは、有線書換えプログラムが有線診断プログラムの外部に配置されている構成により、車両制御プログラム及び無線診断プログラムを実行中に後述するように有線診断セッションから有線書換えセッションへ状態遷移されると、車両制御プログラム及び無線診断プログラムの実行を停止し、有線書換えプログラムの実行を開始するように制御する。アプリ実行部34は、車両制御プログラム及び無線診断プログラムの実行を停止し、有線書換えプログラムの実行を開始することで、車両制御プログラムと、無線診断プログラムと、有線書換えプログラムとを同時に実行可能とせず、有線書換えプログラムのみを実行可能とする。即ち、アプリ実行部34は、車両制御と、無線でのECU19~21の診断と、有線でのアプリプログラムの書換えとを同時に実行可能とせず、有線でのアプリプログラムの書換えのみを実行可能となるように制御する。
図10に示すように、アプリ実行部34は、有線での特殊処理に関する第1状態として、デフォルトの状態(デフォルトセッション)、有線診断の状態(有線診断セッション)、有線書換えの状態(有線書換えセッション)を管理する。又、無線での特殊処理に関する第2状態として、デフォルトの状態(デフォルトセッション)、無線書換えの状態(無線書換えセッション)を管理し、動作の内部状態を管理している。
アプリ実行部34は、第1状態の状態遷移として、診断通信規格に準拠して車両制御を可能なデフォルトセッションと、車両外部から有線を介してECU19~21の診断を可能な有線診断セッションと、車両外部から有線を介して取得したアプリプログラムの書換えを可能な有線書換えセッションとを排他的に状態遷移させる。セッションを排他的に状態遷移させることは、セッションを同時に確立不能とすることであり、セッションを非排他的に状態遷移させることは、セッションを同時に確立可能とすることである。
第1状態におけるデフォルトセッションとは、有線での特殊処理が行われていない状態を示すモードであり、車両制御を実行可能な状態である。デフォルトセッションは、車両制御に全く影響を与えない処理、例えば、車両制御に関わらない診断プログラムを実行しても良いモードであるとも言える。車両制御に関わらない診断プログラムとは、故障コード等の情報の読出し等を行うためのプログラムである。有線診断セッションは、ECU19~21の診断に関わる診断プログラムを実行するモードである。少なくとも、診断プログラムを実行することにより車両制御に影響を与え得る状態となる場合は、デフォルトセッションから有線診断セッションに移行させる。ECU19~21の診断に関わる診断プログラムとは、通信停止、ダイアグマスク、アクチュエータ駆動等を行うためのプログラムである。有線書換えセッションは、車両外部から有線を介して取得されたアプリプログラムの書換えを実行するモードである。
アプリ実行部34は、第1状態においてセッションの状態遷移を以下のように行う。アプリ実行部34は、第1デフォルトセッションの状態で有線での診断要求が発生すると、診断セッション移行要求により第1デフォルトセッションから有線診断セッションに移行させ、有線での診断処理を実行する。アプリ実行部34は、有線診断セッションの状態でセッション復帰要求が発生する、タイムアウトが発生する、電源がオフになる又は法規サービスを受信すると、有線診断セッションから第1デフォルトセッションに移行させる。アプリ実行部34は、第1デフォルトセッションの状態で有線書換え要求が発生すると、診断セッション移行要求により第1デフォルトセッションから有線診断セッションに移行させた後に、書換えセッション移行要求により有線診断セッションから有線書換えセッションに移行させ、有線書換え処理を実行する。アプリ実行部34は、有線書換えセッションの状態でセッション復帰要求が発生する、タイムアウトが発生する、電源がオフになる又は法規サービスを受信すると、有線書換えセッションから第1デフォルトセッションに移行させる。又、アプリ実行部34は、セッション維持要求により現在のセッションを移行させずに維持させる。
アプリ実行部34は、第2状態の状態遷移として、診断通信規格に準拠して車両制御を可能なデフォルトセッションと、車両外部から無線を介して取得したアプリプログラムの書換えに関わる無線書換えセッションとを排他的に状態遷移させる。無線書換えセッションは、車両外部から無線を介して取得されたアプリプログラムの書換えを実行するモードである。
アプリ実行部34は、第2状態においてセッションの状態遷移を以下のように行う。アプリ実行部34は、第2デフォルトセッションの状態で無線書換え要求が発生すると、書換えセッション移行要求により第2デフォルトセッションから無線書換えセッションに移行させ、無線書換え処理を実行する。アプリ実行部34は、無線書換えセッションの状態でセッション復帰要求が発生する、タイムアウトが発生する又は電源がオフになると、無線書換えセッションから第2デフォルトセッションに移行させる。又、アプリ実行部34は、セッション維持要求により現在のセッションを移行させずに維持させる。
アプリ実行部34は、第1プログラムとして車両制御プログラムを実行しつつ、有線での特殊処理に関する第1状態及び無線での特殊処理に関する第2状態を管理する。アプリ実行部34は、例えば第1状態及び第2状態ともにデフォルトセッションにおいて、有線診断要求が発生すると、車両制御プログラムを継続させたまま、第1状態を有線診断セッションに移行させ、有線診断プログラムの実行を開始する。この状態において、アプリ実行部34は、無線書換え要求が発生すると、車両制御プログラム及び有線診断プログラムの実行を継続させたまま、第2状態を無線書換えセッションに移行させ、無線書換えプログラムの実行を開始する。この状態において、アプリ実行部34は、有線書換え要求が発生すると、例えば無線書換えプログラムの実行を終了し、第2状態をデフォルトセッションに移行させる共に、有線診断プログラムの実行を終了し、第1状態を有線書換えセッションに移行させ、有線書換えプログラムの実行を開始する。アプリ実行部34は、同じメモリ領域への書込み処理が衝突するのを防ぐべく、第1状態の有線書換えセッションと、第2状態の無線書換えセッションとが、同時に確立しないよう排他的に状態遷移させる(排他的に制御する)。
無線書換え要求特定部35は、外部から受信した書換え要求の識別情報を判定し、無線書換え要求を特定する。即ち、センター装置3からDCM12にリプログデータがダウンロードされ、CGW13がDCM12から転送されたリプログデータを書換え対象ECUに配信すると、無線書換え要求特定部35は、CGW13からリプログデータと共に無線書換え要求を示す識別情報を受信することで、無線書換え要求を特定する。
有線書換え要求特定部36は、外部から受信した書換え要求の識別情報を判定し、有線書換え要求を特定する。即ち、ツール25がDLCコネクタ24に接続され、CGW13がツール25から転送されたリプログデータを書換え対象ECUに配信すると、有線書換え要求特定部36は、CGW13からリプログデータと共に有線書換え要求を示す識別情報を受信することで、有線書換え要求を特定する。
識別情報は、例えば有線書換え要求と無線書換え要求とで異なる識別IDに該当する情報であっても良いし、有線書換え要求と無線書換え要求とで同じ識別IDであるが異なるデータに該当する情報であっても良い。即ち、有線書換え要求と無線書換え要求とを識別可能であれば、どのような情報であっても良い。
アプリ実行部34において、図10では、無線での特殊処理に関する第2状態として、デフォルトセッション、及び無線書換えセッションの2つの状態を管理する構成を説明したが、図11及び図12に示すように、第2状態として、デフォルトセッション、無線診断セッション、及び無線書換えセッションの3つの状態を管理する構成でも良い。無線診断セッションは、車両外部から無線を介してECU19~21の診断を行うための無線診断プログラムを実行するモードである。少なくとも、車両制御に影響を与え得る無線診断プログラムを実行する場合は、無線診断セッションに移行させる。
図11に示す構成の場合には、アプリ実行部34は、第2状態の状態遷移を以下のように行う。アプリ実行部34は、第2デフォルトセッションの状態で無線での診断要求が発生すると、診断セッション移行要求により第2デフォルトセッションから無線診断セッションに移行させ、無線診断処理を実行する。アプリ実行部34は、無線診断セッションの状態でセッション復帰要求が発生する、タイムアウトが発生する、電源がオフになると、無線診断セッションから第2デフォルトセッションに移行させる。アプリ実行部34は、第2デフォルトセッションの状態で無線書換え要求が発生すると、診断セッション移行要求により第2デフォルトセッションから無線診断セッションに移行させた後に、書換えセッション移行要求により無線診断セッションから無線書換えセッションに移行させ、無線書換え処理を実行する。アプリ実行部34は、無線書換えセッションの状態でセッション復帰要求が発生する、タイムアウトが発生する、電源がオフになると、無線書換えセッションから第2デフォルトセッションに移行させる。
図12に示す構成の場合には、アプリ実行部34は、第2状態の状態遷移を以下のように行う。アプリ実行部34は、第2デフォルトセッションの状態で無線での診断要求が発生すると、診断セッション移行要求により第2デフォルトセッションから無線診断セッションに移行させ、無線診断処理を実行する。アプリ実行部34は、無線診断セッションの状態でセッション復帰要求が発生する、タイムアウトが発生する、電源がオフになると、無線診断セッションから第2デフォルトセッションに移行させる。アプリ実行部34は、第2デフォルトセッションの状態で無線書換え要求が発生すると、診断セッション移行要求により第2デフォルトセッションから無線診断セッションに移行させた後に、書換えセッション移行要求により無線診断セッションから無線書換えセッションに移行させるか、又は書換えセッション移行要求により第2デフォルトセッションから無線書換えセッションに移行させ、無線書換え処理を実行する。アプリ実行部34は、無線書換えセッションの状態でセッション復帰要求が発生する、タイムアウトが発生する、電源がオフになると、無線書換えセッションから第2デフォルトセッションに移行させる。
尚、第1状態の有線診断セッションと第2状態の無線診断セッションとは、同じ診断プログラムを実行するものであっても良いし、異なる診断プログラムを実行するものであっても良い。第1状態の有線書換えセッションと第2状態の無線書換えセッションとは、同じ書換えプログラムを実行するものであっても良いし、異なる書換えプログラムを実行するものであっても良い。例えばメモリの消去や書込み等、共通する書換えプログラムを実行するものであっても良い。
図11及び図12に示した構成において、第1状態の各セッションと第2状態の各セッションの調停について説明する。図9で説明したように、有線診断プログラムが第2プログラムとしてアプリ領域に配置され、無線診断プログラムと無線書換えプログラムとが第3プログラムとしてアプリ領域に配置され、有線診断プログラムが第4プログラムとしてブート領域に配置される場合について説明する。換言すれば、無線書換えプログラムが無線診断プログラムの一部として組込まれている一方で有線書換えプログラムが有線診断プログラムの一部として組込まれていない構成についての説明である。この場合、第1状態及び第2状態の各セッションにおけるプログラム実行の調停は、図13に示す通りになる。
第2状態が無線書換えセッションであり、且つ第1状態がデフォルトセッションの場合、アプリ実行部34は、車両制御プログラムを実行させつつ、無線書換えプログラムを実行させる。第2状態が無線書換えセッションであり、且つ第1状態が有線診断セッションの場合、アプリ実行部34は、車両制御プログラムを実行させつつ、無線書換えプログラム、及び有線診断プログラムを同時に実行させる。
一方、第1状態が有線書換えセッションであり、且つ第2状態がデフォルトセッションの場合、アプリ実行部34は、車両制御プログラムを終了させ、有線書換えプログラムのみを実行させる。第1状態が有線書換えセッションであり、且つ第2状態が無線診断セッションの場合、アプリ実行部34は、無線診断プログラム及び車両制御プログラムを終了させ、有線書換えプログラムのみを実行させる。即ち、アプリ実行部34は、第4プログラムである有線書換えプログラムのみを実行する専用モードとして、第1~第3プログラムを排他制御する。
尚、有線診断プログラム及び有線書換えプログラムが第2プログラムとしてアプリ領域に配置される構成では、各プログラムの調停が図13とは一部相異する。即ち、無線書換えプログラムが無線診断プログラムの一部として組込まれている共に有線書換えプログラムが有線診断プログラムの一部として組込まれている構成では、第1状態及び第2状態の各セッションにおけるプログラム実行の調停は、図14に示す通りになる。この場合において、第1状態が有線書換えセッションであり、且つ第2状態がデフォルトセッションの場合、アプリ実行部34は、車両制御プログラムを実行させつつ、有線書換えプログラムを実行させる。第1状態が有線書換えセッションであり、且つ第2状態が無線診断セッションの場合、アプリ実行部34は、車両制御プログラムを実行させつつ、有線書換えプログラム及び無線診断プログラムを同時に実行させる。
次に、上記した構成の作用について図15から図19を参照して説明する。
マイコン30は、電源投入を検知して起動すると、セッション確立プログラムを実行して状態遷移管理処理を行い、第1状態の状態遷移を管理する状態遷移管理処理と、第2状態の状態遷移を管理する状態遷移管理処理とを行う。以下、それぞれの状態遷移管理処理について説明する。尚、ここでは、アプリ実行部34が第2状態を図10に示す構成、即ち、無線診断セッションを有しない構成により管理する場合を説明する。
(1)第1状態の状態遷移管理処理
マイコン30は、電源投入を検知して起動し、第1状態の状態遷移管理処理を開始すると、書換え完了フラグを判定し、前回のアプリプログラムの書換えを正常に完了したか否かを判定する(S1)。マイコン30は、書換え完了フラグが正であると判定し、前回のアプリプログラムの書換えを正常に完了したと判定すると(S1:YES)、第1状態をデフォルトセッションに移行させる(S2)。即ち、マイコン30は、第1状態をデフォルトセッションに移行させることで、車両制御処理を開始する。
マイコン30は、車両制御プログラムを実行させて車両制御処理を開始すると、車両制御処理を実行中に、有線診断要求が発生したか否かを判定し(S3)、有線書換え要求が発生したか否かを判定し(S4)、状態遷移管理の完了条件の成立を判定する(S5)。マイコン30は、車両制御処理を実行中に、有線診断要求が発生したと判定すると(S3:YES)、第1状態をデフォルトセッションから有線診断セッションに移行させ(S6)、有線診断プログラムを実行させて有線診断処理を開始する(S7)。マイコン30は、有線診断処理の完了条件の成立を判定し(S8)、有線診断処理の完了条件が成立したと判定すると(S8:YES)、有線診断プログラムを終了させて有線診断処理を終了し(S9)、第1状態を有線診断セッションからデフォルトセッションに移行させる(S10)。
マイコン30は、車両制御処理を実行中に、有線書換え要求が発生したと判定すると(S4:YES)、有線書換え要求発生時の書換え排他処理を開始する(S11)。即ち、有線書換え処理と無線書換え処理とが衝突しないよう、排他制御を行うための処理である。マイコン30は、有線書換え要求発生時の書換え排他処理を開始すると、第2状態において無線書換えセッションに移行中であるか否か、即ち、第2状態が無線書換えセッションであるか否かを判定する(S21)。マイコン30は、第2状態において無線書換えセッションに移行中でないと判定すると(S21:NO)、第1状態を有線書換えセッションに移行可能であると特定する(S22)。マイコン30は、有線書換え要求発生時の書換え排他処理を終了し、第1状態の状態遷移管理処理に復帰する。
マイコン30は、第2状態において無線書換えセッションに移行中であると判定すると(S21:YES)、有線書換えセッション及び無線書換えセッションの何れを優先して排他制御を行うかを判定する。具体的には、マイコン30は、有線書換えセッション優先条件、無線書換えセッション優先条件、移行中書換えセッション優先条件の何れが成立しているか否かを判定する(S23~S25)。有線書換えセッション優先条件は、有線書換えセッションを無線書換えセッションよりも優先する条件である。無線書換えセッション優先条件は、無線書換えセッションを有線書換えセッションよりも優先する条件である。移行中書換えセッション優先条件は、移行中の書換えセッションを優先する、即ち、先に移行していたセッションを優先する条件である。これらの優先条件のうち何れを採用するかは予め設定されており、例えば車両に対して優先条件フラグを設定しても良いし、書換えECU毎に優先条件フラグを設定しても良い。
マイコン30は、有線書換えセッション優先条件が成立していると判定すると(S23:YES)、第2状態において無線書換えセッションをセッション復帰要求によりデフォルトセッションに移行させて無線書換えを中断させ(S26)、第1状態を有線書換えセッションに移行可能であると特定する(S22)。マイコン30は、デフォルトセッション移行に伴い、無線書換えプログラムを終了させる。マイコン30は、有線書換え要求発生時の書換え排他処理を終了し、第1状態の状態遷移管理処理に復帰する。
マイコン30は、無線書換えセッション優先条件が成立していると判定すると(S24:YES)、有線書換え要求を廃棄して無線書換えを継続させる(S27)。即ち、マイコン30は、第2状態を無線書換えセッションで維持し、無線書換えプログラムの実行を継続し、第1状態を有線書換えセッションに移行不能であると特定する(S28)。マイコン30は、有線書換え要求発生時の書換え排他処理を終了し、第1状態の状態遷移管理処理に復帰する。
マイコン30は、移行中書換えセッション優先条件が成立していると判定すると(S25:YES)、この場合も、有線書換え要求を廃棄して無線書換えを継続させる(S27)。即ち、マイコン30は、第2状態を無線書換えセッションで維持し、無線書換えプログラムの実行を継続し、第1状態を有線書換えセッションに移行不能であると特定する(S28)。マイコン30は、有線書換え要求発生時の書換え排他処理を終了し、第1状態の状態遷移管理処理に復帰する。マイコン30は、このように有線書換え要求発生時の書換え排他処理を実行することで、有線書換えセッションと、無線書換えセッションとを排他的に制御し、同時にセッション確立しないようにする。
マイコン30は、第1状態の状態遷移管理処理に復帰すると、有線書換え要求発生時の書換え排他処理の結果として有線書換えセッションに移行可能であるか否かを判定する(S12)。マイコン30は、有線書換え要求発生時の書換え排他処理により有線書換えセッションに移行可能であると特定したことで、移行可能であると判定すると(S12:YES)、第1状態をデフォルトセッションから有線診断セッションを介して有線書換えセッションに移行させ(S13)、車両制御処理を中断して有線書換え処理を開始する(S14)。マイコン30は、有線書換えセッション移行に伴い、車両制御プログラムを終了させる。
マイコン30は、有線書換え処理の完了条件の成立を判定し(S15)、有線書換え処理の完了条件が成立したと判定すると(S15:YES)、有線書換え処理を完了し(S16)、第1状態を有線書換えセッションからデフォルトセッションに移行させる(S17)。ここで、有線書換え処理の完了条件とは、例えばアプリプログラムの書込みが全て完了し、完全性検証が実行された場合等である。
マイコン30は、有線書換え要求発生時の書換え排他処理により有線書換えセッションに移行不能であると特定したことで、移行可能でないと判定すると(S12:NO)、第1状態をデフォルトセッションから有線診断セッションを介して有線書換えセッションに移行させない。即ち、マイコン30は、第1状態をデフォルトセッションで維持する。マイコン30は、状態遷移管理の完了条件が成立したと判定すると(S5:YES)、第1状態の状態遷移管理処理を完了する。
尚、以上は、マイコン30は、有線書換え要求発生時の書換え排他処理において、第2状態において無線書換えセッションに移行中であると判定し、有線書換えセッション優先条件が成立していると判定すると、第2状態において無線書換えを中断させる場合を説明したが、無線書換えの未書換え残量に応じて無線書換えセッションを中断させるか否かを判定しても良い。
図17に示すように、マイコン30は、第2状態において無線書換えセッションに移行中であると判定し(S21:YES)、有線書換えセッション優先条件が成立していると判定すると(S23:YES)、その移行中の無線書換えセッションにおいて無線書換えの未書換え残量が所定量以上(例えば20%以上)であるか否かを判定する(S31)。マイコン30は、無線書換えの未書換え残量が所定量以上であると判定すると(S31:YES)、第2状態を無線書換えセッションからデフォルトセッションに移行させて無線書換えを中断させる(S26)。マイコン30は、デフォルトセッションへの移行に伴い、無線書換えプログラムを終了させる。マイコン30は、無線書換えの未書換え残量が所定量以上でないと判定すると(S31:NO)、その有線書換え要求を廃棄して無線書換えを継続させる(S27)。即ち、マイコン30は、無線書換えを完了するまでの残り時間が比較的長ければ、無線書換えセッションを中断させるが、無線書換えを完了するまでの残り時間が比較的短ければ、無線書換えセッションを中断させずに継続させる。
(2)第2状態の状態遷移管理処理
マイコン30は、電源投入を検知して起動し、第2状態の状態遷移管理処理を開始すると、書換え完了フラグを判定し、前回のアプリプログラムの書換えを正常に完了したか否かを判定する(S41)。マイコン30は、書換え完了フラグが正であると判定し、前回のアプリプログラムの書換えを正常に完了したと判定すると(S41:YES)、第2状態をデフォルトセッションに移行させる(S42)。即ち、マイコン30は、第2状態をデフォルトセッションに移行させることで、車両制御プログラムを実行し、車両制御処理を開始する。
マイコン30は、車両制御処理を開始すると、無線書換え要求が発生したか否かを判定し(S43)、状態遷移管理の完了条件の成立を判定する(S44)。マイコン30は、車両制御処理を実行中に、無線書換え要求が発生したと判定すると(S43:YES)、無線書換え要求発生時の書換え排他処理を開始する(S44)。マイコン30は、無線書換え要求発生時の書換え排他処理を開始すると、第1状態において有線書換えセッションに移行中であるか否か、即ち、第1状態が有線書換えセッションであるか否かを判定する(S61)。マイコン30は、第1状態において有線書換えセッションに移行中でないと判定すると(S61:NO)、無線書換えセッションに移行可能であると特定する(S62)。マイコン30は、無線書換え要求発生時の書換え排他処理を終了し、第2状態の状態遷移管理処理に復帰する。
マイコン30は、第1状態において有線書換えセッションに移行中であると判定すると(S61:YES)、有線書換えセッション及び無線書換えセッションの何れを優先して排他制御を行うかを判定する。具体的には、マイコン30は、無線書換えセッション優先条件、有線書換えセッション優先条件、移行中書換えセッション優先条件の何れが成立しているか否かを判定する(S63~S65)。
マイコン30は、無線書換えセッション優先条件が成立していると判定すると(S63:YES)、第1状態において有線書換えセッションをセッション復帰要求によりデフォルトセッションに移行させて有線書換えを中断させ(S66)、第2状態を無線書換えセッションに移行可能であると特定する(S62)。マイコン30は、デフォルトセッションへの移行に伴い、有線書換えプログラムを終了させる。マイコン30は、無線書換え要求発生時の書換え排他処理を終了し、第2状態の状態遷移管理処理に復帰する。
マイコン30は、有線書換えセッション優先条件が成立していると判定すると(S64:YES)、無線換え要求を廃棄して有線書換えを継続させる(S67)。即ち、マイコン30は、第1状態を有線書換えセッションで維持し、有線書換えプログラムの実行を継続させ、第2状態を無線書換えセッションに移行不能であると特定する(S68)。マイコン30は、無線書換え要求発生時の書換え排他処理を終了し、第2状態の状態遷移管理処理に復帰する。
マイコン30は、移行中書換えセッション優先条件が成立していると判定すると(S65:YES)、この場合も、無線換え要求を廃棄して有線書換えを継続させる(S67)。即ち、マイコン30は、第1状態を有線書換えセッションで維持し、有線書換えプログラムの実行を継続させ、第2状態を無線書換えセッションに移行不能であると特定する(S68)。マイコン30は、無線書換え要求発生時の書換え排他処理を終了し、第2状態の状態遷移管理処理に復帰する。マイコン30は、このように無線書換え要求発生時の書換え排他処理を実行することで、有線書換えセッションと、無線書換えセッションとを排他的に制御し、同時にセッション確立させない。
マイコン30は、第2状態の状態遷移管理処理に復帰すると、無線書換え要求発生時の書換え排他処理の結果として無線書換えセッションに移行可能であるか否かを判定する(S45)。マイコン30は、無線書換え要求発生時の書換え排他処理により無線書換えセッションに移行可能であると特定したことで、移行可能であると判定すると(S45:YES)、第2状態をデフォルトセッションから無線書換えセッションに移行させ(S46)、無線書換えプログラムを実行させて無線書換え処理を開始する(S47)。マイコン30は、無線書換え処理の完了条件の成立を判定し(S48)、無線書換え処理の完了条件が成立したと判定すると(S48:YES)、無線書換え処理を終了し(S49)、第2状態を無線書換えセッションからデフォルトセッションに移行させる(S50)。マイコン30は、デフォルトセッションへの移行に伴い、無線書換えプログラムを終了させる。ここで、無線書換え処理の完了条件とは、例えばアプリプログラムの書込みが全て完了し、完全性検証が実行された場合等である。
マイコン30は、無線書換え要求発生時の書換え排他処理により無線書換えセッションに移行不能であると特定したことで、移行可能でないと判定すると(S45:NO)、第2状態をデフォルトセッションから無線書換えセッションに移行させない。即ち、マイコン30は、第2状態をデフォルトセッションで維持する。マイコン30は、状態遷移管理の完了条件が成立したと判定すると(S51:YES)、第2状態の状態遷移管理処理を終了する。
以上は、アプリ実行部34において、有線での特殊処理に関するプログラムと無線での特殊処理に関するプログラムとを独立して(同時に)実行可能である場合を説明したが、図20に示すように、有線診断プログラムと無線診断プログラムとを共通化する構成でも良い。車両制御プログラムを第1プログラムとしてアプリ領域に配置し、診断プログラム(有線診断プログラム及び無線診断プログラム)と、無線書換えプログラムとを第2プログラムとしてアプリ領域に配置する構成である。有線書換えプログラムは、第2プログラムとしてアプリ領域に配置しても良いし、第3プログラムとしてブート領域に配置しても良い。アプリ実行部34は、第1プログラムと、第2プログラムとを同時に実行させる。即ち、アプリ実行部34は、車両制御プログラムと、共通化した診断プログラムとを同時に実行可能となるように制御する。一方、アプリ実行部34は、第2プログラムを構成する各プログラムの実行を排他制御する。即ち、有線診断プログラム、無線診断プログラム、無線書換えプログラム及び有線書換えプログラムのうち何れか1つのみが動作するように制御する。
アプリ実行部34は、図21に示すように、状態として、デフォルトの状態(デフォルトセッション)、診断の状態(診断セッション)、有線書換えの状態(有線書換えセッション)、無線書換えの状態(無線書換えセッション)を管理し、動作の内部状態を管理することになる。ここで管理される状態は、有線と無線とで状態を独立して管理するものではなく、混在して1つの状態として管理するものである。
この構成においても、アプリ実行部34は、車両制御プログラムを実行しつつ、診断プログラムの実行を開始する。又、アプリ実行部34は、車両制御プログラムを実行しつつ、無線書換えプログラムや有線書換えプログラムの実行を開始する。一方、アプリ実行部34は、無線診断プログラム及び有線診断プログラムの実行を排他的に制御する。又、アプリ実行部34は、有線/無線診断プログラムと、有線/無線書換えプログラムの実行も排他的に制御する。即ち、アプリ実行部34は、第2プログラムを構成する各プログラムの実行を排他的に制御する。
ここで、有線書換えプログラムが第3プログラムとしてブート領域に配置される場合、アプリ実行部34は、第3プログラムと、第1及び第2プログラムとを排他的に実行制御する。即ち、有線書換えプログラムを実行する場合、第1プログラム及び第2プログラムを終了させ、専用モードとして動作させる。
図21に示すように、アプリ実行部34は、診断要求が発生すると、車両制御プログラムの実行を継続しつつ、診断セッションに移行させ、診断プログラムの実行を開始する。この状態において、アプリ実行部34は、無線書換え要求が発生すると、診断プログラムを終了させ、無線書換えセッションに移行すると共に、無線書換えプログラムの実行を開始する。車両制御プログラムの実行は継続したままである。一方、有線書換え要求が発生した場合は、アプリ実行部34は、診断プログラム及び車両制御プログラムを終了させ、有線書換えセッションに移行すると共に、有線書換えプログラムの実行を開始する。
アプリ実行部34は、無線書換えプログラムが診断プログラムの内部に配置されていても、車両制御プログラム及び診断プログラムを実行中に診断セッションから無線書換えセッションへ状態遷移されると、車両制御プログラム及び診断プログラムの実行を中断してから無線書換えプログラムの実行を開始する。尚、セッションを伴わない場合は処理を継続することが可能である。
アプリ実行部34は、有線書換えプログラムが診断プログラムの外部に配置されていれば、車両制御プログラム及び診断プログラムを実行中に診断セッションから有線書換えセッションに状態遷移されると、車両制御プログラム及び無線診断プログラムの実行を停止し、有線書換えプログラムが実行を開始する。即ち、アプリ実行部34は、車両制御と、有線又は無線でのECU19~21の診断と、有線でのアプリプログラムの書換えとを同時に実行可能とならず、有線でのアプリプログラムの書換えのみを実行可能となる。
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
ECU19~21において、第1状態の状態遷移管理処理と第2状態の状態遷移管理処理を実行し、第1状態と第2状態とおける各セッションの状態遷移を管理し、第1状態のデフォルトセッション又は有線診断セッションと、第2状態の無線書換えセッションとを非排他的に確立するようにした(セッション確立手順を行う)。車両制御又はECU19~21の診断と、無線でのプログラムの書換えとの要求に対し、車両制御プログラム又はECU19~21の診断プログラムと、無線書換えプログラムとを非排他的に実行するように制御し、外部からの各種要求に対して適切に調停することができる。
又、ECU19~21において、有線書換えセッションと、無線書換えセッションとを排他的に確立するようにした。有線書換えプログラムと、無線書換えプログラムとを排他的に実行するように制御し、有線でのプログラムの書換えと、無線でのプログラムの書換えとを適切に調停することができる。
又、ECU19~21において、有線書換えセッション優先条件が成立していると、有線書換えセッションを無線書換えセッションよりも優先するようにした。有線書換えセッション優先条件を設定しておくことで、有線でのプログラムの書換えを無線でのプログラムの書換えよりも優先して実行することができる。例えばディーラー等で整備者が指示する有線でのプログラムの書換えを、車両のユーザが指示する無線でのプログラムの書換えをよりも優先して実行することができる。
又、ECU19~21において、無線書換えセッション優先条件が成立していると、無線書換えセッションを有線書換えセッションよりも優先するようにした。無線書換えセッション優先条件を設定しておくことで、無線でのプログラムの書換えを有線でのプログラムの書換えよりも優先して実行することができる。例えば車両のユーザが指示する無線でのプログラムの書換えを、ディーラー等で整備者が指示する有線でのプログラムの書換えよりも優先して実行することができる。
又、ECU19~21において、移行中書換えセッション優先条件が成立していると、移行中の書換えセッションを優先するようにした。移行中書換えセッション優先条件を設定しておくことで、移行中の書換えを優先して実行することができる。即ち、有線書換え及び無線書換えのうち先に開始した方を中断せず継続させることができる。
アプリ領域を2面で持つ構成において、各アプリ領域に車両制御プログラムと、診断プログラムと、無線書換えプログラムとが配置されている構成とし、車両制御プログラム又は診断プログラムと、無線書換えプログラムとを並列に(同時に)に実行するようにした。フラッシュメモリ30dのメモリ構成を工夫することで、車両制御プログラム又は診断プログラムと、無線書換えプログラムとを並列に実行することができる。
車両制御プログラム又は有線診断プログラムを実行中に無線書換え要求を特定すると、車両制御プログラム又は有線診断プログラムの実行を継続し、無線書換えプログラムを実行するようにした。車両制御プログラム又は有線診断プログラムを実行中に無線書換え要求が発生したときに、車両制御プログラム又は有線診断プログラムと、無線書換えプログラムとを並列に(同時に)実行することができる。
無線書換えプログラムを実行中に車両制御要求又は有線診断要求を特定すると、無線書換えプログラムの実行を継続し、車両制御プログラム又は有線診断プログラムを実行するようにした。無線書換えプログラムを実行中に車両制御要求又は有線診断要求が発生したときに、無線書換えプログラムと、車両制御プログラム又は有線診断プログラムとを並列に(同時に)実行することができる。
車両制御プログラム又は無線診断プログラムを実行中に有線書換え要求を特定すると、車両制御プログラム又は無線診断プログラムの実行を停止し、有線書換えプログラムを実行するようにした。車両制御プログラム又は無線診断プログラムを実行中に有線書換え要求が発生したときに、有線書換えプログラムのみを排他的に実行することができる。
リプログファームウェアが組込まれているリプログファームウェア組込み型の場合に、アプリ領域に配置されているファームウェアを用い、書換えプログラムを実行するようにした。リプログファームウェアを外部からダウンロードすることなく、非運用面のアプリプログラムの書換え処理を実行することができる。
リプログファームウェアを外部からダウンロードするリプログファームウェアダウンロード型の場合に、外部からダウンロードされたファームウェアを用い、書換えプログラムを実行するようにした。アプリ領域における書換えプログラムの容量を低減した上で、非運用面のアプリプログラムの書換え処理を実行することができる。
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていても良い。
アプリ領域を実質的な2面で持つ2面メモリについて説明したが、アプリ領域を疑似的な2面で持つ1面サスペンド方式メモリや外付けメモリについても適用することができる。
旧データと差分リプログデータから新データを生成する差分書換えする場合について説明したが、旧データを削除して新データを書込む全書換えする場合についても適用することができる。
ECU19~21のアプリプログラムを書換える場合について説明したが、CGW13のアプリプログラムを書換える場合についても適用することができる。即ち、CGW13のフラッシュメモリ26dを2面構成としてECU19~21のフラッシュメモリ30dと同等の構成とし、マイコン26にECU19~21のマイコン30と同等の機能を持たせても良い。
図面中、1は車両用プログラム書換えシステム(車両用電子制御システム)、12はDCM(車載通信機)、11はマスタ装置(車両用マスタ装置)、13はCGW(車両用ゲートウェイ装置)、19~21は電子制御装置、25はツール(サービスツール)、26dはフラッシュメモリ(記憶部)、30dはフラッシュメモリ(記憶部)、34はアプリ実行部、35は無線書換え要求特定部、36は有線書換え要求特定部である。

Claims (17)

  1. 第1状態として、第1デフォルトセッション、車両外部から有線を介して電子制御装置の診断を行うための有線診断セッション及び車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッションを有し、有線による診断を示す要求に基づいて前記有線診断セッションへ状態遷移させ、有線による書換えを示す要求に基づいて前記有線書換えセッションへ状態遷移させ、第2状態として、第2デフォルトセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、無線による書換えを示す要求に基づいて前記無線書換えセッションへ状態遷移させるアプリ実行部(34)を備え、
    前記アプリ実行部は、前記第1状態と前記第2状態とを独立して管理し、前記第1デフォルトセッション又は前記有線診断セッションと、前記無線書換えセッションとを非排他的に確立する電子制御装置(19~21)。
  2. 前記アプリ実行部は、前記第2状態として、車両外部から無線を介して電子制御装置の診断を行うための無線診断セッションを有し、無線による診断を示す要求に基づいて前記無線診断セッションへ状態遷移させる請求項1に記載した電子制御装置。
  3. 前記アプリ実行部は、前記有線書換えセッションと、前記無線書換えセッションとを排他的に確立する請求項1又は2に記載した電子制御装置。
  4. 車両外部のツールと有線により通信可能であり、車両外部のサーバと無線により通信可能な車両に搭載され、自装置のメモリに格納されたプログラムの更新を行う電子制御装置(19~21)であって、
    状態として、デフォルトセッション、車両外部から有線又は無線を介して電子制御装置の診断を行うための診断セッション、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、有線又は無線による診断を示す要求に基づいて前記診断セッションへ状態遷移させて前記診断セッションを維持して前記診断を示す要求を実行し、前記診断セッション以外のセッションへの状態遷移と共に前記診断を示す要求の実行を終了し、有線による書換えを示す要求に基づいて前記有線書換えセッションへ状態遷移させて前記有線書換えセッションを維持して前記有線による書換えを示す要求を実行し、前記有線書換えセッション以外のセッションへの状態遷移と共に前記有線による書換えを示す要求の実行を終了し、無線による書換えを示す要求に基づいて前記無線書換えセッションへ状態遷移させて前記無線書換えセッションを維持して前記無線による書換えを示す要求を実行し、前記無線書換えセッション以外のセッションへの状態遷移と共に前記無線による書換えを示す要求の実行を終了するアプリ実行部(34)を備え、
    前記アプリ実行部は、前記有線書換えセッションと前記無線書換えセッションとを排他的に確立し、前記無線書換えセッションを前記有線書換えセッションよりも優先するように排他的に確立する電子制御装置。
  5. 車両外部のツールと有線により通信可能であり、車両外部のサーバと無線により通信可能な車両に搭載され、自装置のメモリに格納されたプログラムの更新を行う電子制御装置(19~21)であって、
    状態として、デフォルトセッション、車両外部から有線又は無線を介して電子制御装置の診断を行うための診断セッション、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、有線又は無線による診断を示す要求に基づいて前記診断セッションへ状態遷移させて前記診断セッションを維持して前記診断を示す要求を実行し、前記診断セッション以外のセッションへの状態遷移と共に前記診断を示す要求の実行を終了し、有線による書換えを示す要求に基づいて前記有線書換えセッションへ状態遷移させて前記有線書換えセッションを維持して前記有線による書換えを示す要求を実行し、前記有線書換えセッション以外のセッションへの状態遷移と共に前記有線による書換えを示す要求の実行を終了し、無線による書換えを示す要求に基づいて前記無線書換えセッションへ状態遷移させて前記無線書換えセッションを維持して前記無線による書換えを示す要求を実行し、前記無線書換えセッション以外のセッションへの状態遷移と共に前記無線による書換えを示す要求の実行を終了するアプリ実行部(34)を備え、
    前記アプリ実行部は、前記有線書換えセッションと前記無線書換えセッションとを排他的に確立し、前記有線書換えセッション及び前記無線書換えセッションのうち移行中の書換えセッションを優先するように排他的に確立する電子制御装置。
  6. アプリ領域を複数面で持ち、各アプリ領域に、車両制御を行う車両制御プログラムを含む第1プログラム、車両外部から有線を介して電子制御装置の診断を行う有線診断プログラムを含む第2プログラム及び車両外部から無線を介して電子制御装置の診断を行う無線診断プログラムと車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行う無線書換えプログラムとを含む第3プログラムが記憶されている記憶部(26d,30d)と、
    前記第1プログラム、前記第2プログラム及び前記第3プログラムの実行を制御するアプリ実行部(34)と、を備え、
    前記記憶部には、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行う有線書換えプログラムを含む第4プログラムが記憶されており、
    前記アプリ実行部は、前記無線診断プログラムと前記無線書換えプログラムとを排他的に実行するように制御し、前記第1プログラムと前記第2プログラムと前記第3プログラムとを非排他的に実行するように制御し、前記第3プログラムと前記第4プログラムとを排他的に実行するように制御し、
    前記第1プログラム、前記第2プログラム及び前記第3プログラムは、書換え可能として前記記憶部の各アプリ領域に記憶され、前記第4プログラムは、書換え不能として前記記憶部に記憶される電子制御装置(19~21)。
  7. 車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行う有線書換えの要求を特定する有線書換え要求特定部(36)を備え、
    前記アプリ実行部は、前記有線書換えの要求が前記有線書換え要求特定部により特定された場合に、前記第1プログラム、前記第2プログラム及び前記第3プログラムの実行を停止し、前記第4プログラムを実行する請求項6に記載した電子制御装置。
  8. アプリ領域を複数面で持ち、各アプリ領域に、車両制御を行う車両制御プログラムを含む第1プログラム及び車両外部から有線を介して電子制御装置の診断を行う有線診断プログラムと車両外部から無線を介して電子制御装置の診断を行う無線診断プログラムと車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行う無線書換えプログラムとを含む第2プログラムが記憶されている記憶部(26d,30d)と、
    前記第1プログラム及び前記第2プログラムの実行を制御するアプリ実行部(34)と、を備え、
    前記記憶部には、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行う有線書換えプログラムを含む第3プログラムが記憶されており、
    前記アプリ実行部は、前記有線診断プログラムと前記無線診断プログラムと前記無線書換えプログラムとを排他的に実行するように制御し、前記第1プログラムと前記第2プログラムとを非排他的に実行するように制御し、前記第2プログラムと前記第3プログラムとを排他的に実行するように制御し、
    前記第1プログラム及び前記第2プログラムは、書換え可能として前記記憶部の前記各アプリ領域に記憶され、前記第3プログラムは、書換え不能として前記記憶部に記憶される電子制御装置(19~21)。
  9. 車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行う有線書換えの要求を特定する有線書換え要求特定部(36)を備え、
    前記アプリ実行部は、前記有線書換えの要求が前記有線書換え要求特定部により特定された場合に、前記第1プログラム及び前記第2プログラムの実行を停止し、前記第3プログラムを実行するように制御する請求項8に記載した電子制御装置。
  10. 第1状態として、第1デフォルトセッション、車両外部から有線を介して電子制御装置の診断を行うための有線診断セッション及び車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッションを有し、有線による診断を示す要求に基づいて前記有線診断セッションへ状態遷移させ、有線による書換えを示す要求に基づいて前記有線書換えセッションへ状態遷移させ、第2状態として、第2デフォルトセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、無線による書換えを示す要求に基づいて前記無線書換えセッションへ状態遷移させる電子制御装置(19~21)に、
    前記第1状態と前記第2状態とを独立して管理し、前記第1デフォルトセッション又は前記有線診断セッションと、前記無線書換えセッションとを非排他的に確立するセッション確立手順を実行させるセッション確立プログラム。
  11. 前記デフォルトセッションは、タイムアウトにより前記診断セッション、前記有線書換えセッション及び前記無線書換えセッションから状態遷移されるセッションであり、
    前記アプリ実行部は、前記診断セッション、前記有線書換えセッション又は前記無線書換えセッションを維持するためのセッション維持要求を行う請求項4又は5に記載した電子制御装置。
  12. 前記状態は一つの状態であり、
    前記アプリ実行部は、前記デフォルトセッション、前記診断セッション、前記有線書換えセッション及び前記無線書換えセッションのうち何れか一つのセッションのみを確立することで、前記有線書換えセッションと前記無線書換えセッションとを排他的に確立する請求項4、5又は11の何れか一項に記載した電子制御装置。
  13. アプリ領域を複数面で持つ電子制御装置であって、
    前記状態は一つの状態であり、
    前記デフォルトセッションでは車両制御プログラムが実行され、
    前記アプリ実行部は、前記診断セッション又は前記無線書換えセッションに状態遷移させた後も、前記車両制御プログラムの実行を継続する請求項4、11又は12の何れか一項に記載した電子制御装置。
  14. 車両外部のツールと有線により通信可能であり、車両外部のサーバと無線により通信可能な車両に搭載され、自装置のメモリに格納されたプログラムの更新を行う電子制御装置であって、状態として、デフォルトセッション、車両外部から有線又は無線を介して電子制御装置の診断を行うための診断セッション、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、有線又は無線による診断を示す要求に基づいて前記診断セッションへ状態遷移させて前記診断セッションを維持して前記診断を示す要求を実行し、前記診断セッション以外のセッションへの状態遷移と共に前記診断を示す要求の実行を終了し、有線による書換えを示す要求に基づいて前記有線書換えセッションへ状態遷移させて前記有線書換えセッションを維持して前記有線による書換えを示す要求を実行し、前記有線書換えセッション以外のセッションへの状態遷移と共に前記有線による書換えを示す要求の実行を終了し、無線による書換えを示す要求に基づいて前記無線書換えセッションへ状態遷移させて前記無線書換えセッションを維持して前記無線による書換えを示す要求を実行し、前記無線書換えセッション以外のセッションへの状態遷移と共に前記無線による書換えを示す要求の実行を終了する電子制御装置(19~21)に、
    前記有線書換えセッションと前記無線書換えセッションとを排他的に確立し、前記無線書換えセッションを前記有線書換えセッションよりも優先するように排他的に確立するセッション確立手順を実行させるセッション確立プログラム。
  15. 車両外部のツールと有線により通信可能であり、車両外部のサーバと無線により通信可能な車両に搭載され、自装置のメモリに格納されたプログラムの更新を行う電子制御装置であって、状態として、デフォルトセッション、車両外部から有線又は無線を介して電子制御装置の診断を行うための診断セッション、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための有線書換えセッション及び車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行うための無線書換えセッションを有し、有線又は無線による診断を示す要求に基づいて前記診断セッションへ状態遷移させて前記診断セッションを維持して前記診断を示す要求を実行し、前記診断セッション以外のセッションへの状態遷移と共に前記診断を示す要求の実行を終了し、有線による書換えを示す要求に基づいて前記有線書換えセッションへ状態遷移させて前記有線書換えセッションを維持して前記有線による書換えを示す要求を実行し、前記有線書換えセッション以外のセッションへの状態遷移と共に前記有線による書換えを示す要求の実行を終了し、無線による書換えを示す要求に基づいて前記無線書換えセッションへ状態遷移させて前記無線書換えセッションを維持して前記無線による書換えを示す要求を実行し、前記無線書換えセッション以外のセッションへの状態遷移と共に前記無線による書換えを示す要求の実行を終了する電子制御装置(19~21)に、
    前記有線書換えセッションと前記無線書換えセッションとを排他的に確立し、前記有線書換えセッション及び前記無線書換えセッションのうち移行中の書換えセッションを優先するように排他的に確立するセッション確立手順を実行させるセッション確立プログラム。
  16. アプリ領域を複数面で持ち、各アプリ領域に、車両制御を行う車両制御プログラムを含む第1プログラム、車両外部から有線を介して電子制御装置の診断を行う有線診断プログラムを含む第2プログラム及び車両外部から無線を介して電子制御装置の診断を行う無線診断プログラムと車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行う無線書換えプログラムとを含む第3プログラムが記憶されている記憶部(26d,30d)と、前記第1プログラム、前記第2プログラム及び前記第3プログラムの実行を制御するアプリ実行部(34)と、を備え、前記記憶部には、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行う有線書換えプログラムを含む第4プログラムが記憶されており、前記第1プログラム、前記第2プログラム及び前記第3プログラムは、書換え可能として前記記憶部の各アプリ領域に記憶され、前記第4プログラムは、書換え不能として前記記憶部に記憶される電子制御装置(19~21)に、
    前記無線診断プログラムと前記無線書換えプログラムとを排他的に実行するように制御する手順と、
    前記第1プログラムと前記第2プログラムと前記第3プログラムとを非排他的に実行するように制御する手順と、
    前記第3プログラムと前記第4プログラムとを排他的に実行するように制御する手順と、を実行させる制御プログラム。
  17. アプリ領域を複数面で持ち、各アプリ領域に、車両制御を行う車両制御プログラムを含む第1プログラム及び車両外部から有線を介して電子制御装置の診断を行う有線診断プログラムと車両外部から無線を介して電子制御装置の診断を行う無線診断プログラムと車両外部から無線を介して取得されたプログラムを用いて電子制御装置の書換えを行う無線書換えプログラムとを含む第2プログラムが記憶されている記憶部(26d,30d)と、前記第1プログラム及び前記第2プログラムの実行を制御するアプリ実行部(34)と、を備え、前記記憶部には、車両外部から有線を介して取得されたプログラムを用いて電子制御装置の書換えを行う有線書換えプログラムを含む第3プログラムが記憶されており、前記第1プログラム及び前記第2プログラムは、書換え可能として前記記憶部の前記各アプリ領域に記憶され、前記第3プログラムは、書換え不能として前記記憶部に記憶される電子制御装置(19~21)に、
    前記有線診断プログラムと前記無線診断プログラムと前記無線書換えプログラムとを排他的に実行するように制御する手順と、
    前記第1プログラムと前記第2プログラムとを非排他的に実行するように制御する手順と、
    前記第2プログラムと前記第3プログラムとを排他的に実行するように制御する手順と、を実行させる制御プログラム。
JP2019186889A 2018-05-15 2019-10-10 電子制御装置、セッション確立プログラム及び制御プログラム Active JP7230768B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018093867 2018-05-15
JP2018093867 2018-05-15

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019090618A Division JP7131475B2 (ja) 2018-05-15 2019-05-13 電子制御装置、セッション確立プログラム及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2020021506A JP2020021506A (ja) 2020-02-06
JP7230768B2 true JP7230768B2 (ja) 2023-03-01

Family

ID=68613154

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019090618A Active JP7131475B2 (ja) 2018-05-15 2019-05-13 電子制御装置、セッション確立プログラム及び制御プログラム
JP2019186889A Active JP7230768B2 (ja) 2018-05-15 2019-10-10 電子制御装置、セッション確立プログラム及び制御プログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019090618A Active JP7131475B2 (ja) 2018-05-15 2019-05-13 電子制御装置、セッション確立プログラム及び制御プログラム

Country Status (4)

Country Link
US (1) US20210065478A1 (ja)
JP (2) JP7131475B2 (ja)
CN (1) CN112136106A (ja)
DE (1) DE112019002469T5 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7131475B2 (ja) * 2018-05-15 2022-09-06 株式会社デンソー 電子制御装置、セッション確立プログラム及び制御プログラム
JP2022168981A (ja) * 2021-04-27 2022-11-09 トヨタ自動車株式会社 更新制御システム、更新制御方法、更新制御プログラム、車載制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241634A (ja) 2006-03-08 2007-09-20 Seiko Epson Corp ネットワーク装置
JP2014118071A (ja) 2012-12-18 2014-06-30 Toyota Motor Corp 車両用情報処理装置およびプログラム更新方法
JP2017028523A (ja) 2015-07-23 2017-02-02 株式会社デンソー 中継装置、ecu、及び、車載システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001265601A (ja) * 2000-03-22 2001-09-28 Denso Corp 電子制御装置及びメモリ書き換え方法
JP4488345B2 (ja) * 2004-04-08 2010-06-23 富士重工業株式会社 車載電子制御装置の通信装置
JP2007240436A (ja) * 2006-03-10 2007-09-20 Denso Corp 車両診断システム
US20080104511A1 (en) * 2006-10-30 2008-05-01 Spx Corporation Automatic software application menu generation
GB2492789B (en) * 2011-07-12 2018-01-03 Denso Corp Displays
JP5886099B2 (ja) * 2012-03-21 2016-03-16 日立オートモティブシステムズ株式会社 自動車用電子制御装置
JP5670379B2 (ja) * 2012-05-09 2015-02-18 本田技研工業株式会社 外部診断装置、車両用診断システム及び車両診断方法
JP5949417B2 (ja) * 2012-10-09 2016-07-06 株式会社デンソー 中継装置
CN104572141B (zh) * 2013-10-10 2019-03-12 上海信耀电子有限公司 车用电控单元ecu的引导程序的在线更新方法
CN103592936A (zh) * 2013-11-08 2014-02-19 深圳市道通科技有限公司 汽车诊断装置与vci设备之间的自动连接方法及装置
EP3277546B1 (en) * 2015-03-30 2022-06-22 Parallel Wireless Inc. Power management for vehicle-mounted base station
CN104881020A (zh) * 2015-04-27 2015-09-02 深圳市元征软件开发有限公司 汽车诊断***的无线通讯方法以及汽车诊断***
JP6642100B2 (ja) * 2016-02-25 2020-02-05 日本精機株式会社 表示装置
US20180075670A1 (en) * 2016-09-09 2018-03-15 Laird Technologies, Inc. Dedicated short-range communication vehicle management apparatuses, systems and methods
JP2018046515A (ja) * 2016-09-16 2018-03-22 株式会社オートネットワーク技術研究所 中継装置、通信システム、送信方法及びコンピュータプログラム
JP6460080B2 (ja) * 2016-11-07 2019-01-30 トヨタ自動車株式会社 車載ネットワークシステム
JP7131475B2 (ja) * 2018-05-15 2022-09-06 株式会社デンソー 電子制御装置、セッション確立プログラム及び制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241634A (ja) 2006-03-08 2007-09-20 Seiko Epson Corp ネットワーク装置
JP2014118071A (ja) 2012-12-18 2014-06-30 Toyota Motor Corp 車両用情報処理装置およびプログラム更新方法
JP2017028523A (ja) 2015-07-23 2017-02-02 株式会社デンソー 中継装置、ecu、及び、車載システム

Also Published As

Publication number Publication date
JP7131475B2 (ja) 2022-09-06
JP2019200789A (ja) 2019-11-21
JP2020021506A (ja) 2020-02-06
DE112019002469T5 (de) 2021-03-11
CN112136106A (zh) 2020-12-25
US20210065478A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US11392305B2 (en) Vehicle information communication system
JP6390644B2 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
US20180341476A1 (en) Software updating device, software updating system, and software updating method
US11999360B2 (en) Vehicle master device, control method for executing rollback, computer program product for executing rollback and data structure of specification data
US11928459B2 (en) Electronic control unit, retry point specifying method and computer program product for specifying retry point
JP7230768B2 (ja) 電子制御装置、セッション確立プログラム及び制御プログラム
JP2005132131A (ja) ソフトウェア更新装置およびソフトウェア更新方法
WO2019123747A1 (ja) 自動車用電子制御装置及びその制御方法
US11449329B2 (en) Vehicle control device and program update system
US20230254374A1 (en) Vehicle master device, update data verification method and computer program product
WO2019221118A1 (ja) 電子制御装置及びセッション確立プログラム
JP7396216B2 (ja) サーバ、更新管理方法、更新管理プログラム及びソフトウェア更新装置
JP7358928B2 (ja) 車両用電子制御システム、データ中継装置、キャンペーン情報の配信制御方法及びキャンペーン情報の配信制御プログラム
JP2009087107A (ja) 車両用制御システム
US20240028326A1 (en) Vehicular electronic control device, rewriting program, and data structure
JP7484814B2 (ja) 車両用電子制御装置及び更新プログラム
JP7392407B2 (ja) センター装置、車両用電子制御システム、プログラム更新の進捗制御方法及びプログラム更新の進捗制御プログラム
US20240069905A1 (en) Vehicular electronic control device, vehicular electronic control system, and updated configuration information determination program
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
WO2023166759A1 (ja) 更新管理システム
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
US20230032451A1 (en) Center, method, and non-transitory storage medium
US20220342653A1 (en) Ota master, center, system, update method, non-transitory storage medium, and vehicle
JP6702161B2 (ja) 車載電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230130

R151 Written notification of patent or utility model registration

Ref document number: 7230768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151