(58)【調査した分野】(Int.Cl.,DB名)
バスを介してメッセージを送信又は受信する少なくとも2つのバス加入者を備えたバスシステム内での直列のデータ伝送のための方法であって、バス加入者宛ての各メッセージのための前記バスへの送信アクセス権は、CAN規格ISO11898−1に準拠した調停方法によって付与され、
前記メッセージは、CAN規格に準拠した論理構造を有し、即ち、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、エンドオブフレームフィールドで構成され、
伝送されるデータビットの間にスタッフ条件が存在する際には、CAN規格の規定に従って、スタッフビットが前記メッセージに挿入され、
メッセージの開始に際して、CAN規格に準拠した前記CRCフィールドの計算に加えて、CAN規格から外れる生成多項式を用いた少なくとも1つの更なる別のCRCシーケンスの計算が開始され、
追加的に実行されるCAN規格から外れる少なくとも1つの前記CRC計算の際には、前記CRCフィールドの先頭の前に挿入された前記スタッフビットも考慮され、
適切な標識(EDL)に従って、平行して開始された前記CRC計算のうちのどの結果が、正しい前記データ伝送を検査するために利用されるのかが決定される、前記方法において、
前記標識の少なくとも1つの値について追加的な条件が検査され、前記追加的な条件が存在する際には、送信者によって、少なくとも前記CRCフィールドのメッセージの一部に、1個以上のビットから成る固定スタッフビットシーケンスが挿入されることを特徴とする、方法。
前記送信者によって挿入される、1個以上のビットから成る前記固定スタッフビットシーケンスは、受信者側で、更なる処理のために除去されることを特徴とする、請求項1に記載の方法。
前記追加的な条件はカウンタに従って予め設定されるため、規則的な間隔で、1個以上のビットから成る固定スタッフビットシーケンスが、前記メッセージに挿入されることを特徴とする、請求項1〜2のいずれか1項に記載の方法。
挿入された2つの固定スタッフビットシーケンスの間には、前記伝送されるデータのデータビットが最大で4個配置されることを特徴とする、請求項1〜4のいずれか1項に記載の方法。
少なくとも前記CRCフィールド内に前記追加的な条件が存在する際には、固定スタッフビットシーケンスが前記メッセージに挿入されることを特徴とする、請求項1〜5のいずれか1項に記載の方法。
前記メッセージ全体に前記追加的な条件が存在する際には、固定スタッフビットシーケンスが、前記メッセージに挿入されることを特徴とする、請求項1〜6のいずれか1項に記載の方法。
前記標識の少なくとも1つの値について、前記メッセージの前記CRCフィールドは、CAN規格から外れる数のビットを有することを特徴とする、請求項1〜7のいずれか1項に記載の方法。
前記固定スタッフビットシーケンスは1ビットから成り、「0」が先行する場合には、固定スタッフビットシーケンスとして「1」が挿入され、「1」が先行する場合には、固定スタッフビットシーケンスとして「0」が挿入されることを特徴とする、請求項1〜8のいずれか1項に記載の方法。
前記固定スタッフビットシーケンスは2ビットから成り、「0」が先行する場合には、固定スタッフビットシーケンスとして「1 0」が挿入され、「1」が先行する場合には、固定スタッフビットシーケンスとして「0 1」が挿入されることを特徴とする、請求項1〜8のいずれか1項に記載の方法。
前記CRC内にのみ前記追加的な条件が存在する際には、固定スタッフビットシーケンスが前記メッセージに挿入され、前記CRCフィールドは、固定スタッフビットシーケンスで始まることを特徴とする、請求項1〜10のいずれか1項に記載の方法。
前記標識(EDL)が存在する際には、前記メッセージの前記コントロールフィールドは、CAN規格から外れて6ビットよりも多いビットを含むことを特徴とする、請求項1〜11のいずれか1項に記載の方法。
標準型アドレス指定が行われるメッセージのための前記標識(EDL)は、前記コントロールフィールド内のリセッシブな第2ビットにより与えられ、拡張型アドレス指定が行われるメッセージのための前記標識(EDL)は、前記コントロールフィールド内のリセッシブな第1ビット又は第2ビットにより与えられることを特徴とする、請求項1〜12のいずれか1項に記載の方法。
前記標識が存在する際には、全てのデータメッセージ内で前記標識(EDL)の前記リセッシブなビットの後に、少なくとも1つのドミナントビットが続くことを特徴とする、請求項13に記載の方法。
前記標識(EDL)は、前記バス加入者内で評価され、前記標識及びデータ長コードに従って、前記受信のプロセスが、前記データフィールドの大きさに対して調整されることを特徴とする、請求項15に記載の方法。
前記標識が存在する際には、前記標識(EDL)の前記リセッシブなビットと、前記少なくとも1つの後続のドミナントビットと、の間のエッジが、前記バス加入者のビットタイミングの再同期化又はハード同期化のために利用されることを特徴とする、請求項13〜16のいずれか1項に記載の方法。
前記第2の標識(BRS)は、時間的には前記第1の標識(EDL)の前記ビットの後に伝送される前記コントロールフィールド内のリセッシブなビットにより与えられることを特徴とする、請求項18に記載の方法。
前記第2の標識が存在する際には、前記第2の標識(BRS)の前記リセッシブなビットが、少なくとも1つのドミナントビットによって、前記第1の標識(EDL)の前記リセッシブなビットから離されることを特徴とする、請求項19に記載の方法。
前記第2の標識(BRS)は、前記第1の標識が存在する際には前記バス加入者内で評価され、前記第2の標識の前記値に従って、前記受信のプロセスが、メッセージ内の前記ビット長の異なる値に対して調整されることを特徴とする、請求項18〜20のいずれか1項に記載の方法。
メッセ―ジ内の前記時間的なビット長のうち、前記第2の標識(BRS)が存在する際の低減された値と、前記第2の標識が存在する前に利用される値とは、最小時間単位又は駆動中の発振器クロックに対して相対的にバス時間単位を調整するための、少なくとも2つの異なる倍率を利用することによって実現されることを特徴とする、請求項18〜21のいずれか1項に記載の方法。
バスを介してメッセージを送信又は受信する少なくとも2つのバス加入者を備えたバスシステム内での直列のデータ伝送のための装置であって、バス加入者宛ての各メッセージのための前記バスへの送信アクセス権は、CAN規格ISO11898−1に準拠した調停方法によって付与され、
前記メッセージは、CAN規格に準拠した論理構造を有し、即ち、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、エンドオブフレームフィールドで構成され、
伝送されるデータビットの間にスタッフ条件が存在する際には、CAN規格の規定に従って、スタッフビットを前記メッセージに挿入する手段が設けられ、
メッセージの開始に際して、CAN規格に準拠した前記CRCフィールドの計算に加えて、CAN規格から外れる生成多項式を用いた少なくとも1つの更なる別のCRCシーケンスの計算を開始する更なる別の手段が設けられ、
追加的に実行されるCAN規格から外れる少なくとも1つの前記CRC計算の際には、前記CRCフィールドの先頭の前に挿入された前記スタッフビットも考慮され、
適切な標識(EDL)に従って、平行して開始された前記CRC計算のうちのどの結果が、正しい前記データ伝送を検査するために利用されるのかが決定される、前記装置において、
適切な追加的手段によって、前記標識の少なくとも1つの値について追加的な条件が検査され、前記追加的な条件が存在する際には、送信者によって、少なくとも前記CRCフィールドのメッセージの一部に、1個以上のビットから成る固定スタッフビットシーケンスが挿入されることを特徴とする、装置。
車両の通常駆動において、適切なデータバスを介して接続された、前記車両の少なくとも2つの制御装置の間でデータを伝送するために利用される、請求項1〜22のいずれか1項に記載の方法。
産業的な制御システムの稼働時に、適切なデータバスを介して接続された少なくとも2つの制御装置の間でデータを伝送するために利用される、請求項1〜22のいずれか1項に記載の方法。
車両の製造又は保守の間に、プログラミングを目的として適切なデータバスと接続されたプログラミングユニットと、前記データバスと接続された前記車両の少なくとも1つの制御装置と、の間でデータを伝送するために利用される、請求項1〜22のいずれか1項に記載の方法。
【発明の概要】
【発明が解決しようとする課題】
【0008】
先行技術は、あらゆる点で満足できる結果を提供しないことが分かる。
【課題を解決するための手段】
【0009】
以下では、本発明及びその利点が、図面と実施例によって記載される。本発明の主題は、提示され記載される実施例に限定されない。
【発明の効果】
【0010】
本発明は、バスを介してメッセージを交換する少なくとも2つのバス加入者を備えたバスシステム内での直列データ伝送のための方法であって、バス加入者宛ての各メッセージのためのバスへの送信アクセス権は、CAN規格ISO11898−1に準拠した調停方法によって付与され、メッセージは、CAN規格に準拠した論理構造を有し、即ち、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、エンドオブフレームフィールドで構成され、メッセージの開始に際して、CAN規格に準拠したCRCフィールドの計算に加えて、CAN規格から外れる生成多項式を用いた少なくとも1つの更なる別のCRCフィールドの計算が開始され、追加的に実行される少なくとも1つCRC計算の際には、CRCフィールドの前に存在するメッセージの部分に、CAN規格の規定に従って挿入されたスタッフビット(Stuff Bit)も考慮され、適切な標識(EDL)に従って、平行して開始されたCRC計算のうちのどの結果が、正しいデータ伝送を検査するために利用されるのかが決定される、上記方法から出発する。
【0011】
本方法は、対応する標識の際に追加的な条件が検査され、当該追加的条件が存在する際には、1個以上のビットから成る固定スタッフビットシーケンスが、少なくともメッセージの一部に挿入されることにより優れている。これにより、特に有利な実施形態において構想されるように、固定スタッフビットシーケンスの第1の挿入されたビットが、先行するビットとは反対の値を有する場合には、例えばバス加入者同士の同期化の検査及び補正のために有用となりうる信号エッジを、メッセージ内で合目的的に生成することが可能であるという有利な効果が達成される。
【0012】
特に有利な実施形態において、追加的な条件は、規則的な間隔で発生するように予め設定されるため、メッセージの予め定められた位置で、1個以上のビットから成る固定スタッフビットシーケンスがメッセージに挿入される。これにより、特に簡単なやり方で、送信前のビットの挿入、及び、受信加入者内での挿入されたビットの除去を行うことが可能である。固定スタッフビットシーケンスの挿入は、データにではなくカウンタに依存して行われるため、伝送されるビットストリームのこの部分に何らかのノイズによって発生した2つのエラーは、ビットエラーによりメッセージの1の箇所でスタッフビットが見せかけのデータビットに変化し他の箇所でデータビットが見せかけのスタッフビットに変化することで、多数のエラーに増加しないという有利な効果が実現される。
【0013】
さらに、挿入された2つの固定スタッフビットシーケンスの間には、最大4個のデータビットが配置される場合には有利である。なぜならばこのようにして、規格に準拠したスタッフィング(Stuffing)規定を犯すこと、即ち、同じ極性の連続する6個のビットが発生することが回避され、従って、固定スタッフビットの位置は統一的に定められ、データに依存しない。「データビット」(Daten−Bit)という概念は、ここでは、スタッフビットとの区別のために役立ち、メッセージフォーマットの構成要素として、即ちスタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、及び、エンドオブフレームフィールドで、送信者によって受信者に送信する必要があるビットを意味する。
【0014】
少なくとも、標識付けられたメッセージのCRCフィールド内に追加的な条件が存在する際に、固定スタッフビットシーケンスがメッセージに挿入される場合には有利である。しかしながら、メッセージ全体に固定スタッフビットシーケンスを付け加えることも可能である。特に有利な実施形態において、CRCフィールドのみに固定スタッフビットシーケンスが付け加えられる。同様に有利な実施形態において、標識付けられたメッセージのCRCフィールドは、CAN規格から外れる数、特により大きな数のビットを有する。さらに、伝送されるCRCフィールドは、このようなスタッフビットシーケンスで始まるため、データフィールドの終りで発生するスタッフ条件が確実に捉えられ、固定スタッフビットシーケンスの位置が統一的に設定される。このようにして、最適化されたデータ伝送信頼性が、非常に信頼性の高い伝送エラー検出によって保証される。
【0015】
さらに、標準型アドレス指定が行われるメッセージのための第1の標識は、コントロールフィールド内のリセッシブな第2ビットにより与えられ、拡張型アドレス指定が行われるメッセージのための第1の標識は、コントロールフィールド内のリセッシブな第1ビット又は第2ビットにより与えられる場合には有利である。これにより、変更されたメッセージは、バス加入者にとっては、規格に準拠したメッセージと明らかに区別可能である。好適な実施形態において、第1の標識が存在する際には、メッセージのコントロールフィールドは、CAN規格から外れて6ビットより多いビットを含み、その際に、特に、全てのデータメッセージ内で第1の標識のリセッシブビットの後に、少なくとも1つのドミナントビットが続く。第1の標識が存在する際には、有利に、第1の標識のリセッシブビットと、少なくとも1つの後続のドミナントビットと、の間のエッジが、バス加入者のビットタイミングの再同期化又はハード同期化のために利用され、このことにより、特に後にビット長の切り替えが行われた際の、データ伝送の信頼性及びフェールセーフティ(Fehlersicherheit)が高められる。
【0016】
同様に、第1の標識が存在する際に、メッセージのデータフィールドが、CAN規格から外れて8バイトを超えることが可能である場合には有利である。なぜならば、このようにして、メッセージごとの伝送されるデータ量、及び、効率の良い伝送レートが上げられるからである。データフィールドの大きさを確認するために、データ長コードの4ビットの値が、少なくとも部分的にCAN規格から外れて解釈される。
【0017】
第1の標識は、好適にバス加入者内で評価され、標識及びデータ長コードに従って、受信プロセスが、データフィールドの大きさに対して調整される。従って、データ伝送の最適なフレキシビリティ(Flexiblitaet)が保証される。
【0018】
さらに、第2の標識が存在する際には、メッセージ内の少なくとも1つの予め設定される又は予め設定可能な範囲のためのビット長は、第2の標識が存在する前に利用されるビット長に対して低減された値を取り、上記範囲は、早くとも第2の標識で始まり、遅くともCRCデリミタで終わり、従って、有利に、メッセージが短時間でバスを介して伝送されうる。第2の標識には、それぞれ異なる標識を用いた一方ではデータフィールドの大きさと、他方ではメッセージの部分内のビット長と、の2段階の切り替えによって、この2つの措置の利点を可能性に応じて別々に、最大限に利用できるという利点がある。例えば、バストポロジの理由から、より短いビット長への切り替えが可能ではない場合にも、引き続き、より大きなデータ量を有するメッセージを送信することが可能である。さらに、短縮されたビット長を有するメッセージ内でエラーが発生した際には、最初に通常のビット長に切り替えることが可能であり、その際、データ範囲の拡大という利点が犠牲になることはない。
【0019】
さらに、第2の標識も同様に、時間的には第1の標識のビットの後に伝送されるコントロールフィールド内のリセッシブビットにより与えられる場合には、特に、当該リセッシブビットが、少なくとも1つのドミナントビットによって、第1の標識のリセッシブビットから離される場合には、標識付け及び同期化のために有利である。
【0020】
有利な実施形態において、第2の標識は、第1の標識が存在する際にはバス加入者内で評価され、第2の標識の値に従って、受信プロセスが、メッセージ内のビット長の異なる値に対して調整される。加速して伝送されるメッセージの確実な検出が、このようにして保証される。
【0021】
有利で実装コストを最小化するやり方で、メッセ―ジ内の時間的ビット長の少なくとも2つの異なる値が、最小時間単位又は駆動中の発振器クロックに対して相対的にバス時間単位を調整するための、少なくとも2つの異なる倍率を利用することによって実現される。
【0022】
本方法は有利に、車両の通常駆動において、適切なデータバスを介して接続された、車両の少なくとも2つの制御装置の間でデータを伝送するために利用することが可能である。しかしながら、有利に車両の製造又は保守の間にも同様に、プログラミングを目的として適切なデータバスと接続されたプログラミングユニットと、データバスと接続された車両の少なくとも1つの制御装置と、の間でデータを伝送するために利用することが可能である。更なる別の有利な利用の可能性は、産業的な制御システムの駆動時に、特に接続線が長い場合に生じる。あらゆる場合に、例えば信号伝送時間のような各条件に対して伝送方法を調整するために、伝送レートのフレキシビリティ(Flexibilitaet)と同時に、非常に高い伝送信頼性は有利である。
【0023】
更なる別の利点は、本発明に基づいて機能しうるために、規格CANコントローラは最小限に変更されればよいということである。規格CANコントローラとしても機能しうる本発明に係る通信コントローラは、従来の規格CANコントローラよりも僅かに大きい。付属するアプリケーションプログラムを変更する必要はなく、既にデータ伝送の速度の点で利点が実現される。
【0024】
有利に、CANのコンフォーマンステスト(CAN−Conformance−Test)(ISO16845)の多大な部分が引き継がれる。有利な発展形態において、本発明に係る伝送方法を、TTCAN(ISO11898−4)を補完したものと組み合わせることが出来る。
【発明を実施するための形態】
【0026】
図1aには、メッセージの構造、即ち、メッセージがCANバス上でデータ伝送のためにどのように利用されるのかが示されている。2つの異なるフォーマット、即ち「標準型」(Standard)及び「拡張型」(Extended)が示されている。本発明に係る方法は、適切な実施形態において、2つのフォーマットで適用することが可能である。
【0027】
メッセージは、メッセージの開始をシグナリングする「スタートオブフレーム(SOF:Start of Frame)」ビットで始まる。この後に、まず第1にメッセージの識別のために役立つ区間が続き、この区間によって、バスシステムの加入者は、自身がメッセージを受信するか否かを決定する。この区間は「アービトレーションフィールド」(Arbitration Field)と呼ばれ、識別子を含んでいる。この後に、特にデータ長コード(Data Length Code)を含む「コントロールフィールド」(Control Field)が続く。データ長コードは、メッセージのデータフィールドの大きさについての情報を含んでいる。これに続いて、バスシステムの加入者間で交換されるデータを含む本来の「データフィールド」(Data Field)が続く。その後に、15ビット長を含むチェックサム(Checksumme)及びデリミタ(Delimiter)を有する「CRCフィールド」と、これに続いて、送信者宛てのメッセージの受信の成功をシグナリングする役目を果たす2つの「アクノリッジ(ACK:Acknowledge)ビット」と、が続く。メッセージは、「エンドオブフレーム」(EOF:End of Frame)シーケンスで終わる。
【0028】
規格に準拠したCANデータ伝送方法では、データフィールドは最大で8バイト、即ち64ビットのデータを含んでもよい。データ長コードは規格に従って4ビットを含み、即ち、16個の様々な値を取ることが可能である。今日のバスシステム内ではこの値の範囲から、1バイトから8バイトまでの様々な大きさのデータフィールドのために、8個の様々な値が利用される。0バイトのデータフィールドは、CAN規格では推奨されておらず、8バイトを上回る大きさは許容されていない。データフィールドの大きさに対するデータ長コードの値の割り当てが、
図2のCAN規格の欄に示されている。
【0029】
図1bには、2つの規格フォーマットからそれぞれ得られた、本発明に基づき伝送される変更されたメッセージが、類似した図で対比されている。上記変更されたメッセージは、幾つかの追加的なビット、即ち、EDL、BRS、ESIと称されその目的が以下で詳細に解説される上記追加的なビットがコントロールフィールド内に補充されている点で、
図1aの規格に準拠したメッセージとは異なっている。さらに、本発明に係るメッセージは、データフィールド及びCRCフィールドの大きさが可変的であることにより区別される。従って、メッセージは、「CAN FD LONG」という名称を有する。
【0030】
本発明に係る変更された伝送方法では、データフィールドは8バイトを超えてもよく、即ち示される仕様ではKバイトまで含んでもよい。規格CANとは異なって、より大きなデータフィールドに標識を付けるために、データ長コードが取りうる更なる別の値が利用される。例えば、0〜15バイトまでの値を示すために、データ長コードの4ビットを利用することが可能である。しかしながら、他の割り当てを行うことも可能であり、例えば、今日のCANメッセージでは通常利用されないデータ長コードの値DLC=0b0000を、データフィールドの更なる別の可能な大きさ、例えば16バイトの大きさのために利用することが可能である。
【0031】
この2つの可能性が、
図2の表ではDLC1及びDLC2として示されている。この場合、データフィールドの最大値Kは、値15又は16を有する。更なる別の可能性は、0b1000よりも大きい0b1111までのデータ長コードの値について、データフィールドの対応する大きさが、より大きな増分の分だけ大きくなることである。この場合の例が、表ではDLC3として示されている。データフィールドの最大値Kは、この変形例では値64バイトに達する。当然のことながら、他の選択肢、例えば4バイトごとの増分が可能である。
【0032】
本発明に係る通信コントローラが、自身がどのようにデータ長コードの内容を解釈すべきか確認出来ることを保証するために、バスシステムの通信が規格CAN又は本発明に係る方法に従って進行しているのかを、通信コントローラが自律的に検出出来ることは有利である。このための可能性は、アービトレーションフィールド又はコントロールフィールド内の、規格CANでは常に固定の値で伝送されるビットを標識付けのために利用することであり、この第1の標識から、通信コントローラは、第1の切り替え条件を導出することができ、この第1の切り替え条件に従って、利用すべき伝送方法を選択する。
【0033】
標準型アドレス指定における標識:
規格CANデータメッセージのコントロールフィールドの第2ビットは、
図1aの上の部分に示すような規格フォーマットにおいて、常にドミナントで送信され、r0で示される。
図1bの上の部分に示す、標準型アドレス指定が行われる(即ち、標準CANフォーマットに従ったアービトレーションフィールドを有する)本発明に係るメッセージの例では、コントロールフィールドのこの第2のビットは、当該ビットがリセッシブで送信されることで標識付けのために利用される。即ち、このようなメッセージ内のコントロールフィールドの第2のビットのリセッシブな値は、後続では規格とは異なるメッセージフォーマットが伝送されることを表示する。標準型アービトレーションフィールドを有するメッセージのコントロールフィールドの、このリセッシブで送信される第2のビットは、EDL(Extended Data Length)と称される。規格CANでは常にドミナントで伝送されるビットr0は、本発明に係るメッセージでは、リセッシブなEDLビットにより置換され、又は、本発明に係るメッセージ内では、1ポジション分後ろの位置、即ち、リセッシブなビットEDLと、ビット長の切り替えの際には同様にリセッシブなビットBRSと、の間の位置へと下がる。さらに、コントロールフィールド内には、更なる別のビットを挿入することが可能である。
図1bには、例として、ESIと呼ばれるビットが示されているが、これについては後に詳細に述べることにする。この場所には、本発明に影響を与えることなく、2個以上のビットを挿入することも可能であろう。
以上、標準型規格CANメッセージのコントロールフィールド内のビット列、即ち、
{IDE、r0、DLC3、DLC2、DLC1、DLC0}は、
本発明に係るメッセージ内では、
{IDE、EDL、N個の更なる別のビット、DLC3、DLC2、DLC1、DLC0}
により置換される。
図1bで示す例では、ビットr0、BRS、ESIが挿入されて、N=3が適用される。しかしながら、Nは、0よりも大きい任意の他の値を取ることも可能であろう。ビットBRSは場合によっては、後に解説する理由から、常にドミナントで伝送されるビットの後に、例えばビットr0と組み合わせて当該ビットr0の直後に挿入されるべきであろう。
【0034】
拡張型アドレス指定における標識:
規格CANデータメッセージのコントロールフィールドの最初の2ビットは、
図1aの下の部分に示すような拡張フォーマットにおいて、常にドミナントで送信され、r1、r0で示される。
図1bの下の部分に示す、拡張型アドレス指定が行われる(即ち、拡張CANフォーマットに従ったアービトレーションフィールドを有する)本発明に係るメッセージの例では、コントロールフィールドのこの第1ビットr1が、当該ビットr1がリセッシブで送信されることで標識付けのために利用される。この場合に、このようなメッセージ内のコントロールフィールドの第1ビットのリセッシブな値は、後続で規格とは異なるメッセージフォーマットが伝送されることを表示する。ここでも、コントロールフィールドのこのリセッシブに伝送されるビットは、EDL(Extended Data Length)と称される。このEDLビットによって、拡張フォーマットによる規格CANメッセージのドミナントな予約ビットr1が置換される。代替的に、ドミナントビットr1が保持されたまま1ポジション分後ろに下がることが可能であろうし、EDLビットは、追加的なビットとして、RTRとr1との間に挿入されるであろう。同様に、EDLビット(リセッシブ)を追加的なビットとしてr1(ドミナント)とr0(ドミナント)との間に挿入するということも可能であろう。続いて、この場合にも、コントロールフィールド内には、更なる別のビットを挿入することが可能である。
図1bには、例として再びESIと呼ばれるビットが示されているが、これについては後に詳細に述べる。本発明に影響を与えることなく、2個以上のビットを挿入することも可能であろう。
以上、拡張型規格CANメッセージのコントロールフィールド内のビット列、即ち、
{r1、r0、DLC3、DLC2、DLC1、DLC0}は、
本発明に係るメッセージ内では、
{EDL、N個の更なる別のビット、DLC3、DLC2、DLC1、DLC0}又は
{r1、EDL、M個の更なる別のビット、DLC3、DLC2、DLC1、DLC0}
により置換される。
図1bで示す例は、N=3の、即ちビットr0、BRS、ESIが挿入される最初に挙げたバリエーションを示している。しかしながら、N又はMは、0よりも大きい任意の他の値を取ることも可能であろう。ビットBRSは、ここでも場合によっては、後に解説する理由から、常にドミナントで伝送されるビットの後に、例えばビットr0と組み合わせて当該ビットr0の直後に挿入されるべきであろう。
【0035】
代替的に、本方法を、規格CAN通信のためにも設計されていない適切な通信コントローラ内で利用することも可能である。この場合には、例えばメッセージの適切な標識に依存した、上述の第1の切り替え条件の設定を省略することも可能である。この場合には、通信コントローラはむしろ、記載された方法の一方にのみ従って動作し、これに対応して、このような本発明に係る通信コントローラが使用されるバスシステム内でのみ使用される。
【0036】
本発明で構想されるように、メッセージのデータフィールドが拡大される場合には、十分なフェールセーフティを獲得するために、巡回冗長検査(CRC:Cyclic Redundancy Check)のために利用される方法を調整することも有効でありうる。特に、例えばより高次の他のCRC多項式を利用し、これに対応して、本発明に基づき変更されたメッセージ内に、規格とは異なる大きさのCRCフィールドを設けることは有利でありうる。このことが
図1bで、示される例では本発明に係るメッセージのCRCフィールドがLビットの長さを有するということにより提示され、但し、LはCAN規格から外れて同じではなく、特に15ビットよりも大きくてもよい。
【0037】
CRCチェックサムを計算するための、変更された方法を利用することは、更なる別の切り替え条件を表す更なる別の標識によって、バス加入者に対してシグナリングされうる。この更なる別の標識は、有利な実施形態において、第1の標識及び/又は切り替え条件と一致していてもよい。
【0038】
規格CANコントローラ内では、送信されるCANメッセージのCRC符号が、メッセージの直列に送信されたビットがその入力口に直列に供給されるフィードバックシフトレジスタによって生成される。シフトレジスタの幅は、CRC多項式の次数に対応する。CRC符号化(CRC−Codierung)は、シフト演算(Shift Operation)の間の、レジスタ内容とCRC多項式との結合(Verknuepfung)によって行われる。CANメッセージが受信される場合には、これに対応して、メッセージの直列に受信されたビットが、CRCシフトレジスタ内へとシフトされる。CRC検査(CRC−Test)は、CRCフィールドの終りで、シフトレジスタの全ビットが0である場合には成功である。送信の場合のCRC符号の生成及び受信の場合のCRC検査は、両方ともハードウェア内で行われ、その際に、ソフトウェアの介入は必要ではない。即ち、CRC符号化の変更は、アプリケーションソフトウェアに対して影響を与えない。
【0039】
規格CANプロトコルでは、CANメッセージ内のスタッフビット(ISO11898−1、10.5章参照)は、CRC符号の計算又は検査に含まれない(ISO11898−1、10.4.2.6章:“the bit stream given by the destuffed bit sequence”(デスタッフビットシーケンスにより与えられるビットストリーム)参照)。これにより、CRCは本来、ハミング距離(Hamming Distance)が6である際に、メッセージ内にランダムに分散するビットエラーを5個まで検出すべきであるにも関わらず、稀な場合にしかメッセージ内の2個のビットエラーも検出しないという結果になる。このことは、例えば、ビットエラーによって、メッセージの1の箇所で、スタッフビットが見せかけのデータビットに変換され、又は、他の箇所で、データビットが見せかけのスタッフビットに変換される場合に起こりうる(Unruh、Mathony、Kaiser著「Error Detection Analysis of Automotive Communication Protocols」、SAE International Congress、Nr.900699、Detroit、USA、1990年参照)。例えば、スタッフビットが付け加えられて伝送されたメッセージ内に、例えば電磁的な影響のような何らかのノイズにより発生した2つのビットエラーが、このような形で、スタッフビットが未だ付け加えられていない本来送信されるデータストリームと、スタッフビットにより調整された(bereinigt)受信されたデータストリームと、の間の多数の不一致に増加する可能性がある。このような複数の不一致は、状況によっては、巡回冗長検査(Cyclic Redundancy Check)によってもはや検出出来ない。
【0040】
これに対して、変更された伝送方法では、一方では、メッセージ内のCRCフィールドの先頭の前に挿入されたスタッフビットもCRC符号の計算又は検査の際に含まれるように、CRC符号化を変更することが可能である。即ち、本実施形態では、アービトレーションフィールド、コントロールフィールド、及び、データフィールドに属するスタッフビットが、巡回冗長検査により保護されるデータの一部として扱われる。これにより、伝送されるビットストリームのこの部分に、何らかのノイズにより発生した2つのエラーが、先に記載したように多数のエラーに増加するというリスクが無くなる。
【0041】
伝送時に、例えば2つのビットエラーがCRCフィールド内に発生し、このビットエラーが、スタッフビット除去の際に、対応する複数の不一致へと増加する可能性があるという、明らかに小さくはあるがリスクが残る。
【0042】
この場合について、データ伝送の信頼性は、追加的な固定スタッフビット(Fixed−Stuff−Bit)又は固定スタッフビットシーケンス(Fixed−Stuff−Bit−Sequenz)を、CRCフィールド内の設定された位置に挿入することによって、更に高めることが可能である。(以下では、固定スタッフビットと固定スタッフビットシーケンスとがもはや区別されない。固定スタッフビットシーケンスは、個々のビットも意味しうる。)ここでは、通常のスタッフビットに対して、例えば、強制的に固定の位置に挿入されるビットが関わっており、このビットによって、規格に準拠したスタッフィング(Stuffing)規定を犯すことが防止される。このために、固定スタッフビットシーケンスの挿入を開始する追加的な固定スタッフ条件を定義することが可能である。例えば、スタッフィング制御部を、データに依存した制御が行われる規格に準拠したモードから、カウンタに依存した制御が行われる追加的なモードへと切り替えることが可能である。ビットカウンタが、予め設定された値、例えば3又は4に達した場合には常に、固定スタッフ条件が起動され、固定スタッフビットシーケンスが挿入される。最も簡単な場合には、固定スタッフビットシーケンスの挿入についての規則は、規格に準拠したスタッフビットの挿入と同じであり、即ち、先行するビットとは反対の1ビットが、伝送されるビットストリームに挿入される。
【0043】
規格CANのプロトコル規定によれば、同じ値を有するビットが5個ずつ続いた後で、送信者によって、反対の値を有する追加的なスタッフビットがデータストリームに挿入され、バス加入者の同期化、特にサンプリング時点のために必要とされる信号エッジの発生が保証される。本発明によれば、示される実施例では、CRCのビットが4個ずつ続いた後で、1個以上のビットがCRCフィールドに挿入され、その際に、第1の挿入されたビットは、先行するビットとは反対の値を有する。即ち、最も簡単な場合には、各5番目のビットが、先行するビットとは反対のビットとして伝送される。これにより、前に伝送されたビットの値にスタッフビットの位置が依存しないため、ビットエラーに基づく、データビットとしてのスタッフビットの誤った解釈、又はスタッフビットとしてのデータビットの誤った解釈が可能ではない。さらに、各固定スタッフビット又は各固定スタッフビットシーケンスの正確性を個別に検査することが可能である。なぜならば、その値がローカル条件(先行するビットの値)に依存するからである。代替的な実施形態は、例えば、CRCのビットが3個ずつ続いた後で既に、固定スタッフシーケンスを挿入し、又は、3個ずつの後に、交互に2又は4個の値を任意の順序で挿入することを構想することが可能である。さらに、本方法は、CRCフィールドの外のメッセージの範囲にまで拡大することが可能である。
【0044】
固定スタッフビット又は固定スタッフビットシーケンスの挿入について幾つかの例が、
図1d及び
図1eに示されている。
図1cは、任意の(固定)スタッフビットが挿入される前の、伝送すべきデータストリームから成る一連のビット列を示している。CRC1、…、CRC5で示される区間はそれぞれ、データフィールドの最終ビットDX、及び、15〜18ビットで構成されるCRCシーケンスに相当する。ビット列は任意に選択される。CRC3では、規格に準拠した伝送において、ビット15の後にドミナントな(値「0」)スタッフビットが挿入され、CRC4においても同様である。更なる別のスタッフビットは、図示されない先行するデータビットの内容に従って、少なくともシーケンスCRC4及びCRC5に場合によっては存在するであろう。しかしながら、その位置は、先行するデータの詳細に依存する。
【0045】
これに対して
図1dには、本発明に係る方法の一実施形態によって、データストリーム内の三角形で示す予め設定された位置に、どのようにして「S」で印が付けられた固定スタッフビットが挿入されるのかが示されている。
図1eには類似した図が示されるが、ここでは、2個の固定ビットから成るシーケンスが1個ずつ挿入されたという点が異なっている。両ケースにおいて、2つの固定スタッフビットシーケンスの間に、本来のデータストリームの4個のビットが存在している。より少数の(例えば3個)ビット、又は、数が交互に変わるビットが固定スタッフビットシーケンス間に存在するという同様に起こりうるケースは、ここでは図示されない。
【0046】
有利な実施形態において、通信コントローラは、規格CANに対して互換性を有するように設計され、即ち、規格CANバスシステム内では規格に準拠して動作するように設計されるが、本発明に基づき変更されたバスシステム内では、一方では、メッセージ内のより大きなデータフィールドを許容し、他方では、CRC符号の、調整された計算及び検査も実行する。
【0047】
メッセージの受信の開始時には、規格に準拠したCANメッセージ又は本発明に基づき変更されたメッセージが受信されるのかが未だに確定していないため、本発明に係る通信コントローラには、平行して動作する2つのCRCシフトレジスタが実装される。CRCデリミタの受信後に、受信者のところでCRC符号が評価される場合には、本発明に係る更なる別の標識に基づいて、どの伝送方法が利用されたのかが確定され、その後で、上記利用された伝送方法に対応付けられたシフトレジスタが評価される。更なる別の標識は、先に既に示したように、データフィールドの大きさ及びデータ長コードの解釈に関する第1の標識と一致していてもよい。
【0048】
メッセージ送信の開始時には、送信者のために、どの伝送方法に従って送信されるのかが既に確定している。しかしながら、バスアクセスを巡る調停が失われ、開始されたメッセージが送信されず、その代わりに他のメッセージが受信されることが起こりうるため、この場合にも、2つのCRCシフトレジスタが平行して駆動される。
【0049】
平行して動作する2つのCRCレジスタの上記実装によって更なる改善も可能となり、即ち、規格CANプロトコルのCRC多項式(x15+x14+x10+x8+x7+x4+x3+1)が、127ビットより小さいメッセージ長のために設計される。本発明に基づき伝送されるメッセージが、より長いデータフィールドも利用する場合には、伝送信頼性を維持するために、特により長い他のCRC多項式を利用することが有効である。本発明に基づき伝達されるメッセージはこれに対応して、変更された、特により長いCRCフィールドを獲得する。駆動中に、通信コントローラは、その都度適切な多項式を利用するために、2つのCRCシフトレジスタ、即ち、規格CANに準拠したシフトレジスタと本発明に係るシフトレジスタとを動的に切り替える。
【0050】
当然のことながら、データフィールドの長さ又は所望の伝送信頼性に従って、2つより多いシフトレジスタ、及びこれに対応して、2つより多いCRC多項式を段階的に使用することも可能である。この場合には、規格CANに対する互換性が保たれる限りにおいて、対応する標識及びこれと関連する切り替え条件を調整する必要がある。例えば、コントロールフィールドの第2ビットは、例えば
図2のDLC1に係る、より長いデータフィールドへの切り替え、及び、対応する第2のCRC多項式を示す第1の標識であってもよいであろう。より長いデータフィールドを含み、第1の標識により標識付けされたメッセージについては、例えば
図2のDLC3に係る、更なる別のデータフィールドの大きさへの切り替え、及び、第3のCRC多項式を示す追加的なビットを、コントロールフィールド内に挿入することが例えば可能であろう。第1の標識を有するメッセージのコントロールフィールドへの、追加的なビットの挿入は可能である。なぜならば、この場合に、変更された送信プロセス及び受信プロセスがいずれにしても通信コントローラ内で利用され、この種の変更が考慮されうるからである。第1の標識が存在しない際には、示される例ではコントロールフィールドのドミナントな第2ビットのところで、メッセージの構造がISO規格11898−1の設定に正確に従うことによって規格CANとの互換性が与えられる。
【0051】
図3は、本発明に係る受信プロセスの一部、即ち、受信プロセスがどのようにバスシステムの加入者局で進行するのかを簡素化した図で示している。ここでは、第1の切り替え条件に従って通信コントローラの挙動が調整されることにより、規格CANに対する互換性が実現される場合が示される。
図3では、ソフトウェア内でのプログラムシーケンスを記載するために一般的な図が選択されたが、本方法は、ハードウェア内での実装のために完全に適している。
【0052】
加入者局は最初に、バス上に通信トラフィックが無い限り、バスをサンプリングする状態にある。即ち、問い合わせ302は、バス上のドミナントビットを待つ。このドミナントビットは、新しいメッセージの開始(Start of Frame)を表す。
【0053】
新しいメッセージの開始が確認され次第、ブロック304において、平行して計算される少なくとも2つのチェックサムの計算が開始される。第1のチェックサムは、規格CANのCRC演算に対応し、第2のチェックサムは、新しい方法に従って計算される。第2のCRC計算では、示される実施例ではスタッフビットが含まれるが、このことは、規格CANに準拠した計算には該当しない。
【0054】
引き続いて、ステップ306から、メッセージのSOFビットの後に続く、アービトレーションフィールドで始まる更なる別のビットが受信される。複数のバス加入者がメッセージを送信したい場合には、ここで、規格CANで一般的な方法に従ってバス加入者の間で、どの加入者がバスへのアクセス権を獲得するかについて調停が行われる。示されるブロック306は、第1の標識が受信されてしまうまで又は第1の切り替え条件が確定するまでの、全ビットの受信を表す。記載される例では、第1の切り替え条件は、コントロールフィールドから、例えばコントロールフィールドの第2ビットから定められる(
図1参照)。引き続いて、ブロック308において、メッセージの特定ビット以降、定められた第1の切り替え条件に従って様々に処理されるまで、メッセージの更なるビットが受信されうる。様々な処理形態によるこの分割は、以下で例示するように、対応する問い合わせ又は分岐310によって保証される。
【0055】
分岐310で、例えばドミナントビットr0としてのコントロールフィールドの第2ビットの受信後に、第1の標識に従って通信が規格CANに準拠して行われる(
図3の「1」で示された経路)という情報が存在する際には、ステップ312において、コントロールフィールドの更なる別のビットが読み込まれる。この更なる別のビットから、規格CANに従ってデータ長コードが評価され、引き続いてステップ316で、対応するデータ量、即ち、データフィールドに対応した最大8バイトが受信される。その後ステップ320において、15ビットを含むCRCフィールドが受信される。分岐324で、送信者により伝達されたCRCチェックサムと、受信者自身により定められたCRCチェックサムとが一致するという情報が存在する場合には、ブロック328で、ドミナントなアクノリッジビット(Acknowledge−Bit)が送信される。この場合には、通信が規格CANに従って行われるため、規格に準拠したCRCチェックサムが比較されるということに注意されたい。一致が確認されない場合には、(ブロック330で)アクノリッジビットがリセッシブで送信される。この後に、ステップ332又は334で、ACKデリミタ(ACK Delimiter)、及び、EOFビットが続く。これで、メッセージのための受信プロセスが終了する。
【0056】
送信者側でのスタッフビットの挿入、及び、受信者側でのスタッフビットの除去に関しては、CAN規格ISO11898−1の規定が有効である。示されるフィールドの大きさは、スタッフビット除去後のデータ量が関わっている。規格に準拠したCRCチェックサムの計算のためにも、挿入されたスタッフビットは、受信されたデータストリームから再び除去される。
【0057】
これに対して、分岐310で、例えば、リセッシブなビットEDLとしてのコントロールフィールドの第2ビットの受信後に、本発明に基づき変更された通信方法が利用されるという情報が存在する場合には(
図3の「2」で示された経路)、ブロック314において、コントロールフィールドの更なる別のビットが読み込まれる。ここでは、例えば、追加的な、コントロールフィールド内で補充されたビットであって、例えば更なる別の規格とは異なるCRC多項式への切り替えのために役立ち、又は、ビット長の切り替えのため、若しくは、同期化のため、若しくは、更なる別の目的のために役立ちうる上記補充されたビットを読み込むことが可能である。この観点で、後に詳細に述べることにする。上記読み込みの結果から、データ長コードが、
図2の表で幾つかの例について記載した新しい解釈に従って定められる。ブロック318で、対応するデータ量、即ち、
図2の表の例DLC1については15バイトまで、例DLC2については16バイトまで、例DLC3については64バイトまでのデータが受信される。ブロック322で、本発明に基づき異なる、特により長いCRCフィールドが受信される。分岐324で、送信者に伝達されたCRCチェックサムと受信者自身により定められたCRCチェックサムとが一致するという情報が存在する場合には、この場合上記比較は本発明に基づき異なるCRCチェックサムに基づいているのだが、ブロック328で、ドミナントなアクノリッジビットが送信される。送信者に伝達されたCRCチェックサムと受信者自身により定められたCRCチェックサムとが一致しない場合には、(ブロック330で)アクノリッジビットがリセッシブで送信される。引き続いて、ステップ332又は334において、ACKデリミタ及びEOFビットが続く。これで、メッセージのための受信プロセスが終了する。
【0058】
送信者側でのスタッフビットの挿入、及び、受信者側でのスタッフビットの除去に関しては、アービトレーションフィールド、コントロールフィールド、及び、データフィールドの伝送のためのCAN規格ISO11898−1の規定が有効である。ブロック322では、スタッフィング制御部が、データに依存するモードから、カウンタに依存するモードに切り替えられる。これにより、送信者により規則的な間隔で挿入された固定スタッフビット又は固定スタッフビットシーケンスが、受信者側で更なる処理のために再び除去される。示されるフィールドの大きさは、スタッフビット又は固定スタッフビットを除去した後のデータ量が関わっている。規格から外れるCRCチェックサムの計算のためには、挿入されたスタッフビットが含められるが、本発明に基づき挿入された固定スタッフビット又は固定スタッフビットシーケンスは、受信されたデータストリームから再び除去される。
【0059】
図3では、利用されるCRCを決定する更なる別の標識が、データフィールドの大きさ及びデータ長コードの解釈に関する第1の標識と一致する場合が示された。即ち、CRCチェックサムの受信320又は322の前に、どのCRCが更なる別の標識に従って受信されて分岐324のために評価されるのかについて、問合せが再度行われなかった。
図3のフロー図を簡単に変更することにより、この追加的な問合せを、場合によりシーケンスに組み込むことが可能である。
【0060】
図4は、
図1bに対して、本発明に基づき異なるビット長が利用され個々のビットがより速くバスを介して伝送される範囲がメッセージ内に追加的に設定された、本発明に基づき変更されたメッセージの2つの更なる別の例を示す。メッセージは、従って、「CAN FD Fast」と称される。
図4には、メッセージの2つの可能なアドレス指定のバリエーションについて、ファストCANアービトレーション(Fast−CAN−Arbitration)、ファストCANデータ(Fast−CAN−Data)と呼ばれる2つの状態の間で切り替えられる範囲が示されている。この2つの状態の切り替えによって、メッセージの対応する部分についてビット長が短縮され、個々のビットがより速くバスを介して伝送される。これにより、規格に準拠した方法に対して、メッセージの伝送時間を短縮することが可能である。これに伴う時間的ビット長の切り替えは、例えば、最小時間単位又は駆動中の発振器クロックに対して相対的にバス時間単位を調整するための、少なくとも2つの異なる倍率の利用によって実現することが可能である。ビット長の切り替え、及び、倍率の、対応する変更も同様に
図4に例示されている。
【0061】
状態ファストCANアービトレーションと状態ファストCANデータとの間の移行は、第1の標識EDLを有するメッセージの、第2の標識であって、短縮されたビット長が利用されることをデータ伝送の加入者に対してシグナリングする上記第2の標識に従って行われうる。ここで示される実施例では、この標識の位置は、BRS(Bit Rate Switch)と称されるコントロールフィールド内の追加的なビットである。この追加的なビットは、示される例では、コントロールフィールドの4番目のビットとして伝送される。
【0062】
第1の標識EDLの後に第2の標識BRSが続く提示されるケースでは、本発明に係る伝送方法において、そのビット長が明らかに短く、そのデータフィールドの大きさが8バイトを上回る値に拡張可能であり、そのCRCがより大きなデータフィールドに対して調整され、以前にメッセージに挿入されたスタッフビットまで延長されるメッセージが伝送される。このようにして、バスシステムを介する伝送容量の著しい増大と同時に、伝送信頼性の改善が達成される。
【0063】
示される例では、より速い伝送は、対応する標識の送信直後に始まって、戻し切り替えのために設定されたビットに到達した直後に終わり、又は、エラーフレーム(Error−Frame)を開始する理由が検出された場合に終わる。
【0064】
図5は、
図3に対して変更された受信プロセスを示しており、この受信プロセスでは追加的に、第2の標識BRSに従って、状態ファストCANアービトレーションと状態ファストCANデータとの間で切り替えられる。分岐310で、例えばリセッシブなビットEDLとしてのコントロールフィールドの第2ビットの受信後に、本発明に係る変更された通信方法が利用されるという情報が存在する場合には、ブロック408において、コントロールフィールドの直近のビットが読み込まれる。第2の標識として役立つビット、例えば、本発明に基づき拡張されたコントロールフィールドの第4のビットBRSが、構想された値により、例えばリセッシブで受信される場合には、例えばBRSビットのサンプルポイント(Sample Point)で、状態ファストCANデータに入り、即ち、短縮されたビット長に切り替えられる(経路「C」)。当該BRSビットが反対の値、即ちこの場合ではドミナントな値を有する場合には、ビット長の短縮は行われない(経路「B」)。ブロック412又は414で、データ長コードを含むコントロールフィールドの残りのビットの受信、及び、データ長コードからの大きさ情報に係るデータフィールドの受信が行われる。ブロック412では、通常のビット長で受信され、ブロック414では短縮されたビット長で受信される。ブロック416又は418では、本発明に基づき異なる、特により長いCRCフィールドが読み込まれる。ブロック418において、CRCフィールドの最後のビット、即ちCRCデリミタで、通常のビットレートによる状態ファストCANアービトレーションへと再び切り替えられる。引き続いて、
図3と同様に分岐324で、送信者により伝達されたCRCチェックサムと、受信者自身により定められたCRCチェックサムとが一致するかが検査され、これに従って、
図3で既に示したように、更なる処理が行われる。
【0065】
ここでも、送信者側でのスタッフビットの挿入、及び、受信者側でのスタッフビットの除去に関しては、アービトレーションフィールド、コントロールフィールド、及び、データフィールドの伝送のためのCAN規格ISO11898−1の規定が有効である。ブロック416又は418では、スタッフィング制御部が、データに依存するモードから、カウンタに依存するモードに切り替えられる。これにより、送信者により規則的な間隔で挿入される固定スタッフビット又は固定スタッフビットシーケンスは、受信者側で再び除去される。示されるフィールドの大きさは、スタッフビット又は固定スタッフビットを除去した後のデータ量が関わっている。規格から外れるCRCチェックサムの計算のために、挿入されたスタッフビットは含められるが、本発明に基づき挿入された固定スタッフビット又は固定スタッフビットシーケンスは、受信されたデータストリームから再び除去される。
【0066】
図6aは、本発明に係る装置内、特に通信コントローラ内で、送信されるメッセージへの追加的な固定スタッフビット又は固定スタッフビットシーケンスの挿入を実行する制御部の一部を概略的に示している。
図6bは、本発明に係る装置内で、受信されたメッセージからの追加的な固定スタッフビット又は固定スタッフビットシーケンスの除去を実行する制御部の一部を概略的に示している。伝送すべき本来のユーザデータは、RD(「生データ」(Rohdaten))で示され、バスシステム上に存在する(固定)スタッフビットが付け加えられたデータは、BD(「バスデータ」(Busdaten))で示される。
【0067】
通常のCANビットスタッフィング方法では、受信者側でも、送信者側でも、サンプリング点でサンプリングされたビットが、5ビット幅のスタッフ・シフトレジスタ610又は620内へとシフトされる。このレジスタの全ての5ビットが同じ値を有する場合、このことがスタッフ条件となる。このことは、評価ユニット612又は622で確認される。スタッフ条件が存在しない場合には、送信者内及び受信者内のデータレジスタが、CANビット時間ごとに1回、1ビット分だけシフトされる。メッセージの送信者は、自身のデータ・シフトレジスタの出力ビットごとに送信し、受信者は、サンプリングされたビットを、自身のデータ・シフトレジスタ内へとシフトさせる。送信者の評価ユニット612が、スタッフ条件を確認した場合には、挿入ユニット616は、データ・シフトレジスタがもはやシフトされず送信者が後続のビットとして前のビットとは反対のビットを送信するようにする。従って、バスデータBDは、この反対のビットの分が生データRDに対して付け加えられる。受信者の評価ユニット622が、バスデータBD内でスタッフ条件を確認した場合には、除去ユニット626は、後続のビットがデータレジスタ内へとシフトされず当該後続のビットが前のビットに対して反対であるかが検査されるようにする(後続のビットが前のビットに対して反対でない場合には、スタッフエラー(Stuff−Error)が検出される。)。この後続のビットは、バスデータから除去され、更なる処理に供給される生データRD内にもはや存在しない。
【0068】
本発明に係る伝送方法では、スタッフビットの挿入及び除去は、
図6a及び
図6bに示すように、好適に、少なくとも2つのモードに切り替え可能な制御部によって制御される。制御部は、下位制御部614又は624、及び、評価ユニット618又は628の分だけ補充されている。例えば、アービトレーションフィールド、コントロールフィールド、及び、データフィールドでの、CRCで保護されたビットの伝送の間、(規格CAN方法のように)スタッフビットの挿入又は除去は、スタッフ・シフトレジスタ610又は620の内容に依存する。メッセージの他の部分範囲内では、例えば、メッセージのCRCフィールドの伝送の間は、カウンタに依存した挙動に切り替えられる。このために、示される例では、5つの状態を有する下位制御部614又は624が利用され、この5つの状態のうちの1つが固定スタッフ条件に相当する。スタッフ条件が存在する際のように、固定スタッフビット条件が存在する際には、挿入ユニット616又は除去ユニット626に問い合わせが行われる。下位制御装置614又は624は、CANビットクロックごとに周期的に5つの状態の間で変化し、従って、5番目のビットごとに、挿入ユニット616又は除去ユニット626に問い合わせが行われる。その後、規格CANの方法のように、前のビットとは反対のビットが、送信者によってバスデータBDに挿入され、他方では、受信者によって検査されて、再び除去される。本方法の適用の際には、CRCフィールドでは常に、1個の固定スタッフビットにより分けられた、4ビットのCRCシーケンスの一群が伝送される。
【0069】
先に記載したように、固定スタッフビットの箇所には、固定スタッフビットシーケンスも挿入することが可能であり、例えば、「1」の後にシーケンス「0 1」、又は、「0」の後に「1 0」を挿入することが可能である。さらに、CRCシーケンスの各3番目のデータビットの後に、固定スタッフビットシーケンスを挿入することも可能であろう。更なる別のモードを構想することも可能であり、例えば、モードに従って、各3番目のデータビットの後又は各4番のビットの後に、固定スタッフビットシーケンスが続く。
【0070】
下位制御部614又は624は、例えばCRCフィールド伝送の開始の際に、固定スタッフ条件が満たされるように設定される。これにより、CRCフィールドは、固定スタッフビット又は固定スタッフビットシーケンスで始まり、メッセージのCRCフィールド内では、全ての固定スタッフビットの位置が予め定められる。例えば、データフィールドが5個の同じビットで終わるため、CRCフィールドの開始の際にスタッフ条件がいずれにせよ満たされる場合には、CRCフィールドの先頭のスタッフビットは、このスタッフ条件にも一緒に応じる。
【0071】
代替的に、下位制御部614又は624は、例えば値の範囲が0〜4の周期的なスタッフィングカウンタとして実現可能であり、このスタッフィングカウンタは、CRCフィールドの開始に際して0にリセットされ、自身の再び戻った値0がその都度、固定スタッフビット又は固定スタッフビットシーケンスを開始する。
【0072】
データフィールドの最終データビットの前の全てのスタッフビットは、CRC検査によって一緒に保護され、データフィールドの最終データビットの後の固定スタッフビットは、CRCシーケンスの生成及び検査の際にはマスクが掛けられる。
【0073】
本発明に係るメッセージ内の第1の標識EDLのリセッシブなビットの後に続く、常にドミナントなビットr0(又は、拡張型アドレス指定の際には場合によってr1)は、例えば
図1b及び
図4で読み取れるように、本発明に係る全てのメッセージ内で、リセッシブ・ドミナント・エッジとなる。このエッジは、バス加入者間の同期化の改善のために使用することが可能であり、このことは特に、より短いビット長への切り替えが予定される際には特に有利である。
【0074】
ネットワーク内の全てのバス加入者が、送信加入者に対して同期化される場合には、より短いビット長へと問題なく切り替えられる。しかしながら、例えば、第1の送信加入者が、アービトレーションフィールドの終りで、ビット列「ドミナント・ドミナント」を送信し、調停の枠組みにおいてバスへのアクセス権を獲得したい第2の送信加入者が、ビット列「ドミナント・リセッシブ」を送信する場合には、切り替えのために設けられたビットのところで、加入者の全てが送信加入者に対して同期されるわけではないということも起こりうる。第2の送信加入者は、リセッシブなビットで調停に負けて受信者となる。リセッシブなビットまでは、両送信者は、同じビット列を送信していた。両送信機が、CANバス及びトランシーバを介した伝送時間に基づき、自身が送信したリセッシブからドミナントへの各エッジを、各他方の送信者が送信したエッジを検知するよりも早く検知したために、どちらの加入者も他の加入者に対して同期化されていない。新たに受信者となったバス加入者が、残っている送信者に対して同期化してしまう前に、ビット長が切り替わる際には、同期化は、切り替えの後に、ビット長がより短い範囲内で行われる。その場合に、同期化による位相のずれは、ビット長に相関してより大きい。2つのバス加入者間の信号の伝送時間に応じて、位相のずれは、エラー同期化が発生しビットが誤ってサンプリングされるほど大きくなりうる。その場合には、受信者は、受信されたメッセージを有効なものとして認めず、エラーフレーム(Error−Frame)を用いて破壊する。
【0075】
規格CAN通信では、この問題は発生しない。なぜならば、規格CAN通信では、CANビットタイミングの伝播時間セグメント(Propagation−Segment)が、信号の伝送時間により引き起こされるバス加入者間の位相のずれを補正するからである。しかしながら、より短いビット長のための設定では、ビット長を短縮するために、伝播時間セグメントが最小化され又は完全に無くされる可能性がある。
【0076】
ビット長の切り替え後のエラー同期化を回避するために、適切な措置によってビット長の切り替え前の同期化を保証する必要がある。このことは、EDL(リセッシブ)からr0又はr1(ドミナント)へのエッジで同期化が行われることによって達成されうる。特に、通常ではフレーム内で一般的な再同期化が行われる代わりに、ハード同期化(Hard−Synchronisierung)が実行されうる。このハード同期化は、例えばスタートオブフレームビットでも行われ、起こりうる位相のずれを確実かつ完全に補正する。通常ではフレーム内で一般的な再同期化が行われる際には、設定された再同期化ジャンプ幅(SJW:Synchronisation Jump Width)よりも位相エラーが大きい場合に、残差が残っている可能性がある。
【0077】
提示される方法の1変形例として、短縮されたビット長への切り替えは、第2の標識BRSの値に従って、追加的に、先に伝送されるr0ビットのドミナントな値と組み合わせることが可能であり、従って、r0がドミナントで伝送された場合に、より短いビット長へと切り替えられる。本方法をこのように補完することによって、ドミナントなr0ビットの代わりにリセッシブなビットがリセッシブなEDLビットの後に続くビット列を、将来の更なる別のメッセージフォーマットのために、例えば、メッセージの部分範囲内での規格から外れるビット符号化のために利用することが可能になる。
【0078】
本発明に係るメッセージのコントロールフィールド内に追加的なビットを挿入するという可能性はさらに、「エラーパッシブ」(Error Passive)の状態にあるバス加入者の検知を容易にするために利用することが可能である。従来技術による通信コントローラを備えたバス加入者は、送信又は受信エラーがカウント(Count)128以上の場合に、「エラーパッシブ」状態になる。バス加入者が「エラーパッシブ」状態にある場合には、当該バス加入者は、「アクティブエラーフラグ(Active Error Flag)」(6個の連続するドミナントビット)を送信してはならない。バス加入者がエラーを検出した場合には、「パッシブエラーフラグ(Passive Error Flag)」(6個の連続するリセッシブビット)を送信する。しかしながら、「パッシブエラーフラグ」は、CANバス上では静止レベル(Ruhe−Pegel)と区別されない。即ち、他のバス加入者は、状況によっては、或るバス加入者が「エラーパッシブ」状態にあることを間接的にしか検出出来ないである。
【0079】
これに対して、ここで提案される方法の利点は、本方法によって、他のバス加入者が、「エラーパッシブ」状態にあるバス加入者を一意に識別出来ることである。このことは、従来では、「パッシブエラーフラグ」の受信を介しては可能ではなかった。従来技術によるバス加入者内では、ローカルでCANコントローラに接続されたマイクロプロセッサのみが、状態「エラーパッシブ」を検出し、例えば適切な状態メッセージによって、他のバス加入者に報知することが可能である。新しい方法によって、マイクロプロセッサは、状態メッセージを送信する必要がない。さらに、この場合、「エラーパッシブ」状態についての情報は、送信時点では現実に即しているが、その一方で、この状態は、状態メッセージの送信の際に、マイクロプロセッサによる状態メッセージの作成と送信時点との間に変化してしまう可能性がある。
【0080】
ここで記載される方法では、通信コントローラの状態「エラーパッシブ」についての情報は、いずれにせよバス加入者によって送信されるメッセージに組み込まれる。このために、メッセージのコントロールフィールドは、更なる別のビット(ESI)の分だけ拡大される。このESIビットは、
図1bで示すように、第1の標識(EDL)の後で、かつDLCの前に挿入され、例えばBRSの直前又は直後に挿入される。「エラーパッシブ」状態にあるバス加入者は、このビットを例えばドミナントで送信するが、それ以外の場合には、このビットはリセッシブで送信される。逆のロジックも同様に可能である。
【0081】
提示される伝送方法は、車両の通常運転における、適切なデータバスを介して接続された、車両の少なくとも2つの制御装置の間のデータ伝送のために適している。しかしながら、車両の製造又は保守の間の、プログラミング目的で適切なデータバスと接続されたプログラミングユニットと、データバスと接続された車両の少なくとも1つの制御装置と、の間のデータ伝送のためにも同様に有利に利用されうる。さらに、工業オートメーションにおいて、バスによって互いに接続された分散された制御ユニットであって、産業的な製造工程の流れを制御する上記制御ユニットの間で、例えば制御情報を伝送するために本発明を使用することも可能である。この分野では、非常に長いバス線も登場する可能性があり、調停過程の間バスシステムを、比較的長いビット長で、例えば、16、32、又は64マイクロ秒で駆動することも特に有利でありうる。続いて、上述のように、メッセージの一部について、中規模の伝送レートが小さくなり過ぎないようにするために、より短いビット長に切り替えることが可能である。
【0082】
以上、本方法は、規格CANコントローラが、本発明に基づき動作しうるために最小限に変更されればよいという点で卓越した伝送方法である。規格CANコントローラとしても動作しうる本発明に係る通信コントローラは、従来の規格CANコントローラより僅かに大きい。対応するアプリケーションプログラムを変更する必要はなく、既に、データ伝送速度の点で利点が実現される。データフィールドの拡張された大きさ、並びに、対応するDLC及びCRCの拡張された大きさを利用することにより、データ伝送速度を更に上げることが可能であり、アプリケーションソフトウェアにおける調整は最小である。CANコンフォーマンステスト(CAN−Conformance−Test)(ISO16845)の広範な部分を引き継ぐことが可能である。さらに、本発明に係る伝送方法と、TTCAN(ISO11898−4)を補完したものと、を組み合わせることも可能である。