JP2009512260A - 加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法 - Google Patents

加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法 Download PDF

Info

Publication number
JP2009512260A
JP2009512260A JP2008534010A JP2008534010A JP2009512260A JP 2009512260 A JP2009512260 A JP 2009512260A JP 2008534010 A JP2008534010 A JP 2008534010A JP 2008534010 A JP2008534010 A JP 2008534010A JP 2009512260 A JP2009512260 A JP 2009512260A
Authority
JP
Japan
Prior art keywords
communication
message
communication controller
data
memory
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.)
Pending
Application number
JP2008534010A
Other languages
English (en)
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 JP2009512260A publication Critical patent/JP2009512260A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本発明は、通信システムの加入者装置(900)に関する。加入者装置(900)は、マイクロプロセッサ(102)、少なくとも2つの通信コントローラ(750a、750b、750c)、および周辺バス(820)を備えている。マイクロプロセッサ(102)は、周辺バス(820)を介して通信コントローラ(750a、750b、750c)と接続され、通信コントローラ(750a、750b、750c)を介して通信システムの各通信接続(101a、101b、101c)と接続されており、通信接続(101a、101b、101c)を介してメッセージが伝送される。加入者装置(900)内でゲートウェイ機能を最適化するために、少なくとも1つの通信コントローラ(750a、750c)は、周辺バスとの接続に際して経由するアクティブインタフェース(834)と、ゲートウェイ機能を単独で実現するロジックとを有することが提案される。
【選択図】図13

Description

