JP2020004193A - 車両 - Google Patents

車両 Download PDF

Info

Publication number
JP2020004193A
JP2020004193A JP2018124418A JP2018124418A JP2020004193A JP 2020004193 A JP2020004193 A JP 2020004193A JP 2018124418 A JP2018124418 A JP 2018124418A JP 2018124418 A JP2018124418 A JP 2018124418A JP 2020004193 A JP2020004193 A JP 2020004193A
Authority
JP
Japan
Prior art keywords
control unit
vehicle
communication device
data
version identifier
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
JP2018124418A
Other languages
English (en)
Other versions
JP6718483B2 (ja
Inventor
晋一 阪口
Shinichi Sakaguchi
晋一 阪口
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.)
Subaru Corp
Original Assignee
Subaru 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 Subaru Corp filed Critical Subaru Corp
Priority to JP2018124418A priority Critical patent/JP6718483B2/ja
Priority to CN201910307230.5A priority patent/CN110659039A/zh
Priority to US16/412,725 priority patent/US11036487B2/en
Publication of JP2020004193A publication Critical patent/JP2020004193A/ja
Application granted granted Critical
Publication of JP6718483B2 publication Critical patent/JP6718483B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

【課題】車内のコントロールユニットから車外の管理サーバにデータを送信する際に、誤ったデータが送信されることを回避する。【解決手段】車両の車載通信装置は、メモリに記憶されているバージョン識別子と、コントロールユニットに関連付けられたバージョン識別子とが一致しない場合、管理サーバから、メモリに記憶されているバージョン識別子に対応するメモリアドレスを取得してメモリに記憶されているバージョン識別子とともにコントロールユニットに関連付けた後、関連付けられたメモリアドレスを指定してコントロールユニットのメモリから管理サーバにデータを送信する。【選択図】図2

Description

