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

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

▶ ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングの特許一覧

特開2022-121402シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法
<>
  • 特開-シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法 図1
  • 特開-シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法 図2
  • 特開-シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法 図3
  • 特開-シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022121402
(43)【公開日】2022-08-19
(54)【発明の名称】シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法
(51)【国際特許分類】
   H04L 12/40 20060101AFI20220812BHJP
   H04L 45/745 20220101ALI20220812BHJP
【FI】
H04L12/40 Z
H04L45/745
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022016859
(22)【出願日】2022-02-07
(31)【優先権主張番号】10 2021 201 120.9
(32)【優先日】2021-02-08
(33)【優先権主張国・地域又は機関】DE
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100195408
【弁理士】
【氏名又は名称】武藤 陽子
(72)【発明者】
【氏名】シュテファン・ティーレ
(72)【発明者】
【氏名】アルトゥール・ムッター
(72)【発明者】
【氏名】クリスティアン・ホルスト
(72)【発明者】
【氏名】フロリアン・ハートビヒ
【テーマコード(参考)】
5K030
5K032
【Fターム(参考)】
5K030HC14
5K030KA04
5K032AA03
(57)【要約】      (修正有)
【課題】シリアルバスシステムのための加入者局及び通信のための方法を提供する。
【解決手段】シリアルバスシステム1において、加入者局10~30は、タスク13~33)を実行するためのアプリケーション11~31と、加入者局が相互にメッセージ45、46を交換するバスから、メッセージをフレームの形態でシリアル受信するための送信/受信機構17~37と、受信したフレームをフィルタリングするためのフィルタモジュール18~38とを有する。フィルタモジュールはフィルタリングのため、受信したフレームをアプリケーション11~31へ転送するべきか否かを決定するためにフレームの少なくとも2つの異なるセグメントを別々にチェックする。
【選択図】図1
【特許請求の範囲】
【請求項1】
シリアルバスシステム(1)のための加入者局(10;20;30)であって、
タスク(13;23;33)を実行するためのアプリケーション(11;21;31)と、
バスシステム(1)の加入者局(10;20;30)が相互にメッセージ(45;46)を交換する前記バスシステム(1)のバス(40)からメッセージ(45;46)をフレーム(450)の形態でシリアル受信するための送信/受信機構(17;27;37)と、
前記受信したフレーム(450)をフィルタリングするためのフィルタモジュール(18;28;38)とを有し、
前記フィルタモジュール(18;28;38)がフィルタリングのため、前記受信したフレーム(450)を前記アプリケーション(11;21;31)へ転送するべきか否かを決定するために前記フレーム(450)の少なくとも2つの異なるセグメント(SG1~SGn)を別々にチェックするよう構成されている、加入者局(10;20;30)。
【請求項2】
請求項1に記載の加入者局(10;20;30)であって、
前記フィルタモジュール(18;28;38)が、前記フレーム(450)の前記少なくとも2つの異なるセグメント(SG1~SGn)を、フィルタ命令(1811~1815)に基づいて参照データ(1821~1822)と比較してチェックするよう構成されており、
前記フィルタモジュール(18;28;38)が、前記参照データ(1821~1822)を複数のフィルタ命令(1811~1815)のために再使用するよう構成されている、
加入者局(10;20;30)。
【請求項3】
請求項1または2に記載の加入者局(10;20;30)であって、前記フィルタモジュール(18;28;38)が、
前記受信したフレーム(450)の前記少なくとも2つの異なるセグメント(SG1~SGn)をフィルタリングするためのフィルタ命令(1811~1815)を保存するための第1のメモリブロック(181)と、
前記受信したフレーム(450)の前記2つの異なるセグメントの少なくとも1つ(SG1~SGn)と比較するための参照データ(1821~1822)を保存するための第2のメモリブロック(182)と、
前記受信したフレーム(450)を前記アプリケーション(11;21;31)へ転送するか否かを決定するために前記参照データ(1821~1822)を考慮して前記フィルタ命令(1811~1815)をチェックするためのチェックブロック(183)とを有する、加入者局(10;20;30)。
【請求項4】
請求項1から3のいずれか1項に記載の加入者局(10;20;30)であって、前記フィルタ命令(1811~1815)が、前記受信したフレーム(450)のどのセグメント(SG1~SGn)をどの参照データ(1821~1822)と比較するべきかを定義する、加入者局(10;20;30)。
【請求項5】
請求項1から4のいずれか1項に記載の加入者局(10;20;30)であって、前記フィルタ命令(1811~1815)が、比較結果をどのように論理的に総合結果に結びつけるかを定義する、加入者局(10;20;30)。
【請求項6】
請求項1から5のいずれか1項に記載の加入者局(10;20;30)であって、前記フィルタ命令の1つ(1811~1815)が、
どの受信したフレーム(450)を受け入れるべきかを指示する少なくとも1つの第1の命令と、
受け入れられたフレーム(450)で何を実行するべきかを指示する少なくとも1つの第2の命令とを有する、加入者局(10;20;30)。
【請求項7】
請求項6に記載の加入者局(10;20;30)であって、
前記少なくとも1つの第2の命令が、前記受信されて受け入れられたフレーム(450)をどのメモリ領域に保存するべきかを指示し、かつ/または
前記少なくとも1つの第2の命令が、前記受信したフレーム(450)にマーキングするべきであることおよびどのようにするべきかを指示する、加入者局(10;20;30)。
【請求項8】
請求項6または7に記載の加入者局(10;20;30)であって、前記フィルタモジュール(18;28;38)が、さらに、受信されて受け入れられたフレーム(450)に、行われた前記フィルタリングについての通知を含む所定の情報(455)を付加するように構成されている、加入者局(10;20;30)。
【請求項9】
請求項1から8のいずれか1項に記載の加入者局(10;20;30)であって、前記参照データ(1821~1822)が、
前記セグメントの少なくとも1つ(SG1~SGn)と比較するために規定された参照値と、
参照値と前記セグメント(SG1~SGn)とのビット単位の比較に基づいて比較結果をビット単位でマスキングするマスクとを有し、
前記参照値および前記マスクがそれぞれ前記セグメント(SG1~SGn)と同じビット幅を有する、加入者局(10;20;30)。
【請求項10】
請求項1から9のいずれか1項に記載の加入者局(10;20;30)であって、すべてのセグメント(SG1~SGn)が同じビット幅を有する、加入者局(10;20;30)。
【請求項11】
請求項1から10のいずれか1項に記載の加入者局(10;20;30)であって、前記セグメントの少なくとも1つ(SG1~SGn)が、少なくとも1つの別のセグメント(SG1~SGn)とは違うビット幅を有する、加入者局(10;20;30)。
【請求項12】
請求項1から11のいずれか1項に記載の加入者局(10;30)であって、
前記メッセージ(45)のために構成される前記フレーム(450)が、CAN FDと互換性があるように構成されており、かつ
前記フレーム(450)の第1の通信フェーズ(451)では、前記バスシステム(1)の前記加入者局(10、20、30)のどれが、次の第2の通信フェーズ(452)において前記バス(40)への少なくとも一時的に排他的で衝突のないアクセスを獲得するかがネゴシエーションにより決定される、加入者局(10;30)。
【請求項13】
1つのバス(40)および
前記バス(40)を介して相互にシリアル通信できるよう互いに接続されている少なくとも2つの加入者局(10;20;30)を備え、前記加入者局(10;20;30)の少なくとも1つの加入者局(10;30)が、請求項1から12のいずれか1項に記載の加入者局(10;30)である、バスシステム(1)。
【請求項14】
シリアルバスシステム(1)における通信のための方法であって、タスク(13;23;33)を実行するためのアプリケーション(11;21;31)および送信/受信機構(17;27;37)を有する、前記バスシステム(1)の加入者局(10;30)によって実行され、
前記送信/受信機構(17;27;37)により、前記バスシステム(1)の加入者局(10;20;30)が互いにメッセージ(45;46)を交換する前記バスシステム(1)のバス(40)からのメッセージ(45;46)をフレーム(450)の形態でシリアル受信するステップ(S2)と、
前記受信したフレーム(450)をフィルタモジュール(18;28;38)によってフィルタリングするステップ(S3)とを有し、
前記フィルタモジュール(18;28;38)が前記フィルタリングのステップ(S3)の際、前記受信したフレーム(450)を前記アプリケーション(11;21;31)へ転送するか否かを決定するために前記フレーム(450)の少なくとも2つの異なるセグメント(SG1~SGn)を別々にチェックする、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法に関し、この方法では、バスシステムの各加入者局が、バスシステムのバスを介して送信されるすべてのメッセージを受信する。
【背景技術】
【0002】
例えば車両内での、センサと制御機器の間の通信のためのバスシステムは、技術的設備または車両の機能数に応じて大きなデータ量の伝送を可能にするべきである。このようなバスシステムの例は、CANベースのバスシステム、FlexRay、またはそれに類するものである。
【0003】
例えば車両の場合、現在は、CAN FDを用いたCANプロトコル仕様としての規格ISO11898-1:2015においてデータがメッセージとして伝送されるバスシステムが導入段階にある。バスシステムのバス加入者、例えばセンサ、制御機器、送信器などの間でメッセージが伝送される。このためにメッセージは、2つの通信フェーズが切り替わるフレーム内で、バス上に送信される。第1の通信フェーズ(アービトレーション)では、バスシステムの加入者局のどれが次の第2の通信フェーズ(データフェーズまたはペイロードの送信)内でそのフレームをバス上に送信してよいかをネゴシエーションで決定する。CAN FDは、たいていのメーカにより最初の段階ではアービトレーションビットレート500kbit/sおよびデータビットレート2Mbit/sで、車両内で用いられる。つまりバスへの伝送の際に、遅い動作モードと速い動作モードの間を行ったり来たりして切り替えることができる。
【0004】
第2の通信フェーズでのさらに大きなデータレートを可能にするため、現在、CAN FDの後継バスシステムが開発され、この後継バスシステムは、CAN XLと呼ばれ、現在、CAN in Automation(CiA)という機関で規格化されている。CAN XLは、CANバスを介した純粋なデータトランスポートだけでなく、ほかの機能、例えば機能的安全性(Safety)、データ安全性(Security)、およびサービス品質(QoS=Quality of Service)もサポートするということである。これは、自律走行車両で必要とされる基本的な特性である。
【0005】
バスシステムの種類にかかわらず、各バスシステム内では、送信されたすべてのメッセージが、バスを介して、メッセージの行き先として決定されているかまたはメッセージに内包されたデータを使用する加入者局に到達しなければならない。しかしながら加入者局が実行するたいていのアプリケーションは、すべてのメッセージのデータを必要としない。
【0006】
したがって加入者局は、加入者局のアプリケーションに、そのアプリケーションでも使用される、バスから受信したメッセージまたはそのデータだけを転送する通信モジュールを使用することができる。通信モジュールはメッセージの数値識別子に基づいて、どのメッセージを転送するべきか、およびどのメッセージを転送するべきでないかを区別できる。これにより通信モジュールはメッセージのアクセプタンスフィルタリングを実行する。
【0007】
このようなアクセプタンスフィルタリングでは、通信モジュールが識別子リストを使用でき、この識別子リストが、通信モジュールがどのメッセージをアプリケーションに受け入れるべきか、したがって通過させるべきかを決定する。これに関しては、通信モジュールがフィルタリングのための識別子の一部を隠すことができ、これにより識別子の群に対する各リスト登録が成立し得る。その代わりにフィルタリングは、受け入れられるべきでない、つまり拒否されるべき識別子のリストを使用できる。この受入れリストおよび/または拒否リストは、ソフトウェアごとに設定可能である。
【0008】
問題は、アプリケーションが幅広く多様な識別子からのメッセージを使用する場合である。とりわけこの場合には、ハードウェアの通信モジュールのフィルタリング能力は、すべての必要なメッセージを通過させ、同時にすべての不必要なメッセージを拒否するには十分でない可能性がある。そのような場合にはアプリケーションのソフトウェアが、残りのアクセプタンスフィルタリングのために計算能力を費やさなければならない。これによりアプリケーションは、場合によってはアプリケーションの動作に必要とされる速度を保証できなくなる。
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって本発明の課題は、上で挙げた問題を解決するシリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法を提供することである。とりわけ、比較的多数の異なるメッセージも、加入者局のアプリケーションのソフトウェアがアクセプタンスフィルタリングのために計算能力を費やす必要なく、専ら加入者局の通信モジュール内で受入れに関してフィルタリング可能な、シリアルバスシステムのための加入者局およびシリアルバスシステムにおける通信のための方法が提供されるべきである。
【課題を解決するための手段】
【0010】
この課題は、請求項1の特徴をもつシリアルバスシステムのための加入者局によって解決される。加入者局は、タスクを実行するためのアプリケーションと、バスシステムの加入者局が相互にメッセージを交換するバスシステムのバスからメッセージをフレームの形態でシリアル受信するための送信/受信機構と、受信したフレームをフィルタリングするためのフィルタモジュールとを有し、フィルタモジュールはフィルタリングのため、受信したフレームをアプリケーションへ転送するべきか否かを決定するためにフレームの少なくとも2つの異なるセグメントを別々にチェックするよう構成されている。
【0011】
加入者局のこの形態は、通信モジュールが、バスから受信した1つのメッセージの、1つ以上の数値識別子をチェックし得ることを可能にする。
【0012】
そのうえこの加入者局は、フィルタ命令と参照値の分離により、参照値が、複数のフィルタ命令のために再使用されることを保証する。これによりメモリスペースが節減され得る。その結果、加入者局のハードウェアのための費用が低下する。
【0013】
この加入者局により、とりわけCANベースのバスシステムでは、第1の通信フェーズにおいて、CANから知られているアービトレーションを維持するにもかかわらず、伝送レートをCANまたはCAN FDに比べてさらに大きく高めることができる。
【0014】
この加入者局によって実施される方法は、バスシステム内に、メッセージをCANプロトコルおよび/またはCAN FDプロトコルに基づいて送信する少なくとも1つのCAN加入者局および/または少なくとも1つのCAN FD加入者局も存在している場合にも用いられ得る。
【0015】
加入者局の有利なさらなる形態は従属請求項に提示されている。
場合によっては、フィルタモジュールは、フレームの少なくとも2つの異なるセグメントをフィルタ命令に基づいて参照データと比較してチェックするよう構成されており、フィルタモジュールは、参照データを複数のフィルタ命令のために再使用するよう構成されている。
【0016】
特殊な一形態では、フィルタモジュールは、受信したフレームの少なくとも2つの異なるセグメントをフィルタリングするためのフィルタ命令を保存するための第1のメモリブロックと、受信したフレームの2つの異なるセグメントの少なくとも1つと比較するための参照データを保存するための第2のメモリブロックと、受信したフレームをアプリケーションへ転送するべきか否かを決定するために参照データを考慮してフィルタ命令をチェックするためのチェックブロックとを有する。
【0017】
フィルタ命令は、受信したフレームのどのセグメントをどの参照データと比較するべきかを定義し得る。
フィルタ命令は、比較結果をどのように論理的に総合結果に結びつけるべきかを定義し得る。
【0018】
フィルタ命令の1つが、どの受信したフレームを受け入れるべきかを指示する少なくとも1つの第1の命令と、受け入れられたフレームで何を実行するべきかを指示する少なくとも1つの第2の命令とを有することが考えられる。この場合、少なくとも1つの第2の命令は、受信されて受け入れられたフレームをどのメモリ領域に保存するべきかを指示し得る。それに加えてまたはその代わりに、少なくとも1つの第2の命令は、受信したフレームにマーキングするべきであることおよびどのようにするべきかを指示し得る。
【0019】
加えて任意選択で、フィルタモジュールは、受信されて受け入れられたフレームに、行われたフィルタリングについての通知を含む所定の情報を付加するよう構成され得る。
参照データが、セグメントの少なくとも1つと比較するために規定された参照値と、参照値とセグメントとのビット単位の比較に基づいて比較結果をビット単位でマスキングするマスクとを有し、参照値およびマスクはそれぞれセグメントと同じビット幅を有することが考えられる。
【0020】
場合によっては、すべてのセグメントが同じビット幅を有する。
一形態では、セグメントの少なくとも1つが、少なくとも1つの別のセグメントとは違うビット幅を有し得る。
メッセージのために構成されるフレームは、CAN FDと互換性があるように構築されており、第1の通信フェーズでは、バスシステムの加入者局のどれが次の第2の通信フェーズでバスへの少なくとも一時的に排他的で衝突のないアクセスを獲得するかがネゴシエーションで決定される。
【0021】
前述の加入者局は、1つのバスおよび少なくとも2つの加入者局を含むバスシステムの一部であってよく、これらの加入者局は、バスを介して相互にシリアル通信できるよう相互に接続されている。この場合、少なくとも2つの加入者局の少なくとも1つが前述の加入者局である。
【0022】
上で挙げた課題は、さらに請求項14に基づくシリアルバスシステムにおける通信のための方法によって解決される。この方法は、制御タスクを実行するためのアプリケーションおよび送信/受信機構を有する、バスシステムの加入者局によって実行され、送信/受信機構により、バスシステムの加入者局が相互にメッセージを交換するバスシステムのバスからのメッセージをフレームの形態でシリアル受信するステップ、受信したフレームをフィルタモジュールによってフィルタリングするステップを有し、フィルタモジュールはフィルタリングのステップの際、受信したフレームをアプリケーションへ転送するべきか否かを決定するためにフレームの少なくとも2つの異なるセグメントを別々にチェックする。
【0023】
この方法は、上で加入者局に関して挙げた利点と同じ利点を提供する。
本発明のさらなる実装可能性は、上でまたは以下で例示的実施形態に関連して述べている特徴または実施形態の明確には挙げていない組合せも含む。これに関し、当業者は本発明のそれぞれの基本形に対する改善または補充としての個々の態様も付け加えるであろう。
【0024】
以下では、添付の図面を参照しながら、および例示的実施形態に基づいて、本発明をより詳しく説明する。
【図面の簡単な説明】
【0025】
図1】第1の例示的実施形態に基づくバスシステムのブロック図である。
図2】第1の例示的実施形態に基づくバスシステムの加入者局によって送信され得るメッセージの構造を図解するための模式図である。
図3】第1の例示的実施形態に基づくバスシステムの加入者局のフィルタモジュールのブロック図である。
図4】第1の例示的実施形態に基づくバスシステムのバスからメッセージを受信する際にフィルタモジュールによって実行される方法のフローチャートである。
【発明を実施するための形態】
【0026】
図では、同一のまたは機能的に同じ要素には、別の記載がない限り同じ符号を付している。
以下に説明するように図1は例として、とりわけ基本的に、CANバスシステム、CAN FDバスシステム、CAN XLバスシステム、および/またはその変形形態のために構成されているバスシステム1を示す。ただしこのバスシステムはその代わりにFlexRayまたは任意の別のシリアルバスシステムのために構成され得る。
【0027】
図1では、バスシステム1が、第1のバス配線41および第2のバス配線42を備えたバス40に、それぞれ接続されている複数の加入者局10、20、30を有する。バス配線41、42は、CANベースのバスシステムではCAN_HおよびCAN_LまたはCAN-XL_HおよびCAN-XL_Lと呼ぶこともでき、かつ送信状態の信号のそれぞれのレベルのカップリングに基づく電気的な信号伝送に用いられる。CANベースのバスシステムでは、バス40を介して送信状態の信号を送信するために、少なくとも一時的にドミナントレベルがカップリングされるかまたはレセシブレベルが生成される。
【0028】
バス40を介し、メッセージ45、46が信号の形態で、個々の加入者局10、20、30の間でシリアル伝送され得る。図1で黒いギザギザの矢印で示されるように、通信の際にバス40上でエラーが発生すると、任意選択でエラーフレーム47(Error Flag)が送信され得る。
【0029】
バスシステム1は、車両、とりわけ自動車、飛行機などで、または病院などで使用され得る。加入者局10、20、30は、例えば自動車の制御機器、センサ、表示装置などである。
【0030】
図1に示されるように加入者局10はアプリケーション11および通信モジュール15を有する。通信モジュール15は、通信制御機構16、送信/受信機構17、およびフィルタモジュール18を有する。フィルタモジュール18は通信制御機構16内に設けられている。
【0031】
加入者局20はアプリケーション21および通信モジュール25を有する。通信モジュール25は、通信制御機構26、送信/受信機構27、および任意選択でフィルタモジュール28を有する。フィルタモジュール28は送信/受信機構27内に設けられている。
【0032】
加入者局30はアプリケーション31および通信モジュール35を有する。通信モジュール35は、通信制御機構36、送信/受信機構37、およびフィルタモジュール38を有する。フィルタモジュール38は、通信制御機構36および送信/受信機構37から独立して通信モジュール35内に設けられている。
【0033】
加入者局10、20、30の送信/受信機構17、27、37はそれぞれ、たとえ図1ではそれが図解されていなくても、直接的にバス40に接続されている。
【0034】
アプリケーション11は、加入者局10のマイクロコントローラによって実行可能なソフトウェアであり得る。アプリケーション11は少なくとも1つのコンピュータプログラムを有し得る。加入者局10が例えばワイパーのための制御機構である場合、アプリケーション11はワイパーの動きを制御するためのソフトウェアであり得る。このソフトウェアは、ワイパーの動きを自動的に制御するため、例えば雨センサおよび/または速度センサのデータを使用し得る。雨センサおよび/または速度センサは、バスシステム1の加入者局であることができ、かつバス40を介してそのデータを送信できる。ごく一般的にはアプリケーション11は、加入者局10によって実行されるべきタスク13、とりわけ制御タスクを実行する。タスク13は、少なくとも1つの部品の動きを引き起こすことができ、この動きは、機械式および/または電気式および/または空圧式および/または液圧式に駆動され得る。その代わりにまたはそれに加えてタスク13は、データの計算および/または比較および/または捕捉を含み得る。
【0035】
これに加えてアプリケーション21は、加入者局20のマイクロコントローラによって実行可能なソフトウェアであり得る。アプリケーション21は、加入者局20によって実行されるべきタスク23を実行する。これに加えてアプリケーション31は、加入者局30のマイクロコントローラによって実行可能なソフトウェアであり得る。アプリケーション31は、加入者局30によって実行されるべきタスク33を実行する。アプリケーション21、31には、上記でアプリケーション11に関して説明したのと同じことが当てはまる。
【0036】
通信制御機構16、26、36はそれぞれ、それぞれの加入者局10、20、30が、バス40を介し、バス40に接続している加入者局10、20、30の少なくとも1つの別の加入者局と通信するのを制御するために用いられる。その際、加入者局10、20、30、とりわけそのアプリケーション11、21、31の間で、バス40を介してメッセージ45、46が交換される。
【0037】
通信制御機構16、36は、例えば改変されたCANメッセージ45である第1のメッセージ45を作成し、かつ読み出す。この改変されたCANメッセージ45は、図2を参照しながらより詳細に説明するCAN XLフォーマットを基礎として構築されている。加えて通信制御機構16、36は、必要に応じてCAN XLメッセージ45またはCAN FDメッセージ46を、送信/受信機構17、37に提供するかまたは送信/受信機構17、37から受信するよう作製され得る。つまり、通信制御機構16、36は、第1のメッセージ45または第2のメッセージ46を作成し、かつ読み出し、この第1および第2のメッセージ45、46は、そのデータ伝送規格によって区別され、つまりこの場合にはCAN XLまたはCAN FDである。
【0038】
通信制御機構26は、従来のCANコントローラのように、ISO 11898-1:2015に基づいて作製でき、つまり例えばCAN FDトレラントなクラシカルCANコントローラまたはCAN FDコントローラである。通信制御機構26は、第2のメッセージ46、例えばCAN FDメッセージ46を作成し、かつ読み出す。CAN FDメッセージ46の場合、0~64個のデータバイト数を含むことができ、さらにそのため、クラシカルCANメッセージの場合より明らかに速いデータレートで伝送される。とりわけ、通信制御機構26は従来のCAN FDコントローラのように作製されている。
【0039】
送信/受信機構27は、ISO 11898-1:2015に基づく従来のCANトランシーバまたはCAN FDトランシーバのように作製され得る。送信/受信機構17、37は、必要に応じてCAN XLフォーマットに基づくメッセージ45または現在のCAN FDフォーマットに基づくメッセージ46を、関連する通信制御機構16、36に提供するかまたは関連する通信制御機構16、36から受信するために作製され得る。
【0040】
両方の加入者局10、30により、CAN XLフォーマットでのメッセージ45の生成およびその後の伝送ならびにこのようなメッセージ45の受信が実現可能である。
図2はメッセージ45に関し、送信/受信機構17により時間tとともにバス40からシリアル受信されて通信制御機構16に提供され得るようなフレーム450を示している。
【0041】
フレーム450は、CANベースのバスシステムでは、CANもしくはCAN FDフレームまたはCAN XLフレームであり得る。CAN XLフレームはバスシステム内で、CANまたはCAN FDに比べて高い正味データ伝送レートで、とりわけ1秒当たり約10メガビットで伝送され得る。これに加え、CAN XLフレームごとのペイロードのサイズは、とりわけ約2キロバイトまたは任意の別の値、例えば1バイト~2キロバイトの間の値を有し得る。これに関しこの例示的実施形態では、通信制御機構16がCAN XLフレームを、例えばCAN FDとの互換性をもたせて作成する。同じことが、加入者局30の通信制御機構36および送信/受信機構37に類似的に当てはまる。
【0042】
図2によれば、時間tとともにシリアル受信されたフレーム450は、異なるセグメントSG1、SG2、SG3、SG4~SGn-1、SGnに区分されている。セグメントSG1~SGnは、異なる通信フェーズ451、452に、つまりCANの場合はアービトレーションフェーズ451およびそれに続くデータフェーズ452に割り当てられ得る。セグメントSG1が最初に受信され、その後にセグメントSG2、そしてさらに次というように受信される。
【0043】
図2の例では、セグメントSG1が、識別子(ID)をもつアービトレーションフィールドを構成する。セグメントSG2は、フレーム450の制御フィールドである。セグメントSG3、SG4はそれぞれ、フレーム450のデータフィールドの一部を構成する。データフィールドはセグメントSGn-1内で終了する。
【0044】
その代わりに、例えばセグメントSG1、SG2が、識別子(ID)をもつアービトレーションフィールドを構成する。セグメントSG3、SG4が制御フィールドを構成する。フレーム450のデータフィールドはその後に、つまりセグメントSG5で始まってセグメントSGn-1内で終了する。セグメントSG1~SGnの任意のそのほかの配分が可能である。
【0045】
セグメントSGn内では、チェックサムフィールドと、通信フェーズ452、451の切替のためのフィールドおよびフレームエンドフィールドを含むフレーム終端フィールドとが存在し得る。セグメントSG1~SGnは、この例示的実施形態では、図2の例で示されるようにそれぞれ同じ長さである。
【0046】
アービトレーションフェーズ451では、加入者局10、20、30の間で、どの加入者局10、20、30が、メッセージ45、46を最高優先度で送信したいか、よって次の送信時間に、続くデータフェーズ452においてバスシステム1のバス40への排他的なアクセスを獲得するかを、識別子(ID)を使ってビット単位でネゴシエーションによって決定する。アービトレーションフェーズ451では、物理層がCANおよびCAN-FDの場合のように使用される。物理層は、ビット伝送層または既知のOSIモデル(Open Systems Interconnection Modell)のレイヤ1に相当する。
【0047】
CANベースのバスシステムでのフェーズ451において重要な点は、既知のCSMA/CR方式が使用されることであり、この方式は、バス40への加入者局10、20、30の同時アクセスを可能にし、このとき、より高く優先順位付けされたメッセージ45、46は破壊されない。これによりバスシステム1に、比較的簡単にさらなるバス加入者局10、20、30を加えることができ、これは非常に有利である。
【0048】
CSMA/CR方式により、バス40上はいわゆるレセシブ状態でなければならず、このレセシブ状態は、ほかの加入者局10、20、30により、バス40上でのドミナント状態によって上書きされ得る。レセシブ状態では、単一の加入者局10、20、30において高抵抗の状況が支配的であり、これは、バス配線の寄生との組合せで比較的長い時定数になる。
【0049】
CAN XLとCAN FDに互換性がある場合、CAN FDおよびCAN XLのフレームフォーマットは、resビットまたはXLFビットまでは同じである。この場合、CAN FDによって知られたresビット(以下に、XLFビットと言う)は、CAN FDフォーマットからCAN XLフォーマットへの切替に利用される。受信者は、resビットで初めて、フレーム450がどのフォーマットで送信されるかを認識する。CAN XL加入者局、つまりここでは加入者局10、30は、CAN FDもサポートしている。
【0050】
データフェーズ452では、制御フィールドの一部と共に、データフィールドからのCAN-XLフレーム450またはメッセージ45のペイロードおよびチェックサムフィールドが送信される。その後には、既に上で言及したように、データフェーズ452からアービトレーションフェーズ451に戻るために用いられるフィールドが続く。
【0051】
メッセージ45の送信者は、送信者としての加入者局10がアービトレーションに勝ち、これにより送信者としての加入者局10が送信のためにバスシステム1のバス40への排他的なアクセスを有したときに初めて、データフェーズ452のビットをバス40上に送信し始める。
【0052】
図3に示されるように、加入者局10のフィルタモジュール18がフレーム450を評価する。その際、フィルタモジュール18は、フレーム450の前述のセグメントSG1~SGnを使用する。フィルタモジュール18は、個々のセグメントSG1~SGnの長さを規定し得る。加えてフィルタモジュール18は、セグメントSG1~SGnのうちの幾つを一緒に評価するかを規定し得る。加えてフィルタモジュール18は、セグメントSG1~SGnのどれを一緒に評価するかを規定し得る。これに関し、セグメントSG1~SGnのうちの一緒に評価されるセグメントは、フレーム450内で直接的に連なってもよく、または一緒に評価されるセグメントSG1~SGnの間に、セグメントSG1~SGnの少なくとも1つの別のセグメントが存在していてもよい。さらに、セグメントを検証するため、セグメントSG1~SGnの少なくとも1つのセグメントを複数回評価することができる。このような場合には、1つのセグメントが複数の参照値と次々に比較および評価される。したがってとりわけ1つのセグメントが検証のために4つの参照値で評価され得る。その代わりにまたはそれに加えて、4つのセグメントが検証のために1つずつの参照値で評価される。両方の挙げた特殊な例では全部で最大4回の検証が実施される。セグメントを検証するため、少なくとも1つのセグメントを複数回評価するためのほかの例はもちろん可能である。
【0053】
フィルタリングのため、フィルタモジュール18に、フレーム450の最初のセグメントSG1~SGnが提供される。前述のようにこれは、例えばCANフレーム450の場合、識別子およびメッセージフォーマットを内包するフレームヘッダ(Header)ならびにデータフィールドの冒頭である。
【0054】
図3によれば、フィルタモジュール18は、第1のメモリブロック181、第2のメモリブロック182、チェックブロック183、選択ブロック184、および結果ブロック185を有する。第1のメモリブロック181内では複数のフィルタ命令1811~1815が保存されている。第2のメモリブロック182内では複数の参照データ1821~1822が保存されている。
【0055】
参照データ1821~1822は別々のリスト内に提供されている。これらのリストの各々が、各フィルタ命令1811~1815によって使用され得る。参照データ1821~1822はそれぞれ、例えば32ビットの参照値および32ビットのマスクを有し得る。したがって参照データ1821~1822はそれぞれ、図3に破線で示しているように2つの部分から成り得る。参照値はマスクと同じビット数を有する。
【0056】
フィルタ命令1811~1815は、チェックブロック183が、メッセージ45またはそのフレーム450のどの情報をどの参照データ1821~1822と比較しなければならないかを定義する。それに加えてまたはその代わりに、フィルタ命令1811~1815は、チェックブロック183によって確定された比較結果が、結果ブロック185によってどのように論理的に総合結果に結びつけられるかまたは結びつけられ得るかを定義する。選択ブロック184は、チェックブロックのために、複数の参照データ1821~1822をフィルタ命令1811~1815に基づいて選択する。
【0057】
フィルタモジュール18のフィルタ方法は、フィルタ命令1811~1815を、参照データ1821~1822、とりわけその参照値から分離する。
【0058】
図3に示されるように、フィルタ命令1811~1815の各々が、図3において破線で示しているように2つの命令部分を有する。それぞれのフィルタ命令1811~1815の第1の命令部分は、フレーム450の受入れチェックのための指示を内包し、第1の命令部分はチェックブロックによって実施される。それぞれのフィルタ命令1811~1815の第2の命令部分は、受け入れられたフレーム450の処理に関する指示を内包する。一般的には以下が当てはまる。
【0059】
1つのフィルタ命令、例えばフィルタ命令1811はその第1の部分において、チェックブロック183に、フレーム450またはメッセージ45の複数のセグメントSG1~SGnをチェックするよう命令し得る。
【0060】
1つのフィルタ命令、例えばフィルタ命令1812はその第1の部分において、セグメントSG1~SGnのどのセグメントを、チェックブロック183内で参照データ1821、1822のどれと比較するべきか、およびその際に検証するかを定義する。
【0061】
1つのフィルタ命令、例えばフィルタ命令1813はその第1の部分において、チェックブロック183が実行した比較の複数を論理的に相互に組み合わせるよう命令し得る。この組合せもチェックブロック183内で実行され得る。
【0062】
1つのフィルタ命令はその第2の部分において、フレーム450またはメッセージ45が受け入れられた場合に実行される命令を内包する。例えばフィルタ命令1811はその第2の部分において、チェックされたフレーム450またはメッセージ45を、結果ブロック185内の所定のメモリ領域1851または1852に保存しなければならないという命令を内包し得る。この命令は、受け入れられたおよび/または受け入れられなかったフレーム450またはメッセージ45に対して有効であり得る。別の例によれば、フィルタ命令1812はその第2の部分において、チェックされたフレーム450またはメッセージ45をマーキングするための命令を有し得る。マーキングは、とりわけ、チェックされたフレーム450またはメッセージ45の高い優先度を提示または意味し得る。マーキングは、とりわけ、チェックされたフレーム450またはメッセージ45がブラックリスト(Black List)とも呼ばれる拒否リストに載っているフレーム450またはメッセージ45であることを提示し得る。
【0063】
したがってフィルタ命令1811~1815は、受け入れられたフレーム450またはメッセージ45をどうしたらいいのかも定義する。受け入れられたフレーム450の処理に関する可能性は、例えばフレーム450の保存および/またはマーキングである。
【0064】
図4は、フィルタモジュール18によって実施されるフィルタ方法を示す。この方法が始まるとチェックモジュール183が第1のステップS1で、フレーム450またはメッセージ45が受信されるかどうかをチェックする。ステップS1での答えがYESならば、このフローはステップS2に進む。
【0065】
ステップS2ではチェックモジュール183が、フレーム450の受信中に、例えば最初の4つのセグメントSG1~SG4が受信されたかどうかをチェックする。一般にチェックモジュール183は少なくとも2つのセグメントSG1、SG2をチェックし得る。ステップS2での答えがYESならば、このフローはステップS3に進む。
【0066】
ステップS3ではチェックモジュール183が、メモリブロック181、182および選択ブロック184を使用してアクセプタンスフィルタリングを実施する。このためにチェックブロック183は、メモリブロック181内のフィルタ命令1811~1815のリストを、これらのフィルタ命令1811~1815の中でセグメントSG1~SG4を受け入れるフィルタ命令が見つかるまで一つずつチェックする。チェックブロック183が全部のリストを処理し終えても適合するフィルタ命令1811~1815が見つからなかった場合、チェックブロック183は、任意選択で代替的な命令をチェックおよび実行し得る。
【0067】
ステップS3でのセグメントSG1~SG4のチェックのために、メモリブロック182の参照データ1821、1822のための別々のリスト内で提供されているそれぞれの参照データ1821、1822が参照される。この参照データ1821、1822の各参照データは、目標値とも呼べる参照値およびマスクを有し、その両方が、セグメントSG1~SGnの1つのビット幅と同じビット幅を有する。この場合「ビット幅」の概念は、すべてのセグメントSG1~SGnが同数のビットを有すること、および個々のセグメントSG1~SGnの長さが同じであることを含む。セグメントSG1~SGnの各々が少なくとも2ビットを有する。例えばセグメントSG1~SGnの各々が32個のビット数を有する。
【0068】
セグメントSG1~SGnの各セグメントをチェックする場合、チェックブロック183は最初に、それぞれのセグメントSG1~SGnと参照値または目標値とのビット単位の比較を実施する。その後、チェックブロック183は、結果ブロック185内でビット単位で結果をマスキングする。例えば、チェックブロック183は最初にセグメントSG1の第1のビットと、関連する参照値とのビット単位の比較を実行する。続いてチェックブロック183はセグメントSG1の第2のビットと、関連する参照値とのビット単位の比較を実行する。このような比較が、セグメントSG1のすべてのほかのビットにも、セグメントSG1の最後のビットと、関連する参照値との比較まで実行される。
【0069】
単一の結果、とりわけ一致ueか否かは、ステップS3でフィルタ命令1811~1815において論理的に解釈され、これは例えば以下のようである。
* セグメントと参照値または目標値とが一致の場合、単一の結果は受け入れられている。
* セグメントと参照値または目標値とが不一致の場合、単一の結果は受け入れられている。
* チェックが必要とされていない場合、単一の結果は受け入れられている。
【0070】
チェックブロック183によってチェックされた1つのフィルタ命令1811~1815は、すべての単一の結果が受け入れられている場合に、フレーム450またはメッセージ45を受け入れる。この場合にはフィルタ工程も終了する。したがってその時のフレーム450またはメッセージ45のためにさらなるフィルタ命令1811~1815は処理されない。その後、このフローはステップS4に進む。
【0071】
疑似コードとして、ステップS3でのフィルタモジュール18のフィルタリングは以下のように表現され得る。
for n=1 to 4 do
if((セグメント[n]XOR目標値[n])AND(NOTマスク[n]))=0 then //一致
end if
end for
【0072】
ステップS4では、フレーム450またはメッセージ45が受け入れられているかどうかがチェックされる。任意選択で、フィルタ命令1811~1815がそれを要求する場合は、とりわけバス40への通信および/またはアプリケーション11の実行の割込み(Interrupt)が作動され得る。フレーム450またはメッセージ45が受け入れられている場合、このフローはステップS5に進む。フレーム450またはメッセージ45が受け入れられていない場合、このフローはステップS7に進む。
【0073】
ステップS5では、受け入れられたフレーム450またはメッセージ45が、とりわけ結果ブロック185に保存される。この場合、フレーム450またはメッセージ45は、結果ブロック185内でさらなる情報455、詳しくは例えば以下の情報を補足される。
【0074】
455_1)フレーム450またはメッセージ45をどこへ保存するべきか、これに関しては複数のメモリの選択が提供され得る。メモリの少なくとも1つは、最初に保存された要素が最初にメモリから再び取り出されるメモリ原理(First in First Out(FIFO))に基づくメモリキューであり得る。
【0075】
455_2)フレーム450またはメッセージ45がどのフィルタ命令1811~1815を満たしたか、またはどれに適合したか。言い換えれば、フィルタインデックスが作成される。
【0076】
455_3)満たされたフィルタ命令1811~1815によって制御されるフレーム450またはメッセージ45のマーキング、とりわけ優先度(高いもしくは中くらいもしくは低い)または危険度(ブラックリスト(Black List))。
その後、このフローはステップS6に進む。
【0077】
ステップS6では、結果ブロック185がフレーム450またはメッセージ45をアプリケーション11へ転送する。これによりアプリケーション11は、任意選択で時間的遅延なくまたはすぐに、フレーム450またはメッセージ45に内包されているペイロードを使用し得る。その後、このフローはステップS1に戻る。
【0078】
ステップS7では、受け入れられなかったフレーム450またはメッセージ45が拒否される。つまり結果ブロック185はフレーム450またはメッセージ45をアプリケーション11へ転送しない。その後、このフローはステップS1に戻る。
【0079】
この方法は、加入者局10またはフィルタモジュール18をオフにすると終了する。
前述の方法は、疑似コードにより例えば以下のように記述され得る。
アクセプタンスフィルタリングプログラムを開始
メッセージの受信を待機
セグメント4が受信されるまで待機
すべてのフィルタ命令のために繰り返す
メモリからフィルタ命令を読み出す
すべてのセグメント1..4のために繰り返す //セグメントのシーケンシャルチェック
このセグメントのチェックがフィルタ命令によって要求されている場合
メモリから相応の参照データを読み出す
x=セグメント[n]XOR参照データ.目標値 //ビット単位の比較
x=xAND(NOT参照データ.マスク) //ビット単位のマスキング
ue[n]=真(x=0の場合)、さもなくば偽 //ue=一致
フィルタ命令が結果の反転を要求する場合
ue[n]=NOT ue[n]
さもなくばue[n]=真
ue=ue[1] AND ue[2] AND ue[3] AND ue[4] //すべてのセグメントで一致が確定
ue=偽の場合、その後、次のフィルタ命令をチェック
ue=偽の場合 //適合するフィルタ命令は見つからなかった?
メモリから代替的なフィルタ命令を読み出す //セグメントのチェックなし、命令のみ
//命令を実行
フィルタ命令がそれを要求する場合は割込みを作動
フィルタ命令に基づきメッセージ内の情報を補足
フィルタインデックス
ブラックリストに載っている
フィルタ命令がそれを要求する場合はメッセージを転送
アクセプタンスフィルタリングプログラムの終了
【0080】
第2の例示的実施形態によれば、セグメントSG1~SGnは、図2の例で示されるようにすべてが同じ長さではない。その代わりにこの例示的実施形態では、セグメントSG1~SGnの少なくとも1つのセグメントが、セグメントSG1~SGnのほかのセグメントとは違う長さを有する。
【0081】
この場合、例えば1つのセグメントのある特定の区間だけが、別の1つのセグメント全体またはとりわけ参照値と比較され得る。その代わりに、1つのセグメントの所定の区間だけが別の1つのセグメントの所定の区間またはとりわけ参照値と比較され得る。とりわけ、アービトレーションフィールド内のセグメントSG1の冒頭はデータフィールドのセグメントSG3と比較され得、かつ/またはセグメントSG1の末尾はデータフィールドのセグメントSG4と比較される。セグメントSG1~SGnの一区間を比較するための任意のほかのバリエーションが可能である。
【0082】
その他の点では、第2の例示的実施形態でのバスシステム1の機能方式は、上で第1の例示的実施形態に関して述べた機能方式と同じである。
【0083】
バスシステム1の加入者局10、20、30およびそこで実行される方法のすべての前述の形態は、単独でまたはすべての可能な組合せにおいて使用され得る。とりわけ、前述の例示的実施形態および/またはその変形形態のすべての特徴が、任意に組み合わされ得る。それに加えてまたはその代わりに、とりわけ以下の変形形態が考えられる。
【0084】
たとえ本発明が上でCANバスシステムの例に関して説明されているとしても、本発明は、バス40からのデータのためのアクセプタンスフィルタリングが実施されるあらゆる通信ネットワークおよび/または通信方法で用いられ得る。とりわけ、本発明はその他のシリアル通信ネットワーク、例えばイーサネットおよび/または100Base-T1イーサネット、フィールドバスシステムなどの開発の際に用いられ得る。
【0085】
とりわけ、例示的実施形態に基づくバスシステム1は、データを2つの異なるビットレートでシリアル伝送可能な通信ネットワークであり得る。ただし、このバスシステム1では少なくとも特定の期間中は1つの共通のチャネル上への1つの加入者局10、20、30の排他的な衝突のないアクセスが保証されているということは、必ずしも前提条件ではないが有利である。
【0086】
例示的実施形態のバスシステム1内の加入者局10、20、30の数および構成は任意である。とりわけ、バスシステム1内の加入者局20は省いてもよい。バスシステム1内に加入者局10または30の1つまたは複数が存在していてよい。バスシステム1内のすべての加入者局が同じように構成されており、つまり加入者局10だけまたは加入者局30だけが存在していることが考えられる。
【符号の説明】
【0087】
1 (シリアル)バスシステム
10;20;30 加入者局
11;21;31 アプリケーション
13;23;33 タスク
17;27;37 送信/受信機構
18;28;38 フィルタモジュール
181 第1のメモリブロック
1811~1815 フィルタ命令
182 第2のメモリブロック
1821~1822 参照データ
183 チェックブロック
40 バス
45;46 メッセージ
450 フレーム
451 第1の通信フェーズ
452 第2の通信フェーズ
455 所定の情報
SG1~SGn セグメント
S2 シリアル受信するステップ
S3 フィルタリングするステップ
図1
図2
図3
図4
【外国語明細書】