JP2015536067A - 可変的なデータレート対応のコントローラエリアネットワーク - Google Patents

可変的なデータレート対応のコントローラエリアネットワーク Download PDF

Info

Publication number
JP2015536067A
JP2015536067A JP2015532384A JP2015532384A JP2015536067A JP 2015536067 A JP2015536067 A JP 2015536067A JP 2015532384 A JP2015532384 A JP 2015532384A JP 2015532384 A JP2015532384 A JP 2015532384A JP 2015536067 A JP2015536067 A JP 2015536067A
Authority
JP
Japan
Prior art keywords
bit
frame
field
data
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015532384A
Other languages
English (en)
Other versions
JP6068650B2 (ja
Inventor
ハルトヴィッチ、フロリアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2015536067A publication Critical patent/JP2015536067A/ja
Application granted granted Critical
Publication of JP6068650B2 publication Critical patent/JP6068650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/22Time-division multiplex systems in which the sources have different rates or codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Abstract

バスシステムにより接続された送信ノードと少なくとも1つの受信ノードとの間のデータフレームの交換による直列通信のための方法であって、CAN規格ISO11898−1で定義された調停手続きによって、データフレームごとに送信者及び受信者の役割がノードに割り当てられ、交換されるデータフレームは、CAN規格ISO11898−1に準拠した論理構造を有し、データフレームは、ビットのシーケンスで構成され、データフレームの論理構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、及びエンドオブフレームフィールドを含み、各ビットは、ビット時間を有し、各ビット時間は、タイムセグメント(SYNC_SEG、PROP_SEG、PHASE_SEG1、PHASE_SEG2)に分けられる、上記方法において、コントロールフィールド内の特定ビットの所定の値に応じて、第1のノード群に属する第1のノードが、そのプロトコル復号ステートマシンを再起動し、自身がバスアクティビティに同期するまで待機し、第2のノード群に属する第2のノードが、CAN FD仕様に準拠した通信プトロコルを用いて通信することを特徴とする、方法。【選択図】図2

Description

この発明は、可変的なデータレート対応のコントローラエリアネットワークに関する。
直列通信が受け入れられ、益々多くのアプリケーションに導入されるにつれて、直列通信のための帯域幅を増やす必要があるという要請が生まれた。
直列通信のための広く利用されているプロトコルは、ロバートボッシュ社のウェブサイト:http://www.semiconductors.bosch.deからダウンロードが可能なボッシュCAN仕様2.0と、国際規格ISO11898−1と、で規定されたCANプロトコルである。このCANプロトコルは、以下では「規格CAN」と呼ばれる。
2つの要因が、CANネットワーク内での有効なデータレートを制限しており、即ち、第1の要因は、CANバスアービトレーション方法の機能のために必要な最小ビット時間であり、第2の要因は、CANメッセージ内でのデータビット数とフレームビット数との間の関係である。
最近では、「CAN with Flexible Data−Rate(可変的なデータレート対応のCAN)」又はCAN FDと呼ばれる新しいプロトコルが開発された。この新しいプロトコルは、CANバスのアービトレーション方法を今まで通り利用し、アービトレーション過程の終了後により短いビット時間へと切り替えることによってビットレートを上げ、受信機が自身のアクノリッジビットを送信する前に、CRCデリミタ(CRC Delimiter)でより長いビット時間に戻る。より長いデータフィールドが可能になることによって、有効なデータレートが上げられる。CANは、16個の異なるコードとなるデータ長コード(Data Length Code)として4ビットを利用するが、最初の9個の値のみが利用され、コード[0−8]は、[0−8]バイトのデータフィールドの長さを表す。CANでは、コード[9−15]が、8データバイトを示すよう定められている。CAN FDでは、当該コードは、より長いデータフィールドを示すために利用される。
CAN FDプロトコルは、「CAN with Flexible Data−Rate仕様書」というタイトルのプロトコル仕様書に記載されており、以下では、CAN FD仕様と呼ばれる。バージョン1.0は、2012年4月にリリースされ、ロバートボッシュ社のウェブサイト:http://www.semiconductors.bosch.deで一般にダウンロードが可能となった。
変更されていない規格CANコントローラが使用されている限り、規格CANノードとCAN FDノードとが混ざったネットワークは、規格CAN形式でのみ通信することが可能である。即ち、ネットワーク内の全てのノードが、CAN FD通信のためのCAN FDプロトコルコントローラを有する必要があるが、全てのCAN FDプロトコルコントローラは、規格CAN通信にも関与することが可能である。CAN FD通信が、8データバイトまでの長さを有するデータフィールドに制限されるならば、コントローラの初期設定とは別にアプリケーションプログラムを変更する必要はない。
本発明は、規格CAN実装(Norm CAN implementations)の変更について記載し、この変更によって、(CAN FDフレームを送信及び受信できない)変更されたCAN実装は、CAN FDフレームを許容するようになる。CAN FDに対する許容とは、上記変更された実装が、CAN FDフレームを無視し、CAN FDフレームを妨害しないということを意味している。このことには、同じバス線を利用する(本発明に従って変更された)CANノードとCAN FDノードとの共存が可能になるという利点がある。CAN FDノードは、変更されたCANノードによって受信されないが許容されるCAN FDフレームを用いて通信する。変更されたCANノードは、当該変更されたCANノードとCAN FDノードとの両方によって受信される規格CANフレームを用いて通信する。
規格CANフレームの例である。 CAN FDフレームの例である。 メッセージ内のビットレートが切り替えられる位置を示している データ長コードによるデータバイト数の符号化の一例である。 ACKフィールドを示す。 公称ビット時間を示す。
序論:
コントローラエリアネットワーク(CAN:Controller Area Network)は、非常に高い安全レベルで、分散型の実時間制御を効率良くサポートする直列通信プロトコルである。CANの適用範囲は、高速ネットワークから低コストの多重配線にまで至る。自動車エレクトロニクスでは、エンジン制御ユニット、センサ、滑り止めシステム等が、ビットレートが1Mbit/sまでのCANを用いて接続される。同時に、そうでなければ必要となるワイヤーハーネスと置き換えるために、例えば、照明器具群、パワーウィンドウ等の車体エレクトロニクスを組み込むことの費用対効果が高い。
CAN FD(CAN with Flexible Data−Rate)は、高速データレートを必要とするアプリケーションにおいて、CANを補完する。CAN FDプロトコルコントローラは、規格CAN通信にも関与することが可能であり、特定の駆動モードでのみ、例えば、ラインの末端でのソフトウェアダウンロード又はメンテナンスにおいて、CAN FDを使用することを可能にする。CAN FDは、2組のビットタイミング設定レジスタと、アービトレーションフェーズのための1ビット時間と、データフィールドのための1ビット時間と、を必要とする。アービトレーションフェーズのためのビット時間は、規格CANネットワーク内と同じ制限があり、データフィールドのためのビット時間は、選択されたトランシーバの性能、及び、CAN FDネットワークの特性に鑑みて選択される。
規格CANトランシーバは、CAN FDのために使用することが可能であり、専用トランシーバは任意選択である。CAN FDプロトコルコントローラは、ビットレートがより高いフェーズにおいて専用CAN FDトランシーバを他の駆動モードに切り替えるために、追加的なイタフェース信号を提供してもよい。
専用CAN FDトランシーバは、ビットレートがより高いフェーズにおいて他の符号化システムを利用してもよく、CANのNRZ(Non−Return to Zero、非ゼロ復帰)方式の符号化には限定されない。
CAN FDの基本コンセプト:
CAN FDフレームは、CANフレームと同じ構成要素から成り、相違点は、CAN FDフレームでは、データフィールド(Data Field)及びCRCフィールド(CRC Field)がより長くてもよいということである。メッセージの妥当性確認(validation)には、CANのように、少なくとも1つの受信機からのドミナントな(dominant)アクノリッジビット(Acknowledge bit)が必要である。エラーフレーム(Error Frame)、エラーカウンタ(Error Counter)、エラーパッシブレベル(Error Passive level)、及びバスオフレベル(Bus−off level)によるCAN FDの障害隔離はCANと同じであり、同じ5つのエラータイプ、即ち、ビットエラー(Bit Error)、スタッフエラー(Stuff Error)、CRCエラー(CRC Error)、フォームエラー(Form Error)、及び、アクノリッジメントエラー(Acknowledgement Error)に基づいている。
フレームフォーマット:
規格CANフレーム及びCAN FDフレームの例は図1に図示されている。
CAN FDは、CANプロトコルの2つの識別子の長さ、即ち、11ビット長の「標準フォーマット」と、29ビット長の「拡張フォーマット」と、をサポートする。CAN FDフレームはCANフレームと同じ構造を有し、CANフレームとCAN FDフレームとの相違点は、通常では「r0」又は「r1」と呼ばれる予約ビットであり、コントロールフィールド内のデータ長コードの前に位置付けられている。CAN FDフレームでは、このビットは、レセッシブ(recessive)で送信され、EDLと呼ばれる。EDLの後には、規格CANフレームと比べて追加的なコントロールフィールドのビットが続き、例えば、BRSが続く。
図2は、メッセージ内のビットレートが切り替えられる位置を示している。
プロトコルを区別する予約ビットまでの、CAN FDフレームの最初の部分は、CANフレームと同じビットレートで送信される。レセッシブなEDLビットが受信された場合には、RBSビットの値に従って、ビットレートが切り替えられる。ビットレートは、BRSビットで始まりCRCデリミタに達するまで切り替えられ、又は、CAN FDコントローラがエラー状況を検知しCANエラーフレームが開始されることになるまで切り替えられる。CAN FDエラーフレームは、ACKフィールド、エンドオブフレーム、及びオーバーロードフレームと同様に、CANエラーフレームと同じビットレートで送信される。ビットレートは予約ビットBRSのところで、当該予約ビットBRSがレセッシブで送信された場合に、より短いビット時間へと切り替えられる。このことが図2に、「CAN FDアービトレーション(Arbitration)」(低いビットレートが利用される)という名の2つの部分で囲まれた1つの部分「CAN FDデータ(Data)」(高いビットレートが使用される)にCAN FDメッセージを分ける矢印で示されている。
データフィールド内でのバイト数は、データ長コード(Data Length Code)により示される。このデータ長コードは4ビット幅であり、コントロールフィールド内で送信される。
データ長コードの符号化は、CAN FDでは異なっている。最初の9個のコードは同じであるが、CANで8バイトのデータフィールドを規定する後続のコードは、CAN FDでは、より長いデータフィールドを規定する。全てのリモートフレーム(Remote Frame)は、対応するデータフレームのデータ長コードに関係なく、ゼロのデータ長コードを利用する。
データ長コードによるデータバイト数の符号化の一例が、図3に記載されている。
CRCフィールド(CRC Field)は、CRCシーケンスを含み、CRCシーケンスの後にCRCデリミタ(CRC DELIMITER)が続く。
CRCシーケンス:フレームチェックシーケンスは、巡回冗長コード(BCHコード)に由来する。
CRC演算を行うために、除算すべき多項式は、その係数が関連するビットストリームにより与えられる多項式として定められる。CAN FDは、異なるフレームの長さについて、異なるCRC多項式を利用する。8データバイトまでのフレームについては、CANと同じ多項式が利用される。8データバイトまでのフレームについて、関連するビットストリームは、スタートオブフレーム(START OF FRAME)と、アービトレーションフィールド(ARBITRATION FIELD)と、コントロールフィールド(CONTROL FIELD)と、(もし存在するのであれば)データフィールド(Data Field)と、15番目の最下位の係数のために0と、で構成される、デスタッフ処理された(destuffed)ビットストリームである。この多項式は、ハミング距離(HD=Hamming Distance)=6で、ビットカウントが127ビットより小さいフレームに最も適した生成多項式、即ち、
X15+X14+X10+X8+X7+X4+X3+1
により除算される(係数は、モジュロ2(modulo−2)演算される)。
データフィールド内の、8バイトより大きいフレームについては、フレームの長さに対して調整された、異なる(及び、より長い)CRC多項式が利用される。CRCフィールドは、これに応じて延長される。より長いフレームでは、CRCシーケンスの前に発生するスタッフビット(Stuff Bit)も、CRCにより保護される。
各CRCシーケンスは、別のシフトレジスタブロック(shift register block)で計算される。フレームの開始時には、全てのノードにおいて、全てのCRCシーケンスが、アービトレーションの後にCRCシーケンスのうちの1つが予約ビット及びDLCにより選択されるまで、同時に計算される。選択されたCRCシーケンスのみが、CRCエラー(CRC Error)を起動することが可能である。
CRCデリミタ(CRC DELIMITER):CRCシーケンスの後には、1個又は2個の「レセッシブ」ビットで構成されるCRCデリミタが続く。送信機は、CRCデリミタとして「レセッシブ」ビットを1個だけ送信するが、全てのノードは、アクノリッジスロット(Acknowledge Slot)を開始するレセッシブからドミナントへのエッジの前で、2個の「レセッシブ」ビットを受け取るものとする。
注:CRCデリミタが検出された場合には、CAN FDプロトコルコントロ―ラは、ビット時間がより長いビットレートへ戻して切り替える。
CANネットワーク内でのノード間の位相のずれは、トランシーバ内での遅延時間、及び、CANバス線上での遅延時間により定められる。位相のずれは、CAN内、CAN FD内において同じであるが、ビット時間がより短い位相においては、位相のずれが比例して長い。ネットワーク内の全ての受信機は、様々な時間に送信されたエッジを検出するため、送信機に対して異なる位相のずれを有する可能性がある。より長いビット時間へと戻してビットレートが切り替えられた場合に上記の位相のずれを補正するために、アクノリッジスロットを開始するレセッシブからドミナントなエッジの前及び後で、追加的な1ビット時間分の公差が許容される。
ACKフィールド(ACK FIELD)は、2又は3ビット長であり、図4に示すように、ACKスロットと、ACKデリミタと、を含む。ACKフィールドでは、送信局が、2個の「レセッシブ」ビットを送信する。有効なメッセージを正しく受信した受信機は、このことを送信機に、ACKスロットの間に「ドミナント」ビットを送信することにより報告する(受信機は「ACK」を送信する)。
ACKスロット(ACK SLOT):一致するCRCシーケンスを受信した全ての局は、このことを、「ドミナント」ビットで、送信機の「レセッシブ」ビットを上書きすることにより、ACKスロット内で報告する。受信機間の位相のずれを補正するために、全てのノードは、有効なACKとしてACKビットが重畳された2ビット長の「ドミナントな」フェーズを受け入れる。
ACKデリミタ(ACK DELIMITER):ACKデリミタは、ACKフィールドの第2又は第3番目のビットであり、「レセッシブ」ビットである必要がある。結果的に、ACKスロットは、2個の「レセッシブ」ビット(CRCデリミタ、ACKデリミタ)で囲まれる。
エンドオブフレーム(END OF FRAME):各データフレーム及びリモートフレームは、7個の「レセッシブ」ビットから成るフラグシーケンスにより区切られる。
ビットタイミング(BIT TIMING)要件:
CAN FDプロトコルは、2つのビットレート、即ち、ビット時間がより長い第1のビットレートと、ビット時間がより短い第2のビットレートと、を定める。第1のビットレートの定義は、CANプロトコル仕様書の公称ビットレート(NOMINAL BIT RATE)及び公称ビット時間(NOMINAL BIT TIME)についての定義と同じである。第2のビットレートの定義は、別の設定レジスタセットを必要とする。2つのビット時間は、重畳しない異なるタイムセグメントで構成され、これらタイムセグメント、即ち、
・同期化セグメント(SYNC_SEG:SYNCHRONIZATION SEGMENT)と、
・遅延時間セグメント(PROP_SEG:PROPAGATION TIME SEGMENT)と、
・位相バッファセグメント1(PHASE_SEG1:PHASE BUFFER SEGMENT1)と、
・位相バッファセグメント2(PHASE_SEG2:PHASE BUFFER SEGMENT2)と、
は、図5に示されるビット時間を構成する。
CAN FDプロトコルの2つのビットレートのためのタイムセグメントは、2組の設定レジスタによって定められる。
SYNC SEG:ビット時間のこの部分は、バス上の様々なノードを同期化させるために利用される。エッジがこのセグメント内に存在することが期待される。
PROP SEG:ビット時間のこの部分は、ネットワーク内での物理的な遅延時間を補正するために利用される。PROP SEGは、バス線上での信号の遅延時間と、入力比較器の遅延と、出力ドライバ遅延と、の合計の2倍の長さである。
PHASE SEG1、PHASE SEG2:この位相バッファセグメントは、エッジの位相エラーを補正するために利用される。このセグメントは、再同期化によって延長され又は短縮されうる。
サンプルポイント(SAMPLE POINT):サンプルポイントは、バスレベルが読み込まれて、対応するビットの値として解釈される時点である。サンプルポイントの位置は、PHASE_SEG1の終りにある。
情報処理時間:情報処理時間は、後続のビットレベルの計算のために予約された、サンプルポイントで開始するタイムセグメントである。
このセグメントの長さは、タイムクォンタム(TIME QUANTUM)の整数倍で定められ、このタイムクォンタムとは、発振子の周期に由来する固定の時間単位である。少なくとも1〜32の範囲の整数値による、プログラム可能なプリスケーラ(prescaler)が存在する。最小タイムクォンタムから始まって、タイムクォンタムは以下の長さを有する。即ち、
タイムクォンタム(n)=m(n)*最小タイムクォンタム
但し、mはプリスケーラの値
プリスケーラの2つの値、即ち、m(1)及びm(2)がCAN FDプロトコルでは定められ、即ち、それぞれが各ビットレートのための値であり、異なる2つの長さのタイムクォンタムをもたらす。
第1のビットレートのタイムセグメントの長さ:
・SYNC_SEG(1)は、長さが1タイムクォンタム(1)である。
・PORP_SEG(1)は、長さ1、2、…、8タイムクォンタム(1)にプログラム可能である。
・PHASE_SEG1(1)は、長さ1、2、…、8タイムクォンタム(1)にプログラム可能である。
・PHASE_SEG2(1)は、PHASE_SEG(1)の最大値及び情報処理時間である。
・情報処理時間は、2タイムクォンタム(1)より短く、又は、2タイムクォンタム(1)と等しい。
第2ビットレートのタイムセグメントの長さ
・SYNC_SEG(2)は、長さが、1タイムクォンタム(2)である。
・PORP_SEG(2)は、長さ0、1、2、…、8タイムクォンタム(2)にプログラム可能である。
・PHASE_SEG1(2)は、長さ1、2、…、8タイムクォンタム(2)にプログラム可能である。
・PHASE_SEG2(2)は、PHASE_SEG(2)の最大値及び情報処理時間である。
・情報処理時間は、2タイムクォンタムより短く、又は、2タイムクォンタムと等しい。
ビット時間におけるタイムクォンタムの合計数は、少なくとも8〜25にプログラム可能である必要がある。
サンプルポイントの位置は、2つのビットタイミング設定において異なっていてもよく、PROP_SEGの長さは、第2のビットレートのための設定において短縮されてもよい。
CAN FD実装:
CAN FDプロトコルによる実装は、既存のCANアプリケーションための簡単な移行経路を提供するために、CANプロトコルによる実装と同じコントローラ・ホストインタフェースを提供するものである。必要となる最小の相違は、CAN FD駆動のための新しい設定レジスタである。
CAN FDプロトコルは、8データバイトよりも大きいフレームを可能とする。全てのCAN FD実装が、より長いフレームをサポートすることは求められておらず、CAN FD実装は、データフィールド長の一部(subset)に制限されてもよい。フレーム内で例えば8データバイトまでのみサポートするCAN FD実装は、受信されたより長いフレームをエラーとして扱わず、エラーの無いより長いフレームが肯定応答されアクセプタンスフィルタリング(acceptance filtering)に関与する。CAN FDのデータ処理容量を超える、受信されたデータバイトは破棄される。より長いフレームを送信することが要求されているこのような限定されたCAN FD実装は、一定のバイトパターンを有するデータ処理容量を超えたフレーム内のデータバイトを充填するものである。このバイトパターンは、例えば0x33のスタッフビットの挿入を引き起こさないように選択される。
CAN FDに対するCAN実装の許容:
CAN FDは、CANプロトコルと物理層を共有する。しかしながら、フレーム形式は異なっている。CAN FDフレームには2つの新しい制御ビットがあり、即ち、第1の制御ビットはEDLと呼ばれ、異なるデータ長符号化が行われる新しいフレーム形式を可能にし、第2の制御ビットはBRSと呼ばれ、調停が決定された後でより速いビットレートに任意に切り替える。定評のあるCANプロトコルとハミング距離が同じであるより長いCAN FDフレームを保証するために、新しいCRC多項式が導入される。CAN FDのフレーム形式は、CANフレーム形式によるメッセージとCAN FDフレーム形式によるメッセージとが、同じネットワーク内で共存できるように定められている。
本発明は、CAN実装がCAN FDフレームを許容することを可能にする規格CANプロトコルの変更を記載する。CAN FDフレームを許容するとは、CAN FDフレームが無視され、妨害されないということを意味している。
CAN FD仕様によれば、CAN FD仕様に従って設計されたCAN FD実装と、ボッシュCAN仕様2.0に従って設計された規格CAN実装とは、CAN FDフレーム形式が使用されない限りは、互いに通信することが可能である。このことによって、CANシステムは、CAN FDシステムへと段階的に移行することが可能となる。導入段階では、例えば、CAN FDをサポートしない他のコントローラがスタンドバイ状態にある間のラインの末端でのプログラミング時のソフトウェアダウンロードのような、特定の動作モードでのみCAN FDを利用することが可能である。
CAN FD実装は、全てのCANフレームを復号することが可能であるが、ボッシュCAN仕様2.0又はISO11898−1に準拠した規格CAN実装は、エラーフレームでCAN FDフレームを破壊するであろう。
本発明は、CAN実装がCAN FDフレームを許容する(即ち、CAN FDフレームが無視され、破壊されないことを意味する)ようにする規格CANプロトコルの変更について記載する。CANプロトコルに既に備わる2つの特徴が、CAN実装がCAN FDを許容するようにするために組み合わされる。第1の特徴は、再起動の後で、又は、BUS_OFF RECOVERY SEQUENCEの間にCAN実装がバスアクティビティに対して同期している場合に、11個の連続するレセッシブビットの発生を確認するために利用されるカウンタである。第2の特徴は、ビット同期化のための基準としてのタイムクォンタムごとに一度、CANバス入力値をサンプルするエッジの検出システムである。
CAN FD EDL管理:
本発明に従って変更されたCAN実装は、以下の仕組みを利用することによって、CAN FDを許容するようになる。即ち、標準フォーマットによる規格CANフレーム内のビット位置r0で、又は、拡張フォーマットによる規格CANフレーム内のビット位置r1で(例えば、CAN FDフレームのEDLビットに対応する、図1a及び図1b参照)リセッシブビットが検出された直後に、変更されたCAN実装は、自身のプロトコル復号ステートマシンを再起動する。CAN実装は、自身のエラーカウンタを変更することなく、又は、エラーフレームを送信することなく再起動し、以下に記載するようにCAN FDリカバリを行う。
CAN FDリカバリ:
CAN FDリカバリ(CAN FD Recovery)は、上述したように、プロトコル復号ステートマシンの再起動を開始する。その後、プロトコル復号ステートマシンは、連続する11個のレセッシブビットのシーケンスを確認することによりバスアクティビティ(bus activity)に同期するまで待機する。上記シーケンスの中に、レセッシブからドミナントへのエッジが存在してはならず、このようなエッジはビットカウントを再起動する。上記シーケンスが検出された場合には、ユニットはアイドル状態になり、受信機又は送信機に切り替わりながらスタートオブフレームへの準備態勢を整える。
このような仕組みの利点は、変更されたCANノードが、CAN FDメッセージが連続して送信されてしまうまで(又は、エラーの原因がCAN FDノードによって検出された場合にエラーフレームにより中断されるまで)待機することが想定されることである。CAN FDメッセージの送信中には、連続する11個のレセッシブビットのシーケンスの要件が満たされることは決してなく、従って、変更されたCANノードは、上述のようにCAN FDリカバリを終了しないであろう。従って、CAN FDリカバリ方法によって、変更されたCAN実装は、全てのCAN FDフレームを許容するようになる。
CAN FDフレームのデータフェーズでのビット時間(図2参照)が、CAN FDアービトレーションフェーズ内の1タイムクォンタムよりも短くないことは有利である。そうでなかったら、稀なケースであるが、CAN FDフレーム内で連続する11個のレセッシブビットが、変更されたCANノードにより検知されるということが起こりうる。
CAN FDフレームの検出によって、エラーカウンタの増分は引き起こされず、CAN実装は、CAN FDフレームが終了した直後にバスアクティビティを再開することが可能である。

Claims (9)

  1. バスシステムにより接続された送信ノードと少なくとも1つの受信ノードとの間のデータフレームの交換による直列通信のための方法であって、
    CAN規格ISO11898−1で定義された調停手続きによって、データフレームごとに送信者及び受信者の役割がノードに割り当てられ、
    交換される前記データフレームは、CAN規格ISO11898−1に準拠した論理構造を有し、
    前記データフレームは、ビットのシーケンスで構成され、
    前記データフレームの前記論理構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、及びエンドオブフレームフィールドを含み、
    各ビットは、ビット時間を有し、
    各ビット時間は、タイムセグメント(SYNC_SEG、PROP_SEG、PHASE_SEG1、PHASE_SEG2)に分けられる、前記方法において、
    前記コントロールフィールド内の特定ビットの所定の値に応じて、第1のノード群に属する第1のノードが、自身のプロトコル復号ステートマシンを再起動し、自身がバスアクティビティに同期するまで待機し、
    第2のノード群に属する第2のノードが、CAN FD仕様に準拠した通信プトロコルを用いて通信することを特徴とする、方法。
  2. 前記第1のノードは、自身のエラーカウンタを変更することなく、自身のプロトコル復号ステートマシンを再起動することを特徴とする、請求項1に記載の方法。
  3. 前記第1のノードは、エラーフレームを送信することなく、自身のプロトコル復号ステートマシンを再起動することを特徴とする、請求項1又は2に記載の方法。
  4. 前記第1のノードは、連続する11個のレセッシブビットのシーケンスを確認することにより、前記バスアクティビティに同期することを特徴とする、請求項1〜3のいずれか1項に記載の方法。
  5. 前記第2のノードは、送信された前記フレームのCAN FDデータフェーズでは、より短いビット時間を利用して通信し、
    前記CAN FDデータフェーズは、前記コントロールフィールドの送信中に開始し、前記アクノリッジフィールドの送信中に終了し、
    前記タイムセグメントの長さは、タイムクォンタムの整数倍で定義され、前記タイムクォンタムは、発振子の周期から得られる固定の時間単位であり、
    前記CAN FDデータフェーズ内の前記ビット時間は、CAN FDアービトレーションフェーズ内の1タイムクォンタムよりも短くないことを特徴とする、請求項1〜4のいずれか1項に記載の方法。
  6. バスシステムにより接続された送信ノードと少なくとも1つの受信ノードとの間のデータフレームの交換による直列通信のための装置であって、
    CAN規格ISO11898−1で定義された調停手続きによって、データフレームごとに送信者及び受信者の役割がノードに割り当てられ、
    交換される前記データフレームは、CAN規格ISO11898−1に準拠した論理構造を有し、
    前記データフレームは、ビットのシーケンスで構成され、
    前記データフレームの前記論理構造は、スタートオブフレームビット、アービトレーションフィールド、コントロールフィールド、データフィールド、CRCフィールド、アクノリッジフィールド、及びエンドオブフレームフィールドを含み、
    各ビットは、ビット時間を有し、
    各ビット時間は、タイムセグメント(SYNC_SEG、PROP_SEG、PHASE_SEG1、PHASE_SEG2)に分けられる、前記装置において、
    受信されたデータフレームの前記コントロールフィールド内の特定ビットの所定の値に応じて、前記装置は、自身のプロトコル復号ステートマシンを再起動し、自身がバスアクティビティに同期するまで待機することを特徴とする、装置。
  7. 前記装置は、自身のエラーカウンタを変更することなく、自身のプロトコル復号ステートマシンを再起動することを特徴とする、請求項6に記載の装置。
  8. 前記装置は、エラーフレームを送信することなく、自身のプロトコル復号ステートマシンを再起動することを特徴とする、請求項6又は7に記載の方法。
  9. 前記装置は、連続する11個のレセッシブビットのシーケンスを確認することにより、前記バスアクティビティに同期することを特徴とする、請求項6〜8のいずれか1項に記載の方法。
JP2015532384A 2012-09-20 2013-09-17 可変的なデータレート対応のコントローラエリアネットワーク Active JP6068650B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12185269.3A EP2712123A1 (en) 2012-09-20 2012-09-20 Standard CAN implementation tolerating CAN FD frames
EP12185269.3 2012-09-20
PCT/EP2013/069224 WO2014044658A1 (en) 2012-09-20 2013-09-17 Controller area network with flexible data-rate

Publications (2)

Publication Number Publication Date
JP2015536067A true JP2015536067A (ja) 2015-12-17
JP6068650B2 JP6068650B2 (ja) 2017-01-25

Family

ID=46924326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015532384A Active JP6068650B2 (ja) 2012-09-20 2013-09-17 可変的なデータレート対応のコントローラエリアネットワーク

Country Status (6)

Country Link
US (1) US9742584B2 (ja)
EP (2) EP2712123A1 (ja)
JP (1) JP6068650B2 (ja)
KR (1) KR102116930B1 (ja)
CN (1) CN104620542B (ja)
WO (1) WO2014044658A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892801B2 (en) * 2012-05-23 2014-11-18 Arm Limited Arbitration circuity and method for arbitrating between a plurality of requests for access to a shared resource
DE102012224024A1 (de) * 2012-12-20 2014-06-26 Robert Bosch Gmbh Datenübertragung unter Nutzung eines Protokollausnahmezustands
US9432488B2 (en) 2013-03-15 2016-08-30 Concio Holdings LLC High speed embedded protocol for distributed control systems
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
EP2940935B1 (en) * 2014-04-30 2017-08-02 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
DE102014215469A1 (de) * 2014-08-05 2016-02-11 Robert Bosch Gmbh Kommunikationssteuereinrichtung für eine Teilnehmerstation eines Bussystems, Programmierwerkzeug und Verfahren zum Programmieren von Teilnehmerstationen in einem Bussystem, das nach unterschiedlichen Protokollen kommunizierende Teilnehmerstationen aufweist
US10673565B2 (en) 2014-09-30 2020-06-02 Concio Holdings LLC Confirming data accuracy in a distributed control system
KR101573637B1 (ko) * 2014-11-03 2015-12-01 현대자동차주식회사 데이터량 증대로 통신속도 개선을 위한 can 통신 방법 및 데이터 프레임 구조
PL3035605T3 (pl) * 2014-12-15 2019-09-30 Schneider Electric (Australia) Pty Limited Protokół kontroli zmiennej szybkości transmisji danych
US9843597B2 (en) * 2015-01-05 2017-12-12 International Business Machines Corporation Controller area network bus monitor
DE102015202242A1 (de) * 2015-02-09 2016-08-11 Robert Bosch Gmbh Teilnehmerstation für ein Bussystem und Verfahren zum Betrieb eines Bussystems mit Teilnehmerstationen für unterschiedliche Datenübertragungsstandards
CN104702474B (zh) * 2015-03-11 2018-02-23 华中科技大学 一种基于FPGA的EtherCAT主站装置
US10326865B2 (en) * 2015-03-24 2019-06-18 Concio Holdings LLC Filter or bridge for communications between CAN and CAN-FD protocol modules
KR20170131457A (ko) * 2015-03-26 2017-11-29 콘티넨탈 테베스 아게 운트 코. 오하게 데이터 버스 시스템, 트랜시버 및 자동차용 전자 제어 장치에서 메시지를 송신하는 방법
US11016925B2 (en) 2015-03-26 2021-05-25 Nxp Usa, Inc. Protocol-tolerant communications in controller area networks
US9729329B2 (en) 2015-05-19 2017-08-08 Nxp B.V. Communications security
GB2539443B (en) * 2015-06-16 2020-02-12 Advanced Risc Mach Ltd A transmitter, a receiver, a data transfer system and a method of data transfer
US10129150B2 (en) 2015-12-01 2018-11-13 Marvell World Trade Ltd. Systems and methods for implementing a switched controller area network
CN105824769B (zh) * 2016-03-14 2018-08-28 合肥工业大学 一种可配置的动态时间片轮转调度方法
CN106094801A (zh) * 2016-07-12 2016-11-09 四川大学 一种新型can fd控制器
CN106094800A (zh) * 2016-07-12 2016-11-09 四川大学 一种新型can fd控制器的管理系统
EP3319274B1 (en) * 2016-11-02 2019-04-17 NXP USA, Inc. Can module and method therefor
CN106533622B (zh) * 2016-11-17 2019-06-04 安徽江淮汽车集团股份有限公司 基于can fd总线的数据帧的数据场校验方法及装置
US10333838B2 (en) * 2016-12-30 2019-06-25 UBTECH Robotics Corp. Frame transmission methods and devices
WO2018165463A1 (en) * 2017-03-08 2018-09-13 Robert Bosch Gmbh Method to mitigate voltage based attacks on key agreement over controller area network (can)
CN110582985B (zh) * 2017-03-08 2023-04-11 罗伯特·博世有限公司 用于在控域网之上减轻对密钥协定方案的基于时序的攻击的方法
CN106961370A (zh) * 2017-05-17 2017-07-18 上海理工大学 提高can总线通信速率的方法
CN111247769B (zh) 2017-08-29 2023-04-28 罗伯特·博世有限公司 用于使用不安全共享通信介质的具有前向保密性的线性密钥协定的方法和系统
DE102017223775A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Teilnehmerstation für ein Bussystem und Verfahren zum Senden einer Nachricht mit unterschiedlichen Bitraten in einem Bussystem
US10439840B1 (en) * 2018-07-27 2019-10-08 Nxp B.V. Method and device for communicating data frames on a multi-master bus
WO2020033570A1 (en) * 2018-08-07 2020-02-13 Concio Holdings LLC Adaptable and secure can bus
EP3629525B1 (en) * 2018-09-27 2022-08-17 Melexis Technologies SA Method and system for communicating over a bus
DE102018218721A1 (de) 2018-10-31 2020-04-30 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zum Senden einer Nachricht in einem seriellen Bussystem
EP3691197B1 (en) 2019-01-31 2021-12-29 Nxp B.V. Bus device and method for operating a bus device
DE102019201316A1 (de) 2019-02-01 2020-08-06 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019204115A1 (de) 2019-03-26 2020-10-01 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019207542A1 (de) * 2019-05-23 2020-11-26 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019213783A1 (de) * 2019-09-11 2021-03-11 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
WO2021161303A1 (en) 2020-02-11 2021-08-19 Ciphersip Systems Ltd. High bandwidth can-derivative communication
CN112104537B (zh) * 2020-03-28 2022-04-19 上海芯郡电子科技有限公司 一种通信控制器
WO2021226328A1 (en) * 2020-05-06 2021-11-11 Racing Tech LLC Display pushbuttons system, network, and methods relating to same
US11528162B2 (en) * 2020-07-01 2022-12-13 Ford Global Technologies, Llc Detecting and resolving desynchronization of trip counter values in authenticated messages
DE102020209918A1 (de) * 2020-08-05 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102020214536A1 (de) * 2020-11-18 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102020214535A1 (de) * 2020-11-18 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
CN112583683B (zh) * 2020-12-29 2021-10-15 中国科学院声学研究所 一种主从式can fd总线应用层通信方法及系统、电子设备
CN115065572B (zh) * 2022-02-28 2023-09-29 西安电子科技大学 一种面向车载电子系统的can fd控制器
US11847090B1 (en) * 2022-06-21 2023-12-19 Winbond Electronics Corporation SPI bus synchronization
CN115001882B (zh) * 2022-06-24 2023-08-08 广州汽车集团股份有限公司 一种车载总线收发器唤醒方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011161153A1 (de) * 2010-06-23 2011-12-29 Robert Bosch Gmbh Verfahren und vorrichtung zur datenübertragung mit variabler bitlänge

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6595811B2 (en) * 2000-12-19 2003-07-22 Bombardier Inc. Personal watercraft vehicle component multiplex communication system
US20020159477A1 (en) * 2001-02-28 2002-10-31 Koninklijke Philips Electronics N.V. Enhanced crosspoint bus protocol
US7825782B2 (en) * 2007-03-20 2010-11-02 Ford Global Technologies, Llc Device and method for wireless vehicle communication
JP5115101B2 (ja) * 2007-08-30 2013-01-09 横河電機株式会社 フィールド装置及びフィールドバスコントローラ
US8774210B2 (en) * 2008-10-27 2014-07-08 Lennox Industries, Inc. Communication protocol system and method for a distributed-architecture heating, ventilation and air conditioning network
JP5308802B2 (ja) * 2008-12-16 2013-10-09 ルネサスエレクトロニクス株式会社 Canノード
EP2437437B1 (en) * 2009-05-27 2019-11-06 Renesas Electronics Corporation Semiconductor integrated circuit device
US20120051241A1 (en) * 2010-08-31 2012-03-01 Denso Corporation Communication system with a plurality of nodes communicably connected for communication based on NRZ (non return to zero) code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011161153A1 (de) * 2010-06-23 2011-12-29 Robert Bosch Gmbh Verfahren und vorrichtung zur datenübertragung mit variabler bitlänge

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016009756; Florian Hartwich: 'CAN with Flexible Data-Rate' iCC 2012 CAN in Automation , 201206 *

Also Published As

Publication number Publication date
EP2898632A1 (en) 2015-07-29
CN104620542B (zh) 2018-10-16
KR20150059740A (ko) 2015-06-02
WO2014044658A1 (en) 2014-03-27
CN104620542A (zh) 2015-05-13
EP2712123A1 (en) 2014-03-26
US9742584B2 (en) 2017-08-22
US20160254924A1 (en) 2016-09-01
JP6068650B2 (ja) 2017-01-25
EP2898632B1 (en) 2016-06-29
KR102116930B1 (ko) 2020-05-29

Similar Documents

Publication Publication Date Title
JP6068650B2 (ja) 可変的なデータレート対応のコントローラエリアネットワーク
KR101921773B1 (ko) 가변 데이터-전송률을 갖는 계측 제어 통신망
KR102045254B1 (ko) 유연한 메시지 크기로 직렬 데이터 전송 시 데이터 전송 안전성을 개선하기 위한 방법 및 장치
JP6110534B2 (ja) 直列バスシステム内でデータ伝送の信頼性を調整するための方法及び装置
JP5563165B2 (ja) 切り替え可能なデータレートによる直列データ伝送のための方法及び装置
KR102007547B1 (ko) 유연한 메시지 크기 및 가변 비트 길이로 직렬 데이터 전송을 하기 위한 방법 및 장치
JP5770935B2 (ja) メッセージの大きさがフレキシブルでビット長が可変的な直列データ伝送のための方法及び装置
JP5770924B2 (ja) 直列バスシステム内でデータ伝送容量を上げるための方法及び装置
RU2596582C2 (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
RU2678715C2 (ru) Протокол передачи данных с состоянием исключения протокола
JP5902844B2 (ja) メッセージの大きさがフレキシブルでビット長が可変的な直列データ伝送のための方法及び装置
Specification Bosch
JP2014531781A (ja) メッセージの大きさがフレキシブルでビット長が可変的な直列データ伝送のための方法及び装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161222

R150 Certificate of patent or registration of utility model

Ref document number: 6068650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250