本発明は、データ通信システムを構成する車両に関する。
特許文献1には、各コンテンツプロバイダとの契約状態が記載されている契約管理テーブルが車載端末装置のハードディスクに記憶されており、その契約管理テーブルを車外のサーバ側の記憶内容に合わせて更新する技術が開示されている。
特開2006−293816号公報
ところで、車両の各部を制御する1または複数のコントロールユニット内のメモリには、制御に供するプログラムとともに、車両の各部の動作結果などの各種のデータが記憶されることがある。そこで、例えば、車両の各部の動作が安全に行われているか否かの確認などを行うために、コントロールユニットのメモリ内のデータを、車載通信装置を介して車外の管理サーバに送信することがある。例えば、車載通信装置は、メモリのメモリアドレスを指定して読み出したデータを管理サーバに送信する。
ここで、車両が市場に流通した後に、コントロールユニットのプログラムを個々に改良することがある。このような場合、サービスステーションなどにおいて、コントロールユニットのプログラムのアップデートが行われる。このアップデートの際には、コンパイルされた最新バージョンのプログラムがコントロールユニットのメモリに格納される。
しかし、このようなアップデートが行われると、プログラムをコンパイルするコンパイラの影響により、メモリのメモリアドレスと各種のデータとの関係が、アップデートの前後において変更されることがある。また、アップデートはコントロールユニットを対象として個々に行われるため、車載通信装置において、メモリアドレスが変更されたことが認識されないことがある。
このような場合、アップデート後に車載通信装置がメモリアドレスを指定する際、変更される前のメモリアドレスが指定されることとなり、本来読み出すべきデータとは異なるデータが読み出されるおそれがある。その結果、車内のコントロールユニットから車外の管理サーバに誤ったデータが送信されるおそれがある。
そこで、本発明は、車内のコントロールユニットから車外の管理サーバにデータを送信する際に、誤ったデータが送信されることを回避することが可能な車両を提供することを目的とする。
上記課題を解決するために、本発明の車両は、メモリにプログラムを格納し、格納されたプログラムを実行することで車両の各部を制御するコントロールユニットと、コントロールユニットとメモリアドレスとを関連付けて保持し、メモリアドレスを指定してコントロールユニットのメモリから車外の管理サーバにデータを送信する車載通信装置と、を備え、コントロールユニットのメモリには、プログラムとともに、プログラムのバージョンを識別するバージョン識別子が格納され、車載通信装置では、メモリアドレスとともに、所定のタイミングで更新されたバージョン識別子がコントロールユニットに関連付けられ、車載通信装置は、メモリに記憶されているバージョン識別子と、コントロールユニットに関連付けられたバージョン識別子とが一致しない場合、管理サーバから、メモリに記憶されているバージョン識別子に対応するメモリアドレスを取得してメモリに記憶されているバージョン識別子とともにコントロールユニットに関連付けた後、関連付けられたメモリアドレスを指定してコントロールユニットのメモリから管理サーバにデータを送信する。
本発明によれば、車内のコントロールユニットから車外の管理サーバにデータを送信する際に、誤ったデータが送信されることを回避することが可能となる。
本実施形態によるデータ通信システムの構成を示すブロック図である。 データ通信システムの動作を説明する説明図である。
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
図1は、本実施形態によるデータ通信システム1の構成を示すブロック図である。図1では、信号の流れを破線の矢印で示している。以下では、本実施形態に関係する構成や処理について詳細に説明し、本実施形態と無関係の構成や処理については説明を省略する。
データ通信システム1は、車両2と、車外の管理サーバ3とを含んで構成される。車両2は、例えば、ハイブリッド自動車である。車両2は、複数のコントロールユニット10A、10B、10Cと、車載通信装置20と、バス30とを含んで構成される。以後、コントロールユニット10A、10B、10Cを区別しないときは、コントロールユニット10と表記する。データ通信システム1は、車内のコントロールユニット10から車外の管理サーバ3にデータを送信することが可能な構成となっている。
コントロールユニット10Aは、例えば、車両2全体を統括制御する統合コントロールユニットであり、コントロールユニット10Bは、例えば、エンジンを制御するエンジンコントロールユニットであり、コントロールユニット10Cは、例えば、モータを制御するモータコントロールユニットである。なお、コントロールユニット10A、10B、10Cは、統合コントロールユニット、エンジンコントロールユニット、モータコントロールユニットに限らず、例えば、トルクコントロールユニットやバッテリコントロールユニットなどであってもよい。
コントロールユニット10は、中央処理装置(CPU)、不揮発性メモリ12、揮発性メモリ14等を含む半導体集積回路から構成される。不揮発性メモリ12は、例えば、プログラム16等が格納されるROMである。揮発性メモリ14は、例えば、ワークエリアとして機能するRAMである。コントロールユニット10は、例えば、起動時に不揮発性メモリ12内のプログラム16を揮発性メモリ14に複製(転記)する。コントロールユニット10の中央処理装置は、揮発性メモリ14に複製されたプログラム16を読み出して実行することで、車両2の各部を制御する。
車両2は、各コントロールユニット10の不揮発性メモリ12内のプログラム16をアップデートすることが可能となっている。例えば、最新バージョンのプログラム16が作成されると、その作成された最新バージョンのプログラム16は、車外に設けられたコンパイラでコンパイルされる。コンパイル済の最新バージョンのプログラム16は、例えば、管理サーバ3およびサービスステーション(ディーラー)のコンピュータに格納される。なお、以下では、最新バージョンのことを単に最新ということがある。
車両2には、例えば、バス30に接続される入出力コネクタ(図示略)が設けられている。プログラム16のアップデートの対象となる車両2は、サービスステーションに搬入される。サービスステーションに搬入された車両2は、入出力コネクタがサービスステーションのコンピュータに接続される。サービスステーションのコンピュータは、入出力コネクタを介してコンパイル済の最新のプログラム16を車両2のコントロールユニット10に送信する。そして、コントロールユニット10は、不揮発性メモリ12内のプログラム16を、受信したコンパイル済の最新のプログラム16に更新する。
コントロールユニット10の揮発性メモリ14には、プログラム16の他に、各種のデータ18が格納される。各種のデータ18は、例えば、車両2の各部の動作結果などである。データ18の一例としては、エンジンの回転数やトルクの推移、モータの回転数やトルクの推移などが挙げられる。
また、コントロールユニット10は、例えば、コントロールユニット10のシャットダウン時などにおいて、揮発性メモリ14内の各種のデータ18を不揮発性メモリ12に複製してもよい。また、コントロールユニット10は、例えば、コントロールユニット10の起動時などにおいて、不揮発性メモリ12に複製されていた各種のデータ18を揮発性メモリ14に複製してもよい。
車両2は、コントロールユニット10の揮発性メモリ14に格納される各種のデータ18のうち、所望のデータ18(例えば、車両2の安全確認に関するデータなど)を管理サーバ3に送信可能な構成となっている。コントロールユニット10内の所望のデータ18を管理サーバ3に送信する理由は、例えば、車両2の各部の動作が安全に行われているか否かを車外において確認することを可能とするためである。以後、管理サーバ3へ送信する所望のデータ18を送信対象のデータ18と呼ぶことがある。
車載通信装置20は、車内に設けられており、中央処理装置(CPU)、不揮発性メモリ、揮発性メモリ等を含む半導体集積回路から構成される。車載通信装置20は、例えば、DCM(Data Communication Module)である。車載通信装置20は、不揮発性メモリに格納されたプログラムを実行することで、通信制御部22として機能する。通信制御部22は、車載通信装置20とコントロールユニット10との間の通信、および、車載通信装置20と管理サーバ3との間の通信を行う。
車載通信装置20および各コントロールユニット10は、バス30を介して接続されている。車載通信装置20、各コントロールユニット10およびバス30は、CAN(Controller Area Network)を構成する。つまり、車載通信装置20は、各コントロールユニット10との間で、バス30を介した有線通信を行う。
車載通信装置20は、不図示のアンテナを含んで構成されており、携帯電話網などの無線通信網に接続される。また、管理サーバ3は、不図示のアンテナを含んで構成されており、携帯電話網などの無線通信網に接続される。つまり、車載通信装置20は、無線通信網を介して管理サーバ3に接続され、管理サーバ3との間で無線通信を行う。
管理サーバ3は、車両2から送信される送信対象のデータ18を受信する。また、管理サーバ3は、各コントロールユニット10のプログラム16の最新バージョンを保持する。なお、管理サーバ3は、最新バージョンのプログラム16を保持するだけでなく、最新バージョンから所定世代前までの過去のバージョンのプログラム16を保持してもよい。
車載通信装置20は、送信対象のデータ18の送信タイミングにおいて、コントロールユニット10の揮発性メモリ14のメモリアドレスを指定する。コントロールユニット10の中央処理装置は、指定されたメモリアドレスに格納されているデータ18(送信対象のデータ18)を読み出す。そして、コントロールユニット10の中央処理装置は、読み出されたデータ18を車載通信装置20に送信し、車載通信装置20は、受信したデータ18を管理サーバ3に送信する。
ここで、コントロールユニット10の不揮発性メモリ12内のプログラム16が、コンパイル済の最新のプログラム16に更新されると、コンパイル済の最新のプログラム16を作成したコンパイラの影響により、揮発性メモリ14のメモリアドレスと送信対象のデータ18との関係が、プログラム16の更新の前後において変更されることがある。しかし、プログラム16の更新は個々のコントロールユニット10について行われるので、車載通信装置20が保持しているメモリアドレスと送信対象のデータ18との関係は、更新されないことがある。
コントロールユニット10においてメモリアドレスと送信対象のデータ18との関係が変更されたとしても、車載通信装置20においてメモリアドレスと送信対象のデータ18との関係が変更されていなければ、車載通信装置20は、変更される前のメモリアドレスを指定してしまう。これにより、コントロールユニット10の中央処理装置は、本来読み出すべきデータ18とは異なるデータ18を読み出すおそれがある。その結果、コントロールユニット10の中央処理装置は、誤ったデータ18を、車載通信装置20を介して管理サーバ3に送信するおそれがある。
そこで、本実施形態の車両2は、送信対象のデータ18をコントロールユニット10から管理サーバ3に送信する際に、プログラム16のバージョンを識別する識別子(バージョン識別子40)を用いた通信制御を行うことで、誤ったデータ18が管理サーバ3に送信されることを回避する。
コントロールユニット10の不揮発性メモリ12には、バージョン識別子40が格納されている。バージョン識別子40は、不揮発性メモリ12毎に設けられている。バージョン識別子40は、コントロールユニット10のプログラム16のバージョンを一意に識別する識別子である。バージョン識別子40は、例えば、数字や文字が所定桁数(例えば、10桁など)だけ羅列されたコードである。
具体的には、コントロールユニット10内のバージョン識別子40は、不揮発性メモリ12に現在格納されているプログラム16のバージョンを示す。コントロールユニット10内のバージョン識別子40は、不揮発性メモリ12内のプログラム16の更新に合わせて、更新後のプログラム16のバージョンを示すバージョン識別子40に更新される。
不揮発性メモリ12に格納されているバージョン識別子40は、例えば、コントロールユニット10の起動時に、プログラム16とともに揮発性メモリ14に格納される。この際、バージョン識別子40は、揮発性メモリ14におけるデータ18が格納されるメモリアドレス(データ格納領域)以外の固定のメモリアドレスに格納される。このため、メモリアドレスとデータ18との関係がプログラム16の更新の前後において変更されたとしても、メモリアドレスとバージョン識別子40との関係は、プログラム16の更新の前後において変更されない。つまり、コントロールユニット10の中央処理装置は、プログラム16が更新されたとしても、バージョン識別子40を確実に読み出すことができる。
管理サーバ3には、管理ファイル50が格納されている。管理ファイル50は、車載通信装置20とコントロールユニット10との間の通信、および、車載通信装置20と管理サーバ3との間の通信に用いられる各種の設定値が定義されているデータベースファイルである。
管理ファイル50には、少なくとも、バージョン識別子40、メモリアドレス情報60、スケジュール情報70が含まれている。なお、管理ファイル50に含まれる情報は、バージョン識別子40、メモリアドレス情報60、スケジュール情報70に限らない。例えば、管理ファイル50には、車載通信装置20とコントロールユニット10との間の通信に必要な設定値などが含まれていてもよい。
管理サーバ3の管理ファイル50内に含まれるバージョン識別子40は、コントロールユニット10のプログラム16の最新バージョンを示す。また、管理ファイル50内には、各コントロールユニット10の不揮発性メモリ12の数だけバージョン識別子40が含まれている。管理サーバ3の管理ファイル50内のバージョン識別子40は、コンパイル済の最新バージョンのプログラム16が管理サーバ3に格納される際に、その最新バージョンを示すバージョン識別子40に更新される。
メモリアドレス情報60は、すべてのコントロールユニット10の揮発性メモリ14について、コントロールユニット10の揮発性メモリ14の各メモリアドレス(例えば、データ領域のメモリアドレス)と、送信対象のデータ18の種類とが関連付けられてリスト化された情報である。メモリアドレスは、例えば、物理アドレスであってもよく、論理アドレスであってもよい。
管理サーバ3の管理ファイル50内に含まれるメモリアドレス情報60は、最新のメモリアドレス情報60である。管理サーバ3の管理ファイル50内のメモリアドレス情報60は、コンパイル済の最新バージョンのプログラム16が管理サーバ3に格納される際に、その最新バージョンのプログラム16に合わせて、最新のメモリアドレス情報60に更新される。
スケジュール情報70は、車載通信装置20の動作のスケジュールが定義された情報である。スケジュール情報70には、例えば、送信対象のデータ18をコントロールユニット10から管理サーバ3へ送信するという一連の処理の開始時期が定義されている。
管理サーバ3の管理ファイル50内に含まれるスケジュール情報70は、最新のスケジュール情報70である。管理サーバ3の管理ファイル50内のスケジュール情報70は、コンパイル済の最新のプログラム16が管理サーバ3に格納される際に、最新のスケジュール情報70に更新される。
このように、管理サーバ3の管理ファイル50内のバージョン識別子40、メモリアドレス情報60およびスケジュール情報70(換言すると、管理サーバ3の管理ファイル50)は、常に最新の内容となっている。
車載通信装置20にも、管理ファイル50が格納されている。車載通信装置20の管理ファイル50には、バージョン識別子40、メモリアドレス情報60、スケジュール情報70が含まれている。車載通信装置20の管理ファイル50は、後述するが、所定の条件を満たした場合に、管理サーバ3から取得されて更新される。つまり、車載通信装置20内のバージョン識別子40、メモリアドレス情報60およびスケジュール情報70(管理ファイル50)の更新は、コントロールユニット10のプログラム16の更新に同期されていない。このため、車載通信装置20内のバージョン識別子40、メモリアドレス情報60およびスケジュール情報70は、最新のものとなっていない場合がある。
車載通信装置20の通信制御部22は、車載通信装置20の管理ファイル50内のスケジュール情報70にしたがって、コントロールユニット10の不揮発性メモリ12に記憶されているバージョン識別子40を取得する。通信制御部22は、取得したコントロールユニット10のバージョン識別子40と、車載通信装置20に記憶されているバージョン識別子40とを比較する。取得したコントロールユニット10のバージョン識別子40と車載通信装置20のバージョン識別子40とが一致する場合、通信制御部22は、コントロールユニット10の揮発性メモリ14のメモリアドレスを指定して送信対象のデータ18を取得し、取得した送信対象のデータ18を管理サーバ3に送信する。
一方、取得したコントロールユニット10のバージョン識別子40と車載通信装置20のバージョン識別子40とが一致しない場合、通信制御部22は、管理サーバ3から最新の管理ファイル50を取得して車載通信装置20の管理ファイル50を更新する。その後、通信制御部22は、コントロールユニット10の揮発性メモリ14のメモリアドレスを指定して送信対象のデータ18を取得し、取得した送信対象のデータ18を管理サーバ3に送信する。
図2は、データ通信システム1の動作を説明する説明図である。車両2のイグニッションスイッチがオンされて車載通信装置20が起動すると、車載通信装置20の通信制御部22は、まず、管理ファイル50内のスケジュール情報70を読み出す(S100)。
次に、通信制御部22は、読み出されたスケジュール情報70に示された所定の開始条件を満たしたか否かを判定する(S110)。所定の開始条件は、例えば、前回データ18の送信を行ってから7日が経過したか否かである。なお、所定の開始条件は、前回データ18の送信を行ってから7日が経過したか否かに限らず、例えば、前回データ18の送信を行ってから14日が経過したか否かや1月が経過したか否かなどであってもよい。
所定の開始条件を満たしていない場合(S110におけるNO)、通信制御部22は、処理を終了する。一方、所定の開始条件を満たした場合(S110におけるYES)、通信制御部22は、ステップS120の処理に進み、送信対象のデータ18の送信に関する一連の処理を開始する。
まず、通信制御部22は、送信対象のデータ18が格納されているコントロールユニット10に対して、バージョン識別子40の送信を要求するバージョン識別子送信要求を送信する(S120)。なお、バージョン識別子送信要求の送信先のコントロールユニット10は、例えば、スケジュール情報70などに定義されていてもよい。
バージョン識別子送信要求を受信したコントロールユニット10の中央処理装置は、揮発性メモリ14に格納されたバージョン識別子40を読み出して車載通信装置20に送信する(S130)。このようにして、車載通信装置20は、コントロールユニット10のバージョン識別子40を取得する。なお、上述のように、バージョン識別子40が格納されるメモリアドレスはプログラム16の更新に拘らず固定であるため、車載通信装置20は、確実にバージョン識別子40を取得することができる。
なお、ステップS120およびステップS130は、車載通信装置20がコントロールユニット10からバージョン識別子40を取得するバージョン識別子取得工程である。
また、バージョン識別子取得工程において、送信対象のデータ18が複数の揮発性メモリ14に亘って複数ある場合、通信制御部22は、送信対象のデータ18がある複数のコントロールユニット10のそれぞれに対して、バージョン識別子送信要求を送信する(S120)。そして、バージョン識別子送信要求を受信した各コントロールユニット10の中央処理装置は、各々のバージョン識別子40を車載通信装置20に送信する(S130)。
バージョン識別子40の取得後、通信制御部22は、取得したコントロールユニット10のバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40(管理ファイル50内のバージョン識別子40)とが一致するか否かを判定する(S140)。なお、ステップS140は、取得したコントロールユニット10のバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40とを比較するバージョン識別子比較工程である。
また、送信対象のデータ18が複数の揮発性メモリ14に亘って複数ある場合、通信制御部22は、取得した複数のバージョン識別子40のそれぞれについて、バージョン識別子40の比較を行う。例えば、コントロールユニット10Aのバージョン識別子40とコントロールユニット10Bのバージョン識別子40とを取得したとする。この場合、通信制御部22は、コントロールユニット10Aのバージョン識別子40と車載通信装置20に記憶されているコントロールユニット10Aに対応するバージョン識別子40とを比較するとともに、コントロールユニット10Bのバージョン識別子40と車載通信装置20に記憶されているコントロールユニット10Bに対応するバージョン識別子40とを比較する。
取得したコントロールユニット10の個々のバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40とが一致する場合(S140におけるYES)、通信制御部22は、管理ファイル50を更新することなく、後述のステップS180の処理(データ送信工程)に移る。ここで、管理ファイル50を更新しない理由は、バージョン識別子40が一致していれば、車載通信装置20の管理ファイル50が既に最新の管理ファイル50となっているからである。つまり、この場合、揮発性メモリ14のメモリアドレスと送信対象のデータ18との関係と、車載通信装置20のメモリアドレス情報60におけるメモリアドレスと送信対象のデータ18との関係とが、既に一致していることとなる。
なお、通信制御部22は、バージョン識別子40を複数取得したとき、取得したすべてのバージョン識別子40について、取得したバージョン識別子40と車載通信装置20のバージョン識別子40とが一致する場合、取得したコントロールユニット10のバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40とが一致すると判定する。
一方、取得したコントロールユニット10の個々のバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40とが一致しない場合、(S140におけるNO)、通信制御部22は、管理ファイル50の送信を要求する管理ファイル送信要求を管理サーバ3に送信する(S150)。ここで、管理ファイル送信要求を送信する理由は、バージョン識別子40が一致していなければ、車載通信装置20の管理ファイル50が最新の管理ファイル50となっていないからである。
なお、通信制御部22は、バージョン識別子40を複数取得したとき、取得した複数のバージョン識別子40のうち、いずれか1個以上のバージョン識別子40について、取得したバージョン識別子40と車載通信装置20のバージョン識別子40とが一致しない場合、取得したコントロールユニット10のバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40とが一致しないと判定する。
管理ファイル送信要求を受信した管理サーバ3は、管理ファイル50を読み出して車載通信装置20に送信する(S160)。このようにして、車載通信装置20は、管理サーバ3から最新の管理ファイル50を取得する。
管理ファイル50を受信した車載通信装置20の通信制御部22は、受信した管理ファイル50を車載通信装置20の管理ファイル50として上書きし、車載通信装置20の管理ファイル50を更新する(S170)。
車載通信装置20の管理ファイル50が更新されると、車載通信装置20におけるバージョン識別子40およびメモリアドレス情報60が最新のものとなる。つまり、管理ファイル50の更新によって、揮発性メモリ14のメモリアドレスと送信対象のデータ18との関係と、車載通信装置20のメモリアドレス情報が示すメモリアドレスと送信対象のデータ18との関係とが、一致することとなる。
なお、ステップS150、ステップS160、ステップS170は、車載通信装置20の管理ファイル50を更新する管理ファイル更新工程である。
また、車載通信装置20の管理ファイル50が更新されると、コントロールユニット10のプログラム16が次回アップデートされるまで、コントロールユニット10のバージョン識別子40と車載通信装置20のバージョン識別子40とが一致する状態が継続される。また、コントロールユニット10のプログラム16が次回アップデートされるまで、不揮発性メモリ12におけるメモリアドレスに対する送信対象のデータ18の関係と、車載通信装置20のメモリアドレス情報60が示すメモリアドレスに対する送信対象のデータ18の関係とが一致する状態が継続される。
管理ファイル50の更新(S170)後、または、取得したバージョン識別子40と車載通信装置20に記憶されているバージョン識別子40とが一致する場合(S140におけるYES)、通信制御部22は、車載通信装置20の管理ファイル50内のメモリアドレス情報60を参照し、送信対象のデータ18が格納されるメモリアドレスを示す情報を、送信対象のデータ18の送信を要求するデータ送信要求のフレーム内に格納する。そして、通信制御部22は、送信対象のデータ18が格納されているコントロールユニット10に対して、メモリアドレスを示す情報が格納されたデータ送信要求を送信する(S180)。
データ送信要求を受信したコントロールユニット10は、データ送信要求に格納されているメモリアドレスを示す情報に対応するメモリアドレスからデータ18を読み出す。そして、コントロールユニット10は、読み出したデータ18を車載通信装置20に送信する(S190)。このようにして、車載通信装置20は、送信対象のデータ18を、メモリアドレスを指定してコントロールユニット10から取得する。
送信対象のデータ18を受信した車載通信装置20の通信制御部22は、管理サーバ3へ送信する送信データを構築する(S200)。例えば、通信制御部22は、受信した送信対象のデータ18を送信データのフレームへ格納する。送信対象のデータ18が複数ある場合、通信制御部22は、複数の送信対象のデータ18を送信データのフレームへ纏めて格納する。
その後、通信制御部22は、送信データを管理サーバ3に送信し(S210)、一連の処理を終了する。このようにして、送信対象のデータ18がコントロールユニット10から管理サーバ3に送信される。なお、ステップS180、ステップS190、ステップS200は、送信対象のデータ18を管理サーバ3に送信するデータ送信工程である。また、管理サーバ3は、送信データの受信が完了したことを示す受信完了信号を車載通信装置20に送信し、車載通信装置20の通信制御部22は、受信完了信号の受信後に一連の処理を終了してもよい。
以上のように、本実施形態の車両2では、コントロールユニット10内のバージョン識別子40と車載通信装置20内のバージョン識別子40とが一致するか否かの比較が行われる。そして、本実施形態の車両2では、コントロールユニット10内のバージョン識別子40と車載通信装置20内のバージョン識別子40とが一致しない場合、車載通信装置20内の管理ファイル50が最新のものに更新される。
これにより、車載通信装置20内のメモリアドレス情報60が最新のものに更新される。車載通信装置20内のメモリアドレス情報60が最新のものに更新されると、揮発性メモリ14のメモリアドレスと送信対象のデータ18との関係と、車載通信装置20のメモリアドレス情報60が示すメモリアドレスと送信対象のデータ18との関係とが一致することとなる。
このため、本実施形態の車両2では、車載通信装置20がメモリアドレスを指定する際、本来指定すべきメモリアドレスとは異なるメモリアドレスが指定されることが回避される。その結果、本実施形態の車両2では、本来読み出すべきデータ18とは異なる誤ったデータ18が読み出されることを回避できる。
したがって、本実施形態の車両2によれば、車内のコントロールユニット10から車外の管理サーバ3にデータ18を送信する際に、誤ったデータ18が送信されることを回避することが可能となる。換言すると、本実施形態の車両2によれば、車内のコントロールユニット10から車外の管理サーバ3に送信対象のデータ18を確実に送信することができる。その結果、本実施形態のデータ通信システム1を用いれば、車両2の各部の動作が安全に行われているか否かなどを車外において確認することができる。
また、本実施形態の車両2は、車載通信装置20と管理サーバ3との間の既存の通信の仕組みを利用して、車載通信装置20のメモリアドレス情報60を更新している。このため、本実施形態の車両2では、メモリアドレス情報60を更新するための新たな構成を追加することが不要となる。
また、本実施形態の車両2では、コントロールユニット10のバージョン識別子40と車載通信装置20のバージョン識別子40とが一致しない場合にのみ、車載通信装置20の管理ファイル50の更新が行われる。このため、本実施形態の車両2は、送信対象のデータ18の送信毎に管理ファイル50の更新を行う比較例に比べ、車載通信装置20と管理サーバ3との間の通信の頻度を低減することができる。その結果、本実施形態の車両2では、車載通信装置20と管理サーバ3との間の通信コストを抑えることが可能となる。
また、例えば、コントロールユニット10のプログラム16の更新時に、車載通信装置20のメモリアドレス情報60を個別に更新する構成とすることが挙げられる。この態様では、コントロールユニット10のプログラム16の更新時に、車載通信装置20のメモリアドレス情報60の更新を忘れることがある。
これに対し、本実施形態の車両2は、車載通信装置20のメモリアドレス情報60を個別に更新する構成として車載通信装置20のメモリアドレス情報60の更新を忘れたとしても、送信対象のデータ18の送信時に車載通信装置20のメモリアドレス情報60(管理ファイル50)が自動的に更新されるため、送信対象のデータ18をより確実に送信することができる。
また、車内のコントロールユニット10から車外の管理サーバ3に送信対象のデータ18を送信する比較例として、管理サーバ3から車載通信装置20へ送信対象のデータ18の送信要求を送信することが挙げられる。しかし、この比較例において、車両2のイグニッションスイッチがオンされていない場合、車載通信装置20は、動作していないため、管理サーバ3からの送信要求を受信することができず、送信対象のデータ18を管理サーバ3に送信することができない。
これに対し、本実施形態の車両2では、車載通信装置20内のスケジュール情報70にしたがって、車載通信装置20が主体となって送信対象のデータ18の送信に関する一連の処理が実行される。このため、本実施形態の車両2では、管理サーバ3が主体となって送信対象のデータ18の送信を行う比較例に比べ、送信対象のデータ18を確実に管理サーバ3に送信することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態において、バージョン識別子40は、不揮発性メモリ12毎に設けられていた。しかし、バージョン識別子40は、コントロールユニット10のプログラム16毎に設けられてもよい。
また、上記実施形態では、3個のコントロールユニット10が例示されていた。しかし、車両2に設けられるコントロールユニット10は3個に限らない。例えば、2個以下のコントロールユニット10が車両に設けられてもよいし、4個以上のコントロールユニット10が車両に設けられてもよい。つまり、1または複数のコントロールユニットが車両2に設けられていればよい。
また、上記実施形態では、1個のコントロールユニット10に1個の不揮発性メモリ12が設けられていた。しかし、複数のコントロールユニット10で共通の不揮発性メモリ12が設けられてもよいし、1個のコントロールユニット10に複数の不揮発性メモリ12が設けられてもよい。
また、上記実施形態では、バージョン識別子40およびメモリアドレス情報60が管理ファイル50に含まれていた。しかし、バージョン識別子40およびメモリアドレス情報60が管理ファイル50に含まれる態様に限らない。つまり、車載通信装置20では、メモリアドレスとともに、所定のタイミングで更新されたバージョン識別子40がコントロールユニット10に関連付けられていればよい。
また、上記実施形態では、車載通信装置20の管理ファイル50が更新された。しかし、車載通信装置20のメモリアドレス情報60およびバージョン識別子40が更新されればよく、管理ファイル50が更新される態様に限らない。つまり、車載通信装置20は、管理サーバ3から、コントロールユニット10の不揮発性メモリ12(揮発性メモリ14)に記憶されているバージョン識別子40に対応するメモリアドレスを取得してコントロールユニット10の不揮発性メモリ12(揮発性メモリ14)に記憶されているバージョン識別子40とともにコントロールユニット10に関連付ければよい。
本発明は、データ通信システムを構成する車両に利用できる。
1 データ通信システム
2 車両
3 管理サーバ
10 コントロールユニット
12 不揮発性メモリ
14 揮発性メモリ
16 プログラム
18 データ
20 車載通信装置
40 バージョン識別子
50 管理ファイル
60 メモリアドレス情報
70 スケジュール情報

