JPWO2018185994A1 - 制御装置、転送方法、およびコンピュータプログラム - Google Patents

制御装置、転送方法、およびコンピュータプログラム Download PDF

Info

Publication number
JPWO2018185994A1
JPWO2018185994A1 JP2018532476A JP2018532476A JPWO2018185994A1 JP WO2018185994 A1 JPWO2018185994 A1 JP WO2018185994A1 JP 2018532476 A JP2018532476 A JP 2018532476A JP 2018532476 A JP2018532476 A JP 2018532476A JP WO2018185994 A1 JPWO2018185994 A1 JP WO2018185994A1
Authority
JP
Japan
Prior art keywords
transfer
update program
vehicle
update
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018532476A
Other languages
English (en)
Other versions
JP6525109B2 (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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Publication of JPWO2018185994A1 publication Critical patent/JPWO2018185994A1/ja
Application granted granted Critical
Publication of JP6525109B2 publication Critical patent/JP6525109B2/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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

車内通信線を介して車載制御装置と接続され、前記車載制御装置とともに前記車内通信線を伝送路とする車内ネットワークを構成する制御装置であって、前記車載制御装置のための更新用プログラムを記憶する記憶部と、前記車内通信線の占有率を監視する監視部と、監視中の前記占有率に基づいて、記憶された前記更新用プログラムを前記車載制御装置に転送するタイミングを制御する転送制御部と、を備える、制御装置。

Description

この発明は制御装置、転送方法、およびコンピュータプログラムに関する。
本出願は、2017年4月5日出願の日本出願第2017−075117号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容を援用するものである。
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、車両の仕向け地やグレードなど応じて異なることがあり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。
たとえば、特許文献1には、車両制御プログラムを修正するための修正プログラムを外部装置である情報提供センタから受信し、情報提供センタからの要求に応じて当該プログラムを用いて車両制御プログラムを書き換えるシステムが開示されている。その際に、当該車両の動作状態が制御プログラムの書き換えが可能な状態であるか否かが判断され、可能な状態の場合に制御プログラムの書き換えが行われている。
特開2007−65856号公報
ある実施の形態に従うと、制御装置は車内通信線を介して車載制御装置と接続され、車載制御装置とともに車内通信線を伝送路とする車内ネットワークを構成する制御装置であって、車載制御装置のための更新用プログラムを記憶する記憶部と、車内通信線の占有率を監視する監視部と、監視中の占有率に基づいて、記憶された更新用プログラムを車載制御装置に転送するタイミングを制御する転送制御部と、を備える。
他の実施の形態に従うと、転送方法は、車内通信線を介して車載制御装置と接続され、車載制御装置とともに車内通信線を伝送路とする車内ネットワークを構成する制御装置から、車載制御装置のための更新用プログラムを車載制御装置に転送する方法であって、車内通信線の占有率を監視するステップと、監視中の占有率に基づいて、更新用プログラムを車載制御装置に転送するタイミングを制御するステップと、を備える。
他の実施の形態に従うと、コンピュータプログラムは、車内通信線を介して車載制御装置と接続され、車載制御装置とともに車内通信線を伝送路とする車内ネットワークを構成する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、コンピュータは、車載制御装置のための更新用プログラムを記憶する記憶部を有し、コンピュータを、車内通信線の占有率を監視する監視部と、監視中の占有率に基づいて、記憶された更新用プログラムを車載制御装置に転送するタイミングを制御する転送制御部と、として機能させる。
図1は、プログラム更新システムの全体構成図である。 図2は、ゲートウェイの内部構成を示すブロック図である。 図3は、ECUの内部構成を示すブロック図である。 図4は、管理サーバの内部構成を示すブロック図である。 図5は、プログラム更新システムにおいて実行される、制御プログラムの更新の流れの一例を示すシーケンス図である。 図6は、第1の実施の形態にかかるプログラム更新システムにおける転送制御処理の具体的な内容を表したフローチャートである。 図7は、第2の実施の形態にかかるプログラム更新システムにおける転送制御処理の具体的な内容を表したフローチャートである。
<本開示が解決しようとする課題>
車両に搭載されるECUの増加に伴って、更新用プログラムが増加する。また、技術開発の速度が速まるにつれて制御プログラムの更新頻度も高くなる。そのため、効率的に更新する必要がある。制御プログラムを効率的に更新する一つの方法として、サーバから受信した更新用プログラムを車両の走行中の状態で更新することが考えられる。
車両に搭載される複数のECUは車内ネットワークに接続され、制御用の情報をやり取りしながら協調して1つまたは複数の機能を実現することがある。特に走行中には、多く情報が車内ネットワーク上でやり取りされ、通信線の占有率が高くなることがある。
占有率の高い通信線を介して当該通信線の空きサイズに対して高サイズの更新用プログラムを対象のECUに転送しようとすると、車内ネットワークに過剰な負荷をかけることになる。車内ネットワークに過剰な負荷がかかることによって、転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりする可能性がある。転送時間が長引くと当該通信線の占有率の高い状態が長時間継続するため、走行中に必要な制御用の情報のやり取りに支障が生じる場合がある。制御用の情報のやり取りに支障が生じると機能の実現の妨げとなる場合がある。また、通信中の制御用の情報が損失した場合も機能の実現の妨げとなる場合がある。
本開示のある局面における目的は、車内ネットワークに過剰な負荷をかけることなく、効率的に制御プログラムを更新することができる制御装置、転送方法、およびコンピュータプログラムを提供することである。
<本開示の効果>
この開示によると、車内ネットワークに過剰な負荷をかけることなく、効率的に制御プログラムを更新することができる。
[実施の形態の説明]
本実施の形態には、少なくとも以下のものが含まれる。すなわち、
(1)本実施の形態に含まれる制御装置は車内通信線を介して車載制御装置と接続され、車載制御装置とともに車内通信線を伝送路とする車内ネットワークを構成する制御装置であって、車載制御装置のための更新用プログラムを記憶する記憶部と、車内通信線の占有率を監視する監視部と、監視中の占有率に基づいて、記憶された更新用プログラムを車載制御装置に転送するタイミングを制御する転送制御部と、を備える。
車内通信線の占有率に基づいて更新用プログラムを車載制御装置に転送するタイミングを制御することによって、車内通信線の占有率の高い状態での更新用プログラムの転送を行わないようにすることができる。このように制御することにより、転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりすることを防止しつつ、効率的に更新用プログラムを車載制御装置に転送することができる。
(2)好ましくは、転送制御部は、占有率から得られる車内通信線の空き帯域幅と、更新用プログラムのサイズとの比較結果を示す指標値を算出し、指標値を用いて更新用プログラムの転送の可否を判断する。
上記指標値を用いて更新用プログラムの転送の可否を判断することで、車内通信線の空き帯域幅に対して所定以上サイズの大きい更新用プログラムの転送を行わないようにすることができる。これにより、車内通信線の占有率の高い状態において当該車内通信線の空き帯域幅に対して高サイズの更新用プログラムが車載制御装置に転送されることを防止できる。
(3)好ましくは、指標値は、空き帯域幅に対する更新用プログラムのサイズの比率を示す値であって、転送制御部は、指標値が第1の閾値より小さい場合に更新用プログラムの転送を開始し、指標値が第1の閾値以上である場合には更新用プログラムの転送を開始しない。
第1の閾値を、転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりするような上記指標値に設定することにより、車内通信線の占有率の高い状態において当該通信線の空き帯域幅に対してサイズの大きい更新用データの転送を防止できる。
(4)好ましくは、転送制御部は、指標値が第1の閾値以上であり、かつ、所定の保留条件を満たす場合、更新用プログラムの転送を開始せずに、当該更新用プログラムが保留条件を満たす期間内に、再度、指標値を算出して当該指標値を用いて更新用プログラムの転送の可否を判断し、指標値が第1の閾値以上であり、かつ、保留条件を満たさない場合に更新用プログラムを転送しない。
これにより、保留条件を満たす期間内に車内通信線の占有率が変化(減少)して、指標値が第1の閾値より小さくなると当該更新用プログラムの転送が開始される。そのため、占有率が変化に応じて効率的に更新用プログラムを転送することができる。
(5)好ましくは、保留条件は、更新用プログラムとは異なる、転送対象の他の更新用プログラムがあることを含む。
これにより、上記指標値が第1の閾値以上であって転送が不可と判断された場合に、他の更新用プログラムがある場合に当該他の更新用プログラムの転送の可否の判断を先に行うことができる。これにより、転送対象の更新用プログラムが複数ある場合に、効率的に更新用プログラムを転送することができる。
(6)好ましくは、制御装置は出力装置と接続されて、更新制御部は、更新用プログラムの転送を開始しない場合には、出力装置に更新用プログラムの転送を開始しない旨の通知を行わせるための制御信号を出力する。
制御信号が出力装置に出力されることによって、出力装置では更新用プログラムの転送を開始しないことが通知される。この通知によって、ユーザは、車両を停車して更新モードに切り替えて更新用プログラムを転送したり、ディーラーに入庫して専用装置を車載制御装置に接続して更新用プログラムを転送したり、制御プログラムの更新のための有効な対処を採ることができる。このため、効率的に制御プログラムを更新することができる。
(7)好ましくは、空き帯域幅は、車内通信線に対して許容される最大占有率から占有率を除いた帯域幅であって、車内ネットワークは、最大占有率の異なる複数の車内通信線を含む。
これにより、車載制御装置が接続された車内通信線に応じた空き帯域幅が用いられて、更新用プログラムの転送のタイミングが制御される。このため、最大占有率の異なる複数の車内通信線が車内ネットワークに含まれる場合であっても、転送に用いる車内通信線ごとに柔軟に、当該車内通信線を用いた通信への負荷を抑えつつ効率的に更新用プログラムを転送することができる。
(8)好ましくは、転送制御部は、占有率に基づいて決定される更新用プログラムの転送速度と、更新用プログラムのサイズとを用いて転送完了までの所要時間を算出し、所要時間を用いて更新用プログラムの転送の継続の可否を判断する。
上記所要時間に基づいて更新用プログラムの転送の継続の可否を判断することで、転送完了までの所要時間が所定以上長くなるような大きいサイズの更新用プログラムの転送を中断できる。これにより、車内通信線の占有率の高い状態においてサイズの大きい更新用プログラムが転送されることを防止できる。
(9)好ましくは、更新制御部は、更新用プログラムの転送中に、所定の更新間隔で占有率に基づいて更新用プログラムの転送速度を更新し、更新された転送速度から所要時間を算出して、当該所要時間に基づいて更新用プログラムの転送の継続の可否を判断する。
これにより、転送中に車内通信線の占有率が変化した場合にも、当該更新用プログラムの転送速度を占有率に応じて適切な転送速度とすることができるとともに、更新後の転送速度によると転送完了までの所要時間が所定以上長くなる更新用プログラムの転送を行わないようにすることができる。このため、転送中の占有率の変化に応じて柔軟に更新用プログラムの転送を継続または中断することができる。
(10)好ましくは、更新制御部は、所要時間が第2の閾値以上である場合には、転送を中断する。
第2の閾値を、通常より長い転送時間や、通信障害が生じて通信中の制御用の情報が損失するような転送時間に設定することによって、このような転送時間が必要となるような転送速度が設定された更新用プログラムの転送を防止できる。
(11)好ましくは、更新制御部は、転送を中断すると、転送対象の他の更新用プログラムを車載制御装置に転送するタイミングを制御する。
これにより、算出された所要時間が第2の閾値以上であって転送を中断すると判断された場合に、他の更新用プログラムがある場合に当該他の更新用プログラムの転送の可否の判断を先に行うことができる。これにより、転送対象の更新用プログラムが複数ある場合に、効率的に更新用プログラムを転送することができる。
(12)好ましくは、制御装置は出力装置と接続されて、更新制御部は、更新用プログラムの転送を中断する場合には、出力装置に更新用プログラムの転送を中断する旨の通知を行わせるための制御信号を出力する。
制御信号が出力装置に出力されることによって、出力装置では更新用プログラムの転送を中断することが通知される。この通知によって、ユーザは、車両を停車して更新モードに切り替えて更新用プログラムを転送したり、ディーラーに入庫して専用装置を車載制御装置に接続して更新用データを転送したり、更新用プログラムの転送を再開するための有効な対処を採ることができる。
(13)本実施の形態に含まれる転送方法は、(1)〜(12)のいずれか1つに記載の制御装置において、当該制御装置から、車載制御装置のための更新用プログラムを車載制御装置に転送する方法である。
かかる転送方法は、上記(1)〜(12)の制御装置と同様の効果を奏する。
(14)本実施の形態に含まれるコンピュータプログラムは、コンピュータを、(1)〜(12)のいずれか1つに記載の制御装置として機能させる。
かかるコンピュータプログラムは、上記(1)〜(12)の制御装置と同様の効果を奏する。
[実施の形態の詳細]
以下に、図面を参照しつつ、好ましい実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<第1の実施の形態>
〔システムの全体構成〕
図1は、実施形態にかかるプログラム更新システムの全体構成図である。
図1に示すように、本実施形態のプログラム更新システムは、広域通信網2を介して通信可能な車両1、管理サーバ5およびDL(ダウンロード)サーバ6を含む。
管理サーバ5は、車両1の更新情報を管理する。DLサーバ6は、更新用プログラムを保存する。管理サーバ5およびDLサーバ6は、たとえば、車両1のカーメーカーにより運営されており、予め会員登録されたユーザが所有する多数の車両1と通信可能である。
車両1には、車内通信線16で接続された複数のECU30とゲートウェイ10とを含む車内ネットワーク(通信ネットワーク)4と、無線通信部15と、各ECU30によりそれぞれ制御される各種の車載機器(図示せず)と、が搭載されている。
車内ネットワーク4は複数の車内通信線16A,16Bを有し、車内通信線16A,16Bそれぞれにバス接続された複数のECU30による複数の通信グループを含む。ゲートウェイ10は、通信グループ間の通信を中継している。このため、ゲートウェイ10には車内通信線16A,16Bが接続されている。車内通信線16A,16Bを車内通信線16とも総称する。
無線通信部15は、携帯電話網などの広域通信網2に通信可能に接続され、車内通信線によりゲートウェイ10に接続されている。ゲートウェイ10は、広域通信網2を通じて管理サーバ5およびDLサーバ6などの車外装置から無線通信部15が受信した情報を、車内通信線16を介してECU30に送信する。
ゲートウェイ10は、ECU30から取得した情報を無線通信部15に送信し、無線通信部15は、その情報を管理サーバ5などの車外装置に送信する。
また、ECU30同士は、車内通信線16を介して情報を送受信する。
車両1に搭載される無線通信部15としては、車載の専用通信端末の他に、たとえば、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が考えられる。
図1では、ゲートウェイ10が無線通信部15を介して車外装置と通信を行う場合が例示されているが、ゲートウェイ10が無線通信の機能を有する場合には、ゲートウェイ10自身が管理サーバ5などの車外装置と無線通信を行う構成としてもよい。
また、図1のプログラム更新システムでは、管理サーバ5とDLサーバ6とが別個のサーバで構成されているが、これらのサーバ5,6を1つのサーバ装置で構成してもよい。また、管理サーバ5およびDLサーバ6は、いずれも、複数の装置からなるものであってもよい。
〔ゲートウェイの内部構成〕
図2は、ゲートウェイ10の内部構成を示すブロック図である。
図2に示すように、ゲートウェイ10は、CPU11、RAM(Random Access Memory)12、記憶部13、および車内通信部14などを備える。図2では、ゲートウェイ10は、無線通信部15と車内通信線とを介して接続されているが、無線通信部を統合して、一つの装置としてもよい。
CPU11は、記憶部13に記憶された一または複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を各種情報の中継装置として機能させる。
CPU11は、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。なお、CPU11は複数のCPU群を代表するものであってもよい。この場合、CPU11の実現する機能は、複数のCPU群が協調して実現するものである。RAM12は、SRAM(Static RAM)またはDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
CPU11が実現するコンピュータプログラムは、CD−ROMやDVD−ROMなどの周知の記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からの情報伝送によって譲渡することもできる。
この点は、後述のECU30のCPU31(図3参照)が実行するコンピュータプログラム、および、後述の管理サーバ5のCPU51(図4参照)が実行するコンピュータプログラムについても同様である。
なお、以降の説明において、上位装置が下位装置にデータを転送(送信)することを「ダウンロードする」ともいう。
記憶部13は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子などにより構成されている。記憶部13は、CPU11が実行するプログラムおよび実行に必要なデータ等を記憶するとともに、DLサーバ6から受信した各ECU30の更新用プログラムなどを記憶する。
車内通信部14には、車両1に配設された車内通信線16を介して複数のECU30が接続されている。車内通信部14は、たとえばCAN(Controller Area Network)の規格に応じて、ECU30との通信を行う。車内通信部14の採用する通信期間はCANに限定されず、CANFD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、Ethernet(登録商標)、またはMOST(Media Oriented Systems Transport:MOSTは登録商標)等の規格であってもよい。複数の車内通信線16A,16Bの中には、通信規格の異なるものが含まれていてもよい。
車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信するとともに、ECU30から受信した情報をCPU11に与える。車内通信部14は、上記の通信規格だけでなく、車内ネットワーク4に用いる他の通信規格によって通信してもよい。
無線通信部15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。無線通信部15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
無線通信部15は、図示しない基地局により形成される広域通信網2を介して、CPU11から与えられた情報を管理サーバ5等の車外装置に送信するとともに、車外装置から受信した情報をCPU11に与える。
図2に示す無線通信部15に代えて、車両1内の中継装置として機能する通信部を採用してもよい。この通信部は、USB(Universal Serial Bus)またはRS232C等の規格に応じた通信ケーブルが接続されるコネクタを有し、通信ケーブルを介して接続された別の通信装置と有線通信を行ってもよい。また、この通信部は、Bluetooth(登録商標)またはWi−Fi(Wireless Fidelity:登録商標)等の規格に応じたインタフェースを有し、近距離無線を介して接続された別の通信装置と無線通信を行ってもよい。
別の通信装置と管理サーバ5等の車外装置とが広域通信網2を通じた無線通信が可能である場合には、車外装置→別の通信装置→通信部→ゲートウェイ10の通信経路により、車外装置とゲートウェイ10とが通信可能になる。
〔ECUの内部構成〕
図3は、ECU30の内部構成を示すブロック図である。
図3に示すように、ECU30は、CPU31、RAM32、記憶部33、および通信部34などを備える。ECU30は、車両1に搭載された対象機器を個別に制御する車載制御装置である。ECU30の種類には、たとえば、電源制御ECU、エンジン制御ECU、ステアリング制御ECU、およびドアロック制御ECUなどがある。
CPU31は、記憶部33に予め記憶された一または複数のプログラムをRAM32に読み出して実行することにより、自身が担当する対象機器の動作を制御する。CPU31もまた複数のCPU群を代表するものであってもよく、CPU31による制御は、複数のCPU群が協調することによる制御であってもよい。
RAM32は、SRAMまたはDRAM等のメモリ素子で構成され、CPU31が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、或いは、ハードディスクなどの磁気記憶装置等により構成されている。
記憶部33は、CPU31が読み出して実行するプログラムを格納する。記憶部33が記憶する情報には、たとえば、車内の制御対象である対象機器を制御するための情報処理をCPU31に実行させるためのコンピュータプログラム(以下、「制御プログラム」という。)や、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータが含まれる。
通信部34には、車両1に配策された車内通信線16を介してゲートウェイ10が接続されている。通信部34は、たとえばCAN、Ethernet、またはMOST等の規格に応じて、ゲートウェイ10との通信を行う。
通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信するとともに、ゲートウェイ10から受信した情報をCPU31に与える。通信部34は、上記の通信規格だけなく、車載ネットワークに用いる他の通信規格によって通信してもよい。
ECU30のCPU31には、当該CPU31による制御モードを、「通常モード」または「リプログラミングモード」(以下、「リプロモード」ともいう。)のいずれかに切り替える起動部35が含まれる。
ここで、通常モードとは、ECU30のCPU31が、対象機器に対する本来的な制御(たとえば、燃料エンジンに対するエンジン制御や、ドアロックモータに対するドアロック制御など)を実行する制御モードのことである。
リプログラミングモードとは、対象機器の制御に用いる制御プログラムを更新する制御モードである。
すなわち、リプログラミングモードは、CPU31が、記憶部33のROM領域に対して、制御プログラムのデータの消去や書き換えを行う制御モードのことである。CPU31は、この制御モードのときには、対象機器に対する本来的な制御を実行せずに、車内通信線16の占有率を下げることにより、記憶部33のROM領域に格納された制御プログラムを新バージョンに更新する(バージョンアップする)ことが早期に可能となる。
制御プログラムをバージョンアップするときには、CPU31が新バージョンの制御プログラムを記憶部33に書き込むと、起動部35は、ECU30をいったん再起動(リセット)させ、新バージョンの制御プログラムが書き込まれた記憶領域についてベリファイ処理を実行する。
起動部35は、上記のベリファイ処理の完了後に、CPU31を更新後の制御プログラムによって動作させる。
〔管理サーバの内部構成〕
図4は、管理サーバ5の内部構成を示すブロック図である。
図4に示すように、管理サーバ5は、CPU51、ROM52、RAM53、記憶部54、および通信部55などを備える。
CPU51は、ROM52に予め記憶された一または複数のプログラムをRAM53に読み出して実行することにより、各ハードウェアの動作を制御し、管理サーバ5をゲートウェイ10と通信可能な車外装置として機能させる。CPU51もまた複数のCPU群を代表するものであってもよく、CPU51の実現する機能は、複数のCPU群が協調して実現するものであってもよい。
RAM53は、SRAMまたはDRAM等のメモリ素子で構成され、CPU51が実行するプログラムおよび実行に必要なデータ等が一時的に記憶される。
記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置等により構成されている。
通信部55は、所定の通信規格に則って通信処理を実行する通信装置よりなり、携帯電話網等の広域通信網2に接続されて当該通信処理を実行する。通信部55は、CPU51から与えられた情報を、広域通信網2を介して外部装置に送信するとともに、広域通信網2を介して受信した情報をCPU51に与える。
〔制御プログラムの更新シーケンス〕
図5は、本実施形態のプログラム更新システムにおいて実行される、制御プログラムの更新の流れの一例を示すシーケンス図である。DLサーバ6に1または複数の更新用プログラムが格納され、一例として、管理サーバ5が、予め登録された車両1について、当該車両1のECUの制御プログラムを更新するタイミングを決定する。更新のタイミングは、たとえば、車両1のカーメーカーなどによって設定されてもよい。
なお、制御プログラムは、プログラムそのもののみならず、パラメータや地図情報などの、当該プログラムを実行する際に用いるデータも含む。それらを代表させて「制御プログラム」と表現している。そのため、更新用プログラムは、プログラムの更新用のプログラムのみならず、当該プログラムを実行する際に用いるデータの更新用のデータを含む。
制御プログラムを更新するタイミングに達すると、管理サーバ5は、該当する車両1のゲートウェイ10宛てに、更新を通知する(ステップS1)。ステップ1では、管理サーバ5からゲートウェイ10に、ダウンロード要求とともに更新用プログラムの保存先URLや更新用プログラムのサイズ(容量)などの更新用の情報が送られる。
管理サーバ5から更新の通知を受信したゲートウェイ10は、更新用プログラムを対象のECU30に転送するタイミングを制御する転送制御処理を実行する(ステップS2)。転送制御処理については後述する。
ゲートウェイ10は、ステップS2での転送制御処理によって得られた、更新用プログラムを対象のECU30に転送するタイミングに更新用プログラムの転送を開始する。すなわち、ゲートウェイ10は、更新用の情報に基づいてDLサーバ6に対して更新用プログラムのダウンロードを要求する(ステップS3)。
ゲートウェイ10からダウンロードが要求されたDLサーバ6は、ダウンロード対象の更新用プログラムをゲートウェイ10に転送するとともに、制御プログラム(更新対象のデータ)の更新を要求する(ステップS4)。
ゲートウェイ10は、更新用プログラムをダウンロードすると、対象のECU30に更新用プログラムを転送して制御プログラムの更新を要求する(ステップS5)。ゲートウェイ10は、ユーザから更新の許可を受けることによって、対象のECU30に制御プログラムの更新を要求してもよい。
更新用プログラムをダウンロードした対象のECU30は、ゲートウェイ10からの要求に従って更新用プログラムを展開し、制御プログラムを更新する(ステップS6)。更新が完了すると、対象のECU30はゲートウェイ10に更新完了を通知する(ステップS7)。この通知を受けたゲートウェイ10は、DLサーバ6に更新完了を通知する(ステップS8)。
[ゲートウェイの機能構成]
図2を参照して、ゲートウェイ10のCPU11は、転送制御処理を実行するための機能として、監視部111および転送制御部112を含む。これら機能は、CPU11が記憶部13に記憶されている1つまたは複数のプログラムを読み出して実行することによって、CPU11において実現される機能である。しかしながら、少なくとも一部機能が、電子回路などのハードウェアによって実現されてもよい。
監視部111で表されたCPU11の機能(以下、監視部111)は、車内通信線16の占有率Ocを監視する。車内ネットワーク4に接続されたゲートウェイ10および各ECU30は、データ・フレームと呼ばれるフォーマットに従って自身のIDをフレームに格納して、車内通信線16に出力する。また、ゲートウェイ10および各ECU30は、接続された車内通信線16で伝送されるフレームを監視し、自身が受信すると規定されたIDが格納されているデータ・フレームを受信する。このとき、監視部111は、所定の計測時間qにおいて対象とする車内通信線16を各データ・フレームが占有した時間t1、t2、t3、…tnを計測し、その累積値を計測時間qで除して占有率Ocを算出する(Oc=(t1+t2+t3+…+tn)/q)。
転送制御部112で表されたCPU11の機能(以下、転送制御部112)は、車内通信線16の占有率Ocに基づいて、当該車内通信線16を介した更新用プログラムの転送のタイミングを制御する。第1の実施の形態においては、転送制御部112は、車内通信線16の占有率Ocに基づいて、当該車内通信線16を介して更新用プログラムの転送の開始の可否を判断し、その結果に従って更新用プログラムの転送を開始する。
転送制御部112は、監視部111で監視している車内通信線16の占有率Ocから当該車内通信線16の空き帯域幅Bを算出する。そして、転送制御部112は、空き帯域幅Bと更新用プログラムのサイズΔとの比較結果に基づいて、更新用プログラムを転送するか否かを判断する。車内通信線16の空き帯域幅Bは、車内通信線16の現在通信に用いている帯域以外の帯域の帯域幅(空き容量)であって、現在の通信状況に加えてさらなる通信に使用可能な帯域幅を指す。空き帯域幅Bは、たとえば、車内通信線16の占有率Ocから得られる現在の使用中の帯域幅を車内通信線16の全帯域幅Bwから減じた値(B=Bw(1−Oc))である。
転送制御部112は、空き帯域幅Bと更新用プログラムのサイズΔとの比較を示す指標についての指標値を算出し、当該指標値に基づいて更新用プログラムを転送するか否かを判断する。上記比較を示す指標は、たとえば、空き帯域幅Bに対する更新用プログラムのサイズΔの割合であって、転送制御部112は、その指標値Δ/Bを算出する。転送制御部112は、更新用プログラムの転送を許容する指標値を閾値α(第1の閾値)として予め記憶しておき、算出された指標値Δ/Bと閾値αとを比較する。
指標値Δ/Bが閾値α未満である場合、転送制御部112は、更新用プログラムの転送を開始すると判断する。指標値Δ/Bが閾値α未満である場合とは、車内通信線16を用いて転送可能な帯域(空き帯域)Bに対して更新用プログラムのサイズΔが小さいことを表している。指標値Δ/Bが閾値α以上になると、車内通信線16の空き帯域Bにして更新用プログラムのサイズΔが大きくなる。そのため、転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりする可能性がある。
上記比較を示す指標は空き帯域幅Bに対する更新用プログラムのサイズΔの割合に限定されない。上記指標は、たとえば、更新用プログラムのサイズΔに対する空き帯域幅Bの割合(指標値B/Δ)や、空き帯域幅Bと更新用プログラムのサイズΔとの差分(指標値|B−Δ|)などの、他の指標であってもよい。また、占有率OcとサイズΔとの関係を指標としてもよい。転送制御部112は、上記指標値に応じた閾値αを予め記憶している。閾値αは固定値ではなく、管理サーバ5が、更新用プログラムごとに設定してもよい。
なお、上記指標値として、空き帯域幅Bそのものが用いられてもよい。これは、更新用プログラムのサイズΔが更新用プログラムごとに異ならない場合や、概ね同じサイズである場合、などである。この場合、転送制御部112は、空き帯域幅Bが所定の閾値未満である場合に更新用プログラムを転送し、閾値以上である場合には転送しない。これにより、ゲートウェイ10における転送制御処理を簡易にすることができる。
[転送制御処理]
図6は、第1の実施の形態にかかるプログラム更新システムにおける転送制御処理の具体的な内容を表したフローチャートである。図6のフローチャートに表された処理は、ゲートウェイ10のCPU11が、記憶部13に記憶された1つまたは複数のプログラムをRAM12上に読み出して実行することによって監視部111および転送制御部112の機能を実現することで実行される。図6の処理は、CPU11が起動中において、所定の時間間隔など、予め規定されたタイミングで繰り返し実行される。
図6を参照して、CPU11は、ECU30に転送する更新用プログラムがあるか否かを判断する(ステップS101)。該当する更新用プログラムがない場合には(ステップS101でNO)、以降の動作を行わず、上記の予め規定された次のタイミングが来るまで待機する。
該当する更新用プログラムがある場合(ステップS101でYES)、CPU11は、管理サーバ5からの更新の通知より、更新用プログラムのサイズΔを取得する(ステップS103)。また、CPU11は、対象のECU30が接続されている車内通信線16(転送バス)の占有率Ocを監視する。そして、CPU11は、占有率Ocに基づいて車内通信線16の空き帯域幅Bを算出する(ステップS105)。
CPU11は、空き帯域幅Bと更新用プログラムのサイズΔとから指標値Δ/Bを算出し、その指標値Δ/Bと予め記憶している閾値αとを比較する(ステップS107)。指標値Δ/Bが閾値α未満である場合(ステップS107でNO)、CPU11は、更新用プログラムの転送を開始すると決定する(ステップS109)。この場合、CPU11は、図5のステップS3以降の動作を実行する。
指標値Δ/Bが閾値α以上である場合(ステップS107でYES)、CPU11は、当該更新用プログラムを転送しないと決定し、当該ゲートウェイ10に接続された図示しない出力装置に通知させるための制御信号を出力する。これにより、当該出力装置によって通知が行われる(ステップS111)。出力装置は、たとえば、ディスプレイやスピーカなどである。この場合、図5のステップS3以降の動作は行われない。
ステップS111の通知は、ECU30に転送されないことの通知、車両1を停車させてリプロモードとすることを促す通知、ディーラーによる当該制御プログラムの更新を促す通知、などである。これにより、ユーザは、更新用プログラムが転送されないことを知ることができる。そのため、ユーザは、車両1を停車させてリプロモードとする、ディーラーに入庫して制御プログラムの更新を依頼する、などの、当該制御プログラムの更新のための対処を採ることができる。
車両1の走行中は複数のECU30間でやり取りされる情報が多いため、車内通信線16の占有率Ocが高くなる傾向にある。そのため、車両1を停車すると、占有率Ocは低くなる可能性がある。占有率Ocが低くなると指標値Δ/Bが閾値α未満となる可能性があるためである。これにより、当該更新用プログラムの転送および制御プログラムの更新が早期に行われる可能性がある。
CPU11は、以上で、1つの更新用プログラムについて、当該更新用プログラムの対象のECU30への転送の可否の判断を終了する。CPU11は、以上の動作を繰り返す。そのため、転送対象の複数の更新用プログラムがある場合、CPU11は、次の更新用プログラムについて同じ動作を行って、対象のECU30への転送の可否を判断する。つまり、ある1つの更新用プログラムについて、対象のECU30に転送しないと決定された場合には、次の更新用プログラムについて対象のECU30への転送の可否が判断されて、判断結果が肯定的であった場合には当該次の更新用プログラムの転送が実行される。これにより、複数の更新用プログラムを効率的に該当するECU30に転送することができ、制御プログラムの更新を効率的に行うことができる。
[第1の実施の形態の効果]
第1の実施の形態にかかるプログラム更新システムは、更新用プログラムのサイズΔがECU30への転送に用いる車内通信線16の空き帯域幅Bに対して小さい場合に当該更新用プログラムの転送を開始する。大きい場合には当該更新用プログラムの転送を行わない。このため、車内通信線16の占有率Ocが高い状態のときに大きなサイズの更新用プログラムが転送されない。すなわち、車内通信線16を用いた通信へ過剰な負荷をかけることがない。そのため、当該通信への過剰な負荷がかかることによって転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりすることを防止できる。
先の更新用プログラムの転送が開始されないときに、サイズΔが車内通信線16の空き帯域幅Bに対して小さい他の更新用プログラムの転送が先の更新用プログラムの転送よりも優先的に行われる。つまり、第1の実施の形態にかかるプログラム更新システムでは、車内ネットワークに過剰な負荷をかけることなく複数の更新用プログラムを効率的に転送し、効率的に制御プログラムの更新を実行することができる。
<変形例1>
車内通信線16の帯域に対しては帯域マージン(余裕帯域)Mが設定され、車内通信線16の全帯域Bwから帯域マージンMを除いた帯域が最大占有率Om(Om=(Bw−M)/Bw)として使用が許容されていてもよい。帯域マージンMは、たとえば全帯域Bwの70%などである。この場合、空き帯域幅Bは、当該車内通信線16に対して許容された最大占有率Omから占有率Ocを減じた値(B=Bw・(Om−Oc))であってもよい。これにより、車内通信線16が現在の占有率に加えて更新用プログラムの転送のために占有されても、帯域マージンMが確保される。
この場合、転送制御部112は、帯域マージンMを予め記憶しておき、車内通信線16の最大占有率Omを算出する。または、転送制御部112は、車内通信線16の最大占有率Omを予め記憶しておく。
なお、帯域マージンMおよび最大占有率Omは、いずれも固定値でなくてもよく、管理サーバ5が更新用プログラムごとに設定してもよい。
帯域マージンMは、車内通信線16ごとに異なってもよい。言い換えると、複数の車内通信線16A,16Bの中には、帯域マージンMの異なる車内通信線16が含まれていてもよい。この場合、転送制御部112は、車内通信線16ごとの帯域マージンMまたは最大占有率Omを予め記憶しておき、更新用プログラムの転送に用いる車内通信線16についての帯域マージンMまたは最大占有率Omを用いて、当該更新用プログラムの転送の可否を判断する。
変形例においては、図6のステップS105でCPU11は、当該更新用プログラムの転送に用いる車内通信線16についての最大占有率Omを用いて空き帯域幅Bを算出する。つまり、複数の車内通信線16A,16Bの中には、空き帯域幅Bの算出方法が異なる車内通信線16が含まれていてもよい。
このように、空き帯域幅Bの算出方法を車内通信線16に応じた算出方法とすることによって、車内通信線16に異なる帯域マージンMが設定されている場合であっても、通信線ごとに柔軟に、当該車内通信線16を用いた通信への負荷を抑えつつ効率的に制御プログラムを更新することができる。
<変形例2>
図6の転送制御処理において、更新用プログラムについて、上記ステップS107で指標値Δ/Bが閾値α以上であった場合に(ステップS107でYES)、CPU11は、さらに、当該更新用プログラムが予め規定された保留条件を満たすか否かを判断する(ステップS113)。保留条件は、たとえば、当該更新用プログラムがDL6において車両1に対してダウンロードの対象とされた時点から所定期間内であること、当該更新用プログラムに対してECU30に転送するか否かの判断がなされた回数が所定回数以内であること、DLサーバ6に他のダウンロード対象の更新用プログラムがあること、これらの組み合わせ、などである。
更新用プログラムが保留条件を満たす場合(ステップS113でYES)には更新用プログラムを転送しないと決定することを現時点では保留し、転送を開始しない。この場合、当該更新用プログラムはその時点ではECU30への転送が開始されずに、DLサーバ6またはゲートウェイ10に維持される。そのため、後のタイミングで実行される転送制御処理によって、再度、当該更新用プログラムのECU30への転送の可否が判断される。つまり、いったん転送しないと判断された場合であっても保留条件を満たす期間内は、当該更新用プログラムのECU30への転送の判断は他の更新用プログラムの判断の後回しにされる。
車両1が走行中の場合には車内通信線16の占有率Ocが高いために指標値Δ/Bが閾値α以上となる場合が多いものの、車両1が停車するなどして車内通信線16の占有率Ocが低くなることもある。保留条件を満たす期間内にそのタイミングに達すると、指標値Δ/Bが閾値α未満となることもあるため、更新用プログラムのECU30への転送が可能になる場合もある。そこで、第2の変形例にかかる転送制御処理の判断が行われることによって、車両1の走行中などの車内通信線16の占有率Ocが高いときにはサイズΔの小さい更新用プログラムの転送が優先され、サイズΔの大きい更新用プログラムの転送は車両1が停車するなどして車内通信線16の占有率Ocが下がるまで後回しにされる。そのため、当該車内通信線16を用いた通信への負荷を抑えつつ、効率的に制御プログラムを更新することができる。
[第2の実施の形態]
第1の実施の形態にかかるプログラム更新システムでは、更新用プログラムの転送に用いる車内通信線16の占有率Ocに応じて、当該更新用プログラムの転送が開始される。しかしながら、占有率Ocは、車両1の走行状況などによって変化する。そのため、転送開始時に占有率Ocが転送可能と判断される程度に低かった場合であっても、走行状況などによっては転送中に占有率Ocが高くなる場合がある。その結果、更新用プログラムの転送中に、空き帯域幅Bに対して当該更新用プログラムのサイズΔが大きくなることがある。この場合、当該更新用プログラムの転送を継続すると、転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりするような不都合が生じるおそれがある。そこで、第2の実施の形態にかかるプログラム更新システムは、更新用プログラムの転送のタイミングとして、転送中における転送の継続を制御する。
第2の実施の形態にかかるゲートウェイ10の転送制御部112は、車内通信線16の占有率Ocに基づいて更新用プログラムの当該車内通信線16における転送速度(転送レート)を更新する。さらに、転送制御部112は、当該転送レートでの更新用プログラムの転送に要する時間Tに基づいて、転送を継続するか否かを判断する。
転送制御部112は、監視部111で監視されている占有率Ocに基づいて転送レートVを決定する。一例として、転送制御部112は、監視部111で監視されている占有率Ocが、目標とする占有率に近づくように転送レートVを決定する。このために、転送制御部112は、占有率Ocと転送レートVとの関係式を予め記憶しておき、監視部111で得られた占有率Ocを当該関係式に代入することで転送レートVを算出してもよい。転送制御部112は、占有率Ocと転送レートVとの対応関係を予め記憶しておき、当該対応関係から、監視部111で得られた占有率Ocに対応した転送レートVを読み出してもよい。
転送制御部112は、更新用プログラムの転送の転送中に、占有率Ocの監視を継続して所定間隔(更新間隔)ごとに当該占有率Ocに基づいて転送レートVを決定し、更新用プログラムの転送レートVを更新する。
転送制御部112は、転送レートVを決定すると、更新用プログラムのサイズおよび転送レートVに基づいて、当該更新用プログラムの転送の所要時間(総転送時間)Tを算出する。転送制御部112は、総転送時間Tに基づいて、更新用プログラムの転送を継続するか否かを判断する。
転送制御部112は、更新用プログラムの転送の継続を許容する総転送時間を閾値Th(第2の閾値)として予め記憶しておき、算出された総転送時間Tと閾値Thとを比較する。総転送時間Tが閾値Th未満である場合(T<Th)、転送制御部112は、更新用プログラムの転送を継続すると判断する。総転送時間Tが閾値Th以上となる場合(T≧Th)、転送制御部112は、更新用プログラムの転送を中断する。
[転送制御処理]
図7は、第2の実施の形態にかかるプログラム更新システムにおける転送制御処理の具体的な内容を表したフローチャートである。図7のフローチャートに表された処理もまた、ゲートウェイ10のCPU11が、記憶部13に記憶された1つまたは複数のプログラムをRAM12上に読み出して実行することによって監視部111および転送制御部112の機能を実現することで実行される。図7の処理は、図6のステップS109でCPU11が更新用プログラムの転送を開始した後の、転送中に行われる。
図7を参照して、CPU11は、更新用プログラムの転送が開始した後も車内通信線16の占有率Ocの監視を継続している。更新用プログラムの転送が開始した後(ステップS109)、予め規定されている所定の更新間隔に達すると、CPU11は、車内通信線16の占有率Ocに基づいて転送レートVを決定し、更新用プログラムの転送レートを更新する(ステップS201)。
CPU11は、更新用プログラムのサイズΔおよび転送レートVに基づいて、当該更新用プログラムの転送完了までの所要時間(総転送時間)Tを算出する(ステップS203)。そして、CPU11は、算出した総転送時間Tと予め記憶している閾値Thとを比較する(ステップS205)。なお、閾値Thは固定値でなくてもよく、管理サーバ5が、更新用プログラムごとに設定してもよい。
総転送時間Tが閾値Th未満である場合には(ステップS205でNO)、CPU11は、次の更新間隔に達するまで(ステップS207でNO、かつステップS209でNO)、更新した転送レートVでの転送を継続する。次の更新間隔に達する前に更新用プログラムの転送が完了すると(ステップS209でYES)、CPU11は、一連の動作を終了する。
更新した転送レートVでの転送中に次の更新間隔に達すると(ステップS207でYES)、CPU11は、上記ステップS201からの動作を繰り返す。つまり、更新間隔ごとにその時点の占有率Ocに基づいて転送レートVを更新する。そして、当該転送レートVでの総転送時間Tに基づいて転送を継続するか否かを判断する。これにより、更新用プログラムの転送中に車内通信線16の占有率Ocが変化した場合にも、転送レートVを占有率Ocに応じて適切な転送レートとすることができるとともに、占有率Ocの変化に応じて柔軟に転送のタイミングの制御(中断するか否か)を行うことができる。
総転送時間Tが閾値Th以上である場合(ステップS205でYES)、CPU11は更新用プログラムの転送を中断する(ステップS211)。これにより、占有率Ocが変化したことによって、総転送時間Tが閾値Th以上長くなるような、空き帯域に対するサイズが大きくなった更新用プログラムの転送を中断することができる。このため、転送開始後の占有率Ocの変化に応じて柔軟に転送制御を行うことができる。
更新用プログラムの転送を中断すると、CPU11は、図6のステップS111以降の動作を行う。すなわち、CPU11は、図6のステップS111の通知を行ってもよい。この通知は、あるECU30に対しての更新用プログラムの転送が中断されたことの通知、車両1を停車させて、リプロモードとすることを促す通知、などである。これにより、ユーザは、更新用プログラムの転送が中断されたことを知ることができる。そのため、ユーザは、車両1を停車させてリプロモードとする、ディーラーに入庫して制御プログラムの更新を依頼する、などの、当該更新用プログラムの転送の再開のための対処を採ることができる。
次に、CPU11は、ステップS111の通知の後、ステップS101以降の動作を実行する。つまり、ステップS211で転送中であった更新用プログラムの転送を中断すると、CPU11は、他の更新用プログラムの転送の可否を判断する。これにより、複数の更新用プログラムを効率的に転送することができ、効率的に制御プログラムの更新を実行することができる。
CPU11は、第2の変形例と同様に、さらに、当該更新用プログラムが上記のような保留条件を満たすか否かを判断してもよい(ステップS113)。そして、当該更新用プログラムが保留条件を満たす期間内に(ステップS113でYES)、再度、上記ステップS101からの動作を実行してもよい。いったん、更新用プログラムプログラムの転送を中断した後であっても、車両1の走行状況などによって車通車内通信線16の占有率Ocが変化して、更新用プログラムの転送が可能な状態となる場合がある。保留条件を満たす期間内にそのような状態の変化があると、中断された更新用プログラムの転送が再開される。そのため、ユーザの利便性を向上させることができる。
[第2の実施の形態の効果]
第2の実施の形態にかかるプログラム更新システムは、転送中に車内通信線16の占有率Ocが変化(増加)したことによって更新用プログラムのサイズが空き帯域に対して大きくなった場合に、当該更新用プログラムの転送を中断する。これにより、更新用プログラムの転送開始後にも、転送時間が通常より長くなったり、通信障害が生じて通信中の制御用の情報が損失したりするような不都合が生じることを防止できる。つまり、第2の実施の形態にかかるプログラム更新システムでは、車内ネットワークに過剰な負荷をかけることなく、効率的に制御用プログラムの転送を継続することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 車両
2 広域通信網
4 車内ネットワーク
5 管理サーバ
6 DLサーバ
10 ゲートウェイ(制御装置)
11 CPU
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
16,16A,16B 車内通信線
30 ECU
31 CPU
32 RAM
33 記憶部
34 通信部
35 起動部
51 CPU
52 ROM
53 RAM
54 記憶部
55 通信部
111 監視部
112 転送制御部

Claims (14)

  1. 車内通信線を介して車載制御装置と接続され、前記車載制御装置とともに前記車内通信線を伝送路とする車内ネットワークを構成する制御装置であって、
    前記車載制御装置のための更新用プログラムを記憶する記憶部と、
    前記車内通信線の占有率を監視する監視部と、
    監視中の前記占有率に基づいて、記憶された前記更新用プログラムを前記車載制御装置に転送するタイミングを制御する転送制御部と、を備える、制御装置。
  2. 前記転送制御部は、前記占有率から得られる前記車内通信線の空き帯域幅と、前記更新用プログラムのサイズとの比較結果を示す指標値を算出し、前記指標値を用いて前記更新用プログラムの転送の可否を判断する、請求項1に記載の制御装置。
  3. 前記指標値は、前記空き帯域幅に対する前記更新用プログラムのサイズの比率を示す値であって、
    前記転送制御部は、前記指標値が第1の閾値より小さい場合に前記更新用プログラムの転送を開始し、前記指標値が前記第1の閾値以上である場合には前記更新用プログラムの転送を開始しない、請求項2に記載の制御装置。
  4. 前記転送制御部は、前記指標値が前記第1の閾値以上であり、かつ、所定の保留条件を満たす場合、前記更新用プログラムの転送を開始せずに、当該更新用プログラムが前記保留条件を満たす期間内に、再度、前記指標値を算出して当該指標値を用いて前記更新用プログラムの転送の可否を判断し、前記指標値が前記第1の閾値以上であり、かつ、前記保留条件を満たさない場合に前記更新用プログラムを転送しない、請求項3に記載の制御装置。
  5. 前記保留条件は、前記更新用プログラムとは異なる、転送対象の他の更新用プログラムがあることを含む、請求項4に記載の制御装置。
  6. 前記制御装置は出力装置と接続されて、
    前記転送制御部は、前記更新用プログラムの転送を開始しない場合には、前記出力装置に前記更新用プログラムの転送を開始しない旨の通知を行わせるための制御信号を出力する、請求項3〜請求項5のいずれか一項に記載の制御装置。
  7. 前記空き帯域幅は、前記車内通信線に対して許容される最大占有率から前記占有率を除いた帯域幅であって、
    前記車内ネットワークは、前記最大占有率の異なる複数の車内通信線を含む、請求項2〜請求項6のいずれか一項に記載の制御装置。
  8. 前記転送制御部は、前記占有率に基づいて決定される前記更新用プログラムの転送速度と、前記更新用プログラムのサイズとを用いて転送完了までの所要時間を算出し、前記所要時間を用いて前記更新用プログラムの転送の継続の可否を判断する、請求項1〜請求項7のいずれか一項に記載の制御装置。
  9. 前記更新制御部は、前記更新用プログラムの転送中に、所定の更新間隔で前記占有率に基づいて前記更新用プログラムの転送速度を更新し、
    更新された前記転送速度から前記所要時間を算出して、当該所要時間に基づいて前記更新用プログラムの転送の継続の可否を判断する、請求項8に記載の制御装置。
  10. 前記更新制御部は、前記所要時間が第2の閾値以上である場合には、前記転送を中断する、請求項9に記載の制御装置。
  11. 前記更新制御部は、前記転送を中断すると、転送対象の他の更新用プログラムを前記車載制御装置に転送するタイミングを制御する、請求項9に記載の制御装置。
  12. 前記制御装置は出力装置と接続されて、
    前記更新制御部は、前記更新用プログラムの転送を中断する場合には、前記出力装置に前記更新用プログラムの転送を中断する旨の通知を行わせるための制御信号を出力する、請求項10または請求項11に記載の制御装置。
  13. 車内通信線を介して車載制御装置と接続され、前記車載制御装置とともに前記車内通信線を伝送路とする車内ネットワークを構成する制御装置から、前記車載制御装置のための更新用プログラムを前記車載制御装置に転送する方法であって、
    前記車内通信線の占有率を監視するステップと、
    監視中の前記占有率に基づいて、前記更新用プログラムを前記車載制御装置に転送するタイミングを制御するステップと、を備える、転送方法。
  14. 車内通信線を介して車載制御装置と接続され、前記車載制御装置とともに前記車内通信線を伝送路とする車内ネットワークを構成する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
    前記コンピュータは、前記車載制御装置のための更新用プログラムを記憶する記憶部を有し、
    前記コンピュータを、
    前記車内通信線の占有率を監視する監視部と、
    監視中の前記占有率に基づいて、記憶された前記更新用プログラムを前記車載制御装置に転送するタイミングを制御する転送制御部と、として機能させる、コンピュータプログラム。
JP2018532476A 2017-04-05 2018-01-16 制御装置、転送方法、およびコンピュータプログラム Active JP6525109B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017075117 2017-04-05
JP2017075117 2017-04-05
PCT/JP2018/001040 WO2018185994A1 (ja) 2017-04-05 2018-01-16 制御装置、転送方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JPWO2018185994A1 true JPWO2018185994A1 (ja) 2019-04-11
JP6525109B2 JP6525109B2 (ja) 2019-06-05

Family

ID=63712588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018532476A Active JP6525109B2 (ja) 2017-04-05 2018-01-16 制御装置、転送方法、およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11061659B2 (ja)
JP (1) JP6525109B2 (ja)
CN (1) CN110494844A (ja)
DE (1) DE112018001894T5 (ja)
WO (1) WO2018185994A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112018001985T5 (de) * 2017-04-12 2019-12-19 Sumitomo Electric Industries, Ltd. Relais-Einrichtung, Transferverfahren und Computerprogramm
JP7311245B2 (ja) * 2018-03-07 2023-07-19 トヨタ自動車株式会社 マスタ装置、マスタ、制御方法、プログラム及び車両
JP7367359B2 (ja) * 2018-08-10 2023-10-24 株式会社デンソー 車両用電子制御システム、ファイルの転送制御方法、ファイルの転送制御プログラム及び装置
KR102626253B1 (ko) * 2018-11-23 2024-01-17 현대자동차주식회사 Ota를 이용한 차량용 소프트웨어 업데이트 방법 및 장치
JP7147721B2 (ja) 2019-09-05 2022-10-05 トヨタ自動車株式会社 車載通信装置及び通信方法
JP7405033B2 (ja) * 2020-07-20 2023-12-26 トヨタ自動車株式会社 サーバ、更新管理方法、更新管理プログラム、ソフトウェア更新装置、サーバ及びソフトウェア更新装置を備えるシステム、センタ、otaマスタ、センタ及びotaマスタを備えるシステム
JP2022127736A (ja) * 2021-02-22 2022-09-01 三菱重工サーマルシステムズ株式会社 更新装置、室内外機、更新システム、更新方法およびプログラム
EP4298505A1 (en) * 2021-07-08 2024-01-03 Cariad Se Electronic control unit, vehicle with an electronic control unit and method for updating an electronic control unit
US20240061668A1 (en) * 2022-08-16 2024-02-22 Sap Se Automatic upgrade of on-premise software
CN115794154A (zh) * 2022-11-11 2023-03-14 蔚来汽车科技(安徽)有限公司 Ota升级方法、装置、电子设备、介质及车辆

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002164925A (ja) * 2000-11-29 2002-06-07 Hitachi Ltd マルチキャスト通信システムおよびマルチキャスト通信方法
JP2008072484A (ja) * 2006-09-14 2008-03-27 Matsushita Electric Ind Co Ltd 負荷調整装置、負荷調整方法、再生装置、再生システム、プログラム
JP2009021906A (ja) * 2007-07-13 2009-01-29 Sony Corp 通信処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2012178035A (ja) * 2011-02-25 2012-09-13 Toyota Motor Corp 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
JP2013515417A (ja) * 2009-12-21 2013-05-02 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ コンテンツ配信システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065856A (ja) 2005-08-30 2007-03-15 Fujitsu Ten Ltd 情報書き換えシステムおよび情報書き換え装置
US7796025B2 (en) * 2006-03-27 2010-09-14 Current Technologies, Llc Power line communication device and method
JP5537022B2 (ja) * 2008-12-18 2014-07-02 パナソニック株式会社 通信方法及び通信装置
JP5372988B2 (ja) * 2011-03-22 2013-12-18 株式会社日立製作所 データ同期サーバ、システム、及びデータ転送帯域制御方法
US9910658B2 (en) * 2011-11-04 2018-03-06 Google Technology Holdings LLC Optimization of distribution of over-the-air (OTA) updates to portable computing devices
CN202535380U (zh) * 2012-03-21 2012-11-14 上虞市舜创电子科技有限公司 一种基于HomePlugAV标准的铁路通信模组
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
JP5768870B2 (ja) * 2013-12-25 2015-08-26 日本電気株式会社 プログラム配信装置及びプログラム配信方法、プログラム配信システム、並びにコンピュータ・プログラム
US20160212055A1 (en) * 2015-01-21 2016-07-21 International Business Machines Corporation Host-based load balancing of network traffic
JP6216730B2 (ja) * 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
DE112016000992T5 (de) * 2015-03-30 2017-11-16 Honda Motor Co., Ltd. Programmneuschreibvorrichtung und programmneuschreibverfahren
JP6688585B2 (ja) 2015-10-14 2020-04-28 丸善製薬株式会社 バリア機能改善剤

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002164925A (ja) * 2000-11-29 2002-06-07 Hitachi Ltd マルチキャスト通信システムおよびマルチキャスト通信方法
JP2008072484A (ja) * 2006-09-14 2008-03-27 Matsushita Electric Ind Co Ltd 負荷調整装置、負荷調整方法、再生装置、再生システム、プログラム
JP2009021906A (ja) * 2007-07-13 2009-01-29 Sony Corp 通信処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2013515417A (ja) * 2009-12-21 2013-05-02 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ コンテンツ配信システム
JP2012178035A (ja) * 2011-02-25 2012-09-13 Toyota Motor Corp 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吉村優太、林 正博、山本尚生: "コンピュータネットワーク時代のネットワーク信頼性評価・設計法の一検討", 電子情報通信学会技術研究報告, vol. 113, no. 405, JPN6018007306, 17 January 2014 (2014-01-17), JP, pages 93 - 98, ISSN: 0003927564 *

Also Published As

Publication number Publication date
WO2018185994A1 (ja) 2018-10-11
US20200057628A1 (en) 2020-02-20
CN110494844A (zh) 2019-11-22
DE112018001894T5 (de) 2019-12-19
US11061659B2 (en) 2021-07-13
JP6525109B2 (ja) 2019-06-05

Similar Documents

Publication Publication Date Title
JP6525109B2 (ja) 制御装置、転送方法、およびコンピュータプログラム
JP6519708B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6525105B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6376312B1 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6620891B2 (ja) 中継装置、中継方法、およびコンピュータプログラム
CN111034132B (zh) 控制设备、控制方法和计算机程序
CN111032439B (zh) 控制设备、控制方法和非暂时性计算机可读存储介质
JP7207301B2 (ja) 更新制御装置、制御方法、およびコンピュータプログラム
JP2017157003A (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
US20200215930A1 (en) Control apparatus, control method, and computer program
JP6465258B1 (ja) 制御装置、制御方法、およびコンピュータプログラム
WO2018230314A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
WO2019035260A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP6547904B2 (ja) 制御装置、プログラム更新方法、およびコンピュータプログラム
JP2018069870A (ja) 制御装置、制御方法及びコンピュータプログラム
WO2019058652A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP7484814B2 (ja) 車両用電子制御装置及び更新プログラム
WO2019146170A1 (ja) 中継装置、制御方法、およびコンピュータプログラム
JP2023148778A (ja) 制御装置、及び、制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180905

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180905

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R150 Certificate of patent or registration of utility model

Ref document number: 6525109

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250