JP2022114160A - 車両用装置 - Google Patents
車両用装置 Download PDFInfo
- Publication number
- JP2022114160A JP2022114160A JP2021010334A JP2021010334A JP2022114160A JP 2022114160 A JP2022114160 A JP 2022114160A JP 2021010334 A JP2021010334 A JP 2021010334A JP 2021010334 A JP2021010334 A JP 2021010334A JP 2022114160 A JP2022114160 A JP 2022114160A
- Authority
- JP
- Japan
- Prior art keywords
- external device
- vehicle
- vehicle device
- data
- function
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
【課題】出荷後においても性能向上を図ることができる車両用装置を提供する。【解決手段】車両用装置1は、周辺機器3にアクセス可能であって車両を利用する際に提供される機能を実行可能な制御部101と、制御部101と通信可能であって車両を利用する際に提供される機能を実行可能な外部装置2が接続される接続部5と、外部装置2が機能を実行可能な状態で接続部5に接続されているか否かを判定する判定部12とを備え、制御部101は、外部装置2が機能を実行可能な状態ではないと判定された場合、外部装置2で実行されていた機能を自身で実行する。【選択図】図4
Description
本開示は、車両用装置に関する。
近年、例えば特許文献1に示されているように、車両用装置に複数のオペレーティングシステムを実装することが急速に普及しつつある。以下、オペレーティングシステムをOSと称する。このとき、車両用装置には、リアルタイム性が求められる処理に適したいわゆるリアルタイムOSと、例えばディスプレイへの表示などのマルチメディア系の処理に適しており、一般的な携帯端末等で利用される汎用的なOSとが実装されることがある。
ところで、携帯端末等で利用される汎用的なOSは、更新頻度が比較的高く、その更新によってOSに搭載される機能も拡充されていく。そして、機能の拡充に伴って要求されるハードウェアの性能も高くなっていく。
しかしながら、車両に搭載される車両用装置においては、出荷後に例えば1年ごとや数年ごとにハードウェアを更新する対応を取ることが困難であるという問題がある。
本開示は、上記した事情に鑑みてなされたものであり、その目的は、出荷後においても性能向上を図ることができる車両用装置を提供することにある。
本開示は、上記した事情に鑑みてなされたものであり、その目的は、出荷後においても性能向上を図ることができる車両用装置を提供することにある。
上記目的を達成するために、本開示の一態様の車両用装置(1)は、周辺機器(3)にアクセス可能であって車両を利用する際に提供される機能を実行可能な制御部(101)と、制御部と通信可能であって車両を利用する際に提供される機能を実行可能な外部装置(2)が接続される接続部(5)と、外部装置が機能を実行可能な状態で接続部に接続されているか否かを判定する判定部(12)とを備えている。これにより、まず、例えば車両出荷時には必要とされる性能を有していたものの、その後のオペレーティングシステムのアップデートによって高性能化が必要となったような状況において、外部装置を接続することにより、性能向上を容易に図ることができる。
また、車両用装置は、外部装置が機能を実行可能な状態ではないと判定された場合、外部装置で実行されていた機能を自身で実行する。これにより、例えば外部装置が取り外された場合などにおいて外部装置を利用できなくなった際、それまで外部装置で実行していた機能を車両用装置側で引き継ぐことができる。
以下、複数の実施形態について説明する。また、各実施形態において実質的に共通する部位には同一符号を付すものとする。
(第1実施形態)
以下、第1実施形態について説明する。図1に示すように、車両用装置1は、例えばSoCで構成された半導体集積回路として実現されており、外部装置2に接続可能となっているとともに周辺機器3へのアクセスが可能となっている。これら車両用装置1、外部装置2および各周辺機器3は、互いに連携して作動することにより、車両用システム4を構成している。
以下、第1実施形態について説明する。図1に示すように、車両用装置1は、例えばSoCで構成された半導体集積回路として実現されており、外部装置2に接続可能となっているとともに周辺機器3へのアクセスが可能となっている。これら車両用装置1、外部装置2および各周辺機器3は、互いに連携して作動することにより、車両用システム4を構成している。
具体的には、車両用装置1は、車両を利用する際に提供される機能を実行可能な制御部101、周辺機器3との間で各種の信号を入出力するための外部入出力回路102、制御部101と通信可能であって車両を利用する際に提供される機能を実行可能な外部装置2が接続されるUSBコネクタ103などを備えている。なお、SoCはSystem on a Chipの略であり、USBは、Universal Serial Busの略である。また、図1では説明の簡略化のために外部入出力回路102を1つのブロックとして示しているが、周辺機器3に対応した複数の回路で構成することができる。
制御部101は、CPU104、ROM105、RAM106、入出力ポート107、および通信回路108などを備えており、それらがバス109によって接続されている。CPU104は、ROM105に記憶されているプログラムを実行することにより、車両用装置1を制御するための各種の処理と、車両を利用する際に提供される各種の機能を実行する。また、CPU104が実行する機能の一部または全部を1つあるいは複数のICによりハードウェアで構成することができる。
本実施形態では、車両を利用する際に提供される機能とは、車両を利用するユーザに対して提供される機能、および、ユーザが直接的には把握していなくても車両を利用するために必要とされる車載機器を含む周辺機器3を制御するための機能を想定している。つまり、車両を利用する際に提供される機能とは、車両用装置1が提供可能な機能、および、車両用装置1を介して外部装置2が提供可能な機能を意味している。
ROM105は、例えばeMMCで構成された不揮発性のメモリである。なお、eMMCは、embedded Multi Media Cardの略である。このROM105には、CPU104が実行する各種のプログラム、プログラムを実行する際に参照されるデータ、エアコンディショナの設定温度、シートやハドルの位置や角度のような主として車両設備に利用されるデータ、ナビゲーションに利用する自宅の位置や電話番号、楽曲などのような主として提供する機能に利用されるデータなどが記憶されている。以下、これらのデータのうち、シートポジションや電話番号などのようなユーザとって固有のデータをユーザ情報とも称する。
また、ROM105は、不揮発性のメモリで構成されており、読み出し専用の領域と書き込み可能な領域とが設けられている。例えばOSイメージのように基本的には書き換えないデータは読み出し専用の領域に記憶されている一方、車両用装置1の電源がオフされた場合でも記憶しておくデータは書き込み可能な領域に記憶される。このROM105は、記憶部110を構成している。
RAM106は、揮発性のメモリで構成されており、演算結果等のデータを一時的に記憶する。なお、RAM106に記憶されるデータは、必要であれば例えば車両用装置1の動作終了時にROM105の書き込み可能な領域に記憶される。
入出力ポート107は、制御部101と周辺機器3や外部装置2との間で信号の入出力を行わせるための回路である。通信回路108は、本実施形態ではUSB規格に準拠したものであり、物理的な接続手段であるUSBコネクタ103を介して、外部装置2との間でデータの送受信を行う。これらUSBコネクタ103と通信回路108は、本実施形態における接続部5を構成している。
外部装置2は、例えばSoCで構成された半導体集積回路として実現されており、本実施形態では、車両用装置1とUSB接続されるUSBモジュールとして構成されている。この外部装置2は、ケーブル6を介して車両用装置1の制御部101と通信可能にUSB接続されることで、車両用装置1を介して周辺機器3にアクセス可能になっている。また、外部装置2は、動作時にはUSBコネクタ103を介して車両用装置1から電源が供給される。
外部装置2は、車両を利用する際に提供される機能を実行可能なモジュール側制御部201と、周辺機器3や無線通信装置203との間で各種の信号を入出力するための外部入出力回路202とを備えている。モジュール側制御部201は、CPU204、ROM205、RAM206、入出力ポート207、および通信回路208などを備えており、それらがバス209によって接続されている。
なお、図1では説明の簡略化のために外部入出力回路202を1つのブロックとして示しているが、無線通信装置203のような外部装置2に接続されることが想定される装置に対応した複数の回路で構成することができる。
CPU204は、ROM205に記憶されているプログラムを実行することにより、車両用装置1との間の通信や車両を利用する際に提供される各種の機能を実行する。ROM205は、CPU204が実行するプログラムやプログラムを実行する際に参照されるデータなどを記憶するモジュール側記憶部210を構成している。また、外部装置2のモジュール側記憶部210は、車両用装置1から送信される例えばユーザ情報などのデータを記憶することもできる。
本実施形態では、モジュール側制御部201は、車両用装置1の制御部101よりも高い処理性能を有する構成となっている。そのため、同一処理を実行する場合には、車両用装置1よりも外部装置2の方がより短時間で処理を完了することができる。また、CPU204が実行する機能の一部または全部を1つあるいは複数のICによりハードウェアで構成することができる。
入出力ポート207は、モジュール側制御部201と他の装置との間で信号の入出力を行わせるための回路である。本実施形態では、他の装置として、車両用装置1、車両用装置1を介して制御する周辺機器3、例えばユーザが所有する携帯端末7との間で通信を行う無線通信装置203などを想定している。
通信回路208は、本実施形態では車両用装置1と通信するためのUSB規格に準拠したものである。無線通信装置203は、例えばWi-Fi(登録商標)やBluetooth(登録商標)に対応した無線通信部を備えており、携帯端末7との間で無線通信を行う。なお、無線通信装置203は、携帯端末7との間を有線接続方式で通信する機能を備えていてもよい。
車両用装置1に接続される周辺機器3としては、例えばセンタディスプレイ301、メータディスプレイ302、ヘッドアップディスプレイ303、エアコンディスプレイ304、スピーカ305、カメラ306、マイク307、位置検出装置308、チューナ309、DSM310、LIDAR311、レーダ312、ECU313などが想定される。ただし、図1に示した周辺機器3の種類や数は一例であり、車両用装置1は必ずしもこれら全てと接続されている必要は無く、また、例示していない他の周辺機器3を接続することもできる。
センタディスプレイ301は、例えば運転席と助手席との間の前方に配置される。このセンタディスプレイ301は、例えばナビゲーション機能などを実行する際の表示画面や、表示領域に対応して設けられている図示しないタッチパネルを利用する際の操作画面として使用される。つまり、センタディスプレイ301は、ユーザの操作を入力する入力部10として機能する。
ただし、入力部10としては、タッチパネル以外にも例えば画面の周囲に図示しない機械式の操作スイッチを配置して操作を入力する構成とすることができる。また、入力部10としては、他のディスプレイや図示しないステアリングスイッチなどを採用したり、それらをタッチパネルや操作スイッチとを共用したりすることができる。
メータディスプレイ302は、ステアリングの前方に配置されて、速度や回転数などのメータ表示、警告灯などの表示を行う。ヘッドアップディスプレイ303は、運転者の前方に配置されているウィンドシールドやダッシュボードに配置された表示板に各種の情報を表示する。エアコンディスプレイ304は、例えば現在の設定温度や外気温などのエアコンディショナの制御に関する情報を表示する。ただし、エアコンディスプレイ304は、専用で設けることもできるし、他のディスプレイの一部を利用する構成とすることもできる。
スピーカ305は、車室内に設置され、車両用装置1あるいは外部装置2から出力される音声データに基づいた音声を出力する。スピーカ305は、例えば車両用装置1や外部装置2からの警告や操作案内あるいは楽曲の再生などに用いられる。マイク307は、車室内に設置され、車両の乗員が発話した音声を音声データとして車両用装置1や外部装置2に出力する。このマイク307は、車両用装置1や外部装置2を操作する音声コマンドの入力などに用いられる。また、マイク307およびスピーカ305は、携帯端末7を利用したハンズフリー通話時の音声入力や音声出力に利用することができる。
位置検出装置308は、図示しないGPS受信機やジャイロセンサなどによって構成されており、車両の現在位置や向きを取得する。なお、GPSは、Global Positioning Systemの略である。また、GPS受信機は、GPS衛星から送信されるGPS測位信号を受信して、受信したGPS測位信号を出力するものであり、ジャイロセンサは、互いに直交するX軸、Y軸およびZ軸を中心とした回転の角速度を検出するものである。
カメラ306は、例えば、車両の後側に取り付けられており、車両の後方の状況を連続して撮影する。このカメラ306で撮像された画像は、例えば画像内に存在する物体の検出結果や車両を誘導するための誘導ラインなどとともにセンタディスプレイ301や他のディスプレイに表示される。チューナ309は、AM放送およびFM放送のラジオ放送信号を受信する。また、チューナ309としてテレビ放送を受信するものを備えることもできる。
DSM310は、撮像装置などで構成されており、運転者の顔を撮影した顔画像を画像解析することにより運転者の状態を検出するドライバステータスモニタである。なお、DSM310は、Driver Status Monitorの略である。LIDAR311は、レーザ光を送受信することで、車両の周囲に存在する物体の位置を検出する。なお、LIDAR311は、Light Detection and Rangingの略である。
レーダ312は、ミリ波帯のレーダ312波を送受信することで、車両の周囲に存在する物体の位置を検出する。これらDSM310、LIDAR311あるいはレーダ312による検出結果は、例えばディスプレイへの注意表示や警告表示あるいはスピーカ305からの音声出力によって運転者に報知される。
ECU313は、車両に搭載されている電子機器である。一般的に、車両には複数のECU313が搭載されており、車両用装置1は、これらのECU313からエンジンやモータのような駆動部の駆動状態やドアの開閉状態などの車両に関する各種の情報を取得する。なお、ECU313は、Electronic Control Unitの略である。
なお、図1では説明の簡略化のために1つのECU313を示しているが、車両には複数のECU313が搭載されており、車両用装置1は、例えばCANのような車載ネットワークを介して複数のECU313と通信可能に接続されている。なお、CANは、Controller Area Networkの略である。
次に、車両用装置1の基本的なソフトウェア構成について説明する。図2に示すように、車両用装置1は、複数のオペレーティングシステムが動作可能な仮想化環境が構築されている。以下、オペレーティングシステムをOS8と称する。なお、OSはOperating Systemの略である。また、図2では、説明の簡略化のために幾つかの周辺機器3の図示を量略している。
車両用装置1は、制御部101上に、ハイパーバイザ111、サービスバス112、ファイアウォール113、RTOS81、MMOS82Aが実装されている。なお、RTOS81はReal Time OSの略であり、MMOS82はMulti Media OSの略である。また、本実施形態では車両用装置1と外部装置2にそれぞれMMOS82を実装していることから、両者を区別し易くするために、車両用装置1に実装されているMMOS82にはAを付し、外部装置2に実装されているMMOS82にはBを付している。
また、本実施形態では、MMOS82としてAndroid(登録商標)を採用している。以下、RTOS81やMMOS82に共通する事項を説明する場合には単にOS8と称することがある。また、MMOS82AとMMOS82Bとに共通する事項を説明する場合には単にMMOS82と称することがある。また、MMOS82A2とMMOS82Bは、同一のバージョンあるいは十分な互換性を有するバージョンであるものとする。
ハイパーバイザ111は、一般的な技術であるため詳細な説明は省略するが、RTOS81とMMOS82Aのような複数のOS8を制御部101上で並列に実行可能とするためのプログラムであり、各OS8を管理する機能や各OS8間の通信を補助する機能などを有している。ただし、ハイパーバイザ111は、例えばRTOS81が備える機能の一部として実装することもできる。
サービスバス112は、各OS8のアプリケーション層と、それよりも下位の任意の層を示す下位層との間のデータのやり取りを行うためのプログラムである。このサービスバス112は、車両用装置1と外部装置2とがあたかも1つの装置であるかのようにデータをやり取りすることを可能とするために、下位層で用いるデータとアプリケーション層で用いるデータとの対応付けを行うためのデータベースを備えている。
また、サービスバス112は、データベースを参照することによってアプリケーション層と下位層との間でデータの形式を変換し、車両用装置1内におけるRTOS81とMMOS82Aとの間、および、車両用装置1と外部装置2との間におけるデータのやり取りを可能にする。
ファイアウォール113は、各OS8間の不正なアクセスや、外部からのRTOS81やMMOS82Aに対する不正なアクセスなどを制限する機能を備えている。なお、ファイアウォール113を実装するか否かは適宜選択することができ、他の手法でセキュリティを確保できる場合には、ファイアウォール113を実装しない構成とすることもできる。
RTOS81は、リアルタイム性が求められる処理の実行に適したものであり、車両の制御や安全性に関わる処理などを主として実行する。MMOS82Aは、例えば一般的な携帯端末7などに利用されている汎用的なものであって、マルチメディア系の処理の実行に適したものである。本実施形態では、MMOS82は、例えば画面への表示処理などを実行する。
ただし、各OS8は、自身に適した処理に限らず、例えばRTOS81で迅速な応答が必要とされるメータディスプレイ302への表示処理を実行したり、MMOS82で安全のための警告音の出力などの処理を実行したりすることができる。
これらのOS8には、アプリケーション9や各種の機能部が実装されている。各アプリケーション9は、車両を利用する際に提供される機能を実現するために各OS8上で実行されるプログラムである。ただし、図2では各OS8に実装されているもののうち幾つかを抜粋して例示しており、図2に示すもの以外のアプリケーション9や機能部を各OS8に実装することができる。
また、車両用装置1および外部装置2は、必ずしも図2に示した全てのアプリケーション9や機能部を実装している必要はなく、仕様に応じて必要になるアプリケーション9や機能部が実装されていればよい。以下、アプリケーション9を単にアプリとも称する。また、車両用装置1および外部装置2は、例えば携帯端末7を介してOTAによりアプリケーション9を更新したり新たに取得したりすることもできる。なお、OTAは、Over The Airの略である。
RTOS81には、アプリケーション9として、例えばメータアプリ901、HUDアプリ902、カメラアプリ903が実装されている。なお、HUDはHead Up Displayの略である。メータアプリ901は、メータディスプレイ302への表示を制御するための処理を実行するものであり、例えばメーダディスプレイに表示する速度計や警告灯などの画像を生成するための処理を実行する。
HUDアプリ902は、ヘッドアップディスプレイ303への表示を制御するための処理を実行するものであり、例えばヘッドアップディスプレイ303に表示する画像や情報などを生成するための処理を実行する。カメラアプリ903は、カメラ306による撮影画像の表示を制御するための処理を実行するものであり、画像中に存在する物体を検出する処理やバックする際に車両を誘導する誘導ラインの生成や画像の合成などのための処理を実行する。
また、RTOS81には、機能部としてのHMI処理部11、判定部12、データ管理部13および選択部14が実装されている。なお、HMIは、Human Machine Interfaceの略である。これらの機能部は、本実施形態ではソフトウェアで実現されている。ただし、各機能部の一部あるいは全部をMMOS82Aに実装することもできるし、各機能部の一部あるいは全部をハードウェアで実現する構成とすることもできる。
HMI処理部11は、周辺機器3や他のアプリケーション9から入力されるデータに基づいて、センタディスプレイ301、メータディスプレイ302、ヘッドアップディスプレイ303およびエアコンディスプレイ304への表示を制御する処理などを実行する。またHMI処理部11は、入力されるデータに基づいて、スピーカ305からの音声出力を制御する処理なども実行する。
判定部12は、外部装置2が機能を実行可能な状態で接続されているか否かを判定する処理を実行する。この判定部12は、後述するように、外部装置2との間で通信を行い、外部装置2の接続状態や動作状態を把握することにより、機能を実行可能な状態で接続されているか否かを判定する。換言すると、判定部12は、外部装置2を利用することが可能な状態であるか否かを判定する処理を実行する。また、判定部12は、詳細は別の実施形態にて説明するが、外部装置2を利用するか否かを選択するための処理も実行する。
データ管理部13は、詳細は別の実施形態にて説明するが、外部装置2に記憶されているデータを利用可能にする処理を実行する。具体的には、データ管理部13は、外部装置2が利用するデータの消去や移行に関する処理を実行するとともに、選択部14とともに外部装置2に記憶されているデータを利用するか否かの選択を可能にする。
選択部14は、詳細は別の実施形態にて説明するが、例えば外部装置2そのものを利用するか否かを選択する処理、外部装置2で実行可能な機能を利用するか否かを選択する処理、車両用装置1と外部装置2のいずれのデータを利用するかを選択する処理、HMIに関連する機能を利用するかを選択する処理など、外部装置2を利用するか否かの選択に関する処理を実行する。
また、MMOS82Aには、例えばラジオアプリ904、エアコンアプリ905、ナビアプリ906、音声認識アプリ907などが実装されている。ラジオアプリ904は、チューナ309が受信したラジオ放送信号に基づいて音声を出力するための処理や、ユーザの操作に応じた受信周波数の変更など、ラジオ放送を視聴するための処理を実行する。
エアコンアプリ905は、車両に搭載されているエアコンディショナの制御に関する処理を実行するナビアプリ906は、位置検出装置308が検出した位置情報などに基づいて、車両の現在地を表示するための処理や、現在地から目的地までの経路を案内するためのいわゆるナビゲーション機能を提供するための処理を実行する。音声認識アプリ907は、マイク307で検出した音声を認識するための処理、および、認識結果に基づいて応答するための処理などを実行する。
外部装置2のMMOS82Bには、例えば外部機器通信アプリ908が実装されている。外部機器通信アプリ908は、無線通信装置203を用いた無線通信により携帯端末7との間でデータを送受信し、受信したデータを車両用装置1へ送信する処理や、車両用装置1からのデータを携帯端末7に送信する処理などを実行する。なお、図2では説明の簡略化のために1つのアプリケーション9を示しているが、外部装置2には他のアプリケーション9を実装することができる。
また、本実施形態では、外部装置2は、車両用装置1を介してディスプレイへの表示やスピーカ305からの音声出力を行うとともに、機能の実行や停止といったユーザの操作も車両用装置1を介して入力される。そのため、外部装置2が接続され、その外部装置2で機能が実行される場合であっても、ユーザからは車両用装置1に機能が追加されたように見える。
このように、外部装置2は、車両用装置1に接続されて利用されることが前提となっており、そこに実装されているOS8やアプリケーション9も車両用装置1との連携、例えば車両用装置1からの機能の確認等に応答できるものとなっている。
次に、上記した構成の作用について説明する。
前述のように、車両用装置1に複数のOS8を実装する際、リアルタイム性が求められる処理に適したRTOS81と、マルチメディア系の処理に適しているMMOS82とを実装することがある。このとき、MMOS82としては、一般的な携帯端末7等で利用されるOS8が利用されることがある。
前述のように、車両用装置1に複数のOS8を実装する際、リアルタイム性が求められる処理に適したRTOS81と、マルチメディア系の処理に適しているMMOS82とを実装することがある。このとき、MMOS82としては、一般的な携帯端末7等で利用されるOS8が利用されることがある。
そのようなMMOS82は、更新頻度が比較的高く、その更新によって搭載される機能も拡充されていく一方、要求されるハードウェアの性能も高くなっていくことが想定される。しかし、車両に搭載される車両用装置1は、出荷後に例えば1年ごとや数年ごとにハードウェアを更新する対応を取ることが困難であり、MMOS82の更新や機能の拡充への対応が難しくなることが想定される。
そこで、本実施形態の車両用装置1は、出荷された後であっても、新たな機能の追加や既存機能の処理速度向上を可能とすることにより、ハードウェア面、ソフトウェア面から、車両用装置1を介して提供される機能の拡充といった性能向上を図ることが容易にできる構成となっている。
まず、概略について説明する。車両用装置1は、外部装置2が接続される接続部5と、外部装置2が機能を実行可能な状態で接続されているか否かを判定する判定部12とを備えている。そして、外部装置2は、車両を利用する際に提供される機能を実行可能なモジュール側制御部201を備えている。
つまり、車両用装置1は、機能を提供する際には、自身が備える制御部101に加えて、接続部5に接続される外部装置2を利用することが可能に構成されている。そのため、車両用装置1は、実質的に、機能を提供する際に利用可能な新たなハードウェア面でのリソーセスを確保することができる。
そして、車両用装置1と外部装置2とは接続部5を介して通信可能に接続されているため、車両用装置1を車両に取り付けた後であっても、車両用装置1と外部装置2とを容易に接続することができる。これにより、例えば出荷後に外部装置2を容易に接続することが可能となり、車両用装置1の性能向上を図ることが容易に行えるようになる。このとき、本実施形態のように車両用装置1と外部装置2とをUSB接続する構成とすれば、接続自体も容易に行うことができる。
さて、本実施形態では、外部装置2は、車両用装置1が備えていない例えば外部機器通信アプリ908が実装されており、車両用装置1を介して周辺機器3にアクセス可能となっている。このとき、例えば外部機器通信アプリ908の操作画面や動作結果などはディスプレイなどに表示される。
そのため、ユーザからすれば、車両用装置1に新たな機能が追加されたように見えることになる。つまり、車両用装置1は、外部装置2が動作可能な状態で接続された場合には、実質的に、機能を提供する際に利用可能なリソーセスを新たに確保することができる。
次に、車両用装置1および外部装置2が行う具体的な処理について説明する。以下、図3に示す起動時の処理の流れを示す起動時シーケンスと図4に示す通常の動作時の処理の流れを示す定常時シーケンスとを参照し、車両用装置1側と外部装置2側の処理の流れを対比させながら説明する。これらの処理は制御部101やデータ管理部13、モジュール側制御部201などの各部によって行われるものの、以下では説明の簡略化のために、車両用装置1および外部装置2を処理の主体として説明する。
図3に示すように、車両用装置1は、電源がオンされると、ステップS101においてCPU104を起動させる処理を実行し、CPU104が起動した後、ステップS102においてBSPをロードする。BSPは、Board Support Packageの略であり、制御部101上でOS8を実行させるために必要なプログラム群として構成されており、ハードウェアを初期化するためのプログラムなどが含まれている。
BSPをロードすると、車両用装置1は、ステップS103においてハイパーバイザを起動し、ハイパーバイザ111が起動した後、ステップS104においてOS起動処理を実行する。このOS起動処理では、車両用装置1は、図5に示すように、ステップS301においてRTOS81を起動した後、ステップS302においてMMOS82Aを起動する。
一方、外部装置2は、図3に示すように、電源がオンされると、ステップS201においてCPU204を起動させる処理を実行し、CPU204が起動した後、ステップS202においてBSPをロードし、ステップS203においてMMOS82Bを起動する。このとき、本実施形態では車両用装置1よりも外部装置2のほうが高性能であり、ソフトウェア構成もシンプルになっている。
そのため、基本的には、車両用装置1側のOS8が起動する前に外部装置2側のOS8が起動し、車両用装置1からの指示を待機する待機状態になると考えられる。その後、外部装置2は、車両用装置1からの確認があると、ステップS204においてそれに応答する接続応答処理を実行しつつ次の指示を待機する。
さて、車両用装置1は、RTOS81およびMMOS82Aが起動すると、ステップS105においてサービスバス112を起動した後、ステップS106において接続判定処理を実行する。この接続判定処理は、判定部12によって実行される処理であり、外部装置2が機能を実行可能な状態で接続されているか否かの判定が行われる。以下、外部装置2が機能を実行可能に接続されている状態を接続状態と称し、外部装置2が接続部5に接続されていない状態、あるいは、接続部5には接続されていても動作可能ではない状態を解除状態と称する。
車両用装置1は、接続判定処理において、外部装置2との間で接続確認用のデータをやり取りして外部装置2から応答があった場合に接続状態であると判定する一方、所定時間内に外部装置2からの応答がなかった場合に解除状態であると判定する。この接続判定処理においてやり取りするデータは、適宜設定することができる。
例えば、やり取りするデータには、MMOS82Bのバージョン情報やMMOS82Bに実装されているアプリケーション9のバージョン情報や提供される機能などを特定可能な情報を含めることができる。これにより、接続状態の確認、外部装置2で実行可能な機能の確認、および、接続された外部装置2がサポートされているものであるか否かの判定などを併せて行うことができる。
このとき、また、車両用装置1は、接続状態であると判定した場合には、外部装置2に固有のシリアル番号等の情報を記憶しておくことにより、次回以降の起動時に再設定などを行わなくてもよいようにしている。
さて、車両用装置1は、外部装置2からの応答がなかった場合には、外部装置2による機能の実行が可能ではない解除状態であると判定し、ステップS107においてNOとなることから、ステップS108を省略する。これに対して、車両用装置1は、外部装置2からの応答があった場合には、外部装置2による機能の実行が可能な接続状態であると判定し、ステップS107においてYESとなることから、ステップS108において有効化処理を実行する。
この有効化処理は、接続状態にある外部装置2に機能を実行させるための処理である。具体的には、車両用装置1は、図6に示すように、ステップS401においてMMOS82Bとの同期を取る処理を実行し、ステップS402においてMMOS82Bへリソーセスを割り付ける。このステップS401では、RTOS81、MMOS82AおよびMMOS82Bで利用する時刻を一致させる処理などが行われ、ステップS402では、MMOS82Bから周辺機器3へのアクセスを可能にするための処理などが行われる。
続いて、車両用装置1は、ステップS403において、バックアップデータがあるか否かを判定する。バックアップデータの詳細については後述するが、以前の動作時に外部装置2が利用していたデータを車両用装置1側でバックアップしておいたものである。このバックアップデータを外部装置2に受け渡すことにより、外部装置2は、再設定などの手間をかけることなく、以前と同様の状態で機能を実行することが可能になる。
そのため、車両用装置1は、バックアップデータがある場合には、ステップS403においてYESとなることから、ステップS404においてバックアップデータをレストアする。つまり、車両用装置1は、自身がバックアップしたバックアップデータを外部装置2に受け渡して外部装置2で利用可能にする。なお、車両用装置1は、バックアップデータがない場合には、ステップS403においてNOとなることから、ステップS404を省略して次のステップに移行する。
続いて、車両用装置1は、ステップS405において、MMOS82B側のアプリケーション9を実行させる。例えば図2に示すソフトウェア構成の場合であれば、車両用装置1は、外部機器通信アプリ908を実行させるために、図3に示すように外部装置2に対して実行指示を与える。そして、実行指示が与えられた外部装置2は、割り当てられたリソーセスを利用して、外部機器通信アプリ908を実行し、携帯端末7を利用した機能の提供を開始する。
その後、車両用装置1は、ステップS406において、重複アプリがあるか否かを判定する。ここで、重複アプリとは、車両用装置1に実装されているアプリケーション9のうち、外部装置2に実行を指示したアプリケーション9と機能が重複しているものを意味している。これは、外部装置2で実行される機能を特定し、特定した機能を停止するために行われる。
より平易に言えば、重複アプリとは、車両用装置1が実行可能な機能のうち、外部装置2でも実行可能な機能を実現するためのものである。また、機能が重複しているとは、外部装置2で実行されるアプリケーション9によって同一機能を提供可能な場合と、互換性を有する機能を提供可能な場合とを含んでいる。
以下、それらの具体的な処理について、図7に示す他のソフトウェア構成例も参照しながら説明する。まず、同一機能を提供可能な例としては、図7に示すように、例えば車両用装置1にRTOS81、MMOS82A1およびMMOS82A2が実装されており、MMOS82A2には1つの音声認識アプリ907Aが実行可能に実装されているとする。また、外部装置2のMMOS82Bには、MMOS82A2に実装されている音声認識アプリ907Aと同一機能または上位互換の機能を提供可能な音声認識アプリ907Bが実装されているとする。
ここで、同一機能を提供可能とは、音声認識アプリ907Aが提供する機能を音声認識アプリ907Bが提供可能であることを意味している。より平易に言えば、音声認識アプリ907Bが音声認識アプリ907Aの上位互換のアプリケーション9であり、音声認識アプリ907Aには含まれない機能を音声認識アプリ907Bから提供する構成であってもよい。
さて、車両用装置1は、RTOS81を起動した後に複数のMMOS82を順番にあるいは並列的に起動した後、有効化処理において外部装置2に音声認識アプリ907Bの存在を把握し、その実行を指示する。一方、外部装置2は、複数のMMOS82を順番にあるいは並列的に起動して車両用装置1からの指示を待機する。
そして、車両用装置1は、MMOS82A2上の音声認識アプリ907Aが、外部装置2に実行を指示した音声認識アプリ907Bと同一機能を提供するものであることから、重複アプリがあると判定することになる。そのため、車両用装置1は、ステップS406においてYESとなることから、ステップS407において重複アプリを停止する。そして、車両用装置1は、ステップS408において、重複アプリが実装されているMMOS82A2で他のアプリケーション9が実行されるか否かを判定する。
図7の例の場合、MMOS82A2には1つの音声認識アプリ907Aが実装されているため、車両用装置1は、ステップS408においてNOとなることから、ステップS409において該当するOS8ここではMMOS82A2を停止してリターンする。ただし、重複アプリがある場合において他のアプリケーション9を実行しない場合には、OS8を停止することによって重複アプリを停止する構成、つまりは、OS8を停止することによって機能を停止する構成とすることもできる。
次に、互換性を有する機能を提供可能な例として、図2に示したように車両用装置1のMMOS82Aに音声認識アプリ907が実装されており、外部装置2のMMOS82Bに外部機器通信アプリ908が実装されている構成を例にして説明する。外部装置2に実装されている外部機器通信アプリ908は、例えばハンズフリー通話を可能にするために、車両用装置1を介してスピーカ305やマイク307にアクセスすることができる。
このとき、外部機器通信アプリ908は、マイク307から入力された音声に従って例えば通話の開始や終了あるいは電話帳の呼び出しなど、音声による携帯端末7の操作が可能な場合がある。つまり、外部機器通信アプリ908は、マイク307から入力された音声を認識する音声認識の機能を内包していることがある。
その場合、外部機器通信アプリ908を実行すれば、車両用装置1側の音声認識アプリ907を実行しなくても、外部機器通信アプリ908の機能の一部として音声認識の機能を提供することができると考えられる。すなわち、異なるアプリケーション9であっても、互換性を有する機能を提供することができる場合がある。
そのため、車両用装置1は、外部装置2に外部機器通信アプリ908を実行させた場合には、互換性を有する機能が提供されることから、ステップS406において音声認識アプリ907が重複アプリであると判定して、ステップS407において音声認識アプリ907を停止する。なお、MMOS82Aでは他のアプリケーション9が実行されることから、車両用装置1は、ステップS408においてYESとなることからそのままリターンする。
このように車両用装置1は、外部装置2で実行される機能と重複する機能がある場合には、重複アプリの動作を停止することによって、自身が備える機能を停止する。また、車両用装置1は、外部装置2で実行される機能と重複する機能がある場合には、重複アプリが実装されているOS8の動作を停止することによって自身が備える機能を停止する。
さて、これらの一連の起動時シーケンスを実行すると、車両用装置1および外部装置2は、図4に示す定常時シーケンスを実行する。なお、定常時とは、通常の動作状態を意味している。車両用装置1は、ステップS109において、定常処理を実行する。この定常処理は、具体的な内容については省略するが、車両用装置1が通常の動作を行う際に必要になる各種の処理であり、機能を提供するための処理も含まれている。
また、外部装置2は、ステップS206において例えば外部機器通信アプリ908の実行などを含む各種の処理を含む定常処理、ステップS207において車両用装置1からの定期的な確認等に応対する定期応答処理などを所定の終了条件が成立するまで繰り返し実行している。本実施形態では、外部装置2の終了条件として、車両用装置1からの終了指示の通知と電源電圧の低下とを想定している。
そして、車両用装置1は、ステップS110において定期確認処理を実行する。この定期確認処理は、外部装置2が接続状態にあるか否かを確認するための処理、および、接続状態にある外部装置2からデータをバックアップするための処理を含んでおり、車両用装置1が通常の動作をしている間、定期的に繰り返される。なお、通常の動作をしている間とは、後述するステップS111において終了条件が成立したと判定されるまでの間、つまりは、車両用装置1が動作を終了するまでの間を意味する。
この定期確認処理では、車両用装置1は、図8に示すように、ステップS501において、外部装置2が接続されているか否かを判定する。このとき、車両用装置1は、起動時シーケンスで確認した外部装置2の状態にかかわらず、外部装置2が接続されているか否かを判定する。これは、車両用装置1の動作中に外部装置2が後から接続されたり、接続状態にあった外部装置2が何らかの理由によって外れたりすることが考えられるためである。
そして、車両用装置1は、外部装置2が接続されていると判定した場合には、ステップS501においてYESとなることから、ステップS502において、外部装置2が正常に動作中であるか否かを判定する。これは、車両用装置1の動作中に、外部装置2の動作に何らかの理由によって不具合が生じる可能性があるためである。
車両用装置1は、外部装置2が正常に動作中であると判定すると、ステップS502においてYESとなることから、ステップS503において、バックアップ周期であるか否かを判定する。このバックアップ周期は予め設定されている。そして、車両用装置1は、バックアップ周期になると、ステップS503においてYESとなることから、ステップS504においてバックアップ処理を実行する。このバックアップ処理は、主としてデータ管理部13によって実行される。
このバックアップ処理では、車両用装置1と外部装置2との間でデータの送受信が行われ、本実施形態では外部装置2が利用しているデータが車両用装置1の記憶部110に記憶される。このとき記憶されるデータがバックアップデータに相当し、バックアップデータは、車両用装置1の電源がオフされた状態でも保持される。
このバックアップデータには、例えばMMOS82Bが利用するデータや、MMOS82B上で動作しているアプリケーション9が利用するデータなどが含まれている。また、バックアップデータには、外部装置2で動作しているアプリケーション9の種類などの情報も含まれている。つまり、車両用装置1は、外部装置2で実行されるアプリケーション9を特定可能な構成になっている。また、バックアップデータは、前述のように外部装置2にレストアされることにより、外部装置2において以前と同じデータを用いた機能の提供を可能にする。
これに対して、車両用装置1は、外部装置2が接続状態であっても正常に動作していないと判定した場合には、ステップS502においてNOとなることから、ステップS505において無効化処理を実行する。この無効化処理は、平易に言えば、車両用装置1と外部装置2とのソフトウェア的な接続を解除して、車両用装置1に影響を与えることなく外部装置2を取り外し可能な状態にするための処理である。
まず、車両用装置1は、図9に示すように、ステップS601において停止中のOS8があるか否かを判定する。例えば上記した図7の構成例であれば、有効化処理においてMMOS82A2が停止されている。そのため、車両用装置1は、MMOS82A2が起動中ではないと判定し、ステップS601においてYESとなることから、ステップS602において停止していたMMOS82A2を起動する。つまり、車両用装置1は、機能を実現するための環境を再度立ち上げる。
そして、車両用装置1は、ステップS603において、外部装置2の例えばMMOS82Bに割り当てていたリソーセスを、停止していた自身のMMOS82A2に切り替える。これにより、MMOS82A2から周辺機器3へのアクセスが可能になる。
あるいは、車両用装置1は、上記した図2の構成例であれば、有効化処理においてMMOS82Aを停止していないことから、停止中のOS8がないと判定する。この場合、車両用装置1は、ステップS601においてYESとなることから、ステップS602、ステップS603を省略して次のステップに移行する。
ところで、外部装置2を無効化する際において、それまで外部装置2で何らかの機能が実行されていた場合には、その機能の実行が中断されるとユーザの不利益となるおそれがある。また、中断された機能を実行するためにユーザの操作が必要になると、使い勝手が悪くなったり煩わしさを感じさせたりするおそれもある。
そのため、車両用装置1は、ステップS604において、停止中のアプリケーション9があるか否かを判定する。つまり、車両用装置1は、外部装置2から機能が提供されることに伴って停止した自身のアプリケーション9があるか否かを判定する。そして、車両用装置1は、重複アプリのように実行を停止したアプリケーション9がある場合や、上記したように停止中のOS8を起動してアプリケーション9がまだ実行されていない場合には、停止中のアプリケーション9があると判定する。
この場合、車両用装置1は、ステップS604においてYESとなり、ステップS605においてバックアップデータを参照し、必要であればバックアップデータを利用してステップS606において停止中のアプリケーション9を起動する。つまり、車両用装置1は、外部装置2で実行することにより停止していた機能を実行することにより、外部装置2から提供されていた機能を、外部装置2が提供していたのと同じ状態で自身からの提供を再開する。
これにより、外部装置2を無効化することにより外部装置2から提供されなくなる機能を車両用装置1から提供することが可能になるとともに、バックアップデータを参照することにより、それまで外部装置2から提供されていたのと同様の状態で機能を提供することが可能になる。
換言すると、車両用装置1は、上記したように外部装置2が実行しているアプリケーション9を特定しているため、外部装置2を停止する際に提供が止まる機能も把握できるものの、自身で実行可能な機能ではない場合には、つまりは、重複アプリでない場合には、その機能の提供は行わない。また、車両用装置1は、停止中のアプリケーション9がないと判定した場合には、ステップS604においてNOとなることから、ステップS605およびステップS606を省略して次のステップに移行する。
その後、車両用装置1は、ステップS606において、外部装置2が接続されているか否かを判定する。このとき、無効化処理が定期確認処理から呼び出されている場合には、外部装置2は接続状態になっていると考えられる。ただし、後述するように無効化処理はユーザやディーラの作業者などからの指示に基づいて実行されることもあることから、車両用装置1は、ステップS606において外部装置2が接続されているか否かを判定している。つまり、車両用装置1は、外部装置2の接続を再確認している。
車両用装置1は、外部装置2が接続されていると判定した場合には、ステップS606においてYESとなることから、ステップS607において外部装置2のアプリケーション9を停止し、ステップS608において外部装置2のOS8を停止してリターンする。一方、車両用装置1は、外部装置2が接続されていないと判定した場合には、ステップS606においてNOとなることから、ステップS607、ステップS608の処理は省略してリターンする。
また、車両用装置1は、定期確認処理において、外部装置2が接続されていないと判定した場合には、ステップS501においてNOとなることから、ステップS506において接続判定処理を実行する。これは、上記したように、車両用装置1の動作中に外部装置2が接続された状況を想定したものである。この接続判定処理では、ステップS106と同様に外部装置2が接続されているか否かの判定が行われる。このとき、車両用装置1は、外部装置2で実行されるアプリケーション9の種類を特定可能な情報も取得している。
車両用装置1は、外部装置2が接続状態であると判定すると、ステップS507においてYESとなることから、ステップS508において有効化処理を実行する。これにより、外部装置2の利用や外部装置2側に機能を実行させることが可能になる。一方、車両用装置1は、外部装置2が接続状態でないと判定すると、ステップS507においてNOとなることから、ステップS508を省略してリターンする。
このように、車両用装置1は、通常の動作中において、外部装置2の接続状態および正常に動作しているか否かを定期的に確認するとともに、外部装置2が正常に動作している場合には外部装置2で利用されるデータを定期的にバックアップしている。このとき、車両用装置1は、予め指定された時間間隔で定期的にバックアップを行う構成とすることができる。また、車両用装置1は、予め定められた時間になると定期的にバックアップを行う構成とすることもできる。
そして、車両用装置1は、図4に示すようにステップS111において終了条件が成立したか否かを判定しており、終了条件が成立するまで定常処理と定期確認処理とを繰り返し実行する。本実施形態では、終了条件として、ユーザが車両用装置1に対して停止操作を入力したこと、および、車両用装置1に対する電源電圧の低下とを想定している。なお、電源電圧が低下する状況としては、ユーザがアクセサリ電源をオフした場合、何らかの障害によって電源供給が遮断された場合が想定される。
車両用装置1は、終了条件が成立していないと判定した場合には、ステップS111においてNOとなることから、定常処理および定期確認処理を繰り返す。一方、車両用装置1は、終了条件が成立したと判定した場合には、ステップS111においてYESとなることから、ステップS112において外部装置2が接続状態であるか否かを判定する。
そして、車両用装置1は、外部装置2が接続状態であると判定すると、ステップS112おいてYESとなることから、ステップS113においてバックアップ処理を実行した後、ステップS114において終了処理を実行して終了する。この終了処理では、アプリケーション9の停止やOS8のシャットダウン処理などが行われるとともに、外部装置2に対する終了指示の通知が行われる。
また、外部装置2は、ステップS209において終了条件が成立したか否かを判定しており、終了条件が成立していないと判定した場合には、ステップS209においてNOとなることから、定常処理や定期応答処理を繰り返し実行して機能を提供する。一方、外部装置2は、終了条件が成立したと判定した場合には、ステップS209においてYESとなることから、アプリケーション9の停止やOS8のシャットダウン処理などの終了処理を実行して終了する。
このように、車両用装置1は、外部装置2が機能を実行可能な状態で接続部5に接続されているか否かを判定し、外部装置2が機能を実行可能な状態で接続されていると判定された場合には、外部装置2でアプリケーション9を実行させることにより機能を提供可能にするとともに、例えば本実施形態であれば重複アプリを停止している。
以上説明した車両用装置1によれば、次のような効果を得ることができる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、判定部12とを備えており、外部装置2が機能を実行可能な状態で接続されていると判定した場合、外部装置2を有効化して機能の実行を可能にするとともに、自身が実行可能な機能のうち少なくとも1つの機能を停止する。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、判定部12とを備えており、外部装置2が機能を実行可能な状態で接続されていると判定した場合、外部装置2を有効化して機能の実行を可能にするとともに、自身が実行可能な機能のうち少なくとも1つの機能を停止する。
これにより、例えば車両出荷時には必要とされる性能を有していたものの、その後のOS8のアップデートなどによって高性能化が必要になるような状況において、外部装置2を接続することで機能を提供するための性能向上を容易に図ることができる。
また、外部装置2を利用して性能の向上を図る場合、重複する機能が実行されていると無駄に消費電力が増加することになるが、車両用装置1は自身が備える機能のうち少なくとも1つを停止することにより、消費電力を抑制している。これにより、性能を向上させたことに伴って電力消費が過度に増加してしまうことを抑制できる。
また、車両用装置1は、自身が実行可能な機能のうち、外部装置2で実行される機能と重複する機能を停止する。これにより、機能の損失、つまりは、提供可能な機能が提供されなくなることを防止することができる。また、重複する機能を停止することで、電力消費が過度に増加してしまうことを抑制できる。
また、車両用装置1は、機能を実現するアプリケーション9の動作を停止することによって、当該機能を停止する。これにより、容易に機能を停止することができるとともに、機能の提供を再開することも容易になる。
また、車両用装置1は、機能を実現するアプリケーション9が実装されている例えばMMOS82AのようなOS8の動作を停止することによって、当該機能を停止する。これにより、容易に機能を停止することができるとともに、機能の提供を再開することも容易になる。また、OS8に割り付けるリソーセスを削減することができるため、負荷を低減することができる。
また、車両用装置1は、動作中に外部装置2が機能を実行可能な状態ではなくなったと判定した場合、外部装置2で実行することにより停止していた自身の機能を実行する。これにより、機能が損失することを抑制できる。また、実施形態のようにバックアップデータを参照することにより、外部装置2から提供していたのと同じ状態で機能を提供することができる。
また、車両用装置1は、外部装置2が機能を実行可能な状態であるか否かの判定を、車両用装置1の動作中に繰り返し行う。これにより、何らかの理由によって外部装置2との接続が解除されたり、外部装置2が故障したりした場合であっても、機能が損失することを抑制できる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、操作を入力する入力部10とを備え、外部装置2を取り外す操作が入力された場合、外部装置2が利用するデータをバックアップする。これにより、まず、外部装置2を接続することによって機能を提供するための性能向上を容易に図ることができる。
そして、外部装置2が利用するデータをバックアップすることにより、次回以降に外部装置2が接続された際に同様の環境で機能を実行することができるようになる。また、意図せずに外部装置2の接続が解除された場合であっても、バックアップデータを利用して車両用装置1側で同様の環境で機能を実行することができる。
また、車両用装置1は、外部装置2が接続されている場合、外部装置2が利用するデータを定期的にバックアップする。これにより、例えば意図せずに外部装置2の接続が解除された場合などにおいて、それまで外部装置2で実行していた機能を車両用装置1側で同様の環境で実行することができ、機能失陥を回避することが可能となる。
また、車両用装置1は、実施形態のように定期的にバックアップする構成以外にも、外部装置2のデータが更新されるとバックアップする構成とことができる。このとき、例えば図4に示した定期確認処理においてサービスバス112を介してOS8側でデータの更新を監視したり、データを更新したアプリケーション9がその旨を通知したりすることによって、データが更新されたことを把握できる。
また、車両用装置1は、データが更新されたタイミングでその都度バックアップすることができるし、データが更新ことを把握した後、処理に余裕が生じたときなどの任意のタイミングでバックアップすることができる。
また、車両用装置1は、外部装置2が接続された場合、バックアップしているデータを外部装置2に受け渡す。これにより、ユーザによる設定等の操作を必要とすることなく、以前と同様の環境で機能を実行することができる。
また、車両用装置1は、制御部101と、外部装置2が接続される接続部5と、判定部12と、を備え、外部装置2が機能を実行可能な状態ではないと判定された場合、外部装置2で実行されていた機能を自身で実行する。例えば意図せずに外部装置2の接続が解除された場合などにおいて、それまで外部装置2で実行していた機能を車両用装置1側で同様の環境で実行することができ、機能失陥を回避することが可能となる。
また、車両用装置1は、外部装置2が機能を実行可能な状態ではないと判定された場合、外部装置2で実行することにより停止していた自身の機能を実行する。実施形態の例であれば、重複アプリによって実現される機能が、外部装置2で機能を実行する際に動作を停止させた自身の機能に相当する。これにより、今まで提供されていた機能が停止するといった機能失陥を招くことなく、機能の提供を継続することができる。
また、車両用装置1は、外部装置2で機能を実行する際に動作を停止させた自身のアプリケーション9を起動することにより、機能を実行する。実施形態の例であれば、重複アプリが外部装置2で機能を実行する際に動作を停止させた自身のアプリケーション9に相当する。これにより、今まで提供されていた機能が停止するといった機能失陥を招くことなく、機能の提供を継続することができる。
また、車両用装置1は、外部装置2で機能を実行する際に動作を停止させた自身のオペレーティングシステムを起動することにより、機能を実行する。実施形態の例であれば、図7に示したMMOS82A2が、外部装置2で機能を実行する際に動作を停止させた自身のオペレーティングシステムに相当する。これにより、今まで提供されていた機能が停止するといった機能失陥を招くことなく、機能の提供を継続することができる。
また、車両用装置1は、外部装置2が機能を実行可能な状態であるか否かの判定を動作中に繰り返し行う。これにより、例えば意図せずに外部装置2の接続が解除された場合などにおいて、それまで提供されていた機能が提供されなくなることを抑制できる。
また、車両用装置1は、外部装置2が接続された際、自身が記憶しているデータを外部装置2で利用可能にする。ユーザによる設定等の操作を必要とすることなく、以前と同様の環境で機能を実行することができる。
車両用装置1は、外部装置2に記憶されているデータが更新されると車両用装置1側にバックアップする。これにより、例えば意図せずに外部装置2の接続が解除された場合などにおいて、最新のデータがバックアップされていることから、容易に以前と同じ環境を再現することができる。
実施形態ではサービスバス112として車両用装置1と外部装置2をUSB接続により物理的に通信可能に接続する例を示したが、サービスバス112は、USB接続による通信に限らず、車両用装置1と外部装置2とを通信可能に接続するものであればよい。例えば接続部5として無線通信回路を採用することにより、物理的な接続をすることなく車両用装置1と外部装置2とを通信可能に接続する構成とすることができる。
実施形態では通信により外部装置2の接続状態を判定する例を示したが、外部装置2と接続されたのか、あるいは、類似するMMOS82が搭載されている携帯端末7が接続されたのかを判断するために、外部装置2の認証機能を車両用装置1に設ける構成とすることができる。これにより、類似するMMOS82が搭載されている携帯端末7を誤って外部装置2と認識してしまうおそれを低減することができるとともに、車両用装置1の性能向上を容易に行うことができるなど実施形態と同様の効果を得ることができる。
実施形態ではハイパーバイザ111を各OS8から独立した形で実装し、そのハイパーバイザ111上で各OS8をそれぞれ動作させる例を示したが、他の構成とすることができる。例えばRTOS81がハイパーバイザ111機能を備えている場合には、まずRTOS81を起動してハイパーバイザ111機能を有効化した後、そのRTOS81上でMMOS82Aを実行させる構成とすることもできる。
実施形態では車両用装置1に複数のOS8を実装し、外部装置2に1つのOS8を実装するソフトウェア構成例を示したが、他のソフトウェア構成とすることができる。例えば、図10に示すように、車両用装置1に1つのRTOS81を実装し、外部装置2にMMOS82B1、MMOS82B2のような複数のOS8を実装する構成とすることができる。
また、ファイアウォール113を設けない構成とすることができる。このような構成であっても、外部装置2側から機能を提供するときには車両用装置1側のアプリケーション9を停止することによって、車両用装置1の性能向上を容易に行うことができるとともに消費電力を削減することができるなど、実施形態と同様の効果を得ることができる。
実施形態ではデータを車両用装置1の記憶部110に記憶することでバックアップする例を示したが、データを例えばメモリカードのような外部記憶媒体に記憶したり、携帯端末7に記憶したり、携帯端末7を介して通信可能に接続されているネットワーク上のサーバに記憶したりする構成とすることができる。すなわち、記憶部110は、車両用装置1に設ける構成とすることができるし、車両用装置1の外部に設ける構成とすることができる。
また、車両用装置1と外部装置2とを備える車両用システム4によっても、例えば高性能化が必要になるような状況において性能向上を容易に図ることができるとともに、性能を向上させたことに伴って電力消費が過度に増加してしまうことを抑制できるなどの上記した各種の効果を同様に得ることができる。
(第2実施形態)
以下、第2実施形態について説明する。第2実施形態では、各装置のデータの取り扱いついて説明する。また、車両用装置1および外部装置2の構成や処理の一部は他の実施形態と共通するものがあることから、他の実施形態の図面も参照しながら説明する。
以下、第2実施形態について説明する。第2実施形態では、各装置のデータの取り扱いついて説明する。また、車両用装置1および外部装置2の構成や処理の一部は他の実施形態と共通するものがあることから、他の実施形態の図面も参照しながら説明する。
外部装置2は、機能を提供する際に各種のデータを利用している。また、外部装置2側は、第1実施形態で説明したように車両用装置1側から送信されるユーザ情報も記憶することができる。これらのデータは、基本的には外部装置2側のモジュール側記憶部210に記憶されているものの、第1実施形態で説明したように車両用装置1側にもバックアップされる。
さて、外部装置2は、車両用装置1に接続可能に構成されているため、車両用装置1から取り外すことも可能である。そして、ユーザやディーラの作業者が意図的に車両用装置1から外部装置2を取り外す状況としては、より新型の外部装置2と交換する場合や、別の車両用装置1に外部装置2を取り付ける場合が考えられる。この場合、前者であれば車両用装置1は同じで外部装置2が更新され、後者であれば外部装置2は同じで車両用装置1が更新されることになる。
ただし、前者と後者とでは、外部装置2に記憶されているデータの取り扱いを変えることが望ましいと考えられる。これは、車両用装置1には、車両設備で利用されるデータや提供される機能で利用されるデータなどが記憶されており、外部装置2が利用しているデータもバックアップされていることから、例えば前者の場合には、取り外した外部装置2はその後利用されないと想定されるためである。換言すると、前者の場合には、外部装置2にデータを残しておく必要性が少ないと考えられる。
その一方で、後者の場合には、ユーザ情報を新しい車両用装置1にそのまま移行できれば再設定やデータの再入力等が不要になることから、ユーザにとってメリットになると考えられる。換言すると、後者の場合には、外部装置2にデータを残しておくほうが望ましいと考えられる。
そのため、車両用装置1は、外部装置2を意図的に取り外す際、外部装置2に記憶されているデータを消去するか否かを選択可能に管理する処理を実行する。なお、この処理は基本的にはデータ管理部13によって行われるものの、以下では理解し易くするために車両用装置1を主体にして説明する。また、ユーザやディーラの作業者の操作は、車両用装置1が通常の動作状態にあるとき、任意のタイミングで入力することができる。
車両用装置1は、例えばセンタディスプレイ301に操作メニューなどを表示することにより操作を受け付けている。このとき、車両用装置1は、本実施形態に関連して、外部装置2を取り外す指示を入力するアイコンや、その際にデータを消去するか否かの選択、および、車両用装置1側のデータを移行するか否かを設定可能なアイコンやチェックボタンなどのHMIを表示する。なお、ここで示したHMIの表示は一例であり、同様の指示を入力できるものであればよい。以下、代表的な取り外し態様について個別に説明する。
<データを消去する例>
車両用装置1は、データを消去して外部装置2を取り外すための指示が入力されると、図11に示すデータ消去処理を実行する。このデータ消去処理では、車両用装置1は、ステップS701においてバックアップ処理を実行し、外部装置2側のデータをバックアップする。続いて、車両用装置1は、ステップS702において実際にデータを消去する消去処理を実行する。
車両用装置1は、データを消去して外部装置2を取り外すための指示が入力されると、図11に示すデータ消去処理を実行する。このデータ消去処理では、車両用装置1は、ステップS701においてバックアップ処理を実行し、外部装置2側のデータをバックアップする。続いて、車両用装置1は、ステップS702において実際にデータを消去する消去処理を実行する。
この消去処理では、車両用装置1は、指定したデータを個別消去したり、ROMの書き込み可能な領域をいわゆるフォーマットすることで一括消去したり、外部装置2を初期化することで出荷時以降に記憶されたデータをまとめて消去したりすることによって、外部装置2のモジュール側記憶部210に記憶されているデータを消去する。
そして、データの消去が終了すると、車両用装置1は、ステップS703において無効化処理を実行する。これにより、車両用装置1と外部装置2とのソフトウェア的な接続が解除され、車両用装置1やバックアップデータに影響を与えることなく外部装置2を取り外すことが可能になる。また、外部装置2側のデータは消去されているため、ユーザ情報などが漏洩するおそれを低減することができる。
<データを移行する例>
車両用装置1は、データを移行して外部装置2を取り外すための指示が入力されると、図12に示すデータ移行処理を実行する。このデータ移行処理では、車両用装置1は、ステップS801において実際にデータを移行する移行処理を実行する。
車両用装置1は、データを移行して外部装置2を取り外すための指示が入力されると、図12に示すデータ移行処理を実行する。このデータ移行処理では、車両用装置1は、ステップS801において実際にデータを移行する移行処理を実行する。
この移行処理では、車両用装置1は、指定したデータを個別に移行したり、ROMの書き込み可能な領域全体をコピーして一括で移行したりすることによって、車両用装置1の記憶部110に記憶されているデータを外部装置2に移行する。このとき、移行するデータに車両用装置1に固有のシリアル番号等の情報を含めることにより、異なる車両用装置1にデータが移行されるおそれを低減することができる。
そして、データの移行が終了すると、車両用装置1は、ステップS802において無効化処理を実行する。これにより、車両用装置1と外部装置2とのソフトウェア的な接続が解除され、外部装置2や移行したデータに影響を与えることなく外部装置2を取り外すことが可能になる。この場合、外部装置2側にデータが記憶されているため、外部装置2を他の車両用装置1に接続すれば、前の車両用装置1から新しい車両用装置1へのデータの移行を容易に行うことができる。
そのため、ユーザが自身でデータを移行する場合だけでなく、例えば車両を買い替えた際にディーラの作業者が古い車両用装置1から新しい車両用装置1にデータを移行したい場合などにおいて、容易にユーザ情報などのデータを移行することができる。
<取り外す例>
車両用装置1は、例えば点検等を実施するために外部装置2を単に取り外すための指示が入力されると、図13に示す取り外し処理を実行する。この取り外し処理では、車両用装置1は、ステップS901においてバックアップ処理を実行したのち、ステップS902において無効化処理を実行する。
車両用装置1は、例えば点検等を実施するために外部装置2を単に取り外すための指示が入力されると、図13に示す取り外し処理を実行する。この取り外し処理では、車両用装置1は、ステップS901においてバックアップ処理を実行したのち、ステップS902において無効化処理を実行する。
これにより、車両用装置1と外部装置2とのソフトウェア的な接続が解除され、車両用装置1および外部装置2に影響を与えることなく外部装置2を取り外すことが可能になる。この場合、車両用装置1側にデータがバックアップされており、外部装置2にもデータが記憶されているため、外部装置2を車両用装置1に再度接続すれば、以前の状態で利用することができる。
<外部装置2からデータを移管する例>
車両用装置1は、外部装置2側に記憶されているデータを自身に移管することができる。具体的には、車両用装置1は、例えば電源がオンされてOS8が起動した後に、図14に示すデータ移管処理を実行する。この場合、車両用装置1は、ステップS1001において外部装置2が接続されたか否かを判定する。
車両用装置1は、外部装置2側に記憶されているデータを自身に移管することができる。具体的には、車両用装置1は、例えば電源がオンされてOS8が起動した後に、図14に示すデータ移管処理を実行する。この場合、車両用装置1は、ステップS1001において外部装置2が接続されたか否かを判定する。
そして、車両用装置1は、外部装置2が接続されたと判定すると、ステップS1001においてYESとなることから、ステップS1002において、接続された外部装置2に固有の情報と自身が記憶している情報とが一致するか否かを判定する。自身が記憶している情報とは、以前に外部装置2が接続された際に取得してあるデータである。
車両用装置1は、情報が一致していると判定した場合には、ステップS1002においてYESとなることから、そのままリターンする。これは、接続された外部装置2が以前接続されていたものであり、その外部装置2に記憶されているデータは既にバックアップ等により自身に記憶しているため、データを移管する必要がないと考えられるためである。
一方、車両用装置1は、情報が一致していないと判定した場合には、ステップS1002においてNOとなることから、ステップS1003において、データの移管が許可された否かを判定する。この場合、例えばセンタディスプレイ301にデータを移管する旨のメッセージと移管を許可するか否かを選択するアイコンと表示することなどにより、データを移管するユーザの許可を得ることができる。
そして、データの移管が許可されると、車両用装置1は、ステップS1004において、自身が記憶しているデータを車両用装置1に移管する。例えば、車両用装置1は、外部装置2に記憶されているデータで自身が記憶しているバックアップデータを上書きする。
これに対して、車両用装置1は、データの移管が許可されなかった場合には、ステップS1003においてNOとなることからリターンする。ただし、車両用装置1は、データ移管処理を一旦終了した後であっても、例えばユーザやディーラの作業者によってデータの移管を指示する操作が入力されたときなど、データ移管処理を任意のタイミングで実行することができる。
以上説明した車両用装置1によれば、次のような効果を得ることができる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、操作を入力する入力部10とを備え、外部装置2を取り外す操作が入力された場合、外部装置2が利用するデータをバックアップする。これにより、まず、外部装置2を接続することによって機能を提供するための性能向上を容易に図ることができるなど、第1実施形態と同様の効果を得ることができる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、操作を入力する入力部10とを備え、外部装置2を取り外す操作が入力された場合、外部装置2が利用するデータをバックアップする。これにより、まず、外部装置2を接続することによって機能を提供するための性能向上を容易に図ることができるなど、第1実施形態と同様の効果を得ることができる。
そして、外部装置2が利用するデータをバックアップすることにより、次回以降に外部装置2が接続された際に同様の環境で機能を実行することができるようになる。また、意図せずに外部装置2の接続が解除された場合であっても、バックアップデータを利用して車両用装置1側で同様の環境で機能を実行することができる。
また、車両用装置1は、外部装置2が接続された場合、バックアップしているデータを外部装置2に受け渡す。これにより、ユーザによる設定等の操作を必要とすることなく、以前と同様の環境で機能を実行することができる。
また、車両用装置1は、外部装置2が接続された際、自身が記憶しているデータを外部装置2で利用可能にする。ユーザによる設定等の操作を必要とすることなく、以前と同様の環境で機能を実行することができる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、外部装置2が接続部5に接続された際、外部装置2に記憶されているデータを利用可能にするデータ管理部13とを備えている。これにより、例えば車両を買い替えて車両用装置1が更新された場合などにおいて、外部装置2を利用したデータの移行などを容易に行うことができる。
また、車両用装置1は、車両を利用する際に提供される機能で利用されるデータを利用可能にする。これにより、以前と同様の環境で機能を提供することができる。
また、車両用装置1は、車両設備で利用されるデータを利用可能にする。これにより、例えばシート位置やハンドル位置などのようなデータを新しい車両に移行できるなど、以前と同様の環境で車両を利用することができる。
また、車両用装置1は、周辺機器3で利用されるデータを利用可能にする。これにより、以前と同様の環境で機能を提供することができる。
また、車両用装置1は、周辺機器3で利用されるデータを利用可能にする。これにより、以前と同様の環境で機能を提供することができる。
また、車両用装置1は、外部装置2に記憶されているデータを利用するか否かを選択可能にする。これにより、意図しない状態にHMIなどが変更されてしまったり、意図せずにバックアップデータが更新されてしまったりするおそれを低減することができる。
また、車両用装置1は、外部装置2に記憶されているデータを定期的に車両用装置1側にバックアップする。これにより、データを移行あるいは移管する際に、最新のデータを移行あるいは移管することができる。
また、車両用装置1は、外部装置2を取り外す際、外部装置2に記憶されているデータを消去する。これにより、例えば外部装置2を新しいものに取り換える場合などにおいて、データが漏出するおそれを低減することができる。
また、車両用装置1は、外部装置2を取り外す際、車両用装置1に記憶されているデータを外部装置2に記憶させる。これにより、例えば外部装置2を新しい車両用装置1に接続した場合などにおいて、ユーザによる設定等の操作を必要とすることなく、以前と同様の環境を再現することができる。
さて、ここまでは車両用装置1が主体となってデータを取り扱う例を示したが、外部装置2に、車両用装置1を介して周辺機器3へのアクセスが可能であって機能を実行するモジュール側制御部201と、データを記憶するモジュール側記憶部210と、車両用装置1に接続された際に自身が記憶されているデータを車両用装置1に移管する処理を実行する図示しないデータ移管部とを設け、外部装置2が主体となってデータを取り扱う構成とすることもできる。
具体的には、データ移管部がデータの移管を許可するか否かのアイコン等を表示してデータを移行する旨を表示し、ユーザからの許可があった場合に車両用装置1に記憶されているデータを更新する構成とすることができる。このような構成によっても、再設定やデータの再入力を要することなく例えば新しい車両用装置1にデータを容易に移行できるなど、車両用装置1と同様の上記した効果を得ることができる。
このとき、車両用装置1の情報を取得する構成とすれば、以前に自身が接続されていた車両用装置1であるか否かを判定することができ、他の車両用装置1にデータが移管されて意図せずにデータが漏出してしまうおそれを抑制することができる。また、データを移管する際に許可を求める構成とすれば、データの漏出や車両用装置1側のバックアップデータが誤って上書きされてしまうおそれを低減することができる。
また、車両用装置1と外部装置2とを備える車両用システム4によっても、例えば次回以降に外部装置2が接続された際に同様の環境で機能を実行することができるようになるなどの上記した各種の効果を同様に得ることができる。
(第3実施形態)
以下、第3実施形態について説明する。第3実施形態では、外部装置2を利用するか否かの選択、および、車両用装置1と外部装置2のいずれのデータを利用するかの選択に関する処理について説明する。また、車両用装置1および外部装置2の構成や処理の一部は他の実施形態と共通するものがあることから、他の実施形態の図面も参照しながら説明する。
以下、第3実施形態について説明する。第3実施形態では、外部装置2を利用するか否かの選択、および、車両用装置1と外部装置2のいずれのデータを利用するかの選択に関する処理について説明する。また、車両用装置1および外部装置2の構成や処理の一部は他の実施形態と共通するものがあることから、他の実施形態の図面も参照しながら説明する。
例えば車両を新規購入した場合には、車両用装置1は車両に応じた新しいものに更新される一方、外部装置2は今まで使っていたものを流用するために更新されないといった状況が想定される。以下、車両用装置1と外部装置2とにおいて、相対的に新しいものを上位のバージョンと称し、相対的に古いものを下位のバージョンと称する。
さて、上位のバージョンでは、バージョンアップに伴って例えば表示するアイコンの大きさや図柄あるいは位置が変わったり、今まで存在していたアイコンがなくなったり、表示名が変わったりするなど、その表示態様が下位のバージョンから変更されることがある。また、表示態様に限らず、上位のバージョンでは例えば今まで利用していたメニューがなくなったり、異なる名称となったり、メニューの階層構造が変わって操作手順が変わったりするなど、その操作態様が下位のバージョンから変更されることもある。
つまり、バージョンアップに伴って表示態様や操作態様といったHMIが変更されることがある。このとき、バージョンアップは基本的には性能の向上や問題点の改善のために行われるものであることから、バージョンアップに伴うHMIの変更は、より適したものにするために行われると考えられる。
しかし、HMIが変更された場合には、新しい操作態様を学習する必要があることに加えて、今まで慣れ親しんでいた表示態様と異なるために操作がやり難くなったと感じたり、所望の操作をする際に手間取ったりすることなども想定される。つまり、HMIの変更がユーザにとってデメリットになる場合も想定される。
そこで、本実施形態の車両用装置1は、上位のバージョンと下位のバージョンのいずれを利用するかを選択可能にしている。つまり、車両用装置1は、外部装置2が備える機能を利用するかの選択、いずれのデータを利用するかの選択、および、HMIに関連する機能を利用するかの選択に関する処理を実行する。これらの処理は、基本的にはデータ管理部13や選択部14によって行われるものの、以下では説明の簡略化のために車両用装置1を主体にして説明する。
図15に示すように、車両用装置1の記憶部110には車両側識別情報20が記憶されており、外部装置2のモジュール側記憶部210にはモジュール側識別情報21と移行データ22が記憶されている。なお、図15では、説明の簡略化のためにファイアウォール113やアプリケーション9などの図示は省略している。
車両側識別情報20は、車両用装置1のバージョンを特定可能な情報を含むデータであり、RTOS81やMMOS82Aから読み出し可能になっている。この車両側識別情報20には、例えばシリアル番号や製造日などのような車両用装置1に固有の情報や、実装されているOS8やアプリケーション9の種類やバージョンなどのような同じ製品群に属する車両用装置1に共通の情報が含まれている。
モジュール側識別情報21は、外部装置2のバージョンを特定可能な情報を含むデータであり、MMOS82Bから読み出し可能になっている。モジュール側識別情報21は、外部装置2のバージョンを特定可能な情報を含むデータであり、MMOS82Bから読み出し可能になっている。
このモジュール側識別情報21には、例えばシリアル番号や製造日などのような外部装置2に固有の情報や、実装されているOS8やアプリケーション9の種類やバージョンなどのような同じ製品群に属する外部装置2に共通の情報が含まれている。また、移行データ22は、外部装置2が利用するデータや、前述したユーザ情報のような車両用装置1から受け渡されたデータを含んでおり、MMOS82Bから読み出し可能になっている。
そのため、車両用装置1は、外部装置2と通信することにより、外部装置2のバージョンを装置単位あるいは個別のアプリケーション9単位で取得することができるとともに、移行データ22を取得することができる。このとき、移行データ22については、データの内容を参照することにより、現在の車両に搭載されている周辺機器3で利用可能なデータを選択的に取得することができる。同様に、外部装置2は、車両用装置1と通信することにより、車両用装置1のバージョンを装置単位あるいは個別のアプリケーション9単位で取得することができる。
このような構成において、車両用装置1は、図16に示すように、外部装置2を利用するか否かを選択する装置選択処理を例えば起動時に実行する。ただし、装置選択処理は、起動時に実行する以外にも、また、一旦実行された後であっても、ユーザやディーラの作業者からの指示によって任意のタイミングで実行することができる。
車両用装置1は、第1実施形態で説明した起動時シーケンスと同様に、電源がオンされるとステップS1101においてCPU104を起動し、ステップS1102においてBSPをロードし、ステップS1103においてハイパーバイザ111を起動し、ステップS1104においてOS起動処理を実行し、ステップS1105においてサービスバス112を起動する。続いて、車両用装置1は、ステップS1106において接続判定処理を実行し、接続状態であると判定すると、ステップS1107においてYESとなることから、ステップS1108において装置選択処理を実行する。
この装置選択処理では、車両用装置1は、図17に示すように、ステップS1201において、外部装置2が上位のバージョンであるか否かを判定する。この場合、車両用装置1は、車両側識別情報20とモジュール側識別情報21とを参照および比較することにより、いずれが上位のバージョンであるかを判定する。
なお、車両用装置1は、ステップS1201において外部装置2からモジュール側識別情報21を取得して比較することもできるが、ステップS1106の接続判定処理においてモジュール側識別情報21を予め取得しておき、ステップS1201において比較することもできる。
車両用装置1は、外部装置2が上位のバージョンであると判定した場合には、ステップS1201においてYESとなることから、ステップS1202において外部装置2を有効装置として登録してリターンする。ここで、有効装置とは、利用が許可された装置であることを意味する。つまり、車両用装置1は、ステップS1201およびステップS1202において、自身よりもバージョンが新しい外部装置2が接続された場合には性能が向上すると考えられることから、その外部装置2を利用する。
また、有効装置として登録された場合には、モジュール側識別情報21とともに有効装置として登録されたことを示す情報が記憶され、次回以降の接続時に登録済みの装置であるかの確認に利用される。換言すると、車両用装置1は、外部装置2を利用することが選択された場合には、次回以降に利用する状態を引き継ぐ一方、外部装置2を利用しないことが選択された場合には、次回以降に利用しない状態を引き継ぐことができる。
一方、車両用装置1は、外部装置2が下位のバージョンであると判定した場合には、ステップS1201においてNOとなることから、ステップS1203において、その外部装置2が過去に有効装置として登録された登録済みの装置であるか否かを判定する。
車両用装置1は、登録済みの装置であると判定した場合には、ステップS1203においてYESとなることから、ステップS1202に移行して有効装置として登録してリターンする。なお、登録済みの装置の場合、過去の利用時にユーザ情報や設定等のデータがバックアップされていれば、それらのデータを利用して動作する。
これに対して、車両用装置1は、登録済みの装置ではないと判定した場合には、ステップS1203においてNOとなることから、ステップS1204において登録するか否かを判定する。この場合、車両用装置1は、例えばセンタディスプレイ301に登録するか否かを選択するアイコン等を表示してユーザやディーラの操作を待機して、登録する旨の操作が入力された場合には登録すると判定することができる。
一方、車両用装置1は、登録しない旨の操作が入力された場合や所定時間内に操作が行われなかった場合には登録しないと判定することができる。なお、所定時間は適宜設定することができるが、所定時間をごく短くすれば実質的には待機しないのと同じ処理になり、所定時間を長くすれば実質的に操作が入力されるまで待機するのと同じ処理時なる。
車両用装置1は、登録すると判定した場合には、ステップS1204においてYESとなることから、ステップS1202に移行して有効装置として登録してリターンする。一方、車両用装置1は、登録しないと判定した場合には、ステップS1204においてNOとなることから、ステップS1205において、外部装置2に記憶されているデータを車両用装置1側で共有するか否かを判定する。
これは、相対的に古いバージョンの外部装置2が接続された場合には、第2実施形態で説明したようなデータの移行のために接続された可能性があるためである。この場合、車両用装置1は、例えばセンタディスプレイ301に共有するか否かを選択するアイコン等を表示してユーザやディーラの操作を待機し、共有する旨の操作が入力された場合には共有すると判定し、共有しない旨の操作が入力された場合や所定時間内に操作が行われなかった場合には共有しないと判定する。
車両用装置1は、データを共有すると判定した場合には、ステップS1205においてYESとなることから、ステップS1206においてデータを共有する。このとき、車両用装置1は、外部装置2に記憶されている移行データ22を取得して自身の記憶部110に記憶したり、例えばシート位置やハンドル位置あるいは自宅住所や電話帳、楽曲などのユーザ情報を自身に登録したりすることにより、異なる車両用装置1間におけるデータの共有、ここではデータの移行を容易に行うことができる。
データを共有すると、車両用装置1は、ステップS1207において無効装置として登録した後、リターンする。ここで、無効装置とは、利用が許可されなかった装置であることを意味する。一方、車両用装置1は、データを共有すると判定した場合には、ステップS1205においてNOとなることから、ステップS1207において無効装置として登録した後、リターンする。
装置選択処理からリターンすると、車両用装置1は、図16に示すように、ステップS1109において有効装置であるか否かを判定し、装置選択処理において有効装置として登録された場合には、有効装置であると判定し、ステップS1109においてYESとなることから、ステップS1110において有効化処理を実行して定常処理に移行する。なお、有効化処理では、図6に示したようにOS8の同期やデータのレストアおよび重複アプリの停止などの処理が必要に応じて実行される。
これに対して、車両用装置1は、装置選択処理において無効装置として登録された場合には、有効装置ではないと判定し、ステップS1109においてNOとなることから、定常処理に移行する。ただし、車両用装置1は、例えばユーザやディーラの作業者の操作によって装置選択処理を実行することにより、あるいは、有効装置として登録するための処理を直接的に実行させることができる。
つまり、車両用装置1は、一旦無効装置として登録した外部装置2であっても、有効装置として登録し直したりデータを移行したりすることができる。換言すると、車両用装置1は、一旦利用しないことが選択されたものに対して、利用するか否かを再選択することを可能にしている。
以上説明した車両用装置1によれば、次のような効果を得ることができる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、操作を入力する入力部10とを備え、外部装置2を取り外す操作が入力された場合、外部装置2が利用するデータをバックアップする。これにより、まず、外部装置2を接続することによって機能を提供するための性能向上を容易に図ることができるなど、第1実施形態や第2実施形態と同様の効果を得ることができる。
車両用装置1は、制御部101と、外部装置2が接続される接続部5と、操作を入力する入力部10とを備え、外部装置2を取り外す操作が入力された場合、外部装置2が利用するデータをバックアップする。これにより、まず、外部装置2を接続することによって機能を提供するための性能向上を容易に図ることができるなど、第1実施形態や第2実施形態と同様の効果を得ることができる。
また、車両用装置1は、制御部101と、外部装置2が接続される接続部5と、外部装置2を利用するか否かの選択に関する処理を実行する選択部14とを備え、外部装置2を利用することが選択された場合に外部装置2を利用可能にする。これにより、例えばバージョンアップによってHMIや操作態様が変わる可能性がある場合において、外部装置2を利用するか否かを選択することが可能となり、使い勝手を向上させることができる。
また、車両用装置1は、選択部14は、外部装置2そのものについて、利用するか否かを選択させる。これにより、車両用装置1と外部装置2のいずれを利用するかを装置単位で選択することが可能となり、例えば新しい機能の提供などを容易行うことができる。
また、車両用装置1は、外部装置2が備える機能について、利用するか否かを選択させる。これにより、車両用装置1が備える機能と外部装置2が備える機能のいずれを利用するかを機能単位で選択することが可能となり、より好ましい状態で機能を提供することができる。
また、車両用装置1は、ヒューマンマシンインターフェースに関連する機能について、利用するか否かを選択させる。これにより、使い勝手が良いほうを利用することができるようになり、より好ましい状態で機能を提供することができる。
また、車両用装置1は、外部装置2を利用するか否かの選択結果を、次回以降の動作時に引き継ぐ。これにより、例えば起動時に毎回選択させるような手間をかけることなく、所望の環境を再現することができる。
また、車両用装置1は、一旦利用しないことが選択されたものに対して、利用するか否かの再選択を可能にする。これにより、さらにバージョンが新しくなって新機能が提供された場合などにおいて、新機能を容易に利用することができるようになる。これは、後述するデータに関しても同様である。
また、車両用装置1は、外部装置2を利用することが選択された場合、外部装置2で実行する機能を自身では実行しない。これにより、消費電力の増加を抑制することができる。
また、車両用装置1は、周辺機器3で利用されるデータを利用可能にする構成とすることができる。これにより、例えば車両を更新して周辺機器3の構成が変わった場合などにおいて無駄なデータが記憶されることを抑制できる。
実施形態では車両用装置1のバージョンと外部装置2のバージョンとを比較することにより装置単位で上位または下位を判定する例を示したが、以下に説明する様に、実装されている個別のOS8やアプリケーション9ごと、また、ユーザ情報などのデータごとに上位または下位を判定して有効/無効を選択する構成とすることができる。
このとき、バージョンを比較する構成には、それぞれが有する機能を比較する構成も含まれる。これは、上位のバージョンでは下位のバージョンにはなかった機能が追加されたり、下位のバージョンには存在していた機能が削除されたりすることが想定されるためである。つまり、車両用装置1が備える機能と外部装置2が備える機能とが異なる場合に、外部装置を利用するか否かを選択する処理を実行することができる。
車両用装置1は、データを選択的に利用するために、図18に示すデータ選択処理を実行する。このデータ選択処理は、起動時に自動的に実行することができるし、ユーザやディーラの作業者の指示に基づいて任意のタイミングで実行することができる。
また、例えば初めて外部装置2が接続された時にデータ選択処理を実行し、登録済みとなった外部装置2に対しては次回以降の接続時にはデータ選択処理を実行しない構成とすることもできる。すなわち、車両用装置1は、装置やデータを利用するか否かを選択した選択結果を、次回以降の動作に引き継ぐことができる。
このデータ選択処理は、基本的には選択部14によって実行されるものの、以下では説明の簡略化のために車両用装置1を主体にして説明する。また、以下では、上位のバージョンに相当する新しいデータを新データ、下位のバージョンに相当する古いデータを旧データと称する。
また、車両用装置1に記憶されているデータとしては、上記したバックアップデータも含まれる。また、OS8やアプリケーション9も広義の意味ではデータとみなせるため、ここではそれらを含んでデータと総称している。すなわち、車両用装置1は、外部装置2が記憶しているデータについて、利用するか否かを選択させることができる。
車両用装置1は、まず、ステップS1301において自身が記憶しているデータと外部装置2に記憶されているデータとを比較し、ステップS1302において新データを利用するか否かを判定する。
この場合、車両用装置1は、例えばセンタディスプレイ301に新データを利用するか否かを選択するアイコン等を表示してユーザやディーラの操作を待機し、利用する旨の操作が入力された場合には新データを利用すると判定し、利用しない旨の操作が入力された場合や所定時間内に操作が行われなかった場合には利用しないと判定する。ただし、ステップS1302を設けずに、新データであれば優先的に利用する構成とすることもできる。
車両用装置1は、新データを利用すると判定した場合には、ステップS1302においてYESとなることから、ステップS1303において新データを利用するデータとして選択してリターンする。この場合、車両用装置1は、旧データを新データで上書きしたり旧データを記憶していた装置に新データを移行したりすることにより、新データを利用可能にする。すなわち、OS8やアプリケーション9が新データを利用して動作するようにする。
一方、車両用装置1は、新データを利用すると判定した場合には、ステップS1302においてNOとなることから、ステップS1303を省略してリターンする。つまり、車両用装置1は、データを更新することなく、各装置が以前と同じ環境で動作するようにする。これにより、意図せずに動作環境が変わってしまうことを抑制できる。
このように、車両用装置1は、外部装置2に記憶されているデータと自身が記憶しているデータとを比較し、新しいほうのデータを選択して利用可能にする構成とすることができる。このような構成とすることにより、各装置に記憶されているデータが異なる場合において、新データと旧データのいずれを利用するかを選択することができる。
例えば、外部装置2のバージョンが古くても、あるアプリケーション9についてはアップデートされて車両用装置1側のアプリケーション9よりもバージョンが新しい場合には、そのアプリケーション9については外部装置2側を上位とみなして有効にするといった処理を実行することができる。
このとき、車両用装置1は、外部装置2に実装されているアプリケーション9のうち、自身に実装されているアプリケーション9と互換性を有するものについてバージョンの確認を行うことができる。つまり、車両用装置1が備える機能と外部装置2が備える機能とを比較することができる。
また、車両用装置1は、アプリケーション9ごとにバージョンの確認を繰り返すこともできるが、例えば接続判定処理において外部装置2と通信した際に外部装置2側のアプリケーション9とそれぞれのバージョンとを含む情報を取得しておき、複数のアプリケーション9についてバージョンを確認することもできる。また、各装置に実装されているOS8についても同様である。
また、下位のバージョンを利用するか否かを選択可能な構成とすることにより、慣れ親しんだ環境を継続して利用可能にすることができる。例えば、車両用装置1に実装されているアプリケーション9よりも新しいバージョンのアプリケーション9が外部装置2に実装されているとする。
その場合、実施形態のように上位のバージョンを有効にすると、車両用装置1に実装されている下位のバージョンのアプリケーション9とは異なるHMIが提供されることが想定される。そのような場合であっても、上位と下位のいずれを利用するかを選択可能にすることにより、操作の習熟等を必要とすることなく装置を利用することができる。
また、車両用装置1と外部装置2とを備える車両用システム4によっても、例えばバージョンアップによってHMIや操作態様が変わる可能性がある場合において、外部装置2を利用するか否かを選択することが可能となり、使い勝手を向上させることができるなどの上記した各種の効果を同様に得ることができる。
上記した各実施形態は、例えば第2実施形態で例示した処理を第1実施形態の定常処理中に実行可能にするなど、その構成の全部あるいは一部を他の実施形態の構成の全部あるいは一部と適宜組み合わせることができる。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に含まれるものである。
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
図面中、1は車両用装置、2は外部装置、3は周辺機器、5は接続部、8はOS、9はアプリケーション、11はHMI処理部、12は判定部、13はデータ管理部、14は選択部、81はRTOS、82はMMOS、82AはMMOS、82BはMMOS、82A1はMMOS、82A2はMMOS、82B1はMMOS、82B2はMMOS、101は制御部、110は記憶部、201はモジュール側制御部、210はモジュール側記憶部、301はセンタディスプレイ、302はメータディスプレイ、303はヘッドアップディスプレイ、304はエアコンディスプレイ、305はスピーカ、306はカメラ、307はマイク、308は位置検出装置、309はチューナ、310はDSM、311はLIDAR、312はレーダ、313はECU、901はメータアプリ、902はHUDアプリ、903はカメラアプリ、904はラジオアプリ、905はエアコンアプリ、906はナビアプリ、907は音声認識アプリ、907Aは音声認識アプリ、907Bは音声認識アプリ、908は外部機器通信アプリを示す。
Claims (6)
- 周辺機器(3)にアクセス可能であって車両を利用する際に提供される機能を実行可能な制御部(101)と、
前記制御部と通信可能であって車両を利用する際に提供される機能を実行可能な外部装置(2)が接続される接続部(5)と、
前記外部装置が機能を実行可能な状態で前記接続部に接続されているか否かを判定する判定部(12)と、を備え、
前記制御部は、前記外部装置が機能を実行可能な状態ではないと判定された場合、前記外部装置で実行されていた機能を自身で実行する車両用装置。 - 前記制御部は、前記外部装置で実行することにより停止していた自身の機能を実行する請求項1記載の車両用装置。
- 前記制御部は、前記外部装置で機能を実行する際に動作を停止させた自身のアプリケーション(9)を起動することにより、機能を実行する請求項1または2のいずれか一項記載の車両用装置。
- 前記制御部は、前記外部装置で機能を実行する際に動作を停止させた自身のオペレーティングシステム(8)を起動することにより、機能を実行する請求項1から3のいずれか一項記載の車両用装置。
- 前記判定部は、前記外部装置が機能を実行可能な状態であるか否かの判定を、車両用装置の動作中に繰り返し行う請求項1から4のいずれか一項記載の車両用装置。
- 前記制御部は、前記外部装置が接続された際、自身が記憶しているデータを前記外部装置で利用可能にする請求項1から5のいずれか一項記載の車両用装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021010334A JP2022114160A (ja) | 2021-01-26 | 2021-01-26 | 車両用装置 |
PCT/JP2022/000236 WO2022163317A1 (ja) | 2021-01-26 | 2022-01-06 | 車両用装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021010334A JP2022114160A (ja) | 2021-01-26 | 2021-01-26 | 車両用装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022114160A true JP2022114160A (ja) | 2022-08-05 |
Family
ID=82653331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021010334A Pending JP2022114160A (ja) | 2021-01-26 | 2021-01-26 | 車両用装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022114160A (ja) |
WO (1) | WO2022163317A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2418126A4 (en) * | 2009-04-10 | 2016-05-25 | Toyota Motor Co Ltd | BORDMULTIMEDIAVORRICHTUNG FOR A VEHICLE AND POWER SUPPLY PROCESS THEREFOR |
JP2010285001A (ja) * | 2009-06-09 | 2010-12-24 | Toyota Motor Corp | 電子制御システム、機能代行方法 |
WO2020050315A1 (ja) * | 2018-09-06 | 2020-03-12 | 株式会社デンソー | 車両制御システム |
JP2021005217A (ja) * | 2019-06-26 | 2021-01-14 | 株式会社デンソー | 車両制御システムおよび電子制御装置 |
JP2021005218A (ja) * | 2019-06-26 | 2021-01-14 | 株式会社デンソー | 機能拡張システムおよび電子制御装置 |
-
2021
- 2021-01-26 JP JP2021010334A patent/JP2022114160A/ja active Pending
-
2022
- 2022-01-06 WO PCT/JP2022/000236 patent/WO2022163317A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022163317A1 (ja) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170061708A1 (en) | Method, apparutus and system for managing vehicle interlock application | |
JP5708940B2 (ja) | 情報管理装置、情報通信システム | |
JP6702269B2 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
US10625754B2 (en) | Control apparatus, control method, and computer program | |
US11455180B2 (en) | Extensible computing architecture for vehicles | |
KR20200090010A (ko) | 펌웨어 업데이트 방법, 이를 위한 전자 장치 및 저장 매체 | |
US20200233653A1 (en) | Program updating method | |
CN107102849B (zh) | 用于周期性点火开关断开的文件替换的方法和设备 | |
US11670117B2 (en) | Vehicle and software update method | |
US20240036856A1 (en) | Vehicle system | |
CN113377512A (zh) | 车机系统的启动方法、装置及设备 | |
US11284232B2 (en) | Vehicle control system | |
WO2022163318A1 (ja) | 車両用装置 | |
WO2022163316A1 (ja) | 車両用装置 | |
WO2022163314A1 (ja) | 車両用装置 | |
WO2022163317A1 (ja) | 車両用装置 | |
WO2022163315A1 (ja) | 車両用装置 | |
WO2014185045A1 (ja) | 表示制御装置、表示制御方法、及びそのプログラム | |
JP6237543B2 (ja) | 車載装置 | |
EP2998859B1 (en) | Display control device, display control method, and program | |
KR102064519B1 (ko) | 차량 ecu 소프트웨어 업데이트 방법, 그를 수행하기 위한 장치 및 시스템 | |
JP2006119727A (ja) | 通信システム、サーバ、通信端末及び通信端末に着脱可能な記憶媒体 | |
JP7484746B2 (ja) | 車両用装置、車両用システム | |
CN113377410B (zh) | 车机系统及升级方法、可读存储介质 | |
US20240037999A1 (en) | Vehicle system |