Claims (1)

  1. メモリにプログラムを格納し、格納された前記プログラムを実行することで車両の各部を制御するコントロールユニットと、
    前記コントロールユニットとメモリアドレスとを関連付けて保持し、メモリアドレスを指定して前記コントロールユニットの前記メモリから車外の管理サーバにデータを送信する車載通信装置と、
    を備え、
    前記コントロールユニットの前記メモリには、前記プログラムとともに、前記プログラムのバージョンを識別するバージョン識別子が格納され、
    前記車載通信装置では、メモリアドレスとともに、所定のタイミングで更新されたバージョン識別子が前記コントロールユニットに関連付けられ、
    前記車載通信装置は、前記メモリに記憶されているバージョン識別子と、前記コントロールユニットに関連付けられたバージョン識別子とが一致しない場合、前記管理サーバから、前記メモリに記憶されているバージョン識別子に対応するメモリアドレスを取得して前記メモリに記憶されているバージョン識別子とともに前記コントロールユニットに関連付けた後、関連付けられたメモリアドレスを指定して前記コントロールユニットの前記メモリから前記管理サーバにデータを送信する車両。
JP2018124418A 2018-06-29 2018-06-29 車両 Active JP6718483B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018124418A JP6718483B2 (ja) 2018-06-29 2018-06-29 車両
CN201910307230.5A CN110659039A (zh) 2018-06-29 2019-04-17 车辆
US16/412,725 US11036487B2 (en) 2018-06-29 2019-05-15 Vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018124418A JP6718483B2 (ja) 2018-06-29 2018-06-29 車両

