JP2021005218A - 機能拡張システムおよび電子制御装置 - Google Patents
機能拡張システムおよび電子制御装置 Download PDFInfo
- Publication number
- JP2021005218A JP2021005218A JP2019118579A JP2019118579A JP2021005218A JP 2021005218 A JP2021005218 A JP 2021005218A JP 2019118579 A JP2019118579 A JP 2019118579A JP 2019118579 A JP2019118579 A JP 2019118579A JP 2021005218 A JP2021005218 A JP 2021005218A
- Authority
- JP
- Japan
- Prior art keywords
- application
- electronic control
- control device
- function expansion
- information
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Abstract
【課題】車両出荷後における電子制御装置の機能拡張を容易にする。【解決手段】機能拡張システム1は、車両に搭載されるHCU2および拡張モジュール3とサーバ4とを備える。HCU2は、データ通信によって拡張モジュール3に接続されると、ユーザ情報をサーバ4へ送信する。拡張モジュール3は、スペック情報をサーバ4へ送信する。サーバ4は、ユーザ情報とスペック情報とに基づいて、アプリリストを作成し、作成したアプリリストを送信する。拡張モジュール3は、送信されたアプリ情報により特定される機能拡張アプリプログラムをダウンロードする。【選択図】図1
Description
本開示は、車両に搭載される電子制御装置の機能を拡張する機能拡張システムに関する。
特許文献1には、自動車等に組み込まれるコンピュータシステムが記載されている。車両のコクピットに設置される表示装置を制御するヒューマンマシンインタフェース制御装置では、携帯端末で使用されているオペレーティングシステム(以下、携帯端末用OS)が急速に普及している。携帯端末用OSは年毎に更新されることが多く、この更新により、携帯端末用OSに搭載される機能が拡張される。このため、携帯端末用OSに搭載されるアプリケーションの機能も増加し、それに伴い、携帯端末に搭載されるハードウェアの性能向上が必要となる。
しかし、車両に搭載される電子制御装置においては、車両出荷後において一年毎または数年毎にハードウェアを交換するという対応が困難である。
本開示は、車両出荷後における電子制御装置の機能拡張を容易にすることを目的とする。
本開示は、車両出荷後における電子制御装置の機能拡張を容易にすることを目的とする。
本開示の一態様は、車両に搭載される第1電子制御装置(2)と、車両に搭載される少なくとも1つの第2電子制御装置(3,3a,3b,3c,3d,3e,3f)と、サーバ(4)とを備える機能拡張システム(1)である。サーバは、車両の外部に設置され、第1電子制御装置および少なくとも1つの第2電子制御装置との間でデータ通信を行う。
第1電子制御装置は、第1制御部(12)と、第1装置通信部(26)と、第1サーバ通信部(27)と、筐体(11)と、ユーザ情報送信部(S520)とを備える。
第1制御部は、車両に搭載された機器を制御する少なくとも1つの第1アプリケーション(101,102,103,104)を動作させる第1オペレーティングシステム(83)を実行するように構成される。
第1制御部は、車両に搭載された機器を制御する少なくとも1つの第1アプリケーション(101,102,103,104)を動作させる第1オペレーティングシステム(83)を実行するように構成される。
第1装置通信部は、少なくとも1つの第2電子制御装置との間でデータ通信を行うように構成される。
第1サーバ通信部は、サーバとの間でデータ通信を行うように構成される。
第1サーバ通信部は、サーバとの間でデータ通信を行うように構成される。
筐体は、第1制御部、第1装置通信部および第1サーバ通信部を内部に収容する。
ユーザ情報送信部は、第1装置通信部によるデータ通信によって第2電子制御装置に接続されると、車両のユーザを識別するためのユーザ情報をサーバへ送信するように構成される。
ユーザ情報送信部は、第1装置通信部によるデータ通信によって第2電子制御装置に接続されると、車両のユーザを識別するためのユーザ情報をサーバへ送信するように構成される。
少なくとも1つの第2電子制御装置は、第2制御部(32)と、第2装置通信部(46)と、第2サーバ通信部(47)と、スペック情報送信部(S120)と、ダウンロード部(S260〜S350)とを備える。
第2制御部は、車両に搭載された機器を制御する少なくとも1つの第2アプリケーション(121)を動作させる第2オペレーティングシステム(91)を実行するように構成される。
第2装置通信部は、第1電子制御装置との間でデータ通信を行うように構成される。
第2サーバ通信部は、サーバとの間でデータ通信を行うように構成される。
スペック情報送信部は、第2電子制御装置のスペックを示すスペック情報をサーバへ送信するように構成される。
第2サーバ通信部は、サーバとの間でデータ通信を行うように構成される。
スペック情報送信部は、第2電子制御装置のスペックを示すスペック情報をサーバへ送信するように構成される。
ダウンロード部は、アプリケーションリストを受信すると、アプリケーション特定情報により特定されるアプリケーションプログラムをサーバからダウンロードするように構成される。アプリケーションリストは、少なくとも、少なくとも1つの第2電子制御装置で利用可能なアプリケーションを特定する少なくとも1つのアプリケーション特定情報を含む。
サーバは、作成部(S710〜S740)を備える。作成部は、ユーザ情報とスペック情報とを受信すると、ユーザ情報とスペック情報とに基づいて、アプリケーションリストを作成し、作成したアプリケーションリストを送信するように構成される。
このように構成された本開示の機能拡張システムは、第1装置通信部と第2装置通信部とによって第1電子制御装置と少なくとも1つの第2電子制御装置との間でデータ通信を行わせて、車両に搭載された機器を制御することができる。そして、第1電子制御装置で動作する第1アプリケーションと、少なくとも1つの第2電子制御装置で動作する第2アプリケーションとは異なっているため、第1アプリケーションと第2アプリケーションとの間で相互に交換しながら利用するデータは少ない。このため、本開示の機能拡張システムは、第1電子制御装置と少なくとも1つの第2電子制御装置との間で送受信されるデータ量の増加を抑制することができる。これにより、本開示の機能拡張システムは、第1制御部および第2制御部の内部の通信バスによる通信よりも通信性能が低い通信を用いて第1電子制御装置と少なくとも1つの第2電子制御装置とを接続することにより、車両に搭載された機器を制御することができる。
そして、本開示の機能拡張システムでは、少なくとも1つの第2電子制御装置を交換して、新たな少なくとも1つの第2電子制御装置を通信により第1電子制御装置に接続することにより、少なくとも1つの第2電子制御装置のハードウェアを交換することができる。このため、本開示の機能拡張システムは、交換する前よりも高性能な少なくとも1つの第2電子制御装置を第1電子制御装置に接続することにより、第1電子制御装置と少なくとも1つの第2電子制御装置とにより構成される車両制御システム全体としての性能向上を図ることができる。
さらに、本開示の機能拡張システムでは、第1装置通信部と第2装置通信部との通信により少なくとも1つの第2電子制御装置を第1電子制御装置に接続することができる。これにより、本開示の機能拡張システムは、第1電子制御装置の筐体の一部分を開けて新たな少なくとも1つの第2電子制御装置を第1電子制御装置の筐体の内部へ収容することにより第1電子制御装置と少なくとも1つの第2電子制御装置とを接続するという交換作業を行う必要が無い。このため、本開示の機能拡張システムは、第1装置通信部と第2装置通信部との通信により少なくとも1つの第2電子制御装置を第1電子制御装置に接続するという簡便な方法で第1電子制御装置と少なくとも1つの第2電子制御装置とを接続することができる。
また、本開示の機能拡張システムでは、少なくとも1つの第2電子制御装置は、アプリケーションリストを受信すると、アプリケーション特定情報により特定されるアプリケーションプログラムをサーバからダウンロードする。これにより、本開示の機能拡張システムは、機能が更新されたアプリケーションプログラムをサーバから取得して、少なくとも1つの第2電子制御装置で利用することができ、車両制御システムの性能を向上させることができる。
以上より、本開示の機能拡張システムは、車両出荷後における電子制御装置の機能拡張を容易にすることができる。
本開示の別の態様は、車両に搭載される車載電子制御装置との間でデータ通信を行うことにより車載電子制御装置(2)に接続される電子制御装置(3,3a,3b,3c,3d,3e,3f)である。そして、本開示の電子制御装置は、制御部(32)と、装置通信部(46)と、サーバ通信部(47)と、スペック情報送信部(S120)と、ダウンロード部(S260〜S350)とを備える。
本開示の別の態様は、車両に搭載される車載電子制御装置との間でデータ通信を行うことにより車載電子制御装置(2)に接続される電子制御装置(3,3a,3b,3c,3d,3e,3f)である。そして、本開示の電子制御装置は、制御部(32)と、装置通信部(46)と、サーバ通信部(47)と、スペック情報送信部(S120)と、ダウンロード部(S260〜S350)とを備える。
制御部は、車両に搭載された機器を制御する少なくとも1つのアプリケーション(121)を動作させるオペレーティングシステム(91)を実行するように構成される。
装置通信部は、車載電子制御装置との間でデータ通信を行うように構成される。
装置通信部は、車載電子制御装置との間でデータ通信を行うように構成される。
サーバ通信部は、車両の外部に設置されたサーバとの間でデータ通信を行うように構成される。
スペック情報送信部は、電子制御装置のスペックを示すスペック情報をサーバへ送信するように構成される。
スペック情報送信部は、電子制御装置のスペックを示すスペック情報をサーバへ送信するように構成される。
ダウンロード部は、アプリケーションリストを受信すると、アプリケーション特定情報により特定されるアプリケーションプログラムをサーバからダウンロードするように構成される。アプリケーションリストは、少なくとも、電子制御装置で利用可能なアプリケーションを特定する少なくとも1つのアプリケーション特定情報を含む。
このように構成された本開示の電子制御装置は、本開示の機能拡張システムで使用される電子制御装置であり、本開示の機能拡張システムと同様の効果を得ることができる。
(第1実施形態)
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態の機能拡張システム1は、図1に示すように、ヒューマンマシンインタフェース制御装置2(以下、HCU2)と、拡張モジュール3と、サーバ4とを備える。HCUは、Human Machine Interface Control Unitの略である。
以下に本開示の第1実施形態を図面とともに説明する。
本実施形態の機能拡張システム1は、図1に示すように、ヒューマンマシンインタフェース制御装置2(以下、HCU2)と、拡張モジュール3と、サーバ4とを備える。HCUは、Human Machine Interface Control Unitの略である。
HCU2は、車両に搭載され、広域無線通信網NW(例えば携帯電話通信網)を介してサーバ4とデータ通信を行う機能を有する。
拡張モジュール3は、車両に搭載され、広域無線通信網NWを介してサーバ4とデータ通信を行う機能を有する。拡張モジュール3は、車両の走行中に脱落しない位置に設置されるようにしてもよいし、脱落しないようにロック機構を備えるようにしてもよい。
拡張モジュール3は、車両に搭載され、広域無線通信網NWを介してサーバ4とデータ通信を行う機能を有する。拡張モジュール3は、車両の走行中に脱落しない位置に設置されるようにしてもよいし、脱落しないようにロック機構を備えるようにしてもよい。
HCU2は、例えばSoCで構成された半導体集積回路であり、図2に示すように、筐体11と、制御部12と、HCU2の外部と制御部12との間で信号の入出力を行わせるための外部入出力回路13とを備える。SoCは、System on a Chipの略である。
筐体11は、箱状に形成された金属製の部材であり、内部に、制御部12と外部入出力回路13とを収容する。
制御部12は、CPU21と、ROM22と、RAM23と、フラッシュROM24と、入出力ポート25と、USB通信部26と、広域無線通信部27と、これらを相互に接続するバスライン28とを備える。USBは、Universal Serial Busの略である。
制御部12は、CPU21と、ROM22と、RAM23と、フラッシュROM24と、入出力ポート25と、USB通信部26と、広域無線通信部27と、これらを相互に接続するバスライン28とを備える。USBは、Universal Serial Busの略である。
CPU21は、ROM22に記憶されたプログラムに基づいて、HCU2を制御するための各種処理を実行する。ROM22は、不揮発性メモリであり、CPU21が実行するプログラムと、プログラムの実行時に参照されるデータとを記憶する。RAM23は、揮発性メモリであり、CPU21の演算結果等を一時的に記憶する。
フラッシュROM24は、記憶内容を書き換え可能な不揮発性メモリである。
入出力ポート25は、制御部12の外部と制御部12との間で信号の入出力を行わせるための回路である。USB通信部26は、USB規格に準拠した方式で、筐体11の外面上に取り付けられたUSBコネクタ14を介して接続された通信回路との間でデータの送受信を行う。広域無線通信部27は、広域無線通信網NWを介して、サーバ4との間でデータ通信を行う。
入出力ポート25は、制御部12の外部と制御部12との間で信号の入出力を行わせるための回路である。USB通信部26は、USB規格に準拠した方式で、筐体11の外面上に取り付けられたUSBコネクタ14を介して接続された通信回路との間でデータの送受信を行う。広域無線通信部27は、広域無線通信網NWを介して、サーバ4との間でデータ通信を行う。
制御部12の各種機能は、CPU21が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM22が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU21が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。
拡張モジュール3は、例えばSoCで構成された半導体集積回路であり、筐体31と、制御部32と、拡張モジュール3の外部と制御部32との間で信号の入出力を行わせるための外部入出力回路33と、USBケーブル34とを備える。
筐体31は、箱状に形成された金属製の部材であり、内部に、制御部32と外部入出力回路33とを収容する。
制御部32は、CPU41と、ROM42と、RAM43と、フラッシュROM44と、入出力ポート45と、USB通信部46と、広域無線通信部47と、これらを相互に接続するバスライン48とを備える。
制御部32は、CPU41と、ROM42と、RAM43と、フラッシュROM44と、入出力ポート45と、USB通信部46と、広域無線通信部47と、これらを相互に接続するバスライン48とを備える。
CPU41は、ROM42に記憶されたプログラムに基づいて、拡張モジュール3を制御するための各種処理を実行する。ROM42は、不揮発性メモリであり、CPU41が実行するプログラムと、プログラムの実行時に参照されるデータとを記憶する。RAM43は、揮発性メモリであり、CPU41の演算結果等を一時的に記憶する。
なお、CPU41は、CPU21より処理性能が高い。すなわち、CPU21とCPU41とで同一の演算処理を実行した場合に、CPU41は、CPU21よりも短時間で演算処理を完了することができる。
フラッシュROM44は、記憶内容を書き換え可能な不揮発性メモリである。
入出力ポート45は、制御部32の外部と制御部32との間で信号の入出力を行わせるための回路である。USB通信部46は、USB規格に準拠した方式で、USBコネクタ14を介して接続されたUSB通信部26との間でデータの送受信を行う。広域無線通信部47は、広域無線通信網NWを介して、サーバ4との間でデータ通信を行う。
入出力ポート45は、制御部32の外部と制御部32との間で信号の入出力を行わせるための回路である。USB通信部46は、USB規格に準拠した方式で、USBコネクタ14を介して接続されたUSB通信部26との間でデータの送受信を行う。広域無線通信部47は、広域無線通信網NWを介して、サーバ4との間でデータ通信を行う。
制御部32の各種機能は、CPU41が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM42が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU41が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。
USBケーブル34は、ケーブル34aとUSBコネクタ34bとを備える。ケーブル34aの一端がUSB通信部46に接続され、ケーブル34aの他端にUSBコネクタ34bが取り付けられる。USBコネクタ34bは、USBコネクタ14に対して着脱可能に形成されており、USBコネクタ34bがUSBコネクタ14に接続されることにより、USB通信部26とUSB通信部46との間でUSB通信が可能となる。
HCU2には、センタディスプレイ51、メータディスプレイ52、ヘッドアップディスプレイ53、エアコンコントローラディスプレイ54およびスピーカ55が接続される。
センタディスプレイ51は、運転席と助手席との間の前方に配置される。センタディスプレイ51は、ナビゲーションおよびオーディオ等の各種車載機器の表示画面として使用されるとともに、アプリケーションの表示画面として使用される。メータディスプレイ52は、ステアリングの前方に配置されて、各種メータ等を表示する。ヘッドアップディスプレイ53は、運転者の前方に配置されているウィンドシールドに各種情報を表示する。エアコンコントローラディスプレイ54は、車載エアコンディショナを制御するエアコンコントローラに関する情報(例えば、現在の設定温度等)を表示する。スピーカ55は、車室内に設置され、HCU2から入力された音声データが示す音声を出力する。
HCU2には、カメラ61、マイク62、位置検出装置63、チューナ64、ドライバステータスモニタ65(以下、DSM65)、LIDAR66およびレーダ67が接続される。DSMは、Driver Status Monitorの略である。LIDARは、Light Detection and Rangingの略である。
カメラ61は、例えば、車両の後側に取り付けられており、車両の後方の状況を連続して撮影する。マイク62は、車室内に設置され、車両の乗員が発話した音声を入力する。マイク62は、入力した音声を示す音声データを出力する。
位置検出装置63は、GPS受信機と、ジャイロセンサとを備える。GPSは、Global Positioning Systemの略である。GPS受信機は、GPS衛星から送信されるGPS測位信号を受信して、受信したGPS測位信号を出力する。ジャイロセンサは、互いに直交するX軸、Y軸およびZ軸を中心とした回転の角速度を検出する。
チューナ64は、AM放送およびFM放送のラジオ放送信号を受信する。DSM65は、運転者の顔を撮影した顔画像の画像解析により、運転者の状態を検出する。LIDAR66は、レーザ光を送受信することで、車両の周囲に存在する物体の位置を検出する。レーダ67は、ミリ波帯のレーダ波を送受信することで、車両の周囲に存在する物体の位置を検出する。
拡張モジュール3には、無線通信装置71が接続される。無線通信装置71は、BT通信部と、Wi−Fi通信部とを備える。BT通信部は、Bluetooth規格に準拠した方式で近距離無線通信を行う。Bluetoothは登録商標である。Wi−Fi通信部は、Wi−Fi規格に準拠した方式で近距離無線通信を行う。Wi−Fiは登録商標である。
図3に示すように、HCU2は、ハイパーバイザ81と、サービスバス82と、オペレーティングシステム83(以下、OS83)と、リアルタイムオペレーティングシステム84(以下、リアルタイムOS84)と、メータ処理部85と、HMI処理部86と、ファイアウォール87とを備える。OSは、Operating Systemの略である。HMIは、Human Machine Interfaceの略である。
ハイパーバイザ81は、複数のオペレーティングシステムをCPU21上で並列に実行可能とするために複数のオペレーティングシステムを管理する機能を有する。すなわち、ハイパーバイザ81は、OS83およびリアルタイムOS84を管理する。
サービスバス82は、アプリケーション層と、プレゼンテーション層以下の下位の任意の層を表す下位層との間のデータの橋渡しを行うアプリケーションである。サービスバス82は、USBコネクタ14を介して通信を行うHCU2と拡張モジュール3とが、あたかも1つの装置であるかのようにデータのやりとりを行うことができるように、データの受け渡しを行う。このために、サービスバス82は、下位層で用いるデータと、アプリケーション層で用いるデータとの対応付けを行うためのデータベースを備え、このデータベースを参照することによってアプリケーション層と下位層との間でデータの形式を変換する。
OS83は、各種アプリケーションを動作させるためにHCU2に搭載された基本ソフトウェアである。本実施形態では、OS83は、アンドロイドである。アンドロイドは登録商標である。
本実施形態では、OS83は、ラジオアプリケーション101、エアコンアプリケーション102、ナビゲーションアプリケーション103および音声認識アプリケーション104を動作させる。
ラジオアプリケーション101は、チューナ64が受信したラジオ放送信号に基づいて音声を出力するための処理を実行する。エアコンアプリケーション102は、車両に搭載されたエアコンディショナの制御を実行する。
ナビゲーションアプリケーション103は、位置検出装置63が検出した位置情報に基づいて、車両の現在地を表示するための処理、および、現在地から目的地までの経路を案内するための処理などを実行する。
音声認識アプリケーション104は、マイク62が検出した音声を認識するための処理、および、認識結果に基づいて応答するための処理などを実行する。
リアルタイムOS84は、HMI処理部86とメータ処理部85とをCPU21上で並列に実行可能とするためにHMI処理部86およびメータ処理部85を管理する機能を有する。リアルタイムOS84は、HMI処理部86およびメータ処理部85による処理のリアルタイム性を確保することができるように、HMI処理部86およびメータ処理部85を管理する。
リアルタイムOS84は、HMI処理部86とメータ処理部85とをCPU21上で並列に実行可能とするためにHMI処理部86およびメータ処理部85を管理する機能を有する。リアルタイムOS84は、HMI処理部86およびメータ処理部85による処理のリアルタイム性を確保することができるように、HMI処理部86およびメータ処理部85を管理する。
メータ処理部85は、メータアプリケーション111、ヘッドアップディスプレイアプリケーション112およびバックカメラアプリケーション113を動作させる。
メータアプリケーション111は、メータディスプレイ52による表示を制御するための処理を実行する。ヘッドアップディスプレイアプリケーション112は、ヘッドアップディスプレイ53による表示を制御するための処理を実行する。バックカメラアプリケーション113は、カメラ61による撮影画像の表示を制御するための処理を実行する。
メータアプリケーション111は、メータディスプレイ52による表示を制御するための処理を実行する。ヘッドアップディスプレイアプリケーション112は、ヘッドアップディスプレイ53による表示を制御するための処理を実行する。バックカメラアプリケーション113は、カメラ61による撮影画像の表示を制御するための処理を実行する。
HMI処理部86は、HMI処理部86の外部から入力された映像データに基づいて、センタディスプレイ51、メータディスプレイ52、ヘッドアップディスプレイ53およびエアコンコントローラディスプレイ54による表示を制御する処理を実行する。またHMI処理部86は、HMI処理部86の外部から入力された音声データに基づいて、スピーカ55による音声出力を制御する処理を実行する。
ファイアウォール87は、OS83の外部からのOS83に対する不正なアクセスを制限する。またファイアウォール87は、リアルタイムOS84の外部からのリアルタイムOS84に対する不正なアクセスを制限する。
拡張モジュール3は、オペレーティングシステム91(以下、OS91)を備える。OS91は、各種アプリケーションを動作させるために拡張モジュール3に搭載された基本ソフトウェアである。本実施形態では、OS91は、アンドロイドである。OS91は、携帯機器通信アプリケーション121を動作させる。
携帯機器通信アプリケーション121は、無線通信装置71を用いた近距離無線通信により携帯機器との間でデータを送受信し、受信したデータをHCU2へ送信する処理を実行する。
サーバ4は、図4に示すように、広域無線通信部201と、制御部202とを備える。広域無線通信部201は、広域無線通信網NWを介して、HCU2および拡張モジュール3との間でデータ通信を行う。制御部202は、広域無線通信部201からの入力に基づいて各種処理を実行し、広域無線通信部201を制御する。
制御部202は、CPU211、ROM212、RAM213およびフラッシュROM214等を備えたマイクロコンピュータを中心に構成された電子制御装置である。フラッシュROM214は、記憶内容を書き換え可能な不揮発性メモリである。
マイクロコンピュータの各種機能は、CPU211が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM212が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU211が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、制御部202を構成するマイクロコンピュータの数は1つでも複数でもよい。
次に、HCU2のCPU21が実行する起動時処理の手順を説明する。起動時処理は、HCU2に電源電圧が印加されたときに開始される処理である。なお、拡張モジュール3がUSBコネクタ14を介してHCU2に接続されている場合には、HCU2に電源電圧が印加されるとUSBコネクタ14を介して電源電圧が拡張モジュール3にも印加される。これにより、拡張モジュール3のCPU41が起動し、CPU41はOS91を起動する。
起動時処理が実行されると、HCU2のCPU21は、図5に示すように、まずS10にて、CPU21を起動させる起動処理を実行する。そして、CPU21が起動すると、CPU21は、S20にて、BSPプログラムをロードする。BSPは、Board Support Packageの略である。BSPプログラムは、HCU2を構成するSoC上でOSを実行させるために必要なプログラムであり、例えば、ハードウェアの初期化処理を実行するためのプログラムを含む。
次にCPU21は、S30にて、ハイパーバイザ81を起動する。さらにCPU21は、S40にて、サービスバス82を起動する。その後CPU21は、S50にて、OS83とリアルタイムOS84を起動する。またCPU21は、S60にて、サービスバス82に外部OS(すなわち、OS91)を接続するための処理を実行する。
そしてCPU21は、S70にて、サービスバス82がHCU2の外部OS(すなわち、OS91)に接続されたか否かを判断する。ここで、外部OSに接続されていない場合には、CPU21は、起動時処理を終了する。一方、外部OSに接続された場合には、CPU21は、S80にて、外部OSに対してリソースを割り当て、起動時処理を終了する。具体的には、CPU21は、拡張モジュール3から受信したデータを一時的に記憶する記憶領域をRAM23内に設定する。
次に、拡張モジュール3のCPU41が実行する機能拡張処理の手順を説明する。機能拡張処理は、拡張モジュール3がHCU2に接続されてOS91が起動した後に開始される処理である。
機能拡張処理が実行されると、CPU41は、図6および図7に示すように、まずS110にて、拡張モジュール3がHCU2に初めて接続されたか否かを判断する。ここで、拡張モジュール3がHCU2に接続されたのが2回以上である場合には、CPU41は、機能拡張処理を終了する。
一方、拡張モジュール3がHCU2に初めて接続された場合には、CPU41は、S120にて、拡張モジュール3のスペック情報をサーバ4へ送信する。スペック情報は、拡張モジュール3が搭載するOSおよびメモリ等に関する情報(例えば、OSの種類およびメモリ容量)で構成されている。
またCPU41は、S130にて、ユーザ情報の送信を指示するユーザ情報送信指示をHCU2へ送信する。
そしてCPU41は、S140にて、HCU2からアプリケーション情報API(以下、アプリ情報API)を受信したか否かを判断する。
そしてCPU41は、S140にて、HCU2からアプリケーション情報API(以下、アプリ情報API)を受信したか否かを判断する。
アプリ情報APIは、図8に示すように、1または複数の機能拡張アプリケーションプログラム(以下、機能拡張アプリプログラム)のそれぞれについて、第1,2,3,4,5,6,7項目に関する情報で構成されている。
第1項目は、アプリケーション名(以下、アプリ名)である。第2項目は、利用頻度である。第3項目は、優先度である。第4項目は、カテゴリである。カテゴリには、「車両制御」、「ラジオ」および「テレビ」等が設定される。
第5項目は、アプリプログラムを記憶するためのメモリ容量である。第6項目は、起動順番である。第7項目は、ダウンロードとインストールで利用されるメモリ容量である。
アプリ情報APIは、1または複数の機能拡張アプリプログラムのそれぞれに対して、第1,2,3,4,5,6,7項目を横方向に沿って配列した項目群を備える。すなわち、アプリ情報APIは、n個の機能拡張アプリプログラムに対応したn個の項目群を備える。nは1以上の整数である。
アプリ情報APIは、1または複数の機能拡張アプリプログラムのそれぞれに対して、第1,2,3,4,5,6,7項目を横方向に沿って配列した項目群を備える。すなわち、アプリ情報APIは、n個の機能拡張アプリプログラムに対応したn個の項目群を備える。nは1以上の整数である。
そしてアプリ情報APIは、n個の項目群を縦方向に沿って配列して形成されている。以下、縦方向に沿って配列されているn個の項目群のうち、上からi番目に配置されている項目群を、i番目の項目群という。iは、1からnまでの整数である。例えば、図8では、アプリ名が「HVAC」である項目群が1番目の項目群であり、アプリ名が「Connected Radio」である項目群が2番目の項目群である。
S140にて、アプリ情報APIを受信していない場合には、図6に示すように、CPU41は、S140の処理を繰り返すことにより、アプリ情報APIを受信するまで待機する。そして、アプリ情報APIを受信すると、CPU41は、S150にて、並替条件情報を確認する。並替条件情報は、フラッシュROM44に記憶されており、「利用頻度」、「優先度」、「カテゴリ」、「メモリ容量」および「起動順番」の何れか一つが拡張モジュール3のメーカーにより予め設定されている。
そしてCPU41は、S160にて、並替条件情報に「利用頻度」が設定されているか否かを判断する。ここで、「利用頻度」が設定されている場合には、CPU41は、S170にて、アプリ情報APIの項目群を、利用頻度が多い順に並び替えて、S250に移行する。例えば、図8に示すアプリ情報APIでは、CPU41は、アプリ名が「Connected Radio」である項目群が1番目の項目群、アプリ名が「HVAC」である項目群が2番目の項目群、アプリ名が「DTV」である項目群が3番目の項目群、アプリ名が「OEM APP」である項目群が4番目の項目群となるように、アプリ情報APIを並び替える。
一方、「利用頻度」が設定されていない場合には、CPU41は、S180にて、並替条件情報に「優先度」が設定されているか否かを判断する。ここで、「優先度」が設定されている場合には、CPU41は、S190にて、アプリ情報APIの項目群を、優先度が高い順に並び替えて、S250に移行する。例えば、図8に示すアプリ情報APIでは、CPU41は、アプリ名が「OEM APP」である項目群が1番目の項目群、アプリ名が「HVAC」である項目群が2番目の項目群、アプリ名が「Connected Radio」である項目群が3番目の項目群、アプリ名が「DTV」である項目群が4番目の項目群となるように、アプリ情報APIを並び替える。
一方、「優先度」が設定されていない場合には、CPU41は、S200にて、並替条件情報に「カテゴリ」が設定されているか否かを判断する。ここで、「カテゴリ」が設定されている場合には、CPU41は、S210にて、アプリ情報APIの項目群を、カテゴリ毎に並び替えて、S250に移行する。例えば、図8に示すアプリ情報APIでは、CPU41は、アプリ名が「HVAC」である項目群が1番目の項目群、アプリ名が「OEM APP」である項目群が2番目の項目群、アプリ名が「Connected Radio」である項目群が3番目の項目群、アプリ名が「DTV」である項目群が4番目の項目群となるように、アプリ情報APIを並び替える。
一方、「カテゴリ」が設定されていない場合には、CPU41は、S220にて、並替条件情報に「メモリ容量」が設定されているか否かを判断する。ここで、「メモリ容量」が設定されている場合には、CPU41は、S230にて、アプリ情報APIの項目群を、メモリ容量が少ない順に並び替えて、S250に移行する。例えば、図8に示すアプリ情報APIでは、CPU41は、アプリ名が「OEM APP」である項目群が1番目の項目群、アプリ名が「HVAC」である項目群が2番目の項目群、アプリ名が「DTV」である項目群が3番目の項目群、アプリ名が「Connected Radio」である項目群が4番目の項目群となるように、アプリ情報APIを並び替える。
一方、「メモリ容量」が設定されていない場合には、CPU41は、並替条件情報に「起動順番」が設定されていると判断して、S240にて、アプリ情報APIの項目群を、起動順番順に並び替えて、S250に移行する。例えば、図8に示すアプリ情報APIでは、CPU41は、アプリ名が「OEM APP」である項目群が1番目の項目群、アプリ名が「HVAC」である項目群が2番目の項目群、アプリ名が「DTV」である項目群が3番目の項目群、アプリ名が「Connected Radio」である項目群が4番目の項目群となるように、アプリ情報APIを並び替える。
そして、S250に移行すると、CPU41は、拡張モジュール3において利用可能なメモリ容量を算出する。
さらにCPU41は、S260にて、RAM43に設けられた項目群指示値iを1に設定する。
さらにCPU41は、S260にて、RAM43に設けられた項目群指示値iを1に設定する。
そしてCPU41は、S270にて、並び替えられたアプリ情報APIのi番目の項目群に対応する機能拡張アプリプログラムがダウンロード可能であるか否かを判断する。具体的には、CPU41は、並び替えられたアプリ情報APIのi番目の項目群における第7項目の値(すなわち、ダウンロードとインストールで利用されるメモリ容量)が、S250または後述のS310で算出された「利用可能なメモリ容量」を超えているか否かを判断する。
ここで、ダウンロードとインストールで利用されるメモリ容量が「利用可能なメモリ容量」を超えている場合には、CPU41は、機能拡張処理を終了する。
一方、ダウンロードとインストールで利用されるメモリ容量が「利用可能なメモリ容量」以下である場合には、CPU41は、S280にて、アプリ情報APIのi番目の項目群に対応する機能拡張アプリプログラムをサーバ4からダウンロードする。そしてCPU41は、S290にて、S280でダウンロードした機能拡張アプリプログラムをOS91にインストールする。さらにCPU41は、S300にて、S280でダウンロードした機能拡張アプリプログラムを拡張モジュール3から削除する。そしてCPU41は、S310にて、拡張モジュール3において利用可能なメモリ容量を算出する。
一方、ダウンロードとインストールで利用されるメモリ容量が「利用可能なメモリ容量」以下である場合には、CPU41は、S280にて、アプリ情報APIのi番目の項目群に対応する機能拡張アプリプログラムをサーバ4からダウンロードする。そしてCPU41は、S290にて、S280でダウンロードした機能拡張アプリプログラムをOS91にインストールする。さらにCPU41は、S300にて、S280でダウンロードした機能拡張アプリプログラムを拡張モジュール3から削除する。そしてCPU41は、S310にて、拡張モジュール3において利用可能なメモリ容量を算出する。
次にCPU41は、S320にて、S280でダウンロードした機能拡張アプリプログラムと同じアプリ名が設定されている機能拡張アプリプログラムがHCU2に記憶されているか否かを判断する。
ここで、同じアプリ名が設定されている機能拡張アプリプログラムがHCU2に記憶されていない場合には、CPU41は、S340に移行する。一方、同じアプリ名が設定されている機能拡張アプリプログラムがHCU2に記憶されている場合には、CPU41は、S330にて、S280でダウンロードした機能拡張アプリプログラムと同じアプリ名が設定されている機能拡張アプリプログラムの削除を指示する削除指示をHCU2へ送信し、S340に移行する。HCU2がこの削除指示を受信すると、HCU2は、削除指示により特定される機能拡張アプリプログラムを削除する。
そして、S340に移行すると、CPU41は、項目群指示値iがプログラム数n以上であるか否かを判断する。ここで、項目群指示値iがプログラム数n未満である場合には、CPU41は、S350にて、項目群指示値iをインクリメント(すなわち、1加算)して、S270に移行する。
一方、項目群指示値iがプログラム数n以上である場合には、CPU41は、機能拡張処理を終了する。
次に、HCU2のCPU21が実行する指示対応処理の手順を説明する。指示対応処理は、OS83が起動した後に繰り返し実行される処理である。
次に、HCU2のCPU21が実行する指示対応処理の手順を説明する。指示対応処理は、OS83が起動した後に繰り返し実行される処理である。
指示対応処理が実行されると、CPU21は、図9に示すように、まずS510にて、拡張モジュール3からユーザ情報送信指示を受信したか否かを判断する。ここで、ユーザ情報送信指示を受信していない場合には、CPU21は、S530に移行する。一方、ユーザ情報送信指示を受信した場合には、CPU21は、S520にて、ユーザ情報をサーバ4へ送信し、S530に移行する。ユーザ情報は、HCU2を搭載する車両を利用するユーザを識別する情報(例えば、ユーザID)である。
そしてS530に移行すると、CPU21は、拡張モジュール3から削除指示を受信したか否かを判断する。ここで、削除指示を受信していない場合には、CPU21は、S550に移行する。一方、削除指示を受信した場合には、CPU21は、S540にて、削除指示により特定される機能拡張アプリプログラムを削除し、S550に移行する。
そしてS550に移行すると、CPU21は、サーバ4からアプリケーションリスト(以下、アプリリスト)を受信したか否かを判断する。アプリリストは、拡張モジュール3がダウンロード可能な1または複数の機能拡張アプリプログラムのアプリ名を示す情報と、アプリ名に対応する上記の第5項目に関する情報と、アプリ名に対応する上記の第7項目に関する情報とで構成されている。なお、上記の第5項目は、アプリプログラムを記憶するためのメモリ容量である。また、上記の第7項目は、ダウンロードとインストールで利用されるメモリ容量である。
ここで、アプリリストを受信していない場合には、CPU21は、指示対応処理を終了する。一方、アプリリストを受信した場合には、CPU21は、S560にて、アプリ情報APIを作成する。具体的には、CPU21は、アプリリストを構成する1または複数のアプリ名のそれぞれに対して、上記の第2,3,4,6項目に関する情報を追加することにより、アプリ情報APIを作成する。なお、CPU21は、利用頻度を、例えば、複数の機能拡張アプリプログラム毎に、機能拡張アプリプログラムを起動した回数を記録し、記録した起動回数で判断する。また優先度は、OEM等で決定され、複数のアプリ名のそれぞれに対して予め設定されており、CPU21は、アプリ情報APIの優先度を、予め設定されている優先度に基づいて判断する。OEMは、Original Equipment Manufacturerの略であり、完成車メーカーのことである。またカテゴリは、アプリケーション製作者またはOEMで決定され、複数のアプリ名のそれぞれに対して予め設定されている。また、起動順は複数のアプリ名のそれぞれに対して予め設定されており、CPU21は、起動順番を、この起動順に基づいて判断する。
そしてCPU21は、S570にて、S560で作成したアプリ情報APIを拡張モジュール3に送信して、指示対応処理を終了する。
次に、サーバ4のCPU211が実行するリスト送信処理の手順を説明する。リスト送信処理は、制御部202の動作中に繰り返し実行される処理である。
次に、サーバ4のCPU211が実行するリスト送信処理の手順を説明する。リスト送信処理は、制御部202の動作中に繰り返し実行される処理である。
リスト送信処理が実行されると、CPU211は、図10に示すように、まずS710にて、拡張モジュール3からスペック情報を受信したか否かを判断する。ここで、スペック情報を受信していない場合には、CPU211は、リスト送信処理を終了する。一方、スペック情報を受信した場合には、CPU211は、S720にて、HCU2からユーザ情報を受信したか否かを判断する。ここで、ユーザ情報を受信していない場合には、CPU211は、S720の処理を繰り返すことにより、ユーザ情報を受信するまで待機する。そして、ユーザ情報を受信すると、CPU211は、S730にて、アプリリストを作成する。具体的には、CPU211は、フラッシュROM214に記憶されている複数の機能拡張アプリプログラムのうち、S720で受信したユーザ情報に紐づいており、且つ、S710で受信したスペック情報で特定されるスペック(すなわち、OSおよびメモリ容量)で利用可能な機能拡張アプリプログラムを選択する。そしてCPU211は、選択した1または複数の機能拡張アプリプログラムのそれぞれについて、上記の第1,5,7項目の情報を追加することにより、アプリリストを作成する。なお、上記の第1項目は、アプリ名である。また、上記の第5項目は、アプリプログラムを記憶するためのメモリ容量である。また、上記の第7項目は、ダウンロードとインストールで利用されるメモリ容量である。
さらにCPU211は、S740にて、S730で作成したアプリリストをHCU2へ送信し、リスト送信処理を終了する。
次に、HCU2によるセンタディスプレイ51、メータディスプレイ52、ヘッドアップディスプレイ53、エアコンコントローラディスプレイ54およびスピーカ55の制御について説明する。
次に、HCU2によるセンタディスプレイ51、メータディスプレイ52、ヘッドアップディスプレイ53、エアコンコントローラディスプレイ54およびスピーカ55の制御について説明する。
図11に示すように、カメラ61が撮影することにより取得されたデータは、メータ処理部85に入力される。メータ処理部85に搭載されているバックカメラアプリケーション113は、入力されたデータを用いて、センタディスプレイ51に表示させるための表示用データを作成する。そしてバックカメラアプリケーション113は、作成した表示用データを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、メータ処理部85から入力された表示用データをセンタディスプレイ51へ出力する。一点鎖線で示す折れ線L1は、カメラ61からセンタディスプレイ51へ至るデータの経路を示す。
マイク62により検出された音声を示すデータは、OS83に入力される。OS83に搭載されている音声認識アプリケーション104は、入力された音声データに基づいて、音声認識処理を行い、必要な処理を行ってスピーカ55から出力させる出力音声を決定し、決定した出力音声を示すデータを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、OS83から入力されたデータをスピーカ55へ出力する。破線で示す折れ線L2は、マイク62からOS83へ至るデータの経路を示す。
位置検出装置63により検出された位置を示すデータは、OS83に入力される。OS83に搭載されているナビゲーションアプリケーション103は、入力された位置データに基づいて、センタディスプレイ51に表示させるための表示用データを作成する。そしてナビゲーションアプリケーション103は、作成した表示用データを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、OS83から入力された表示用データをセンタディスプレイ51へ出力する。破線で示す折れ線L3は、位置検出装置63からセンタディスプレイ51へ至るデータの経路を示す。
チューナ64で受信されたラジオ放送信号を示すデータは、OS83に入力される。OS83に搭載されているラジオアプリケーション101は、入力されたデータに基づいて、スピーカ55から出力させる出力音声を示すデータを作成し、作成したデータを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、OS83から入力されたデータをスピーカ55へ出力する。破線で示す折れ線L4は、チューナ64からスピーカ55へ至るデータの経路を示す。
OS83に搭載されているエアコンアプリケーション102は、センタディスプレイ51に表示させるための表示用データを作成する。そしてエアコンアプリケーション102は、作成した表示用データを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、OS83から入力された表示用データをエアコンコントローラディスプレイ54へ出力する。破線で示す折れ線L5は、OS83からエアコンコントローラディスプレイ54へ至るデータの経路を示す。
メータ処理部85に搭載されているヘッドアップディスプレイアプリケーション112は、ヘッドアップディスプレイ53に表示させるための表示用データを作成する。そしてヘッドアップディスプレイアプリケーション112は、作成した表示用データを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、メータ処理部85から入力された表示用データをヘッドアップディスプレイ53へ出力する。一点鎖線で示す折れ線L6は、メータ処理部85からヘッドアップディスプレイ53へ至るデータの経路を示す。
メータ処理部85に搭載されているメータアプリケーション111は、メータディスプレイ52に表示させるための表示用データを作成する。そしてメータアプリケーション111は、作成した表示用データを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、メータ処理部85から入力された表示用データをメータディスプレイ52へ出力する。一点鎖線で示す折れ線L7は、メータ処理部85からメータディスプレイ52へ至るデータの経路を示す。
無線通信装置71で受信したデータは、OS91に入力される。OS91に搭載されている携帯機器通信アプリケーション121は、センタディスプレイ51に表示させるための表示用データを作成する。そして携帯機器通信アプリケーション121は、作成した表示用データを、サービスバス82を介してHMI処理部86へ出力する。HMI処理部86は、OS91から入力された表示用データをセンタディスプレイ51へ出力する。実線で示す折れ線L8は、無線通信装置71からセンタディスプレイ51へ至るデータの経路を示す。
このように構成された機能拡張システム1は、車両に搭載されるHCU2と、車両に搭載される拡張モジュール3と、サーバ4とを備える。サーバ4は、車両の外部に設置され、HCU2および拡張モジュール3との間でデータ通信を行う。
HCU2は、制御部12と、USB通信部26と、広域無線通信部27と、筐体11とを備える。
制御部12は、ラジオアプリケーション101、エアコンアプリケーション102、ナビゲーションアプリケーション103および音声認識アプリケーション104を動作させるOS83を実行する。ラジオアプリケーション101は、車両に搭載されたスピーカ55を制御する。エアコンアプリケーション102は、車両に搭載されたエアコンコントローラディスプレイ54を制御する。ナビゲーションアプリケーション103は、車両に搭載されたセンタディスプレイ51を制御する。音声認識アプリケーション104は、車両に搭載されたスピーカ55を制御する。
制御部12は、ラジオアプリケーション101、エアコンアプリケーション102、ナビゲーションアプリケーション103および音声認識アプリケーション104を動作させるOS83を実行する。ラジオアプリケーション101は、車両に搭載されたスピーカ55を制御する。エアコンアプリケーション102は、車両に搭載されたエアコンコントローラディスプレイ54を制御する。ナビゲーションアプリケーション103は、車両に搭載されたセンタディスプレイ51を制御する。音声認識アプリケーション104は、車両に搭載されたスピーカ55を制御する。
USB通信部26は、拡張モジュール3との間でデータ通信を行う。広域無線通信部27は、サーバ4との間でデータ通信を行う。筐体11は、制御部12、USB通信部26および広域無線通信部27を内部に収容する。
制御部12は、USB通信部26によるデータ通信によって拡張モジュール3に接続されると、車両のユーザを識別するためのユーザ情報をサーバ4へ送信する。
拡張モジュール3は、制御部32と、USB通信部46と、広域無線通信部47とを備える。制御部32は、車両に搭載されたセンタディスプレイ51を制御する携帯機器通信アプリケーション121を動作させるOS91を実行する。
拡張モジュール3は、制御部32と、USB通信部46と、広域無線通信部47とを備える。制御部32は、車両に搭載されたセンタディスプレイ51を制御する携帯機器通信アプリケーション121を動作させるOS91を実行する。
USB通信部46は、HCU2との間でデータ通信を行う。広域無線通信部47は、サーバ4との間でデータ通信を行う。
制御部32は、拡張モジュール3のスペックを示すスペック情報をサーバ4へ送信する。制御部32は、HCU2からアプリ情報APIを受信すると、アプリ名により特定される機能拡張アプリプログラムをサーバ4からダウンロードする。アプリ情報APIは、拡張モジュール3で利用可能なアプリケーションを特定する第1項目に関する情報(すなわち、アプリ名)を含む。
制御部32は、拡張モジュール3のスペックを示すスペック情報をサーバ4へ送信する。制御部32は、HCU2からアプリ情報APIを受信すると、アプリ名により特定される機能拡張アプリプログラムをサーバ4からダウンロードする。アプリ情報APIは、拡張モジュール3で利用可能なアプリケーションを特定する第1項目に関する情報(すなわち、アプリ名)を含む。
サーバ4は、制御部202を備える。制御部202は、ユーザ情報とスペック情報とを受信すると、ユーザ情報とスペック情報とに基づいて、アプリリストを作成し、作成したアプリリストをHCU2へ送信する。
また、HCU2の制御部12は、サーバ4からアプリリストを受信すると、少なくとも1つの第1項目に関する情報のそれぞれに対して、機能拡張アプリプログラムのダウンロード順を決定するための第2,3,4,6項目に関する情報を付加し、第2,3,4,6項目に関する情報が付加されたアプリリストをアプリ情報APIとして拡張モジュール3へ送信する。
また、拡張モジュール3の制御部32は、HCU2から送信されたアプリ情報APIに付加されている第2,3,4,5,6項目に関する情報に基づいて、機能拡張アプリプログラムのダウンロード順を決定して、機能拡張アプリプログラムをダウンロードする。
このように機能拡張システム1は、USB通信部26とUSB通信部46とによってHCU2と拡張モジュール3との間でデータ通信を行わせて、車両に搭載された機器を制御することができる。そして、HCU2で動作するアプリケーション(以下、第1アプリケーション)と、拡張モジュール3で動作するアプリケーション(以下、第2アプリケーション)とは異なっているため、第1アプリケーションと第2アプリケーションとの間で相互に交換しながら利用するデータは少ない。このため、機能拡張システム1は、HCU2と拡張モジュール3との間で送受信されるデータ量の増加を抑制することができる。これにより、機能拡張システム1は、制御部12,32の内部のバスライン28,48による通信よりも通信性能が低い通信を用いてHCU2と拡張モジュール3とを接続することにより、車両に搭載された機器を制御することができる。
そして、機能拡張システム1では、拡張モジュール3を交換して、新たな拡張モジュール3をHCU2に接続することにより、拡張モジュール3のハードウェアを交換することができる。このため、機能拡張システム1は、交換する前よりも高性能な拡張モジュール3をHCU2に接続することにより、HCU2と拡張モジュール3とにより構成される車両制御システム全体としての性能向上を図ることができる。
さらに機能拡張システム1では、USB通信部26とUSB通信部46との通信により拡張モジュール3をHCU2に接続することができる。これにより、機能拡張システム1は、HCU2の筐体11の一部分を開けて新たな拡張モジュール3をHCU2の筐体11の内部へ収容することによりHCU2と拡張モジュール3とを接続するという交換作業を行う必要が無い。このため、機能拡張システム1は、USB通信部26とUSB通信部46との通信により拡張モジュール3をHCU2に接続するという簡便な方法でHCU2と拡張モジュール3とを接続することができる。
また機能拡張システム1では、拡張モジュール3は、アプリ情報APIを受信すると、第1項目に関する情報により特定される機能拡張アプリプログラムをサーバ4からダウンロードする。これにより、機能拡張システム1は、機能が更新された機能拡張アプリプログラムをサーバ4から取得して、拡張モジュール3で利用することができ、車両制御システムの性能を向上させることができる。
以上より、機能拡張システム1は、車両出荷後におけるHCU2および拡張モジュール3の機能拡張を容易にすることができる。
またアプリリストにおいて、少なくとも1つの第1項目に関する情報のそれぞれに対して、アプリケーションプログラムのダウンロード順を決定するための第2〜6項目に関する情報が付加されている。そして機能拡張システム1は、アプリ情報APIに付加されている第2〜6項目に関する情報に基づいてダウンロード順を決定して、機能拡張アプリプログラムをダウンロードすることができる。これにより、機能拡張システム1は、ダウンロードする複数の機能拡張アプリプログラムにおいて互いに重要度が異なる場合に、拡張モジュール3の記憶容量の不足に起因して、重要度の低い機能拡張アプリプログラムがダウンロードされ、重要度の高い機能拡張アプリプログラムがダウンロードされないという事態の発生を抑制することができる。
またアプリリストにおいて、少なくとも1つの第1項目に関する情報のそれぞれに対して、アプリケーションプログラムのダウンロード順を決定するための第2〜6項目に関する情報が付加されている。そして機能拡張システム1は、アプリ情報APIに付加されている第2〜6項目に関する情報に基づいてダウンロード順を決定して、機能拡張アプリプログラムをダウンロードすることができる。これにより、機能拡張システム1は、ダウンロードする複数の機能拡張アプリプログラムにおいて互いに重要度が異なる場合に、拡張モジュール3の記憶容量の不足に起因して、重要度の低い機能拡張アプリプログラムがダウンロードされ、重要度の高い機能拡張アプリプログラムがダウンロードされないという事態の発生を抑制することができる。
アプリ情報APIは、アプリ名に対応するアプリケーションの利用頻度に関する情報を含む。これにより、機能拡張システム1は、拡張モジュール3の記憶容量の不足に起因して、利用頻度の少ない機能拡張アプリプログラムがダウンロードされ、利用頻度の多い機能拡張アプリプログラムがダウンロードされないという事態の発生を抑制することができる。
アプリ情報APIは、アプリ名に対応するアプリケーションの優先度に関する情報を含む。これにより、機能拡張システム1は、拡張モジュール3の記憶容量の不足に起因して、優先度の低い機能拡張アプリプログラムがダウンロードされ、優先度の高い機能拡張アプリプログラムがダウンロードされないという事態の発生を抑制することができる。
アプリ情報APIは、アプリ名に対応するアプリケーションのカテゴリに関する情報を含む。これにより、機能拡張システム1は、重要度の低いカテゴリの機能拡張アプリプログラムがダウンロードされ、重要度の高いカテゴリの機能拡張アプリプログラムがダウンロードされないという事態の発生を抑制することができる。
アプリ情報APIは、アプリ名に対応するアプリケーションのメモリ容量に関する情報を含む。このため、機能拡張システム1は、メモリ容量が少ない順に機能拡張アプリプログラムをダウンロードすることができる。これにより、機能拡張システム1は、拡張モジュール3の記憶容量の不足に起因して、ダウンロードされる機能拡張アプリプログラムの数が少なくなってしまう事態の発生を抑制することができる。
アプリ情報APIは、アプリ名に対応するアプリケーションの起動順番に関する情報を含む。このため、機能拡張システム1は、起動順番が早い順に機能拡張アプリプログラムをダウンロードすることができる。これにより、機能拡張システム1は、起動順番が早い機能拡張アプリプログラムを、優先してダウンロードして早期に起動させることができる。
また、HCU2の制御部12は、拡張モジュール3がダウンロードした機能拡張アプリプログラムに対応する対応アプリケーションプログラムを記憶している場合に、対応アプリケーションプログラムを削除する。これにより、機能拡張システム1は、HCU2の記憶容量を増やすことができ、HCU2自体の負荷を軽くして、HCU2におけるアプリケーションの動作を行い易くすることができる。
また、更新されたアプリケーションのみならず、拡張モジュール3に新規追加されるアプリケーションについても、アプリ情報APIに設定することにより、ダウンロードすることが可能である。
以上説明した実施形態において、HCU2は第1電子制御装置および車載電子制御装置に相当し、拡張モジュール3は少なくとも1つの第2電子制御装置および電子制御装置に相当する。
また、制御部12は第1制御部に相当し、USB通信部26は第1装置通信部に相当し、広域無線通信部27は第1サーバ通信部に相当し、S520はユーザ情報送信部としての処理に相当する。
また、ラジオアプリケーション101、エアコンアプリケーション102、ナビゲーションアプリケーション103および音声認識アプリケーション104は第1アプリケーションに相当し、OS83は第1オペレーティングシステムに相当する。
また、制御部32は第2制御部および制御部に相当し、USB通信部46は第2装置通信部および装置通信部に相当し、広域無線通信部47は第2サーバ通信部およびサーバ通信部に相当し、S120はスペック情報送信部としての処理に相当し、S260〜S350はダウンロード部としての処理に相当する。
また、携帯機器通信アプリケーション121は第2アプリケーションおよびアプリケーションに相当し、OS91は第2オペレーティングシステムおよびオペレーティングシステムに相当する。
また、S710〜S740は作成部としての処理に相当し、アプリ名はアプリケーション特定情報に相当し、第2,3,4,5,6項目に関する情報は決定用情報に相当する。
また、S540は削除部としての処理に相当する。
また、S540は削除部としての処理に相当する。
(第2実施形態)
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
以下に本開示の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第2実施形態の機能拡張システム1は、機能拡張処理および指示対応処理が変更された点が第1実施形態と異なる。
第2実施形態の機能拡張処理は、図12に示すように、S330の処理の代わりにS335の処理を実行する点が第1実施形態と異なる。
第2実施形態の機能拡張処理は、図12に示すように、S330の処理の代わりにS335の処理を実行する点が第1実施形態と異なる。
すなわち、S320にて、同じアプリ名が設定されている機能拡張アプリプログラムがHCU2に記憶されている場合には、CPU41は、S335にて、S280でダウンロードした機能拡張アプリプログラムと同じアプリ名が設定されている機能拡張アプリプログラムの圧縮を指示する圧縮指示をHCU2へ送信し、S340に移行する。
第2実施形態の指示対応処理は、図13に示すように、S530およびS540の処理の代わりにS535およびS545の処理を実行する点が第1実施形態と異なる。
すなわち、S510にて、ユーザ情報送信指示を受信していない場合には、CPU21は、S535に移行する。また、S520の処理が終了すると、CPU21は、S535に移行する。
すなわち、S510にて、ユーザ情報送信指示を受信していない場合には、CPU21は、S535に移行する。また、S520の処理が終了すると、CPU21は、S535に移行する。
そしてS535に移行すると、CPU21は、拡張モジュール3から圧縮指示を受信したか否かを判断する。ここで、圧縮指示を受信していない場合には、CPU21は、S550に移行する。一方、圧縮指示を受信した場合には、CPU21は、S545にて、圧縮指示により特定される機能拡張アプリプログラムを圧縮し、S550に移行する。
このように構成された機能拡張システム1では、HCU2の制御部12は、拡張モジュール3がダウンロードした機能拡張アプリプログラムに対応する対応アプリケーションプログラムを記憶している場合に、対応アプリケーションプログラムを圧縮する。これにより、機能拡張システム1は、HCU2の記憶容量を増やすことができ、HCU2自体の負荷を軽くして、HCU2におけるアプリケーションの動作を行い易くすることができる。
以上説明した実施形態において、S545は圧縮部としての処理に相当する。
(第3実施形態)
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
(第3実施形態)
以下に本開示の第3実施形態を図面とともに説明する。なお第3実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第3実施形態の機能拡張システム1は、図14に示すように、OS91にスマートフォン連携アプリケーション131およびナビゲーションアプリケーション132が搭載されている点が第1実施形態と異なる。また第3実施形態の機能拡張システム1は、OS83に物体検出アプリケーション136および画像認識アプリケーション137が搭載されている点が第1実施形態と異なる。
HCU2ではHCUの処理性能が不足しており、アプリケーション131,132,136,137を多重起動ができない。このため、拡張モジュール3をHCU2に接続し、拡張モジュール3のHCUを利用して、アプリケーション136,137をHCU2で起動させ、アプリケーション131,132を拡張モジュール3で起動させることにより、多重起動が可能となる。拡張モジュール3のSoCの処理性能がHCU2のSoCの処理性能より高くなければならないわけではなく、同等レベルの処理性能でもいい。SoCの数を増やすことで1つのSoCに集中していた負荷を分散し、アプリケーション131,132,136,137の多重起動を可能にする。
(第4実施形態)
以下に本開示の第4実施形態を図面とともに説明する。なお第4実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
以下に本開示の第4実施形態を図面とともに説明する。なお第4実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第4実施形態の機能拡張システム1は、図15に示すように、拡張モジュール3の代わりに拡張モジュール3a,3b,3cを備える点が第1実施形態と異なる。
拡張モジュール3a,3b,3cは、USBコネクタ35を備える点が第1実施形態の拡張モジュール3と異なる。USBコネクタ35は、USBコネクタ34bに対して着脱可能に形成されており、USB通信部46に接続されている。
拡張モジュール3a,3b,3cは、USBコネクタ35を備える点が第1実施形態の拡張モジュール3と異なる。USBコネクタ35は、USBコネクタ34bに対して着脱可能に形成されており、USB通信部46に接続されている。
拡張モジュール3aのUSBコネクタ34bは、HCU2のUSBコネクタ14に接続される。拡張モジュール3bのUSBコネクタ34bは、拡張モジュール3aのUSBコネクタ35に接続される。拡張モジュール3cのUSBコネクタ34bは、拡張モジュール3bのUSBコネクタ35に接続される。
HCU2は、拡張モジュール3a,3b,3cのそれぞれから、拡張モジュール3a,3b,3cのそれぞれに対応するアプリ情報APIを受信する。HCU2は、受信した3つのアプリ情報APIをマージし、新たな1つのアプリ情報(以下、マージアプリ情報)を作成し、このマージアプリ情報を拡張モジュール3a,3b,3cへ送信する。
このように構成された機能拡張システム1では、HCU2は、データ通信を行うために拡張モジュール3a,3b,3cのうちの一つと電気的に接続されるUSBコネクタ14を備える。拡張モジュール3a,3b,3cはそれぞれ、データ通信を行うために拡張モジュール3a,3b,3cまたはHCU2と電気的に接続されるUSBコネクタ34bおよびUSBコネクタ35を備える。
これにより、機能拡張システム1は、HCU2に複数の拡張モジュール3a,3b,3cを接続することができる。このため、機能拡張システム1は、拡張モジュール3a,3b,3cのハードウェアが1つの拡張モジュール3のハードウェアよりも性能が低い場合であっても、HCU2と拡張モジュール3a,3b,3cとにより構成される車両制御システム全体としての性能向上を図ることができる。
以上説明した実施形態において、USBコネクタ14は第1通信用コネクタに相当し、USBコネクタ34b,35は第2通信用コネクタに相当する。
(第5実施形態)
以下に本開示の第5実施形態を図面とともに説明する。なお第5実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
(第5実施形態)
以下に本開示の第5実施形態を図面とともに説明する。なお第5実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第5実施形態の機能拡張システム1は、図16に示すように、拡張モジュール3の代わりに拡張モジュール3d,3e,3fを備える点と、HCU2が1つのUSBコネクタ14の代わりに3つのUSBコネクタ14d,14e,14fを備える点とが第1実施形態と異なる。
拡張モジュール3d,3e,3fは、拡張モジュール3と同一の構成を備える。但し、拡張モジュール3d,3e,3fのうち、拡張モジュール3fが最新の拡張モジュールである。
拡張モジュール3dのUSBコネクタ34bは、HCU2のUSBコネクタ14dに接続される。拡張モジュール3eのUSBコネクタ34bは、HCU2のUSBコネクタ14eに接続される。拡張モジュール3fのUSBコネクタ34bは、HCU2のUSBコネクタ14fに接続される。
HCU2は、拡張モジュール3d,3e,3fのそれぞれから、拡張モジュール3d,3e,3fのそれぞれに対応するアプリ情報APIを受信する。HCU2は、受信した3つのアプリ情報APIをマージし、新たな1つのマージアプリ情報を作成し、このマージアプリ情報を拡張モジュール3d,3e,3fへ送信する。
このように構成された機能拡張システム1では、HCU2は、データ通信を行うために拡張モジュール3d,3e,3fのそれぞれと電気的に接続される複数のUSBコネクタ14d,14e,14fを備える。
これにより、機能拡張システム1は、HCU2に複数の拡張モジュール3d,3e,3fを接続することができる。このため、機能拡張システム1は、拡張モジュール3d,3e,3fのハードウェアが1つの拡張モジュール3のハードウェアよりも性能が低い場合であっても、HCU2と拡張モジュール3d,3e,3fとにより構成される車両制御システム全体としての性能向上を図ることができる。
以上説明した実施形態において、USBコネクタ14d,14e,14fは第1通信用コネクタに相当する。
(第6実施形態)
以下に本開示の第6実施形態を図面とともに説明する。なお第6実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
(第6実施形態)
以下に本開示の第6実施形態を図面とともに説明する。なお第6実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第6実施形態の機能拡張システム1は、図17に示すように、位置検出装置63およびマイク62が拡張モジュール3にも接続される点と、無線通信装置68がHCU2に接続される点とが第1実施形態と異なる。無線通信装置68は、無線通信装置71と同様に、BT通信部と、Wi−Fi通信部とを備える。
第5実施形態の機能拡張システム1では、無線通信装置68は、無線通信装置71よりもバージョンが古い無線通信装置である。すなわち、無線通信装置68を利用すると、アプリケーション等の動作が遅くなってしまうため、機能拡張システム1は、無線通信装置71を利用して高速通信を行う。無線通信装置68は、無線通信装置71を利用することができなくなったときのバックアップとしてHCU2に接続される。
例えば、HCU2に古いバージョン(例えば4G)の無線通信装置68が接続され、拡張モジュール3に新しいバージョン(例えば4G)の無線通信装置71を接続されているとする。
HCU2は、拡張モジュール3側の無線通信装置71が動作していることを認識した場合に、HCU2側のWi−Fi設定をオフし、拡張モジュール3で利用していたWi−Fiが利用できなくなった場合には、自動でHCU2側のWi−Fi設定をオンにする。
(第7実施形態)
以下に本開示の第7実施形態を図面とともに説明する。なお第7実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
以下に本開示の第7実施形態を図面とともに説明する。なお第7実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第7実施形態の機能拡張システム1は、図18に示すように、CarPlay141がOS91に搭載されている点が第1実施形態と異なる。CarPlayは登録商標である。
CarPlay141は、スマートフォンSPとの間でデータ通信を行い、スマートフォンSPに表示されているスマートフォン画面を示す画面データを取得し、この画面データをHCU2へ送信する。HMI処理部86は、受信した画面データをセンタディスプレイ51へ出力する。図18の実線で示す折れ線L11は、CarPlay141からセンタディスプレイ51へ至るデータの経路を示す。
HMI処理部86は、センタディスプレイ51におけるユーザによる画面タッチデータ等をCarPlay141へ送信する。
なお、Android Autoを含むスマートフォン連携の場合もCarPlayと同様の仕組みで動作する。ANDROIDは登録商標である。
(第8実施形態)
以下に本開示の第8実施形態を図面とともに説明する。なお第8実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
なお、Android Autoを含むスマートフォン連携の場合もCarPlayと同様の仕組みで動作する。ANDROIDは登録商標である。
(第8実施形態)
以下に本開示の第8実施形態を図面とともに説明する。なお第8実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第8実施形態の機能拡張システム1は、図19に示すように、カメラアルゴリズム151がOS91に搭載されている点が第1実施形態と異なる。カメラアルゴリズム151は、取得したカメラ映像データを用いて画像解析等を行うアプリケーションである。
HCU2のスペックが不足しているため、HCU2はカメラアルゴリズム151を動作させることができない。拡張モジュール3は、HCU2よりもSoCが新しく高スペックであるため、カメラアルゴリズム151を動作させることができる。
カメラ61で撮影することにより得られたカメラ映像データは、カメラアルゴリズム151が受信する。図19の実線で示す折れ線L21は、カメラアルゴリズム151へ至るデータの経路を示す。
カメラアルゴリズム151は、カメラ61から取得したカメラ映像データを用いて画像解析を行い、解析結果を示す解析データをHCU2へ送信する。HMI処理部86は、受信した解析データをセンタディスプレイ51へ出力する。図19の破線で示す折れ線L22は、カメラアルゴリズム151からセンタディスプレイ51へ至るデータの経路を示す。
上記カメラシステムと同様に、LIDAR66およびレーダ67等のHCU2に接続されている機器の解析等を行うアルゴリズムが、カメラアルゴリズム151と同様にOS91に搭載される。そのアルゴリズムは、LIDAR66およびレーダ67等で取得したデータを用いて解析を行い、解析データをHCU2へ送信する。
上記カメラシステムと同様に、LIDAR66およびレーダ67等のHCU2に接続されている機器の解析等を行うアルゴリズムが、カメラアルゴリズム151と同様にOS91に搭載される。そのアルゴリズムは、LIDAR66およびレーダ67等で取得したデータを用いて解析を行い、解析データをHCU2へ送信する。
(第9実施形態)
以下に本開示の第9実施形態を図面とともに説明する。なお第9実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
以下に本開示の第9実施形態を図面とともに説明する。なお第9実施形態では、第1実施形態と異なる部分を説明する。共通する構成については同一の符号を付す。
第9実施形態の機能拡張システム1は、図20に示すように、カメラアルゴリズム151がOS91に搭載されている点と、カメラ61が省略された点と、カメラ61よりも高性能なカメラ75が拡張モジュール3に接続される点とが第1実施形態と異なる。
HCU2のスペックが不足しているため、HCU2はカメラアルゴリズム151を動作させることができない。拡張モジュール3は、HCU2よりもSoCが新しく高スペックであるため、カメラアルゴリズム151を動作させることができる。
カメラ75で撮影することにより得られたカメラ映像データはカメラアルゴリズム151に入力される。そして、カメラアルゴリズム151は、カメラ75から取得したカメラ映像データを用いて画像解析を行い、解析結果を示す解析データをHCU2へ送信する。HMI処理部86は、受信した解析データをセンタディスプレイ51へ出力する。図20の実線で示す折れ線L31は、カメラ75からセンタディスプレイ51へ至るデータの経路を示す。
上記カメラシステムと同様に、LIDARおよびレーダ等の解析等を行うアルゴリズムがOS91に搭載され、LIDARおよびレーダ等が拡張モジュール3に接続される。そのアルゴリズムは、LIDARおよびレーダ等で取得したデータを用いて解析を行い、解析データをHCU2へ送信する。
上記カメラシステムと同様に、LIDARおよびレーダ等の解析等を行うアルゴリズムがOS91に搭載され、LIDARおよびレーダ等が拡張モジュール3に接続される。そのアルゴリズムは、LIDARおよびレーダ等で取得したデータを用いて解析を行い、解析データをHCU2へ送信する。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
[変形例1]
例えば上記第1実施形態では、HCU2と拡張モジュール3との間でUSB通信を行う形態を示したが、USB通信に限定されるものではなく、例えばPCI−Exにより通信を行うようにしてもよい。また、HCU2と拡張モジュール3との間で無線通信を行うことにより、HCU2と拡張モジュール3とを接続するようにしてもよい。
[変形例1]
例えば上記第1実施形態では、HCU2と拡張モジュール3との間でUSB通信を行う形態を示したが、USB通信に限定されるものではなく、例えばPCI−Exにより通信を行うようにしてもよい。また、HCU2と拡張モジュール3との間で無線通信を行うことにより、HCU2と拡張モジュール3とを接続するようにしてもよい。
[変形例2]
上記第1実施形態では、HCU2がユーザ情報を送信する形態を示したが、DSMによる個人認証結果を用いてユーザを特定し、特定したユーザを示すユーザ情報をサーバ4へ送信するようにしてもよい。
上記第1実施形態では、HCU2がユーザ情報を送信する形態を示したが、DSMによる個人認証結果を用いてユーザを特定し、特定したユーザを示すユーザ情報をサーバ4へ送信するようにしてもよい。
[変形例3]
上記第4,5実施形態では、HCU2が、複数の拡張モジュール3のアプリ情報APIをマージする形態を示したが、複数の拡張モジュール3のうちの1つがアプリ情報APIをマージするようにしてもよい。
上記第4,5実施形態では、HCU2が、複数の拡張モジュール3のアプリ情報APIをマージする形態を示したが、複数の拡張モジュール3のうちの1つがアプリ情報APIをマージするようにしてもよい。
[変形例4]
上記第1実施形態では、並替条件情報が拡張モジュール3に記憶されている形態を示したが、並替条件情報がHCU2に記憶されているようにしてもよい。並替条件情報がHCU2に記憶されている場合には、HCU2は並替条件情報を拡張モジュール3へ送信する。また、HCU2および拡張モジュール3の両方で並替条件情報を記憶しているようにしてもよい。この場合には、HCU2の並替条件情報を利用するか、拡張モジュール3の並替条件情報を利用するかを事前に、HCU2または拡張モジュール3のメーカーによって指定しておく必要がある。
上記第1実施形態では、並替条件情報が拡張モジュール3に記憶されている形態を示したが、並替条件情報がHCU2に記憶されているようにしてもよい。並替条件情報がHCU2に記憶されている場合には、HCU2は並替条件情報を拡張モジュール3へ送信する。また、HCU2および拡張モジュール3の両方で並替条件情報を記憶しているようにしてもよい。この場合には、HCU2の並替条件情報を利用するか、拡張モジュール3の並替条件情報を利用するかを事前に、HCU2または拡張モジュール3のメーカーによって指定しておく必要がある。
[変形例5]
HCU2に搭載されていないアプリケーションでも、HCU2に搭載されているアプリケーションと同様の仕組みを利用して、拡張モジュール3にダウンロードして動作させることができる。その場合には、例えば、利用頻度は0、優先度は0等に設定される。
HCU2に搭載されていないアプリケーションでも、HCU2に搭載されているアプリケーションと同様の仕組みを利用して、拡張モジュール3にダウンロードして動作させることができる。その場合には、例えば、利用頻度は0、優先度は0等に設定される。
本開示に記載の制御部12,32,202およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部12,32,202およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部12,32,202およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。制御部12,32,202に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
上述した機能拡張システム1の他、機能拡張システム1としてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、機能拡張方法など、種々の形態で本開示を実現することもできる。
1…機能拡張システム、2…HCU、3,3a,3b,3c,3d,3e,3f…拡張モジュール、4…サーバ、11…筐体、12,32,202…制御部、26,46…USB通信部、27,47…広域無線通信部、83,91…OS、101…ラジオアプリケーション、102…エアコンアプリケーション、103…ナビゲーションアプリケーション、104…音声認識アプリケーション、121…携帯機器通信アプリケーション
Claims (12)
- 車両に搭載される第1電子制御装置(2)と、
前記車両に搭載される少なくとも1つの第2電子制御装置(3,3a,3b,3c,3d,3e,3f)と、
前記車両の外部に設置され、前記第1電子制御装置および前記少なくとも1つの第2電子制御装置との間でデータ通信を行うサーバ(4)とを備え、
前記第1電子制御装置は、
前記車両に搭載された機器を制御する少なくとも1つの第1アプリケーション(101,102,103,104)を動作させる第1オペレーティングシステム(83)を実行するように構成された第1制御部(12)と、
前記少なくとも1つの第2電子制御装置との間でデータ通信を行うように構成された第1装置通信部(26)と、
前記サーバとの間でデータ通信を行うように構成された第1サーバ通信部(27)と、
前記第1制御部、前記第1装置通信部および前記第1サーバ通信部を内部に収容する筐体(11)と、
前記第1装置通信部によるデータ通信によって前記第2電子制御装置に接続されると、前記車両のユーザを識別するためのユーザ情報を前記サーバへ送信するように構成されたユーザ情報送信部(S520)とを備え、
前記少なくとも1つの第2電子制御装置は、
前記車両に搭載された機器を制御する少なくとも1つの第2アプリケーション(121)を動作させる第2オペレーティングシステム(91)を実行するように構成された第2制御部(32)と、
前記第1電子制御装置との間でデータ通信を行うように構成された第2装置通信部(46)と、
前記サーバとの間でデータ通信を行うように構成された第2サーバ通信部(47)と、
前記第2電子制御装置のスペックを示すスペック情報を前記サーバへ送信するように構成されたスペック情報送信部(S120)と、
少なくとも、前記少なくとも1つの第2電子制御装置で利用可能なアプリケーションを特定する少なくとも1つのアプリケーション特定情報を含むアプリケーションリストを受信すると、前記アプリケーション特定情報により特定されるアプリケーションプログラムを前記サーバからダウンロードするように構成されたダウンロード部(S260〜S350)とを備え、
前記サーバは、
前記ユーザ情報と前記スペック情報とを受信すると、前記ユーザ情報と前記スペック情報とに基づいて、前記アプリケーションリストを作成し、作成した前記アプリケーションリストを送信するように構成された作成部(S710〜S740)を備える機能拡張システム。 - 請求項1に記載の機能拡張システムであって、
前記アプリケーションリストにおいて、前記少なくとも1つのアプリケーション特定情報のそれぞれに対して、前記アプリケーションプログラムのダウンロード順を決定するための決定用情報が付加されている機能拡張システム。 - 請求項2に記載の機能拡張システムであって、
前記アプリケーションリストは、前記決定用情報として、前記アプリケーション特定情報に対応する前記アプリケーションの利用頻度に関する情報を含む機能拡張システム。 - 請求項2または請求項3に記載の機能拡張システムであって、
前記アプリケーションリストは、前記決定用情報として、前記アプリケーション特定情報に対応する前記アプリケーションのカテゴリに関する情報を含む機能拡張システム。 - 請求項2〜請求項4の何れか1項に記載の機能拡張システムであって、
前記アプリケーションリストは、前記決定用情報として、前記アプリケーション特定情報に対応する前記アプリケーションの優先度に関する情報を含む機能拡張システム。 - 請求項2〜請求項5の何れか1項に記載の機能拡張システムであって、
前記アプリケーションリストは、前記決定用情報として、前記アプリケーション特定情報に対応する前記アプリケーションの起動順番に関する情報を含む機能拡張システム。 - 請求項2〜請求項6の何れか1項に記載の機能拡張システムであって、
前記アプリケーションリストは、前記決定用情報として、前記アプリケーション特定情報に対応する前記アプリケーションで利用されるメモリ容量に関する情報を含む機能拡張システム。 - 請求項2〜請求項7の何れか1項に記載の機能拡張システムであって、
前記第1電子制御装置は、
前記少なくとも1つの第2電子制御装置がダウンロードした前記アプリケーションプログラムに対応する対応アプリケーションプログラムを記憶している場合に、前記対応アプリケーションプログラムを削除するように構成された削除部(S540)を備える機能拡張システム。 - 請求項2〜請求項7の何れか1項に記載の機能拡張システムであって、
前記第1電子制御装置は、
前記少なくとも1つの第2電子制御装置がダウンロードした前記アプリケーションプログラムに対応する対応アプリケーションプログラムを記憶している場合に、前記対応アプリケーションプログラムを圧縮するように構成された圧縮部(S545)を備える機能拡張システム。 - 請求項1〜請求項9の何れか1項に記載の機能拡張システムであって、
前記少なくとも1つの第2電子制御装置は、複数の第2電子制御装置(3a,3b,3c)であり、
前記第1電子制御装置は、データ通信を行うために前記複数の第2電子制御装置のうちの一つと電気的に接続される第1通信用コネクタ(14)を備え、
前記複数の第2電子制御装置はそれぞれ、データ通信を行うために前記複数の第2電子制御装置または前記第1電子制御装置と電気的に接続される少なくとも2つの第2通信用コネクタ(34b,35)を備える機能拡張システム。 - 請求項1〜請求項9の何れか1項に記載の機能拡張システムであって、
前記少なくとも1つの第2電子制御装置は、複数の第2電子制御装置(3d,3e,3f)であり、
前記第1電子制御装置は、データ通信を行うために前記複数の第2電子制御装置のそれぞれと電気的に接続される複数の第1通信用コネクタ(14d,14e,14f)を備える機能拡張システム。 - 車両に搭載される車載電子制御装置(2)との間でデータ通信を行うことにより前記車載電子制御装置に接続される電子制御装置(3,3a,3b,3c,3d,3e,3f)であって、
前記車両に搭載された機器を制御する少なくとも1つのアプリケーション(121)を動作させるオペレーティングシステム(91)を実行するように構成された制御部(32)と、
前記車載電子制御装置との間でデータ通信を行うように構成された装置通信部(46)と、
前記車両の外部に設置されたサーバとの間でデータ通信を行うように構成されたサーバ通信部(47)と、
前記電子制御装置のスペックを示すスペック情報を前記サーバへ送信するように構成されたスペック情報送信部(S120)と、
少なくとも、前記電子制御装置で利用可能なアプリケーションを特定する少なくとも1つのアプリケーション特定情報を含むアプリケーションリストを受信すると、前記アプリケーション特定情報により特定されるアプリケーションプログラムを前記サーバからダウンロードするように構成されたダウンロード部(S260〜S350)と
を備える電子制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019118579A JP2021005218A (ja) | 2019-06-26 | 2019-06-26 | 機能拡張システムおよび電子制御装置 |
PCT/JP2020/023717 WO2020262137A1 (ja) | 2019-06-26 | 2020-06-17 | 機能拡張システムおよび電子制御装置 |
US17/558,303 US20220113958A1 (en) | 2019-06-26 | 2021-12-21 | Function extension system and electronic control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019118579A JP2021005218A (ja) | 2019-06-26 | 2019-06-26 | 機能拡張システムおよび電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021005218A true JP2021005218A (ja) | 2021-01-14 |
Family
ID=74060100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019118579A Pending JP2021005218A (ja) | 2019-06-26 | 2019-06-26 | 機能拡張システムおよび電子制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220113958A1 (ja) |
JP (1) | JP2021005218A (ja) |
WO (1) | WO2020262137A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023276815A1 (ja) * | 2021-07-02 | 2023-01-05 | 株式会社デンソー | 拡張ユニット、車載機ユニット、および車両システム |
JP7484746B2 (ja) | 2021-01-26 | 2024-05-16 | 株式会社デンソー | 車両用装置、車両用システム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022114162A (ja) * | 2021-01-26 | 2022-08-05 | 株式会社デンソー | 車両用装置 |
JP2022114163A (ja) * | 2021-01-26 | 2022-08-05 | 株式会社デンソー | 車両用装置 |
JP2022114160A (ja) * | 2021-01-26 | 2022-08-05 | 株式会社デンソー | 車両用装置 |
US20230305826A1 (en) * | 2022-03-28 | 2023-09-28 | Woven By Toyota, Inc. | Managing installation of vehicle applications using weight values |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016186810A (ja) * | 2011-03-17 | 2016-10-27 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | 持続的記憶媒体及び車両操縦用アプリケーションシステム |
JP2016218932A (ja) * | 2015-05-26 | 2016-12-22 | 京セラ株式会社 | ソフトウェア更新装置およびソフトウェア更新システム |
JP2018069870A (ja) * | 2016-10-27 | 2018-05-10 | 住友電気工業株式会社 | 制御装置、制御方法及びコンピュータプログラム |
JP2019020866A (ja) * | 2017-07-12 | 2019-02-07 | クラリオン株式会社 | 情報配信システム及び車載装置 |
-
2019
- 2019-06-26 JP JP2019118579A patent/JP2021005218A/ja active Pending
-
2020
- 2020-06-17 WO PCT/JP2020/023717 patent/WO2020262137A1/ja active Application Filing
-
2021
- 2021-12-21 US US17/558,303 patent/US20220113958A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016186810A (ja) * | 2011-03-17 | 2016-10-27 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | 持続的記憶媒体及び車両操縦用アプリケーションシステム |
JP2016218932A (ja) * | 2015-05-26 | 2016-12-22 | 京セラ株式会社 | ソフトウェア更新装置およびソフトウェア更新システム |
JP2018069870A (ja) * | 2016-10-27 | 2018-05-10 | 住友電気工業株式会社 | 制御装置、制御方法及びコンピュータプログラム |
JP2019020866A (ja) * | 2017-07-12 | 2019-02-07 | クラリオン株式会社 | 情報配信システム及び車載装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7484746B2 (ja) | 2021-01-26 | 2024-05-16 | 株式会社デンソー | 車両用装置、車両用システム |
WO2023276815A1 (ja) * | 2021-07-02 | 2023-01-05 | 株式会社デンソー | 拡張ユニット、車載機ユニット、および車両システム |
Also Published As
Publication number | Publication date |
---|---|
WO2020262137A1 (ja) | 2020-12-30 |
US20220113958A1 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020262137A1 (ja) | 機能拡張システムおよび電子制御装置 | |
EP3016360B1 (en) | Mobile communication terminal, control method thereof, auxiliary terminal and vehicle | |
WO2020262135A1 (ja) | 車両制御システムおよび電子制御装置 | |
US10423430B2 (en) | Operating system startup acceleration | |
KR20190076731A (ko) | 탑승자 단말 및 디스트랙션 확인을 통한 컨텐츠 표시 방법 | |
KR102589468B1 (ko) | 차량의 디스플레이 제어 방법 및 이를 위한 전자 장치 | |
JP2012010287A (ja) | 携帯機器と連携し、携帯機器のアプリケーションを自動的に起動する車載機器 | |
US11340891B2 (en) | Control device, control method, and computer program | |
WO2020050315A1 (ja) | 車両制御システム | |
EP3796159B1 (en) | Operating system startup acceleration | |
CN106663009B (zh) | 操作系统启动加速 | |
KR20170114051A (ko) | 차량의 멀티미디어 장치 | |
WO2014185045A1 (ja) | 表示制御装置、表示制御方法、及びそのプログラム | |
US10864889B2 (en) | Vehicle operating method and vehicle operating apparatus | |
JP6969590B2 (ja) | 車両制御システム | |
JP7484746B2 (ja) | 車両用装置、車両用システム | |
KR101919799B1 (ko) | 인포테인먼트 디바이스 및 그 제어 방법 | |
JP2022114164A (ja) | 車両用装置、車両用システム、外部装置 | |
US20240037999A1 (en) | Vehicle system | |
US20240036856A1 (en) | Vehicle system | |
JP2020087157A (ja) | 車載装置、及び車載装置設定システム | |
CN117008985A (zh) | 车机应用程序扩展方法、车机和电子设备 | |
CN116302274A (zh) | 应用程序的显示控制方法、装置、设备、介质及车辆 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220524 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221122 |