IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧 ▶ トヨタ自動車株式会社の特許一覧

特開2023-170483電子制御装置、車両情報提供方法及び車両情報提供プログラム
<>
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図1
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図2
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図3
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図4
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図5
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図6
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図7
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図8
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図9
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図10
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図11
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図12
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図13
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図14
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図15
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図16
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図17
  • 特開-電子制御装置、車両情報提供方法及び車両情報提供プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023170483
(43)【公開日】2023-12-01
(54)【発明の名称】電子制御装置、車両情報提供方法及び車両情報提供プログラム
(51)【国際特許分類】
   H04L 12/28 20060101AFI20231124BHJP
   B60R 16/023 20060101ALI20231124BHJP
【FI】
H04L12/28 200Z
B60R16/023 P
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022082283
(22)【出願日】2022-05-19
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】牧田 貴成
(72)【発明者】
【氏名】宮田 大志
(72)【発明者】
【氏名】長谷川 拓矢
(72)【発明者】
【氏名】水野 遼
(72)【発明者】
【氏名】荒井 良太
(72)【発明者】
【氏名】細井 貴史
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033BA06
5K033CA07
5K033DA13
5K033DB14
5K033DB16
(57)【要約】      (修正有)
【課題】複数のアプリの個々が所定の通信プロトコルに準拠するデータに基づいた車両情報を容易に且つ適切に利用する装置、方法及びプログラムを提供する。
【解決手段】車両内の電子制御装置のミドルウェア層であるカーデータコーデ12は、所定の通信プロトコルに準拠するデータフレームからデータを抽出するデータ抽出部12aと、データ抽出部により抽出されたデータに基づいて車両情報を生成する車両情報生成部12bと、車両情報生成部により生成された車両情報を保存する車両情報保存部12cと、車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する車両情報提供部12gと、を備える。
【選択図】図4
【特許請求の範囲】
【請求項1】
複数のアプリを実行する制御部(6)を備える電子制御装置(1)であって、
所定の通信プロトコルに準拠するデータフレームからデータを抽出するデータ抽出部(12a)と、
前記データ抽出部により抽出されたデータに基づいて車両情報を生成する車両情報生成部(12b)と、
前記車両情報生成部により生成された車両情報を保存する車両情報保存部(12c)と、
前記車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する車両情報提供部(12g)と、を備える電子制御装置。
【請求項2】
前記複数のアプリの個々からの登録要求を受け付ける登録要求受け付け部(12d)を備え、
前記車両情報提供部は、前記車両情報保存部により保存されている車両情報を、登録要求が前記登録要求受け付け部により受け付けられたアプリを当該車両情報の提供を要求した要求元のアプリとして提供する請求項1に記載した電子制御装置。
【請求項3】
前記車両情報保存部により保存されている車両情報の更新有無を判定する更新有無判定部(12e)を備え、
前記車両情報提供部は、前記車両情報保存部により保存されている車両情報が前記更新有無判定部により更新有と判定されたことを契機とし、前記車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する請求項1に記載した電子制御装置。
【請求項4】
前記複数のアプリの個々からの提供要求を受け付ける提供要求受け付け部(12f)を備え、
前記車両情報提供部は、アプリからの提供要求が前記提供要求受け付け部により受け付けられたことを契機とし、前記車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する請求項1に記載した電子制御装置。
【請求項5】
前記データ抽出部、前記車両情報生成部、前記車両情報保存部及び前記車両情報提供部は、前記制御部により実行される請求項1に記載した電子制御装置。
【請求項6】
前記車両情報提供部は、異なる粒度の車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する請求項1に記載した電子制御装置。
【請求項7】
複数のアプリを実行する制御部(6)を備える電子制御装置(1)において、
所定の通信プロトコルに準拠するデータフレームからデータを抽出するデータ抽出手順と、
前記データ抽出手順により抽出したデータに基づいて車両情報を生成する車両情報生成手順と、
前記車両情報生成手順により生成した車両情報を保存する車両情報保存手順と、
前記車両情報保存手順により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する車両情報提供手順と、を行う車両情報提供方法。
【請求項8】
複数のアプリを実行する制御部(6)を備える電子制御装置(1)に、
所定の通信プロトコルに準拠するデータフレームからデータを抽出するデータ抽出手順と、
前記データ抽出手順により抽出したデータに基づいて車両情報を生成する車両情報生成手順と、
前記車両情報生成手順により生成した車両情報を保存する車両情報保存手順と、
前記車両情報保存手順により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する車両情報提供手順と、を実行させる車両情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子制御装置、車両情報提供方法及び車両情報提供プログラムに関する。
【背景技術】
【0002】
車両制御システムにおいて、例えば電子制御装置(以下、ECU(Electronic Control Unit)と称する)がCAN(Controller Area Network)(登録商標)バスに接続されている構成が供されている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011-218974号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ECUがCANバスに接続されており、ECUに搭載されている制御部が複数のアプリを実行する場合には、それら複数のアプリの個々がCANフレームからCANデータを抽出し、その抽出したCANデータに基づいて車両情報を生成する。しかしながら、複数のアプリの個々が車両情報を別々に生成する構成では、車両情報を生成するためのプログラムモジュールをアプリ毎に用意する必要があり、アプリを制作するに際してコスト増大や多大な手間が発生する等の問題がある。又、アプリ毎のプログラムモジュールを保存するためのストレージのメモリ容量を無駄に消費することになる。更に、CANデータに基づいて車両情報を生成するロジックがアプリ間で異なると、同一のCANデータから異なる車両情報を生成してしまう虞があり、その異なった車両情報を利用してしまうと、アプリ間の動作で不具合が発生する虞もある。
【0005】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、複数のアプリの個々が所定の通信プロトコルに準拠するデータに基づいた車両情報を容易に且つ適切に利用することができる電子制御装置、車両情報提供方法及び車両情報提供プログラムを提供することにある。
【課題を解決するための手段】
【0006】
請求項1に記載した発明によれば、複数のアプリを実行する制御部(6)を備える。データ抽出部(12a)は、所定の通信プロトコルに準拠するデータフレームからデータを抽出する。車両情報生成部(12b)は、データ抽出部により抽出されたデータに基づいて車両情報を生成する。車両情報保存部(12c)は、車両情報生成部により生成された車両情報を保存する。車両情報提供部(12g)は、車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する。
【0007】
所定の通信プロトコルに準拠するデータフレームからデータを抽出し、その抽出したデータに基づいて車両情報を生成して保存し、その保存している車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供するようにした。
【0008】
車両情報を生成するためのプログラムモジュールをアプリ毎に用意する必要がなくなり、アプリを制作するに際してコスト増大や多大な手間の発生を抑えることができ、ストレージのメモリ容量の消費を抑えることもできる。更に、所定の通信プロトコルに準拠する同一のデータから異なる車両情報を生成してしまう虞がなくなり、アプリ間の動作で不具合が発生する虞もなくなる。これにより、複数のアプリの個々が所定の通信プロトコルに準拠するデータに基づいた車両情報を容易に且つ適切に利用することができる。
【0009】
本開示は、特許請求の範囲に記載の発明に加え、以下のような発明を含む。
[1]
複数のアプリを実行する制御部(6)を備える電子制御装置(1)であって、
所定の通信プロトコルに準拠するデータフレームからデータを抽出するデータ抽出部(12a)と、
前記データ抽出部により抽出されたデータに基づいて車両情報を生成する車両情報生成部(12b)と、
前記車両情報生成部により生成された車両情報を保存する車両情報保存部(12c)と、
前記車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する車両情報提供部(12g)と、を備える電子制御装置。
【0010】
[2]
前記複数のアプリの個々からの登録要求を受け付ける登録要求受け付け部(12d)を備え、
前記車両情報提供部は、前記車両情報保存部により保存されている車両情報を、登録要求が前記登録要求受け付け部により受け付けられたアプリへ提供する[1]に記載した電子制御装置。
【0011】
[3]
前記車両情報保存部により保存されている車両情報の更新有無を判定する更新有無判定部(12e)を備え、
前記車両情報提供部は、前記車両情報保存部により保存されている車両情報が前記更新有無判定部により更新されたことを契機とし、前記車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する[1]又は[2]に記載した電子制御装置。
【0012】
[4]
前記複数のアプリの個々からの提供要求を受け付ける提供要求受け付け部(12f)を備え、
前記車両情報提供部は、アプリからの提供要求が前記提供要求受け付け部により受け付けられたことを契機とし、前記車両情報保存部により保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する[1]から[3]の何れか一項に記載した電子制御装置。
【0013】
[5]
前記データ抽出部、前記車両情報生成部、前記車両情報保存部及び前記車両情報提供部は、前記制御部により実行される[1]から[4]の何れか一項に記載した電子制御装置。
【0014】
[6]
前記車両情報提供部は、異なる粒度の車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する[1]から[5]の何れか一項に記載した電子制御装置。
【図面の簡単な説明】
【0015】
図1】一実施形態を示す機能ブロック図
図2】プロトコル変換を説明する図
図3】CANフレームの受信時の流れを示す図
図4】カーデータコーデの機能ブロック図
図5】車両情報の生成時の流れを示す図
図6】CANデータ及び車両情報を示す図
図7】車両情報リストを示す図
図8】車両情報リストを示す図
図9】車両情報リストを示す図
図10】サービス提供リストを示す図
図11】登録要求受け付け処理を示すフローチャート
図12】車両情報保存処理を示すフローチャート
図13】更新時処理を示すフローチャート
図14】提供要求受け付け処理を示すフローチャート
図15】シーケンス図
図16】シーケンス図
図17】シーケンス図
図18】シーケンス図
【発明を実施するための形態】
【0016】
以下、一実施形態について図面を参照して説明する。図1に示すように、車両に搭載されているマスタECU1は、例えばパワトレECU、ボデーECU、コックピットECU、シャシECU、セーフティECU等から情報を取得し、又は各ECUに指示することで車両を制御する。これを実現するために、マスタECU1は、複数のアプリと、複数のミドルウェアとを備える。マスタECU1は、例えば機能向上や不具合改修等を目的としたリプロの実施を管理する更新マスタとして機能する。
【0017】
マスタECU1は、CANバス2(Controller Area Network)(登録商標)(通信バスに相当する)を介して複数のECU3,4とデータ通信可能に接続されており、動作指示を複数のECU3,4へ指示したり複数のECU3,4から動作状態を取得したりすることで、複数のECU3,4を統合管理する。マスタECU1とCANバス2を介して接続されるECUの個数は、2個に限らず任意である。複数のECU3,4は、例えばパワトレECU、ボデーECU、コックピットECU、シャシECU、セーフティECU等である。
【0018】
マスタECU1は、データ通信機として機能するDCM(Data Communication Module)と接続されている。DCMは、外部と通信ネットワークを介して無線接続することでデータを送受信可能とする。DCMは、OTAセンターと通信ネットワークを介して無線接続することで当該OTAセンターから送信された配信パッケージを受信可能となる。DCMは、OTAセンターから送信された配信パッケージを受信すると、その受信した配信パッケージをマスタECU1へ転送する。マスタECU1は、複数のECUの中からリプロ対象として機能するリプロ対象ECUを特定し、DCMから配信パッケージが転送されると、その転送された配信パッケージから更新プログラムを抽出し、その抽出した更新プログラムの書き込みをリプロ対象ECUへ指示することでリプロを実施する。
【0019】
マスタECU1は、第1制御部5と、第2制御部6(制御部に相当する)と、ストレージ7とを備える。第1制御部5及び第2制御部6は、それぞれCPU(Central Processing Unit)を有するマイクロコンピュータにより構成されている。マスタECU1は、ROM(Read Only Memory)、RAM(Random Access Memory)及びI/O(Input/Output)を有する。第1制御部5及び第2制御部6は、それぞれ非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで当該制御プログラムに対応する処理を実行し、連携してマスタECU1の動作全般を制御する。第2制御部6が実行する制御プログラムは車両情報提供プログラムを含む。
【0020】
第1制御部5は、CANバス2を介してECU3,4に接続されており、CANプロトコル(所定の通信プロトコルに相当する)に準拠するデータ通信をECU3,4との間で行う。第1制御部5と第2制御部6とは、イーサーネット8を介して接続されており、イーサーネットプロトコルに準拠するデータ通信を両者の間で行う。即ち、第1制御部5は、CANバス2に直接接続されている。第2制御部6は、CANバス2に直接接続されておらず、イーサーネット8を介してCANバス2に接続されている。イーサーネットプロトコルによるデータ通信は、CANプロトコルによるデータ通信よりも高速大容量である。第1制御部5と第2制御部6は複数のCPUに相当する。
【0021】
マスタECU1のハードウェアアーキテクチャにおいて、第1CPUは、CANバス2に接続されており、CANバス2に直接アクセスする構成となっており、第2CPUは、CANバス2に接続されておらず、CANバス2に直接アクセスしない構成となっている。同一の基盤内において、第2CPUは、第1CPUとイーサーネットによりデータ通信可能に接続されている。尚、複数のCPUの代わりに、同じ機能をソフトウェアにて実現している仮想マシンでも良い。
【0022】
ストレージ7は、例えばNOR型フラッシュメモリやNAND型フラッシュメモリを主体とする不揮発性メモリであり、第1制御部5や第2制御部6により実行される複数のアプリで共有される。即ち、複数のアプリがそれぞれストレージ7にアクセスしてデータの書き込み及びデータの読み出しを実施する。本実施形態では、ストレージ7がマスタECU1に内蔵されている構成を例示しているが、ストレージ7がマスタECU1の外部に配置されている構成に適用することも可能である。又、第1制御部5や第2制御部6により実行される複数のアプリでストレージ7を共有する構成を例示しているが、マスタECU1とデータ通信可能に接続されている別のECUの制御部により実行されるアプリでストレージ7を共有しても良い。
【0023】
アプリ層9に属する各アプリ9aは、車両に関する情報を要求する場合に、要求する情報の粒度に応じてミドルウェア層10に属するCANサービス11、カーデータコーデ12、シーンコーデ13の何れかに情報の送信を要求する。CANサービス11、カーデータコーデ12、シーンコーデ13には、それぞれ情報を提供可能となるようにアプリケーションプログラミングインタフェース(以下、API(Application Programming Interface)と称する)が設定されている。
【0024】
第1制御部5は、上記したようにCANバス2に直接接続されているので、CANプロトコルに準拠したデータであるCANデータを含むCANフレームの送受信を制御する機能を有する。又、第1制御部5は、CANフレームをイーサーネットフレームへプロトコル変換する機能を有する。即ち、図2に示すように、第1制御部5は、CANバス2からCANフレームを受信すると、その受信したCANフレームをイーサーネットフレームへプロトコル変換し、そのプロトコル変換したイーサーネットフレームをCANサービス11へ送信する。
【0025】
図3に示すように、CANサービス11は、第1制御部5から送信されたイーサーネットフレームを受信すると、その受信したイーサーネットフレームからCANプロトコルデータユニット(以下、PDU(Protocol Data Unit)と称する)を抽出し、その抽出したCANPDUをカーデータコーデ12へ送信する。PDUは、送受信される情報の単位であり、通信プロトコルで定義されている制御情報の部分と、データの中身であるペイロードとを含む。CANフレームのID、コントロールフィールド、データフィールドがそれぞれイーサーネットフレームのCANID、DLC、CANデータに対応する。
【0026】
カーデータコーデ12は、CANサービス11から送信されたCANPDUを受信すると、その受信したCANPDUに基づいて車両情報を生成し、その生成した車両情報を、当該車両情報の提供を要求した要求元のアプリへ提供する機能を有する。以下、カーデータコーデ12の構成について図4及び図5を参照して説明する。カーデータコーデ12は、データ抽出部12aと、車両情報生成部12bと、車両情報保存部12cと、登録要求受け付け部12dと、更新有無判定部12eと、提供要求受け付け部12fと、車両情報提供部12gとを備える。これらのカーデータコーデ12の動作を制御する各部12a~12gは、第2制御部6により実行される。
【0027】
データ抽出部12aは、CANサービス11から送信されたCANPDUを受信すると、その受信したCANPDUからCANデータを抽出する。CANデータは、CANの通信プロトコルに準拠するデータ形式である。車両情報生成部12bは、CANデータがデータ抽出部12aにより抽出されると、その抽出されたCANデータを解釈して車両情報を生成する。図6に示すように、車両情報生成部12bは、例えば車速が「60km/h」であるときのCANデータが「01 23 45 67 ab ・・・・」であれば、車両情報として車速「60km/h」を示すデータを生成する。車両情報として生成されるデータは、CANデータから一義的に特定されるデータである。例えば車両情報として生成されるデータは、CANデータよりも少ないデータ量で表現されるデータである。
【0028】
車両情報保存部12cは、車両情報が車両情報生成部12bにより生成されると、その生成された車両情報を、図7に示す車両情報リストに保存可能である。この場合、車両情報保存部12cは、未だ車両情報が保存されていない場合には、今回の生成された車両情報を新規保存する。車両情報保存部12cは、車両情報が既に保存されているが今回の生成された車両情報が当該既に保存されている車両情報と一致しない場合には、今回の生成された車両情報を上書き保存する。一方、車両情報保存部12cは、車両情報が既に保存されており、今回の生成された車両情報が当該既に保存されている車両情報と一致する場合には、今回の生成された車両情報を保存せずに破棄する。
【0029】
車両情報リストに保存される車両情報は、上記した車速の他に、スマートキーの有無、ハザード状態、運転席ドア、燃料消費量、IGリレー状態、オドメータの数値、車両位置、日付に関する情報がある。各車両情報の内容は以下の通りある。
【0030】
「スマートキーの有無」:スマートキーの有無に関する情報であり、キーが車内に存在する場合は「True」であり、キーが車内に存在しない場合は「False」である。
「ハザード状態」:ハザードランプの状態に関する情報であり、点滅状態の場合は「オン」であり、消灯状態の場合は「オフ」である、
「運転席ドア」:運転席ドアに関する情報であり、運転席のドアが開状態の場合は「開状態」であり、運転席のドアが閉状態でロック状態である場合は「ロック」であり、運転席のドアが閉状態でアンロック状態である場合は「アンロック」である。
「燃料消費量」:燃料消費量に関する情報であり、「0ml」~「32ml」の数値である。
「IGリレー状態」:IGリレーの駆動状態に関する情報であり、IGリレーがオン状態の場合は「オン」であり、IGリレーがオフ状態の場合は「オフ」である。
「オドメータの数値」、オドメータの数値に関する情報であり、オドメータに表示される距離情報である。
「車速」:車速に関する情報であり、車速パルス信号の積算値であってパルスのカウンタ数により特定される情報である。
「車両位置」:車両位置に関する情報である、ナビゲーション装置により特定される緯度経度である。
「日付」:日付に関する情報であり、年、月、日、時、分、秒により特定される情報である。
【0031】
尚、車両情報保存部12cは、タイムスタンプを付与して車両情報を保存しても良い。図8に示すように、車両情報保存部12cは、例えば「スマートキーの有無」についてキーが車内に存在するか否かの状態が更新される毎にタイプスタンプを付与しても良い。タイムスタンプを付与することで、スマートキーの有無に関する履歴を保存することができ、スマートキーの有無に関する過去の車両情報を遡って取得することが可能となる。又、図9に示すように、車両情報保存部12cは、例えば「ハザード状態」についてハザードランプの点滅状態と消灯状態とが更新される毎にタイプスタンプを付与しても良い。タイムスタンプを付与することで、ハザード状態に関する履歴を保存することができ、ハザード状態に関する過去の車両情報を遡って取得することが可能となる。「スマートキーの有無」及び「ハザード状態」以外の車両情報についても同様である。
【0032】
登録要求受け付け部12dは、複数のアプリ9aの個々からの登録要求を受け付け、その受け付けた登録要求をサービス提供リストに登録する。登録要求は、車両情報の提供を受けたいアプリ9aが、アプリ9aを示すアプリIDと、提供を受けたい車両情報種別とを対応付けて登録する要求である。図10に示すように、登録要求受け付け部12dは、例えばアプリAから車両情報種別として「スマートキーの有無」の登録要求を受け付けると、アプリAのアプリIDと「スマートキーの有無」とを対応付けて登録する。登録要求受け付け部12dは、アプリBから車両情報種別として「車速」及び「車両位置」の登録要求を受け付けると、アプリBのアプリIDと「車速」及び「車両位置」とを対応付けて登録する。尚、登録要求受け付け部12dは、他のミドルウェアをアプリ9aと同様に扱うことで、他のミドルウェアからの登録要求を受け付け、その受け付けた登録要求をサービス提供リストに登録しても良い。
【0033】
更新有無判定部12eは、車両情報保存部12cにより保存されている車両情報の更新有無を判定する。更新有無判定部12eは、今回の生成された車両情報が車両情報保存部12cにより新規保存された、又は上書き保存された場合に、車両情報保存部12cにより保存されている車両情報の更新有を判定する。即ち、更新有無判定部12eは、CANデータが更新されたことに応じて車両情報が車両情報保存部12cにより新規保存された、又は上書き保存される都度、車両情報の更新有を判定する。換言すると、車両情報保存部12cは、常時最新の車両情報を保存する。
【0034】
提供要求受け付け部12fは、複数のアプリ9aの個々からの車両情報の提供要求を受け付ける。車両情報提供部12gは、車両情報保存部12cにより保存されている車両情報を、当該車両情報の提供を要求した要求元のアプリ9aへ提供する。この場合、車両情報提供部12gは、異なる粒度の車両情報を、当該車両情報の提供を要求した要求元のアプリ9aへ提供することが可能である。即ち、アプリ9aは、任意の粒度の車両情報を取得することが可能である。車両情報提供部12gが車両情報を提供する場合としては、車両情報の更新有が更新有無判定部12eにより判定されたことを契機とする場合と、アプリ9aからの車両情報の提供要求が提供要求受け付け部12fにより受け付けられたことを契機とする場合とがある。
【0035】
次に、上記した構成の作用について図11から図18を参照して説明する。マスタECU1において、カーデータコーデ12が行う登録要求受け付け処理、車両情報保存処理、更新時処理、提供要求受け付け処理について順次説明する。
【0036】
(1)登録要求受け付け処理(図11参照)
カーデータコーデ12は、アプリ9aからの登録要求を受け付けたことで登録要求受け付け処理の開始条件が成立すると、登録要求受け付け処理を開始する。カーデータコーデ12は、登録要求受け付け処理を開始すると、アプリ9aから通知されたアプリIDと車両情報種別を取得する(S1)。カーデータコーデ12は、その取得したアプリIDと車両情報種別とを対応付けてサービス提供リストに登録し(S2)、登録要求受け付け処理を終了する。
【0037】
(2)車両情報保存処理(図12参照)
カーデータコーデ12は、CANサービス11からCANPDUを受信したことで車両情報保存処理の開始条件が成立すると、車両情報保存処理を開始する。カーデータコーデ12は、車両情報保存処理を開始すると、その受信したCANPDUからCANデータを抽出する(S11、データ抽出手順に相当する)。カーデータコーデ12は、その抽出したCANデータを解釈して車両情報を生成する(S12、車両情報生成手順に相当する)。カーデータコーデ12は、車両情報リストを参照し(S13)、今回の生成した車両情報を保存対象とするか否かを判定する(S14)。
【0038】
カーデータコーデ12は、未だ車両情報を保存していない、又は車両情報を既に保存しているが今回の生成した車両情報が当該既に保存している車両情報と一致しないと判定すると、今回の生成した車両情報を保存対象とすると判定し(S14:YES)、今回の生成した車両情報を車両情報リストに保存し(S15、車両情報保存手順に相当する)、車両情報保存処理を終了する。カーデータコーデ12は、例えば今回の車両情報として車速「60km/h」を生成した場合に、車両情報リストの「車速」の保存領域が空である、又は車両情報リストの「車速」の保存領域に既に保存している車両情報が車速「60km/h」以外であり、前回から車両情報が更新されていると、今回の車両情報として生成した車速「60km/h」を車両情報リストに保存する。
【0039】
一方、カーデータコーデ12は、車両情報を既に保存しており、今回の生成した車両情報が当該既に保存している車両情報と一致すると判定すると、今回の生成した車両情報を保存対象としないと判定し(S14:NO)、今回の生成した車両情報を車両情報リストに保存せずに廃棄し(S16)、車両情報保存処理を終了する。カーデータコーデ12は、例えば今回の車両情報として車速「60km/h」を生成した場合に、車両情報リストの「車速」の保存領域に既に保存している車両情報が車速「60km/h」であり、前回から車両情報が更新されていないと、今回の車両情報として生成した車速「60km/h」を車両情報リストに保存せずに破棄する。
【0040】
(3)更新時処理(図13参照)
カーデータコーデ12は、上記した車両情報保存処理において車両情報が更新され、今回の生成した車両情報を車両情報リストに保存したことで更新時処理の開始条件が成立すると、更新時処理を開始する。カーデータコーデ12は、更新時処理を開始すると、サービス提供リストを参照し(S21)、更新対象となった車両情報に対応付けられている当該車両情報の提供先のアプリ9aを特定する(S22)。カーデータコーデ12は、車両情報の提供先のアプリ9aを特定すると、車両情報リストを参照し(S23)、車両情報リストに保存されている車両情報を、その車両情報の提供先として特定したアプリ9aへ提供し(S24、車両情報提供手順に相当する)、更新時処理を終了する。即ち、カーデータコーデ12は、車両情報の最新値を、車両情報の提供先として特定したアプリ9aへ提供する。
【0041】
カーデータコーデ12は、図10に示したサービス提供リストにおいて、例えば今回の生成した車両情報が「車速」である場合には、「車速」に対応付けられているアプリBを車両情報の提供先として特定し、「車速」の最新値をアプリBへ提供する。同様に、カーデータコーデ12は、図10に示したサービス提供リストにおいて、今回の生成した車両情報が「車両位置」である場合には、「車両位置」に対応付けられているアプリB,Dを車両情報の提供先として特定し、「車両位置」の最新値をアプリB,Dへ提供する。
【0042】
(4)提供要求受け付け処理(図14参照)
カーデータコーデ12は、アプリ9aからの提供要求を受け付けたことで提供要求受け付け処理の開始条件が成立すると、提供要求受け付け処理を開始する。カーデータコーデ12は、提供要求受け付け処理を開始すると、アプリ9aから通知されたアプリIDと指定車両情報を取得する(S31)。カーデータコーデ12は、その取得したアプリIDに基づいて車両情報の提供先のアプリ9aを特定し(S32)、その取得した指定車両情報に基づいて提供先のアプリ9aへ提供する車両情報種別を特定する(S33)。カーデータコーデ12は、車両情報リストを参照し(S34)、その特定した車両情報種別に対応する車両情報を、その車両情報の提供先として特定したアプリ9aへ提供し(S35、車両情報提供手順に相当する)、提供要求受け付け処理を終了する。
【0043】
カーデータコーデ12は、例えばアプリXが「スマートキーの有無」の提供要求を通知した場合には、アプリXを車両情報の提供先として特定し、「スマートキーの有無」の最新値をアプリXへ提供する。
【0044】
次に、CANサービス11及びカーデータコーデ12が連携して行う処理について図15から図18を参照して説明する。カーデータコーデ12は、例えばマスタECU1が起動すると、オープン指示をCANサービス11へ通知する(t1)。CANサービス11は、カーデータコーデ12からオープン指示が通知されると、その通知されたオープン指示に対する応答をカーデータコーデ12へ通知し(t2)、一時的なデータ記憶領域を作成する。
【0045】
カーデータコーデ12は、セットIDフィルタ指示をCANサービス11へ通知する(t3)。CANサービス11は、カーデータコーデ12からセットIDフィルタ指示が通知されると、その通知されたセットIDフィルタ指示に対する応答をカーデータコーデ12へ通知し(t4)、その通知されたセットIDフィルタ指示により指定されたIDを保持する。
【0046】
CANサービス11は、第1制御部5からイーサーネットフレームを受信すると(t5)、その保持しているIDと、その受信したイーサーネットフレームに格納されているCANIDとを照合する。CANサービス11は、その保持しているIDと一致するCANIDを格納しているイーサーネットフレームを特定すると、その特定したイーサーネットフレームからCANPDUを抽出し、その抽出したCANPDUをデータ記憶領域に保存する。CANサービス11は、その保持しているIDと一致しないCANIDを格納しているイーサーネットフレームを特定すると、その特定したイーサーネットフレームからCANPDUを抽出せずに破棄する。これ以降、CANサービス11は、第1制御部5からイーサーネットフレームを受信する都度(t10,t14,t17)、上記した処理を繰り返す。
【0047】
カーデータコーデ12は、アプリ9aから登録要求が通知されると(t6)、上記した図11で説明した登録要求受け付け処理を実施する。カーデータコーデ12は、その通知された登録要求により指定されているアプリIDと車両情報種別を取得し、その取得したアプリIDと車両情報種別とを対応付けてサービス提供リストに登録する。
【0048】
カーデータコーデ12は、リード指示をCANサービス11へ所定周期(例えば数ミリ秒周期)で通知する(t7)。CANサービス11は、カーデータコーデ12からリード指示が通知されると、データ記憶領域に保存しておいたCANPDUをカーデータコーデ12へ通知する(t8)。カーデータコーデ12は、CANサービス11からCANPDUを取得すると、上記した図12で説明した車両情報保存処理を実施する。カーデータコーデ12は、その取得したCANPDUからCANデータを抽出し、その抽出したCANデータを解釈して車両情報を生成し、車両情報リストを参照し、今回の生成した車両情報を保存対象とするか否かを判定する。これ以降、カーデータコーデ12及びCANサービス11は、カーデータコーデ12がリード指示を通知する周期で上記した処理を繰り返す(t11,t12,t15,t16,t18,t19)。
【0049】
カーデータコーデ12は、車両情報が更新されていないと判定すると、今回の生成した車両情報を車両情報リストに保存せずに廃棄する。一方、カーデータコーデ12は、車両情報が更新されていると判定すると、今回の生成した車両情報を車両情報リストに保存し、上記した図13で説明した更新時処理を実施する。カーデータコーデ12はサービス提供リストを参照し、車両情報の提供先のアプリ9aを特定し、車両情報リストを参照し、車両情報リストに保存されている車両情報、即ち、車両情報の最新値を、その車両情報の提供先として特定したアプリ9aへ通知する(t9、t13,t20)。
【0050】
図17及び図18の例示では、アプリ9aから通知された登録要求により車両情報種別として「車速」が指定されている場合を示している。この場合、カーデータコーデ12は、アプリ9aから登録要求が通知された直後の最初にCANサービス11から取得したCANPDUに基づいて生成した車両情報をアプリ9aへ通知する(t9)。これ以降、カーデータコーデ12は、例えばCANサービス11から「t8」のタイミングで取得したCANPDUに基づいて生成した車両情報が車速「58km/h」であり、CANサービス11から「t12」のタイミングで取得したCANPDUに基づいて生成した車両情報が車速「60km/h」であると、車両情報が前回から更新されているので、車両情報として車速「60km/h」をアプリ9aへ通知する(t13)。
【0051】
カーデータコーデ12は、CANサービス11から「t16」のタイミングで取得したCANPDUに基づいて生成した車両情報が車速「60km/h」であると、車両情報が前回から更新されていないので、車両情報をアプリ9aへ通知せずに破棄する。カーデータコーデ12は、CANサービス11から「t19」のタイミングで取得したCANPDUに基づいて生成した車両情報が車速「62km/h」であると、車両情報が前回から更新されているので、車両情報として車速「62km/h」をアプリ9aへ通知する(t20)。以上は、車両情報種別として「車速」が指定されている場合を説明したが、他の車両情報種別でも同様である。
【0052】
以上に説明したように本実施形態によれば、次に示す作用効果を得ることができる。
マスタECU1において、CANフレームからCANデータを抽出し、その抽出したCANデータに基づいて車両情報を生成して保存し、その保存している車両情報を、当該車両情報の提供を要求した要求元のアプリ9aへ提供するようにした。車両情報を生成するためのプログラムモジュールをアプリ毎に用意する必要がなくなり、アプリ9aを制作するに際してコスト増大や多大な手間の発生を抑えることができ、ストレージ7のメモリ容量の消費を抑えることもできる。更に、同一のCANデータから異なる車両情報を生成してしまう虞がなくなり、アプリ9a間の動作で不具合が発生する虞もなくなる。これにより、複数のアプリ9aの個々がCANデータに基づいた車両情報を容易に且つ適切に利用することができる。
【0053】
マスタECU1において、保存している車両情報が更新されたことを契機とし、その保存している車両情報を、当該車両情報の提供を要求した要求元のアプリ9aへ提供するようにした。車両情報が更新されたタイミングで、最新の車両情報をアプリ9aへ提供することができる。即ち、アプリ9aが提供要求を通知することなく、最新の車両情報をアプリ9aへ提供することができる。
【0054】
マスタECU1において、アプリ9aからの提供要求が受け付けられたことを契機とし、その保存している車両情報を、当該車両情報の提供を要求した要求元のアプリ9aへ提供するようにした。車両情報が前回から更新されたか否かに関係なく、アプリ9aが提供要求を通知する任意のタイミングで、最新の車両情報をアプリ9aへ提供することができる。
【0055】
マスタECU1において、CANバス2から受信したCANフレームをイーサーネットフレームへプロトコル変換し、そのプロトコル変換したイーサーネットフレームからCANデータを抽出するようにした。CANバス2に直接接続されていない第2制御部6により実行されるアプリ9aを対象とし、複数のアプリ9aの個々がCANデータに基づいた車両情報を容易に且つ適切に利用することができる。
【0056】
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【0057】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていても良い。
【符号の説明】
【0058】
図面中、1はマスタECU(電子制御装置)、5は第1制御部、6は第2制御部(制御部)、12はカーデータコーデ、12aはデータ抽出部、12bは車両情報生成部、12cは車両情報保存部、12dは登録要求受け付け部、12eは更新有無判定部、12fは提供要求受け付け部、12gは車両情報提供部である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18