以下、車両用装置の幾つかの実施形態について図面を参照しながら説明する。以下に説明する各実施形態において、同一又は類似の動作を行う構成については、同一又は類似の符号を付して必要に応じて説明を省略する。なお、下記の実施形態において同一又は類似する構成には、符号の十の位と一の位とに同一符号を付して説明を行っている。
(第1実施形態)
図1から図14は第1実施形態の説明図を示している。図1に示すように、本実施形態の車両用システム1は、車両内に設置された車両用電子制御装置(以下、ECUと称す: Electronic Control Unit)に実装されているプログラムを更新可能にするシステムであり、ファイルサーバ2及びウェブサーバ3を備えるセンタ装置4、車両ユーザにより所持され操作可能でありウェブサーバ3に無線接続可能に構成される携帯端末(端末相当)5、車両に搭載される車両内システム6、を互いに接続して構成される。後述するが、車両内システム6には外的にモニタツール48を接続可能になっている。
ファイルサーバ2とウェブサーバ3とはネットワーク接続されている。ウェブサーバ3は携帯端末5との間で車外ネットワーク7を通じて通信可能になっている。またウェブサーバ3は、車両内システム6との間で通信インタフェース8を通じて通信可能になっている。車外ネットワーク7は、例えば3G回線、4G回線等による移動通信網、インターネット網、無線LAN(例えばWiFi(登録商標))などの各種の通信ネットワークを示すものである。
ファイルサーバ2には、プログラム更新用ファイルがプログラム提供事業者により蓄積される。ファイルサーバ2はプログラム管理機能を備え、更新処理を要するECUを搭載する車両に更新ファイルを通信インタフェース9を通じて車両内システム6に送信可能になっている。
車両内の車両内システム6は、中央ゲートウェイ装置(CGW:Central GateWay:以下ゲートウェイ装置と略す)10と、このゲートウェイ装置10に接続される車載LANのバス11〜15と、バス11〜15に接続されるデータコミュニケーションモジュール(以下、DCMと称す:Data Communication Module)21及び各種のECU22〜31と、を備え、バッテリ電圧の供給を受けて動作する。DCM21は、センタ装置4や携帯端末5との間で無線を介してデータ通信するためのインタフェースモジュールである。
ゲートウェイ装置10は、DCM21を用いて外部のファイルサーバ2、ウェブサーバ3、及び、携帯端末5と通信接続できる。ゲートウェイ装置10は、ファイルサーバ2から更新用ファイルをダウンロードし、プログラム更新対象のECUに当該更新用ファイルを送信し更新制御するリプログマスタRMとしての機能を備える。リプログマスタRMはリプログラムのマスタ装置の略である。
以下、プログラム更新処理のことを「リプログラム」と称すると共に、プログラム更新対象のECUのことを必要に応じてリプログスレーブRSと称す。リプログスレーブRSとはリプログラムのスレーブ装置の略である。ここでリプログスレーブRSとなるのは、ECU22〜31のうち何れか1つ以上のECUである。
図2にゲートウェイ装置10の電気的構成例を示す。ゲートウェイ装置10は複数のバス11〜15の全てに接続されている。ゲートウェイ装置10は、CPU32、ROM33、RAM34、フラッシュメモリ35を備えるマイクロコンピュータ(以下マイコン)36、及びトランシーバ37を備え、CPU32が非遷移的記録媒体としてのメモリに記憶されているプログラムに基づいて各種処理を行うが、ゲートウェイ装置10は、車両用装置動作用のバッテリ電源+Bから電源入力する電源回路39を用いて動作し、タイマが内蔵されている。電源回路39には、アクセサリ電源ACC、イグニッション電源IGも入力される。
例えば、ゲートウェイ装置10のマイコン36にはLED38が接続されており、マイコン36がこのLED38を点灯/点滅することで内部情報(例えば、走行可否、リプログラムの進捗状況)を外部に表示可能になっている。
図1に示す車載LANのバス11〜15は、例えば互いに通信プロトコルが異なる又は同一となる複数のネットワークにより構築されており、これらのネットワークは、例えば、ボディ系ネットワークN1、走行系ネットワークN2、マルチメディア系ネットワークN3、など複数のネットワークに分けることができる。これらのネットワークN1〜N3のバス12〜14には各種のECU22〜31が接続されている。
ボディ系ネットワークN1のバス(以下、ボディ系バスと称す)12には、例えば、ドアをロック/アンロック制御するための各種機能を備えるドアECU22、制御対象となるメータの表示制御を行うための各種機能を備えるメータECU23、エアコンディショナを制御するためのエアコンECU24、ウィンドウガラスを開閉制御するためのウィンドウECU25、等のECUが接続されている。これらのECU22〜25を必要に応じてボディ系ECU22〜25と称す。ドアECU22はドアロックモータを接続して構成される。
また、その他にも様々な機能を備えるECU(例えばエアバッグ制御機能を備えるエアバッグECU、ワイヤレスキー又はスマートキー等の操作に基づくキーレスエントリー制御機能を備えるキーレスエントリーECU)がボディ系バス12に接続されることもあるがその図示及び説明は省略する。例えば、メータECU23は、車速情報に基づく車速、エンジン回転数情報に基づくエンジン回転数、残量センサ(図示せず)により取得されるガソリンの残量情報、による各種情報をインストルメントパネル等の表示器に表示させるための電子制御装置である。
走行系ネットワークN2のバス(以下、走行系バスと称す)13には、例えば、制御対象となるエンジンを制御するための各種機能を備えるエンジンECU26、ブレーキを制御するための各種機能を備えるブレーキECU27、自動変速機を制御するための各種機能を備えるECTECU28、パワーステアリングを制御するパワステECU29、等のパワートレイン系ECUが接続されている。これらのECU26〜29を必要に応じて走行系ECU26〜29と称す。エンジンECU26は例えばガソリン燃料を用いたエンジンを駆動することで車両を走行可能にする。
また、その他にも様々な機能を備えるECU(例えばパーキングブレーキのオン/オフ状態を検知するパーキングECUなど)が走行系バス13に接続されているが、その説明は省略する。図示しないが、エンジンECU26には車速センサ、スロットル開度センサ、及びアクセルペダル開度センサ等の各種センサが接続されている。また、ブレーキECU27にはブレーキペダルセンサが接続されている。前述のパーキングブレーキのオン/オフ状態の検出センサはブレーキECU27に接続されていても良い。
また、ECTECU28にはシフトレバー位置センサなどが接続されている。シフトレバー位置は、例えばパーキング(P)、リバース(R)、ニュートラル(N)、ドライブ(D)などの位置であり、ECTECU28はこの位置をシフトレバー位置センサにより検出できる。
マルチメディア系ネットワークN3のバス(以下、マルチメディア系バスと称す)14には、例えば、制御対象となるナビゲーション装置を制御するためのナビゲーションECU(以下ナビECUと称す)30、電子式料金収受システム(ETC:Electronic Toll Collection System:登録商標)の制御を行うためのETCECU31、等のECUが接続されている。これらのECU30、31を必要に応じてマルチメディア系ECU30、31と称す。これらのマルチメディア系ECU30、31は各種情報をユーザに提供するためのマルチメディア系の電装品を制御対象として制御する車両用電子制御装置である。
図3にナビECUなどの各種ECUの基本的な電気的構成例を示している。例えば、ナビECU30は、バス14へのデータの送出/取込を行うためのトランシーバ40と、バス14を介して通信を制御する通信コントローラ(図示せず)を用いて他のECUと通信し他のECUと連動して自らのECUに割り当てられた各種機能を実現するマイクロコンピュータ(以下マイコン)41と、を備える。マイコン41は、CPU42、ROM43、RAM44、フラッシュメモリ45を備えており、CPU42が非遷移的記録媒体としてのメモリに記憶されているプログラムに基づいて各種処理を行う。ゲートウェイ装置10は、バッテリ電源+Bから電源を入力する電源回路49の出力電圧を用いて動作する。ナビECU30には各種記憶装置が接続され、これらの記憶装置には地図データや音楽データ等が記憶されている。そして、このナビECU30は、位置検出器(例えばGPS受信機等)及び記憶装置の地図データに基づいて取得される車両の現在位置の情報をマルチメディア系バス14に定期的に送出する。
ECU22〜31は、当該ECU22〜31に接続される負荷(センサ、アクチュエータ)が互いに異なることがあるものの、この図3に示すナビECU30と概ね同様のハードウェア構成をなしている。また、図2及び図3に例を示すように、ゲートウェイ装置10又はECU22〜31は、バッテリ電源+Bの電圧値、アクセサリ電源ACCの電圧値、イグニッション電源IGの電圧値を検出し、これらをそれぞれ所定の閾値電圧と比較し比較結果をマイコン36、41に出力する検出部39a、49aを備える。
各ECU22〜31の全て又は何れかには当該各ECU22〜31の動作温度を取得する温度センサ(図示せず)が接続されており、各ECU22〜31は当該温度センサのセンサ情報を取得することで動作温度の情報を取得できる。
また、ボディ系ECU22〜25にはエンジン始動/停止用のイグニッションスイッチ又はプッシュボタンに基づくスイッチ信号が入力されており、このボディ系ECU22〜25のマイコン41が、スイッチ信号に応じて、アクセサリ電源ACC、イグニッション電源IGの出力オン/オフをリレー(図示せず)を用いて制御する。
このスイッチ信号が、OFFのときにはバッテリ電源+Bだけが供給対象のECUに供給され、ACCのときにはアクセサリ電源ACCが供給対象のECU(22〜31の何れか1つ以上)に供給され、IGとされるとアクセサリ電源ACCと共にイグニッション電源IGが供給対象のECU(22〜31の何れか1つ以上)に供給される。
図4に示すように、各ECU22〜31はゲートウェイ装置10にネットワーク接続されているが、各ECU22〜31には前述した各種センサなどのセンサSE、スイッチSWが接続されている。センサSEは、各ECU22〜31に接続される各種センサ(例えば、車速センサ、水温センサ、カメラ、エンジン回転数、温度センサ、気温センサ、ガソリンの残量センサ)を総称して示すものであり、スイッチSWは、各ECU22〜31に接続される各種スイッチ(例えばイグニッションスイッチ、パーキングブレーキのオン/オフ状態の検出センサ、シフトレバー位置センサ、ロックポジションスイッチ、シートベルトの判断スイッチ、着座スイッチ、等)を総称して示すものである。
多数のECU22〜31のうち何れか一つ以上のECU(例えばナビECU30)は表示器46を接続して構成される。以下、表示器46がナビECU30に接続されているものとして説明を行う。この表示器46は、センターインフォメーションディスプレイ(Center Information Display:CID)、ヘッドアップディスプレイ(Head-Up Display:HUD)、などによる車載表示装置である。表示器46はインストルメントパネルのメータ表示器であっても良い。
図6(b)に表示器46としてCIDの外観図を示しているが、表示器46は表示部46a及び操作部46bを搭載している。操作部46bは、表示器46の表示部46aの脇に搭載される操作スイッチ群、又は/及び、表示部46aの表示画面下のタッチパネルを用いて構成され、車両ユーザにより操作可能に構成される。操作部46bがユーザ操作されると、操作に係る信号をナビECU30に伝達し、ナビECU30のマイコン41は各種処理を実行する。
図5に携帯端末5の電気的構成例を示すように、携帯端末5は、表示器5a、操作部5bと共に、通信部5c、及びマイコン50を備える。マイコン50はCPU、ROM、RAM等(何れも図示せず)を備えており、非遷移的記録媒体としてのメモリに記憶されているプログラムに基づいて操作部5bの操作情報の受付処理及び表示器5aへの表示処理等の各種処理を行う。マイコン50は、通信部5cにより、車外ネットワーク7の他、近距離無線通信(例えばブルートゥース(登録商標))により図1に示すDCM21にアクセス可能になっている。携帯端末5のマイコン50のメモリにはウェブサーバ3にアクセスするためのアプリケーション(例えばブラウザ)がユーザ指示に応じて予めインストールされており、ユーザがこのアプリケーションを実行することでウェブサーバ3を通じてプログラムの更新指示を行うことができる。また、図6(a)は携帯端末5の外観図を示しており、表示器5aと操作部5bとを外観上備える。
図1に示す各ECU22〜31のマイコン41の内部に記憶されるプログラムは、各ECU22〜31が自らのECUに割当てられた制御対象機器を制御するときに行う必要なプログラムであり、更新対象となる更新用ファイル及びその他の非更新対象のファイルにより構成される。すなわち、更新用ファイルは全体のプログラムのファイルのうち、少なくとも一部又は全部のプログラムのファイルを指す。
また図1に示すように、ゲートウェイ装置10は、開発、テスト、解析用のネットワークのバス15に接続されており、このバス15にはOBD(On-board diagnostics)コネクタ47が接続されている。OBDコネクタ47は、例えば車両設計者、ディーラや修理工場の作業者が必要なときに外部からモニタツール48を接続可能になっている。
ゲートウェイ装置10は、全てのバス11〜15に送出されるデータを全て受信し、車両内の状態、すなわち、運転者による操作状態、車両状態、車両挙動、を検出する。また、ゲートウェイ装置10は、各ECU22〜31毎にプログラムを更新可能な条件が規定された走行可否判定テーブルTA1をフラッシュメモリ35内に備える。
図7に示すように、走行可否判定テーブルTA1には、各ECU22〜31の走行可否と、当該ECU22〜31を接続するCANID、接続バス、名称とを対応づけた関係情報が記されている。この走行可否判定テーブルTA1には、CANID、接続バス、名称の全てに対応づけて走行可否が記されていなくても良く、CANID、接続バス又は名称の何れか一つに対応づけて走行可否が記されていれば良い。
この走行可否判定テーブルTA1の内容の一部を説明する。例えば、ドアECU22はボディ系バス12に接続されているが、例えばモニタツール48やゲートウェイ装置10がCANIDとして0x700を付与して送信すると、ドアECU22がこの要求を受付け、ドアECU22はCANIDとして0x708を付して要求に応答することが対応付けて記されており、このドアECU22はプログラム更新中においても走行可能(走行可否=可)であることが記されている。
また、例えば、パワステECU29は走行系バス13に接続されているが、モニタツール48、ゲートウェイ装置10がCANIDとして0x702としてバス13を介してパワステECU29に送信すると、パワステECU29はこの要求を受付け、パワステECU29はCANIDとして0x70Aとし応答を返信することが記されており、このパワステECU29は内部プログラム更新中において走行不可(走行可否=否)であることが記されている。
また他のECUにおいても、モニタツール48やゲートウェイ装置10がCANIDとして700番台の番号を付して送信すると、対応するECUが、この要求を受付け、このECUが受信したCANIDに8を加入した番号を付して応答を返信することが記されており、これらの個々のECUに対応して走行可否の情報が記憶されている。図7に示すように、これらのCANID,ECU名称、接続バスと走行可否とを対応づけた関係情報は、例えばCAN仕様に規定される標準フォーマットでも拡張フォーマットでも同様に対応づけされている。
図7に示されている内容を概略的にまとめて説明すると、この走行可否判定テーブルTA1では、走行系ECU26〜29は、当該内部プログラムの更新中には走行不可であることが記されており、マルチメディア系ECU30、31は、当該内部プログラムの更新中であっても走行可能であることが対応づけて記されている。また、ボディ系バス12に接続されるメータECU23やエアコンECU24は内部プログラム更新中においても走行可能であることが記憶されている。この走行可否判定テーブルTA1に、車両の走行時/停止時の更新条件(例えばバッテリ残量の高低、接続バス負荷の高低、車両負荷の高低、車室内温度条件、等)を詳細に設定し、これらの更新条件に走行可否情報を対応づけて関係情報として記憶させても良いし、また、これらに例外条件を設けて設定しても良い。
そして、ゲートウェイ装置10のマイコン36は、CPUがメモリに記憶されているプログラムに基づいて、フラッシュメモリ35に格納されている走行可否判定テーブルTA1を参照しプログラム更新処理を実行する。
以下、システム全体におけるプログラム更新処理の流れについて、図8、図9のシーケンス図、図9〜図13の表示画面を参照しながら説明する。
下記の説明では、ユーザがワイヤレスキー又はスマートキーを用いて車外から車両内装置(例えばエンジン始動/停止、すなわち電源ACC、IG等の投入)をリモート操作可能である車両を想定すると共に、プログラム更新処理の経過をユーザが所持する携帯端末5の表示器5aに表示させる例を挙げて説明する。また、以下の動作説明における携帯端末5の表示器5aの表示内容は、例えばナビECU30が表示器46に表示処理させても良いため、必要に応じて説明を加入する。
また、以下に説明する図8中のゲートウェイ装置10の処理は、マイコン36がプログラムを実行することにより行われる処理であり、携帯端末5の処理は内蔵のマイコン50がプログラムを実行することにより行われる処理である。
まず図8に示すように、ステップS1において、センタ装置4のファイルサーバ2に更新用ファイルが蓄積されると、このファイルサーバ2は、図8のステップS2においてネットワークを通じてウェブサーバ3にリプログラムのイベント発生を通知する。車両ユーザが、携帯端末5を操作してウェブサーバ3にアクセスすると、図8のステップS3においてイベント発生の通知を受信する。携帯端末5が自動的にウェブサーバ3にアクセスしてイベント発生の通知を受信しても良い。このとき携帯端末5はその表示器5aに図10に示すようにイベント内容を表示する。例えば、図10に示すように、携帯端末5は、「車載プログラムのアップデートデータが確認されました。ダウンロードしますか?」と表示器5aに表示させると共に、ダウンロードのボタンB1を表示器5aに表示させる。車両ユーザが例えば携帯端末5の表示器5aに表示されたダウンロードのボタンB1を押下することで、プログラムの更新用ファイルをアップデート(ダウンロードDL)要求する。携帯端末5は、タッチパネルによる操作部5bを通じてこの要求を受け付ける。携帯端末5は、図8のステップS4においてウェブサーバ3を通じてゲートウェイ装置10にダウンロード要求することで更新用ファイルを指定する。なお、このとき図10に示すように、携帯端末5は走行可否情報X2を表示器5aに表示させても良く、この場合、走行可否情報X2を「可」として表示させても良い。
ウェブサーバ3は更新用ファイルが指定されると、ウェブサーバ3がステップS4においてDCM21を通じてゲートウェイ装置10に更新用ファイルをダウンロード指令する。ゲートウェイ装置10は、フラッシュメモリ35等の空き容量やリソースの判断を行うことでダウンロード可否の判定を行う。このダウンロード可否の判定は、車両に搭載されるバッテリ電源+Bの残量が所定量以上に十分に残っていること、例えばバッテリ電源+Bの電圧が所定電圧以上であること、また、DCM21と通信インタフェース8又は/及び9との通信電波環境が安定していること、例えば相互の受信電界強度レベルが所定以上であること、などの何れか一つ以上又は全ての条件を含んでいても良い。
そして、ゲートウェイ装置10は、ダウンロード可能になったことを条件として、図8のステップS5においてDCM21を通じてファイルサーバ2に更新用ファイルを要求する。これにより、ファイルサーバ2が、図8のステップS6においてDCM21を通じてゲートウェイ装置10に更新用ファイルを配信し、ゲートウェイ装置10はステップS6において更新用ファイルをダウンロードできる。
ゲートウェイ装置10が更新用ファイルをダウンロード完了すると、図8のステップS7aにおいてダウンロード完了したことを携帯端末5に通知し、携帯端末5が表示器5aにダウンロード完了したことを表示する。またゲートウェイ装置10は、図8のステップS7bに示すようにダウンロード完了したことをナビECU30に伝達し、ナビECU30が表示器46にダウンロード完了したことを表示させるようにしても良い。図11はダウンロード完了画面の表示例を示している。携帯端末5はこの時点においても表示部5aの画面に走行可否情報を表示させている。携帯端末5はこのダウンロード完了画面に更新開始ボタンB2も合わせて表示させており、携帯端末5は、この更新開始ボタンB2のユーザ押下指示を受付けるようになっている。車両ユーザはダウンロード完了画面を確認すると、携帯端末5の操作部5bを操作したり、表示器46に搭載される操作部46bを操作したりすることで更新用ファイルをリプログラム開始指示する。リプログラム開始指示するときには、ユーザは車両の外部から例えばワイヤレスキー又はスマートキーを操作することに応じて車両内装置の操作指令(例えばエンジンの始動指令)を行う。するとゲートウェイ装置10の電源回路39、各ECU22〜31の電源回路49には各種動作用の電源が印加される。
車両ユーザがステップS8aにおいて携帯端末5に記憶されるアプリケーションを実行することで更新開始指示しリプログラム実行指令したときには、この指令情報はウェブサーバ3に伝えられる。するとウェブサーバ3がステップS8aにおいてDCM21を通じて指令をゲートウェイ装置10に通知する。
他方、車両ユーザがステップS8bにおいて操作部46bを操作することでナビECU30に更新要求したときには、ナビECU30がこの更新要求をゲートウェイ装置10に通知することで図8のステップS8bにおいてリプログラム実行要求する。
ゲートウェイ装置10は、更新用ファイルの内容に応じてリプログスレーブRSとなるECU(22〜31のうち何れか1つ以上)を特定する。そして、ゲートウェイ装置10は、図8のステップS9において乗車/降車状態を判定し、図8のステップS10において車両状態を判定し、これらの状態が必要な条件を満たしているときに、特定されたリプログスレーブRSに対し更新用ファイルを送信しリプログラム指令する。
この図10のステップS9、S10の処理を行う前に先立って、又は、並行して、ゲートウェイ装置10は、リプログスレーブRSのCANID,接続バス又は名称を走行可否判定テーブルTA1に照合して走行可否を判定し、ステップSAにおいてこの情報を携帯端末5、ナビECU30に初期報知指令するようにしても良い。
特に、ゲートウェイ装置10は、リプログスレーブRSが走行系バス13に接続されたECU26〜29であるときには走行不可と判定する。この場合、ゲートウェイ装置10はこの走行不可である旨の走行可否情報X2を携帯端末5に初期報知指令しても良い。すると、携帯端末5が走行不可である旨の走行可否情報X2を表示器5aに表示することで、車両ユーザは、この走行不可である走行可否情報X2を認識できる。この場合、ゲートウェイ装置10はリプログラム実行指令を出力しない。
以下、ステップS9、S10の判定条件例を詳細に述べる。ステップS9の判定条件は、例えば、条件A1:乗員が車両内に存在していないこと、条件A2:バッテリ電源+Bの電圧が所定値以上であること、条件A3:ドアロックポジションがロック状態であること、条件A4:シフトポジションがパーキングで且つパーキングブレーキがオン状態であること、条件A5:リプログラムの開始タイミングから所定時間以内に前述のA1〜A4の条件を満たしていること、などの条件をその一部又は全て満たすことである。
このときゲートウェイ装置10が必要な情報をゲートウェイ装置10自身又はECU22〜31等から取得し条件A1〜A5を満たすか判定したり、又は、各ECU22〜31のうち対象のECUが条件A1〜A5を満たすか否か自主的に判定すると良い。
条件A1は、前述した乗車判定処理により判定すると良い。条件A2は、バッテリ電源+Bの電圧の検出値を検出する検出器39a、49a出力結果、又は/及び、電源回路39、49の出力に基づいて判定すると良い。条件A3は、例えばドアECU22により取得されるドアロックモータの駆動によるドアロック/アンロック状態に基づいて判定すると良い。条件A4は、例えばECTECU28などにより取得されるシフトレバー位置センサのセンサ情報、パーキングECU又はブレーキECU27などのECUから取得されるパーキングブレーキのオン/オフ状態の検知センサの情報に基づいて判定すると良い。条件A5は、ゲートウェイ装置10や他のECUが例えばタイマを用いて時間を計測し、この計測時間が所定時間を経過する前に条件A1〜A4を満たすこととすると良い。これにより、ステップS9において乗車/降車状態を判定できる。
また、ステップS10の判定条件は、条件A10:ゲートウェイ装置10、DCM21、リプログスレーブRSに何らかのダイアグの異常を生じていないこと、条件A11:ゲートウェイ装置10、DCM21、リプログスレーブRSの動作温度が高温ではない、例えば適切な動作温度範囲内で動作していること、条件A12:リプログスレーブRS又はリプログスレーブRSに関連するECUが使用されていないこと、条件A13:バッテリ電源+Bの残量が充分、条件A14:ガソリンの残量が充分、例えばガソリン残量が所定以上であること、条件A15:車両ユーザ指示に応じて遠隔書換えする場合にはユーザ確認を得たこと、条件A16:ゲートウェイ装置10の中間バッファ領域(記憶部相当)にリプログラム対象の更新用ファイルが格納されていること、などの所定条件である。ゲートウェイ装置10はこれらの情報を当該ゲートウェイ装置10自身、DCM21、ECU22〜31等から取得して各条件A10〜A16を判定したり、又は、各ECU22〜31のうち対象のECUが該当する条件A10〜A16を満たすか否か自主的に判定し、その結果をゲートウェイ装置10に送信し、ゲートウェイ装置10が総合的に条件A10〜A16を満たすか判定すると良い。
条件A10は、ゲートウェイ装置10が、DCM21、ECU22〜31の全て又はリプログスレーブRSとなる対象ECUから異常の内容を示すダイアグ情報を取得して判定することが望ましい。条件A11は、例えばゲートウェイ装置10、DCM21、リプログスレーブRSに設置された温度センサの検出情報に基づいて判定すると良い。条件A12は、リプログスレーブRSの動作情報、及び、この動作情報に関連するECUの動作情報に基づいて判定すると良い。条件A13は、例えば検出部39a、49aによるバッテリ電源+Bの検出電圧が閾値電圧以上、又は、電源回路39、49の出力電圧が所定値以上である条件を満たすことを条件とすると良い。条件A14は、例えばメータECU23に接続されるガソリンの残量センサの検出情報に基づいて判定すると良い。
条件A15において、ゲートウェイ装置10は、携帯端末5の表示器5aに「プログラム書換を開始しても良いですか?」などのメッセージと共に確認ボタン(図示せず)を表示指令し、携帯端末5は確認ボタンが車両ユーザにより押下されこの押下信号を操作部5bを通じて受け付けたことを条件としてゲートウェイ装置10に確認完了信号を送信し、ゲートウェイ装置10が確認完了信号を受け付けたことを条件として条件A15を満たすと判定すると良い。条件A16は、図8のステップS6においてダウンロードDLが異常なく完了したことで可と判定すると良い。これにより、車両状態を判定できる。
ゲートウェイ装置10は、ステップS9及びS10の条件を満たしていないときには、走行不可である走行可否情報X2を携帯端末5に表示指令し表示器5aに表示させる。すると、車両ユーザは走行不可であると認識できる。この場合、ゲートウェイ装置10は、ステップS9及びS10の条件を満たすまで、リプログラム実行指令を出力しない。
ゲートウェイ装置10は、このようなステップS9、S10の条件を満たしていると判定したときには、図8のステップS11においてリプログスレーブRSに更新用ファイルを送信し、リプログラムを実行指令する。
ゲートウェイ装置10は、リプログスレーブRSに対応したECUに係る走行可否テーブルTA1に記された走行可否が走行不可で、且つ、ステップS9、S10の条件を満たすことを条件としてリプログラム実行指令しても良い。さらに、ゲートウェイ装置10は、リプログスレーブRSに対応した全てのECUに係る走行可否テーブルTA1に記された走行可否が走行可であることを条件としてリプログラム実行指令しても良い。
ゲートウェイ装置10が、図8のステップS11においてリプログスレーブRSに更新用ファイルを送信しリプログラム実行指令すると、リプログスレーブRSは更新用ファイルを受信しステップS12においてリプログラム処理を実行する。この書換処理は、エントリ、古いプログラムの消去処理、新たな更新用ファイルの書込処理、書き込まれた更新用ファイルのベリファイ処理、その事後処理などからなっている。
このようにゲートウェイ装置10がリプログラム実行指令するときには、図8のステップSB、SCにおいて、リプログラムの実施中であることを示す情報、及び、安定状態維持要求をリプログスレーブRS及びナビECU30を含む他の全てのECU22〜31に送信する。この処理を行うことで、ゲートウェイ装置10はリプログスレーブRSを含む全てのECU22〜31にリプログラムの可否状態、及び、走行可否の状態の維持を要求できる。
この安定状態維持要求は、例えば、状態C1:各ECU22〜31のリプログラムの可否状態の維持、状態C2:エンジン始動/停止用のキースイッチ(又はプッシュボタン)又はワイヤレスのキースイッチによるスイッチがユーザ操作されてもイグニッション電源IG又はアクセサリ電源ACCの状態を保持し各ECU22〜31への電源供給停止又は電源供給停止させないことを維持、状態C3:キーレスエントリーに用いられるワイヤレスキー又はスマートキー等による無線操作指示を受けてもドアロック状態を維持、状態C4:シフトポジションをパーキング状態に維持、することなどを、各ECU22〜31に要求するものである。またゲートウェイ装置10は、状態C5:ダウンロードのユーザ指示を受信してもダウンロード非実施、とするように自身のプログラムのサブルーチンを変更する。
各ECU22〜31は、安定状態維持要求を受け付けると、状態C1〜C4を維持するように、メモリ(例えばRAM44、フラッシュメモリ45)の保持内容を書換えたり、接続負荷(アクチュエータ)を制御する。状態C1を維持するため、各ECU22〜31は、リプログラムの可否状態を書換不可に設定するようにデータをメモリに保持する。状態C2を維持するため、ボディ系ECU22〜25は、スイッチ信号の変化に応じたアクセサリ電源ACC、イグニッション電源IGのリレー制御による出力停止を不可とする。また、状態C3を維持するため、ドアECU22はドアロックモータM1の状態を保持することでドアロック状態を維持し、状態C4を維持するため、ECTECU28はシフトポジションをパーキング状態に維持する。
安定状態維持要求は、ステップS9及びS10の条件を満たすことでリプログラム可能になった状態を、リプログスレーブRSを含む各ECU22〜31に対し安定的に維持するために設けられる。言い換えると、この安定状態維持要求は、車両内部の各状態(例えば、イグニッション電源IG、アクセサリ電源ACCによる電源電圧供給状態、シフトポジション、車室内無人状態、等)をリプログラム中においても安定的に保持するために設けられる要求を示す。ゲートウェイ装置10が、この安定状態維持要求を行うことで、例えばドアロック操作を禁止したり、パーキングブレーキをオン状態に保持したりするなど、車両の各状態を維持することができ、リプログラム処理を安定して実行完了できる。
この後、リプログスレーブRSはリプログラムを開始する。リプログスレーブRSは、更新用ファイルの書換処理を実施する開始タイミングなどにおいて走行可否信号をゲートウェイ装置10に通知する。リプログスレーブRSを構成するECU以外の他のECU(特に走行系バス13に接続されるECU26〜29)もまた、例えばゲートウェイ装置10からの要求に応じて走行可否信号をゲートウェイ装置10に送信する。このとき、ゲートウェイ装置10はこれらの複数の走行可否信号を受付けたときに、ステップS13において走行不可である旨の信号を何れか一のECUから受付けると、この走行不可の情報を優先して受付けると良い。
ゲートウェイ装置10は、このような走行不可の情報を受け付けることなく図8のステップS13において走行可であると判定すると、走行可能通知信号を例えば走行系バス13に出力する。すると、走行系バス13に接続されたECU26〜29は走行可能な状態にプログラム処理ルーチンを戻す。また、ゲートウェイ装置10は、図8のステップS13において走行可であると判定したときには、図8のステップS14において走行可である旨を報知指令する。このとき例えばゲートウェイ装置10は、ユーザの携帯端末5又は/及びナビECU30に走行可能通知信号を通知する。例えば携帯端末5が走行可能通知信号を受信すると、図12(a)に示すように、携帯端末5は、表示器5aに、プログラム更新に係る進捗状況X1、走行可否情報X2、キャンセルボタンB3を表示させる。この表示器5aの表示画面には、プログラム更新途中であっても走行可能であることを示すメッセージが表示されている。
ゲートウェイ装置10は、ステップS13において何れか一のECUから走行不可である旨の走行可否信号を受け付けると、走行系バス13に走行可能通知信号を出力しない。このとき走行系バス13に接続されたECU26〜29は走行不可と判定し走行制御を不能とする。また、ゲートウェイ装置10は走行系バス13に走行不能通知信号を出力するようにしても良い。このときも走行系バス13に接続されたECU26〜29は走行不可と判定し走行制御を不能とする。
このときゲートウェイ装置10は、図8のステップS15において走行不可である旨を示す走行可否情報X2を報知指令する。携帯端末5は走行不可である信号を受信したとき、又は、走行可であることを受信していないときには、図12(b)に示すように、走行不可であることを示す走行可否情報X2を表示器5aに表示させる。このとき、走行可否情報X2と共に例えばあと何秒で走行可能になるかを示す残余時間情報X3bを携帯端末5の表示器5aに表示させることが望ましい。
そして、その後、リプログスレーブRSがリプログラム処理を実行完了すると、この実行完了した情報をゲートウェイ装置10に通知し、ゲートウェイ装置10は、この情報を携帯端末5にリプログラム完了情報を通知する。すると図12(c)に示すように、携帯端末5は、リプログラム完了した後に、走行可否情報X2を可とし、走行可能であることを表示することで車両ユーザに明示する。
図9は中断要求がなされた場合のシーケンス図を示す。ここでは、車両ユーザが携帯端末5を操作しキャンセルボタンB3を押下したことで中断要求する例を示す。車両ユーザが図9のステップS20において携帯端末5を操作しキャンセルボタンB3を押下して中断要求すると、この中断要求はウェブサーバ3及びDCM21を通じてゲートウェイ装置10に与えられる。ゲートウェイ装置10は、この中断要求を受け付けると、図9のステップS21においてリプログスレーブRSに中断コマンドを送信することで中断要求する。このとき、リプログスレーブRSは、プログラム更新処理を走行に影響しない状態で停止し、又は、プログラム更新処理を初期状態として、走行可能状態に戻して書換えを中断する。
また、ゲートウェイ装置10は中断要求を受け付けた後、図9のステップS22においてリプログスレーブRSから中断完了した旨の中断完了信号を受信すると、図9のステップS23において走行可否信号として走行可能通知信号をDCM21及びウェブサーバ3を通じて携帯端末5に送信したり、ナビECU30に送信したりする。携帯端末5は、この走行可能通知信号を受け付けると、図13に示すように、走行可能であることを示す走行可否情報X2を携帯端末5の表示器5aに表示させる。これにより、車両ユーザは走行可能であることを判断できる。また、ゲートウェイ装置10は走行系バス13に走行可能通知信号を送信する。すると走行系バス13に接続されたECU26〜29は走行可能であると判断でき、車両走行可能処理ルーチンに処理を戻す。
前述した例では、携帯端末5がウェブサーバ3を通じて中断要求する例を示しているが、車両内で中断要求する場合には、他のECU(例えばナビECU30)が中断要求をゲートウェイ装置10に送信する。これにより処理が中断されることになる。
<まとめ>
本実施形態によれば、ゲートウェイ装置10が、走行可否情報X2を携帯端末5に表示指令しているため、表示器5aにより車両ユーザに運転可否を適切に報知できる。これにより車両ユーザは走行可否を確認することができ、運転可否を即座に判断できる。例えば、システム1が走行に直接影響しない部分のリプログラム実行している場合には、運転可能であることを報知できるため、車両ユーザに少しでも素早く運転してもらうことができる。
また、例えば車両ユーザが緊急であると判断した場合には、車両ユーザがキャンセルボタンB3を押下することでゲートウェイ装置10が中断要求を受け付ける。このとき、ゲートウェイ装置10がこの中断要求を受け付けると中断コマンドを送信することで更新用ファイルの書換処理を中断要求する。このとき、緊急の場合においても、リプログスレーブRSは、プログラム更新処理を走行に影響しない状態で停止し、又は、プログラム更新処理を初期状態として、走行可能状態に戻して書換えを中断する。そして、ゲートウェイ装置10は中断完了後に携帯端末5に走行可能となった旨を表示指令する。これにより、リプログラム途中であっても車両ユーザが誤って操作することがなくなり、遠隔書換えであっても車両ユーザが安全な状態で運転走行できる。なお、ゲートウェイ装置10は、車両ユーザによる携帯端末5の操作を判断することで書換中断が必要となったときに、中断コマンドを送信するようにしても良い。
ゲートウェイ装置10は、リプログスレーブRSのCANID,接続バス又は名称を走行可否判定テーブルTA1に照合して走行可否を判定し、この走行可否情報を携帯端末5に表示指令するときには、表示器5aがこの走行可否情報X2を表示するため、車両ユーザは走行可否情報X2を即座に確認できる。
ゲートウェイ装置10は、走行可否判定テーブルTA1に記憶されたリプログスレーブRSに対応したECUの走行可否が走行可であると判定されたことを条件としてリプログスレーブRSにリプログラム実行指令すると、リプログラム処理を待機する必要なく即座に実行できる。
ゲートウェイ装置10は、リプログスレーブRS、又は、リプログスレーブRSを構成するECU以外の他のECUから走行可否信号を受信すると当該走行可否信号に係る走行可否情報X2を携帯端末5等に表示指令する。このため、車両ユーザは走行可否情報X2を確認できる。
図14に図11に代わる表示画面を変形例として示すが、リプログラムを開始する前に、例えば更新開始後の待機時間を表示するようにしても良い。すなわち、図14に示すように、ゲートウェイ装置10の表示指令に応じて、携帯端末5は「更新開始後、走行するにはx0秒待機必要です。」という残余時間情報X3bを携帯端末5の表示器5aに表示させても良い。
<変形例>
以下、ユーザが車両に乗車した状態においてリプログラム開始指示する場合について説明する。前述では、ユーザが車両の外部からエンジンを始動しリプログラム指示する形態を示したが、ユーザが乗車した状態においてキースイッチ(又はプッシュボタン)を操作しエンジンを始動した場合であっても適用できる。
例えば、図8のステップS9において判定される乗車/降車状態の条件A1〜A5のうち何れかは必要に応じて設ければ良いが、例えば着座センサ、侵入センサを装備していない車両も存在する。このため条件A1を排除した場合について考慮する。
このような場合、図8のステップS9の乗車/降車状態は、条件A2〜A5を満たしたときに判定条件が成立することから、ユーザがたとえ車両に乗車していたとしても、例えばドアロックをロック状態にすることでドアロック条件A3を満たし、シフトレバーやパーキングブレーキを前述した所定の状態に保持することで当該条件A4を満たし、車両電源条件A2や時間条件A5を満たしていれば、ステップS9の乗車/降車状態の条件を満たすことになる。
ユーザが、車内のキースイッチ、プッシュボタンの操作に応じてエンジンを始動した後、表示器46の操作部46bを操作しリプログラム指示することが想定される。リプログラム開始するためには、図8のステップS9、S10を満たす必要があることから、ユーザが例えばステップS9の条件A3、A4等を意図的に満たすように車両装備(例えばシフトレバー、ドアロック、パーキングブレーキ)を操作することでステップS9の条件が成立する。この場合、図8のステップS11において、リプログラム実行指令がリプログスレーブRSに出力される。ユーザが乗車していることから、この後、ユーザが車両装備について様々な操作をしてしまうと、車両状態が変化しリプログラムが失敗したりすることも想定される。
このようなことを考慮した場合、特にゲートウェイ装置10が図8のステップSB、SCにおいて安定状態保持要求をリプログスレーブRSや他のECUに出力する処理を設けることが望ましい。すると、各ECU22〜31は、車両状態を安定的に保持することができ、特にユーザによる車両操作部(操作部46b、キースイッチ又はプッシュスイッチ、シフトレバー、ハンドル、アクセル等)の誤操作、当該誤操作に基づく車両誤発進、リプログラム処理失敗、ユーザの車外への脱出、等を未然に防ぐことができる。
また同様に、ステップS10の判定条件A10〜A16のうち何れかは必要に応じて設ければ良い。また、プログラム更新処理の状況を車載表示装置となる表示器46の表示画面に表示させる場合にも同様に適用できる。
(第2実施形態)
図15から図19は第2実施形態の追加説明図を示している。本実施形態では、進捗表示指令処理、進捗判定処理に特徴を備えているため、この進捗表示指令処理、進捗判定処理について説明する。第1実施形態に示したように、リプログスレーブRSは更新用ファイルを受信するとリプログラム処理を実施する。
本実施形態に係る進捗表示指令処理、進捗判定処理は、リプログマスタRMとなるゲートウェイ装置10が行う処理であり、前述のリプログスレーブRSがリプログラム処理を行っている最中にも並行して行われる処理である。
本実施形態においても、ゲートウェイ装置10がリプログマスタRMとして機能する形態を示す。本実施形態に係る携帯端末5は、GPS信号を受信するGPS受信機を搭載しており、このGPS受信機に基づいて位置特定する位置特定機能を備える。
まず図15のU1に示すようにゲートウェイ装置10は報知媒体を決定する。この報知媒体は、例えば各種ECUに接続される表示器46、携帯端末5、例えばゲートウェイ装置10に搭載される例えばLED38などの表示器、など各種の表示媒体を示す。図16に報知媒体の決定方法の流れをフローチャートで示す。
この図16に示すように、ゲートウェイ装置10が、ステップV1において携帯端末5の車両からの距離を特定する。例えば、ゲートウェイ装置10は、携帯端末5の位置特定機能によりこの現在位置を受信し、この現在位置とナビECU30により特定される現在位置とを比較し、携帯端末5が車両周辺に存在しているか否かを判定する。また、例えば近距離無線技術(例えば通信可能範囲10〜100m程度)により通信確立しているか否かを判定材料としても良く、例えばブルートゥース技術を用いた場合にはペアリングしたか否かを判定し、この判定結果に基づいて車両周辺に存在しているか否かを判定しても良い。
そしてゲートウェイ装置10は、携帯端末5が車両周辺に存在しないと判定したときにはステップV2にてNOと判定し、ステップV3において報知媒体をユーザの所持する携帯端末5に決定する。逆に、ゲートウェイ装置10は、携帯端末5が車両周辺に存在していると判定したときにはステップV2にてYESと判定し、ゲートウェイ装置10は、ステップV4においてユーザが乗車しているか降車しているか特定する。例えば、このとき、ゲートウェイ装置10は、前述実施形態に示したように車室内に予め設置された着座センサ又は侵入センサを用いて特定すると良い。
ゲートウェイ装置10は、ステップV5において運転者が乗車中であると判定したときには、ステップV6において報知媒体を車載表示装置に決定する。この車載表示装置は表示器46を表すものであり、CID、HUD、インストメントパネルなど運転者が存在すると判定された車内から直接視認可能な位置に設置されている表示装置である。このため、運転者が、乗車中であればこれらの車載表示装置の表示画面に表示された情報を即座に確認できる。
逆に、ゲートウェイ装置10は、ステップV5において運転者が乗車中でないと判定したときには、ステップV7において報知媒体をユーザの携帯端末5と、LED38とに決定する。このとき、ゲートウェイ装置10は、ステップV7において例えばLED38に決定したときには、進捗状況X1が0%に近いときには点滅周期を長くし、進捗状況X1が100%に近いときには徐々に点滅周期を短くすると良い。また、LED38の色を変化させても良い。このため、運転者が乗車中でなくても、車両ユーザ等はこれらの携帯端末5の表示器5a又はLED38の点灯/点滅状態を確認することで即座に情報を確認できる。
例えば、ゲートウェイ装置10は携帯端末5に表示させることを決定したときには図17(a)に示す内容を表示させるように携帯端末5に指令する。ここでは、第1実施形態と同様に、図17(a)に示すように、携帯端末5は、進捗状況X1、走行可否情報X2、キャンセルボタンB3を表示器5aに表示させる。初期状態では、進捗状況X1は0%を示しており、走行可否情報X2は走行可能であることを示しており、キャンセルボタンB3は更新中断を受付けるように表示している。
ゲートウェイ装置10が報知媒体を決定した後には、図15の処理に戻り、ステップU2においてリプログラムが進行途中であるか完了したかを判定する。ゲートウェイ装置10が、図15、図16に示す一連の処理を行うときに、第1実施形態に示した処理が並行して行われているが、ゲートウェイ装置10はリプログラムが進行途中であるときには、ステップU3において進捗状況を算出する。
全体シーケンスとしては、ゲートウェイ装置10は更新用ファイルをリプログスレーブRSに送信し、このリプログスレーブRSから応答信号を受信することで送信終了更新用ファイルを把握することができる。
車載ダイアグ通信仕様に準拠した方法を説明する。ゲートウェイ装置10は、乗用車のECUのダイアグ通信仕様であるISO14229で規定されたUDS(Unified Diagnostic Services)等の規格に準拠してリプログラム時における更新用ファイルをメッセージに分割してリプログスレーブRSに送信する。このときゲートウェイ装置10は、リプログスレーブRSに対し、データ転送開始を示すサービスID(SID34)を送信し、その後、実データ転送を示すサービスID(SID36)と共にデータを複数回送信し、データ転送終了を示すサービスID(SID37)を送信する。
このためゲートウェイ装置10のマイコン36はリプログスレーブRSに送信した送信データ量に応じて進捗状況を判定することができる。具体例としては、ゲートウェイ装置10のマイコン36が更新用ファイルの書換データ量の全体量をリプログスレーブRSに送信した送信データ量で除して進捗割合を進捗状況として算出すると良い。
このとき、実データ転送を示すSID36の繰り返し回数が全体の回数に対して何パーセント進行したかに応じて進捗状況を判定しても良いし、また、これらの一連のサービスID(SID34、SID36、SID37)の送信繰り返し回数を計数し、この送信繰り返し回数に応じて進捗状況を判定しても良い。このような場合、ゲートウェイ装置10は、各ECU22〜31の更新用ファイルの記憶用メモリの例えば1Mbyteの記憶領域に対し、256byte、1kbyteなど単位ブロック(=セクタ)毎に分けて更新用ファイルを送信するが、この送信データ量について、ブロックを単位として全体ブロックに対しどれだけのブロックを送信したか、により進捗状況を判定しても良い。すなわちブロック(=セクタ)を単位として進捗状況を判定しても良い。
また、リプログスレーブRSに送信処理された更新用ファイルの個数が更新用ファイルの全体個数の何パーセントとなっているか、すなわち更新用ファイルの個数を単位として進捗状況を判定しても良い。また、例えばリプログスレーブRSが全体のECU22〜31のうちの一部の幾つか複数のECUを対象とされているときには、ゲートウェイ装置10は何個目のECUを対象として更新用ファイルを送信しているかを判定し進捗状況を判定しても良い。すなわちECUへの送信終了個数に応じて進捗状況を判定しても良い。
また、リプログスレーブRSとなるECU22〜31は図3に示すマイコン41を主として構成されているものの、当該マイコン41は、主のメインマイコンとサブマイコンとを備え全体で複数個備えて構成されている場合もある。このような場合、これらのメインマイコン、サブマイコン毎に更新用ファイルをリプログラムする場合もあり、このような場合には、メインマイコン、サブマイコンをそれぞれ1つのマイコンと見做し、全体の更新対象となるメインマイコン、サブマイコンの個数に対し、何パーセントのマイコンに記憶される更新用ファイルを送信したかに応じて進捗状況を判定しても良い。
さらに、更新用ファイルのデータ量に応じて書換完了予測時間を算出し、この算出された書換完了予測時間に対する書換開始からの時間を用いて進捗状況を判定しても良い。これらの進捗状況の判定方法は組み合わせて用いることもできる。これにより詳細な進捗状況X1を取得でき、表示器5a、46等へのパーセンテージの表示粒度を細かくして進捗表示できる。
そして、ゲートウェイ装置10は、このように進捗状況を判定した後、ステップU4において走行可否を判定する。ゲートウェイ装置10は、ステップU4においてリプログスレーブRSのCANID、接続バス、名称等の関係情報を走行可否判定テーブルTA1に照合して走行可否を読み出して判定し、この判定処理後に携帯端末5に表示指令し、図17(b)に示すように、ステップU5において、進捗状況X1と共に走行可否情報X2を携帯端末5の表示器5aに表示させる。
ゲートウェイ装置10は、ステップU4において判定された走行可否が走行不可とされているときには、ステップU7において前述の進捗状況に基づいて走行可となるまでの時間を算出し、ステップU8において走行可となるまでの残余時間を表示する。この残余時間は、全体処理量に対しての処理量(例えば前述の送信データ量、受信データ量、更新用ファイルの個数、ブロック個数、ECU個数の割合等)を減じた残余処理量に基づいて算出される。
このとき、例えば走行不可となったときには、図17(b)に画面表示イメージを示すように、ゲートウェイ装置10は、前述の進捗状況X1、走行可否情報X2と共に、走行可となるまでの残余時間情報X3bを表示器5aに表示する。その後、リプログラムが完了すれば、リプログスレーブRSがゲートウェイ装置10にこの旨を通知するため、ゲートウェイ装置10は携帯端末5にこの旨を通知する。これにより携帯端末5は表示器5aにリプログラム完了した旨を表示して終了する。
また、図17(a)、図17(b)に示したように、ユーザによる強制中断用のキャンセルボタンB3を表示器5aの表示画面に表示させるようにすると良い。ユーザはこのキャンセルボタンB3を押下することで携帯端末5のマイコン50はこの要求を受付ける。すると、携帯端末5はこの要求をゲートウェイ装置10に伝達する。これにより、ゲートウェイ装置10はリプログラム用の更新ファイルの送信処理を中断する。
例えば、ゲートウェイ装置10は、例えば走行系バス13に接続されるECU26〜29をリプログラムしているとき、リプログラムの中断を不可と判定したときには、このキャンセルボタンB3をアンイネーブル状態とし、中断可能なときにこのキャンセルボタンB3をイネーブル状態とすると良い。
図18は中断時におけるゲートウェイ装置10及び携帯端末5の処理内容の流れを示す。携帯端末5がキャンセルボタンB3を受け付けると、このキャンセルボタンB3の押下情報が携帯端末5からDCM21を通じてゲートウェイ装置10に通知される。ゲートウェイ装置10は、ステップW2において走行に影響が出ない状態で書換中止する。すなわち、リプログスレーブRSは前述実施形態に示したように走行可否情報を送信するが、ゲートウェイ装置10はこの走行可否情報を受信し、ゲートウェイ装置10はこのときの走行可否情報が走行可となるまで待機し、そして、走行可となったタイミングで書換処理を中止する。
ゲートウェイ装置10のCPU32はこの書換中止情報をフラッシュメモリ35などの記憶媒体に記憶する。この場合、ゲートウェイ装置10は、このとき更新用ファイルの書換処理を途中で停止しても安全走行可能となるタイミング、又は、リプログラム処理を停止し書き換え前のプログラムに戻すタイミング、までの時間を走行に影響が出なくなる程度の時間として算出し、この時間を携帯端末5に通知する。すると図17(c)に示すように、携帯端末5は、この通知された時間情報X3cを、「キャンセルされました。」などのキャンセルボタンB3の受付メッセージX3dと共に表示器5aに表示させる。
携帯端末5は、算出された時間情報X3cをタイマなどを用いてカウントし、この時間が経過すると、ステップW3において走行可否情報X2を「否」から「可」に変更表示させると共に「走行可能です」などの走行可能メッセージX3eを表示器5aに表示させる。
なお、携帯端末5が走行可能メッセージX3eを表示器5aの表示画面に表示させるタイミングは、ゲートウェイ装置10が走行可となる走行可否信号をリプログスレーブRS又は他のECU(例えば走行系バス13に接続されるECU26〜29)から受付けた後であることが望ましい。すなわち、ゲートウェイ装置10は、携帯端末5に時間情報X3cを通知した後、リプログスレーブRSから受け付ける走行可否情報に基づいて走行可否を判定し、その走行可否情報が走行可となったタイミングで携帯端末5にこの旨を通知し、その後、携帯端末5が走行可能メッセージX3eを表示器5aに表示させることが望ましい。すると、ユーザは走行可能であるということを理解でき、ユーザは安全に車両運転を開始できる。
その後、通常通りユーザが車両を運転しエンジン停止した後、ゲートウェイ装置10が主となってリプログラム処理を開始する。例えば、ゲートウェイ装置10は再度エンジン起動したときにフラッシュメモリ35を参照し書換中止情報が記憶されていることを確認すると、リプログラム処理を開始する。
前述と同様に、ゲートウェイ装置10は、走行可となるまでの時間を算出し、DCM21を通じて走行可となるまでの残余時間情報X3bを携帯端末5に通知する。すると携帯端末5は、図17(e)に示すように、走行可否情報X2を「可」から「否」に切り替えて表示器5aに表示させると共に、残余時間情報X3bを表示器5aに表示させる。
そして、ゲートウェイ装置10は、リプログラムが完了したことをリプログスレーブRSから受け付けると、フラッシュメモリ35に記憶された書換中止情報をクリアすると共に、携帯端末5にこの完了情報を通知し、携帯端末5が進捗状況X1を100%として表示させると共に、走行可否情報X2を「否」から「可」として走行可能であることをユーザに知らせる。これにより、ユーザはリプログラム完了したことを認識できると共に、安全に車両走行可能であるということを理解でき運転開始できる。
本実施形態によれば、ゲートウェイ装置10が表示指令することで携帯端末5は走行可否情報X2を表示器5aに表示させているため、車両ユーザに走行可否を適切に知らせることができる。ユーザは運転可能であるか否かを判定でき、これにより安全性を確保できる。
また、ゲートウェイ装置10が表示指令することで携帯端末5は進捗状況X1を表示器5aに表示させているため、車両ユーザに進捗状況X1を適切に知らせることができる。車両ユーザは進捗状況が報知媒体を通じて知らされたときにはプログラム更新終了までの時間を大よそ把握することができる。したがって、車両ユーザはプログラム更新中か判断することができ、誤って運転開始してしまうことを極力防止できる。これにより安全性を確保できる。
例えば、車両ユーザが進捗状況X1を把握できても、表示粒度がリプログラム中又はリプログラム終了の2段階などと荒い場合には、車両ユーザはリプログラム完了しているかどうかしか把握できない。このような場合、リプログラム時間が長い場合にリプログラムが失敗したと判断してしまう恐れがある。
本実施形態においては、ゲートウェイ装置10がリプログスレーブRSに送信した送信データ量に応じて進捗状況を判定したり、ECUの送信終了個数に応じて進捗状況を判定したり、送信処理された更新用ファイルの個数に応じて進捗状況を判定したり、書換完了予測時間を算出し、書き換完了予測時間に対する書き換開始からの時間を用いて進捗状況を判定している。このため、ゲートウェイ装置10が表示指令することに応じて、携帯端末5は進捗表示の粒度をパーセンテージ表示するなどのように極力細かくして正常に進行していることを通知できる。このため、車両ユーザは、安心してリプログラム終了を待機できる。
また、ゲートウェイ装置10が表示指令することで携帯端末5は残余時間情報X3bを表示器5aに表示させているため、ユーザは、どの程度待機すれば車両を運転可能であるかを的確に判断できる。ユーザは待ち時間を有効活用できる。
また、携帯端末5はキャンセルボタンB3を表示器5aに表示させ、このキャンセルボタンB3の押下を受付けるように構成されているため、ユーザは中断したいタイミングで中断指令できる。
また、ユーザによりキャンセルボタンB3が押下され受け付けたとしても、ゲートウェイ装置10及びリプログスレーブRSは走行に影響が出ない状態となり走行可と判定されるまでリプログラムを停止せず継続しているため、ユーザは車両走行に影響が出ない程度のプログラム書換状態において運転することができ安全に運転できる。
図19は本実施形態に係るリプログマスタRMとなるゲートウェイ装置10の処理内容をフローチャートにまとめて示している。ゲートウェイ装置10は、外部からリプログラム指示を受け付けると、ゲートウェイ装置10はステップY1においてリプログラムを実行するが、その後ステップY2において進捗状況X1を算出し判定する。
そして、ゲートウェイ装置10はステップY3において走行可否を判定し、ステップY4においてこれらの走行可否情報X2、進捗状況X1を予め設定された表示器(例えば表示器5a、LED38)に表示指令する。進捗状況X1をユーザ提示することで、ユーザは詳細な進捗状況X1を把握することができ、書換中に誤って操作することが無くなり、遠隔書換指令しても安全に書換可能となる。
そして、ゲートウェイ装置10は、リプログラムを完了するまでステップY1から処理を繰り返す。リプログラム完了の判断方法はリプログスレーブRSからのリプログラム完了情報を受付けて完了と見做したタイミングでリプログラム完了したと判断することが望ましいが、更新用ファイルをリプログスレーブRSに送信完了した時点から所定時間経過したタイミングをリプログラム完了したと判断しても良い。本実施形態では、このようにゲートウェイ装置10が主となって進捗状況、走行可否を判定し、表示器(例えば5a)に表示指令している。このような形態によれば、ゲートウェイ装置10が情報を統括制御できる。
(第3実施形態)
図20及び図21は第3実施形態の追加説明図を示している。図20及び図21は本実施形態に係るリプログマスタRMとなるゲートウェイ装置10及びリプログスレーブRSの処理内容をフローチャートにより示している。これらの図20及び図21に示すように、図19に示したリプログマスタRMとなるゲートウェイ装置10の処理内容をリプログスレーブRSに分担しても良い。
図20に示すように、リプログスレーブRSが主となりステップT1において進捗状況を算出して判定し、ステップT2において走行可否を判定し、ステップT3においてリプログマスタRMに進捗状況、走行可否の情報を送信する。このステップT2において、リプログスレーブRSは、ゲートウェイ装置10から受信した更新用ファイルの受信データ量に応じて進捗状況を判定すると良い。具体例としては、リプログスレーブRSが、受信された受信データ量を予めゲートウェイ装置10から受信した更新用ファイルのデータ全体量で除して進捗割合を算出して進捗状況を判定しても良い。このとき、実データ転送を示すSID36の繰り返し回数が全体の回数に対して何パーセント進行したかに応じて進捗状況を判定しても良い。
これらの一連の処理をリプログラム完了するまで繰り返す。また、リプログマスタRMとなるゲートウェイ装置10は、ステップY15においてリプログスレーブRSから進捗状況、走行可否情報を取得し、ステップY16において表示器(例えば5a)に表示指令する。このとき、リプログマスタRMとなるゲートウェイ装置10はサービスID(SID22)を出力することでリプログスレーブRSから定期的に進捗情報を取得することができる。
このような形態によれば、ゲートウェイ装置10とリプログスレーブRSとの間で処理負担を分担できる。リプログラムの完了タイミングをリプログスレーブRSの完了情報に基づいて判定しているため、リプログラム完了タイミングを正確に判定できる。
前述実施形態及び本実施形態に示したように、走行可否の判定処理、進捗状況の判定処理は、リプログマスタRM、リプログスレーブRSの何れが行っても良い。
(他の実施形態)
本発明は、前述した実施形態に限定されるものではなく、種々変形して実施することができ、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。例えば以下に示す変形又は拡張が可能である。
前述した形態では、リプログマスタRM又はリプログスレーブRSが進捗状況を取得し、表示器46に表示させる形態を説明したが、これに限定されるものではなく、センタ装置4のウェブサーバ3側に進捗状況を送信し、ユーザがこのウェブサーバ3に携帯端末5の操作部5bを操作してアクセスすることで進捗状況X1を確認するようにしても良い。この場合、ウェブサーバ3が報知媒体として構成される。前述の走行可否情報X2についても同様である。
前述した実施形態のテーブルTA1に設定されたCANIDやECUの名称と走行可否との関係は一例に過ぎず、これに限定されるものではない。
前述実施形態においては、ボディ系バス12、走行系バス13、マルチメディア系バス14等のバス12〜14に各系統のECU22〜31が接続されている形態を示しているが、ECUの種類は前述実施形態で説明したものに限られるものではない。
前述実施形態においては、ボディ系バス12、走行系バス13、マルチメディア系バス14等のバス12〜14に各系統のECU22〜31が接続されている形態を示しているが、これに限定されるものではない。例えば、これらのECU22〜31の一部又は全部が一つのバスに接続されていても良い。特に前述実施形態ではボディ系バス12に接続されたECU22〜25とマルチメディア系バス14に接続されたECU30、31とは、同じバスに接続されていても良い。また、ECU22〜31の接続バスの系統を変更しても良い。また各ECU22〜31の少なくとも2つ以上の機能は1つのECUに統合して構成しても良い。
前述実施形態の車両用システム1においては、ゲートウェイ装置10をリプログマスタRMとして用いた形態を示したが、これに限定されるものではない。例えば、リプログスレーブRSとして機能するECU以外のECUのうち何れか、携帯端末5、及び、モニタツール48の何れか一つの構成を、リプログマスタRMとして機能させるようにしても良い。
前述実施形態の車両用システム1においては、ゲートウェイ装置10が走行可否判断テーブルTA1を備えた形態を示しているが、これに限定されるものではない。例えば、ECU22〜31又は携帯端末5のうちの何れかに走行可否判断テーブルTA1を記憶させ、システム1内でこの走行可否判断テーブルTA1を共有する構成であってもよい。
LED38はゲートウェイ装置10に接続されている形態を示したが、他のECU22〜31に接続されていても良い。表示器46はナビECU30に接続されている形態を示したが、他のECU22〜29、31に接続されていても良い。
前述説明した各種センサ(例えば、パーキングブレーキのオン/オフ状態の検出センサ、シフトレバー位置センサ、ガソリンの残量センサ)は、前述説明した対象ECUに接続されていなくても良い。この各種センサ(例えば、パーキングブレーキのオン/オフ状態の検出センサ、シフトレバー位置センサ、ガソリンの残量センサ)が前述以外の他のECUに接続されており、バス11〜15を通じて通信することで、ゲートウェイ装置10やその他のECUがこれらのセンサ情報を取得するようにしても良い。
報知媒体となる表示器5a、46を選択して各種メッセージを表示する形態を示したが、報知媒体は前述した実施形態に限られるものではなく、例えばナビECU30やオーディオECU(図示せず)を通じて車両に搭載されたスピーカを通じて音を報知させる形態に適用しても良い。
フラッシュメモリ35、45を記憶部として構成した形態を示したが、これに限定されるものではない。例えば、RAMなどの揮発性メモリ、EEPROMなどの不揮発性メモリを記憶部として適用しても良い。前述した複数の実施形態を組み合わせて構成しても良い。
図16のステップV2において携帯端末5が車両周辺に存在すると判定したことを前提として車両ユーザの乗車/降車状態を特定する実施形態を示したが、これに限定されるものではない。すなわちステップV2は必要に応じて設ければ良い。
携帯端末5、ゲートウェイ装置10、リプログスレーブRS以外のECU、モニタツール48の何れかは、リプログマスタRMを構成する。ECU22〜31の何れか一つ以上のECUはリプログスレーブRSを構成する。リプログマスタRMのマイコン36又は41は走行可否を取得する取得部として構成される。また、リプログマスタRMのマイコン36又は41は車両乗員の乗車/降車状態を判定する乗車降車状態判定部として構成される。また、リプログマスタRMのマイコン36又は41はエンジンの動作/非動作状態を判定する車両状態判定部として構成される。また、リプログマスタRMのマイコン36又は41は、車両ユーザにより操作される端末5、46から中断要求を受付けたときにはリプログスレーブRSに中断コマンドを送信し更新用ファイルの書換処理を中断要求する中断要求部として構成される。また、リプログマスタRMのマイコン36又は41はリプログスレーブRSにリプログラム実行指令するリプログラム実行指令部として構成される。また、リプログマスタRMのマイコン36又は41は、リプログラム実行指令部がリプログラム実行指令をリプログスレーブRSに送信するときに、リプログスレーブRSを含む全てのECUにリプログラムの可否状態及び走行可否の状態の維持を要求する安定状態維持要求部として構成される。
また、リプログマスタRMのマイコン36又は41は、走行可否信号に係る情報を報知媒体(携帯端末5、LED38、表示器46)に報知指令する報知指令部として構成される。リプログマスタRMのマイコン36又は41は車両ユーザに操作された端末5の車両からの距離を特定する距離特定部として構成される。このときリプログマスタRMのマイコン36又は41は距離特定部により特定された距離に応じて端末が車両周辺に存在するか否かを判定する存否判定部として構成される。リプログマスタRMのマイコン36又は41は乗車降車状態特定部として構成される。ウェブサーバ3、表示器5a、LED38、表示器46は走行可否又は進捗状況を報知する報知媒体として構成される。特に表示器46は車載表示装置として構成される。フラッシュメモリ35、45等は記憶部として構成される。
(その他の観点での説明)
また、各実施形態において、リプログマスタRMは、進捗状況を判定する進捗判定部、進捗状況を報知指令する進捗報知指令部、進捗状況を報知制御する進捗報知制御部、進捗状況を表示制御する進捗表示制御部、進捗状況を取得する進捗状況取得部、車両の走行可否を判定する走行可否判定部、のうち少なくとも一部の機能を実現するように構成される。進捗判定部、走行可否判定部としての機能は、リプログスレーブRSが備えていても良い。
例えば、一つの構成要素が有する機能を複数の構成要素に分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また前述の実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、前述の2以上の実施形態の構成の一部又は全部を互いに組み合わせて付加しても置換しても良い。なお、特許請求の範囲に記載した括弧内の符号は、本発明の一つの態様として、前述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。