(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025105150
(43)【公開日】2025-07-10
(54)【発明の名称】通信レシーバ
(51)【国際特許分類】
H04L 12/28 20060101AFI20250703BHJP
【FI】
H04L12/28 200Z
H04L12/28 100A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023223489
(22)【出願日】2023-12-28
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】板川 太一
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033BA06
5K033CB02
(57)【要約】
【課題】通信装置の主制御部にプロトコルスタックを実装できない場合でも、サービス指向通信を実現する技術を提供する。
【解決手段】本開示の1つの局面の通信レシーバ22は、通信装置20Aの主制御部21に接続され、第1IF225と、第2IF226と、サービス制御部221と、サービスIF部222と、を備える。サービス制御部は、第1IFを介して主制御部から受けた第1設定情報に基づき、サービス通信プロトコルである第1プロトコルに従って、電子制御装置(10A)へ探索メッセージを送信する。サービスIF部は、第1IFを介して主制御部から受けた第2設定情報に基づき、電子制御装置から受信した第1プロトコル又は第2プロトコルに従ったイベントメッセージを、ストリームデータに変換し、第2IFを介してストリームデータを主制御部へ送信する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
単一又は複数の通信線(50A,50B)を介して電子制御装置(10A,10B)に接続されるように構成された通信装置(20A,20B)内で、前記通信装置の主制御部(21)に接続される通信レシーバ(22)であって、
前記主制御部に接続されるように構成された第1インターフェース(225)と、
前記主制御部に接続されるように構成された第2インターフェース(226)と、
前記第1インターフェースを介して前記主制御部から受けた第1設定情報に基づき、サービス通信プロトコルである第1プロトコルに従って、前記電子制御装置へサービスを探索するための探索メッセージを送信するように構成されたサービス制御部(221)と、
前記第1インターフェースを介して前記主制御部から受けた第2設定情報に基づき、前記電子制御装置から受信した前記第1プロトコル又は前記第1プロトコルと異なる第2プロトコルに従ったイベントメッセージを、ストリームデータに変換し、前記第2インターフェースを介して前記ストリームデータを前記主制御部へ送信するように構成されたサービスインターフェース部(222)と、
を備える、通信レシーバ。
【請求項2】
前記サービス制御部(221)は、前記電子制御装置(10A,10B)へサービス購読要求を自発的に発信するように構成されている、
請求項1に記載の通信レシーバ。
【請求項3】
前記サービスインターフェース部(222)は、前記第2インターフェース(226)及び前記主制御部(21)を介して、前記第2設定情報により指定されたメモリ(28)へ、ダイレクトメモリアクセス方式で前記ストリームデータを送るように構成されている、
請求項1に記載の通信レシーバ。
【請求項4】
前記第1プロトコルは、Scalable service - Oriented MiddlewarE over IP(SOME/IP)、又は、Data Distribution Service (DDS)である、
請求項1に記載の通信レシーバ。
【請求項5】
前記第2プロトコルは、Institute of Electrical and Electronics Engineers (IEEE)1722である、
請求項1に記載の通信レシーバ。
【請求項6】
前記第1インターフェース(225)は、Serial Peripheral Interface (SPI)である、
請求項1に記載の通信レシーバ。
【請求項7】
前記第2インターフェース(226)は、Mobile Industry Processor Interface -Camera Serial Interface (MIPI-CSI)、Mobile Industry Processor Interface - Camera Serial Interface 2 (MIPI-CSI2)、Mobile Industry Processor Interface - Display Serial Interface (MIPI-DSI)、Peripheral Component Interconnect - Express (PCI-Express)及びDouble Data Rate (DDR)のいずれかである、
請求項1に記載の通信レシーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サービス指向通信に実現する技術に関する。
【背景技術】
【0002】
引用文献1に記載の車載通信システムは、統合ECUと、統合ECUに接続された複数の中継ECUと、複数の中継ECUの各々に接続された複数のECUと、を備え、統合ECUをサーバーとし、複数の中継ECU及び複数のECUをクライアントとしたサービス指向通信を行う。具体的には、上記車載通信システムでは、各中継装置が、サービス指向プロトコル以外のプロトコルに従ったデータを、サービス指向プロトコルに変換することで、各中継装置と総合ECUとの間でサービス指向通信を実現している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記車載通信システムは、統合ECUの処理部が、サービス指向通信用のプロトコルスタックを備え、サービス指向プロトコルのメッセージを生成する。しかしながら、ECUの用途によっては、ECUが備えているマイコンが、処理能力が低い場合がある。このようなマイコンには、プロトコルスタックを実装することができない。
【0005】
本開示の1つの局面は、通信装置の主制御部にプロトコルスタックを実装できない場合でも、サービス指向通信を実現する技術を提供する。
【課題を解決するための手段】
【0006】
本開示の1つの局面の通信レシーバは、単一又は複数の通信線(50A,50B)を介して電子制御装置(10A,10B)に接続されるように構成された通信装置(20A,20B)内で、通信装置の主制御部(21)に接続される通信レシーバ(22)であって、第1インターフェース(225)と、第2インターフェース(226)と、サービス制御部(221)と、サービスインターフェース部(222)と、を備える。第1インターフェースは、主制御部に接続される。第2インターフェースは、主制御部に接続される。サービス制御部は、第1インターフェースを介して主制御部から受けた第1設定情報に基づき、サービス通信プロトコルである第1プロトコルに従って、電子制御装置へサービスを探索するための探索メッセージを送信する。サービスインターフェース部は、第1インターフェースを介して主制御部から受けた第2設定情報に基づき、電子制御装置から受信した第1プロトコル又は第1プロトコルと異なる第2プロトコルに従ったイベントメッセージを、ストリームデータに変換し、第2インターフェースを介してストリームデータを主制御部へ送信する。
【0007】
本開示の1つの局面の通信レシーバは、主制御部に接続され、第1設定情報及び第2設定情報が設定される。これにより、主制御部にサービス通信用のプロトコルスタックを実装できない場合でも、通信装置にサービス指向通信を導入することができる。したがって、通信装置と電子制御装置との間で全体的にサービス指向通信を実現することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る通信システムの構成を示すブロック図である。
【
図2】本実施形態に係るサーバーECU及びクライアントECUの構成を示すブロック図である。
【
図3】本実施形態に係るクライアントECU内のデータの流れを示す図である。
【
図4】本実施形態に係るクライアントECUのホストデバイスが有するサービスの検索及び自ノードに関する設定値の例を示す図である。
【
図5】本実施形態に係るクライアントECUのホストデバイスが有するサーバーECUとのデータの相互変換に用いる設定値の例を示す図である。
【
図6】本実施形態に係るクライアントECUのホストデバイスが有する購読イベントを配信しているサーバーECUに関する情報の例を示す図である。
【
図7】本実施形態に係るサーバーECUとクライアントECUとの間の通信を示すシーケンス図である。
【
図8】本実施形態に係るクライアントECUのサービスレシーバのサービス利用状態の遷移を示す図である。
【
図9】本実施形態に係るクライアントECUのサービスレシーバのイベント購読状態の遷移を示す図である。
【発明を実施するための形態】
【0009】
<1.構成>
図1を参照して、本実施形態に係る通信システム100の構成について説明する。本実施形態において、通信システム100は、車両に搭載されている。別の実施形態では、通信システム100の少なくとも一部は、船、電車、飛行機などの車両以外の移動体あるいは建造物に設置されていてもよいし、携帯端末であってもよい。
【0010】
通信システム100は、第1サーバー電子制御装置(以下、ECU)10Aと、第2サーバーECU10Bと、第1クライアントECU20Aと、第2クライアントECU20Bと、イーサネットスイッチ30と、を備える。本実施形態において、第1クライアントECU20A及び第2クライアントECU20Bは、本開示の通信装置に相当し、第1サーバーECU10A及び第2サーバーECU10Bは、本開示の電子制御装置に相当する。
【0011】
別の実施形態では、通信システム100は、1台又は2台以上の第1サーバーECU10Aを備え、第2サーバーECU10Bを備えていなくてもよいし、1台又は2台以上の第2サーバーECU10Bを備え、第1サーバーECU10Aを備えていなくてもよい。あるいは、通信システム100は、第1サーバーECU10A及び/又は第2サーバーECU10Bに加えて、別のサーバーECUを備えていてもよい。
【0012】
また、別の実施形態では、通信システム100は、1台又は2台以上の第1クライアントECU20Aを備え、第2クライアントECU20Bを備えていなくてもよいし、1台又は2台以上の第2クライアントECU20Bを備え、第1クライアントECU20Aを備えていなくてもよい。あるいは、通信システム100は、第1クライアントECU20A及び/又は第2クライアントECU20Bに加えて、別のクライアントECUを備えていてもよい。
【0013】
第1サーバーECU10Aの基本的な構成は、第2サーバーECU10Bの基本的な構成と同じである。第1サーバーECU10Aは、第1イーサネット信号線50Aを介してイーサネットスイッチ30に接続されている。第2サーバーECU10Bは、第2イーサネット信号線50Bを介してイーサネットスイッチ30に接続されている。第1イーサネット信号線50A及び第2イーサネット信号線50Bは、イーサネットプロトコルに従って信号を伝達する。なお、イーサネットは登録商標である。別の実施形態では、第1サーバーECU10Aは、第1イーサネット信号線50Aに加えて、他のイーサネット信号線
を介してイーサネットスイッチ30に接続されていてもよい。また、第2サーバーECU10Bは、第2イーサネット信号線50Bに加えて、他のイーサネット信号線を介してイーサネットスイッチ30に接続されていてもよい。
【0014】
第1クライアントECU20Aの基本的な構成は、第2クライアントECU20Bの基本的な構成と同じである。第1クライアントECU20A及び第2クライアントECU20Bの各々は、第1イーサネット信号線50A及び/又は第2イーサネット信号線50Bを介して、イーサネットスイッチ30に接続されている。本実施形態では、第1イーサネット信号線50Aの帯域は、第2イーサネット信号線50Bの帯域よりも広い。例えば、第1イーサネット信号線50Aの帯域は、1秒当たり10Gビットであり、第2イーサネット信号線50Bの帯域は、1秒当たり10Mビットである。別の実施形態では、第1クライアントECU20A及び第2クライアントECU20Bの各々は、第1イーサネット信号線50A及び/又は第2イーサネット信号線50Bに加えて、他のイーサネット信号線を介してイーサネットスイッチ30に接続されていてもよい。
【0015】
イーサネットスイッチ30は、第1サーバーECU10Aと第1クライアントECU20A及び/又は第2クライアントECU20Bとの間、並びに、第2サーバーECU10Bと第1クライアントECU20A及び/又は第2クライアントECU20Bとの間に、イーサネット通信を確立する。また、イーサネットスイッチ30は、第1サーバーECU10Aと第2サーバーECU10Bとの間にイーサネット通信を確立してもよいし、第1クライアントECU20Aと第2クライアントECU20Bとの間にイーサネット通信を確立してもよい。イーサネットスイッチ30は、イーサネット通信が確立されたECU間で、イーサネットパケットを中継する。
【0016】
次に、
図2を参照して、第1サーバーECU10Aの構成について説明する。第1サーバーECU10Aは、カメラモジュールであり、映像を撮影して、映像ストリームを第1クライアントECU20A及び/又は第2クライアントECU20Bへ送信する。映像ストリームは、継続的には発生するストリームデータであり、時刻情報を含んでもよい。
【0017】
第1サーバーECU10Aは、イメージャ11と、サーバーサービス制御部12と、を備える。イメージャ11は、第1クライアントECU20A及び/又は第2クライアントECU20Bへカメラサービスを提供する。
【0018】
サーバーサービス制御部12は、サービス指向通信を実現するためのプロトコルスタックを実装し、イメージャ11により撮影された映像データを、イベントデータとして配信する。具体的には、サーバーサービス制御部12は、Scalable service - Oriented MiddlewarE over Internet Protocol(以下、SOME/IP)、Data Distribution Service
(以下、DDS)などのサービス指向通信プロトコルを実装している。SOME/IP及びDDSは、Transmission Control Protocol / Internet Protocol(以下、TCP/IP)上で実現される。本実施形態において、SOME/IP及びDDSは、本開示の第1プロトコルに相当する。
【0019】
さらに、サーバーサービス制御部12は、大容量データを配信するためのプロトコルスタックを実装していてもよい。具体的には、サーバーサービス制御部12は、大容量データを配信するため、Institute of Electrical and Electronics Engineers (以下、IEEE)1722などのプロトコルを実装していてもよい。本実施形態において、IEEE1722は、本開示の第2プロトコルに相当する。
【0020】
サーバーサービス制御部12は、第1イーサネット信号線50Aを介して、サービスを提供するための提示メッセージを、第1及び第2クライアントECU20A,20Bへ送
信する。提示メッセージは、SOME/IP又はDDSに従っており、サービスIDを含み、第1サーバーECU10Aが提供するサービスの内容を示す。サーバーサービス制御部12が、第1クライアントECU20A及び/又は第2クライアントECU20Bからイベントデータの購読要求を受けたことにより、第1サーバーECU10Aと、第1クライアントECU20A及び/又は第2クライアントECU20Bとの間にサービス指向通信が確立される。
【0021】
サーバーサービス制御部12は、サービス指向通信の確立後、第1イーサネット信号線50Aを介して、第1クライアントECU20A及び/又は第2クライアントECU20Bへ、SOME/IP又はIEEE1722に従って、所定の間隔でイベントデータを送信する。イベントデータは、映像ストリームである。
【0022】
第2サーバーECU10Bは、イメージャ11以外のマイクロプロセッシングユニットを備え、第1サーバーECU10Aと異なる機能を有し、カメラサービス以外のサービスを第1クライアントECU20A及び/又は第2クライアントECU20Bへ提供する。例えば、第2サーバーECU10Bは、アクチュエータを制御する制御装置であってもよい。また、別の実施形態では、第1サーバーECU10Aは、イメージャ11以外のマイクロプロセッシングユニットを搭載し、カメラサービス以外のサービスを提供してもよい。
【0023】
次に、
図2及び3を参照して、第1クライアントECU20Aの構成について説明する。第2クライアントECU20Bは、第1クライアントECU20Aと同様の構成を備えるため、説明を省略する。第1クライアントECU20Aは、ホストデバイス21と、サービスレシーバ22と、第1信号線25と、第2信号線26と、メモリ28と、を備える。
【0024】
ホストデバイス21は、小規模なマイクロプロセッシングユニット又はシステムオンチップである。
図3に示すように、ホストデバイス21は、CPU215と、内部バス217と、を備える。
【0025】
さらに、ホストデバイス21は、CPU215がプログラムを実行することにより、設定部213の機能を有する。別の実施形態では、設定部213の機能は、ハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの組み合わせにより実現されてもよい。
【0026】
ホストデバイス21、第1信号線25及び第2信号線26の各々を介してサービスレシーバ22に接続されている。詳しくは、第1信号線25は、後述するサービスレシーバ22の第1インターフェース(以下、第1IF)225に接続されており、第2信号線26は、第2インターフェース(以下、第2IF)226に接続されている。
【0027】
第1信号線25は、ホストデバイス21とサービスレシーバ22との間で、設定値及び通知などの小容量データを送受信するための信号線である。第1信号線25及び第1IF225は、Serial Peripheral Interface (以下、SPI)などに対応している。
【0028】
第2信号線26は、映像ストリームのような大容量データを高速で送信するための信号線である。第2信号線26及び第2IF226は、Mobile Industry Processor Interface - Camera Serial Interface (MIPI-CSI)、Mobile Industry Processor Interface - Camera Serial Interface 2 (MIPI-CSI2)、Mobile Industry Processor Interface - Display Serial Interface (MIPI-DSI)、Peripheral Component Interconnect - Express (PCI-Express)及びDouble Data Rate (DDR)などに
対応している。
【0029】
設定部213は、第1及び第2サーバーECU10A,10Bとの通信に用いる第1設定情報を備え、第1信号線25を介して、後述するクライアントサービス制御部221へ第1設定情報の書き込みを指示する。また、設定部213は、第1及び第2サーバーECU10A,10Bとの通信に用いる第2設定情報を備え、第1信号線25を介して、後述するサービスインターフェース部(以下、サービスIF部)22へ第2設定情報の書き込みを指示する。第1及び第2設定情報は、第1クライアントECU20Aの設計時に設定される。
【0030】
具体的には、
図4に示すように、第1設定情報は、サービスの探索及び自ノードに関する設定値であり、自ノードのMACアドレス、自ノードのIPアドレス、サービス探索用のマルチキャストアドレス、サービス探索用のポート番号、サービス指向通信用のポート番号であるサービス通信ポート番号、イベント配信用のマルチキャストアドレス、及びサービスIDを含む。サービスIDは、第1クライアントECU20Aが必要なサービスを識別する番号である。
【0031】
また、
図5に示すように、第2設定情報は、サーバーECUとのデータの相互変換に用いる設定値である。第2設定情報は、例えば、テーブルであり、サービスの種別と、イベントIDと、トランスポート層のプロトコルの種別と、データ格納先のアドレスと、を関連付けた情報である。サービスの種別は、イベントを含む。トランスポート層のプロトコルの種別は、UDP、IEEE1882を含む。
【0032】
サービスレシーバ22は、サービス指向通信を実現するためのプロトコルスタックを実装している。具体的には、サービスレシーバ22は、SOME/IP、DDSなどのサーブ指向通信プロトコルを実装している。サービス指向通信を実現するためのプロトコルスタックは処理負荷が大きいため、ホストデバイス21に実装することは困難である。そのため、サービスレシーバ22が、サービス指向通信を実現するためのプロトコルスタックを実装している。さらに、サービスレシーバ22は、IEEE1772などの大容量データを受信するためのプロトコルを実装している。
【0033】
サービスレシーバ22は、クライアントサービス制御部221と、サービスIF部222と、第1IF225と、第2IF226と、を備える。第1IF225及び第2IF226は、ハードウェアにより実現されている。
【0034】
クライアントサービス制御部221は、第1サーバーECU10A及び/又は第2サーバーECU10Bへ、第1イーサネット信号線50Aを介して、第1プロトコルに従った探索メッセージを送信する。探索メッセージは、提供を受けることが可能なサービスを探すためのメッセージである。
【0035】
クライアントサービス制御部221は、第1サーバーECU10A及び/又は第2サーバーECU10Bから提示メッセージを受けると、提示メッセージの送信元へ、第1イーサネット信号線50Aを介して、第1プロトコル以従ったイベント購読要求を送信する。あるいは、クライアントサービス制御部221は、第1サーバーECU10A及び/又は第2サーバーECU10Bから提示メッセージを受信したか否かに関わらず、自発的に、イベント購読要求を送信してもよい。例えば、クライアントサービス制御部221は、前回起動時の後述するサーバー情報に基づいて、前回起動時のイベント配信元へ、自発的にイベント購読要求を送信してもよい。
【0036】
サービスIF部222は、第1サーバーECU10A及び/又は第2サーバーECU1
0Bからイベントメッセージを受け、イベントメッセージをストリームデータに変換する。イベントメッセージは、第1プロトコル又は第2プロトコルに従い、第1プロトコル又は第2プロトコルのヘッダとRAWデータとを含む。サービスIF部222は、イベントメッセージからヘッダを削除して、ストリームデータ(すなわち、RAWデータのみ)に変換する。サービスIF部222は、ストリームデータを、第2IF226及び第2信号線26を介して、ホストデバイス21へ送信する。
【0037】
サービスIF部222は、第2設定情報に基づいて、ストリームデータの宛先としてメモリ28(すなわち、メモリ28のアドレス)を指定し、ダイレクトメモリアクセス(以下、DMA)方式で、ストリームデータをメモリ28へ送信してもよい。ストリームデータがDMA方式でメモリ28に送信された場合、ストリームデータは、CPU215を経由せずに、第2IF226から内部バス217を介してメモリ28へ送信される。CPU215は、メモリ28のイベントデータにアクセスし、イベントデータを用いて、アプリケーションプログラムを実行する。
【0038】
映像ストリームのような大容量データを、CPU215へ送ってCPU215に大容量データを処理させると、CPU215の処理負荷が高くなり、CPU215の処理が遅れることがあり得る。ひいては、CPU215によるアプリケーションプログラムの実行に遅延が生じ得る。サービスIF部222が、DMA方式で、ストリームデータをメモリ28へ直接送信することにより、CPU215の処理負荷の増大を抑制し、CPU215によるアプリケーションプログラムの実行の遅延を抑制することができる。別の実施形態では、サービスIF部222は、第2IF226及び内部バス217を介して、ストリームデータをCPU215へ送信してもよい。
【0039】
また、サービスIF部222は、購読イベントを配信しているサーバーECUに関するサーバー情報を有する。具体的には、
図6に示すように、サーバー情報は、例えばテーブルであり、第1クライアントECU20Aが定期購読しているイベントのIDと、イベントを配信しているサーバーECUのIPアドレスとが関連付けられた情報である。
【0040】
なお、クライアントサービス制御部221及びサービスIF部222の各々の機能は、ソフトウェアにより実現されてもよいし、ハードウェアにより実現されてもよい。あるいは、クライアントサービス制御部221及びサービスIF部222の各々の機能は、ソフトウェアとハードウェアの組み合わせにより実現されてもよい。
【0041】
本実施形態において、ホストデバイス21は、本開示の主制御部に相当し、サービスレシーバ22は、本開示の通信レシーバに相当する。
【0042】
<2.処理>
次に、
図7を参照して、サービス指向通信における処理の流れについて説明する。ここでは、第1クライアントECU20Aが第1サーバーECU10Aからイベント配信を受ける処理を説明するが、第1クライアントECU20Aは、第1サーバーECU10Aに加えて、又は代えて、第2サーバーECU10Bからイベント配信を受けてもよい。
【0043】
S10では、ホストデバイス21が、第1信号線25及び第1IF225を介して、SPIに従った第1設定情報をクライアントサービス制御部221へ送り、クライアントサービス制御部221に書き込みを指示する。
【0044】
S20では、ホストデバイス21が、第1信号線25及び第1IF225を介して、SPIに従った第2設定情報をサービスIF部222へ送り、サービスIF部222に書き込みを指示する。
【0045】
続いて、S30では、クライアントサービス制御部221が、第1設定情報に基づき、第1イーサネット信号線50Aを介して、SOME/IPに従った探索メッセージ(すなわち、Find Service)を、第1サーバーECU10Aへ送信する。
【0046】
続いて、S40では、第1サーバーECU10Aが、探索メッセージを受けて、あるいは起動時に、第1イーサネット信号線50Aを介して、SOME/IPに従った提示メッセージ(すなわち、Offer Service)を第1クライアントECU20A(具体的にはサービスレシーバ22のクライアントサービス制御部221)へ送信する。提示メッセージは、第1サーバーECU10Aが提供するサービスとして、映像ストリームの定期配信を示す。
【0047】
続いて、S50では、クライアントサービス制御部221が、提示メッセージを受けて、第1イーサネット信号線50Aを介して、SOME/IPに従ったイベント購読要求メッセージ(すなわち、Subscribe Event Group)を、第1サーバーECU10Aへ送信する。イベント購読要求メッセージは、イベントを定期購読するグループへの加入を要求するメッセージである。クライアントサービス制御部221は、自発的に、イベント購読要求メッセージを第1サーバーECU10Aへ送信してもよい。
【0048】
続いて、S60では、第1サーバーECU10Aが、第1イーサネット信号線50Aを介して、SOME/IPに従ったイベント購読承諾メッセージ(すなわち、Subscribe Event Group Ack)をクライアントサービス制御部221へ送信する。これにより、クライアントサービス制御部221は、サーバー情報に、購読するイベントのIDと関連付けて第1サーバーECU10AのIPアドレスを登録する。クライアントサービス制御部221は、第1サーバーECU10Aから1種類のイベントしか購読しない場合には、サーバー情報に、第1サーバーECU10AのIPアドレスのみ登録すればよい。サーバー情報に第1サーバーECU10Aが登録されることにより、第1クライアントECU20Aと第1サーバーECU10Aとの間でサービス指向通信が確立する。
【0049】
続いて、S70では、第1サーバーECU10Aが、第1イーサネット信号線50Aを介して、イベントデータをサービスIF部222へ送信する。イベントデータは、SOME/IP又はIEEE1722のプロトコルに従っており、SOME/IP又はIEEE1722のヘッダとRAWデータとを含む。第1サーバーECU10Aは、所定の周期で、イベントデータをサービスIF部222へ繰り返し送信する。
【0050】
続いて、S80では、サービスIF部222は、受信したイベントデータからヘッダを除いてストリームデータを生成し、第2IF226及び第2信号線26を介して、生成したストリームデータをホストデバイス21へ送信する。このとき、サービスIF部222は、第2設定情報に基づいてストリームデータの宛先としてメモリ28を指定し、DMA方式で、ストリームデータをメモリ28へ送信してもよい。サービスIF部222は、第1サーバーECU10Aからイベントデータを受信した都度、イベントデータをストリームデータに変換して、ストリームデータをホストデバイス21へ送信する。
【0051】
<3.状態遷移>
次に、
図8を参照して、第1クライアントECU20Aのサービス利用状態の遷移を説明する。第2クライアントECU20Bのサービス利用状態の遷移は、第1クライアントECU20Aのサービス利用状態の遷移と同様であるため、説明を省略する。第1クライアントECU20Aが起動した後、サービス利用状態は、Nоt Requested状態になる。
【0052】
Not requested状態では、第1クライアントECU20Aはサービスを要求していない。サービスレシーバ22に第1設定情報及び第2設定情報が設定されると、サービス利用状態は、Not requested状態からSearching Fоr Service状態へ遷移する。
【0053】
Searching Fоr Service状態では、第1クライアントECU20Aはサービスを要求している。Searching Fоr Service状態では、クライアントサービス制御部221が、サーバーECUへFind Serviceを送信する。そして、クライアントサービス制御部221がサーバーECUからOffer Serviceを受信すると、サービス利用状態は、Searching Fоr Service状態からService Rady状態へ遷移する。
【0054】
Service Ready状態では、クライアントサービス制御部221は、Find Serviceの送信を停止する。そして、クライアントサービス制御部221は、サーバーECUにイベント購読を要求し、サービスの利用を開始する。Service Ready状態では、サービスIF部222は、イベントの購読状態に関わらず、サーバーECUから受信したイベントデータをホストデバイス21へ送信してもよい。なお、Searching Fоr Service状態及びService Ready状態でリンクダウンした際にはNot requested状態へ遷移する。
【0055】
次に、
図9を参照して、第1クライアントECU20Aのイベント購読状態の遷移を説明する。第2クライアントECU20Bのイベント購読状態の遷移は、第1クライアントECU20Aのイベント購読状態の遷移と同様であるため、説明を省略する。第1クライアントECU20Aが起動した後、イベントの購読状態は、Released状態となる。
【0056】
Released状態では、サービスが配信されておらず、クライアントサービス制御部221は、イベントの購読を要求していない。
【0057】
クライアントサービス制御部221がサーバーECUへSubcribe Event Grоupを送信し始めると、イベント購読状態は、Released状態からRequested状態へ遷移する。Requested状態において、クライアントサービス制御部221は、一定間隔でサーバーECUへSubcribe Event Groupを送信する。
【0058】
Requested状態において、クライアントサービス制御部221が、Service Event Group Ackを受信すると、イベント購読状態は、Requested状態からEventgroup Available状態へ遷移する。Requested状態において、クライアントサービス制御部221が、Service Event Group Ackを受信することなく、Subcribe Event Grоupの送信を停止すると、イベント購読状態は、Requested状態からReleased状態へ戻る。Requested状態では、サービスIF部222は、受信したイベントデータをホストデバイス21へ送信してもよい。
【0059】
Eventgroup Available状態では、第1クライアントECU20Aへサービスが配信されており、第1クライアントECU20Aは、イベントを購読している。クライアントサービス制御部221は、Subcribe Event Group Ackを受信すると、Subcribe Event Groupの一定間隔での送信を停止する。Eventgroup Available状態において、クライアントサービス制御部221がSubcribe Event Group Ackを受信してから一定
時間経過しても、サービスIF部222がイベントデータを受信していない場合は、イベント購読状態は、Eventgroup Available状態からRequested状態へ戻る。また、Eventgroup Available状態において、イベントの購読が解除された場合には、イベント購読状態は、Eventgroup Available状態からReleased状態へ遷移する。Eventgroup Available状態では、サービスIF部222は、受信したイベントデータをホストデバイス21へ送信してもよい。
【0060】
<4.効果>
以上詳述した本実施形態によれば、以下の効果を奏する。
(1)サービスレシーバ22は、ホストデバイス21に接続され、第1設定情報及び第2設定情報が設定される。これにより、ホストデバイス21にサービス通信用のプロトコルスタックを実装できない場合でも、第1及び第2クライアントECU20A,20Bにサービス指向通信を導入することができる。したがって、第1及び第2クライアントECU20A,20Bと第1及び第2サーバーECU10A,10Bとの間で全体的にサービス指向通信を実現することができる。
【0061】
(2)クライアントサービス制御部221が自発的にイベント購読要求を第1サーバーECU10Aへ送信することにより、第1及び第2クライアントECU20A,20Bは、希望するイベントの配信をより確実に受けることができる。
【0062】
(3)サービスIF部222が、DMA方式でストリームデータをメモリ28へ送信することにより、ストリームデータが大容量の場合でも、CPU215の処理負荷を抑制して、CPU215の処理の遅延を抑制することができる。
【0063】
(4)サービス指向通信に適した第1プロトコルを用いてサービス指向通信を確立し、大容量データの送信に適した第2プロトコルを用いてイベントデータを送受信することにより、通信を効率化することができる。
【0064】
(5)第1IF225をSPIにすることにより、ホストデバイス21とサービスレシーバ22との間で、設定値及び通知などの小容量データを効率的に送受信することができる。
【0065】
(6)第2IF226をMIPI-CSI、MIPI-CSI2、MIPI-DSI、PCI-Express、及びDDRのいずれかにすることにより、サービスレシーバ22からホストデバイス21へ、大容量のデータを高速で送信することができる。
【0066】
(他の実施形態)
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0067】
(a)上記実施形態では、第1クライアントECU20Aは、サービス指向通信において、イベントの配信を受けていたが、第1サーバーECU10A及び/又は第2サーバーECU10Bと双方向通信を行ってもよい。
【0068】
(b)本開示に記載のサービスレシーバ22及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載のサービスレシーバ22及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュ
ータにより、実現されてもよい。もしくは、本開示に記載のサービスレシーバ22及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。サービスレシーバ22に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0069】
(c)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【0070】
(d)上述した通信レシーバの他、当該通信レシーバを構成要素とするシステム、当該通信レシーバとしてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、サービス指向の通信方法など、種々の形態で本開示を実現することもできる。
【0071】
[本明細書が開示する技術思想]
[項目1]
単一又は複数の通信線(50A,50B)を介して電子制御装置(10A,10B)に接続されるように構成された通信装置(20A,20B)内で、前記通信装置の主制御部(21)に接続される通信レシーバ(22)であって、
前記主制御部に接続されるように構成された第1インターフェース(225)と、
前記主制御部に接続されるように構成された第2インターフェース(226)と、
前記第1インターフェースを介して前記主制御部から受けた第1設定情報に基づき、サービス通信プロトコルである第1プロトコルに従って、前記電子制御装置へサービスを探索するための探索メッセージを送信するように構成されたサービス制御部(221)と、
前記第1インターフェースを介して前記主制御部から受けた第2設定情報に基づき、前記電子制御装置から受信した前記第1プロトコル又は前記第1プロトコルと異なる第2プロトコルに従ったイベントメッセージを、ストリームデータに変換し、前記第2インターフェースを介して前記ストリームデータを前記主制御部へ送信するように構成されたサービスインターフェース部(222)と、
を備える、通信レシーバ。
[項目2]
前記サービス制御部(221)は、前記電子制御装置(10A,10B)へサービス購読要求を自発的に発信するように構成されている、
項目1に記載の通信レシーバ。
[項目3]
前記サービスインターフェース部(222)は、前記第2インターフェース(226)及び前記主制御部(21)を介して、前記第2設定情報により指定されたメモリ(28)へ、ダイレクトメモリアクセス方式で前記ストリームデータを送るように構成されている、
項目1又は2に記載の通信レシーバ。
[項目4]
前記第1プロトコルは、Scalable service - Oriented MiddlewarE over IP(SOME
/IP)、又は、Data Distribution Service (DDS)である、
項目1~3のいずれか1項目に記載の通信レシーバ。
[項目5]
前記第2プロトコルは、Institute of Electrical and Electronics Engineers (IEEE)1722である、
項目1~4のいずれか1項目に記載の通信レシーバ。
[項目6]
前記第1インターフェース(225)は、Serial Peripheral Interface (SPI)である、
項目1~5のいずれか1項目に記載の通信レシーバ。
[項目7]
前記第2インターフェース(226)は、Mobile Industry Processor Interface - Camera Serial Interface (MIPI-CSI)、Mobile Industry Processor Interface - Camera Serial Interface 2 (MIPI-CSI2)、Mobile Industry Processor Interface - Display Serial Interface (MIPI-DSI)、Peripheral Component Interconnect - Express (PCI-Express)及びDouble Data Rate (DDR)のいずれかである、
項目1~6のいずれか1項目に記載の通信レシーバ。
【符号の説明】
【0072】
10A…第1サーバーECU、10B…第2サーバーECU、20A…第1クライアントECU、20B…第2クライアントECU、21…ホストデバイス、22…サービスレシーバ、28…メモリ、100…通信システム、221…クライアントサービス制御部、222…サービスIF部、225…第1IF、226…第2IF。