本発明は、通信システムの加入者(Teilnehmer:加入者装置、ホスト)に関する。加入者は、マイクロプロセッサ、少なくとも2つの通信コントローラ、および周辺バスを有している。マイクロプロセッサは、周辺バスを介して通信コントローラと接続され、通信コントローラを介して通信システムの各通信接続と接続されており、通信接続を介してメッセージが伝送される。
さらに、本発明は、通信システムの加入者(Teilnehmer:加入者装置、ホスト)の通信コントローラ(Communication Controller ;CC)に関する。加入者は、マイクロプロセッサ、通信コントローラ、選択的に別のコントローラ、および周辺バスを有している。通信コントローラは、一方では周辺バスを介してマイクロプロセッサと接続され、他方では通信システムの通信接続に接続されており、通信接続を介してメッセージが伝送される。
最後に、本発明は、通信システムの加入者(Teilnehmer:加入者装置、ホスト)内でゲートウェイ機能を実現する方法にも関する。加入者は、マイクロプロセッサ、少なくとも2つの通信コントローラ、および周辺バスを有している。通信コントローラは、一方では周辺バスを介してマイクロプロセッサと接続され、他方では通信システムの各通信接続に接続されており、通信接続を介してメッセージが伝送される。
近年、最新の車両製造、または機械製作、特に工作機械分野において、あるいはオートメーション分野においても、通信システムおよびバスシステム、従って通信接続を用いることによる、制御装置、センサ技術およびアクター技術のネットワーク化が著しく進展している。この場合、複数の制御装置への機能分散によるシナージー効果が得られる。ここで、システムの分散が問題となる。種々の装置間の通信は、バスシステムからなる通信システムを介して頻繁に行われる。バスシステム上の通信、アクセス、および受信のメカニズム、およびエラー処理は、プロトコルを介して制御される。
この種の既知のプロトコルとして、FlexRayプロトコル標準V2.0に基づくFlexRayプロトコルが存在する。FlexRayプロトコルは、特に車載装備される、高速かつ決定論的であり、エラー許容性(fehlertolerant)を有するバスシステムである。FlexRayプロトコルは、時分割多重アクセス(TDMA)の手順に従って作動し、コンポーネント、従って加入者もしくは伝送されるメッセージは、固定のタイムスロットを割当てられ、タイムスロット中で通信接続への排他的アクセス権を有する。これは、同様にTTCANにも適用される。この場合、タイムスロットが固定されたサイクルで繰返されるので、バスを介してメッセージが伝送されるタイミングが正確に予測でき、バスアクセスが決定論的に行われる。
バスシステム上でメッセージ伝送用の帯域幅を最適に利用するために、FlexRayは、サイクルまたはバスサイクルとも称される伝送サイクルを静的部分と動的部分とに分割する。この場合、固定タイムスロットがバスサイクルの始端の静的部分にある。動的部分では、タイムスロットが動的に与えられる。ここで、排他的なバスアクセス権は、各々に短時間、いわゆるミニスロットの間でのみ可能となる。ミニスロットの間でバスアクセスが行われる場合にのみ、タイムスロットが必要な時間で追加される。よって、実際に必要とされる場合にのみ帯域幅が使用される。
FlexRayは、物理的に分離された2本の通信線を介して、最大10メガビット/秒のデータ速度で通信する。この場合、バスサイクルは、5ms毎に、または通信システムに応じては1msもしくは2.5ms毎に終了する。この場合、双方のチャネルは、特にOSI(Open System Architecture)階層モデルの物理層に相当する。これらは、冗長的かつエラー許容性を伴うメッセージ伝送の場合に主として用いられるが、互いに異なるメッセージの伝送にも用いられ、その場合にはデータ速度が二倍となる。しかし、FlexRayは、より低いデータ速度でも動作可能である。
機能の同期化を実現し、かつ2つのメッセージ間の小さなマージンにより帯域幅を最適化するために、通信ネットワーク上で分散されたコンポーネント、従って加入者は、共通の時間基準、いわゆるグローバルな時間を必要とする。加入者のローカル時計の同期化のために、サイクルの静的部分で同期化通知が伝送され、FlexRay標準に準拠する特殊なアルゴリズムを用いて、コンポーネントのローカルなタイマ時間は、全てのローカル時計がグローバル時計に同期して作動するように補正される。
FlexRayネットワークノード、またはホストとも称されるFlexRay加入者は、加入者プロセッサ、従ってホストプロセッサと、FlexRayコントローラまたは通信コントローラと、バス監視用のバスガーディアンとを有する。この場合、加入者プロセッサは、FlexRay通信コントローラおよびFlexRay通信接続を介して伝送されるデータを提供して処理する。FlexRayネットワーク上の通信のために、例えば254バイトまでのメッセージもしくはメッセージオブジェクトが構成されうる。
メッセージ伝送を媒介するFlexRay通信接続とFlexRay加入者とを結合させるために、本願の出願日にはまだ開示されていなかった独国特許出願第10 2005 034 0744号明細書には、FlexRay通信モジュールが組込まれている。FlexRay通信モジュールは、加入者インタフェースを介して加入者へ、および、更なる別の接続を介して通信接続へ接続されている。その際、加入者と通信接続との間でメッセージを伝送するために、通信モジュール内にメッセージを記憶するための構成が設けられている。伝送は、ステートマシーンによって制御される。FlexRay通信コントローラは、FlexRay通信コントローラの統合された構成要素に相当し、または異なる構成要素として構成されてもよい。
通信モジュールには、2つの部分要素からなるインタフェースモジュールが設けられている。その際、一方のサブモジュールは加入者に依存せず、他方のサブモジュールは加入者に依存している。加入者専用サブモジュールは、カスタマCPUインタフェース(Customer CPU Interface;CIF)とも呼ばれ、加入者専用のホストCPUの形態をしたカスタマ専用加入者を、FlexRay通信モジュールと接続する。加入者に依存しないサブモジュールは、汎用CPUインタフェース(Generic CPU Interface;GIF)とも呼ばれ、汎用の、つまり一般的なCPUインタフェースに相当する。汎用CPUインタフェースを介して、対応する加入者専用サブモジュール、つまりカスタマCPUインタフェース(CIF)によって、異なるカスタマ専用のホストCPUがFlexRay通信モジュールに接続される。従って、加入者に応じて、加入者専用サブモジュールのみが変更されればよいので、通信モジュールは、異なる加入者に対して問題なく調整されることが可能である。一方、加入者に依存しないサブモジュールおよび残りの通信モジュールは、常に同一に構成されることが可能である。通信モジュールによって、つまり、任意のFlexRay加入者をFlexRay通信接続に接続するための標準インタフェースが生成される。その際、インタフェースは、加入者専用サブモジュールの簡単な変更によって、任意に設定された加入者、または従来の加入者のために柔軟に調整される。その際、各サブモジュールは、インタフェースモジュール内のソフトウェアにおいて実現される、つまりソフトウェア機能としての各サブモジュールとして実現されてもよい。
FlexRay通信モジュール内のステートマシーンは、ハードウェアに組込まれることが可能である。選択的に、通信モジュール内のステートマシーンは、加入者インタフェースを介して、加入者により自由にプログラム可能でもよい。
従来技術に基づいて、FlexRay通信モジュールのメッセージメモリは、特に、シングルポートRAM(Random Access Memory)として実現されている。このRAMメモリは、設定(Konfiguration)および状態データと共に、メッセージまたはメッセージオブジェクト、つまり本来の有効なデータを記憶する。公知の通信モジュールのメッセージメモリの詳細な構造は、上記の独国特許出願第10 2005 034 744号明細書に開示されている。
従来技術に基づいて、加入者の内部では、マイクロコントローラが、パッシブインタフェース、およびマスタとしてのアクティブインタフェースを介して、周辺バスに接続されている。マイクロコントローラは、マイクロプロセッサ(ホストCPU)、およびメモリ(RAM)、およびマイクロプロセッサとメモリとを繋ぐコア・バスを含んでいる。パッシブインタフェースを介して、マイクロコントローラは、周辺バスの他の加入者の命令およびデータを受信することが可能である。アクティブインタフェースを介して、マイクロコントローラ自体が、周辺バスの他の加入者へデータおよび命令を送信することが可能である。パッシブインタフェースを介した周辺装置への加入者の接続とは、スレーブとしての加入者の接続と同義である。アクティブインタフェースを介した加入者の接続とは、マスタとしての加入者の接続に相当する。公知の通信システムにおいて、通信コントローラはスレーブとして、パッシブインタフェースを介して周辺バスに接続されている。
通信コントローラは、1つまたは複数の通信接続(CAN、TTCAN、MOST、FlexRay、ByteFlight等)に対する加入者の接続を形成する。通信コントローラはそれぞれ、メッセージメモリを有している。メッセージメモリ内に、通信接続によって新たに受信されたメッセージが格納され、メッセージメモリから通信接続により送信されるメッセージが読出される。マイクロプロセッサ(ホストCPU)は、通信コントローラのパッシブインタフェースを介して、格納されたメッセージオブジェクトにアクセスすることが可能である。
マイクロプロセッサは、通信コントローラを設定し(konfigurieren)、管理し(kontrollieren)、制御する。マイクロプロセッサは、受信されたメッセージを読出し、評価する。さらに、新規メッセージを計算し(berechenen)、通信接続を介して送信するメッセージの書込みを行う。加入者内でのデータ伝送のために、マイクロプロセッサは、通信コントローラからマイクロコントローラのメモリへデータをワード単位で伝送する。その際、マイクロプロセッサのクロックレートが今日一般的であるように高い場合、複数の待機サイクルが発生する。複数の待機サイクルの間、マイクロプロセッサは、データ伝送の終了に備えて待機し、他のタスクに対応することができない。
最も簡単なゲートウェイ動作において、多くの場合、受信されたデータを加入者の通信コントローラから読出し、送信のために加入者の1つまたは複数の他の通信コントローラに書込む必要がある。DMA(Direct Memory Access)コントローラが利用されない場合、場合によってはデータを処理し、続いて対応する通信コントローラに複写するために、マイクロプロセッサ(ホストCPU)は、マイクロプロセッサに割当てられたメモリ部、またはCPU内部のメモリ部へ、通信コントローラからデータをワード単位で伝送する。その際、マイクロプロセッサ(ホストCPU)のクロックレートが今日一般的であるように高い場合、複数の待機サイクルが発生する。複数の待機時間の間、マイクロプロセッサはロックされており、他のタスクを遂行することができない。
マイクロプロセッサは、少なくとも1つの通信コントローラまたはその内部に含まれるロジック、および、アクティブインタフェースの設定データ(Konfigurationsdaten)を設定し、検証し、制御する。マイクロプロセッサは、既に通信コントローラのメッセージメモリ内に受信され、自動的にマイクロプロセッサのメモリ部に複写されたメッセージオブジェクトを読出し、評価し、または処理する。さらに、新規メッセージオブジェクトを計算し、マイクロプロセッサのメモリ部に格納する。さらに、通信コントローラがマイクロプロセッサのメモリ部から(通信コントローラ)独自のメッセージメモリに目下のデータを伝送可能なように、対応する通信コントローラに情報が伝達される。
同様に、通信システムの加入者のマイクロコントローラのマイクロプロセッサへの負荷を軽減するために、パッシブインタフェース、またはマスタとしてのアクティブインタフェースを介して、周辺バスにDMAコントローラを接続させることが公知である。DMAコントローラは、マイクロコントローラのメモリ部と通信コントローラとの間のデータ伝送を実行することが可能である。データ伝送のために、DMAコントローラは、マイクロプロセッサ(ホストCPU)によって設定され、作動される。その後、DMAコントローラは、通信コントローラからマイクロコントローラのメモリ部へ、データをワード単位で伝送する。または、この機能がサポートされる場合に、複数の通信コントローラの間で直接、データをワード単位で伝送する。データ伝送の終了は、割込みによってマイクロプロセッサに通知される。通知を受けて、マイクロプロセッサは、次のメッセージのためのプロセスを新たに開始する。割込みの実行によって、複数のCPU命令が生成される。複数のCPU命令によって、マイクロプロセッサの計算リソースおよび記憶リソースの大部分が拘束される(gebunden)。さらに、頻繁な割込みによって、中断されたソフトウェアタスクの潜在的なジッタ(実行時間に関する時間的な不安定さ)が増加する。
従って、本発明の課題は、通信システムの加入者装置においてゲートウェイ機能を最適化することにある。特に、加入者装置の複数の通信コントローラの間でのメッセージのルーティングにおいて、加入者マイクロプロセッサの待機サイクルの数、および割込み負荷を低減する必要がある。
本課題を解決するために、冒頭に述べた形態の加入者装置に基づいて、少なくとも1つの通信コントローラは、周辺バスとの接続に際して経由するアクティブインタフェースと、ゲートウェイ機能を単独で実現するロジックとを備えることが提案される。
本発明に基づいて、スレーブではなくマスタとしての通信コントローラを、周辺バスに接続させることが提案される。追加的に、通信コントローラは、ロジックの形態をしたインテリジェンスを有する。インテリジェンスによって、通信コントローラは、通信コントローラのメッセージメモリとマイクロコントローラのメモリとの間のゲートウェイ機能、または、複数の通信コントローラのメッセージメモリの間でのゲートウェイ機能を単独で調整し、制御することが可能になる。ロジックによって、ある程度のDMA機能を通信コントローラに与えることが可能である。
本発明に基づいて、加入者のマイクロコントローラ(ホストCPU)と通信コントローラのメッセージメモリとの間のデータ伝送、および複数の通信コントローラのメッセージメモリの間でのデータ伝送は、アクティブインタフェースを追加することによって最適化される。その際特に、時間制御型またはイベント制御型のデータ伝送等の特別なゲートウェイ機能がサポートされる。通信コントローラによるメッセージの伝送は、対応する構成(Konfiguration)に基づいて、加入者のマイクロプロセッサ(ホストCPU)によって引き続き単独で処理される。メッセージがアクティブインタフェースを介して直接的に伝送可能となるので、本発明に基づく方法によって、待機サイクルまたは割込みによるマイクロプロセッサの従来のような高い使用率が低減される、または回避される。
本発明は、任意の通信システムの任意の加入者において利用されることが可能である。以下では、本発明が、FlexRay通信システムを用いて例示される。しかし、このようなFlexRayプロトコルとの関連は、限定的に解釈されるものではない。当然のことながら、本発明は、MOST(Media Oriented Systems Transport)システムの加入者、CAN(Controller Area Network)システムの加入者、TTCAN(Time
Triggered CAN)システムの加入者、LIN(Local Interconnect Network)システムの加入者、または任意の他の公知の通信システムの加入者において利用されることが可能である。
パッシブインタフェースに加えて、本発明に基づく通信コントローラは、アクティブインタフェースを有している。アクティブインタフェースを介して、通信コントローラに組込まれたロジックは、通信コントローラのメッセージメモリからメッセージオブジェクトを読出し、対応するターゲット(マイクロプロセッサのメモリ部、または通信コントローラのメッセージメモリ)に単独で書込むことが可能である。同様に、ロジックは、ソース(マイクロプロセッサのメモリ部または通信コントローラのメッセージメモリ)からメッセージオブジェクトを読出し、本発明に基づく通信コントローラのメッセージメモリに書込むことも可能である。当然のことながら、1つだけではなく複数の通信コントローラが、本発明に基づく方法で構成されることが考えられる。本発明の場合、全モジュール(通信コントローラ)がアクティブインタフェースを有する必要はない。アクティブインタフェースは(制御しているマイクロコントローラまたは他の制御ユニットによるトリガなしに)、他のモジュールにデータを単独で要求することが可能である。
本発明に基づく通信コントローラ、または本発明に基づく通信コントローラのロジックによって実現される有利なゲートウェイ機能として、例えば、(周辺バス、マイクロプロセッサ、通信コントローラおよび場合によっては更なる別のモジュール等から構成される)ネットワークにおける、到着したメッセージのルーティング(転送)が挙げられる。基本的に、様々なルーティング方法が考えられ、以下では、ルーティング方法を幾つか詳細に説明する。
・静的ルーティング
この方法は非適応的(nicht adaptiv)であり、非常に簡単なのでよく利用されている。各ノード(通信コントローラ)は、各々に可能性のあるターゲットノードの行が記載されたテーブルを保持する。行は、ターゲットノードに対する最適な伝送経路、2番目に最適な伝送経路等を表す、重み付けされたn個のエントリを含んでいる。データパケット転送の前に、対応するエントリが選択され、可能性のあるルートのうちの1つが与えられる。ここでの重み付けは、可能性のあるルートが選択される確率を反映している。
・集中ルーティング
集中ルーティングは、適応的な方法に相当する。ネットワークには、ルーティング制御センター(Routing Control Center;RCC)が存在し、各ノードは、周期的にRCCに状態情報を送信する。状態情報には、例えば、アクティブな全ての隣接ノードのリスト、目下の待ち行列の長さ、最後のメッセージ(Meldung)以降のトラフィック量等が該当する。RCCは、状態情報を収集し、この情報に基づいて、全ネットワークにおける全てのノード間の適切な経路の長さを計算する。その後、RCCは、各ノードにルーティングテーブルを転送する。ノードは、ルーティングテーブルを用いてルーティングの決定を行う。RCCの機能は、本発明に基づく通信コントローラまたは本発明に基づく通信コントローラのロジックが担う。
長所
−RCCは、理論的には(ネットワークを)完全に概観するので「完璧な」決定を下すことが可能である。
−ノードは、負荷を要する計算を実行する必要がない。
−RCC機能は、1つもしくは複数の通信コントローラ、または、1つもしくは複数の通信コントローラのロジックが少なくも部分的に担うので、加入者のマイクロプロセッサに対する負荷が軽減される。
短所
−大きなネットワークの演算には、場合によって非常に長い時間を要する。
−(バックアッププロセッサが設けられていない、または定義されていない場合)RCCの故障によって、全ネットワークが麻痺する。
−基本的に、RCC近傍のノードは、RCCから遠く離れたノードよりも早く新しいルーティングテーブルを取得するので、広範囲での不整合が生じうる。
−集中機能によって、RCCに大きな負荷が生じる。
・個別ルーティング
このルーティング方法の場合、各ノードは、独自で収集する情報または収集した情報に基づいて決定する。ノード間でルーティング情報の交換は行われない。(故障またはノードの追加等による)トラフィックの変更またはネットワークのトポロジの変更に対する調整は、この場合、制限された範囲で行われうるが、基本的には、特に大きな負荷を要することなしに可能となる。個別ルーティングとして、
−ブロードキャストルーティング
−ホットポテト
−バックワードラーニング
−デルタルーティング
が挙げられる。
・ブロードキャストルーティング
ブロードキャストルーティングの場合、パケットが全てのノードに送信される。この場合、2つのバリエーションが存在する。つまり、第1のバリエーションは、各ノードに対して異なるパケットが作成されることである。第2のバリエーションは、輻輳(Fluten)であり、同一のパケットが各ノードに転送される。輻輳は、ここでは最も簡単な方法であり、非適応的である。各到着したパケットは、パケットが到着済みの伝送ルートを除き各伝送ルートで転送される。ここで、輻輳を抑制するために以下のような措置を取ることも可能である。
−パケットに番号を付してパケットの複製を検出する。
−経由した一区間(ホップ)をカウントして、パケットの生存時間を検証する。
−選択的な輻輳(全ルートではなく、幾つかのルートに対してのみ転送)
−ランダム・ウォーク(無作為なルート選択)
・ホットポテト
各ノードは、到着したパケットを可能な限り早く転送しようと試みる(ノードがパケットを熱いじゃがいものように扱うことから、この名称がついた)。ここでは、待ち行列が最も短い伝送ルートが選択される。この方法と静的ルーティングの組合せも存在する。
−伝送ルートの待ち行列の長さが特定の閾値を下回っている限り、静的ルーティングの後に最適な伝送ルートを選択する。
−伝送ルートに付された重み付けが非常に小さい場合、待ち行列が最も短い伝送ルートを選択する(上記の静的ルーティング参照)
・バックワードラーニング
この方法の場合、以下の情報がパケットに保存される必要がある。
−ソースノードの識別
−区間(ホップ)を経由するごとに1つ増加されるカウンタ
ノードがパケットを1つ獲得する場合、ノードはホップ数を検出し、どの入力を介してパケットを獲得したのかを検出することが可能である。従って、各ノードは、どの経路を介して、最小数のホップで他のノードに到達できるかを、獲得されたパケットから推測することが可能である。パケットが、テーブルに登録済みのホップ数より少ないホップ数でノードに到達した場合に、ルーティングテーブルのエントリが置換される。しかし、ある程度の時間に渡って、パケットが特定のホップ数で各ノードによって獲得されなかった場合にも、エントリが更新される。つまり、一定の時間間隔を伴うラーニングサイクルが許容される。ラーニングサイクルにおいて、相対的に好ましいエントリがある程度古くなると、相対的に好ましくないエントリで上書きされる。その後、相対的に好ましい接続はもはや存在しないことを前提として、次に最適な接続が選択される。その際、以下の問題が発生する。
−ラーニングサイクルの間でルーティングが最適とならない。
−ラーニングサイクルが短い場合(エントリが、より速く相対的に好ましくないエントリで更新される。)、複数のパケットが未知の品質の経路をとる。
−ラーニングサイクルが長い場合、ネットワークの状態に対する適応行動(Anpassungsverhalten)が悪い。
・デルタルーティング
この方法は、集中ルーティングと個別ルーティングとの組合せに相当する。この場合、各ノードは、周期的に各伝送経路の(遅延、使用率、容量等の意味での)コストを測定し、この情報をRCCに送信する。RCCは、ノードiからノードjへのk個の最適経路を計算する(全ノードi、jのためのa)。その際、初期ルート(intiale Leitung)が異なる経路のみが考慮される。RCCは、全目的ノード(Bestimmungsort)に関する等価な経路のリストを各ノードに送信する。目下のルーティングのため、ノードは、等価な経路を無作為に選択する、または、現在測定されたコストに基づいて決定することが可能である。デルタという名称は、ここでは、2つの経路が等価として見なされるかどうかを検出する機能に由来している。
・分散適応ルーティング
この方法の場合、各ノードは、各隣接ノードとルーティング情報を周期的に独自に交換する。このルーティングでも、各ノードは、ネットワークの他の各ノードに関するエントリを含むルーティングテーブルを保持する。このテーブルには、(他の)各ノードの好適な伝送ルート、時間に関する評価、または(他の)各ノードへの距離が含まれている。
−ホップ数
−ミリ秒単位で推測される遅延
−経路上で待機しているパケットの推測される総数
この評価は、隣接ノードまでの時間/距離、および/または、隣接ノードの(タイムスタンプが付された特別なエコーパケット等を用いた)評価から獲得される。ルーティング情報の交換は、特定の更新間隔で同期に、または、大きな変更があった際には非同期に行われることが可能である。この方法には、特に以下のルーティングが含まれる。
−距離ベクトル型ルーティング
−リンク状態型ルーティング
・距離ベクトル型ルーティング
従来RIP(Routing
Information Protocol)としてインターネットで利用された、分散適応ルーティングである。この場合、各ルーターが、各ターゲットおよび各ターゲットのゲート(Ausgang)への最適な距離(ホップ数、遅延等)を示すテーブルを保持する。実際には、この方法では、「無限カウント」の問題に基づいて、複数のルーターが一定の状態に収束するまでに多くの時間を要する。
・リンク状態型ルーティング
OSPF(Open
Shortest Path First)およびIS−IS(Intermediate System To Intermediate
System)としてインターネットで使用される、分散適応ルーティングである。以下のアルゴリズムが利用される。
−HELLOパケットによる、新規の隣接ノードの検出
−エコーパケットによる、遅延または各隣接ノードに対する負荷の測定
−学習されたデータ(送信者、遅延している隣接ノードのリスト、世代(Alter)等)を含むリンク状態パケットの作成。リンク状態パケットは、周期的に、またはイベント制御で(新規ノード、ノードの故障等)で生成される。
−全ての隣接パケットへのリンク状態パケットの送信(原則的に輻輳を利用し、洗練させる場合、複製したパケットの破棄、特定の世代以降の情報の抹消等)
−(アルゴリズム、ダイクストラ法等に基づく)他の全てのルーターへの最短経路の計算
この方法は演算に大きな負荷が掛かる。しかし、この方法の最適化が可能であり、ネットワークの対応するトポロジ等に含まれる。
・階層ルーティング
階層ルーティングは、大きなネットワークの領域区分に基づいている。領域のノードは、独自の領域のルーティング情報のみを有している。各領域には、少なくとも、他の領域へのインタフェースの役目を果たす優れたノードが存在する。非常に大きなネットワークでは、ネットワークが拡大するに従って、更に別の階層の利用が可能である(領域、クラスタ、ゾーン、グループ)。
本発明の好適な発展形態に基づいて、ロジックは、ルーティングエンジンの機能を実現することが提案される。通信コントローラのルーティングエンジンのタスクは、特に、(周辺バス、マイクロプロセッサ、通信コントローラ、および場合によっては更なる別のモジュールを含む)ネットワークにおいて、到着したメッセージを転送(weiterzuleiten)することにある。ルーティングエンジンの実現されるべき機能には、特に、既に詳細に説明されたルーティング方法の制御および調整が該当する。
本発明の好適な実施形態に基づいて、通信コントローラは、通信コントローラに割当てられた通信接続のメッセージを一時格納するためのメッセージメモリ、または通信接続のためのメッセージメモリを各々に有しており、ロジックは、通信コントローラのメッセージメモリとマイクロプロセッサとの間、または、通信コントローラの複数のメッセージメモリの間でデータの単独ルーティングを調整し、制御することが提案される。
本発明の特に好適な発展形態に基づいて、少なくとも1つの通信コントローラは、通信モジュ−ルを有しており、通信モジュ−ルは、通信コントローラに割当てられた通信接続のメッセージを一時格納するためのメッセージメモリ、または通信接続のためのメッセージメモリを含んでおり、ロジックは、通信コントローラのメッセージメモリもしくは少なくとも1つの通信モジュールのメッセージメモリと、マイクロプロセッサとの間、または、通信コントローラの複数のメッセージメモリ、および/または、少なくとも1つの通信モジュールのメッセージメモリの間で、データの単独ルーティングを調整し、制御することが提案される。
本発明の好適な実施形態に基づいて、各通信モジュールは、メッセージメモリと周辺バスとの間に配置された少なくとも1つのバッファ、特に、少なくとも1つの入力バッファおよび少なくとも1つの出力バッファを有しており、ロジックは、通信コントローラのメッセージメモリもしくは少なくとも1つの通信モジュールのメッセージメモリの少なくとも1つのバッファと、マイクロプロセッサとの間、または、通信コントローラの複数のメッセージメモリ、および/または、少なくとも1つの通信モジュールのメッセージメモリの少なくとも1つのバッファの間で、データの単独ルーティングを調整し、制御することが提案される。
通信コントローラ内のロジックは、特に、ステートマシーン(Zustandmaschine)、特にDMAステートマシーン(DMA-Zustandmaschine)を含んでいる。ステートマシーンは、特にハードウェアに基づいて実現されており、通信コントローラ内に組込まれている。
本発明の他の実施形態に基づいて、アクティブインタフェースおよびロジックを備える各通信コントローラは、アービターを有しており、アービターは、通信コントローラのメッセージメモリ、通信モジュールのメッセージメモリ、または、通信モジュールのメッセージメモリの少なくとも1つのバッファに対する、マイクロプロセッサおよびロジック(ステートマシーン等)の同時アクセスを仲裁することが提案される。
特に、アクティブインタフェースおよびロジックを備える各通信コントローラは、制御および/または状態レジスタ(Kontroll-und/oder Statusregisters)を有しており、マイクロプロセッサは、ゲートウェイ機能の設定(Konfiguration)、駆動(Ansteuerung)および/または監視のために、制御および/または状態レジスタにアクセスする。
さらに、アクティブインタフェースおよびロジックを備える各通信コントローラは、ルーティングメモリを有しており、マイクロプロセッサは、ゲートウェイ機能の駆動および/または監視のために、ルーティングメモリにアクセスすることが提案される。
加入者装置(Teilnehmer)は、特に、FlexRay通信システムのコンポーネントであり、FlexRay通信システムにおいて、加入者装置とFlexRay通信接続に接続された他のFlexRay加入者装置との間では、FlexRayプロトコルに基づいてデータ伝送が行われる。
本発明の課題の更なる別の解決策として、冒頭に記載した形態の通信コントローラに基づいて、通信コントローラは、周辺バスとの接続に際して経由するアクティブインタフェースと、ゲートウェイ機能を単独で実現するロジックとを有することが提案される。
本発明の課題の更なる別の解決策として、冒頭に記載した形態の方法に基づいて、少なくとも1つの通信コントローラは、アクティブインタフェースを介して周辺バスに接続され、少なくとも1つの通信コントローラ内のロジックによってゲートウェイ機能が実現されることが提案される。
本発明の特に好適な発展形態に基づいて、ゲートウェイ機能の枠内で、割込みが開始され、処理され、およびメッセージが断片化され(fragmentieren)、最適化され(defragmentieren)、および、加入者装置の複数の通信コントローラの間でメッセージが交換され、および/または、通信コントローラのうちの1つとマイクロプロセッサのメモリ部(Speicherelement)との間でメッセージが交換されることが提案される。
さらに、マイクロプロセッサは、少なくとも1つの通信コントローラの制御および/または状態レジスタ内に制御および状態情報(Kontroll-und
Status-informationen)を格納することで、ゲートウェイ機能が設定され、制御され、および/または、監視されることが提案される。さらに、マイクロプロセッサは、少なくとも1つの通信コントローラのルーティングメモリ内にルーティング情報を格納することで、ゲートウェイ機能が制御され、および/または、監視されることが提案される。
本発明の好適な実施形態に基づいて、少なくとも1つの通信コントローラ内のロジックがステートマシーンを含んでおり、通信コントローラのメッセージメモリ、通信モジュールのメッセージメモリ、または、通信モジュールのメッセージメモリの少なくとも1つのバッファに対する、マイクロプロセッサおよびステートマシーンの同時アクセスが仲裁されることが提案される。
他の通信コントローラのメッセージメモリにデータをアクティブに複写する(aktiven Kopieren)ために、少なくとも1つの通信コントローラのロジックによって単独で引起こされ(veranlassen)、制御される方法であって、少なくとも1つの通信コントローラのバッファ内の受信されたデータを可視化する(Sichtbarmachen)工程と、アクティブインタフェースを介する書込みアクセスによって、マイクロプロセッサ(ホストCPU)に割当てられたメモリ部の構成可能(konfigurierbaren)なアドレス領域内に、または、他の通信コントローラのバッファ内に、受信されたデータの複写を格納する工程と、他の通信コントローラのバッファ内にデータの複写を格納する際に、バッファから他の通信コントローラのメッセージメモリへの格納されたデータの伝送を開始する工程と、を含むことが提案される。
他の通信コントローラのメッセージメモリからデータをアクティブに複写するために、少なくとも1つの通信コントローラのロジックによって単独で引起こされ、制御される方法であって、他の通信コントローラのバッファ内のデータを可視化する工程と、アクティブインタフェースを介する読出しアクセスによって、通信コントローラの少なくとも1つのバッファの設定可能(konfigurierbaren)なアドレス領域内に、マイクロプロセッサに割当てられたメモリ部の内容の複写、または、他の通信コントローラのバッファの内容の複写を格納する工程と、少なくとも1つのバッファから通信コントローラの通信モジュールのメッセージメモリへの格納されたデータの伝送を開始する工程と、を含むことが提案される。
最後に、上記方法は、データ、特にメッセージの受信によって、少なくとも1つの通信コントローラによるトリガによって、または、マイクロプロセッサによるトリガによって、時間制御で開始されることが提案される。このトリガには、通常、ロジックへの特別なスタート命令(Ausloese-Befehl)の伝達が含まれる。
発明を実施するための最善の形態
以下では、添付の図を用いて、本発明の更なる別の特徴および本発明の長所が詳細に解説される。図1は、加入者またはホスト102をFlexRay通信接続101、従ってFlexRayの物理層に結合するためのFlexRay通信モジュール100を概念的に示す。物理層は、例えば、2つの伝送線を有するFlexRayデータバスとして実現されてもよい。このために、FlexRay通信モジュール100は、接続107を介して加入者もしくは加入者プロセッサ102に、接続106を介して通信接続101に各々に接続される。一方で伝送時間に関して、他方でデータ一貫性に関して問題なく接続するために、FlexRay通信モジュールは、本質的に3つの構成として概念的に区別される。この場合、第1の構成105、特にクリップボード(zwischenablage)は、伝送されるメッセージの少なくとも一部を、特に一時的に記憶するために用いられる。加入者102と第1の構成105との間には、接続107および108を介して第2の構成104が接続される。同様に、通信接続101と第1の構成105との間には、接続106および109を介して第3の構成103が接続される。これにより、最適な速度によりデータ一貫性を保証しつつ、メッセージ、特に第1の構成105内または第1の構成105からのFlexRayメッセージの一部としてのデータが、極めてフレキシブルに、第1の構成105に/から入力/出力できる。
図2には、望ましい実施例での通信モジュール100がさらに詳細に示される。各接続106〜109も、同様に詳細に示される。この場合、FlexRay通信モジュール100をFlexRay加入者装置102またはホストプロセッサに接続させるために、第2の構成104は、入力バッファメモリ201(Input Buffer; IBF)、出力バッファメモリ202(Output
Buffer; OBF)、および2つの部分203、204からなるインタフェースモジュールを有する。ここで、第1のサブモジュール203が加入者に依存せず、第2のサブモジュール204が加入者に依存する。加入者に依存するサブモジュール204(Customer CPU Interface; CIF)は、加入者専用のホストCPU102、従ってカスタマ専用の加入者をFlexRay通信モジュール100に接続する。このために、双方向のデータ線216、アドレス線217および制御入力218が設けられる。同様に、割込み出力219が設けられる。加入者に依存するサブモジュール204が加入者に依存しないサブモジュール203(Generic CPU Interface; GIF)に接続されており、従ってFlexRay通信モジュールまたはFlexRay−IPモジュールは、汎用の、従って一般的なCPUインタフェース203を有している。CPUインタフェース203には、対応する加入者に依存するサブモジュール204、従って加入者に依存するサブモジュール204を介して、多数の異なるカスタマ専用のホストCPUが接続される。これにより、加入者に応じてサブモジュール204のみが変更されるので、労力およびコストが著しく低減される。CPUインタフェース203、および通信モジュール100の他の部分は、変更なしに使用可能となる。
入力バッファメモリ201と出力バッファメモリ202とは、1つのメモリモジュールまたは異なるメモリモジュールとして形成されうる。この場合、入力バッファメモリ201は、メッセージメモリ300に伝送するためのメッセージを一時的に記憶する。この場合、入力バッファモジュール201は、特に設定データ(Konfigurationsdaten)を有するヘッドセグメントと、データセグメントまたはペイロードセグメントとからなる、2つの完全なるメッセージを記憶できるように形成されることが望ましい。この場合、入力バッファメモリ201は2つに分割して(サブバッファとシャドウバッファ)形成されており、それによって、入力バッファメモリの2つの部分への交互書込み、またはアクセス交換により、加入者CPU102とメッセージメモリ300との間の伝送が高速化される。出力バッファメモリ202(Output Buffer; OBF)も、同様にメッセージメモリ300から加入者CPU102に伝送するためのメッセージを一時的に記憶する。この場合、出力バッファ202も、特に設定データ(Konfigurationsdaten)を有するヘッドセグメントと、データセグメント、従ってペイロードセグメントとからなる、2つの完全なるメッセージが記憶されるように形成される。ここでも、出力バッファメモリ202が2つの部分、つまりサブバッファとシャドウバッファとに分割されており、それによって、2つの部分への交互読取り、またはアクセス交換により、加入者CPUもしくはホストCPU102とメッセージメモリ300との間の伝送が高速化される。ブロック201〜204からなる第2の構成104が、図示するように、第1の構成105に接続される。
第1の構成105は、メッセージハンドラ200(Message Handler; MHD)およびメッセージメモリ300(Message
RAM)からなる。メッセージハンドラ200は、入力バッファメモリ201および出力バッファメモリ202とメッセージメモリ300との間のデータ伝送を管理(kontrollieren)もしくは制御する。同様に、メッセージハンドラ200は、第3の構成103を介して他の方向でのデータ伝送を管理もしくは制御する。メッセージメモリ300は、望ましくはシングルポートRAMとして形成される。このRAMメモリは、メッセージもしくはメッセージオブジェクト、従って本来のデータを設定データおよび状態データと共に記憶する。メッセージメモリ300の構成が、図3に詳細に示される。
第3の構成103は、ブロック205〜208からなる。FlexRay物理層の2つのチャネルに従って、構成103は、各々に双方向性を有する2つのデータ経路に分割される。これが、接続213および214によって表されており、そこでは、チャネルAについて受信(RxA)および送信(TxA)のための2つのデータ方向RxAおよびTxAと、チャネルBについてRxBおよびTxBが示される。接続215によって、選択的な双方向の制御入力が示される。第3の構成103の接続は、チャネルBについては第1のバッファメモリ205、チャネルAについては第2のバッファメモリ206を各々に介して行われる。2つのバッファメモリ(Transient Buffer RAMs RAM A, RAM B)は、第1の構成105から/へのデータ伝送のためのバッファメモリとして機能する。2つのチャネルに従って、2つのバッファメモリ205および206は、インタフェースモジュール208および207に各々に接続されている。インタフェースモジュール207、208は、送信/受信シフトレジスタおよびFlexRayプロトコル有限ステートマシーンからなる、FlexRayプロトコルコントローラまたはバスプロトコルコントローラを有する。よって、2つのバッファメモリ205および206は、インタフェースモジュールまたはFlexRayプロトコルコントローラ207、208のシフトレジスタと、メッセージメモリ300との間でデータを伝送するための一時的なメモリとして用いられる。ここでも、各バッファメモリ205または206によって、2つのFlexRayメッセージのデータフィールド、従ってペイロードセグメントまたはデータセグメントが記憶されることが望ましい。
さらに、通信モジュール100には、グローバルタイムユニット209(Global Time Unit; GTU)が示されており、それはFlexRay内でグローバルタイムスロット、従ってミクロ的なμTおよびマクロ的なMTを提示する役割を果たす。同様に、グローバルタイムユニット209を介して、サイクルカウンタ(Cycle Counter)のタイミング同期、およびFlexRayの静的および動的セグメントにおける時間経過の管理がエラー許容性を有するように制御される。ブロック210は、FlexRay通信コントローラのオペレーションモードを管理かつ制御する、一般的なシステム制御(System Universal Control; SUC)を示す。オペレーションモードには、例えば、ウェイクアップ、スタートアップ、リインテグレーションもしくはインテグレーション、ノーマルオペレーションおよびパッシブオペレーションなどが含まれる。
ブロック211は、FlexRayプロトコル標準v2.0に記述されるような、ネットワークおよびエラーマネージメント部(Network- and Error Management; NEM)を示す。そして、ブロック212は、状態およびエラー割込みフラグ(status and error interrupt flags)を管理し、かつ加入者CPU102への割込み出力219を管理もしくは制御する、割込み制御部(Interrupt Control INT)を示す。ブロック212は、さらに、時間割込みを発生させるために、絶対タイマおよび相対タイマもしくはタイミングジェネレータを有する。
FlexRayネットワーク内で通信するために、254データバイトまでのメッセージオブジェクトもしくはメッセージ(Message Buffer)が構成されうる。メッセージメモリ300は、例えば、最大128メッセージオブジェクトまでを記憶可能な、メッセージRAMメモリである。メッセージ自体の処理もしくは管理に関する全ての機能は、メッセージハンドラ200に実装される。この機能は、例えば、許容フィルタリング(Akzeptanzfilterung)、2つのFlexRayプロトコルコントローラブロック207および208とメッセージメモリ300、従ってメッセージRAMとの間でのメッセージの伝送、および送信順序の管理と設定データ(Konfigurationsdaten)もしくは状態データの準備である。
外部のCPU、従って加入者プロセッサ102の外部のプロセッサは、インタフェースモジュールの加入者に依存する部分204を有する加入者インタフェースを介して、FlexRay通信モジュール100のレジスタへ直接アクセスすることができる。この場合、複数のレジスタが使用される。レジスタは、FlexRayプロトコルコントローラ、従ってインタフェースモジュール207および208、メッセージハンドラ200、グローバルタイムユニット209、一般的なシステムコントローラ210、ネットワークおよびエラーマネージメントユニット211、割込みコントローラ212、およびメッセージRAM、従ってメッセージメモリ300へのアクセスを、構成し、制御し、同様に該当する状態を表示するために使用される。少なくともレジスタのこれらの部分について、図4〜6および図7〜9でさらに詳細に説明する。前述されたFlexRay通信モジュールによって、FlexRay標準v2.0が容易に実現されうる。それによって対応するFlexRay機能性を有するASICまたはマイクロコントローラが容易に形成されうる。
FlexRayプロトコル仕様、特にヴァージョン2.0は、上記のFlexRay通信モジュール100によって完全にサポートされており、例えば、最大128個のメッセージまたはメッセージオブジェクトが構成可能である。その際、メッセージの各データフィールドまたは各データ領域の大きさに応じて、異なる数のメッセージオブジェクトを保存するために、柔軟に構成可能なメッセージメモリが設けられる。従って、好適に、異なる長さのデータフィールドを有するメッセージまたはメッセージオブジェクトが構成される。その際、メッセージメモリ300は、好適に、FIFO(First In-First Out)として構成されるので、構成可能な受信用FIFOが設けられる。メモリ内の各メッセージまたは各メッセージオブジェクトは、受信バッファオブジェクトまたは送信バッファオブジェクトまたは構成可能な受信FIFOの一部として構成されることが可能である。同様に、FlexRayネットワークにおけるフレームID、チャネルIDおよびサイクルカウンタによる許容範囲のフィルタリングが可能である。従って、有利に、ネットワーク管理が支援される。さらに、好適に、マスク可能なモジュール割込みが設けられている。
図3には、メッセージメモリ300の分割が詳細に示される。FlexRayプロトコル標準に従って要求される、FlexRay通信コントローラの機能性のために、送信されるメッセージを準備するためのメッセージメモリ(送信バッファ、Tx)、およびエラーを伴わずに受信されたメッセージを格納するためのメッセージメモリ(受信バッファ、Rx)が必要である。FlexRayプロトコルは、0〜254バイトのデータ領域、従ってペイロード領域を有するメッセージを許容する。図2に示すように、メッセージメモリ300は、FlexRay通信モジュール100の一部である。以下で説明する方法および対応するメッセージメモリ300において、特にランダムアクセスメモリ(RAM)を使用した送信メッセージおよび受信メッセージの記憶について説明する。前述したメカニズムによって、予め設定された容量のメッセージメモリ内に可変の数のメッセージを記憶することを可能にする。この場合、記憶可能なメッセージ数は、各メッセージのデータ領域のサイズに依存し、それによって、一方では、メッセージのデータ領域のサイズを制限することなしに、必要とされるメモリのサイズを最小限に抑えることができ、他方では、メモリの最適な使用が行われる。以下では、FlexRay通信コントローラのための、特にRAMベースのメッセージメモリ300の可変分割について詳細に説明する。
実装のために、例えば、nビット(例えば8、16、32など)の固定されたワード長と、mワードの予め設定されたメモリ深度とを有するメッセージメモリが予め設定される(自然数m、n)。この場合、メッセージメモリ300は、2つのセグメント、ヘッダセグメントHSとデータセグメントDS(ペイロードセクション、ペイロードセグメント)とに分割される。よって、メッセージ毎に1つのヘッダ領域HBおよび1つのデータ領域DBが割当てられる。よって、メッセージ0、1〜k(自然数k)のために、ヘッダ領域HB0、HB1〜HBkとデータ領域DB0、DB1〜DBkとが割当てられる。よって、1つのメッセージ内で第1のデータと第2のデータが区別され、第1のデータは、FlexRayメッセージに関する設定データ(Konfigurationsdaten)および/または状態データに相当し、ヘッダ領域HB(HB0、HB1、…、HBk)に格納される。伝送すべき本来のデータに相当する第2のデータは、データ領域DB(DB0、DB1、…、DBk)に格納される。よって、各メッセージについて、第1のデータのための第1のデータ量(ビット、バイトまたはワードで測定)と、第2のデータのための第2のデータ量(同様にビット、バイトまたはワードで測定)とが生じており、メッセージ毎の第2のデータ量は各々に異なることができる。ヘッドセグメントHSとデータセグメントDSとの間の分割は、メッセージメモリ300内で可変であり、領域間で予め設定された境界が存在しない。ヘッドセグメントHSとデータセグメントDSとの間の分割は、メッセージ数kと、第2のデータ量、従って1つのメッセージもしくはk個全てのメッセージについて合計された本来のデータの容量に依存する。各メッセージの設定データKD0、KD1〜KDkに、データポインタDP0、DP1〜DPkが各々に直接割当てられる。特殊な形態においては、各ヘッド領域HB0、HB1〜HBkに固定数のワード、ここでは2ワードが割当てられるので、設定データKD(KD0、KD1、…、KDk)とデータポインタDP(DP0、DP1、…、DPk)とが常にヘッダ領域HBに一緒に格納される。記憶されるメッセージの数kに依存するヘッダ領域HBを有するヘッドセグメントHSには、本来のメッセージデータD0、D1〜Dkを記憶するためのデータセグメントDSが続く。データセグメント(またはデータセクション)DSのデータ量は、格納された各メッセージデータのデータ量に依存しており、ここでは例えば、DB0が6ワード、DB1が1ワード、DBkが2ワードである。よって、各データポインタDP0、DP1〜DPkは、各メッセージ0、1〜kのデータD0、D1〜Dkについて、データ領域DB0、DB1〜DBkの開始アドレスを示す。よって、メッセージメモリ300におけるヘッドセグメントHSとデータセグメントDSとの間の分割は、メッセージ自体の数kおよび各メッセージのデータ量に依存する第2のデータ量に応じて可変である。構成されるメッセージが少ない場合、ヘッドセグメントHSが小さくなり、メッセージメモリ300内の未使用領域は、データセグメントDSの追加として、データを記憶するために使用される。この可変性によって、最適なメモリ使用が保証されるので、比較的小さなメモリの使用も可能となる。よって、記憶されるメッセージ数kと各メッセージの第2のデータ量との組合せに応じて、未使用データセグメントFDSは、特にそのサイズが最小となり、特別な場合には0となりうる。
ヘッドセグメントHS内のヘッド領域HB0〜HBkの順序とデータセグメントDS内のデータ領域DB0〜DBkの順序とが各々に同一であるので、データポインタを使用する代わりに、第1のデータと第2のデータ、従って設定データKD(KD0、KD1、…、KDk)と本来のデータD(D0、D1、…、Dk)とを予め設定された順序で格納することも可能となる。この場合、条件に応じては、データポインタが省略されうる。
特に望ましい形態では、HSおよびDSにはワード毎または領域(HBおよび/またはDB)毎に、チェックサムを特にパリティビットとして一緒に格納できるので、HSおよびDSに格納されているデータの正確さを保証するために、メッセージメモリにエラー検出ジェネレータ、特にパリティビットジェネレータ、およびエラー検出チェッカー、特にパリティビットチェッカーが割当てられる。他の検査識別子、例えばCRC(Cyclic Redundancy check)またはECC(Error Code
Correction)のような強力な識別子も考えられる。よって、メッセージメモリの固定的な分割に比較して、以下の利点が得られる。
利用者は、プログラミングに際して、より小さなデータフィールドを有するより多くのメッセージを使用するか、より大きなデータフィールドを有するより少ないメッセージを使用するかを決定できる。異なるサイズのデータ領域DBを有するメッセージを構成するに際して、使用可能なメモリスペースが最適に使用される。利用者は、様々な形式のメッセージに対して、共通のデータ領域を使用する可能性を得る。
集積回路により通信コントローラを実装するに際して、通信コントローラの他の機能を変更することなしに、使用されるメモリのメモリ深度(m個のワード)を適合させることによって、メッセージメモリ300の容量がアプリケーションの要求に適合させられる。
以下において、図4〜6および図7〜9を用いて、ホストCPUのアクセス、従ってバッファメモリ構成201および202を介する、設定データもしくは状態データおよび本来のデータの書込みおよび読取りについて詳しく説明する。この場合、データ一貫性が確保され、かつ同時に高い伝送速度が保証されるように、データ伝送に関する分離(Entkopplung)を形成することが目的となる。このプロセスの制御は、後述する図10、11および12でさらに詳細に説明されるように、メッセージハンドラ200を介して行われる。
図4、5および6では、まず、加入者CPUのホストCPU102による入力バッファメモリ201を介したメッセージメモリ300への書込みアクセスが詳細に説明される。このために、図4は通信モジュール100を再び示しており、説明の便宜上、通信モジュール100の関連部分のみが示される。まず、シーケンス制御の役割を果たすメッセージハンドラ200、2つの制御レジスタ403および404が示されており、制御レジスタは、図示するように、通信モジュール100内でメッセージハンドラ200の外部に設けられるが、メッセージハンドラ200の内部に設けられてもよい。この場合、制御レジスタ403が入力要求レジスタ(Input Buffer Command Request Register)であり、制御レジスタ404が入力マスクレジスタ(Input Buffer Command Mask Register)である。よって、メッセージメモリ300へのホストCPU102の書込みアクセスは、中間に接続された入力バッファメモリ201を介して行われる。入力バッファメモリ201は、特にサブバッファ400とそれに付属するシャドウバッファ401として、分割され、もしくは二重に設計される。よって、以下で説明するように、メッセージもしくはメッセージオブジェクトあるいはメッセージメモリ300のデータに対して、ホストCPU102の連続アクセスが可能となり、それによって、データ一貫性および加速された伝送が保証されうる。
アクセス制御は、入力要求レジスタ403および入力マスクレジスタ404により行われる。レジスタ403では、図5に示す符号0〜31によって、例えば32ビットの幅を有するレジスタ403の各ビット位置が示される。同様に、レジスタ404では、図6に示す符号0〜31によって、例えば32ビットの幅を有するレジスタ404の各ビット位置が示される。
例えば、レジスタ403のビット位置0〜5、15、16〜21および31は、シーケンス制御に関して特別な機能を有する。つまり、レジスタ403のビット位置0〜5には、メッセージ識別子としての識別子IBRH(Input Buffer Request Host)が入力可能である。同様に、レジスタ403のビット位置16〜21には、識別子IBRS(Input Buffer Request Shadow)が入力可能である。同様に、レジスタ403のビット位置15にはIBSYH、ビット位置31にはIBSYSがアクセス識別子として入力される。レジスタ404のビット位置0〜2も特徴を有しており、ビット位置0および1には、LHSH(Load Header Section Host)およびLDSH(Load Data
Section Host)によって、データ識別子としての他の識別子が入力される。これらのデータ識別子は、ここでは最も単純な形式、つまり各々に1ビットとして形成される。レジスタ404のビット位置2には、STXRH(Set Transmission X Request Host)によってスタート識別子が登録される。以下では、入力バッファ201を介したメッセージメモリ300への書込みアクセスのシーケンスについて説明する。
ホストCPU102が、伝送されるメッセージのデータを入力バッファメモリ201に書込む。この場合、ホストCPU102は、メッセージメモリ300のヘッダセグメントHSのためにメッセージの設定データおよびヘッダデータKD、またはメッセージメモリ300のデータセグメントDSのためにメッセージの伝送すべき本来のデータD、あるいは両方を書込むことができる。メッセージのどの部分、従って設定データおよび/または本来のデータが伝送されるかについては、入力マスクレジスタ404の特殊なデータ識別子LHSHおよびLDSHによって定められる。この場合、LHSHによって、ヘッダデータ、従って設定データKDが伝送されるかが定められ、LDSHによって、データDが伝送されるかが定められる。入力バッファメモリ201がバッファメモリ400とそれに付属するシャドウバッファ401とによって二分して形成され、交互アクセスが行われるので、LHSHおよびLDSHに対するペアとして、シャドウバッファ401に関連付けられる他の2つのデータ識別子領域が設けられる。レジスタ404のビット位置16および17のデータ識別子は、LHSS(Load Header Section Shadow)およびLDSS(Load Data
Section Shadow)と称される。これらによって、シャドウバッファ401に関する伝送プロセスが制御される。
開始ビットもしくはスタート識別子STXRHが入力マスクレジスタ404のビット位置2に設定されている場合、伝送される設定データおよび/または本来のデータがメッセージメモリ300に各々に伝送された後に、該当するメッセージオブジェクトのための送信要求(Transmission Request)が自動的に設定される。つまり、スタート識別子STXRHによって、伝送されるメッセージオブジェクトの自動送信が制御され、特に開始される。
シャドウバッファ401のための、それに対するペアは、スタート識別子STXRS(Set Transmission X Request Shadow)であって、例えば入力マスクレジスタ404のビット位置18に含まれており、ここでも最も単純な形式、同様に1ビットとして形成される。STXRSの機能は、STXRHの機能と同様であるが、シャドウバッファ401に関連する。
ホストCPU102がメッセージ識別子、特に入力バッファメモリ201のデータの伝送先となる、メッセージメモリ300内のメッセージオブジェクトの番号を、入力要求レジスタ403のビット位置0〜5、従ってIBRHに書込んだ場合、半円形の矢印で示唆されるように入力バッファメモリ201のサブバッファ400とそれに付属するシャドウバッファ401とが交換され、もしくは2つの部分メモリ400および401に対するホストCPU102およびメッセージメモリ300の各アクセスが交換される。この場合、例えばデータ伝送、従ってメッセージメモリ300へのデータ伝送も開始される。メッセージメモリ300へのデータ伝送自体は、シャドウバッファ401から開始される。同時に、レジスタ領域IBRHとIBRSとが交換される。同様に、LHSHおよびLDSHがLHSSおよびLDSSに交換される。同様に、STXRHがSTXRSに交換される。よって、IBRSは、メッセージの識別子、従ってシャドウバッファ401から伝送中のメッセージオブジェクトの番号、もしくはシャドウバッファ401の最新のデータ(KDおよび/またはD)を含む、メッセージメモリ300内の領域を示している。入力要求レジスタ403のビット位置31の識別子(ここでは、例えば1ビット)IBSYSによって、シャドウバッファ401が関与する伝送が行われているかが表示される。つまり、例えば、IBSYS=1であれば、シャドウバッファ401から伝送中であり、IBSYS=0であれば、伝送中ではない。ビットIBSYSは、例えば、シャドウバッファ401とメッセージメモリ300との間で伝送中であることを表示するために、IBRH、従ってレジスタ403のビット位置0〜5への書込みによって設定される。メッセージメモリ300へのデータ伝送が終了すると、IBSYSが再び初期化される。
シャドウバッファ401からのデータ伝送が進行中に、ホストCPU102は、次に伝送されるメッセージを入力バッファメモリ201もしくはサブバッファ400に書込める。例えばレジスタ403のビット位置15で他のアクセス識別子IBSYH(Input Buffer Busy Host)を用いて、識別子がさらに繊細化されうる。シャドウバッファ401とメッセージメモリ300との間で伝送が進行中に、従ってIBSYS=1である場合に、ホストCPU102がIBRH、従ってレジスタ403のビット位置0〜5に書込むと、入力要求レジスタ403でIBSYHが設定される。進行中の伝送が終了するとすぐに、要求された伝送(前述されたSTXRHによる要求)が開始され、ビットIBSYHが初期化される。データがメッセージメモリに伝送されていることを表示するために、伝送中において、ビットIBSYSが設定された状態にある。この場合、全ての実施例で使用される全てのビットは、1ビット以上の識別子としても形成されうる。記憶および処理の効率化の観点より、1ビットによる解決が効果的である。
前述されたメカニズムによって、ホストCPU102は、ヘッダ領域HBおよびデータ領域DBからなる、メッセージメモリ300内のメッセージオブジェクトにデータを連続的に伝送することが可能となる。この場合、入力バッファメモリ201へのホストCPU102のアクセス速度がFlexRay−IPモジュール、従って通信モジュール100の内部におけるデータ伝送速度より低い、または等しいことを前提とする。
図7、8および9では、ホストCPUもしくは加入者CPU102による出力バッファメモリ202を介したメッセージメモリ300への読取りアクセスが詳細に説明される。このために、図7は通信モジュール100を再び示しており、説明の便宜上、通信モジュール100の関連部分のみが示される。まず、シーケンス制御の役割を果たすメッセージハンドラ200、2つの制御レジスタ703および704が示されており、制御レジスタは、図示のように、通信モジュール100内でメッセージハンドラ200の外部に設けられるが、メッセージハンドラ200の内部に設けられてもよい。この場合、制御レジスタ703が出力要求レジスタ(Output Buffer Command Request Register)であり、制御レジスタ704が出力マスクレジスタ(Output Buffer Command Mask Register)である。よって、メッセージメモリ300へのホストCPU102の読取りアクセスは、中間に接続された出力バッファメモリ202を介して行われる。出力バッファメモリ202は、同様に、特にシャドウバッファ700とそれに付属するサブバッファ701として、分割され、もしくは二重に設計される。よって、ここでも以下で説明するように、メッセージもしくはメッセージオブジェクトあるいはメッセージメモリ300のデータに対して、ホストCPU102の連続アクセスが可能となり、それによって、メッセージメモリ300からホスト102への逆方向でデータ一貫性および加速された伝送が保証されうる。アクセス制御は、出力要求レジスタ703および出力マスクレジスタ704を介して行われる。レジスタ703では、図8に示す符号0〜31によって、例えば32ビットの幅を有するレジスタ703の各ビット位置が示される。同様に、レジスタ704でも、図9に示す符号0〜31によって、例えば32ビットの幅を有するレジスタ704の各ビット位置が示される。
例えば、レジスタ703のビット位置0〜5、8、9、15および16〜21は、読取りアクセスのシーケンス制御に関して特別な機能を有する。つまり、レジスタ703のビット位置0〜5には、メッセージ識別子としての識別子OBRS(Output Buffer Request Shadow)が入力可能である。同様に、レジスタ703のビット位置16〜21には、識別子OBRH(Output Buffer Request Host)が入力可能である。同様に、レジスタ703のビット位置15には、アクセス識別子として識別子OBSYS(Output Buffer Busy Shadow)が入力可能である。出力マスクレジスタ704のビット位置0および1も特徴を有しており、ビット位置0および1には、RHSS(Read Header Section Shadow)およびRDSS(Read Data
Section Shadow)によって、データ識別子としての他の識別子が入力される。例えばビット位置16および17には、RHSH(Read Header Section Host)およびRDSH(Read Data
Section Host)によって、他のデータ識別子が設けられる。これらのデータ識別子は、ここでも最も単純な形式、つまり各々に1ビットとして形成される。レジスタ703のビット位置9には、スタート識別子REQが登録される。さらに、例えばレジスタ703のビット位置8に登録される、切替識別子VIEWが設けられる。
ホストCPU102は、要求するメッセージの識別子、特に要求するメッセージオブジェクトの番号を、OBRS、従ってレジスタ703のビット位置0〜5に書込むことによって、メッセージメモリ300にメッセージオブジェクトのデータを要求する。この場合、ホストCPUは、反対方向と同様に、ヘッダ領域からメッセージの状態データもしくは設定データおよびヘッダデータKDを、またはデータ領域からメッセージの伝送すべき本来のデータDを、あるいは両方を読取ることができる。この場合に、ヘッダ領域および/またはデータ領域から伝送されるデータの部分は、逆方向と同様に、RHSSおよびRDSSによって設定される。つまり、RHSSはヘッダデータが読取られるか否かを表し、RDSSは本来のデータが読取られるか否かを表す。
スタート識別子は、メッセージメモリ300からシャドウバッファ700への伝送を開始させるために用いられる。つまり、識別子として、最も簡単な形式で1ビットが使用される場合、出力要求レジスタ703のビット位置9にビットREQが設定されることによって、メッセージメモリ300からシャドウバッファ700への伝送が開始される。進行中の伝送は、アクセス識別子として、最も簡単な形式で、レジスタ703のビットOBSYSによって表示される。データ衝突を回避するために、OBSYSが設定されておらず、従って伝送が進行中でない場合にのみ、ビットREQが設定可能であれば効果的である。ここでは、その後、メッセージメモリ300とシャドウバッファ700との間のメッセージ伝送も行われる。本来のシーケンスは、一方では、図4、5および6の表示とは反対方向で制御され(相補的なレジスタ配置)、かつ実行され、または、他方では、付加的な識別子、つまりレジスタ703のビット位置8の切替識別子VIEWによって実行されうる。つまり、伝送の終了後に、ビットOBSYSが初期化され、出力要求レジスタ703にビットVIEWを設定することによって、サブバッファ701とそれに付属するシャドウバッファ700とが交換され、もしくはそれらに対するアクセスが交換されて、ホストCPU102は、メッセージメモリ300から要求されたメッセージオブジェクト、従って該当するメッセージをサブバッファ701から読取ることができる。この場合、ここでも、図4〜6の逆方向の伝送と同様に、レジスタセルOBRSとOBRHとが交換される。同様に、RHSSおよびRDSSがRHSHおよびRDSHに交換される。ここでも、OBSYSが設定されておらず、従って伝送が進行中でない場合にのみ、ビットVIEWが設定可能となることで、保護機構として設けられうる。
よって、メッセージメモリ300へのホストCPU102の読取りアクセスは、中間に接続された出力バッファメモリ202を介して行われる。出力バッファメモリ202は、入力バッファメモリ201と同様に、メッセージメモリ300内に格納されたメッセージオブジェクトへのホストCPU102の連続アクセスを保証するために、二分され、もしくは二重に設計される。ここでも、高いデータ一貫性および加速された伝送という利点が得られる。
前述された入力バッファ201および出力バッファ202を用いることによって、モジュール内部の待機時間にもかかわらず、割込みされることなしに、ホストCPU102によるメッセージメモリ300へのアクセスが確保される。
データ一貫性を確保するために、データ伝送、特に通信モジュール100内の転送(Weiterleitung)がメッセージハンドラ200(Message Handler; MHD)によって行われる。このために、図10には、メッセージハンドラ200が示される。メッセージハンドラ200は、機能性に関して、複数のステートマシーンまたはステートオートマトン、従って有限オートマトン、いわゆる有限ステートマシーン(FSM)によって表示可能である。この場合、少なくとも3つのステートマシーン、特に望ましい実施例では4つの有限ステートマシーンが設けられる。第1の有限ステートマシーンがIOBF−FSM(Input/Output Buffer State Machine)501で示される。IOBF−FSMは、入力バッファメモリ201または出力バッファメモリ202に関する各伝送方向に応じて、2つの有限ステートマシーン、IBF−FSM(Input Buffer FSM)とOBF−FSM(Output Buffer FSM)とに分割可能であり、それによって最大5つのステートオートマトン(IBF-FSM, OBF-FSM, TBF1-FMS, TBF2-FSM, AFSM)が考えられる。しかし、全てに共通してIOBF−FSMが設けられることが望ましい。ここでは、少なくとも第2の有限ステートマシーンは、望ましい実施例の特徴として図2に記述するように、2つのブロック502および503に分割されており、メモリ205および206に関する2つのチャネルAおよびBを操作する。この場合、2つのチャネルを操作するために、1つの有限ステートマシーンを設けることができ、または、望ましい形式として、チャネルAのための有限ステートマシーンTBF1−FSM(Transient Buffer 1(206, RAM A)ステートマシーン)502と、チャネルBのためのTBF2−FSM(Transient Buffer 2(205, RAM B)ステートマシーン)503とが示される。
望ましい実施例では、3つの有限ステートマシーン501〜503のアクセスを制御するために、アービター有限ステートマシーン、いわゆるAFSM500が用いられる。データ(KDおよび/またはD)は、通信モジュール100内で、例えばVCO(Voltage controlled oscillator)、振動クォーツなどのようなクロック手段によって生成された、またはそれらに基づいて適合されたクロックで伝送される。この場合、クロックTは、モジュール内で生成可能であり、または例えば、外部からのバスクロックとして設けられうる。アービター有限ステートマシーンAFSM500は、3つの有限ステートマシーン501〜503のいずれか1つに対して、特にクロック周期T毎に、メッセージメモリ300へのアクセス権を交互に与える。つまり、使用可能な状態にある時間が、各ステートオートマトン501、502、503のアクセス要求に応じて、要求するステートオートマトンに割当てられる。有限ステートマシーンのいずれか1つのみからアクセス要求が行われた場合、その有限ステートマシーンがアクセス時間の100%、従って全てのクロックTを取得する。2つのステートオートマトンからアクセス要求が行われた場合、各有限ステートマシーンがアクセス時間の50%を取得する。そして、3つのステートオートマトンからアクセス要求が行われた場合、各有限ステートマシーンがアクセス時間の1/3を取得する。これによって、使用可能な各帯域幅が最適に使用される。
第1の有限ステートマシーン501、従ってIOBF−FSMは、必要に応じて以下の動作を実行する:
−入力バッファメモリ201からメッセージメモリ300内の選択されたメッセージオブジェクトへのデータ伝送
−メッセージメモリ300内の選択されたメッセージオブジェクトから出力バッファメモリ202へのデータ伝送
チャネルAのためのステートマシーン502、従ってTBF1−FSMは、以下の動作を実行する:
−メッセージメモリ300内の選択されたメッセージオブジェクトからチャネルAのバッファメモリ206へのデータ伝送
−バッファメモリ206からメッセージメモリ300内の選択されたメッセージオブジェクトへのデータ伝送
−メッセージメモリ300内での適切なメッセージオブジェクトのサーチ、その場合、受信に際しては、許容フィルタリングの範囲内で、チャネルAで受信されるメッセージを格納するためのメッセージオブジェクト(受信バッファ)がサーチされ、送信に際しては、チャネルAで送信される後続のメッセージオブジェクト(送信バッファ)がサーチされる。
TBF2−FSM、従ってブロック503のチャネルBのための有限ステートマシーンの動作も同様である。TBF2−FSMは、メッセージメモリ300内の選択されたメッセージオブジェクトからチャネルBのバッファメモリ205へのデータ伝送と、バッファメモリ205からメッセージメモリ300内の選択されたメッセージオブジェクトへのデータ伝送を実行する。サーチ機能についても、TBF1−FSMと同様に、メッセージメモリ300内の適切なメッセージオブジェクトがサーチされ、その場合に受信に際しては、許容フィルタリングの範囲内で、チャネルBで受信されるメッセージを格納するためのメッセージオブジェクト(受信バッファ)がサーチされ、送信に際しては、チャネルBで送信される後続のメッセージもしくはメッセージオブジェクト(送信バッファ)がサーチされる。
図11には、シーケンスおよび伝送路が再び示される。3つのステートマシーン501〜503が、各コンポーネントの間の各データ伝送を制御する。この場合、ホストCPU102、入力バッファメモリ201、および出力バッファメモリ202が示される。また、メッセージメモリ300、チャネルAおよびチャネルBのための2つのバッファメモリ206および205が示される。インタフェース207および208も、同様に示される。第1のステートオートマトンIOBF−FSM501は、データ伝送Z1A、従って入力バッファメモリ201からメッセージメモリ300への伝送と、データZ1B、従ってメッセージメモリ300から出力バッファメモリ202への伝送を制御する。この場合、データ伝送は、例えば32ビットのワード長を有するデータバスを介して実行されるが、他のビット数でも実行可能である。メッセージメモリ300とバッファメモリ206との間の伝送Z2についても、同様である。データ伝送は、TBF1−FSM、従ってチャネルAのためのステートマシーン502によって制御される。メッセージメモリ300とバッファメモリ205との間の伝送Z3は、ステートオートマトンTBF2−FSM503によって制御される。ここでも、データ伝送は、例えば32ビットのワード長を有するデータバスを介して実行されるが、他のビット数でも実行可能である。通常、前述した伝送路を介して完全なメッセージオブジェクトを伝送するには、複数のクロック周期Tが必要とされる。よって、アービター、従ってAFSM500によって、クロック周期Tに関連する伝送時間の分割が行われる。図11には、メッセージハンドラ200によって管理されるメモリコンポーネント間のデータ経路が示される。メッセージメモリ300内に記憶されているメッセージオブジェクトのデータ一貫性を確保するために、望ましくは、図示される経路、従ってZ1AおよびZ1B、ならびにZ2およびZ3のいずれか1つのみで、同時にデータが交換される。
図12には、使用可能な状態にあるシステムクロックTがアービター、従ってAFSM500によって、3つの要求するステートオートマトンに対してどのように分割されるかが例示される。第1の段階では、ステートオートマトン501および502によるアクセス要求が行われ、つまり、全アクセス時間が2つの要求するステートオートマトンに50%ずつ分割される。第1の段階のクロック周期に関して、ステートオートマトン501がクロック周期T1およびT3でアクセスを取得し、ステートオートマトン502がクロック周期T2およびT4でアクセスを取得する。第2の段階では、ステートオートマトン501によるアクセス要求のみが行われるので、3つのクロック周期の全て、従ってT5〜T7のアクセス時間の100%をIOBF−FSMが取得する。第3の段階では、3つのステートオートマトン501〜503の全てによるアクセス要求が行われるので、全アクセス時間が3分割される。この場合、アービターAFSM500は、全アクセス時間を、例えば、クロック周期T8およびT11で有限ステートマシーン501が、クロック周期T9およびT12で有限ステートマシーン502が、クロック周期T10およびT13で有限ステートマシーン503が各々にアクセスを取得するように分割する。そして、第4の段階では、通信モジュール100の2つのチャネルAおよびB上で、2つのステートオートマトン502および503によるアクセスが行われるので、クロック周期T14およびT16で有限ステートマシーン502が、T15およびT17で有限ステートマシーン503が各々にアクセスを取得するように分割される。
よって、2つ以上のステートマシーンがメッセージメモリ300にアクセスを要求した場合には、アービターステートオートマトンAFSM500によって、アクセスは、クロック単位で交互に、要求したステートマシーンに分割される。この方法により、メッセージメモリ300内に格納されたメッセージオブジェクトの一貫性、従ってデータ一貫性が確保される。例えば、受信されたメッセージがメッセージオブジェクト内に書込まれている最中に、ホストCPU102が出力バッファメモリ202を介して当該メッセージオブジェクトを読取ろうとした場合、最初に開始された要求に応じて古い状態または新たな状態が読取られるので、メッセージメモリ300内のメッセージオブジェクト内でのアクセス自体が衝突しない。
前述した方法は、ホストCPU102が動作の進行中にメッセージメモリ300内の各任意のメッセージオブジェクトを読取り、または書込むことを可能にし、ホストCPU102のアクセスが継続中には、例えばFlexRayバス101の2つのチャネル上のデータ交換に際して、選択されたメッセージオブジェクトが加入者によって遮断される(Buffer Locking)ことがない。同時に、クロック単位でアクセスを入れ子にすることによって、メッセージメモリ300内に格納されているデータの一貫性が確保され、全帯域幅の使用によっても、伝送速度が向上する。
上記の記載において、加入者(Teilnehmer:加入者装置、ホスト)、加入者のマイクロプロセッサ(ホストCPU)の双方に符号102が付され、等価のものとして示されている。しかし、本発明に関する以下の記載においては、双方を区別することが必要である。従って、FlexRay加入者全体を表す場合には符号900が付され、加入者900のマイクロプロセッサ(ホストCPU)を表す場合には符号102が付される。詳細に解説するために、従来技術で公知の加入者900を示した図17を参照する。
公知の加入者900は、マイクロコントローラ800と、DMA(Direct Memory Access)コントローラ810と、周辺バス820と、複数のFlexRay通信コントローラ、つまり、図示される実施形態においては3つのFlexRay通信コントローラ750a、750b、750cとを含んでいる。周辺バス820は、任意の内部データバスとして構成されることが可能である。符号900が付された全体部分は、通常、1つの同一の半導体製造者によって製造されるので、多くの場合、周辺バスとして、独自の(proprietaer)データバスが使用される。つまり、全体部分900内の内部要素800、810および750は、周辺バス820を介して通信する必要がある。
DMAコントローラ810は、任意に使用される。マイクロコントローラ800と複数の通信コントローラのうちの1つとの間でのデータ伝送、または、複数の通信コントローラ750の間でのデータ伝送が、DMAコントローラ810が無くても機能する、加入者900も公知である。
マイクロコントローラ800は、マイクロプロセッサ102(ホストCPU)と、メモリ部802と、コア・バス804とを含んでいる。メモリ部802は、例えば、「デュアルポート・密結合メモリ(dual ported Tightly Coupled Memory; TCM)」として実現されることが可能である。マイクロコントローラ800は、マイクロプロセッサ102のアクティブインタフェース「a」およびメモリ部802のパッシブインタフェース「p」を介して、周辺バス820へ接続されている。DMAコントローラ810が設けられている場合、DMAコントローラ810も、アクティブインタフェース「a」およびパッシブインタフェース「p」を介して、周辺バス820へ接続されている。しかし、公知の加入者900の場合、通信コントローラ750は、パッシブインタフェース「p」を介してのみ、周辺バス820に接続されている。換言すれば、マイクロコントローラ800およびDMAコントローラ810は、マスタとして周辺バス820へ接続されているのに対して、通信コントローラ750は、スレーブとしてバス820に接続されている。
マイクロプロセッサ102は、個々の通信コントローラ750を設定し(konfigurieren)、管理し(kontrollieren)、制御する。マイクロプロセッサ102は、受信されたメッセージを読出し、処理し、評価する。さらに、新規メッセージを計算し、生成し、通信接続101を介して送信するメッセージの書込みを行う。従って、例えば、簡単なFlexRay動作の場合、受信されたデータを通信コントローラ750から読出し、1つまたは複数の他の送信用通信コントローラ750に書込むことが、多くの場合必要である。DMAコントローラ810を使用せずに加入者900の内部にゲートウェイ機能を実現するために、マイクロプロセッサ102は、通信コントローラ750から(点線a)、マイクロプロセッサ800のメモリ部802(点線f)またはCPU内部のメモリ(図示されていない)へ、ワード単位でデータを伝送する。従って、場合によってデータは処理され、引き続いて対応する通信コントローラ750へ複写される(点線g)ことが可能である。その際、マイクロプロセッサ102のクロックレートが今日一般的であるように高い場合、複数の待機サイクルが発生する。待機サイクルの間、マイクロプロセッサ102は、データ伝送の終了に備えて待機する。つまり、マイクロプロセッサ102はロックされており(blockieren)、他のタスクに対応することができない。
DMAコントローラ810が使用される場合、DMAコントローラ810は、マイクロコントローラ800のメモリ部802と通信コントローラ750との間のデータ伝送を実行することが可能である。データ伝送は、マイクロプロセッサ102によって設定され(konfigurieren)、開始される(点線b)。その後、DMAコントローラ810は、通信コントローラ750から(点線c)マイクロコントローラ800のメモリ部802へ(点線d)ワード単位でデータを伝送し、または、直接的に複数の通信コントローラ750(点線h)の間でワード単位でデータを伝送する。データ伝送の終了は、割込みによって、マイクロプロセッサ102に通知される(点線e)。引き続いて、マイクロプロセッサ102は、次のメッセージのためのプロセスを新たに開始する。割込みの実行によって、複数のCPU命令が生成される。CPU命令によって、マイクロプロセッサ102の大部分の演算および記憶リソースが拘束される(gebunden)。さらに、頻繁な割込みによって、中断されたソフトウェアタスクのジッタ(実行時間に関する時間的な不安定さ)が増加する。
図13には、FlexRay通信システムの本発明の一実施形態に基づく加入者900が示されている。2つの通信コントローラ750、つまり、通信コントローラ750aおよび通信コントローラ750cが、パッシブインタフェース「p」およびアクティブインタフェース「a」を介して、周辺バス820に接続されているのが明確に分かる。つまり、通信コントローラ750a、750cは、スレーブではなくマスタとして、周辺バス820に接続されている。従って、通信コントローラ750a、750cは、周辺バス820に接続された他のモジュール(マイクロコントローラ800または他の通信コントローラ750等)の命令およびデータを受信、処理するだけではなく、受信されたメッセージ(データおよび命令)を独自に評価し、新規メッセージを計算し、周辺バス820を介して、マイクロコントローラ800または他の通信コントローラ750に新規メッセージを送信することが可能である。
マイクロプロセッサ102は、通信コントローラ750、および、アクティブインタフェース「a」の設定データ(Konfigurationsdaten)を構成し、管理する(kontrollieren)(点線a)。マイクロプロセッサ102は、既に受信され、自動的にメモリ部802に複写された(点線b)メッセージオブジェクトを読出し、評価し、処理する(点線c)。さらに、新規メッセージオブジェクトを計算し、生成し、メモリ部802内に格納する(点線c)。さらに、対応する通信コントローラ750がメモリ部802から独自のメッセージメモリ300に目下のデータを伝送できるという情報が、対応する通信コントローラ750に与えられる(点線a)。伝送は、通信コントローラ750a、750cによって自動的に行われる。メッセージメモリ300は、設定および状態情報と共に、メッセージオブジェクト(メッセージバッファ)を保存する。
従来技術で公知の実装に追加して、通信コントローラ750a、750cはそれぞれ、アクティブインタフェース「a」を有している。アクティブインタフェース「a」を介して、コントローラ750に組込まれたロジックは単独で、メッセージメモリ300からメッセージオブジェクトを読出し、対応するターゲット(メモリ部802、または他の通信コントローラ750のメッセージメモリ300)へ書込むことが可能である。同様に、アクティブインタフェース「a」を介して、コントローラ750に組込まれたロジックは、ソース(メモリ部802、または他の通信コントローラ750のメッセージメモリ300)からメッセージオブジェクトを読出し、メッセージメモリ300へ書込むことも可能である。メモリ部802へのルーティング、またはメモリ部802からのルーティングは、点線bで示されており、複数の通信コントローラの間でのルーティングは、点線dで明示されている。その際、通信コントローラ750a、750cのアクティブインタフェース「a」は、(制御しているマイクロコントローラ800または他の制御ユニットによるトリガなしに)、アクティブインタフェース「a」が単独で他のモジュール(通信コントローラ750b等)にデータを要求することが可能であるように、構成されている。本発明においては、全モジュールがアクティブインタフェース「a」を有する必要はない。
データ伝送を開始するために、通信コントローラ750a、750cは、マイクロコントローラ800のメモリ部802内に、または複数の通信コントローラ750のうちの1つのメッセージメモリ300内に、新規データが到着したか否かを、アクティブインタフェース「a」を用いて定期的に検査する。特に、新規メッセージオブジェクトがメモリ部802内に格納されたか、および/または、複数の通信コントローラ750のうちの1つのメッセージメモリ300の出力バッファ(OBF)202のための制御レジスタ703、704が、新規メッセージオブジェクトを表示しているか否かが検査される。
750aのメッセージメモリから他の通信コントローラ750b、750cのメッセージメモリへデータをアクティブに複写し、および/または、他の通信コントローラ750b、750cのメッセージメモリからデータをアクティブに複写するための本発明に基づく方法は、時間制御で(例えば周期的に)、データ、特にメッセージの受信によって、受信されたデータの変更によって、他の通信コントローラ750b、750cのうちの1つによるトリガによって、または、通信コントローラ750aのマイクロプロセッサ102によるトリガによって、開始される/引起こされることが可能である。このトリガには、通常、ロジックへの特別なスタート命令の転送が含まれる。
図14では、本発明の一実施形態に基づく加入者900内でのルーティングされたデータの可能な伝送経路が示されている。上記のように、通信コントローラ750は、メッセージメモリ300を含んでおり、バッファ、特に少なくとも1つの入力バッファ201および少なくとも1つの出力バッファ202を含むことが可能である。通信コントローラ750の具体的な実施形態に応じて、通信コントローラ750aのロジックは、アクティブインタフェース「a」によって、例えば、
−メッセージメモリ300aとマイクロコントローラ800のメモリ部802との間の伝送経路(通常は通信モジュール100の初期化の期間中、それ以外の場合にはハードウェアの特別な構成が必要である。)
−メモリ部802から入力バッファ201aへの伝送経路
−他の通信コントローラ750cの出力バッファ202cから入力バッファ201aへの伝送経路
−出力バッファ202aからメモリ部802への伝送経路
−出力バッファ202aから他の通信コントローラ750cの入力バッファ201cへの伝送経路
−メッセージメモリ300aおよび300cから、出力バッファ202aまたは202cへの伝送経路、および、
−入力バッファ201aおよび201cから、メッセージメモリ300aまたは300cへの伝送経路
において、データをルーティングすることが可能である。
対応する方法において、他の通信コントローラ750cのロジックは、アクティブインタフェース「a」によって、例えば、
−メッセージメモリ300cとマイクロコントローラ800のメモリ部802との間の伝送経路(通常は通信モジュールの初期化の期間中)
−メモリ部802から入力バッファ201cへの伝送経路
−通信コントローラ750aの出力バッファ202aから入力バッファ201cへの伝送経路
−出力バッファ202cからメモリ部802への伝送経路
−出力バッファ202cから他の通信コントローラ750aの入力バッファ201aへの伝送経路
−メッセージメモリ300aおよび300cから、出力バッファ202aまたは202cへの伝送経路、および、
−入力バッファ201aおよび201cから、メッセージメモリ300aまたは300cへの伝送経路
において、データをルーティングすることが可能である。
図15では、アクティブインタフェース「a」を有する本発明の一実施形態に基づく通信コントローラ750のブロック図が示されている。加入者またはカスタマに依存するインタフェース204は、図16で詳細に示される。図16全体は、例えば図13に基づく加入者900内で(本発明の一実施形態に基づく通信コントローラ750が)使用されているように、本発明の一実施形態に基づく通信コントローラ750が使用される様子を示している。FlexRay通信コントローラ750は、既に詳細に説明されたように、FlexRay通信モジュール100を含んでいる。前述したように、FlexRay通信モジュール100は、接続されるマイクロコントローラ800に依存せずに常に同一に構成可能な汎用の部分要素(図16の符号840)と、カスタマまたは加入者専用の部分要素204とに区分されている。汎用の構成要素840は、通信コントローラ・コアとも呼ばれる。通信モジュール100の汎用の構成要素840に関しては、図16において、汎用のインタフェース(GIF)203および、メッセージメモリ300の前に配置されたバッファ201、202が例示されている。入力バッファ201は、メッセージメモリ300へ伝送するためのメッセージを一時格納する役目を果たす。出力バッファ202は、メッセージメモリ300からマイクロコントローラ800への伝送のための、または、メッセージメモリ300から加入者900の他の通信コントローラ750のメッセージメモリ300への伝送のためのメッセージを一時格納する役目を果たす。当然のことながら、図16の通信モジュール100は、図2に示された全要素またはいくつかの要素を含むことが可能である。
通信モジュール100の汎用の構成要素840は、汎用インタフェース203(GIF)を介して、通信モジュール100の加入者専用の部分要素である加入者専用インタフェース204(CIF)に接続されている。汎用インタフェース203は、加入者専用インタフェース204を介して、カスタマに依存する異なるホストCPU102に接続される。通信コントローラ750のロジックは、加入者専用インタフェース(CIF)において、ルーティング装置830(ルーティングエンジン、RE)の形態で構成されている。加入者専用インタフェース204は、マイクロプロセッサ102の周辺データバス820を、FlexRay通信コントローラ・コア840の汎用インタフェース203(GIF)と接続する。さらに、制御および状態情報が格納されている制御および状態レジスタ(Kontroll-und Statusregister)838と、ルーティング情報が格納されているルーティングメモリ842とが設けられている。レジスタ838およびメモリ842は、メモリの特定の記憶領域として、またはフリップフロップとして構成されることが可能である。
通信コントローラ750のパッシブインタフェース「p」が符号832で、アクティブインタフェース「a」が符号834で示されている。パッシブインタフェース832は、通信コントローラ750を、他のモジュール(アクティブインタフェース834を有するマイクロコントローラ800、または、アクティブインタフェース834を有する通信コントローラ750a、750cのうちの1つ等)のアクティブインタフェース「a」と接続する。パッシブインタフェース832自体は、伝送を開始することができないので、常に、他のモジュールによって開始される必要がある。パッシブインタフェース832を介して、アクティブモジュールは、通信コントローラ750に対して、つまり、制御および状態レジスタ838内の制御および状態情報に対して、および、ルーティングメモリ842内のルーティング情報に対してアクセスすることが可能である。パッシブインタフェース832は、使用されるオンチップ周辺バス820に依存する。
アクティブインタフェース834自体は、単独で、データ伝送を開始することが可能である。従って、アクティブインタフェース834が、独自に他のモジュール(マイクロコントローラ800、または複数の通信コントローラ750のうちの1つ等)にデータを要求する、または、他の記憶領域(メモリ部802、または他の通信コントローラ750のメッセージメモリ300等)にデータを書込むことが可能である。その際、ターゲットとなる装置(Gegenstelle)がアクティブモジュールか、パッシブモジュールであるかは重要ではない。インタフェース834は、ルーティングエンジン830の排他的制御下に置かれている。アクティブインタフェース834の設定(Konfiguration)は、制御および状態レジスタ838を介して、マイクロプロセッサ102(ホストCPU)によって行われる。アクティブインタフェース834は、利用されるオンチップ周辺バス820に依存する。
ルーティングエンジン830は、メッセージの伝送を単独で開始可能なステートマシーンを含んでいる。データ伝送の開始は、例えば統合型タイミングジェネレータ(Timer)844を介して時間制御で、または、メッセージの受信によって、または、アクティブインタフェース「a」を有する他のモジュールによる(例えば、メッセージ処理後のマイクロプロセッサ102による)トリガによって、行われることが可能である。アクティブインタフェース「a」は、通信コントローラ750内でのメッセージの読込み/記憶、および、モジュールへの伝送および/またはモジュールからの伝送を制御する。ルーティングエンジン830は、対応する複写および再配置動作(Kopier- und Verschiebeoperationen)によって、断片からなるメッセージをまとめて新規メッセージを作成することが可能である。新規メッセージは、メモリ部802内に、または、他の通信コントローラ750のメッセージメモリ300内に格納されている、または格納される。
データ伝送を制御するために、マイクロプロセッサ102(ホストCPU)による開始の際に、対応するルーティング情報がルーティングメモリ842に書込まれる。ルーティング情報によって、ルーティングエンジンは、メッセージの受信の際に、または時間制御で、データ伝送を開始することが可能である。追加的に、他のモジュールは、メッセージ処理に対する命令(Anweisung)を格納することが可能である。メッセージ処理に対する命令は、その後、ルーティングエンジンによって実行される。制御、(非)作動、および属性(Eigenschaft)/状態表示のために、制御および状態情報が含まれている。
アービター836は、(パッシブインタフェース832を介して)マイクロプロセッサ102と、ルーティングエンジン830とによる、通信コントローラ・コア840の汎用インタフェース203(GIF)への同時アクセスに対する問い合わせを制御する。各アクティブモジュール内に格納された情報、および、単独でのデータ伝送のために実装されたロジックに基づいて、分散型ルーティングについて説明することが可能である。つまり、集中ノード、および、ネットワーク全体に関する情報を有する通信コントローラ750は存在しない。ルーティング・インテリジェンスをネットワークの複数のモジュールに分散することによって、モジュールが故障したとしても必ずしも加入者内の全ルーティング動作の崩壊に繋がらないので、加入者の稼動性を改善することが可能である。
個々のモジュール間でのデータスループットを向上させるために、クロスバースイッチ・ネットワークを利用することが可能である。このネットワークは、異なる通信チャネルを同時に開放することを可能にする。その際、(システム構成に応じて)2つまたは複数のマスタ(マイクロプロセッサ102、またはアクティブインタフェース「a」を有する通信コントローラ750a、750c)は、各々に更なる別のモジュール(マスタまたはスレーブ)へのデータ伝送路を確立し、データを伝送することが可能である。同一モジュールへの同時アクセスは、優先順位がつけられる/仲裁される、さらに、順次に実行される必要がある。稼働中のタスクは、フラグまたはセマフォによって通知されることが可能である。従って、システム全体の可能な帯域幅が、複数倍に増加する。同様に、マイクロプロセッサ102の待機時間、およびルーティング中に中断されたソフトウェアタスクのジッタが低減される。
メッセージ受信後のアクティブな複写のために、アクティブインタフェース「a」を有する特定の通信コントローラ(通信コントローラ750a等)のルーティングエンジン830は、通信コントローラ750aのメッセージメモリ300aから、他の通信コントローラ750bのメッセージメモリ300bもしくは他の通信コントローラ750cのメッセージメモリ300cへ伝送するために、または、通信コントローラ750aのメッセージメモリ300aからマイクロコントローラ800のメモリ部802へメッセージを伝送するために、(タイミングジェネレータ844の所定値の経過に基づいて)時間制御で、または、アクティブインタフェース「a」を有する他の通信コントローラ(通信コントローラ750c等)によるトリガに基づいて、または、マイクロプロセッサ102(ホストCPU)によって、連続する以下の工程を単独で制御する。つまり、
−通信コントローラ750aの出力バッファ202a内の受信されたメッセージオブジェクトを可視化する(Sichtbarmachen)工程と、
−アクティブインタフェース834を介する書込みアクセスによって、他の通信コントローラ750bの入力バッファ201b内に、もしくは、他の通信コントローラ750cの入力バッファ201c内に、または、マイクロプロセッサ102に割当てられたメモリ部802の構成可能なアドレス領域内に、受信されたメッセージオブジェクトの複写を格納する工程と、
−第2の通信コントローラ750bまたは750cへの伝送の際に、入力バッファ201bまたは201cから、第2の通信コントローラ750bのメッセージメモリ300bまたは第2の通信コントローラ750cのメッセージメモリ300cへのメッセージオブジェクトの伝送を開始する工程と、
を単独で制御する。
メッセージの受信後に、アクティブインタフェース「a」を有する特定の通信コントローラ(通信コントローラ750a等)のルーティングエンジン830は、他の通信コントローラ750bのメッセージメモリ300bまたは他の通信コントローラ750cのメッセージメモリ300cから、独自のメッセージメモリ300aへメッセージを伝送するために、もしくは、マイクロコントローラ800のメモリ部802から独自のメッセージメモリ300aへメッセージを伝送するために、(タイミングジェネレータ844の所定値の経過に基づいて)時間制御で、または、アクティブインタフェース「a」を有する他の通信コントローラ(通信コントローラ750c等)によるトリガに基づいて、または、マイクロプロセッサ102によって(トリガは、記憶領域およびデータ量等の設定データを制御レジスタ838に書込むことによって行われる。)、連続する以下の工程を単独で制御する。つまり、
−データが他の通信コントローラ750bまたは750cから通信コントローラ750aへ伝送される必要がある場合に、他の通信コントローラ750bの出力バッファ202b内、または、他の通信コントローラ750cの出力バッファ202c内のデータ(メッセージオブジェクト)を可視化する工程と、
−アクティブインタフェース「a」を介する構成可能なアドレス領域への読出しアクセスによって、独自の入力バッファ201a内に、メモリ部802の内容の複写、もしくは、他の通信コントローラ750bの出力バッファ202b、または他の通信コントローラ750cの出力バッファ202cの内容の複写を格納する工程と、
−バッファ201aから通信コントローラ750aのメッセージメモリ300aまたは通信モジュール100aのメッセージメモリ300aへの格納されたデータの伝送を開始する工程と、
を単独で制御する。
前述されたアクティブインタフェース834を、ルーティングエンジン830の形態のロジックと共に利用することによって、以下の利点が得られる。
−マイクロプロセッサ102は、外部のDMAコントローラ(図17の符号810参照)を介したアクセスと比較して、割込みによる大きな負荷から解放される。
−割込みによる負荷がより小さくなることによって、タスクジッタがより小さくなり、従って、システム全体の予測可能性(Vorhersagbarkeit)が改善される。
−メモリ部802内のメッセージの複写にアクセスすることによって、より大きなアクセス帯域幅が可能になる。
−より大きなアクセス帯域幅によって、マイクロプロセッサ102は、より多くの計算時間を他のタスクのために使用できる(プロセッサ102の待機時間が低減される。)。
FlexRay通信システムの通信モジュール、および通信モジュールと通信接続および通信/ホスト加入者との接続を概念的に示す説明図である。 図1に示す通信モジュールおよび通信モジュールの接続を特別な実施例で詳細に示す説明図である。 図2に示す通信モジュールのメッセージメモリの構成を示す説明図である。 加入者からメッセージメモリの方向へデータアクセスする際の構成およびシーケンスを示す説明図である。 加入者からメッセージメモリの方向へデータアクセスする際の構成およびシーケンスを示す説明図である。 加入者からメッセージメモリの方向へデータアクセスする際の構成およびシーケンスを示す説明図である。 メッセージメモリから加入者の方向へデータアクセスする際の構成およびシーケンスを示す説明図である。 メッセージメモリから加入者の方向へデータアクセスする際の構成およびシーケンスを示す説明図である。 メッセージメモリから加入者の方向へデータアクセスする際の構成およびシーケンスを示す説明図である。 メッセージハンドラおよびメッセージハンドラに含まれる有限ステートマシーンの構成を示す説明図である。 図1および図2に示す通信モジュールの構成要素、ならびに加入者およびメッセージハンドラによって制御される対応するデータ経路を示す説明図である。 図11に示すデータ経路に関してメッセージメモリのアクセス分割を示す説明図である。 本発明の一実施形態に係る通信システムの加入者を示す説明図である。 図13に示す加入者内でルーティングされたデータの可能な伝送経路を示す説明図である。 本発明の一実施形態に係る通信システムの通信コントローラを示す説明図である。 図15に示す通信コントローラ内の加入者インタフェースを示す説明図である。 従来の通信システムの加入者を示す説明図である。

