(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-27
(45)【発行日】2024-04-04
(54)【発明の名称】シリアルバスシステム用の加入局およびシリアルバスシステムでの通信方法
(51)【国際特許分類】
H04L 1/00 20060101AFI20240328BHJP
【FI】
H04L1/00 A
H04L1/00 B
(21)【出願番号】P 2022532780
(86)(22)【出願日】2020-12-01
(86)【国際出願番号】 EP2020084122
(87)【国際公開番号】W WO2021110675
(87)【国際公開日】2021-06-10
【審査請求日】2022-07-28
(31)【優先権主張番号】102019218715.3
(32)【優先日】2019-12-02
(33)【優先権主張国・地域又は機関】DE
(73)【特許権者】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100201743
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】ゼンガー,クリスティアン
(72)【発明者】
【氏名】ムッター,アルトゥール
(72)【発明者】
【氏名】ホルスト,クリスティアン
(72)【発明者】
【氏名】ハートビヒ,フロリアン
【審査官】谷岡 佳彦
(56)【参考文献】
【文献】特表2017-532852(JP,A)
【文献】米国特許出願公開第2017/0289321(US,A1)
【文献】特開2011-083006(JP,A)
【文献】VECTOR GERMANY,CAN - Still Room for Improvement[online],2019年11月,p.7,9,11-17,19-22,[令和5年7月12日検索]、インターネット<URL:https://cdn.vector.com/cms/content/events/2019/VTT19/presentations/VTT19_24102019_CAN_XL_Room_for_Improvement.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
H04L 1/00
(57)【特許請求の範囲】
【請求項1】
シリアルバスシステム(1)用の加入局(10;30)であって、
前記バスシステム(1)の前記加入局(10;30)と少なくとも1つの他の加入局(10;20;30)との通信を制御するための通信制御デバイス(11;31)と、
前記通信制御デバイス(11;31)によって生成された送信信号(TXD)を前記バスシステム(1)のバス(40)にシリアル送信するように構成されており、かつ前記バスシステム(1)の前記バス(40)からの信号をシリアル受信するように構成されている送信/受信デバイス(12;32)と
、
を備え、
前記通信制御デバイス(11;31)は、フレーム(450)に従って前記送信信号(TXD)を生成し、前記フレーム(450)にヘッダチェックサム(HCRC)を挿入するように構成されており、前記ヘッダチェックサム(HCRC)には、前記フレーム(450)での使用データ用に提供されているデータフィールド(455)の前に配置されているフレームヘッダのビットのみが含まれており、
前記通信制御デバイス(11;31)は、前記フレームヘッダに動的スタッフビットを挿入するように構成されており、5つの同一ビットの後に続いて、前記フレーム(450)のビットストリームに反転スタッフビットが挿入され、
前記通信制御デバイス(11;31)は、前記ヘッダチェックサム(HCRC)の計算のために所定の開始値(R_S)および所定のチェックサム多項式(CRC_P)を使用するように構成されており、前記所定の開始値(R_S)および前記所定のチェックサム多項式(CRC_P)により、動的スタッフビットが使用される前記フレームヘッダの部分に関する前記ヘッダチェックサム(HCRC)の前記計算の中間結果がヌルベクトルにならない、加入局(10;30)
において、
前記所定のチェックサム多項式(CRC_P)が、x
13
+x
12
+x
11
+x
8
+x
7
+x
6
+x
5
+x
2
+x
1
+1であり、
前記所定の開始値(R_S)が、(1,0,0,0,0,0,0,0,0,0,0,0,0)、または、(0,0,1,1,0,0,0,0,0,0,0,0,0)である、
加入局(10;30)。
【請求項2】
前記通信制御デバイス(11;31)は、前記ヘッダチェックサム(HCRC)の前記計算のために、電気回路(1521)の少なくとも1つのスイッチング素子(F0~F12)を使用するように構成されており、前記スイッチング素子(F0~F12)が、前記所定の開始値(R_S)に設定可能であり、前記少なくとも1つのスイッチング素子(F0~F12)が、所定のチェックサム多項式(CRC_P)を実装する、請求項
1に記載の加入局(10;30)。
【請求項3】
前記通信制御デバイス(11;31)は、前記フレームヘッダの第1の部分にのみ動的スタッフビットを挿入するように構成されている、請求項1
または2に記載の加入局(10;30)。
【請求項4】
前記通信制御デバイス(11;31)は、前記動的スタッフビットの数が符号化されている
少なくとも1つのフィールド(SBC)を前記フレーム(450)に挿入するように構成されており、
前記通信制御デバイス(11;31)は、前記フレーム(450)の使用データが挿入される前記データフィールド(455)の前に前記少なくとも1つのフィールド(SBC)を挿入するように構成されている、
請求項1
~3のいずれか一項に記載の加入局(10;30)。
【請求項5】
前記送信/受信デバイス(12;32)は、前記バスシステム(1)の加入局(10、20、30)間で交換されるメッセージ(45)に関して、第1の通信フェーズ(451)で前記バス(40)に送信される信号のビット時間(t_bt)と、第2の通信フェーズ(452)で送信される信号のビット時間(t_bt)とを区別することができるように、前記通信制御デバイス(11;31)によって生成された送信信号(TXD)を前記バスシステム(1)のバス(40)でシリアル送信するように構成されている、請求項1
~4のいずれか一項に記載の加入局(10;30)。
【請求項6】
前記メッセージ(45)用に生成された前記フレーム(450)が、CAN-FDと互換性があるように構成されており、
第1の通信フェーズ(451)において、前記バスシステム(1)のどの加入局(10、20、30)が、後続の第2の通信フェーズ(452)で前記バス(40)への少なくとも一時的に排他的で衝突のないアクセスを得るかが交渉される、請求項
5に記載の加入局(10;30)。
【請求項7】
バスシステム(1)であって、
バス(40)と、
少なくとも2つの加入局(10;20;30)と
、
を備え、
前記加入局(10;20;30)が、互いにシリアル通信することができるように前記バス(40)を介して互いに接続されており、前記加入局のうちの少なくとも1つの加入局(10;30)が、請求項1
~6のいずれか一項に記載の加入局(10;30)である、バスシステム(1)。
【請求項8】
通信制御デバイス(11;31)および送信/受信デバイス(12;32)を有する前記バスシステム(1)の加入局(10;30)によって実施される、シリアルバスシステム(1)での通信方法であって、
前記通信制御デバイス(11;31)によって、前記バスシステム(1)の前記加入局(10;30)と少なくとも1つの他の加入局(10;20;30)との通信を制御するステップと、
前記送信/受信デバイス(12;32)によって、前記通信制御デバイス(11;31)によって生成された送信信号(TXD)を前記バスシステム(1)のバス(40)に送信するステップであって、前記送信/受信デバイス(12;32)がさらに、前記バスシステム(1)の前記バス(40)からの信号をシリアル受信するように構成されている、ステップと、
前記通信制御デバイス(11;31)によって、フレーム(450)に従った前記送信信号(TXD)を生成するステップと
、
を備え、
前記通信制御デバイス(11;31)が、前記フレーム(450)にヘッダチェックサム(HCRC)を挿入し、前記ヘッダチェックサム(HCRC)には、前記フレーム(450)での使用データ用に提供されているデータフィールド(455)の前に配置されているフレームヘッダのビットのみが含まれており、
前記通信制御デバイス(11;31)が、前記フレームヘッダに動的スタッフビットを挿入し、5つの同一ビットの後に続いて、前記フレーム(450)のビットストリームに反転スタッフビットが挿入され、
前記通信制御デバイス(11;31)が、前記ヘッダチェックサム(HCRC)の計算のために所定の開始値(R_S)および所定のチェックサム多項式(CRC_P)を使用し、前記所定の開始値(R_S)および前記所定のチェックサム多項式(CRC_P)により、動的スタッフビットが使用される前記フレームヘッダの部分に関する前記ヘッダチェックサム(HCRC)の前記計算の中間結果がヌルベクトルにならない、方法
において、
前記所定のチェックサム多項式(CRC_P)が、x
13
+x
12
+x
11
+x
8
+x
7
+x
6
+x
5
+x
2
+x
1
+1であり、
前記所定の開始値(R_S)が、(1,0,0,0,0,0,0,0,0,0,0,0,0)、または、(0,0,1,1,0,0,0,0,0,0,0,0,0)である、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高いデータレート、高い融通性、および高いエラーロバスト性で動作するシリアルバスシステム用の加入局およびシリアルバスシステムでの通信方法に関する。
【背景技術】
【0002】
例えば車両でのセンサと制御機器との間の通信用バスシステムは、技術システムまたは車両の機能の数に応じて、大きいデータ量の伝送を可能にすべきである。ここで、多くの場合、データを送信元から受信先に従来よりも高速に伝送することができ、必要に応じて大きなデータパケットも伝送可能であることが求められる。
【0003】
現在、車両ではバスシステムが導入段階であり、このバスシステムでは、CAN-FDを使用したCANプロトコル仕様として、規格ISO11898-1:2015でのメッセージとしてデータが伝送される。メッセージは、センサ、制御機器、送信器などのバスシステムのバス加入局間で伝送される。CAN-FDは、多くの製造業者によって、車両において最初の段階では2Mbit/sのデータビットレートおよび500kbit/sの調停ビットレートで使用される。
【0004】
さらに高いデータレートを可能にするために、CAN-FDに関する後継バスシステムが現在開発されており、これを以下ではCAN-XLと呼ぶ。CAN-XLは、CANバスを介する純粋なデータ転送に加えて、機能的安全性(安全性)、データセキュリティ(セキュリティ)、サービス品質(QoS)など他の機能もサポートすべきである。これらは、自律走行車で必要とされる基本的な特性である。
【0005】
CAN-XLおよびCAN-FD、ならびに従来のCANに互換性があると非常に有利である。そのような場合、CAN-FDフレームでのresビットにより、CAN-FDフレームとCAN-XLフレームとが区別される。互換性があるので、CAN-FD調停フィールドに使用される動的スタッフビットの規則が、CAN-XLでもこのresビットまで適用される。
【0006】
システムの機能的安全性のためには、残存エラー率をできるだけ低くすることが非常に有利であり重要である。クラス1のエラー、すなわち誤って反転されてサンプリングされたビット(ビットフリップ)、および/または、クラス2のエラー、すなわちローカルに蓄積されたビットエラー(バーストエラー)は、チェックサム(CRC=巡回冗長検査)を使用して十分な確率で認識することができる。受信側加入局もフレームのフォーマットチェックを行うことに留意すべきである。これは、特にバーストエラーを認識するのに役立つ。エラー認識の品質は、残存エラー率によって表すことができる。残存エラー率は、フレームの送信元ではないバスシステムの受信側加入局(受信ノード)でエラーが発生したにもかかわらず、フレームが正しいものとして受け入れられる確率を示す。
【0007】
従来のCANでは、CRC計算は以下のような欠点を有する。従来のCANでは、CRC計算に動的スタッフビットが含まれない。このため、従来のCANでは、チェックサム(CRC)では確実には認識することができないクラス3のエラーがある。このエラー(クラス3)は、ビットフリップとも呼ばれる2ビットだけの反転によって引き起こされる。ここで、一方のビットフリップは動的スタッフ条件を生成し、他方のビットフリップは動的スタッフ条件をキャンセルする。ここで、シリアル伝送されるビット(ビットストリーム)でのビットフリップの順序は関係ない。したがって、従来のCANにおいてCRC計算が5ビットフリップ(クラス1のエラー)を実際に確実に認識することができたとしても、CRC計算はそのようなクラス3のエラーを高い確率で認識することはできない。したがって、クラス3のエラーは、特に問題のあるケースまたは重大なエラーである。
【0008】
CAN-FDにおいてクラス3のエラーに対してロバストにするために、CAN-FDでは、CRC計算に動的スタッフビットが含まれる。しかし、後になって、ここでCAN-FDのCRCによって認識されないクラス4のエラーが存在することが判明した。このクラス4のエラーは、動的スタッフ条件での受信側加入局のデータストリームへの個々のビット損失(Bit Drop)またはビット挿入(Bit Insertion)である。これは、誤った再同期により、受信側加入局が、送信側加入局(送信ノード)によって実際に伝送されるよりも1ビット多いまたは1ビット少ないとみなすことを意味する。しかし、CANでは、同じ値を有する5つの同一ビットの後にしか動的スタッフビットが挿入されないので、これは目立たない。
【0009】
CAN-FDでCRC計算に動的スタッフビットを含めるには、CRCフィールドに「スタッフビットカウンタ」が必要となる。この「スタッフビットカウンタ」は、クラス4のエラーが検出されない確率を低減するが、問題を完全に解決するわけではない。そのような「スタッフビットカウンタ」は、さらに、複雑さおよびデータ余剰(オーバーヘッド)にもつながり、伝送可能な使用データレートを低下させる。
【0010】
さらに、CAN-FDにはヘッダチェックサム(ヘッダCRC)が存在しない。そのため、データ長フィールド(DLC=Data Length Code)のコードでのエラーを認識することができない。
【0011】
したがって、データ長フィールドのコードでのビットエラーにより、CAN-FDフレームの送信元ではないバスシステムの受信側加入局(受信ノード)が、CAN-FDフレームにおいて誤ったフレーム長を復号する可能性がある。それにより、受信側加入局(受信側ノード)は、誤った位置でチェックサム(CRC)をチェックする。
【0012】
CAN-XLにおいてCAN-FDと同様にCRC計算が実行される場合、CAN-XLはCAN-FDと同じ欠点を有する。
【発明の概要】
【発明が解決しようとする課題】
【0013】
したがって、本発明の目的は、前述の問題を解決する、シリアルバスシステム用の加入局およびシリアルバスシステムでの通信方法を提供することである。特に、シリアルバスシステム用の加入局およびシリアルバスシステムでの通信方法であって、ビットストリームでの動的スタッフビットに関連するエラーが高い確実性で認識され、データレートが高くても、かつフレームあたりの使用データ量が増加しても、通信の高いエラーロバスト性を実現する加入局および方法を提供すべきである。
【課題を解決するための手段】
【0014】
上記目的は、請求項1の特徴を備えるシリアルバスシステム用の加入局によって達成される。加入局は、バスシステムの加入局と少なくとも1つの他の加入局との通信を制御するための通信制御デバイスと、通信制御デバイスによって生成された送信信号をバスシステムのバスにシリアル送信するように構成されており、かつバスシステムのバスからの信号をシリアル受信するように構成されている送信/受信デバイスとを有し、通信制御デバイスが、フレームに従って送信信号を生成し、フレームにヘッダチェックサムを挿入するように構成されており、ヘッダチェックサムには、フレームでの使用データ用に提供されているデータフィールドの前に配置されているフレームヘッダのビットのみが含まれており、通信制御デバイスが、フレームヘッダに動的スタッフビットを挿入するように構成されており、5つの同一ビットの後に続いて、フレームのビットストリームに反転スタッフビットが挿入され、通信制御デバイスが、ヘッダチェックサムの計算のために所定の開始値および所定のチェックサム多項式を使用するように構成されており、所定の開始値および所定のチェックサム多項式により、動的スタッフビットが使用されるフレームヘッダの部分に関するヘッダチェックサムの計算の中間結果がヌルベクトルにならない。
【0015】
加入局の構成により、CAN-XLでのヘッダチェックサムの計算時に高いエラー認識率が可能である。それにより、動的スタッフビットに関連するヘッダチェックサムHCRCでのエラーを最小限に抑えることができる。その結果、バスシステムでの通信時のエラーを迅速にかつ確実に検出することができる。
【0016】
全体として、本明細書で述べる加入局は、その構成により、スタッフビットに関連するCAN-FDの上記2つの欠点を非常に良好に回避することができる。すなわち、加入局は、データ長コードのサンプリングにおけるエラーを十分に確実に認識することができる。さらに、加入局は、その構成により、しかし任意選択で、伝送可能な使用データレートを高めるために、フレームでの追加のフィールドを節約することができる。したがって、上述した加入局では、例えば、CAN-FDの場合のように「スタッフカウント」が必須ではない。
【0017】
その結果、加入局では、フレームあたりの使用データ量が増加しても、バスシステムの動作中の実際の事象に関して大きい機能的安全性および大きい柔軟性で、かつ低いエラー率で、フレームの送受信を保証することができる。
【0018】
ここでは、バスシステムでの加入局を用いて、第1の通信フェーズで、CANから知られている調停を維持し、しかしCANまたはCAN-FDと比較して伝送速度をさらに大幅に高めることが特に可能である。
【0019】
加入局によって実施される方法は、CANプロトコルおよび/またはCAN-FDプロトコルに従ってメッセージを送信する少なくとも1つのCAN加入局および/または少なくとも1つのCAN-FD加入局がバスシステムにあるときにも使用することができる。
【0020】
加入局の有利なさらなる構成は、従属請求項に提示されている。
【0021】
所定の開始値は、(1,0,0,0,0,0,0,0,0,0,0,0,0)であってよい。
【0022】
代替として、所定の開始値は、(0,0,1,1,0,0,0,0,0,0,0,0,0)である。
【0023】
通信制御デバイスは、ヘッダチェックサムの計算のために、電気回路の少なくとも1つのスイッチング素子を使用するように構成されており、スイッチング素子が、所定の開始値に設定可能であり、少なくとも1つのスイッチング素子が、所定のチェックサム多項式を実装することも考えられる。
【0024】
場合により、所定のチェックサム多項式(CRC_P)は、x13+x12+x11+x8+x7+x6+x5+x2+x1+1である。
【0025】
CAN-FDとの任意選択の互換性のために、通信制御デバイスは、フレームヘッダの第1の部分にのみ動的スタッフビットを挿入するように設計されている。
【0026】
1つの任意選択の形態によれば、通信制御デバイスは、動的スタッフビットの数が符号化されているフィールドをフレームに挿入するように構成されており、通信制御デバイスは、フレームの使用データが挿入されるデータフィールドの前に少なくとも1つのフィールドを挿入するように構成されている。
【0027】
任意選択で、送信/受信デバイスは、バスシステムの加入局間で交換されるメッセージに関して、第1の通信フェーズでバスに送信される信号のビット時間と、第2の通信フェーズで送信される信号のビット時間とを区別することができるように、通信制御デバイスによって生成された送信信号をバスシステムのバスでシリアル送信するように構成されている。
【0028】
メッセージ用に生成されたフレームはCAN-FDと互換性があるように構成されており、第1の通信フェーズにおいて、バスシステムのどの加入局が、後続の第2の通信フェーズでバスへの少なくとも一時的に排他的で衝突のないアクセスを得るかが交渉されることが可能である。
【0029】
上記の目的は、請求項10の特徴を備えるシリアルバスシステム用の加入局によっても達成される。加入局は、バスシステムの加入局と少なくとも1つの他の加入局との通信を制御するための通信制御デバイスと、通信制御デバイスによって生成された送信信号をバスシステムのバスにシリアル送信するように構成されており、かつバスシステムのバスからの信号をシリアル受信するように構成されている送信/受信デバイスとを有し、通信制御デバイスが、フレームに従って送信信号を生成し、フレームにヘッダチェックサムを挿入するように構成されており、ヘッダチェックサムには、フレームでの使用データ用に提供されているデータフィールドの前に配置されているフレームヘッダのビットのみが含まれており、通信制御デバイスが、フレームヘッダに動的スタッフビットを挿入するように構成されており、5つの同一ビットの後に続いて、フレームのビットストリームに反転スタッフビットが挿入され、通信制御デバイスが、ヘッダチェックサムの計算のために、電気回路の少なくとも1つのスイッチング素子を使用するように構成されており、スイッチング素子が、所定の開始値に設定可能であり、少なくとも1つのスイッチング素子が、所定のチェックサム多項式を実装し、所定のチェックサム多項式が、x13+x12+x11+x8+x7+x6+x5+x2+x1+1である。
【0030】
場合により、所定の開始値と所定のチェックサム多項式との組合せが、通信制御デバイスによって動的スタッフビットが挿入され得るフレームヘッダの部分に関して、ヘッダチェックサムの計算の中間結果がヌルベクトルにならないように構成されている。
【0031】
上述した加入局は、バスおよび少なくとも2つの加入局をさらに含むバスシステムの一部でよく、加入局は、互いにシリアル通信することができるようにバスを介して互いに接続されている。この場合、少なくとも2つの加入局のうちの少なくとも1つは、前述の加入局である。
【0032】
上記の目的は、請求項13に記載のシリアルバスシステムでの通信方法によっても達成される。この方法は、通信制御デバイスおよび送信/受信デバイスを有するバスシステムの加入局によって実施され、通信制御デバイスによって、バスシステムの加入局と少なくとも1つの他の加入局との通信を制御するステップと、送信/受信デバイスによって、通信制御デバイスによって生成された送信信号をバスシステムのバスに送信するステップであって、送信/受信デバイスがさらに、バスシステムのバスからの信号をシリアル受信するように構成されている、ステップと、通信制御デバイスによって、フレームに従った送信信号を生成するステップとを備え、通信制御デバイスが、フレームにヘッダチェックサムを挿入し、ヘッダチェックサムには、フレームでの使用データ用に提供されているデータフィールドの前に配置されているフレームヘッダのビットのみが含まれており、通信制御デバイスが、フレームヘッダに動的スタッフビットを挿入し、5つの同一ビットの後に続いて、フレームのビットストリームに反転スタッフビットが挿入され、通信制御デバイスが、ヘッダチェックサムの計算のために所定の開始値および所定のチェックサム多項式を使用し、所定の開始値および所定のチェックサム多項式により、動的スタッフビットが使用されるフレームヘッダの部分に関するヘッダチェックサムの計算の中間結果がヌルベクトルにならない。
【0033】
この方法は、加入局に関して前述したのと同じ利点を提供する。
【0034】
本発明のさらなる可能な実装形態は、例示的実施形態に関して上述もしくは後述する特徴または実施形態の明示的に言及していない組合せも含む。ここで、当業者は、本発明のそれぞれの基本形態への改良または補完として個別の態様を追加することもできる。
【0035】
以下、添付図面を参照し、例示的実施形態に基づいて、本発明をより詳細に述べる。
【図面の簡単な説明】
【0036】
【
図1】第1の例示的実施形態によるバスシステムの簡略ブロック図である。
【
図2】第1の例示的実施形態による、バスシステムの加入局が送信することができるメッセージの構造を説明するための図である。
【
図3】第1の例示的実施形態によるバスシステムの加入局の簡略的な概略ブロック図である。
【
図4】第1の例示的実施形態による、加入局におけるバス信号CAN-XL_HおよびCAN-XL_Lの時間プロファイルを示す図である。
【
図5】第1の例示的実施形態による、加入局におけるバス信号CAN-XL_HおよびCAN-XL_Lの差分電圧VDIFFの時間プロファイルを示す図である。
【
図6】第2の例示的実施形態による、ヘッドチェックサムを計算するための電気回路の回路図である。
【
図7】第3の例示的実施形態による、バスシステムの加入局が送信することができるメッセージの構造を説明するための図である。
【発明を実施するための形態】
【0037】
図面中、特に指示のない限り、同一の要素または機能的に同一の要素には同じ参照符号が付されている。
【0038】
図1は、例としてバスシステム1を示し、バスシステム1は、特に基本的には、以下に述べるように、CANバスシステム、CAN-FDバスシステム、CAN-XLバスシステム、および/またはそれらの変形システムのために構成される。バスシステム1は、特に自動車や航空機などの車両、または病院などで使用することができる。
【0039】
図1では、バスシステム1は、多数の加入局10、20、30を有し、多数の加入局10、20、30は、それぞれが、第1のバスワイヤ41および第2のバスワイヤ42を有するバス40に接続されている。バスワイヤ41、42は、CAN_HおよびCAN_LまたはCAN-XL_HおよびCAN-XL_Lとも呼ぶことができ、送信状態の信号に関して、ドミナントレベルのカップリング後またはレセシブレベルもしくは他のレベルの生成後に電気信号伝送に使用される。バス40を介して、信号形式のメッセージ45、46を個々の加入局10、20、30間でシリアル伝送可能である。
図1のギザギザの黒いブロック矢印によって示されるように、バス40での通信中にエラーが発生した場合、任意選択でエラーフレーム47(エラーフラグ)を送信することができる。加入局10、20、30は、例えば自動車の制御機器、センサ、表示装置などである。
【0040】
図1に示されるように、加入局10は、通信制御デバイス11、送信/受信デバイス12、およびフレームチェックモジュール15を有する。加入局20は、通信制御デバイス21および送信/受信デバイス22を有する。加入局30は、通信制御デバイス31、送信/受信デバイス32、およびフレームチェックモジュール35を有する。加入局10、20、30の送信/受信デバイス12、22、32は、
図1には図示されていないが、それぞれバス40に直接接続されている。
【0041】
通信制御デバイス11、21、31は、それぞれの加入局10、20、30と、バス40に接続されている加入局10、20、30のうちの少なくとも1つの他の加入局とのバス40を介した通信をそれぞれ制御する働きをする。
【0042】
通信制御デバイス11、31は、例えば修正されたCANメッセージ45である第1のメッセージ45の生成および読取りを行う。ここで、修正されたCANメッセージ45は、
図2を参照してより詳細に述べるCAN-XLフォーマットに基づいて構成されており、CAN-XLフォーマットでは、それぞれのフレームチェックモジュール15、35が使用される。さらに、通信制御デバイス11、31は、必要に応じて、CAN-XLメッセージ45またはCAN-FDメッセージ46を送信/受信デバイス32に対して提供する、または送信/受信デバイス32から受信するように実装することができる。この場合にも、それぞれのフレームチェックモジュール15、35が使用される。したがって、通信制御デバイス11、31は、第1のメッセージ45または第2のメッセージ46の作成および読取りを行い、ここで、第1および第2のメッセージ45、46は、それらのデータ伝送規格が異なり、すなわちこの場合にはCAN-XLまたはCAN-FDである。
【0043】
通信制御デバイス21は、ISO11898-1:2015に準拠した従来のCANコントローラのように、すなわちCAN-FD許容の従来型CANコントローラまたはCAN-FDコントローラのように実装することができる。通信制御デバイス21は、第2のメッセージ46、例えばCAN-FDメッセージ46の作成および読取りを行う。CAN-FDメッセージ46には、0~64データバイトが含まれることがあり、これらはさらに、従来型CANメッセージよりも明らかに速いデータレートで伝送される。特に、通信制御デバイス21は、従来のCAN-FDコントローラのように実装される。
【0044】
送信/受信デバイス22は、ISO11898-1:2015に準拠した従来のCANトランシーバ、またはCAN-FDトランシーバのように実装することができる。送信/受信デバイス12、32は、必要に応じて、関連する通信制御デバイス11、31に対してCAN-XLフォーマットに従ってメッセージ45を提供する、もしくは現在のCAN-FDフォーマットに従ってメッセージ46を提供するように、または関連する通信制御デバイス11、31からメッセージを受信するように実装することができる。
【0045】
2つの加入局10、30を用いて、CAN-XLフォーマットのメッセージ45の作成および伝送、ならびにそのようなメッセージ45の受信を実現可能である。
【0046】
図2は、メッセージ45に関してCAN-XLフレーム450を示し、CAN-XLフレーム450は、通信制御デバイス11によって送信/受信デバイス12のために、バス40への送信用に提供される。この場合、通信制御デバイス11は、
図2にも示されているように、この例示的実施形態ではCAN-FDと互換性があるものとしてフレーム450を作成する。同じことが、加入局30の通信制御デバイス31および送信/受信デバイス32にも同様に当てはまる。
【0047】
図2によれば、バス40でのCAN通信のためのCAN-XLフレーム450は、異なる通信フェーズ451、452、すなわち調停フェーズ451およびデータフェーズ452に分割される。フレーム450は、調停フィールド453、制御フィールド454、データフィールド455、チェックサムFCRCおよび切替えシーケンスADS用のチェックサムフィールド456、ならびに確認フィールド457を有する。
【0048】
調停フェーズ451において、調停フィールド453での識別子(ID)を用いて、どの加入局10、20、30がメッセージ45、46を最高の優先順位で送信したいか、したがって後続の時間に関して後続のデータフェーズ452で送信するためにバスシステム1のバス40への排他的なアクセスを得るかが、ビット毎に加入局10、20、30間で交渉される。調停フェーズ451では、CANおよびCAN-FDと同様に物理層が使用される。物理層は、既知のOSIモデル(オープンシステム相互接続モデル)のビット伝送層または層1に対応する。
【0049】
フェーズ451中の重要な点は、既知のCSMA/CR法が使用されることであり、CSMA/CR法は、より優先順位の高いメッセージ45、46が破壊されることなく、加入局10、20、30がバス40に同時にアクセスすることを許可する。これにより、さらなるバス加入局10、20、30をバスシステム1に比較的容易に追加することができ、これは非常に有利である。
【0050】
CSMA/CR法により、バス40上にいわゆるレセシブ状態が存在することになり、このレセシブ状態は、バス40上で他の加入局10、20、30がドミナント状態で上書きすることができる。レセシブ状態では、個々の加入局10、20、30で高抵抗挙動が生じており、これは、バス回路の寄生と組み合わさって、より長い時定数をもたらす。これにより、今日のCAN-FD物理層の最大ビットレートは、実際の車両での使用では現在約2メガビット/秒に制限されている。
【0051】
データフェーズ452では、制御フィールド454の一部に加えて、データフィールド455からのCAN-XLフレームの使用データまたはメッセージ45、ならびにチェックサムFCRCおよびさらにはフィールドDASに関するチェックサムフィールド456が送信され、チェックサムフィールド456は、データフェーズ452から調停フェーズ451に切り替えて戻すために使用される。
【0052】
加入局10が送信元として調停に勝ち、したがって加入局10が送信元として送信のためにバスシステム1のバス40への排他的アクセスを得たときに初めて、メッセージ45の送信元は、バス40へのデータフェーズ452のビットの送信を開始する。
【0053】
ごく一般に、CANまたはCAN-FDと比較して、CAN-XLを用いるバスシステムでは以下の異なる特性を実現することができる。
a)CANおよびCAN-FDのロバスト性および使いやすさに寄与する実証済みの特性、特に識別子を用いたフレーム構造およびCSMA/CR法による調停の採用および場合によっては適応。
b)特に毎秒約10メガビットへの正味データ伝送レートの増加。
c)特に約4キロバイトまたは任意の他の値への、フレーム当たりの使用データのサイズの増加。
【0054】
図2に示されるように、加入局10は、第1の通信フェーズとしての調停フェーズ451において、部分的に、特にFDFビット(これを含む)まで、ISO11898-1:2015に従ってCAN/CAN-FDから知られているフォーマットを使用する。それに対し、加入局10は、FDFビット以降、第1の通信フェーズと、第2の通信フェーズであるデータフェーズ452とにおいて、以下で述べるCAN-XLフォーマットを使用する。
【0055】
この例示的実施形態では、CAN-XLとCAN-FDとに互換性がある。ここで、CAN-FDから知られているresビット(以下、XLFビットと呼ぶ)が、CAN-FDフォーマットからCAN-XLフォーマットに切り替えるために使用される。したがって、CAN-FDとCAN-XLとのフレームフォーマットは、resビットまで同じである。受信側は、resビットにおいて初めて、どのフォーマットでフレームが送信されるかを認識する。CAN-XL加入局、すなわちここでは加入局10、30は、CAN-FDもサポートする。
【0056】
11ビットの識別子が使用される
図2に示されるフレーム450の代替として、任意選択で、29ビットの識別子が使用されるCAN-XL拡張フレームフォーマットも可能である。CAN-XL拡張フレームフォーマットは、FDFビットまでは、ISO11898-1:2015からの既知のCAN-FD拡張フレームフォーマットと同一である。
【0057】
図2によれば、フレーム450は、SOFビットからFDFビット(これを含む)まで、ISO11898-1:2015に準拠したCAN-FDベースフレームフォーマットと同一である。したがって、既知の構造は、本明細書でさらには説明しない。
図2において下側の線が太い線分で示されているビットは、フレーム450でドミナントまたは「0」として送信される。
図2において上側の線が太い線分で示されているビットは、フレーム450でレセシブまたは「1」として送信される。CAN-XLデータフェーズ452では、レセシブレベルとドミナントレベルの代わりに対称的な「1」と「0」のレベルが使用される。
【0058】
一般に、フレーム450の生成には2つの異なるスタッフィング規則が使用される。制御フィールド454でのXLFビットまではCAN-FDの動的ビットスタッフィング規則が適用され、したがって連続する5つの同一のビットの後に反転スタッフビットが挿入され得る。そのようなスタッフビットは、動的スタッフビットとも呼ばれる。制御フィールド454でのresXLビットの後には固定スタッフィング規則が適用され、したがって、固定数のビットの後に固定スタッフビットが挿入され得る。代替として、ただ1つのスタッフビットの代わりに、2つ以上のビットを固定スタッフビットとして挿入することもできる。これについては後でより詳細に述べる。
【0059】
フレーム450では、FDFビットの直後にXLFビットが続き、XLFビットは、その位置から、前述したようにCAN-FDベースフレームフォーマットでの「resビット」に対応する。XLFビットは、1、すなわちレセシブとして送信されるとき、それによりフレーム450をCAN-XLフレームとして識別する。CAN-FDフレームの場合、通信制御デバイス11は、XLFビットを0、すなわちドミナントとして設定する。
【0060】
XLFビットの後、フレーム450でresXLビットが続き、resXLビットは、将来の使用のためのドミナントビットである。resXLは、フレーム450に関して、0、すなわちドミナントとして送信されなければならない。しかし、加入局10がresXLビットを1、すなわちレセシブとして受信した場合、受信側加入局10は、CAN-FDメッセージ46でres=1に関して行われるのと同様に、例えばプロトコル例外状態になる。代替として、resXLビットを正反対に定義することもでき、すなわち、1、すなわちレセシブとして送信されることになる。この場合、受信側加入局は、ドミナントresXLビットでプロトコル例外状態になる。
【0061】
resXLビットの後、フレーム450で、所定のビットシーケンスが符号化されるシーケンスADS(調停データスイッチ)が続く。このビットシーケンスは、調停フェーズ451のビットレート(調停ビットレート)からデータフェーズ452のビットレート(データビットレート)への単純で確実な切替えを可能にする。例えば、ADSシーケンスのビットシーケンスはとりわけAL1ビットからなり、AL1ビットは、ドミナント、すなわち0として送信される。AL1ビットは、調停フェーズ451の最後のビットである。言い換えると、AL1ビットは、短いビットを有するデータフェーズ452への切替え前の最後のビットである。AL1ビットにおいて、送信/受信デバイス12、22、32の物理層が切り替えられる。送信/受信デバイス12、32(トランシーバ)の物理層の切替えにどちらの値(0または1)がより適しているかに応じて、AL1ビットは値1を有することもできる。次の2つのビットDH1とDL1は、すでにデータビットレートで送信される。したがって、CAN-XLでのビットDH1およびDL1は、データフェーズ452の時間的に短いビットである。
【0062】
シーケンスADSの後に、フレーム450で、データフィールド455の内容を特徴付けるPTフィールドが続く。この内容は、データフィールド455に含まれる情報のタイプを提示する。例えば、PTフィールドは、データフィールド455に「インターネットプロトコル」(IP)フレーム、またはトンネルされたイーサネットフレームもしくは他のフレームがあるかどうかを提示する。
【0063】
PTフィールドの後にDLCフィールドが続き、DLCフィールドにはデータ長コード(DLC=Data Length Code)が挿入され、データ長コードは、フレーム450のデータフィールド455内のバイト数を提示する。データ長コード(DLC)は、0からデータフィールド455の最大長またはデータフィールド長までの任意の値をとることができる。最大データフィールド長が特に2048ビットである場合、DLC=0が1バイトのデータフィールド長を意味し、DLC=2047が2048バイトのデータフィールド長を意味すると仮定して、データ長コード(DLC)は11ビットを必要とする。代替として、例えばCANの場合のように、長さ0のデータフィールド455を許可することができる。この場合、DLC=0は、例えば、0バイトを有するデータフィールド長を符号化する。符号化可能な最大データフィールド長は、例えば11ビットでは、(2^11)-1=2047である。
【0064】
DLCフィールドの後、
図2の例では、フレーム450でSBCフィールドが続く。略語SBCは「Stuff Bit Count」を意味する。SBCフィールドは、フレーム450のヘッダ内の動的スタッフビットの数を符号化する。SBCフィールドは、基本的には、ADSフィールドとフレーム450のヘッダの末尾との間で、フレーム450のヘッダ内のどこに配置してもよい。SBCフィールドをヘッダチェックサムHCRCによって保護することができるように、SBCフィールドをヘッダチェックサムHCRCの前に配置すると有利である。
【0065】
図2のフレーム450では、SBCフィールドの後にヘッダチェックサムHCRCが続く。ヘッダチェックサムHCRCは、フレーム450のヘッダ、すなわちSOFビットでのフレーム450の開始からヘッダチェックサムHCRCの開始までのすべての関連するビット(ヘッダチェックサムHCRCの開始までのすべての動的スタッフビットおよび任意選択で固定スタッフビットを含む)を保護するためのチェックサムである。関連するビットは、可変値を有するフレームヘッダのビットのみを含む。言い換えると、関連するビットは、フレーム450内で常に固定値を有するビットを含まない。したがって、値を変更できないそのようなビットは、固定値を有しているので保護されない。ヘッダチェックサムHCRC、したがって巡回冗長検査(CRC)に従ったチェックサム多項式の長さは、文字列の相違に関する尺度である所望のハミング距離に対応して選択され得る。尺度またはハミング距離は、同じ長さの2つの文字列または2つのビットストリーム内の異なる位置の数を示す。ヘッダチェックサムHCRCによって保護することができるデータワードは、11ビットのデータ長コード(DLC)では、27ビットよりも長い。したがって、ハミング距離6を達成するには、ヘッダチェックサムHCRCの多項式が少なくとも13ビットの長さでなければならない。ヘッダチェックサムHCRCの計算は、
図3を参照してより詳細に述べる。
【0066】
ヘッダチェックサムHCRCの後、フレーム450でデータフィールド455が続く。データフィールド455は、1~n個のデータバイトからなり、ここで、nは、例えば2048バイトもしくは4096バイトまたは他の任意の値である。代替として、0のデータフィールド長も考えられる。データフィールド455の長さは、前述したようにDLCフィールドに符号化される。
【0067】
データフィールド455の後、フレーム450でフレームチェックサムFCRCが続く。フレームチェックサムFCRCは、フレームチェックサムFCRCのビットからなる。フレームチェックサムFCRC、したがってCRC多項式の長さは、所望のハミング距離に従って選択され得る。フレームチェックサムFCRCは、フレーム450全体を保護する。代替として、任意選択で、データフィールド455のみがフレームチェックサムFCRCで保護される。
【0068】
フレームチェックサムFCRCの後、フレーム450で、所定のビットシーケンスが符号化されるシーケンスDAS(データ調停スイッチ)が続く。このビットシーケンスは、データフェーズ452のデータビットレートから調停フェーズ451の調停ビットレートへの単純で確実な切替えを可能にする。例えば、ビットシーケンスは、
図2に示されるように、1として送信されるデータビットDH2、DH3、および0として送信されるデータビットDL2、DL3から始まる。これらは、データフェーズ452の最後の4ビットである。したがって、DL3ビットは、最後の短いビットであり、すなわち長いビットを有する調停フェーズ451への切替え前の最後のビットである。それらのビットの後に、調停フェーズ451の値1を有するAH1ビットが続く。AH1ビットで、送信/受信デバイス12、32(トランシーバ)の物理層が切り替えられる。代替として、送信/受信デバイス12、32(トランシーバ)の物理層の切替えにどちらの値(0または1)がより適しているかに応じて、AL1ビットは値0を有することもできる。フレーム450の受信側にすぎない、すなわち受信されるフレーム450を送信していないRX加入局10、30は、同期のためだけでなく、フォーマットチェックパターンとしてもビットシーケンスDH2、DH3、DL2、DL3を使用する。このビットシーケンスにより、RX加入局10、30は、バス40から受信されたビットストリームを例えば1ビットまたは2ビットだけオフセットしてサンプリングしているかどうかを認識することができる。別の例によれば、DASフィールドは、3つのビット、すなわちDH2ビット、DL2ビット、およびAH1ビットを有する。これらのビットのうち、最初と最後のビットは1として送信され、中央のビットは0として送信される。
【0069】
上記の例では、受信側加入局において、DH3ビットとDL2ビットとの間、またはDH2ビットとDL2ビットとの間のエッジでビットレートを切り替えて、データフェーズ452から調停フェーズ451への切替え前に最後の同期が行われる。
【0070】
この例示的実施形態では、シーケンスDASにフォーマットチェックパターンFCPが含まれ、このフォーマットチェックパターンFCPにより、加入局10、30、特にそれらのフレームチェックモジュール15、35は、関連する加入局10、30がフレーム450の送信元ではなく受信側でしかない場合にも、受信されたフレーム450でのビットストリームのオフセットを検出することができる。この場合、FCPフィールドのビットパターンが長いほど、受信側加入局10、30で検出することができるシフトが大きくなる、または強くなる。シフト検出に最も有利なビットパターンは、偶数のMビットを含み、最初のM/2ビットは1を含み、後続のM/2ビットは0を含む。4ビットのFCPフィールドを使用した
図2の例では、最初の2ビットはレセシブ、すなわち1として送信される。FCPフィールドの最後の2ビットはドミナント、すなわち0として送信される。したがって、
図2による4ビットを有するFCPフィールドは、追加のビットDH3、DL3により、FCPフィールドの先頭にある通常の2ビットとは異なる。しかし、
図2のFCPフィールドのレセシブからドミナントへのエッジは、ビットDH3、DL3を有さないDASフィールドと同じ機能を実現することができるものである。
【0071】
一般に、FCPフィールドで、最初のM/2ビットが0を含み、後続のM/2ビットが1を含むことも可能である。FCPフィールドを用いて、M-1のオフセットを認識することができる。これは、
図3を参照して以下でより詳細に述べる。
【0072】
シーケンスDASの後、フレーム450で、RPフィールドで始まる確認フィールド457が続く。RPフィールドにおいて同期パターン(Sync Pattern)が維持され、同期パターンは、データフェーズ452の後の調停フェーズ451の開始を受信側加入局10、30が認識できるようにする。同期パターンは、例えば誤ったヘッダチェックサムHCRCによりデータフィールド455の正しい長さを知らない受信側加入局10、30が同期することを可能にする。次いで、これらの加入局は「否定応答」を送信し、誤った受信を報告することができる。これは特に、CAN-XLがデータフィールド455でエラーフレーム47(エラーフラグ)を許可しないときに非常に重要である。
【0073】
RPフィールドの後、確認フィールド(ACKフィールド)457で、フレーム450の受信が正しいことを確定または否定するためのいくつかのビットが続く。
図2の例では、ACKビット、ACK-dlmビット、NACKビット、およびNACK-dlmビットが提供される。NACKビットおよびNACK-dlmビットは、任意選択のビットである。受信側加入局10、30は、フレーム450を正しく受信したとき、ACKビットをドミナントとして送信する。送信側加入局は、ACKビットをレセシブとして送信する。したがって、フレーム450でバス40に初めに送信されたビットを、受信側加入局10、30によって上書きすることができる。ACK-dlmビットは、他のフィールドからの分離に使用されるレセシブビットとして送信される。NACKビットおよびNACK-dlmビットは、フレーム450の正しくない受信を受信側加入局がバス40で信号通知することができるようにするために使用される。これらのビットの機能は、ACKビットおよびACK-dlmビットの機能と同様である。
【0074】
確認フィールド(ACKフィールド)457の後、フレーム450で終了フィールド(EOF=End of Frame)が続く。終了フィールド(EOF)のビットシーケンスは、フレーム450の終了を特徴付けるために使用される。終了フィールド(EOF)は、フレーム450の終了時に8つのレセシブビットが送信されることを保証する。これは、フレーム450内では生じ得ないビットシーケンスである。これにより、加入局10、20、30によってフレーム450の終了を確実に認識することができる。
【0075】
終了フィールド(EOF)は、NACKビットでドミナントビットが見られたか、それともレセシブビットが見られたかに応じて異なる長さを有する。送信側加入局がNACKビットをドミナントとして受信したとき、終了フィールド(EOF)は7つのレセシブビットを有する。そうでない場合には、終了フィールド(EOF)は、5つだけのレセシブビットの長さである。
【0076】
終了フィールド(EOF)の後、フレーム450で、フレーム間スペース(IFS-Inter Frame Space)が続く(
図2には図示せず)。このフレーム間スペース(IFS)は、ISO11898-1:2015に対応したCAN-FDの場合と同様に構成される。
【0077】
図3は、通信制御デバイス11、送信/受信デバイス12、および通信制御デバイス11の一部であるフレームチェックモジュール15を備えた加入局10の基本構造を示す。加入局30は、
図3に示されるのと同様に構成されるが、
図1によるフレームチェックモジュール35は、通信制御デバイス31および送信/受信デバイス32から独立して配置されている。したがって、加入局30について個別には述べない。
【0078】
図3によれば、加入局10は、通信制御デバイス11および送信/受信デバイス12に加えて、通信制御デバイス11が割り当てられるマイクロコントローラ13と、システムASIC16(ASIC=特定用途向け集積回路)とを有する。システムASIC16は、代替として、加入局10の電子回路アセンブリに必要な複数の機能が組み合わされたシステムベースチップ(SBC)でよい。システムASIC16には、送信/受信デバイス12に加えて、送信/受信デバイス12に電気エネルギーを供給するエネルギー供給デバイス17が設置される。通常、エネルギー供給デバイス17は、5Vの電圧CAN_Supplyを送達する。しかし、要件に応じて、エネルギー供給デバイス17は、異なる値を有する異なる電圧を送達することができる。追加または代替として、エネルギー供給デバイス17は、電源として構成することができる。
【0079】
フレームチェックモジュール15は、挿入ブロック151および評価ブロック152を有する。評価ブロック152は、所定の電気回路1521を使用して、ヘッダチェックサムHCRCの計算のための所定のCRC多項式CRC_Pを実装する。評価ブロック152は、各フレーム450においてヘッダチェックサムHCRCの計算を開始値R_Sで初期化する。したがって、フレームチェックモジュール15、特にその評価ブロック152は、ヘッダチェックサムおよびフレームチェックサムの生成およびチェック、ならびに動的スタッフビットの数のチェックのために使用される。フレームチェックモジュール15については以下でより詳細に述べる。
【0080】
送信/受信デバイス12は、送信モジュール121および受信モジュール122をさらに有する。以下では常に送信/受信デバイス12に言及するが、代替として、送信モジュール121の外部の別個のデバイスに受信モジュール122を提供することも可能である。送信モジュール121および受信モジュール122は、従来の送信/受信デバイス22と同様に構成することができる。送信モジュール121は、特に、少なくとも1つの演算増幅器および/または少なくとも1つのトランジスタを有することができる。受信モジュール122は、特に、少なくとも1つの演算増幅器および/または少なくとも1つのトランジスタを有することができる。
【0081】
送信/受信デバイス12は、バス40、より正確に言うとCAN_HまたはCAN-XL_H用のバス40の第1のバスワイヤ41、およびCAN_LまたはCAN-XL_L用のバス40の第2のバスワイヤ42に接続される。第1および第2のバスワイヤ41、42に電気エネルギー、特に電圧CAN-Supplyを供給するためのエネルギー供給デバイス17用の電圧供給が、少なくとも1つの接続端子43を介して行われる。接地またはCAN_GNDとの接続は、接続端子44を介して実現される。第1および第2のバスワイヤ41、42は、終端抵抗49で終端されている。
【0082】
第1および第2のバスワイヤ41、42は、送信/受信デバイス12において、送信モジュール121(送信器とも呼ぶ)だけでなく、受信モジュール122(受信器とも呼ぶ)にも接続されている。見やすくするために
図3にはこの接続を示していない。
【0083】
バスシステム1の動作時、送信モジュール121は、通信制御デバイス11の送信信号TXDまたはTxDを、バスワイヤ41、42に関する対応する信号CAN-XL_HおよびCAN-XL_Lに変換し、これらの信号CAN-XL_HおよびCAN-XL_Lを、バス40でCAN_HおよびCAN_L用の接続端子に送信する。
【0084】
受信モジュール122は、
図4によるバス40から受信された信号CAN-XL_HおよびCAN-XL_Lから、受信信号RXDまたはRxDを生成し、
図3に示されるように、これを通信制御デバイス11に転送する。アイドルまたはスタンバイ状態(idleまたはStandby)を除いて、受信モジュール122を備えた送信/受信デバイス12は、通常動作では、送信/受信デバイス12がメッセージ45の送信元であるか否かに関係なく、バス40でのデータまたはメッセージ45、46の伝送を常に監視(リッスン)する。
【0085】
図4の例によれば、信号CAN-XL_HおよびCAN-XL_Lは、少なくとも調停フェーズ451において、CANから知られているようにドミナントおよびレセシブバスレベル401、402を有する。バス40に差分信号VDIFF=CAN-XL_H-CAN-XL_Lが生じ、これは
図5に示されている。ビット時間t_btを有する信号VDIFFの個々のビットは、0.7Vの受信閾値で認識することができる。データフェーズ452では、信号CAN-XL_HおよびCAN-XL_Lのビットは、調停フェーズ451よりも速く、すなわち短いビット時間t_btで送信される。したがって、信号CAN-XL_HおよびCAN-XL_Lは、データフェーズ452で少なくともそれらのビットレートが速いという点で、従来の信号CAN_HおよびCAN_Lとは異なる。
【0086】
図4の信号CAN-XL_H、CAN-XL_Lに関する状態401、402のシーケンス、およびそこから得られる
図5の電圧VDIFFのプロファイルは、加入局10の機能を説明する目的のものにすぎない。バス状態401、402に関するデータ状態のシーケンスは、必要に応じて選択可能である。
【0087】
言い換えると、
図4による第1の動作モードでは、送信モジュール121は、バス40のバスラインの2つのバスワイヤ41、42に関して異なるバスレベルを有するバス状態402として第1のデータ状態を生成し、バス40のバスラインの2つのバスワイヤ41、42に関して同じバスレベルを有するバス状態401として第2のデータ状態を生成する。
【0088】
さらに、送信モジュール121は、データフェーズ452を含む第2の動作モードにおける信号CAN-XL_H、CAN-XL_Lの時間プロファイルのために、より高いビットレートでビットをバス40に送信する。CAN-XL_HおよびCAN-XL_L信号は、データフェーズ452でさらに、CAN-FDの場合とは異なる物理層を用いて生成することもできる。それにより、データフェーズ452でのビットレートは、CAN-FDの場合よりもさらに増加させることができる。
【0089】
図3のフレームチェックモジュール15、特にその挿入ブロック151は、加入局10がフレーム450の送信元として動作するときに、SBCフィールドおよびFCPフィールドをフレーム450に挿入する働きをする。さらに、
図3のフレームチェックモジュール15、特にその評価ブロック152は、加入局10がフレーム450の送信元または受信側として動作するときに、ヘッダチェックサムHCRCの計算のために所定の開始値R_Sを使用するように構成される。所定の開始値R_Sは、初期化値(Init-Wert)とも呼ばれる。評価ブロック152は、前述したように、この開始値R_Sから始めてヘッダチェックサムHCRCを計算し、その際に所定のCRC多項式CRC_Pを使用するように構成される。
【0090】
図3のフレームチェックモジュール15は、この例示的実施形態では、SBCフィールドが3ビット、すなわちBit0、Bit1、およびBit2を有するように構成される。それにより、SBCフィールドは、できるだけ少ない余剰データ(データオーバーヘッド)しか生成しない。SBCフィールドで、フレームチェックモジュール15は、ビットBit0およびBit1に動的スタッフビットの数を入力し、Bit2に、最初の2ビットのパリティを入力する。
【0091】
挿入ブロック151は、この例示的実施形態では、フレーム450内でヘッダチェックサムHCRCの前にSBCフィールドを挿入する。フレームチェックモジュール15、特に評価ブロック152は、ヘッダチェックサムHCRCおよびフレームヘッダのすべての動的スタッフビットを生成するときにもSBCフィールドを使用する。その結果、クラス3およびクラス4のエラーを検出可能である。
【0092】
受信側加入局の評価ブロック152は、フレームヘッダ内の受信された動的スタッフビットの数をSBCフィールド内の値と比較し、したがってフレームヘッダ内の実際の数と比較した偏差、すなわちエラーを認識することができる。
【0093】
対照的に、評価ブロック152は、フレームチェックサムFCRCを生成するときには動的スタッフビットを省く。しかし、評価ブロック152は、IDビットやRRSビットなどフレームヘッダの他のビットをフレームチェックサムFCRCに含める。したがって、これらのビットは二重に保護される。それにより、フレームチェックモジュール15、特にその評価ブロック152を用いて、動的スタッフビットに関連して生じるクラス3およびクラス4のエラーを非常に高い確率で検出可能である。
【0094】
ヘッダチェックサムHCRCを計算するために、評価ブロック152は、所定の開始値R_Sから開始する。所定の開始値R_Sは、R_S=(1,0,0,0,0,0,0,0,0,0,0,0,0)である。評価ブロック152は、電気回路1521の回路要素として、特に、CRC多項式CRC_Pの特性(係数)に対応するフィードバックシフトレジスタを有する。以下では、シフトレジスタの値をベクトルRと呼ぶ。このフィードバックシフトレジスタを用いて、ヘッダチェックサムのビット毎の計算を行うことができる。評価ブロック152は、各フレームの開始時に開始値R_SでシフトレジスタRを初期化する。ベクトルR_Sにおけるただ1つの「1」は、LSB位置とも呼ばれる最下位の桁にある。
【0095】
所定の開始値R_Sは、エラーケースBを妨げる。エラーケースBでは、動的スタッフ条件において、受信側加入局(受信ノード)のデータストリームでビット損失(Bit Drop)またはビット挿入(Bit Insertion)が発生し、それと同時に、ヘッダチェックサムHCRCのCRC計算の一時的な値は、ヌルベクトルR=(0・・・0)となる。エラーケースBは、誤った再同期により発生する可能性があり、その際、受信ノードは、送信ノードによって実際に伝送されるよりも1ビット多いまたは1ビット少ないとみなす。
【0096】
ビット損失(Bit Drop)の例として、100000iが100001になる。ビット挿入(Bit Insertion)の例として、100001が100000iになる。
【0097】
これらの例において、iは、値1を有する動的スタッフビットを表す。
【0098】
動的スタッフビットが計算に含まれるヘッドチェックサムHCRCの計算時、上記の例において中間結果がベクトルR=(0・・・0)である場合、評価ブロック152のCRC計算のためにフィードバックシフトレジスタに0ビットのみが供給される限り、ベクトルはR=(0・・・0)のままである。言い換えると、ヘッダチェックサムHCRCの計算の結果は、CRC計算に0が1つ多くまたは0が1つ少なく供給されるときも同じままである。したがって、所定の開始値R_Sを用いない評価ブロック152のCRC計算は、このケース、すなわち動的スタッフビットに関係するエラーケースBを認識できない。このタイプのエラーが1つだけでもあると、CRCチェックがエラーを検出することができなくなる。
【0099】
シリアル送信されるフレーム450の最初の17ビットにのみエラーケースBが発生し得るという考察の下で、所定の開始値R_S=(1,0,0,0,0,0,0,0,0,0,0,0,0)が選択される。この理由は、フレーム450のヘッダのこの部分でしか動的スタッフビットが使用されないからである。フレーム450のヘッダのこの最初の部分は、14ビット(SOF、ID、RRS、IDE)と、最大3つの動的スタッフビットとからなり、すなわち合計で最大17ビットからなる。したがって、フレーム450のヘッドのこの部分は非常に短い。
【0100】
評価ブロック152により、所定の開始値R_S=(1,0,0,0,0,0,0,0,0,0,0,0,0)がヘッダチェックサムHCRCの計算に使用されるので、エラーケースBが発生することはない。この所定の開始値R_Sは、ベクトルRが最初の14~17ビットで値R=(0・・・0)をとることができないようにする。ここで、動的スタッフビットが生じない場合には、14ビットの制限が適用される。動的スタッフビットが生じる場合には、17ビットの制限が適用される。ベクトルRの値に関するこの結果は、CANフレーム450の各有効なビットシーケンスに関して達成され、すなわち例えばフレーム450内の送信される識別子(ID)の値とは無関係に達成される。ここで、評価ブロック152によって考慮されるフレームヘッダの部分は、理論的には2の17乗の可能なビットシーケンスを有することができることが使用されるが、これらの理論的に可能なビットシーケンスのうちのいくつかのビットシーケンスは、動的スタッフビットが挿入されるので生じ得ない。
【0101】
フレーム450のヘッダの後続のビット、すなわち識別子(ID)のビット、RRSビット、および動的スタッフビットがヘッダチェックサムHCRCの計算に含まれるとき、上記の所定の開始値R_Sは所望の効果を達成し、すなわちエラーケースBを妨げる。
【0102】
代替として、定数値を有する2ビット(SOF、IDE)をヘッダチェックサムHCRCの計算に含めることができる。この場合にも、エラーケースBを防止する効果が得られる。これは、SOFビットから始まり、IDEビット後の動的スタッフビットまで、動的スタッフビットを含むすべてのビットである。
【0103】
したがって、所定の開始値R_Sは、ヘッダチェックサムHCRCの計算結果としてのベクトルRが、ヘッダの最初の17ビット中に値(0・・・0)をとることができないようにする。
【0104】
ヘッダチェックサムHCRCの計算時、評価ブロック152はさらに、高いエラー認識率を有する所定のCRC多項式CRC_Pを使用する。CRC長が13のヘッダチェックサムHCRCに関するCRC多項式を以下に示す。結果として得られるヘッダチェックサムHCRCの長さは13ビットである。
【0105】
CRCジェネレータ多項式CRC_Pは、様々な慣例に従って16進表記で表すことができる。例えば、多項式CRC_Pは以下のように表すことができる。
【0106】
1.多項式として、
x13+x12+x11+x8+x7+x6+x5+x2+x1+1
=(x+1)・(x12+x10+x9+x8+x6+x4+x3+x2+1)
【0107】
2.すべての係数(16進数)で:0x39E7
(最上位x13から最下位x0まで)
【0108】
3.通常の表現(16進数):0x19E7
(最上位係数x13を省く)
【0109】
4.クープマン(Koopman)表現(16進数):0x1CF3
(最下位係数x0を省く)
【0110】
前述した所定のCRC多項式CRC_Pは、以下のような特に優れた特性を備える。
a)ハミング距離:HD6
b)保護することができる使用ビットの最大数:52
c)HD6を有する他のCRC多項式に比べて、特に小さい残存エラー率を達成可能。
【0111】
したがって、受信側加入局(受信ノード)10、特にそのフレームチェックモジュール15、より正確にはその評価ブロック152は、クラス1~4のエラーおよびエラーケースBを高い確率で認識することができる。これらのエラーは、上述したように、選択されたCRC多項式とその開始値R_Sによって特に高い確率で認識することができる。
【0112】
評価ブロック152は、対応する通知を通信制御デバイス11に出力する。これにより、エラー時に、受信されたフレーム450を削除することができる。その結果、通信制御デバイス11は、エラーフレーム47をバス40に送信することができる。
【0113】
しかし、SBCフィールドなどの「スタッフカウント」フィールドを使用する場合、残存エラー率がさらに低下する。その結果、誤ったフレーム450が有効であるとして受け入れられる可能性はさらに低くなる。
【0114】
したがって、送信されるフレーム内の動的スタッフビットの数を符号化するSBCフィールド「スタッフカウント」フィールドの使用は任意選択である。
【0115】
CAN-FDとの互換性が要求されない場合には、フレーム内で、例えば動的スタッフビットの代わりに、いわゆる固定スタッフビット(常に存在するスタッフビット)を使用することができる。動的スタッフビットがない場合、クラス3およびクラス4のエラーは発生し得ない。また、SBCフィールドなどの「スタッフカント」フィールドを省くことができる。これにより、伝送すべきビットの数が少なくなり、複雑さもさらに軽減される。
【0116】
第1の例示的実施形態の第1の変形形態によれば、フレームチェックモジュール15、特に評価ブロック152は、ヘッダチェックサムHCRCの生成時に動的スタッフビットを省くように構成される。対照的に、フレームチェックモジュール15、特に評価ブロック152は、フレームチェックサムFCRCの生成時には動的スタッフビットを使用する。ここで、フレームチェックモジュール15、特に評価ブロック152は、IDビットやRRSビットなどフレームヘッダの他のビットを再びフレームチェックサムFCRCに含める。このようにすると、クラス3および4の特殊なエラーも十分に確実に検出可能になる。エラーフレーム47を使用するとき、エラーフレーム47によって検出を報告することができる。
【0117】
第1の例示的実施形態の第2の変形形態によれば、フレームチェックモジュール15、特に評価ブロック152は、チェックサムHCRC、FCRCのいずれにも動的スタッフビットを含まないように構成される。このようにしても、クラス3および4のエラーを十分に確実に検出可能である。これは、動的スタッフビットがSOFビットからFDFビットの前までしか生じ得ないからである。この小さな範囲に、最大3つの動的スタッフビットを含めることができる。したがって、ビットストリームのブロック単位の外乱であり、クラス3のエラーが生成する可能性があるバーストエラーは、長さを制限されている。したがって、ヘッダCRCがこのバーストエラーを検出することができる可能性は高い。エラーフレーム47を使用するとき、エラーフレーム47によって検出を報告することができる。
【0118】
第1の例示的実施形態の第3の変形形態によれば、挿入ブロック151は、ヘッドチェックサムHCRCを計算するための所定の開始値R_Sとして、値R_S=(0,0,1,1,0,0,0,0,0,0,0,0,0)を使用するように構成される。評価ブロック152は、電気回路1521、特にシフトレジスタRなどを、各フレーム450の開始時に開始値R_Sで初期化する。ここで、所定の開始値R_Sの左側にある「0」は、例えばLSB位置、すなわち、フィードバックシフトレジスタを使用してヘッダチェックサムHCRCを計算するときの最下位の桁にある。
【0119】
フレーム450のヘッダの後続のビット、すなわち識別子(ID)のビット、RRSビット、および動的スタッフビットがヘッダチェックサムHCRCの計算に含まれるとき、この変形形態の上記の所定の開始値R_Sは所望の効果を達成し、すなわちエラーケースBを妨げる。
【0120】
所定の開始値R_S=(0,0,1,1,0,0,0,0,0,0,0,0,0)の利点は、ヘッダチェックサムHCRCの計算に含まれる最後の可能な動的スタッフビットに続く2つのビットに関しても、ヘッダチェックサムHCRCのベクトルRが値R=(0・・・0)をとることができないことが保証されることである。これらの後続の2つのビットは、例えば、ペイロードタイプのビット7およびビット6である。
【0121】
第1の例示的実施形態の第4の変形形態によれば、CRCジェネレータ多項式CRC_Pが上述した所定の開始値R_Sのうちの1つとだけ使用されることは必須ではない。代替として、ヘッダチェックサムHCRCのベクトルRが中間結果として値R=(0・・・0)をとる別の開始値R_Sも使用可能である。そのような変形形態では、第1の例示的実施形態よりも少し低い確率でエラーケースBを防ぐことができる。ここで、エラーケースBの認識は、SBCフィールドを介して可能である。
【0122】
図6は、第2の例示的実施形態に従って、
図3の電気回路1521の構成の別の例を示す。なお、加入局10は、2つの例示的実施形態に関して同一に構成されている。
【0123】
図6の回路1521は、ゲートU1、U2と、XORゲートX
0~X
12と、出力Qおよび反転出力
【数1】
を有するフリップフロップF0~F12とを備える論理回路として構成される。ゲートU2との接続の表現を簡略化するために、
図6のフリップフロップF0~F6は、
図6のフリップフロップF7~F12に対してミラー(鏡映)出力を有しているが、
図6のフリップフロップF0~F12はすべて同じように構成される。
図6の上部にあるフリップフロップFは、
図6のフリップフロップF0~F6における入力Dおよびクロック入力の接続、ならびに次の出力を表すものである。
【数2】
【0124】
図6の下部にあるフリップフロップFは、
図6のフリップフロップF7~F12における入力Dおよびクロック入力の接続、ならびにの次の出力を表すものである。
【数3】
【0125】
回路1521において、最初に信号CRC_INITで、個々のフリップフロップF0~F12は、フリップフロップF0~F12からなるシフトレジスタが開始値R_Sを含むように設定またはリセットされる。シリアルデータストリームが、信号CRC_Iとして回路1521に供給される。さらに、クロック信号S_CLKおよび計算信号S_CCが、回路1521に供給される。計算信号S_CCは、回路が計算ステップを実行すべきか否かを示す。電気回路1521がフレーム450の送信元としての加入局10によって使用されるとき、出力でCRC_A信号が出力され、この信号は、ヘッダチェックサムHCRCに関するHCRCフィールドに入力される。加入局10から受信されたフレーム450のために電気回路1521が使用されるときにヘッダチェックサムHCRCの計算でエラーが発生した場合、第1の例示的実施形態に関して前述したように、信号S_Eが出力される。
【0126】
ヘッダチェックサムHCRCを計算するために、フリップフロップF0~F12は、CRC_INIT信号を使用して開始位置にされ、より正確には開始値R_Sに設定される。例えば、開始値R_S=(1,0,0,0,0,0,0,0,0,0,0,0,0)の場合、最下位ビット(LSB)のためのフリップフロップF0のみが「1」に設定される。一方、他のすべてのフリップフロップF1~F12は、値「0」に設定される。
【0127】
回路1521の動作ステップは、クロック信号S_CLKと信号S_CCとのAND演算によってトリガされる。AND演算は、ANDゲートU1を用いて実行される。CRC計算に含まれないビットについては、動作ステップは実行されない。ヘッダチェックサムHCRCの場合、これらは、第1の例示的実施形態に関して上述したように、固定値を有するビットである。
【0128】
加入局10がフレーム450の送信元であるとき、送信/受信デバイス12は、ヘッダチェックサムフィールドHCRCの先頭から、信号CRC_Aをバス40に送信する。加入局10がフレーム450の受信側でしかない、すなわち送信元ではない場合、信号CRC_Aは送信されず、信号S_Eを使用して、フレーム450のHCRCフィールドでのチェックサムにエラーがあるか否かを決定する。
【0129】
信号CRC_Eは、
図6の回路では、フリップフロップの反転出力
【数4】
を結合する13重のNANDゲートU2によって生成される。信号CRC_Eは、HCRCの完全な受信後、受信側加入局10で評価される。
【0130】
エラーがない場合、ヘッダチェックサムフィールドHCRCの最後に、CRC-FFのすべてのQ出力が値「0」になる。この場合、出力または信号CRC_Eは、値「0」を有する。
【0131】
反転出力
【数5】
が値「0」を有するとき、信号CRC_Eは値「1」を示し、通信制御デバイス11にエラーを通知する。
【0132】
図7は、CAN-XLとCAN-FDとの互換性がない、第3の例示的実施形態によるフレーム4500を示す。この例示的実施形態では、フレーム4500、したがってCAN-XLフレームフォーマットは、以下で述べるように、
図2のフレーム450とは異なる。ここでは、
図2のフレーム450との相違点のみを述べる。なお、2つの例示的実施形態のフレーム450、4500は同じである。
【0133】
一般に、この例示的実施形態によるフレーム4500の生成時、固定スタッフィング規則のみが使用され、したがって、固定数のビットの後に固定スタッフビットが挿入され得る。代替として、ただ1つのスタッフビットの代わりに、2つ以上のビットを固定スタッフビットとして挿入することもできる。データ長コード(DLC)の値が分かっている場合、これは一定のフレーム長またはフレーム4500の一定の長さをもたらす。これにより、動的スタッフビットによって引き起こされる様々な問題が防止される。したがって、フレーム4500のヘッダにはSBCフィールドも必要ない。
【0134】
この例示的実施形態によるフレーム4500では、識別子(ID)は、CAN-FDの場合のように11ビットまたは29ビットにもはや制限されない。識別子(ID)のビットの数kは自由に選択することができる。しかし、代替として、数kは、固定値に固定可能である。正味データレートが高い場合、k=8ビットのIDが好適である。これは、バスシステム1の各加入局10、20、30に十分に多くのバスアクセス優先順位を与えるのに十分である。しかし、当然、バスシステム1での要件および様々な優先順位の数に応じて、kに関して別の値も選択可能である。
【0135】
図2のフレーム450のビットRRS、IDE、FDF、XLFは、フレーム4500では不要になり、省略される。これにより4ビットが節約され、したがってフレームオーバーヘッドが減少される。これにより、バスシステム1における正味データレートが増加される。
【0136】
終了フィールド(EOF)は、NACKビットがドミナントであるとき、フレーム4500でさらに5ビットを有する。一方、NACKビットがレセシブであるとき、終了フィールド(EOF)は3ビットを有する。終了フィールド(EOF)は、フレーム4500の終了時に6つのレセシブビットが送信されることを保証する。この数のレセシブビットは、調停フェーズ451において5つの同一ビットの後に固定スタッフビットが挿入されるとき、有効なフレーム4500では他のどこにも生じ得ない。代替として、7ビット以上でもよい。特に、EOFビットの数は、固定スタッフビットが挿入される前のビットの数に適合させる必要がある。
【0137】
フレーム間スペース(IFS)は、フレーム4500で最小長さを必要としない。特に、フレーム間スペース(IFS)は長さ0を有することができる。そのような場合、2つのフレーム4500が、順次にシームレスに送信される。しかし、例えば1ビットを有するフレーム間スペース(IFS)は、前述した場合と比較してバスシステム1のロバスト性を高めるためにも好適である。2つのフレーム4500間のここでは7つのレセシブビットによって、新たな加入局は、バス40でより確実に同期することができる。
【0138】
加入局10、20、30、バスシステム1、およびそこで実施される方法の前述したすべての構成は、個別に、またはすべての可能な組合せで使用することができる。特に、上述した例示的実施形態のすべての特徴および/またはそれらの変形形態は、任意に組み合わせることができる。追加または代替として、特に以下の変形形態が考えられる。
【0139】
CANバスシステムの例で本発明を前述してきたが、本発明は、異なる通信フェーズのために生成されるバス状態が異なる、2つの異なる通信フェーズが使用される各通信ネットワークおよび/または通信方法で使用することができる。特に、本発明は、イーサネットおよび/または100Base-T1イーサネット、フィールドバスシステムなどの他のシリアル通信ネットワークの開発に使用可能である。
【0140】
特に、例示的実施形態によるバスシステム1は、データを2つの異なるビットレートでシリアル伝送可能である通信ネットワークでよい。バスシステム1において、共通のチャネルへの加入局10、20、30の排他的で衝突のないアクセスが少なくとも特定の期間にわたって保証されていることは、有利であるが、必須の前提条件ではない。
【0141】
例示的実施形態のバスシステム1における加入局10、20、30の数および配置は任意である。特に、バスシステム1の加入局20は省略することができる。加入局10または30のうちの1つまたは複数がバスシステム1に存在することが可能である。バスシステム1内のすべての加入局が同一に構成される、すなわち加入局10のみまたは加入局30のみが存在することも考えられる。