Publications (2)

Publication Number Publication Date
JP2020004193A true JP2020004193A (ja) 2020-01-09
JP6718483B2 JP6718483B2 (ja) 2020-07-08

Family

ID=69028789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018124418A Active JP6718483B2 (ja) 2018-06-29 2018-06-29 車両

Country Status (3)

Country Link
US (1) US11036487B2 (ja)
JP (1) JP6718483B2 (ja)
CN (1) CN110659039A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7408937B2 (ja) * 2018-08-10 2024-01-09 株式会社デンソー センター装置,配信パッケージの生成方法及び配信パッケージ生成用プログラム
CN113806390A (zh) * 2020-06-16 2021-12-17 西安诺瓦星云科技股份有限公司 Led箱体管理方法、装置以及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008024015A (ja) * 2006-07-18 2008-02-07 Hitachi Ltd 車載システム及びそれを搭載した車両
JP2010113409A (ja) * 2008-11-04 2010-05-20 Denso Corp 車載電子制御装置
JP2011090457A (ja) * 2009-10-21 2011-05-06 Toyota Motor Corp 車両診断装置
JP2017004212A (ja) * 2015-06-09 2017-01-05 日立オートモティブシステムズ株式会社 リプログラミングシステム
WO2017046981A1 (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、ファームウェア更新方法及び制御プログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3669619B2 (ja) * 1999-09-06 2005-07-13 富士通株式会社 無線端末装置のソフトウェア更新方法及びその装置
US20020188934A1 (en) * 2001-06-12 2002-12-12 Nortel Networks Limited Method and system for upgrading existing firmware on third party hardware
US20040034861A1 (en) * 2002-08-19 2004-02-19 Ballai Philip N. System and method for automating firmware maintenance
JP4628847B2 (ja) 2005-04-13 2011-02-09 富士通テン株式会社 コンテンツ提供システムおよび車載端末装置
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
US7814478B2 (en) * 2005-11-09 2010-10-12 Texas Instruments Norway As Methods and apparatus for use in updating application programs in memory of a network device
WO2009001422A1 (ja) * 2007-06-25 2008-12-31 Fujitsu Limited ファームウェア配布装置、プログラム及び方法
JP2011118884A (ja) * 2009-11-04 2011-06-16 Fujitsu Ltd 通信端末装置、ソフトウェア取得方法及びソフトウェア取得プログラム
US20120216183A1 (en) * 2011-02-23 2012-08-23 Amit Mahajan Firmware updation in electronic devices
JP5786613B2 (ja) * 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置
US20140380296A1 (en) * 2013-06-20 2014-12-25 General Motors Llc Re-programming vehicle modules
JP6448193B2 (ja) * 2014-01-10 2019-01-09 キヤノン株式会社 画像形成装置及びその制御方法、並びにプログラム
WO2015194652A1 (ja) * 2014-06-19 2015-12-23 日立オートモティブシステムズ株式会社 車載プログラム書込み装置
US20160196131A1 (en) * 2014-07-07 2016-07-07 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9891907B2 (en) * 2014-07-07 2018-02-13 Harman Connected Services, Inc. Device component status detection and illustration apparatuses, methods, and systems
WO2016121442A1 (ja) * 2015-01-26 2016-08-04 日立オートモティブシステムズ株式会社 車載制御装置、プログラム書き込み装置、プログラム生成装置及びプログラム
JP6216730B2 (ja) * 2015-03-16 2017-10-18 日立オートモティブシステムズ株式会社 ソフト更新装置、ソフト更新方法
KR101905019B1 (ko) * 2015-03-24 2018-10-05 후아웨이 테크놀러지 컴퍼니 리미티드 단말기 시스템, 단말기, 및 시스템을 업그레이드하기 위한 방법
US10127036B2 (en) * 2015-06-15 2018-11-13 Lear Corporation Method for OTA updating vehicle electronic control unit
US10165084B2 (en) * 2015-06-16 2018-12-25 Lear Corporation Method for software updating of vehicle components
JP2017156936A (ja) * 2016-03-01 2017-09-07 ヤンマー株式会社 端末装置およびソフトウェア書き換えプログラム
JP6754622B2 (ja) * 2016-06-13 2020-09-16 クラリオン株式会社 ソフトウェア更新装置およびソフトウェア更新システム
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
JP6697357B2 (ja) * 2016-09-15 2020-05-20 株式会社日立製作所 ソフトウェア更新システム
JP6724717B2 (ja) * 2016-10-25 2020-07-15 株式会社オートネットワーク技術研究所 車載機器判定システム
WO2018079006A1 (ja) * 2016-10-27 2018-05-03 住友電気工業株式会社 制御装置、プログラム更新方法、およびコンピュータプログラム
JP6270965B1 (ja) * 2016-11-16 2018-01-31 三菱電機株式会社 プログラムの更新制御システムおよびプログラムの更新制御方法
CN107194242B (zh) * 2017-03-30 2019-11-08 百富计算机技术(深圳)有限公司 固件升级方法和装置
US10445503B2 (en) * 2017-07-14 2019-10-15 Google Llc Secure persistent software updates
US10496398B2 (en) * 2017-07-25 2019-12-03 Aurora Labs Ltd. Hot updates to ECU software using tool chain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008024015A (ja) * 2006-07-18 2008-02-07 Hitachi Ltd 車載システム及びそれを搭載した車両
JP2010113409A (ja) * 2008-11-04 2010-05-20 Denso Corp 車載電子制御装置
JP2011090457A (ja) * 2009-10-21 2011-05-06 Toyota Motor Corp 車両診断装置
JP2017004212A (ja) * 2015-06-09 2017-01-05 日立オートモティブシステムズ株式会社 リプログラミングシステム
WO2017046981A1 (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、ファームウェア更新方法及び制御プログラム

Also Published As

Publication number Publication date
CN110659039A (zh) 2020-01-07
US20200004525A1 (en) 2020-01-02
US11036487B2 (en) 2021-06-15
JP6718483B2 (ja) 2020-07-08

Similar Documents

Publication Publication Date Title
US20210405996A1 (en) Server, managing method, non-transitory storage medium, software updating device, center, and over-the-air master
CN110244959B (zh) 车辆控制系统及软件兼容性检查方法
WO2017208475A1 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
US11967188B2 (en) Vehicle mounted update apparatus, update processing program, and program update method
US11604636B2 (en) Vehicle control system and method for confirming software consistency
EP4099655A1 (en) Software version rollback method, apparatus and system
JP2018181377A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
WO2018154949A1 (ja) プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム
US20220091762A1 (en) Electronic Control Device and Program-Update Method
CN117950701A (zh) 系统、车辆、更新确认方法及存储更新确认程序的非暂态性存储介质
US20210132937A1 (en) Vehicle control device, program update method, and program update system
JP6718483B2 (ja) 車両
JPWO2018230084A1 (ja) 更新制御装置、制御方法、およびコンピュータプログラム
CN107102849B (zh) 用于周期性点火开关断开的文件替换的方法和设备
US20220063646A1 (en) Onboard device, information generating method, non-transitory storage medium, and vehicle
JP7224472B2 (ja) 車両制御装置、更新プログラム、プログラム更新システム、及び書込み装置
JP2018181376A (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
EP3923139A1 (en) Electronic control device and method for using non-volatile memory
US20220283799A1 (en) Center, update management method, and non-transitory storage medium
US11736577B2 (en) Server, update management method, non-transitory storage medium, software update device, and system including server and software update device
US20220027143A1 (en) Server, software updating device, vehicle, software updating system, control method, and non-transitory storage medium
US20220107798A1 (en) Server, software update system, distribution method, and non-transitory storage medium
CN113821243A (zh) 软件更新装置、主机、ota主机、网络系统、方法、存储介质、中心及车辆
US20230036444A1 (en) System, method, and non-transitory storage medium
JP7484606B2 (ja) 車載機器、ソフトウェア更新方法、ソフトウェア更新プログラム、および、車両

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200612

R150 Certificate of patent or registration of utility model

Ref document number: 6718483

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250