(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187056
(43)【公開日】2022-12-19
(54)【発明の名称】ソフトウエア特定装置
(51)【国際特許分類】
G06F 9/445 20180101AFI20221212BHJP
B60R 16/02 20060101ALI20221212BHJP
【FI】
G06F9/445 130
B60R16/02 660T
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2021094859
(22)【出願日】2021-06-07
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】駒井 翔
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AC12
5B376AC24
5B376CA05
5B376CA45
5B376GA07
(57)【要約】
【課題】車両に組み付けられていたコンピュータをそのコンピュータに書き込まれていたソフトウエアが利用できない別のコンピュータに交換する場合に、交換後のコンピュータに書き込むべきソフトウエアを特定できるようにする。
【解決手段】
管理ツール160は、車両150に組み付けられた交換後のECU152から、その車両の識別番号とそのECU152の品番を取得し、それらの情報を含む問合せをソフト管理システム100に送る。ソフト管理システム100は、その車両150の交換前のECU152に書き込まれていたソフトウエアの品番を個車DB110から求め、交換後のECU152の品番と、求めた交換前のソフトウエアの品番との組合せに対応する、交換後のECU152に書き込むべきソフトウエアの品番を条件情報122から求める。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両に組み付けられている第1のコンピュータを特定する第1情報と、前記第1のコンピュータの前に前記車両に組み付けられていた第2のコンピュータに書き込まれていたソフトウエアを特定する第2情報とを求める第1手段と、
前記第1情報と前記第2情報に基づいて、前記第1のコンピュータに書き込むべき、前記ソフトウエアに対応する第2のソフトウエアを特定する第2手段と、
を含むソフトウエア特定装置。
【請求項2】
前記第1手段は、
問合せ元から前記車両の車両識別情報と、前記第1情報と、を含んだ問合せを受け取り、
前記車両識別情報と、その車両識別番号に対応する車両に組み付けられているコンピュータに書き込まれているソフトウエアを特定する特定情報と、を記憶するデータベースから、前記問合せに含まれる前記車両識別情報に対応する前記特定情報を、前記第2情報として求める、
ことを特徴とする請求項1に記載のソフトウエア特定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に組み付けられたコンピュータが交換された場合の、交換後のコンピュータに書き込むべきソフトウエアを特定するための装置に関する。
【背景技術】
【0002】
自動車等の車両はECU(Electronic Control Unit:電子制御ユニット)と呼ばれるコンピュータにより制御される。車両には、エンジン制御用、モータ制御用、ブレーキ制御用、カーオーディオ用、ナビゲーション用など、各種制御用に様々な種類のECUが組み付けられている。
【0003】
ECUにはフラッシュメモリ等の不揮発性記憶装置が内蔵されている。不揮発性記憶装置には、ECUが実行する処理を記述した各種プログラムやそれらプログラムの実行時に用いられるデータ等のソフトウエアが書き込まれている。ECUは、不揮発性記憶装置に記憶されたプログラムを、内蔵するプロセッサにより実行することにより、所期の制御又は情報処理の機能を実現する。
【0004】
車両工場にて、生産中の車両にECUが組み付けられ、組み付け後のECUに必要なソフトウエアが書き込まれる。その後、工場出荷前の検査段階で、車両に組み付けられた各種のECUにそれぞれ適切なソフトウエアが書き込まれているか確認される。
【0005】
車両が工場から出荷された後、その車両に組み付けられたECUが、何らかの理由で、例えば車両の販売店で、交換される場合がある。販売店の作業員は、車両メーカーが運営するサーバから、交換前のECUに書き込まれていたソフトウエアと同じソフトウエアをダウンロードし、その車両に新たに組み付けた交換後のECUに書き込む。
【0006】
車両のECUに搭載されるプログラムを書き換える技術として、特許文献1に開示されるものがある。この技術では、ECUのプログラムの更新に必要な諸元データをセンタ装置で生成し、その諸元データを車両側に送信して車両側でそのデータを用いて更新を実行する。
【0007】
また、特許文献2に記載された装置は、車載ECUの故障診断を行う車両診断装置(ダミーECU)が、該車載ECUと交換されたときに、通信を利用して、該車載ECUのECUプログラムを取得する取得手段と、該ECUプログラムを用いて上記車載ECUにより制御されていた車載機器を制御する制御手段とを備える。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2020-27669号公報
【特許文献2】特開2006-349430号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
交換後のECUが交換前のECUと同じ品番のもの(すなわち、ハードウエア等の構成が同一のもの)であれば、交換前のECUに書き込まれていたソフトウエアと同じものを交換後のECUに書き込むことに問題はない。
【0010】
一方、ECUの設計は随時改良されており、用途は同じだがハードウエア等の構成が異なる複数種類のECUが同時に流通していることが一般的である。車両に組み付けられたECUを同じ用途の別の品番のECUに交換することが必要になったり、そのような交換が有益になったりする場合がある。
【0011】
ところが、交換可能なECU同士であっても同じソフトウエアが利用できるとは限らない。もちろん交換前のECUとは品番が異なるECUの中には、同じソフトウエアが利用可能なものもあるが、利用不可のものもある。例えば、プロセッサ、メモリ容量、不揮発性記憶装置の容量、OS(オペレーティングシステム)等の違いにより、一方のECUで利用可能なソフトウエアが、他方のECUでは利用できない場合がある。
【0012】
したがって、交換前のECUに書き込まれていたソフトウエアと同じソフトウエアをダウンロードして交換後のECUに書き込む従来方式では、交換前のECUに書き込まれていたソフトウエアが利用可能なECUにしか交換することができなかった。このように交換可能なECUに制限があると、同じソフトウエアを利用可能なECUを入手するまで交換ができなかったり、同じ用途のより高性能なECUに交換することができなかったりするなど、利便性が損なわれる可能性があった。
【課題を解決するための手段】
【0013】
本発明に係るソフトウエア特定装置は、車両に組み付けられている第1のコンピュータを特定する第1情報と、前記第1のコンピュータの前に前記車両に組み付けられていた第2のコンピュータに書き込まれていたソフトウエアを特定する第2情報とを求める第1手段と、前記第1情報と前記第2情報に基づいて、前記第1のコンピュータに書き込むべき、前記ソフトウエアに対応する第2のソフトウエアを特定する第2手段と、を含む。
【発明の効果】
【0014】
本発明によれば、車両に組み付けられていた第2のコンピュータをその第2のコンピュータに書き込まれていたソフトウエアが利用できない第1のコンピュータに交換する場合に、交換後の第1のコンピュータに書き込むべきソフトウエアを特定することができる。
【図面の簡単な説明】
【0015】
【
図1】ECUにソフトウエアをダウンロードして書き込むシステムを例示する図である。
【
図2】個車DB(データベース)に登録されたデータを示す図である。
【
図3】ソフト管理DBに記憶された条件情報の例を示す図である。
【
図4】判定部が実行する処理手順を例示する図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して、本発明を実施するための形態(以下、実施形態と呼ぶ)を説明する。
【0017】
【0018】
図1において、ソフト管理システム100は、車両150に搭載されるECU152に対して、車両150を製造する工場や車両150を販売又は保守する販売店で書き込まれるソフトウエア(以下「ソフト」と略す)を管理するシステムである。このようにECU152に対して車両の工場や販売店で書き込まれるソフトは、後書きソフトとも呼ばれる。ECU152には、OS等の基本的なソフトであるベースソフトが例えばECU152のメーカーによりあらかじめ書き込まれているが、このベースソフトの上で動作するアプリケーションである後書きソフトを車両メーカーが作成し、工場や販売店でECU152に書き込む。
【0019】
ECU152は、マイクロコンピュータを内蔵しており、そのマイクロコンピュータは、ハードウエアとして、プロセッサ、RAM(ランダムアクセスメモリ)、ROM(リードオンリーメモリ)、不揮発性記憶装置(例えばフラッシュメモリ)等を備えている。ベースソフトは例えばROMに記憶されている。後書きソフトは、ECU152内の不揮発性記憶装置に書き込まれる。以下では、ECU152の不揮発性記憶装置に書き込まれる後書きソフトのことを、煩雑さを避けるために単に「ソフト」と呼ぶ。
【0020】
また、ここでいうソフトは、典型的には、1つのプログラム、又は複数のプログラムからなるセットであるが、これに限らない。プログラムの実行に用いられる設定データ等のデータも、プログラムとそのプログラムの実行に用いられるデータとの組も、ソフトの一例である。
【0021】
ソフト管理システム100は、例えば単体のサーバ、又は、クラウドサービスのように互いに連携する複数のコンピュータからなるシステムとして構築される。ここでいうコンピュータは、例えば、プロセッサ、ランダムアクセスメモリ(RAM)等のメモリ(主記憶装置)、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)等の不揮発性記憶装置である補助記憶装置を制御するコントローラ、各種の入出力装置とのインタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、例えばバス等のデータ伝送路を介して接続された回路構成を有する。上記実施形態の処理の内容が記述されたプログラムが、ネットワーク等を経由してそのコンピュータにインストールされ、補助記憶装置に記憶される。補助記憶装置に記憶されたプログラムが、プロセッサによりメモリを用いて実行されることにより、本実施形態のソフト管理システム100が構成される。
【0022】
ソフト管理システム100は、インターネットや専用線等の通信回線を介して、作業員が操作する管理ツール160と通信可能となっている。
【0023】
ソフト管理システム100は、機能的な要素として、受付部102、判定部104、提供部106、個車DB(データベース)110及びソフト管理DB120を備える。
【0024】
受付部102は、ECU152に対してソフトを書き込む管理ツール160から、書き込むべきソフトの問合せを受け付ける。判定部104は、その問合せに対応する、書き込むべきソフトを判定する。提供部106は、判定されたソフトをその管理ツール160に提供する。
【0025】
個車DB110は、個々の車両のデータを記憶し、管理するデータベースである。個車DB110には、
図2に示すように、個々の車両ごとに、その車両のVINに対応付けて、その車両のECU152に書き込まれている1以上のソフトの各々のソフト品番が登録されている。VIN(Vehicle Identification Number:車両識別番号)は、個々の車両の識別番号であり、車両識別情報の一種である。ソフト品番は、管理のために同一種類のソフトごとに付けられた番号である。
【0026】
個車DB110に車両のVINに対応付けて登録されているソフト品番は、当該車両150に現在組み付けられているECU152に書き込まれているソフトの品番である。本実施形態が想定している状況では、この現在組み付けられているECU152が、販売店等で別のECU152に交換される。この交換後のECU152から見れば、個車DB110に登録されたそのソフト品番は、交換前のECU152に書き込まれていたソフトの品番を示す。
【0027】
すなわち、
図2におけるECUに書き込まれているソフトウエアの品番の欄のデータは、車両に組み付けられているコンピュータに書き込まれているソフトウエアを特定する特定情報の一つの実装例である。
【0028】
個車DB110には、上述したソフト品番の他にも、車両に関する各種の情報が登録されているが、実施形態の処理には関係が薄いので、説明は省略する。
【0029】
車両150には、一般に、用途に応じた複数のECU152が組み付けられている。また、それら複数のECU152の各々に、1以上のソフトが書き込まれている。個車DB110は、個々の車両150に組み付けられているECU152ごとにそのECU152に書き込まれているソフトの品番が登録される形式であってもよい。ただし、これは必須ではない。
図2に示した例は、車両150のいずれかのECU152に書き込まれているソフトの品番を、ECU152ごとに区別することなく、その車両150のVINに対応付けて列挙する形式である。同じソフト品番のソフトが、同じ車両150内の異なる複数のECU152に書き込まれる(すなわち複数のECU152で同じソフトが動作する)ことがない一般的な環境では、
図2に例示した形式でも矛盾なく機能する。
【0030】
ソフト管理DB120は、ECU152に書き込むソフトの情報を管理するデータベースである。ソフト管理DB120には、ソフト品番に対応付けて、そのソフト品番により特定されるソフトの実体データ(例えばプログラムや設定データ等)を記憶している。また、ソフト管理DB120には、条件情報122が記憶されている。条件情報122は、管理ツール160からの問合せに対応するソフトを判定するための条件を表す情報である。本実施形態のシステムは、この条件情報122を備えることにより、交換後のECU152に書き込むべきソフトを判定可能としている。
【0031】
図3に条件情報122の一例を示す。
図3に示す条件情報122は、2つの入力の組合せに応じた1つの出力を求めるテーブルの形式を取っている。
図3に示すテーブルのうちの1行のレコードが、1つの条件を示す。
【0032】
レコード中の2つの入力は、テーブルの1列目の(a)交換後のECUの品番と、2列目の(b)交換前のECUに書き込まれていたソフトの品番である。(a)は、車両150に装着されている交換後のECU152から読み出される。(b)は、その交換後のECU152から読み出されたVINをキーとして、個車DB110から検索される。
【0033】
テーブルの3列目が示す出力データは、テーブルの同じ行の2つの入力の組合せに対応する、交換後のECU152に書き込むべきソフトの品番である。
【0034】
なお、交換後のECU152を第1のコンピュータと呼ぶ場合、交換前のECU152は、第1のコンピュータの前に車両150に組み付けられていた第2のコンピュータと言うことできる。この場合、上述の(a)交換後のECUの品番は、第1のコンピュータを特定する第1情報の一例である。また、(b)交換前のECUに書き込まれていたソフトの品番は、第1のコンピュータの前に車両に組み付けられていた第2のコンピュータに書き込まれていたソフトウエアを特定する第2情報の一例である。また、テーブルの3列目の交換後のECU152に書き込むべきソフトの品番は、第1のコンピュータに書き込むべき第2のソフトウエアを特定する情報である。ここで、第2のソフトウエアは、第1のコンピュータの前に車両に組み付けられていた第2のコンピュータに書き込まれていたソフトウエアに対応する、第1のコンピュータ用のソフトウエアである。
【0035】
既存ECU用のソフトが新開発のECUに利用できない場合、その既存ECUのソフトに対応する新開発ECU用のソフトの開発が行われる。例えばそのソフトの開発者(例えば車両メーカーのソフト開発部門)は、新開発ECUの品番と、その既存ECU用のソフトの品番と、新開発ECU用のソフトの品番とを含むレコードを条件情報122に追加する。
【0036】
ここで、ECU152の品番とは、管理のために同一種類のECU152ごとに付けられた番号である。また、既存ECU用のソフトが新開発のECUに「利用できない」場合には、プロセッサやメモリ容量、OS等の違いによりそのソフトが新開発のECU上で実行できない場合、新開発のECUの不揮発性記憶装置の容量がそのソフトを書き込むには不足である場合、等がある。
【0037】
また、一つの例では、交換前のECU152に書き込まれていたソフトと同じソフトを交換後のECU152に書き込んでよい場合は、条件情報122中にそれら交換前のECU152とソフトとの組合せに対するレコードを組み込まなくてもよい。後述する
図4の処理手順は、この例に対応するものである。
【0038】
別の例として、そのような場合でも、条件情報122にレコードを組み込むこととしてもよい。この例のレコードでは、2列目の交換前のECUに書き込まれていたソフト品番と、3列目の交換後のECUに書き込むべきソフト品番は同じである。
【0039】
なお、
図3に例示した条件情報122の形式はあくまで一例に過ぎない。条件情報122は、交換後のECU152の品番と、交換前のECU152に書き込まれていたソフトの品番との組合せから、交換後のECU152に書き込むべきソフトの品番を特定できるものであれば、どのような形式のものであってもよい。
【0040】
図1の説明に戻ると、管理ツール160は、販売店等の作業員が、車両150に組み付けられているECU152の検査や保守を行うのに用いる端末である。管理ツール160は、データ通信機能を備えたコンピュータを内蔵しており、通信ケーブル又は無線通信により、車両に組み付けられているECU152とデータ通信を行う。このデータ通信により、ECU152の検査や、ECU152へのソフトの書き込みを行う。
【0041】
作業員は、車両150に組み付けられているECU152を別のECU152に交換する作業を終えると、新たに組み付けられている交換後のECU152に管理ツール160を接続する。そして、作業員は、管理ツール160を操作して、そのECU152へのソフトの書き込み処理を実行する。以下、この書き込み処理の実行の開始の指示に応じて行われる処理の概要を、
図1に示した(1)~(5)のステップの順に説明する。
【0042】
(1)この書き込み処理の実行開始の指示を受けて、管理ツール160は、そのECU152に車両150のVINとそのECU152の品番を問い合わせ、ECU152からそれらの情報を取得する。車両150のVINは、そのECU152に予め書き込まれているか、又はそのECU152が車両150内の他の装置(例えば他のECU152)から取得する。
【0043】
(2)管理ツール160は、ECU152に書き込むべきソフトを、ネットワーク経由でソフト管理システム100に問い合わせる。この問合せには、ECU152から取得したVIN及び交換後のECU152の品番の情報が含まれる。
【0044】
(3)ソフト管理システム100の受付部102はこの問合せを受け付ける。判定部104は、その問い合わせに含まれるVIN及び交換後のECU152の品番から、そのECU152に書き込むべきソフトを判定する。この判定処理については、後で
図4のフローチャートを参照して説明する。
【0045】
(4)提供部106は、判定部104が判定したソフトの実体データをソフト管理DB120から取得し、その実体データをネットワーク経由で管理ツール160に回答する。
【0046】
(5)管理ツール160は、回答されたソフトの実体データを、ECU152の不揮発性記憶装置に書き込む。
【0047】
次に
図4を参照して、管理ツール160からの問合せに対してソフト管理システム100が実行する処理の手順の例を説明する。
図4の例は、交換前のECU152に書き込まれていたソフトと同じソフトを交換後のECU152に書き込んでよい場合に、条件情報122中にそれら交換前のECU152とソフトとの組合せに対するレコードを組み込まない場合に対応する手順である。
【0048】
この手順では、受付部102は、管理ツール160から問合せを受け付ける(S10)。判定部104は、その問合せに含まれるVIN及び交換後のECU152の品番の情報を受け取る。そして判定部104は、そのVINに対応するソフト品番を個車DB110(
図2参照)から検索する(S12)。この時点では、そのVINに対応づけて個車DB110に記憶されているソフト品番は、交換前のECU152に書き込まれていたソフトのものである。このステップでは、そのVINに対応する車両150に装着されている複数のECU152に書き込まれているすべてのソフトの品番が検索される。それら複数のECU152に書き込まれているソフトの中には、S10で品番を取得した交換後のECU152の交換対象となった交換前のECU152に書き込まれているソフトも含まれる。
【0049】
次に判定部104は、問合せに含まれていた交換後のECU152の品番と、ステップS12で検索されたソフト品番(すなわち交換前のソフト品番)とをそれぞれ1列目及び2列目として持つレコードを条件情報122(
図3参照)から検索する(S14)。このステップで検索されたレコードの3列目が、1列目と2列目の値の組合せに対応する、交換後のECU152に書き込むべきソフトの品番である。
【0050】
ここで交換後のECU152の品番は1つであるが、ステップS12では複数のソフト品番が検索される場合がある。複数のソフト品番が検索されるのは、その交換後のECU152に対応する交換前のECU152に書き込まれていたソフトが複数ある場合である。交換前のソフト品番がN個(Nは1以上の整数)であるとすると、交換後のECU152の品番と交換前のソフト品番との組合せの数はN個である。ステップS14ではそれらN個の組合せのそれぞれについて、テーブルの1列目及び2列目の組合せがその組合せに合致するレコードを検索する。すなわち、このステップでは、交換前のECU152に書き込まれていたソフトごとに、そのソフトに対応する、交換後のECU152に書き込むべきソフトの品番を求めることとなる。
【0051】
以降のステップS16~S20は、その組合せ毎に実行される。すなわち、判定部104は、その組合せに対応する3列目、つまり交換後のECU152に書き込むべきソフトの品番を検索できたかどうかを判定する(S16)。
【0052】
この例では、その組合せにおける交換前のソフト品番が示すソフトを交換後のECU152に書き込んでよい場合は、条件情報122にはその組合せを含むレコードは存在しない。この場合、ステップS16の判定結果はNo(すなわち検索できなかった)となる。この場合、判定部104は、ソフト管理DB120から、その組合せに含まれるソフト品番(すなわち交換前のソフト品番)が指し示すソフトの実体データを取得し、これを提供部106がネットワーク経由で管理ツール160に回答する(S18)。
【0053】
一方、ステップS16の判定結果がYesの場合、判定部104は、ソフト管理DB120から、S14で検索されたソフト品番(すなわち交換後のソフト品番)が指し示すソフトの実体データを取得し、これを提供部106がネットワーク経由で管理ツール160に回答する(S20)。
【0054】
ステップS18又はS20で提供されたソフトの実体データは、管理ツール160により、交換後のECU152に書き込まれる。
【0055】
また、ソフト管理システム100は、ステップS20にて、交換後のECU152に対して、交換前のECU152に書き込まれていたソフトに対応する異なるソフトを書き込んだ場合、個車DB110(
図2参照)を更新する。すなわち、ソフト管理システム100は、
図2における当該車両150のVINに対応する、「ECUに書き込まれているソフトウエアの品番」欄のソフト品番のうち、交換前のソフト品番を、S20で提供したソフトのソフト品番へと書き換える。ステップS20ではなくステップS18を実行したソフトについては、個車DB110の更新は必要ない。なお、この更新は、交換後のECU152に対して必要なソフトを書き込んだ後、その書き込み結果を管理ツール160で読み取って検査し、正しく書き込めていることが確認できた後に行うようにしてもよい。
【0056】
図4に示した手順の例は、交換前のECU152に書き込まれていたソフトと同じソフトを交換後のECU152に書き込んでよい場合に、条件情報122中にそれら交換前のECU152とソフトとの組合せに対応するレコードを組み込まない場合の手順であった。これに対して、そのような場合でも条件情報122にそれら交換前のECU152とソフトとの組合せに対応するレコードを組み込む例では、ソフト管理システム100の処理はもっと単純になる。すなわち、この例では、判定部104は、ステップS14で交換後のECU152に書き込むべきソフト品番が検索できるので、検索したソフト品番のソフトをソフト管理DB120から取得し、提供部106を介して管理ツール160に提供すればよい。
【0057】
以上に説明した例では、ソフト管理システム100が、各ソフトの実体データを持っており、管理ツール160からの問合せに対応するソフトを特定し、そのソフトに実体データを管理ツール160に回答した。しかし、このような構成はあくまで一例に過ぎない。別の例として、例えば、ソフト管理システム100は、各ソフトの実体データは持たず、管理ツール160からの問合せに対応するソフトを特定し、そのソフトの品番を管理ツール160に回答してもよい。この例では管理ツール160は、ソフト管理システム100から回答されたソフト品番を含む問合せを、ソフトの実体データを保持している別のサーバに送り、そのサーバから実体データを取得する。
【符号の説明】
【0058】
100 ソフト管理システム、102 受付部、104 判定部、106 提供部、110 個車DB、120 ソフト管理DB、122 条件情報、150 車両、152 ECU、160 管理ツール。