Claims (21)

  1. 通信システムの加入者装置(900)であって、前記加入者装置(900)は、マイクロプロセッサ(102)、少なくとも2つの通信コントローラ(750a、750b、750c)、および周辺バス(820)を有しており、前記マイクロプロセッサ(102)は、前記周辺バス(820)を介して前記通信コントローラ(750a、750b、750c)と接続され、前記通信コントローラ(750a、750b、750c)を介して前記通信システムの各通信接続(101a、101b、101c)と接続されており、前記通信接続(101a、101b、101c)を介してメッセージが伝送される、通信システムの加入者装置(900)において、
    少なくとも1つの前記通信コントローラ(750a、750c)は、前記周辺バス(820)との接続に際して経由するアクティブインタフェース(834)と、ゲートウェイ機能を単独で実現するロジックとを備えることを特徴とする、通信システムの加入者装置。
  2. 前記ロジックが、ルーティングエンジン(830)の機能を実現することを特徴とする、請求項1に記載の加入者装置。
  3. 前記通信コントローラ(750a、750b、750c)は、前記通信コントローラ(750a、750b、750c)に割当てられた前記通信接続(101a、101b、101c)のメッセージを一時格納するためのメッセージメモリ(300a、300b、300c)、または前記通信接続(101a、101b、101c)のためのメッセージメモリ(300a、300b、300c)を各々に有しており、前記ロジックは、通信コントローラ(750a、750b、750c)の前記メッセージメモリ(300a、300b、300c)と前記マイクロプロセッサ(102)との間、または、前記通信コントローラ(750a、750b、750c)の複数の前記メッセージメモリ(300a、300b、300c)の間でデータの単独ルーティングを調整し、制御することを特徴とする、請求項2に記載の加入者装置。
  4. 少なくとも1つの前記通信コントローラ(750a、750b、750c)は、通信モジュ−ル(100a、100b、100c)を有しており、前記通信モジュ−ル(100a、100b、100c)は、前記通信コントローラ(750a、750b、750c)に割当てられた前記通信接続(101a、101b、101c)のメッセージを一時格納するためのメッセージメモリ(300a、300b、300c)、または前記通信接続(101a、101b、101c)のためのメッセージメモリ(300a、300b、300c)を含んでおり、前記ロジックは、通信コントローラの前記メッセージメモリもしくは少なくとも1つの前記通信モジュール(100a、100b、100c)の前記メッセージメモリ(300a、300b、300c)と、前記マイクロプロセッサ(102)との間、または、前記通信コントローラ(750a、750b、750c)の複数の前記メッセージメモリ(300a、300b、300c)、および/または、前記少なくとも1つの通信モジュール(100a、100b、100c)の前記メッセージメモリ(300a、300b、300c)の間で、データの単独ルーティングを調整し、制御することを特徴とする、請求項3に記載の加入者装置。
  5. 各通信モジュール(100a、100b、100c)は、前記メッセージメモリ(300a、300b、300c)と前記周辺バス(820)との間に配置された少なくとも1つのバッファ、特に、少なくとも1つの入力バッファ(201a、201b、201c)および少なくとも1つの出力バッファ(202a、202b、202c)を有しており、前記ロジックは、通信コントローラ(750a、750b、750c)の前記メッセージメモリ(300a、300b、300c)もしくは少なくとも1つの前記通信モジュール(100a、100b、100c)の前記メッセージメモリ(300a、300b、300c)の前記少なくとも1つのバッファ(201a、201b、201c;202a、202b、202c)と、前記マイクロプロセッサ(102)との間、または、前記通信コントローラ(750a、750b、750c)の複数の前記メッセージメモリ(300a、300b、300c)、および/または、前記少なくとも1つの通信モジュール(100a、100b、100c)の前記メッセージメモリ(300a、300b、300c)の前記少なくとも1つのバッファ(201a、201b、201c;202a、202b、202c)の間で、データの単独ルーティングを調整し、制御する、請求項4に記載の加入者装置。
  6. 前記通信コントローラ(750a、750c)内の前記ロジックがステートマシーンを含むことを特徴とする、請求項1〜5のいずれかに記載の加入者装置。
  7. 前記ステートマシーンがハードウェアに組込まれていることを特徴とする、請求項6に記載の加入者装置。
  8. アクティブインタフェース(834)およびロジックを備える各前記通信コントローラ(750a、750c)は、アービター(836)を有しており、前記アービター(836)は、前記通信コントローラ(750a、750c)のメッセージメモリ(300a、300c)、通信モジュール(100a、100c)のメッセージメモリ(300a、300c)、または、通信モジュール(100a、100c)のメッセージメモリ(300a、300c)の少なくとも1つのバッファ(201a、201c;202a、202c)に対する、前記マイクロプロセッサ(102)および前記ルーティングエンジン(830)の同時アクセスを仲裁することを特徴とする、請求項6または7に記載の加入者装置。
  9. アクティブインタフェース(834)およびロジックを備える各前記通信コントローラ(750a、750c)は、制御および/または状態レジスタ(838)を有しており、前記マイクロプロセッサ(102)は、ゲートウェイ機能の設定、駆動、および/または監視のために、前記制御および/または状態レジスタ(838)にアクセスすることを特徴とする、請求項1〜8のいずれかに記載の加入者装置。
  10. アクティブインタフェース(834)およびロジックを備える各前記通信コントローラ(750a、750c)は、ルーティングメモリ(842)を有しており、前記マイクロプロセッサ(102)は、前記ゲートウェイ機能の駆動および/または監視のために、前記ルーティングメモリ(842)にアクセスすることを特徴とする、請求項1〜9のいずれかに記載の加入者装置。
  11. 前記加入者装置(900)は、FlexRay通信システムのコンポーネントであり、前記FlexRay通信システムにおいて、前記加入者装置(900)とFlexRay通信接続(101)に接続された他のFlexRay加入者装置との間では、FlexRayプロトコルに基づいてデータ伝送が行われることを特徴とする、請求項1〜10のいずれかに記載の加入者装置。
  12. 通信システムの加入者装置(900)の通信コントローラ(750a)であって、前記加入者装置(900)は、マイクロプロセッサ(102)、前記通信コントローラ(750a)、選択的に別の通信コントローラ(750b、750c)、および周辺バス(820)を有しており、前記通信コントローラ(750a)は、一方では前記周辺バス(820)を介して前記マイクロプロセッサ(102)と接続され、他方では前記通信システムの通信接続(101a)に接続されており、前記通信接続(101a)を介してメッセージが伝送される、通信システムの加入者装置(900)の通信コントローラ(750a)において、
    前記通信コントローラ(750a)は、前記周辺バス(820)と接続する際に経由するアクティブインタフェース(834)と、ゲートウェイ機能を単独で実現するロジックとを備えていることを特徴とする、通信システムの加入者装置の通信コントローラ。
  13. 前記通信コントローラ(750a)は、FlexRay通信システムのコンポーネントであり、前記FlexRay通信システムにおいて、前記加入者装置(900)とFlexRay通信接続(101)に接続された他のFlexRay加入者装置との間では、FlexRayプロトコルに基づいてデータ伝送が行われることを特徴とする、請求項12に記載の通信コントローラ。
  14. 通信システムの加入者装置(900)内でゲートウェイ機能を実現する方法であって、前記加入者装置(900)は、マイクロプロセッサ(102)、少なくとも2つの通信コントローラ(750a、750b、750c)、および周辺バス(820)を有しており、前記通信コントローラ(750a、750b、750c)は、一方では前記周辺バス(820)を介して前記マイクロプロセッサ(102)と接続され、他方では前記通信システムの通信接続(101a、101b、101c)に各々に接続されており、前記通信接続(101a、101b、101c)を介してメッセージが伝送される、通信システムの加入者装置(900)内でゲートウェイ機能を実現する方法において、
    少なくとも1つの前記通信コントローラ(750a、750c)は、アクティブインタフェース(834)を介して前記周辺バス(820)に接続され、前記少なくとも1つの通信コントローラ(750a、750c)内のロジックによって前記ゲートウェイ機能が実現されることを特徴とする、通信システムの加入者装置内でゲートウェイ機能を実現する方法。
  15. ゲートウェイ機能の枠内で、割込みが開始され、処理され、および、メッセージが断片化され、最適化され、および、前記加入者装置(900)の複数の通信コントローラ(750a、750b、750c)の間でメッセージが交換され、および/または、前記通信コントローラ(750a、750b、750c)のうちの1つと前記マイクロプロセッサ(102)との間でメッセージが交換されることを特徴とする、請求項14に記載の方法。
  16. 前記マイクロプロセッサ(102)は、前記少なくとも1つの通信コントローラ(750a、750c)の制御および/または状態レジスタ(838)内に制御および状態情報を格納することで、前記ゲートウェイ機能が構成され、制御され、および/または、監視されることを特徴とする、請求項14または15に記載の方法。
  17. 前記マイクロプロセッサ(102)は、前記少なくとも1つの通信コントローラ(750a、750c)のルーティングメモリ(842)内にルーティング情報を格納することで、前記ゲートウェイ機能が制御され、および/または、監視されることを特徴とする、請求項14〜16のいずれかに記載の方法。
  18. 前記少なくとも1つの通信コントローラ(750a、750c)内の前記ロジックがルーティングエンジン(830)を含んでおり、前記通信コントローラ(750a、750c)のメッセージメモリ(300a、300c)、通信モジュール(100a、100c)のメッセージメモリ(300a、300c)、または、通信モジュール(100a、100c)のメッセージメモリ(300a、300c)の少なくとも1つのバッファ(201a、201c;202a、202c)に対する、前記マイクロプロセッサ(102)および前記ルーティングエンジン(830)の同時アクセスが仲裁されることを特徴とする、請求項14〜17のいずれかに記載の方法。
  19. 他の通信コントローラ(750b、750c)のメッセージメモリ(300b、300c)にデータをアクティブに複写するために、前記少なくとも1つの通信コントローラ(750a)の前記ロジックによって、単独で引起こされ、制御される方法であって、
    前記少なくとも1つの通信コントローラ(750a)のバッファ(202a)内の受信されたデータを可視化する工程と、
    前記アクティブインタフェース(834)を介する書込みアクセスによって、前記マイクロプロセッサ(102)に割当てられたメモリ部(802)の構成可能なアドレス領域内に、または、他の通信コントローラ(750b、750c)のバッファ(201b、201c)内に、前記受信されたデータの複写を格納する工程と、
    前記他の通信コントローラ(750b、750c)の前記バッファ(201b、201c)内にデータの複写を格納する際に、前記バッファ(201b、201c)から前記他の通信コントローラ(750b、750c)のメッセージメモリ(300b、300c)への前記格納されたデータの伝送を開始する工程と、
    を含むことを特徴とする、請求項14〜18のいずれかに記載の方法。
  20. 他の通信コントローラ(750b、750c)のメッセージメモリ(300b、300c)からデータをアクティブに複写するために、前記少なくとも1つの通信コントローラ(750a)の前記ロジックによって、単独で引起こされ、制御される方法であって、
    前記他の通信コントローラ(750b、750c)のバッファ(202b、202c)内のデータを可視化する工程と、
    前記アクティブインタフェース(834)を介する読出しアクセスによって、前記通信コントローラ(750a)の少なくとも1つのバッファ(201a)の構成可能なアドレス領域内に、前記マイクロプロセッサ(102)に割当てられたメモリ部(802)の内容の複写、または、前記他の通信コントローラ(750b、750c)の前記バッファ(202b、202c)の内容の複写を格納する工程と、
    前記少なくとも1つのバッファ(201a)から前記通信コントローラ(750a)の前記通信モジュール(100a)のメッセージメモリ(300a)への前記格納されたデータの伝送を開始する工程と、
    を含むことを特徴とする、請求項14〜19のいずれかに記載の方法。
  21. 前記方法が、データ、特にメッセージの受信によって、アクティブインタフェース(834)を有する通信コントローラ(750a、750c)によるトリガによって、または、前記マイクロプロセッサ(102)によるトリガによって、時間制御で開始されることを特徴とする、請求項19または20に記載の方法。
