(57)【要約】バスシステムを用いて接続された送信ノードと少なくとも１つの受信ノードとの間でのデータフレームの交換によるシリアル通信のための方法であって、送信機及び受信機の役割が、ＣＡＮ規格ＩＳＯ１１８９８−１により定められた調停の手続きにより、データフレームごとにノードに割り当てられ、交換されるデータフレームは、ＣＡＮ規格ＩＳＯ１１８９８−１に準拠した論理的構造を有し、データフレームはビットシーケンスで構成され、データフレームの論理的構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、アクノリッジフィールド、及び、エンドオブフレームフィールドを含み、データフィールドは、ゼロビットの長さを有してもよく、各他のフィールドは少なくとも２個のビットを含み、各ビットはビット時間を有し、各ビット時間は、タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）に分けられ、ビットレートはビット時間の逆数により定められ、交換されるデータフレームの、少なくとも１つの第１の予め設定可能な部分について、当該部分内でのビットレートは、１Ｍビット／ｓの最大値を下回り、交換されるデータフレームの、少なくとも１つの第２の予め設定可能な部分について、当該部分内でのビットレートは、少なくとも１つの第１の予め設定可能な部分内よりも速い、上記方法において、タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の少なくとも２つの異なる組み合わせが、交換されるデータフレームの少なくとも２つの異なる部分について予め設定可能であることを特徴とする、上記方法が記載される。【選択図】図１
2014518034.tif 000002
【特許請求の範囲】
【請求項１】
バスシステムを用いて接続された送信ノードと少なくとも１つの受信ノードとの間での、データフレームの交換によるシリアル通信のための方法であって、
送信機及び受信機の役割が、ＣＡＮ規格ＩＳＯ１１８９８−１で定められた調停の手続きにより、データフレームごとにノードに割り当てられ、
交換される前記データフレームは、ＣＡＮ規格ＩＳＯ１１８９８−１に準拠した論理的構造を有し、
前記データフレームは、ビットシーケンスで構成され、
前記データフレームの前記論理的構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、アクノリッジフィールド、及び、エンドオブフレームフィールドを含み、
前記データフィールドは、ゼロビットの長さを有してもよく、
各他のフィールドは、少なくとも２個のビットを含み、
各ビットは、ビット時間を有し、
各ビット時間は、タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）に分けられ、
前記ビットレートは、前記ビット時間の逆数により定められ、
前記交換されるデータフレームの、少なくとも１つの第１の予め設定可能な部分について、当該部分内でのビットレートは、１Ｍｂｉｔ／ｓの最大値を下回り、
前記交換されるデータフレームの、少なくとも１つの第２の予め設定可能な部分について、当該部分内でのビットレートは、前記少なくとも１つの第１の予め設定可能な部分内でのビットレートよりも速い、前記方法において、
前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、少なくとも２つの異なる組み合わせが、前記交換されるデータフレームの前記少なくとも２つの異なる部分について予め設定可能であることを特徴とする、方法。
【請求項２】
前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、前記少なくとも２つの異なる組み合わせの少なくとも１つにおいて、ＰＲＯＰ＿ＳＥＧの値は、ＣＡＮ規格ＩＳＯ１１８９８−１で規定された範囲から外れてもよく、特に、値ゼロを有してもよいことを特徴とする、請求項１に記載の方法。
【請求項３】
少なくとも２つの異なるビット時間を有する前記交換されるデータフレームは、前記コントロールフィールド内に含まれる前記予約ビット（ｒ０）により、均一なビット時間を有するデータフレームと区別可能であることを特徴とする、請求項１又は２に記載の方法。
【請求項４】
交換されるデータフレームの、ビット時間がより短い前記少なくとも１つの第２の予め設定可能な部分は、前記予約ビット（ｒ０）により開始し、前記ＣＲＣフィールドの終りでレセッシブビット（ＣＲＣデリミタ）により終了し、又は、エラーフレームの開始をもたらすエラー状態の検出により終了することを特徴とする、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
少なくとも２つの異なるビット時間を有する交換されるデータフレームは、８バイトよりも大きい大きさのデータフィールドを含んでもよく、
前記データフィールドの前記大きさは、前記コントロールフィールド内に含まれるデータ長コードにより規定され、
ＣＡＮ規格ＩＳＯ１１８９８−１で定められた符号化とは異なる、前記データ長コードのための符号化が利用されることを特徴とする、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記データ長コードのための前記異なる符号化は、０ｂ００００と０ｂ１０００との間の値が、ＣＡＮ規格ＩＳＯ１１８９８−１のように０〜８バイトのデータフィールドに対応し、０ｂ１００１と０ｂ１１１１との間の値が、８バイトよりも長いデータフィールドに対応するという符号化であることを特徴とする、請求項５に記載の方法。
【請求項７】
前記データフィールドの大きさが８バイトより大きい、少なくとも前記交換されるデータフレームのための前記ＣＲＣフィールドの内容は、ＣＡＮ規格ＩＳＯ１１８９８−１で定められたＣＲＣ多項式とは異なるＣＲＣ多項式を用いて定められることを特徴とする、請求項５〜６のいずれか１項に記載の方法。
【請求項８】
前記データフィールドの大きさが８バイトよりも大きい、少なくとも前記交換されるデータフレームのための前記ＣＲＣフィールドの大きさは、ＣＡＮ規格ＩＳＯ１１８９８−１で定められ大きさとは異なることを特徴とする、請求項５〜７のいずれか１項に記載の方法。
【請求項９】
前記スタートオブフレームビットにより開始されて、少なくとも２つのＣＲＣシーケンスが、調停の後に、前記ＣＲＣシーケンスのうちの１つが前記予約ビット（ｒ０）により及び前記データ長コードにより選択されて、ＣＲＣエラーを起動しうる得る有効なＣＲＣシーケンスとなるまで、同時に計算されることを特徴とする、請求項５〜８のいずれか１項に記載の方法。
【請求項１０】
送信機は、前記ＣＲＣシーケンスの後で１個のレセッシブビット（ＣＲＣデリミタ）を送信し、全てのノードは、エラーを検出することなく、ＡＣＫスロットを開始するバス状態の変更の前に、２個のレセッシブビットを受け取ることを特徴とする、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
一致する前記ＣＲＣシーケンスを受信した受信機は、前記ＡＣＫスロット内でドミナントビット（ＡＣＫ）を送信し、全てのノードは、エラーを検出することなく、ＡＣＫビットが重畳された２ビット長のドミナントなバス状態を受け入れることを特徴とする、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記交換されるデータフレーム内の前記少なくとも２つの異なるビット時間は、プリスケーラの２つの異なる値を用いて生成され、
前記プリスケーラは、タイムクワントゥムと最小タイムクワントゥムとの間の比率のように定められることを特徴とする、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記交換されるデータフレームの前記少なくとも１つの第２の予め設定可能な部分であって、前記ビットの前記ビット時間が前記少なくとも１つの第１の予め設定可能な部分でのビット時間より短い前記第２の予め設定可能な部分において、前記少なくとも１つの第１の予め設定可能な部分内とは異なるビット符号化方法が利用されることを特徴とする、請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
バスシステムを用いて接続された送信ノードと少なくとも１つの受信ノードとの間での、データフレームの交換によるシリアル通信のための装置であって、
送信機及び受信機の役割が、ＣＡＮ規格ＩＳＯ１１８９８−１で定められた調停の手続きにより、データフレームごとにノードに割り当てられ、
交換される前記データフレームは、ＣＡＮ規格ＩＳＯ１１８９８−１に準拠した論理的構造を有し、
前記データフレームは、ビットシーケンスで構成され、
前記データフレームの前記論理的構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、アクノリッジフィールド、及び、エンドオブフレームフィールドを含み、
前記データフィールドは、ゼロビットの長さを有してもよく、
各他のフィールドは、少なくとも２個のビットを含み、
各ビットは、ビット時間を有し、
各ビット時間は、タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）に分けられ、
前記ビットレートは、前記ビット時間の逆数により定められ、
前記交換されるデータフレームの、少なくとも１つの第１の予め設定可能な部分について、当該部分内でのビットレートは、１Ｍｂｉｔ／ｓの最大値を下回り、
前記交換されるデータフレームの、少なくとも１つの第２の予め設定可能な部分について、当該部分内でのビットレートは、前記少なくとも１つの第１の予め設定可能な部分内でのビットレートよりも速い、前記装置において、
前記装置は、前記交換されるデータフレームの、前記少なくとも２つの異なる部分のための前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、少なくとも２つの異なる組み合わせを予め決定するための手段を含むことを特徴とする、装置。
【請求項１５】
前記装置は、請求項１〜１３に記載の通信方法のうちの１つを実行するための手段を含むことを特徴とする、請求項１４に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
直列通信が受け入れられ益々多くのアプリケーションに導入されるにつれて、直列通信のための帯域幅を増やす必要があるという要求が生まれた。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
２つの要因が、ＣＡＮネットワーク内での効率の良いデータレートを制限しており、即ち、第１の要因は、ＣＡＮバス調停方法（ＣＡＮ  ｂｕｓ  ａｒｂｉｔｒａｔｉｏｎ  ｍｅｔｈｏｄ）の機能のために必要な最小ビット時間であり、第２の要因は、ＣＡＮメッセージ内でのデータビット数とフレームビット数との間の関係である。
【課題を解決するための手段】
【０００３】
本ホワイトペーパー（Ｗｈｉｔｅ  Ｐａｐｅｒ）では、ＩＳＯ１１８９８−１で規定されるＣＡＮプロトコルに基づく、「ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ−Ｒａｔｅ（可変的なデータレート対応のＣＡＮ）」又はＣＡＮ  ＦＤと呼ばれる新しいプロトコルについて記載する。ＣＡＮ  ＦＤは、ＣＡＮバスの調停方法を未だに利用し、調停処理の終了後により短いビット時間へと切り替えることによってビットレートを上げ、受信機が自身のアクノリッジビット（ａｃｋｎｏｗｌｅｄｇｅ  ｂｉｔｓ）を送信する前に、ＣＲＣデリミタ（ＣＲＣ  Ｄｅｌｉｍｉｔｅｒ）においてより長いビット時間へと戻る。効率の良いデータレートは、より長いデータフィールドを可能にすることによって増大する。ＣＡＮは、１６個の異なるコードとなるデータ長コード（Ｄａｔａ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）として４ビットを利用するが、最初の９個の値のみ利用され、コード［０−８］は、［０−８］バイトのデータフィールドの長さを表している。ＣＡＮでは、コード［９−１５］が、８データバイトを示すよう定められる。ＣＡＮ  ＦＤでは、当該コードは、より長いデータフィールドを示すために利用される。
【０００４】
注：ＣＡＮシステムは、ＣＡＮ  ＦＤシステムへと徐々に移行することが可能である。ネットワーク内の全てのノードは、ＣＡＮ  ＦＤ通信のためのＣＡＮ  ＦＤプロトコルコントローラを有している必要があるが、全てのＣＡＮ  ＦＤプロトコルコントローラは、標準型のＣＡＮ通信に関与することも可能である。ＣＡＮ  ＦＤ通信が、長さが８データバイトまでのデータフィールドに制限される場合には、コントローラの初期設定は別として、アプリケーションプログラムを変更する必要はない。
【図面の簡単な説明】
【０００５】
【発明を実施するための形態】
【０００６】
序論：
コントローラエリアネットワーク（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）は、非常に高い安全レベルにより、分散型の実時間制御を効率良くサポートする直列（ｓｅｒｉａｌ）通信プロトコルである。ＣＡＮの適用範囲は、高速ネットワークから低コストの多重配線にまで至る。自動車エレクトロニクスでは、エンジン制御ユニット、センサ、滑り止めシステム（ａｎｔｉ−ｓｋｉｄ−ｓｙｓｔｅｍ）等が、ビットレートが１Ｍｂｉｔ／ｓまでのＣＡＮを用いて接続される。同時に、そうでなければ必要となるワイヤーハーネスと置き換えるために、例えば、照明器具群、パワーウィンドウ等の車体エレクトロニクスを組み込むための費用対効果が高い。
ＣＡＮ  ＦＤ（ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ−Ｒａｔｅ）は、高速データレートを必要とするアプリケーションにおいて、ＣＡＮを補完する。ＣＡＮ  ＦＤプロトコルコントローラは、標準型のＣＡＮ通信にも関与することが可能であり、特定の駆動モードでのみ、例えば、ラインの末端でのソフトウェアダウンロード又はメンテナンスにおいて、ＣＡＮ  ＦＤを使用することを可能にする。ＣＡＮ  ＦＤは、２組のビットタイミング設定レジスタと、調停段階のための１ビット時間と、データフィールドのための１ビット時間と、を必要とする。調停段階のためのビット時間は、標準型のＣＡＮネットワーク内と同じ制限があり、データフィールドのためのビット時間は、選択されたトランシーバの性能、及び、ＣＡＮ  ＦＤネットワークの特性に鑑みて選択される。
標準型のＣＡＮトランシーバは、ＣＡＮ  ＦＤのために使用することが可能であり、専用トランシーバは任意選択である。ＣＡＮ  ＦＤプロトコルコントローラは、ビットレートがより速い段階において、専用ＣＡＮ  ＦＤトランシーバを他の駆動モードに切り替えるために、追加的なインタフェース信号を提供してもよい。
専用ＣＡＮ  ＦＤトランシーバは、ビットレートがより速い段階において、他の符号化システムを利用してもよく、ＣＡＮのＮＲＺ（Ｎｏｎ−Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ、非ゼロ復帰）方式の符号化には限定されない。
【０００７】
基本概念：
ＣＡＮ  ＦＤフレームは、ＣＡＮフレームと同じ構成要素から成り、相違点は、ＣＡＮ  ＦＤフレームでは、データフィールド（Ｄａｔａ  Ｆｉｅｌｄ）及びＣＲＣフィールド（ＣＲＣ  Ｆｉｅｌｄ）がより長くてもよいということである。メッセージの妥当性確認（ｖａｌｉｄａｔｉｏｎ）には、ＣＡＮのように、少なくとも１つの受信機からのドミナントな（ｄｏｍｉｎａｎｔ）アクノリッジビットが必要である。エラーフレーム（Ｅｒｒｏｒ  Ｆｒａｍｅ）、エラーカウンタ（Ｅｒｒｏｒ  Ｃｏｕｎｔｅｒ）、エラーパッシブレベル（Ｅｒｒｏｒ  Ｐａｓｓｉｖｅ  ｌｅｖｅｌ）、及びバスオフレベル（Ｂｕｓ−ｏｆｆ  ｌｅｖｅｌ）によるＣＡＮ  ＦＤの障害隔離はＣＡＮと同じであり、５つのエラータイプ、即ち、ビットエラー（Ｂｉｔ  Ｅｒｒｏｒ）、スタッフエラー（Ｓｔｕｆｆ  Ｅｒｒｏｒ）、ＣＲＣエラー（ＣＲＣ  Ｅｒｒｏｒ）、フォームエラー（Ｆｏｒｍ  Ｅｒｒｏｒ）、及び、アクノリッジメントエラー（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ  Ｅｒｒｏｒ）に基づいている。
【０００８】
ＣＡＮ  ＦＤフレームの例は図１に図示されている。
【０００９】
ＣＡＮ  ＦＤフレームはＣＡＮフレームと同じ構造を有し、ＣＡＮフレームとＣＡＮ  ＦＤフレームとの相違点は、コントロールフィールド（Ｃｏｎｔｒｏｌ  Ｆｉｅｌｄ）内のデータ長コード（Ｄａｔａ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）の直前の予約ビットである。ＣＡＮ  ＦＤフレームでは、この予約ビットはレセッシブで（ｒｅｃｅｓｓｉｖｅ）送信される。
プロトコルを区別する予約ビットまでの、ＣＡＮ  ＦＤフレームの最初の部分は、ＣＡＮフレームと同じビットレートで送信される。ビットレートは、予約ビットの後で、ＣＲＣデリミタに到達するまで、又は、エラーフレームの開始をもたらすエラー状態をＣＡＮ  ＦＤコントローラが検出するまで、切り替えられる。ＣＡＮ  ＦＤエラーフレーム、ＡＣＫフィールド、エンドオブフレーム（Ｅｎｄ  ｏｆ  Ｆｒａｍｅ）、オーバーロードフレーム（Ｏｖｅｒｌｏａｄ  Ｆｒａｍｅ）は、ＣＡＮエラーフレームと同じビットレートで送信される。
【００１０】
フレームフォーマット：
図２は、メッセージ内でビットレートが切り替えられる位置を示している。
【００１１】
ＣＡＮ  ＦＤは、ＣＡＮプロトコルの２つの識別子の長さ、即ち、１１ビット長の「標準フォーマット」と、２９ビット長の「拡張フォーマット」と、をサポートする。両ケースで、ビットレートは、予約ビットｒ０で（ＤＬＣの前で）より短いビット時間へと切り替えられる。
【００１２】
データフィールド内のバイト数は、データ長コード（Ｄａｔａ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）により示される。このデータ長コードは４ビット幅であり、コントロールフィールド内で送信される。
【００１３】
データ長コードの符号化は、ＣＡＮ  ＦＤとは異なっている。最初の９個のコードは同じであるが、ＣＡＮで８バイトのデータフィールドを規定する後続のコードは、ＣＡＮ  ＦＤでは、より長いデータフィールドを規定する。全てのリモートフレーム（Ｒｅｍｏｔｅ  Ｆｒａｍｅ）は、対応するデータフレームのデータ長コードに関係なく、ゼロのデータ長コードを利用する。
【００１４】
注：本文書では、データフィールドの最大長は、６４バイトと規定されている。この値、及び、データ長コードの８よりも大きい他の値は、ＣＡＮ  ＦＤの最終仕様書において変更される可能性がある。
データ長コードによるデータバイト数の符号化が、図３に記載されている。
【００１５】
ＣＲＣフィールド（ＣＲＣ  Ｆｉｅｌｄ）は、図４に示すように、ＣＲＣデリミタ（ＣＲＣ  ＤＥＬＩＭＩＴＥＲ）がその後に続くＣＲＣシーケンスを含んでいる。
【００１６】
ＣＲＣシーケンス：フレームチェックシーケンスは、巡回冗長コード（ＢＣＨコード）に由来する。
ＣＲＣ演算を行うために、除算すべき多項式は、その係数が関連するビットストリームにより与えられる多項式として定められる。ＣＡＮ  ＦＤは、異なるフレームの長さについて、異なるＣＲＣ多項式を利用する。８データバイトまでのフレームについては、ＣＡＮと同じ多項式が利用される。８データバイトまでのフレームについて、関連するビットストリームは、スタートオブフレーム（ＳＴＡＲＴ  ＯＦ  ＦＲＡＭＥ）、アービトレーションフィールド（ＡＲＢＩＴＲＡＴＩＯＮ  ＦＩＥＬＤ）と、コントロールフィールド（ＣＯＮＴＲＯＬ  ＦＩＥＬＤ）と、（もし存在するのであれば）データフィールド（Ｄａｔａ  Ｆｉｅｌｄ）と、１５番目の最下位の係数のために０と、で構成される、デスタッフ処理された（ｄｅｓｔｕｆｆｅｄ）ビットストリームである。この多項式は、ハミング距離（ＨＤ＝Ｈａｍｍｉｎｇ  Ｄｉｓｔａｎｃｅ)＝６であり、ビットカウントが１２７ビットより小さいフレームに最も適した生成多項式、即ち、
Ｘ１５＋Ｘ１４＋Ｘ１０＋Ｘ８＋Ｘ７＋Ｘ４＋Ｘ３＋１
により除算される（係数は、モジュロ２（ｍｏｄｕｌｏ−２）演算される）。
データフィールド内の、８バイトより大きいフレームについては、フレームの長さに対して調整された、異なる（及び、より長い）ＣＲＣ多項式が利用される。ＣＲＣフィールドは、これに応じて延長される。より長いフレームでは、ＣＲＣシーケンスの前に発生するスタッフビット（Ｓｔｕｆｆ  Ｂｉｔ）も、ＣＲＣにより保護される。
各ＣＲＣシーケンスは、別のシフトレジスタブロック（ｓｈｉｆｔ  ｒｅｇｉｓｔｅｒ  ｂｌｏｃｋ）で計算される。フレームの開始時には、全てのノードにおいて、全てのＣＲＣシーケンスが、調停の後にＣＲＣシーケンスのうちの１つが予約ビット及びＤＬＣにより選択されるまで、同時に計算される。選択されたＣＲＣシーケンスのみが、ＣＲＣエラー（ＣＲＣ  Ｅｒｒｏｒ）を発生させることが可能である。
注：実際のＣＲＣ多項式は、データ長コードの符号化が終了した後に定められる。
【００１７】
ＣＲＣデリミタ（ＣＲＣ  ＤＥＬＩＭＩＴＥＲ）：ＣＲＣシーケンスの後には、１個又は２個の「レセッシブ」ビットで構成されるＣＲＣデリミタが続く。送信機は、ＣＲＣデリミタとして、「レセッシブ」ビットを１個だけ送信するが、全てのノードは、アクノリッジスロット（Ａｃｋｎｏｗｌｅｄｇｅ  Ｓｌｏｔ）を開始するレセッシブからドミナントへのエッジの前で、２個の「レセッシブ」ビットを受け取るものとする。
注：ＣＲＣデリミタが検出された場合には、ＣＡＮ  ＦＤプロトコルコントロ―ラは、ビット時間がより長いビットレートに戻して切り替える。
ＣＡＮネットワーク内でのノード間の位相のずれは、トランシーバ内での遅延時間、及び、ＣＡＮバス線上での遅延時間により定められる。位相のずれは、ＣＡＮ内、ＣＡＮ  ＦＤ内において同じであるが、ビット時間がより短い位相においては、位相のずれが比例して長い。ネットワーク内の全ての受信機は、様々な時間に送信されたエッジを検出するため、送信機に対して異なる位相のずれを有する可能性がある。より長いビット時間へとビットレートが戻して切り替えられた場合に上記の位相のずれを補正するために、アクノリッジスロットを開始するレセッシブからドミナントなエッジの前及び後で、１ビット分の追加的なビット時間許容差が許容される。
【００１８】
ＡＣＫフィールド（ＡＣＫ  ＦＩＥＬＤ）は、２又は３ビット長であり、図５に示すように、ＡＣＫスロットと、ＡＣＫデリミタと、を含む。ＡＣＫフィールドでは、送信局は、２個の「レセッシブ」ビットを送信する。有効なメッセージを正しく受信した受信機は、このことを送信機に、ＡＣＫスロットの間に「ドミナント」ビットを送信することにより報告する（受信機は「ＡＣＫ」を送信する）。
【００１９】
ＡＣＫスロット（ＡＣＫ  ＳＬＯＴ）：一致するＣＲＣシーケンスを受信した全ての局は、このことを、「ドミナント」ビットで、送信機の「レセッシブ」ビットを上書きすることにより、ＡＣＫスロット内で報告する。受信機間の位相のずれを補正するために、全てのノードは、有効なＡＣＫとしてＡＣＫビットが重畳された２ビット長の「ドミナントな」位相を受け入れる。
【００２０】
ＡＣＫデリミタ（ＡＣＫ  ＤＥＬＩＭＩＴＥＲ）：ＡＣＫデリミタは、ＡＣＫフィールドの第２又は第３番目のビットであり、「レセッシブ」ビットである必要がある。結果的に、ＡＣＫスロットは、２個の「レセッシブ」ビット（ＣＲＣデリミタ、ＡＣＫデリミタ）で囲まれる。
【００２１】
エンドオブフレーム（ＥＮＤ  ＯＦ  ＦＲＡＭＥ）：各データフレーム及びリモートフレームは、７個の「レセッシブ」ビットから成るフラグシーケンスにより区切られる。
【００２２】
ＣＡＮ  ＦＤにおけるＣＡＮプロトコルの特徴：
ＣＡＮプロトコル仕様書（バージョン２．０、ロバートボッシュ社、１９９１年）の以下の部分が、ＣＡＮ  ＦＤプロトコルにおいて、変更されることなく適用される。
・送信機／受信機の定義
・メッセージフィルタリング（ＭＥＳＳＡＧＥ  ＦＩＬＴＥＲＩＮＧ）
・メッセージ検証（ＭＥＳＳＡＧＥ  ＶＡＬＩＤＡＴＩＯＮ）
・符号化（ＣＯＤＩＮＧ）
・エラー処理（ＥＲＲＯＲ  ＨＡＮＤＬＩＮＧ）
・エラー検出
・エラーシグナリング
・障害隔離（ＦＡＵＬＴ  ＣＯＮＦＩＮＥＭＥＮＴ）
【００２３】
ビットタイミング（ＢＩＴ  ＴＩＭＩＮＧ）要件：
ＣＡＮ  ＦＤプロトコルは、２つのビットレート、即ち、ビット時間がより長い第１のビットレートと、ビット時間がより短い第２のビットレートと、を定める。第１のビットレートの定義は、ＣＡＮプロトコル仕様書の公称ビットレート（ＮＯＭＩＮＡＬ  ＢＩＴ  ＲＡＴＥ）及び公称ビット時間（ＮＯＭＩＮＡＬ  ＢＩＴ  ＴＩＭＥ）についての定義と同じである。第２のビットレートの定義は、別の設定レジスタセットを必要とする。２つのビット時間は、重畳しない異なるタイムセグメントで構成され、これらタイムセグメント、即ち、
・同期化セグメント（ＳＹＮＣ＿ＳＥＧ：ＳＹＮＣＨＲＯＮＩＺＡＴＩＯＮ  ＳＥＧＭＥＮＴ）と、
・遅延時間セグメント（ＰＲＯＰ＿ＳＥＧ：ＰＲＯＰＡＧＡＴＩＯＮ  ＴＩＭＥ  ＳＥＧＭＥＮＴ）と、
・位相バッファセグメント１（ＰＨＡＳＥ＿ＳＥＧ１：ＰＨＡＳＥ  ＢＵＦＦＥＲ  ＳＥＧＭＥＮＴ１）と、
・位相バッファセグメント２（ＰＨＡＳＥ＿ＳＥＧ２：ＰＨＡＳＥ  ＢＵＦＦＥＲ  ＳＥＧＭＥＮＴ２）と、
は、図６に示されるビット時間を構成する。
【００２４】
ＣＡＮ  ＦＤプロトコルの２つのビットレートのためのタイムセグメントは、２組の設定レジスタによって定められる。
【００２５】
ＳＹＮＣ  ＳＥＧ：ビット時間のこの部分は、バス上の様々なノードを同期化させるために利用される。エッジがこのセグメント内に存在することが予期される。
【００２６】
ＰＲＯＰ  ＳＥＧ：ビット時間のこの部分は、ネットワーク内での物理的な遅延時間を補正するために利用される。ＰＲＯＰ  ＳＥＧは、バス線上での信号の遅延時間と、入力比較器の遅延と、出力ドライバ遅延と、の合計の２倍の長さである。
【００２７】
ＰＨＡＳＥ  ＳＥＧ１、ＰＨＡＳＥ  ＳＥＧ２：この位相バッファセグメントは、エッジの位相エラーを補正するために利用される。このセグメントは、再同期化によって延長され又は短縮されうる。
【００２８】
サンプルポイント（ＳＡＭＰＬＥ  ＰＯＩＮＴ）：サンプルポイントは、バスレベルが読み込まれて、対応するビットの値として解釈される時点である。サンプルポイントの位置は、ＰＨＡＳＥ＿ＳＥＧ１の終りにある。
【００２９】
情報処理時間（ＩＮＦＯＲＭＡＴＩＯＮ  ＰＲＯＣＥＳＳＩＮＧ  ＴＩＭＥ）：情報処理時間は、後続のビットレベルの計算のために予約された、サンプルポイントにより開始するタイムセグメントである。
このセグメントの長さは、タイムクワントゥム（ＴＩＭＥ  ＱＵＡＮＴＵＭ）の整数倍で定められ、このタイムクワントゥムとは、発振子の周期に由来する固定の時間単位である。少なくとも１〜３２の範囲の整数値による、プログラム可能なプリスケーラが存在する。最小タイムクワントゥム（ＭＩＮＩＭＵＭ  ＴＩＭＥ  ＱＵＡＮＴＵＭ）から開始して、タイムクワントゥムは、以下の長さを有する。即ち、
ＴＩＭＥ  ＱＵＡＮＴＵＭ（ｎ）＝ｍ（ｎ）＊ＭＩＮＩＭＵＭ  ＴＩＭＥ  ＱＵＡＮＴＵＭ
但し、ｍはプリスケーラの値
プリスケーラ、即ち、ｍ（１）及びｍ（２）の２つの値がＣＡＮ  ＦＤプロトコルでは定められ、それぞれが各ビットレートのための値であり、２つの異なる長さのタイムクワントゥムをもたらす。
【００３０】
第１のビットレートのタイムセグメントの長さ：
・ＳＹＮＣ＿ＳＥＧ（１）は、長さが１ＴＩＭＥ  ＱＵＡＮＴＵＭ（１）である。
・ＰＯＲＰ＿ＳＥＧ（１）は、長さ１、２、…、８ＴＩＭＥ  ＱＵＡＮＴＡ（１）にプログラム可能である。
・ＰＨＡＳＥ＿ＳＥＧ１（１）は、長さ１、２、…、８ＴＩＭＥ  ＱＵＡＮＴＡ（１）にプログラム可能である。
・ＰＨＡＳＥ＿ＳＥＧ２（１）は、ＰＨＡＳＥ＿ＳＥＧ１（１）の最大値及び情報処理時間である。
・情報処理時間は、２ＴＩＭＥ  ＱＵＡＮＴＡ（１）より短く、又は、２ＴＩＭＥ  ＱＵＡＮＴＡ（１）と等しい。
【００３１】
第２ビットレートのタイムセグメントの長さ：
・ＳＹＮＣ＿ＳＥＧ（２）は、長さが、１ＴＩＭＥ  ＱＵＡＮＴＵＭ（２）である。
・ＰＯＲＰ＿ＳＥＧ（２）は、長さ０、１、２、…、８ＴＩＭＥ  ＱＵＡＮＴＡ（２）にプログラム可能である。
・ＰＨＡＳＥ＿ＳＥＧ１（２）は、長さ１、２、…、８ＴＩＭＥ  ＱＵＡＮＴＡ（２）にプログラム可能である。
・ＰＨＡＳＥ＿ＳＥＧ２（２）は、ＰＨＡＳＥ＿ＳＥＧ１（２）の最大値及び情報処理時間である。
・情報処理時間は、２ＴＩＭＥ  ＱＵＡＮＴＡより短く、又は、２ＴＩＭＥ  ＱＵＡＮＴＡと等しい。
【００３２】
ビット時間におけるタイムクワントゥムの合計数は、少なくとも８〜２５にプログラム可能である必要がある。
サンプルポイントの位置は、２つのビットタイミング設定において異なっていてもよく、ＰＲＯＰ＿ＳＥＧの長さは、第２のビットレートのための設定において短縮されてもよい。
【００３３】
ＣＡＮ  ＦＤの実装：
ＣＡＮ  ＦＤプロトコルの実装は、既存のＣＡＮアプリケーションための簡単な移行経路を提供するために、ＣＡＮプロトコルによる実装と同じコントローラ・ホストインタフェースを提供する。必要とされる最小の相違点は、ＣＡＮ  ＦＤ駆動のための新しい設定レジスタである。
ＣＡＮ  ＦＤプロトコルは、８データバイトよりも大きいフレームを可能とする。全てのＣＡＮ  ＦＤの実装が、より長いフレームをサポートすることは求められておらず、ＣＡＮ  ＦＤの実装は、データフィールド長の部分集合に限定されてもよい。フレーム内で例えば８データバイトまでのみサポートするＣＡＮ  ＦＤの実装は、受信されたより長いフレームをエラーとして扱わず、故障の無い、より長いフレームが肯定応答されて、アクセプタンスフィルタリング（ａｃｃｅｐｔａｎｃｅ  ｆｉｌｔｅｒｉｎｇ）に関与する。ＣＡＮ  ＦＤのデータ処理容量を超える、受信されたデータバイトは破棄される。より長いフレームを送信することを要求されている、このような限定されたＣＡＮ  ＦＤの実装によって、データ処理容量を超えた、一定のバイトパターンを有するフレーム内のデータバイトが充填される。このバイトパターンは、例えば０ｘ３３のスタッフビットの挿入を引き起こさないように選択される。
【００３４】
以下の任意のインタフェースレジスタにより、進行中の通信についての拡張された解析が提供される。即ち、
・第１のビットレート又は第２のビットレートで駆動中に生じるメッセージとエラーとを区別するための２組の状態レジスタ。
・２つの駆動モードにおけるエラーレートを比較するための専用エラーカウンタ。
・メッセージが第１のビットレート又は第２のビットレートを用いて受信されたかを示す、メッセージごとの状態フラグ。
・メッセージが第１のビットレート又は第２のビットレートを用いて送信されるべきかを制御する、メッセージごとの設定フラグ。
・例えば、第２のビットレートにおける相対的なエラー率、特定ビットレートでのメッセージの受信、外部のバスマスタから受信された制御メッセージ、ローカルホストにより書き込まれた命令等の基準に従って、第２のビットレートの使用を可能又は不可能にする通信管理状態装置（ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｍａｎａｇｅｍｅｎｔ  ｓｔａｔｅ  ｍａｃｈｉｎｅ）。
【図１】
2014518034.tif 000003
【図２】
2014518034.tif 000004
【図３】
2014518034.tif 000005
【図４】
2014518034.tif 000006
【図５】
2014518034.tif 000007
【図６】
2014518034.tif 000008
【手続補正書】
【提出日】平成25年11月1日(2013.11.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バスシステムを用いて接続された送信ノードと少なくとも１つの受信ノードとの間での、データフレームの交換によるシリアル通信のための方法であって、
送信機及び受信機の役割が、ＣＡＮ規格ＩＳＯ１１８９８−１で定められた調停の手続きにより、データフレームごとにノードに割り当てられ、
交換される前記データフレームは、ＣＡＮ規格ＩＳＯ１１８９８−１に準拠した論理的構造を有し、
前記データフレームは、ビットシーケンスで構成され、
前記データフレームの前記論理的構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、アクノリッジフィールド、及び、エンドオブフレームフィールドを含み、
前記データフィールドは、ゼロビットの長さを有してもよく、
各他のフィールドは、少なくとも２個のビットを含み、
各ビットは、ビット時間を有し、
各ビット時間は、タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）に分けられ、
前記ビットレートは、前記ビット時間の逆数により定められ、
交換されるデータフレームの、少なくとも１つの第１の予め設定可能な部分について、当該第１の部分内でのビットレートは、１Ｍｂｉｔ／ｓの最大値を下回り、
同一の前記交換されるデータフレームの、少なくとも１つの第２の予め設定可能な部分について、当該第２の部分内でのビットレートは、前記少なくとも１つの第１の予め設定可能な部分内でのビットレートよりも速い、前記方法において、
前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、少なくとも２つの異なる組み合わせが、前記交換されるデータフレームの少なくとも前記第１の部分及び前記第２の部分について予め設定可能であることを特徴とする、方法。
【請求項２】
前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、前記少なくとも２つの異なる組み合わせの少なくとも１つにおいて、ＰＲＯＰ＿ＳＥＧの値は、ＣＡＮ規格ＩＳＯ１１８９８−１で規定された範囲から外れてもよいことを特徴とする、請求項１に記載の方法。
【請求項３】
前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、前記少なくとも２つの異なる組み合わせの少なくとも１つにおいて、ＰＲＯＰ＿ＳＥＧの値は、値ゼロを有してもよいことを特徴とする、請求項２に記載の方法。
【請求項４】
少なくとも２つの異なるビット時間を有する前記交換されるデータフレームは、前記コントロールフィールド内に含まれる前記予約ビット（ｒ０）により、均一なビット時間を有するデータフレームと区別可能であることを特徴とする、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
交換されるデータフレームの、ビット時間がより短い前記少なくとも１つの第２の予め設定可能な部分は、前記予約ビット（ｒ０）により開始し、前記ＣＲＣフィールドの終りでレセッシブビット（ＣＲＣデリミタ）により終了し、又は、エラーフレームの開始をもたらすエラー状態の検出により終了することを特徴とする、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
少なくとも２つの異なるビット時間を有する交換されるデータフレームは、８バイトよりも大きい大きさのデータフィールドを含んでもよく、
前記データフィールドの前記大きさは、前記コントロールフィールド内に含まれるデータ長コードにより規定され、
ＣＡＮ規格ＩＳＯ１１８９８−１で定められた符号化とは異なる、前記データ長コードのための符号化が利用されることを特徴とする、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記データ長コードのための前記異なる符号化は、０ｂ００００と０ｂ１０００との間の値が、ＣＡＮ規格ＩＳＯ１１８９８−１のように０〜８バイトのデータフィールドに対応し、０ｂ１００１と０ｂ１１１１との間の値が、８バイトよりも長いデータフィールドに対応するという符号化であることを特徴とする、請求項６に記載の方法。
【請求項８】
前記データフィールドの大きさが８バイトより大きい、少なくとも前記交換されるデータフレームのための前記ＣＲＣフィールドの内容は、ＣＡＮ規格ＩＳＯ１１８９８−１で定められたＣＲＣ多項式とは異なるＣＲＣ多項式を用いて定められることを特徴とする、請求項６又は７に記載の方法。
【請求項９】
前記データフィールドの大きさが８バイトよりも大きい、少なくとも前記交換されるデータフレームのための前記ＣＲＣフィールドの大きさは、ＣＡＮ規格ＩＳＯ１１８９８−１で定められ大きさとは異なることを特徴とする、請求項６〜８のいずれか１項に記載の方法。
【請求項１０】
前記スタートオブフレームビットにより開始されて、少なくとも２つのＣＲＣシーケンスが、調停の後に、前記ＣＲＣシーケンスのうちの１つが前記予約ビット（ｒ０）により及び前記データ長コードにより選択されて、ＣＲＣエラーを起動しうる得る有効なＣＲＣシーケンスとなるまで、同時に計算されることを特徴とする、請求項６〜９のいずれか１項に記載の方法。
【請求項１１】
送信機は、前記ＣＲＣシーケンスの後で１個のレセッシブビット（ＣＲＣデリミタ）を送信し、全てのノードは、エラーを検出することなく、ＡＣＫスロットを開始するバス状態の変更の前に、２個のレセッシブビットを受け取ることを特徴とする、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
一致する前記ＣＲＣシーケンスを受信した受信機は、前記ＡＣＫスロット内でドミナントビット（ＡＣＫ）を送信し、全てのノードは、エラーを検出することなく、ＡＣＫビットが重畳された２ビット長のドミナントなバス状態を受け入れることを特徴とする、請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記交換されるデータフレーム内の前記少なくとも２つの異なるビット時間は、プリスケーラの２つの異なる値を用いて生成され、
前記プリスケーラは、タイムクワントゥムと最小タイムクワントゥムとの間の比率のように定められることを特徴とする、請求項１〜１２のいずれか１項に記載の方法。
【請求項１４】
前記交換されるデータフレームの前記少なくとも１つの第２の予め設定可能な部分であって、前記ビットの前記ビット時間が前記少なくとも１つの第１の予め設定可能な部分でのビット時間より短い前記第２の予め設定可能な部分において、前記少なくとも１つの第１の予め設定可能な部分内とは異なるビット符号化方法が利用されることを特徴とする、請求項１〜１３のいずれか１項に記載の方法。
【請求項１５】
バスシステムを用いて接続された送信ノードと少なくとも１つの受信ノードとの間での、データフレームの交換によるシリアル通信のための装置であって、
送信機及び受信機の役割が、ＣＡＮ規格ＩＳＯ１１８９８−１で定められた調停の手続きにより、データフレームごとにノードに割り当てられ、
交換される前記データフレームは、ＣＡＮ規格ＩＳＯ１１８９８−１に準拠した論理的構造を有し、
前記データフレームは、ビットシーケンスで構成され、
前記データフレームの前記論理的構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、ＣＲＣフィールド、アクノリッジフィールド、及び、エンドオブフレームフィールドを含み、
前記データフィールドは、ゼロビットの長さを有してもよく、
各他のフィールドは、少なくとも２個のビットを含み、
各ビットは、ビット時間を有し、
各ビット時間は、タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）に分けられ、
前記ビットレートは、前記ビット時間の逆数により定められ、
交換されるデータフレームの、少なくとも１つの第１の予め設定可能な部分について、当該第１の部分内でのビットレートは、１Ｍｂｉｔ／ｓの最大値を下回り、
同一の前記交換されるデータフレームの、少なくとも１つの第２の予め設定可能な部分について、当該第２の部分内でのビットレートは、前記少なくとも１つの第１の予め設定可能な部分内でのビットレートよりも速い、前記装置において、
前記装置は、前記交換されるデータフレームの、少なくとも前記第１の部分及び前記第２の部分のための前記タイムセグメント（ＳＹＮＣ＿ＳＥＧ、ＰＲＯＰ＿ＳＥＧ、ＰＨＡＳＥ＿ＳＥＧ１、ＰＨＡＳＥ＿ＳＥＧ２）の値の、少なくとも２つの異なる組み合わせを予め決定するための手段を含むことを特徴とする、装置。
【請求項１６】
前記装置は、請求項１〜１４に記載の通信方法のうちのいずれか１つを実行するための手段を含むことを特徴とする、請求項１５に記載の装置。
【国際調査報告】
2014518034.tif 000009
2014518034.tif 000010
2014518034.tif 000011