JP2008534010A 2005-10-06 2006-10-04 加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法 Pending JP2009512260A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005048585A DE102005048585A1 (de) 2005-10-06 2005-10-06 Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems
PCT/EP2006/067029 WO2007039622A1 (de) 2005-10-06 2006-10-04 Teilnehmer und kommunikationscontroller eines kommunikationssystems und verfahren zur realisierung einer gateway-funktionalität in einem teilnehmer eines kommunikationssystems

Publications (1)

Publication Number Publication Date
JP2009512260A true JP2009512260A (ja) 2009-03-19

Family

ID=37442077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008534010A Pending JP2009512260A (ja) 2005-10-06 2006-10-04 加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法

Country Status (8)

Country Link
US (1) US8792508B2 (ja)
EP (1) EP1941674B1 (ja)
JP (1) JP2009512260A (ja)
CN (1) CN101278528B (ja)
AT (1) ATE493814T1 (ja)
DE (2) DE102005048585A1 (ja)
ES (1) ES2358609T3 (ja)
WO (1) WO2007039622A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198819A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd データ転送装置、並列計算機システムおよびデータ転送装置の制御方法
WO2015011515A1 (en) * 2013-07-24 2015-01-29 Freescale Semiconductor, Inc. A transceiver circuit and method for controller area networks

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005048585A1 (de) 2005-10-06 2007-04-12 Robert Bosch Gmbh Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems
US8665886B2 (en) * 2009-03-26 2014-03-04 Brocade Communications Systems, Inc. Redundant host connection in a routed network
CN102118299B (zh) * 2009-12-31 2013-06-26 中国电子科技集团公司第五十研究所 自适应动态路由方法
US8369335B2 (en) * 2010-03-24 2013-02-05 Brocade Communications Systems, Inc. Method and system for extending routing domain to non-routing end stations
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9001824B2 (en) 2010-05-18 2015-04-07 Brocade Communication Systems, Inc. Fabric formation for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US8625616B2 (en) 2010-05-11 2014-01-07 Brocade Communications Systems, Inc. Converged network extension
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US9231890B2 (en) 2010-06-08 2016-01-05 Brocade Communications Systems, Inc. Traffic management for virtual cluster switching
US9461840B2 (en) 2010-06-02 2016-10-04 Brocade Communications Systems, Inc. Port profile management for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US8885488B2 (en) 2010-06-02 2014-11-11 Brocade Communication Systems, Inc. Reachability detection in trill networks
US8634308B2 (en) 2010-06-02 2014-01-21 Brocade Communications Systems, Inc. Path detection in trill networks
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US8446914B2 (en) 2010-06-08 2013-05-21 Brocade Communications Systems, Inc. Method and system for link aggregation across multiple switches
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9246703B2 (en) 2010-06-08 2016-01-26 Brocade Communications Systems, Inc. Remote port mirroring
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9270572B2 (en) 2011-05-02 2016-02-23 Brocade Communications Systems Inc. Layer-3 support in TRILL networks
US8879549B2 (en) 2011-06-28 2014-11-04 Brocade Communications Systems, Inc. Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch
US9407533B2 (en) 2011-06-28 2016-08-02 Brocade Communications Systems, Inc. Multicast in a trill network
US9401861B2 (en) 2011-06-28 2016-07-26 Brocade Communications Systems, Inc. Scalable MAC address distribution in an Ethernet fabric switch
US8948056B2 (en) 2011-06-28 2015-02-03 Brocade Communication Systems, Inc. Spanning-tree based loop detection for an ethernet fabric switch
US9007958B2 (en) 2011-06-29 2015-04-14 Brocade Communication Systems, Inc. External loop detection for an ethernet fabric switch
US8885641B2 (en) 2011-06-30 2014-11-11 Brocade Communication Systems, Inc. Efficient trill forwarding
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
EP2597832B1 (en) * 2011-11-02 2016-12-28 Renesas Electronics Europe Limited Message buffer controller
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
EP2665227B1 (de) * 2012-05-18 2014-09-24 Vector Informatik GmbH Flexray-Gateway und Verfahren zum Betreiben eines Flexray-Gateways
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
US10454760B2 (en) 2012-05-23 2019-10-22 Avago Technologies International Sales Pte. Limited Layer-3 overlay gateways
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
US9542347B2 (en) 2013-03-16 2017-01-10 Intel Corporation Host interface crossbar for sensor hub
US9430414B2 (en) 2013-03-16 2016-08-30 Intel Corporation Bus independent platform for sensor hub peripherals to provide coalescing of multiple reports
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
US9830245B2 (en) * 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US10031860B2 (en) * 2014-09-24 2018-07-24 Western Digital Technologies, Inc. Memory transfer of objects in a data storage device
US9851901B2 (en) 2014-09-26 2017-12-26 Western Digital Technologies, Inc. Transfer of object memory references in a data storage device
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
EP3018544B1 (de) * 2014-11-07 2018-02-21 Siemens Aktiengesellschaft Produktions- oder Werkzeugmaschine und Verfahren zum Betrieb einer Produktions- oder Werkzeugmaschine
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
DE102015200301A1 (de) * 2015-01-13 2016-07-14 Robert Bosch Gmbh Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung
US10313232B2 (en) * 2015-03-06 2019-06-04 Nec Corporation Network control device, network control method, and recording medium for program
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10069716B2 (en) 2015-07-29 2018-09-04 At&T Intellectual Property I, L.P. Methods and apparatus to reflect routes from a remotely located virtual route reflector
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
FR3040806B1 (fr) * 2015-09-07 2019-10-11 Continental Automotive France Calculateur electronique de vehicule compatible avec le protocole de communication can-fd
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
JP7059899B2 (ja) * 2018-11-09 2022-04-26 トヨタ自動車株式会社 ネットワークシステム
US10855490B2 (en) * 2019-03-15 2020-12-01 Hamilton Sunstrand Corporation Transmission duration report and transmission target time allocation for controller area network synchronization
CN111061674B (zh) * 2019-11-30 2023-05-16 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 多处理器交叉通信装置及方法
EP3902206B1 (de) * 2020-04-21 2022-02-16 TTTech Computertechnik Aktiengesellschaft Fehlertolerante verteilereinheit und verfahren zur bereitstellung einer fehlertoleranten globalen zeit
DE102022210908A1 (de) 2022-10-14 2024-04-25 Elmos Semiconductor Se Gateway zur verbindung mit einem sensor eines kraftahrzeugs und verfahren zum betreiben des gateways

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62181552A (ja) * 1986-02-06 1987-08-08 Fujitsu Ltd 通信制御装置
JPH0283757A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
JPH06290127A (ja) * 1993-03-31 1994-10-18 Toshiba Corp コンピュータシステム
JP2001084182A (ja) * 1999-09-16 2001-03-30 Matsushita Electric Ind Co Ltd バス接続装置、コンピュータ及び記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009968B2 (en) * 2000-06-09 2006-03-07 Broadcom Corporation Gigabit switch supporting improved layer 3 switching
DE10148325A1 (de) * 2001-09-29 2003-04-17 Daimler Chrysler Ag Buswächtereinheit
DE10243454C5 (de) * 2002-09-19 2009-10-08 Koenig & Bauer Aktiengesellschaft Antriebsvorrichtung einer Bearbeitungsmaschine
DE10254580A1 (de) * 2002-11-22 2004-06-03 Robert Bosch Gmbh Verfahren und Vorrichtung zur Übertragung von Daten in Nachrichten auf einem Bussystem
EP1530137A1 (en) * 2003-11-10 2005-05-11 Robert Bosch Gmbh Simulation system and computer-implemented method for simulation and verifying a control system
EP1574965B1 (en) * 2003-11-25 2007-06-13 Interuniversitair Micro-Elektronica Centrum Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof
DE102004041823B4 (de) * 2004-08-27 2014-03-20 Robert Bosch Gmbh Kommunikationsbaustein mit einem Kommunikationsschnittstellenelement und Kommunikationsschnittstellenelement
DE102004042380A1 (de) * 2004-09-02 2006-03-09 Robert Bosch Gmbh Datenbus-Interface für ein Steuergerät und Steuergerät mit einem Datenbus-Interface
DE102005048585A1 (de) 2005-10-06 2007-04-12 Robert Bosch Gmbh Teilnehmer und Kommunikationscontroller eines Kommunikationssystems und Verfahren zur Realisierung einer Gateway-Funktionalität in einem Teilnehmer eines Kommunikationssystems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62181552A (ja) * 1986-02-06 1987-08-08 Fujitsu Ltd 通信制御装置
JPH0283757A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd 通信制御システム
JPH06290127A (ja) * 1993-03-31 1994-10-18 Toshiba Corp コンピュータシステム
JP2001084182A (ja) * 1999-09-16 2001-03-30 Matsushita Electric Ind Co Ltd バス接続装置、コンピュータ及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012198819A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd データ転送装置、並列計算機システムおよびデータ転送装置の制御方法
WO2015011515A1 (en) * 2013-07-24 2015-01-29 Freescale Semiconductor, Inc. A transceiver circuit and method for controller area networks
US9973348B2 (en) 2013-07-24 2018-05-15 Nxp Usa, Inc. Transceiver circuit and method for controller area networks

Also Published As

Publication number Publication date
US8792508B2 (en) 2014-07-29
DE502006008623D1 (de) 2011-02-10
ATE493814T1 (de) 2011-01-15
WO2007039622A1 (de) 2007-04-12
CN101278528B (zh) 2012-03-21
EP1941674B1 (de) 2010-12-29
EP1941674A1 (de) 2008-07-09
DE102005048585A1 (de) 2007-04-12
ES2358609T3 (es) 2011-05-12
US20090323708A1 (en) 2009-12-31
CN101278528A (zh) 2008-10-01

Similar Documents

Publication Publication Date Title
JP2009512260A (ja) 加入者装置、通信システムの通信コントローラ、および通信システムの加入者装置内でゲートウェイ機能を実現する方法
KR100970300B1 (ko) 통신 모듈의 메시지 메모리의 데이터를 액세스하기 위한 방법 및 장치
JP4740261B2 (ja) 通信システム及び通信モジュールの通信リンクや通信システムのノードを経由してメッセージのデータを伝送する方法と、この方法を実現するための通信システム。
JP4612094B2 (ja) バス間でのメッセージの自動ルーティングのためのゲートウェイ
KR100981461B1 (ko) 통신 칩 및 메시지 관리자에 의한 통신 칩의 메시지 메모리의 데이터에 대한 액세스 제어 방법
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
KR101028898B1 (ko) 플렉스레이 통신 장치
US6992978B1 (en) Method and system for path protection in a communications network
US20200412669A1 (en) Real-time multi-protocol heterogeneous packet-based transport
EP2822255B1 (en) System and method of a hardware shadow for a network element
EP2721770B1 (en) Integrated circuit device and method of performing cut-through forwarding of packet data
US9703732B2 (en) Interface apparatus and memory bus system
KR100977897B1 (ko) 메시지 메모리 내에서 메시지를 저장하기 위한 방법 및상응하는 메시지 메모리
JP4903801B2 (ja) FlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェース、およびFlexRay通信モジュールとFlexRay加入者装置とを繋ぐ加入者インタフェースを経由するメッセージの伝送方法
US8885673B2 (en) Interleaving data packets in a packet-based communication system
JP5246158B2 (ja) 半導体集積回路及びフィルタ制御方法
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
JP4546380B2 (ja) クロスバースイッチ、情報処理装置および転送方法
JP7337021B2 (ja) 産業用ネットワークに接続されるスレーブ装置を制御するマスタ装置及び当該マスタ装置に備えられる通信モジュール
Chatmen et al. A new network on chip design dedicated to multicast service

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110202

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110628