(57)【要約】ＣＰＵ負荷に関係なくメッセージを転送可能な、バス間でのメッセージの自動ルーティングのためのゲートウェイを提供する。【解決手段】バス３を介してメッセージＮを伝送する複数の通信モジュール２と、ルーティングされるメッセージの発生を通信モジュールから通知されるゲートウェイ制御ユニット４−１とを備え、ゲートウェイ制御ユニットは、各通信モジュールのための通信モジュールベクトルＫＢＶ、およびメッセージベクトルＮＶを格納するベクトル記憶装置ＶＲＡＭと、アドレス指定可能な命令を格納する命令記憶装置ＩＲＡＭと、内部イベントＥＶｉｎｔまたは外部イベントＥＶｅｘｔが発生した際に、ベクトル記憶装置から各通信モジュールに対応する通信モジュールベクトルを読出し、対応するメッセージベクトルの命令ジャンプアドレスを読出した後に、少なくとも１つの命令を命令記憶装置から読出して実行するシーケンス制御部ＦＳＭとを有する。【選択図】図３
2009527168.tif 000002
【特許請求の範囲】
【請求項１】
バス（３）間でのメッセージの自動ルーティングのためのゲートウェイであって、
（ａ）メッセージ（Ｎ）を一時格納し、前記バス（３）を介して伝送するための複数の通信モジュール（２）と、
（ｂ）メッセージ（Ｎ）を交換するためにシステムバス（５−１）を介して前記通信モジュール（２）に接続されており、ルーティングされるべきメッセージ（Ｎ）が前記通信モジュール（２）で発生していることを外部イベント（ＥＶｅｘｔ）として前記各通信モジュール（２）から通知されるゲートウェイ制御ユニット（４−１）と、
を備え、
前記ゲートウェイ制御ユニット（４−１）は、
（ｂ１）通信モジュールベクトル（ＫＢＶ）を格納するための第１記憶領域を有するベクトル記憶装置（ＶＲＡＭ）であって、各通信モジュール（２）のために通信モジュールベクトル（ＫＢＶ）が設けられており、前記通信モジュールベクトル（ＫＢＶ）は、前記通信モジュール（２）に一時格納されているメッセージ（Ｎ）のために次に予期される内部イベント（ＥＶｉｎｔ）の時点（ＺＰ）、および前記ベクトル記憶装置（ＶＲＡＭ）の第２記憶領域に格納されているメッセージベクトル（ＮＶ）へのベクトルジャンプアドレスを示しており、前記通信モジュール（２）に一時格納されている各メッセージ（Ｎ）のために対応するメッセージベクトル（ＮＶ）が格納されており、前記メッセージベクトル（ＮＶ）は、前記対応するメッセージ（Ｎ）により起動される内部イベント（ＥＶｉｎｔ）の設定可能な時点（ＺＰ）、および命令ジャンプアドレスを示している、ベクトル記憶装置（ＶＲＡＭ）と、
（ｂ２）前記メッセージベクトル（ＮＶ）内に示されている命令ジャンプアドレスによりアドレス指定可能な命令を格納するための命令記憶装置（ＩＲＡＭ）と、
（ｂ３）シーケンス制御部（ＦＳＭ）であって、通信モジュール（２）に一時格納されているメッセージ（Ｎ）のメッセージベクトル（ＮＶ）内に時点（ＺＰ）が示されている内部イベント（ＥＶｉｎｔ）が発生した際に、または、通信モジュール（２）により外部イベント（ＥＶｅｘｔ）の発生を通知された際に、前記ベクトル記憶装置（ＶＲＡＭ）の前記第１記憶領域から各通信モジュール（２）に対応する通信モジュールベクトル（ＫＢＶ）を読出し、前記通信モジュールベクトル（ＫＢＶ）に含まれるベクトルジャンプアドレスを用いて、前記アドレス指定されたメッセージベクトル（ＮＶ）の前記命令ジャンプアドレスを前記ベクトル記憶装置（ＶＲＡＭ）の前記第２記憶領域から読出した後に、前記読出された命令ジャンプアドレスを用いて少なくとも１つの命令を前記命令記憶装置（ＩＲＡＭ）から読出して実行し、前記ベクトル（ＮＶ、ＫＢＶ）内に示されている時点（ＺＰ）が更新される、シーケンス制御部（ＦＳＭ）と、
を有する、バス間でのメッセージの自動ルーティングのためのゲートウェイ。
【請求項２】
前記ゲートウェイ（１）は、独立した第２システムバス（５−２）を介して前記通信モジュール（２）に接続されているプロセッサ（４−２）を備える、請求項１に記載のゲートウェイ。
【請求項３】
前記ゲートウェイ制御ユニット（４−１）の前記シーケンス制御部（ＦＳＭ）は、
内部イベントまたは外部イベントの発生の際に、ベクトル記憶装置（ＶＲＡＭ）に格納されているベクトル（ＫＢＶ、ＮＶ）を評価し、前記ベクトル内に示されている時点を更新するイベントＦＳＭと、
前記命令記憶装置（ＩＲＡＭ）から読出された命令を実行する命令ＦＳＭと、
を有する、請求項１に記載のゲートウェイ。
【請求項４】
前記メッセージベクトル（ＮＶ）は、前記対応するメッセージ（Ｎ）により起動される内部イベントの前記時点（ＺＰ）と、前記対応するメッセージ（Ｎ）により次に起動される内部イベントの時点（ＺＰ）との間の時間差（ｔ）をさらに有する、請求項１に記載のゲートウェイ。
【請求項５】
前記ゲートウェイ制御ユニット（４−１）は、内部イベント（ＥＶｉｎｔ）を起動するための内部タイミング発生器としてカウンタ（Ｚ）を有する、請求項１に記載のゲートウェイ。
【請求項６】
前記ゲートウェイ制御ユニット（４−１）は、状態レジスタ（ＳＲ）を有し、前記状態レジスタ（ＳＲ）は、前記通信モジュール（２）に一時格納されている全てのメッセージ（Ｎ）のために予期される全ての内部イベントのうち、次に予期されるイベントの時点（ＺＰ）を一時格納する、請求項１に記載のゲートウェイ。
【請求項７】
前記バス（３）は、シリアルバスである、請求項１に記載のゲートウェイ。
【請求項８】
各通信モジュール（２）は、
（ａ）データパケット（ＤＰ）と複数のデータワード（ＤＷ）からなるメッセージ（ＭＳＧ）との間で変換するために、シリアルバス（３）に接続されている通信プロトコルユニット（２ｃ）と、
（ｂ）少なくとも１つのメッセージ記憶装置（２ｅ）と前記通信プロトコルユニット（２ｃ）との間、および少なくとも１つのメッセージ記憶装置（２ｅ）とバッファ（２ｆ、２ｇ）との間でメッセージ（ＭＳＧ）を転送するためのメッセージ転送ユニット（２ｄ）と、
（ｃ）前記ゲートウェイ（１）の対応するシステムバス（５−１、５−２）に各々に接続されている複数のインタフェースユニット（２ａ、２ｂ）であって、各インタフェースユニット（２ａ、２ｂ）は、メッセージ（ＭＳＧ）を一時格納する少なくとも１つの対応するバッファ（２ｆ、２ｇ）に接続されている、複数のインタフェースユニット（２ａ、２ｂ）と、
を有し、
複数のシステムバス（５−１、５−２）、および前記複数のシステムバス（５−１、５−２）に対応するインタフェースユニット（２ａ、２ｂ）を介して、前記インタフェースユニット（２ａ、２ｂ）の前記バッファ（２ｆ、２ｇ）からのデータワード（ＤＷ）の伝送、および前記インタフェースユニット（２ａ、２ｂ）の前記バッファ（２ｆ、２ｇ）へのデータワード（ＤＷ）の伝送が、待ち時間なしに同時に行われる、請求項２に記載のゲートウェイ。
【請求項９】
前記シリアルバス（３）は、フィールドバスである、請求項７に記載のゲートウェイ。
【請求項１０】
前記フィールドバスは、ＣＡＮバスである、請求項９に記載のゲートウェイ。
【請求項１１】
前記シリアルバス（３）は、イーサネットバスである、請求項９に記載のゲートウェイ。
【請求項１２】
前記２つのシステムバス（５−１、５−２）の各々は、対応するシステムバスマスタ（４−１、４−２）を有する、請求項２に記載のゲートウェイ。
【請求項１３】
通信モジュール（２）の前記メッセージ転送ユニット（２ｄ）は、システムバス（５−１、５−２）を介してワード単位で伝送されるメッセージの受信を前記システムバスのシステムバスマスタ（４−１、４−２）に信号で知らせる、請求項８に記載のゲートウェイ。
【請求項１４】
通信モジュールの前記メッセージ転送ユニット（２ｄ）は、システムバスマスタ（４−１、４−２）が情報を照会した後に、伝送されるべきメッセージの受領を前記システムバスマスタ（４−１、４−２）に信号で知らせる、請求項８に記載のゲートウェイ。
【請求項１５】
前記各システムバス（５−１、５−２）により受信されるメッセージは、前記シリアルバス（３）を介して送信準備を信号で知らせるために少なくとも１つのフラッグビットを有し、かつ、バッファ（２ｆ、２ｇ）に一時格納されて前記メッセージ転送ユニット（２ｄ）により前記メッセージ記憶装置（２ｅ）へ転送される、請求項８に記載のゲートウェイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス間、特にシリアルバス間およびフィールドバス間でのメッセージの自動ルーティングのためのゲートウェイに関する。
【背景技術】
【０００２】
近年、近代的な車両製造、または機械製作、特に工作機械分野において、さらにオートメーション化分野においても、通信接続、特にバスおよび対応する通信モジュールから構成されるネットワークまたは通信システムを用いた制御装置、センサおよびアクチュエータのネットワーク化が著しく進展している。その際、複数の加入者、とくに制御装置に機能を分散させることにより相乗効果を得ることが可能となる。つまり、ここでは、分散型システムが関わっている。このように分散されたシステムもしくはネットワークは、加入者、および加入者を接続するバスシステム、または複数接続されるバスシステムから構成される。異なる局間もしくは異なる加入者間での通信は、メッセージのデータ伝送媒体となる、このような通信システム、バスシステム、またはネットワークを介して、ますます行われるようになっている。バスシステム上での通信、アクセス、および受信の仕組み、ならびにエラー処理は、対応するプロトコルを介して制御される。その際、本明細書の場合を含む多くの場合において、ネットワークもしくはバスシステム自体の同義語として各プロトコルの名称が用いられている。
【０００３】
プロトコルとして、例えば車両分野では、ＣＡＮ（Controller Area Network）バスが確立されている。このプロトコルは、イベント駆動型のプロトコルである。つまり、メッセージ送信等のプロトコル動作は、通信バスシステムの外部で発生するイベントにより起動される。通信システムもしくはバスシステムへの一義的なアクセスは、優先順位に基づくビットアビトレーションにより解決される。そのための前提条件は、伝送されるデータ、従って各メッセージに優先順位が割り当てられることである。ＣＡＮプロトコルは、非常にフレキシブルである。つまり、優先権（メッセージ識別子）を利用可能である限り、更に別の加入者およびメッセージの追加が問題なく可能となる。ネットワーク内で送信されるべき、優先順位が付された全てのメッセージ、およびメッセージの送信加入者もしくは受信加入者、または対応する通信モジュールの集合は、リスト、つまり通信マトリクスに格納されている。
【０００４】
イベント駆動型の自発的な通信に対する代替的なアプローチとして、理論的に純粋な時間駆動型アプローチが挙げられる。この場合、バス上での全ての通信動作は、厳密に周期的となる。メッセージ送信等のプロトコル動作は、バスシステム全体で有効となる時間を更新することにより起動される。この媒体へのアクセスは、排他的な送信権を取得可能な時間領域が送信者に割り当てられることに基づいている。その際、メッセージの順序は、通常、駆動開始（Inbetriebnahme）前に設定される必要がある。つまり、反復レート、冗長性、デットライン等に関するメッセージの要請を満たすタイムテーブル（Fahrplan）が作成される。つまり、バススケジュールが関わっている。このようなバスシステムとして、例えばＴＴＰ／Ｃ仕様が挙げられる。
【０００５】
前述した２つのバス形態の利点を統合した解決方法として、時間駆動型ＣＡＮ、つまりＴＴＣＡＮ（Time Triggered Controller Area Network）が挙げられる。ＴＴＣＡＮは、時間駆動型の通信に基づく前述した要請、および、ある程度のフレキシブル性の要請を満たす。ＴＴＣＡＮは、特定の通信加入者の周期的なメッセージのための、排他的なタイムフレーム（Zeitfenster）、および複数の通信加入者の自発的なメッセージのためのアービトレートされたタイムフレームを用いて通信周期を設定することで、これらの要請を満たす。その際、ＴＴＣＡＮは、基本的に時間駆動型の周期的な通信に基づいている。時間駆動型の周期的な通信は、時間基準メッセージを用いて基準時間を与える、加入者または通信モジュール、つまりタイムマスタにより同期される。
【０００６】
異なる伝送形態を統合するための更に別の可能性は、ＦｌｅｘＲａｙプロトコルにより提供される。ＦｌｅｘＲａｙプロトコルによって、特に車両に組込まれる、高速かつ決定論的でフォールトトレラントなバスシステムが記載される。このプロトコルは、時分割多重アクセス（ＴＤＭＡ）方式に基づいて機能する。その際、加入者または伝送されるべきメッセージに対して、固定のタイムスロットが割り当てられる。固定のタイムスロットにおいて、加入者または伝送されるべきメッセージは、通信接続、つまりバスに対する排他的使用権を有している。タイムスロットが所定のサイクルで繰り返されるので、バスを介したメッセージ伝送の時点を正確に予期することが可能となり、バスアクセスも決定論的に行われる。バスシステム上でメッセージ伝送のための帯域幅を最適に利用するために、サイクルは、静的部分および動的部分に分割される。その際、固定のタイムスロットは、バスサイクルの先頭に位置する静的部分に存在している。動的部分では、可変時分割多重アクセス（ＦＴＤＭＡ：Flexible Time Division Multiple Access）方式に基づいて、タイムスロットが動的に割当てられる。動的部分では、排他的なバスアクセス権が、短時間の期間で割当てられる。アクセスが行われない場合に、アクセス権は、次の加入者のために解放される。この期間は、ミニスロットと呼ばれ、第１加入者によるアクセスが期待される。
【０００７】
前述されたように、複数の異なる伝送技術があり、従って複数の異なるバスシステム形態およびネットワーク形態が存在する。多くの場合、同一形態または異なる形態の複数のバスシステムが互いに接続される必要がある。そのために、バスインタフェースユニット、つまりゲートウェイが役割を果たす。ゲートウェイは、同一形態または異なる形態からなるバスを繋ぐインタフェースである。その際、ゲートウェイは、１つのバスから１つもしくは複数の他のバスに（部分的な）メッセージを転送する。公知のゲートウェイは、複数の独立した通信モジュールから構成されており、メッセージ交換は、各加入者のプロセッサインタフェース（ＣＰＵインタフェース）、または各通信モジュールの対応するインタフェースモジュールを介して行われる。その際、加入者に伝送されるメッセージに加えて、データ交換および更に別の実用的な機能によりＣＰＵインタフェースに強い負荷が課される。従って、その結果生じる伝送構造と共に、相対的に低いデータ伝送速度が生じ、または消費電力を増加させる高クロック周波数が生じる。さらに、構造的な欠点を補うために、共通のメッセージ記憶装置、つまりメッセージＲＡＭを共有する、一体化された通信制御部もしくは通信モジュールが存在する。いずれにせよ、このような一体化された通信モジュールは、データ伝送に関するフレキシブル性が非常に低く、かつ、特に、特定数のバス接続、多くの場合に同一のバスシステムに固定されている。
【０００８】
図１では、図２に示される従来型のゲートウェイのための、従来型の通信モジュールもしくは通信制御部ＣＣが示されている。通信モジュールＣＣは、ゲートウェイの内部周辺バスもしくはシステムバスのためのインタフェース、および外部シリアルバスのための更に別のインタフェースを有している。システムバスは、アドレスバス、データバス、および制御バスを含んでおり、ゲートウェイ内で内部データを伝送する役割を果たす。システムバスには、通信モジュールの他に、データ記憶装置ＲＡＭを備えるホストＣＰＵ、およびＤＭＡコントローラ等の更に別の代替的な構成要素が接続されている。ホストＣＰＵは、内部データを処理する役割を果たし、通信モジュールＣＣから他の通信モジュールＣＣへの内部データの伝送を制御する。通信モジュールＣＣは、マスタ／スレーブの原理に基づいてホストＣＰＵと通信する。その際、通信モジュールはスレーブに相当し、ホストＣＰＵはマスタユニットを形成する。
【０００９】
図１に示すように、システムバスに対する通信モジュールＣＣの内部インタフェースは、二層構造のインタフェース、つまり、カスタマインタフェースおよび汎用インタフェースにより形成されている。カスタマインタフェースは、システムバスと汎用インタフェースとを接続する。その際、カスタマインタフェースは、製造者に固有のものであり、容易に交換可能である。汎用インタフェースは、カスタマインタフェースを介して、複数のカスタマに固有のシステムバスに接続可能である。図１に示される従来技術に基づく通信モジュールＣＣは、さらに、転送されるべきデータを一時格納するためのバッファを含んでいる。バッファは、例えば、ＲＡＭレジスタもしくはデータレジスタにより形成される。通信モジュールＣＣは、さらに、少なくとも１つのメッセージ記憶装置のメッセージ、通信プロトコルユニットのメッセージ、およびバッファのメッセージを転送するための、メッセージ転送ユニットもしくはメッセージハンドラを含んでいる。メッセージ記憶装置もしくはメッセージＲＡＭは、転送されるべきメッセージオブジェクト、および構成および状態情報データ（Konfigurations-und Statusinformationsdaten）を一時格納する。メッセージ転送ユニットは、全てのバッファと、通信プロトコルユニットと、メッセージ一時記憶装置との間でデータフローを制御する。図１に示される従来型の通信モジュールＣＣの通信プロトコルユニットは、使用されるデータ伝送プロトコルに従って通信を実現する。その際、通信プロトコルユニットＰＲＴは、外部シリアルインタフェースを介して伝送されるデータパケットＤＰのデータ形式と、通信モジュール内部で利用されるメッセージもしくはメッセージＭＳＧとの間で変換（Umwandlung／Umsetzung）を行なう。その際、メッセージ転送ユニットもしくはメッセージハンドラにより転送されるメッセージＭＳＧは、少なくとも、１つのデータワードＤＷからなり、データワードＤＷのワード長またはビット数は、特に、ゲートウェイの内部に設けられたデータバスのバス幅に相当する。システムバスが例えば３２ビット長の内部データバスを有する場合には、データワードＤＷも同様に３２ビットである。メッセージＭＳＧは、所定数のデータワードＤＷで構成可能である。バッファの記憶容量は、例えば、所定数のデータワードＤＷを含むメッセージのデータ容量に対応する。データフローのアビトレーションは、メッセージ転送ユニットもしくはメッセージハンドラにより行なわれる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
今日、特に車両では、ＣＡＮバス、ＦｌｅｘＲａｙバス、ＭＯＳＴバス、またはＬＩＮバス等のシリアルフィールドバスのような、複数のシリアルバスおよびフィールドバスが使用されている。これらのシリアルバス間で駆動されてネットワークの一部を形成しうる、ゲートウェイＧＷを介してデータが交換される。その際、車両および実行される機能に応じて、図２に示される中央のゲートウェイＧＷ内のデータ量が非常に大きくなる可能性がある。このデータ量によりＣＰＵに大きな負荷が課される。つまり、シリアルバスから１つもしくは複数の他のシリアルバスにデータをルーティングすることで、ＣＰＵに負荷が課せられる。さらに、例えば、複数のメッセージのデータ内容を統合して１つの新たなメッセージを作成する等、個々のネットワークもしくはシリアルバス内で帯域幅を低減するために必要となる動作によって、ＣＰＵに対する負荷がさらに増加する。
【００１１】
多くの場合に、安全性要件を満たすためのメッセージを周期的に所定のタイムフレームで送信する必要がある。優先順位が高いメッセージの場合、タイムフレームなし、またはタイムフレーム外で、メッセージの即時伝送が必要となる可能性がある。メッセージが再送されるべきか、または、メッセージの不在（未着）等のエラー発生によりメッセージの送信が禁止されるべきかという検証も、同様に、ゲートウェイＧＷのＣＰＵにより行われ、ＣＰＵの処理能力を消費する。
【００１２】
多くの場合に、ＣＰＵは、更に別の機能を並行して実行する。つまり、ＣＰＵ上では、互いに不利に作用することで、メッセージの送信または転送を遅延させる工程が並行して実行されている。並行して実行される工程の中断は、多くの場合に不可能であるので、並行して実行される工程によって、メッセージ伝送のためのジッタおよび待ち時間が増加する。
【課題を解決するための手段】
【００１３】
上記課題は、本発明に基づいて、特許請求の範囲の請求項１に記載のゲートウェイにより解決される。本発明は、バス間でのメッセージの自動ルーティングのためのゲートウェイであって、メッセージＮを一時格納し、バスを介して伝送するための複数の通信モジュールと、メッセージＮを交換するためにシステムバスを介して通信モジュールに接続されており、ルーティングされるべきメッセージＮが通信モジュールで発生していることを外部イベントＥＶｅｘｔとして各通信モジュールから通知される（angezeigt）ゲートウェイ制御ユニットと、を備える。ゲートウェイ制御ユニットは、ベクトル記憶装置（Vektorspeicher）ＶＲＡＭ、命令記憶装置ＩＲＡＭ、状態レジスタＳＲ、およびシーケンス制御部（Ablaufsteuerung）ＦＳＭを有する。ベクトル記憶装置ＶＲＡＭは、通信モジュールベクトル（Kommunikationsbaustein-Vektor）ＫＢＶを格納するための第１記憶領域を有し、各通信モジュールのために通信モジュールベクトルＫＢＶが設けられており、通信モジュールベクトルＫＢＶは、通信モジュールに一時格納されているメッセージＮのために次に予期される内部イベントＥＶｉｎｔの時点ＺＰ、およびベクトル記憶装置ＶＲＡＭの第２記憶領域に格納されているメッセージベクトルＮＶへのベクトルジャンプアドレスを示しており、通信モジュールに一時格納されている各メッセージＮのために対応する（entsprechend）メッセージベクトルＮＶが格納されており、メッセージベクトルＮＶは、対応する（zugehoerig）メッセージＮにより起動される内部イベントＥＶｉｎｔの設定可能（konfigurierbar）な時点ＺＰ、命令ジャンプアドレス、および更に別の構成および制御データ（Konfigurations-und Steuerdaten）を示している。命令記憶装置ＩＲＡＭは、メッセージベクトルＮＶ内に示されている命令ジャンプアドレスによりアドレス指定可能な命令を格納する。状態レジスタＳＲは、通信モジュールに一時格納されている全てのメッセージＮのために、全ての予期される内部イベントのうち、次に予期されるイベントの時点を一時格納する。シーケンス制御部ＦＳＭは、通信モジュールに一時格納されている全てのメッセージＮのために、状態レジスタＳＲに時点ＺＰが一時格納されている内部イベントＥＶｉｎｔが発生した際に、または、通信モジュールによりシーケンス制御部に外部イベントＥＶｅｘｔの発生が通知された際に、ベクトル記憶装置ＶＲＡＭの第１記憶領域から各通信モジュールに対応する（zugehoerig）通信モジュールベクトルＫＢＶを読出し、通信モジュールベクトルＫＢＶに含まれるベクトルジャンプアドレスを用いて、アドレス指定されたメッセージベクトルＮＶの命令ジャンプアドレスをベクトル記憶装置ＶＲＡＭの第２記憶領域から読出した後に、読出された命令ジャンプアドレスを用いて少なくとも１つの命令を命令記憶装置ＩＲＡＭから読出して実行し、ベクトルＮＶ、ＫＢＶ内に示されている時点ＺＰが更新される。
【００１４】
本発明に基づくゲートウェイの実施形態において、ゲートウェイは、独立した（seperat）第２システムバスを介して通信モジュールに接続されている少なくとも１つの更に別のプロセッサを備える。
【００１５】
本発明に基づくゲートウェイの実施形態において、ゲートウェイ制御ユニットのシーケンス制御部ＦＳＭは、内部イベントまたは外部イベントの発生の際に、ベクトル記憶装置ＶＲＡＭに格納されているベクトルＫＢＶ、ＮＶを評価し（auswerten）、ベクトル内に示されている時点を更新するイベントＦＳＭと、命令記憶装置ＩＲＡＭから読出された命令を実行する命令ＦＳＭと、を有する。
【００１６】
本発明に基づくゲートウェイの実施形態において、メッセージベクトルＮＶは、対応する（zugehoerig）メッセージＮにより起動される内部または外部イベントの時点ＺＰと、対応する（zugehoerig）メッセージＮにより次に起動される内部イベントの時点ＺＰとの間の時間差△ｔをさらに有する。
【００１７】
本発明に基づくゲートウェイの実施形態において、ゲートウェイ制御ユニットは、内部イベントＥＶｉｎｔを起動するための内部タイミング発生器としてカウンタＺを有する。
【００１８】
本発明に基づくゲートウェイの実施形態において、バスは、シリアルバスである。
【００１９】
本発明に基づくゲートウェイの実施形態において、各通信モジュールは、通信プロトコルユニット、メッセージ転送ユニット、および複数のインタフェースユニットを有する。通信プロトコルユニットは、データパケットＤＰと複数のデータワードＤＷからなるメッセージＭＳＧとの間で変換するために、シリアルバスに接続されている。メッセージ転送ユニットは、少なくとも１つのメッセージ記憶装置と通信プロトコルユニットとの間、および少なくとも１つのメッセージ記憶装置とバッファとの間でメッセージＭＳＧを転送する。複数のインタフェースユニットは、ゲートウェイの対応する（zugehoerig）システムバスに各々に接続されており、各インタフェースユニットは、メッセージＭＳＧを一時格納する少なくとも１つの対応する（zugehoerig）バッファに接続されている。そして、複数のシステムバス、および複数のシステムバスに対応する（zugehoerig）インタフェースユニットを介して、インタフェースユニットのバッファからのデータワードＤＷの伝送、およびインタフェースユニットのバッファへのデータワードＤＷの伝送が、待ち時間なしに同時に行われる。
【００２０】
本発明に基づくゲートウェイの実施形態において、シリアルバスは、フィールドバスである。
【００２１】
本発明に基づくゲートウェイの実施形態において、フィールドバスは、ＣＡＮ（Controller Area Network）バスである。
【００２２】
本発明に基づくゲートウェイの実施形態において、フィールドバスは、ＬＩＮ（Local Interconnect Network）バスである。
【００２３】
本発明に基づくゲートウェイの実施形態において、フィールドバスは、ＦｌｅｘＲａｙバスである。
【００２４】
本発明に基づくゲートウェイの実施形態において、シリアルバスは、イーサネット（登録商標）バスである。
【００２５】
本発明に基づくゲートウェイの実施形態において、２つのシステムバスの各々は、対応する（zugehoerig）システムバスマスタを有する。
【００２６】
本発明に基づくゲートウェイの実施形態において、通信モジュールのメッセージ転送ユニットは、システムバスを介してワード単位で伝送されるメッセージの受信をシステムバスのシステムバスマスタに信号で知らせる。
【００２７】
本発明に基づくゲートウェイの実施形態において、通信モジュールのメッセージ転送ユニットは、システムバスマスタが情報を照会した後に、伝送されるべきメッセージの受領をシステムバスマスタに信号で知らせる（bestaetigt）。
【００２８】
本発明に基づくゲートウェイの実施形態において、各システムバスにより受信されるメッセージは、シリアルバスを介して送信準備（Sendebereitschaft）を信号で知らせるために少なくとも１つのフラッグビットを有し、かつ、バッファに一時格納されてメッセージ転送ユニットによりメッセージ記憶装置へ転送される。
【発明を実施するための最良の形態】
【００２９】
以下では、本発明の本質的な特徴を示す添付図を参照しながら、本発明に基づくゲートウェイの好適な実施形態が説明される。
【００３０】
図３に示すように、本発明の一実施形態に係るゲートウェイ１は、シリアルバス３−ｉに各々に接続可能な複数の通信モジュール２−ｉを有している。シリアルバス３−ｉには、例えば、フィールドバスまたはイーサネット（登録商標）バスが関わっている。シリアルバス３−ｉを介してデータがメッセージとして伝送される。伝送されるデータパケットまたはメッセージは、制御データまたはヘッダデータ、およびユーザデータまたはペイロードデータを含んでいる。図３に示される実施形態に係るゲートウェイ１は、複数のマスタユニットを有している。第１マスタユニットは、ゲートウェイ制御ユニット４−１により形成され、第２マスタユニットは、ＣＰＵ４−２により形成される。２つのマスタユニット４−１、４−２は、異なる機能を遂行する。図３に示される実施形態において、ゲートウェイ制御ユニット４−１は、異なる通信モジュール２−ｉ間でのデータ転送を司っている。ホストＣＰＵおよび内部記憶装置ＲＡＭからなるプロセッサ４−２により形成される他のマスタユニットは、例えば、ゲートウェイと共に組み込まれる制御装置の機能等、本来のデータ処理を実行する。図３に示される実施形態において、各マスタユニット４−１、４−２は、特に、独自のシステムバス５−１、５−２を有する。各システムバス５−１、５−２は、独自のデータバス、アドレスバス、および制御バスを有する。ゲートウェイ１内では、可能な実施形態において、データがワード単位で伝送される。データワードＤＷの長さは、システムバスの各データバスのバス幅に対応する。通信モジュール２−ｉは、可能な実施形態において、各システムバス５−ｉのために、特に、同様に対応するインタフェースを有する。
【００３１】
図４は、通信モジュール２−ｉの可能な実施形態を示している。通信モジュール２−ｉは、インタフェースを介してシリアルバスを接続する役目を果たす。通信モジュール２−ｉは、ゲートウェイ１の各内部システムバス５−ｉのために、異なる独自のインタフェース２ａ、２ｂを有する。図４に示される実施形態において、通信モジュール２−ｉは、システムバス５−１に接続するための第１インタフェース２ａを有する。システムバス５−１のマスタユニットは、ゲートウェイ制御ユニット４−１によって形成される。さらに、通信モジュール２−ｉは、ゲートウェイ１のシステムバス５−２に接続するための更に別のインタフェース２ｂを有する。システムバス５−２のバスマスタは、プロセッサ４−２のホストＣＰＵにより形成される。外部シリアルデータバス３−ｉには、通信モジュール２−ｉの通信プロトコルユニット２ｃが接続されている。通信プロトコルユニット２ｃは、外部のシリアルデータバス３−ｉを介して伝送される、データパケットまたはメッセージとの間で（zwischen Datenpaketen bzw. Nachrichten）変換を実行し、かつ、メッセージハンドラを用いて、１つまたは複数のデータワードＤＷにより構成可能な内部メッセージを送信する。
【００３２】
図４に示される通信モジュール２−ｉは、さらに、少なくとも１つの内部メッセージ記憶装置もしくはメッセージＲＡＭ２ｅと通信プロトコルユニット２ｃとの間、ならびに、内部データ線２ｈを介して少なくとも１つの内部メッセージ記憶装置もしくはメッセージＲＡＭ２ｅとバッファ２ｆ、２ｇとの間でメッセージを転送するためのメッセージ転送ユニットもしくはメッセージハンドラ２ｄを含んでいる。バッファ２ｆ、２ｇの記憶容量は、特に、内部で伝送されるべきメッセージのデータ容量、および、更に別の制御データのデータ量に相当する。通信モジュール２−ｉは、ゲートウェイ１の対応するシステムバス５−ｉに接続されている複数のインタフェースユニット２ａ、２ｂを有している。各インタフェースユニット２ａ、２ｂは、少なくとも１つのメッセージまたはメッセージオブジェクトＭＯを一時格納可能な少なくとも１つの対応するバッファ２ｆ、２ｇに接続されている。
【００３３】
メッセージオブジェクトＭＯもしくはメッセージＮに対するゲートウェイ制御ユニット４−１のアクセスは、ゲートウェイインタフェース２ａ、およびゲートウェイインタフェース２ａに対応するインタフェースレジスタ２ｆを介して行なわれる。ＣＰＵ４−２は、カスタマインタフェース５−２、およびカスタマインタフェース５−２に対応するインタフェースレジスタ２ｇを介して、メッセージもしくはメッセージオブジェクトにアクセスする。従って、ゲートウェイ制御ユニット４−１およびプロセッサユニット４−２による、全てのメッセージもしくはメッセージオブジェクトへのアクセスが、相互に作用することなく可能である。
【００３４】
図５は、ゲートウェイ１に含まれるゲートウェイ制御ユニット４−１の可能な実施形態を示している。ゲートウェイ制御ユニット４−１は、対応するシステムバス５−１を介して、メッセージ交換のために通信モジュール２−ｉに接続されている。ルーティングされるべきメッセージもしくはメッセージオブジェクトＭＯが通信モジュ−ルで発生したことが、外部イベントＥＶｅｘｔとして、各通信モジュール２−ｉによりゲートウェイ制御ユニット４−１に通知される（anzeigt）。図３に示すように、イベントを通知するための少なくとも１つの通知線を有する各通信モジュール２−ｉが、ゲートウェイ制御ユニット４−１に接続されている。可能な実施形態において、図４に示される通信モジュール２−ｉは、メッセージレジスタごとにメッセージを格納するために、各インタフェースのための複数の並列メッセージレジスタを有する。可能な実施形態において、メッセージは、複数のグループ、例えばｍグループに分けられる。可能な実施形態において、通信モジュール２−ｉ内に設けられるメッセージグループの数は、ｍ＝４である。通信モジュール２−ｉのメッセージハンドラ２ｄは、外部イベントＥＶｅｘｔが発生した際、例えば、転送されるべきメッセージの受信を、ゲートウェイ制御ユニット４−１に対応する通知線を介して通知する。可能な実施形態において、メッセージグループごとに独自の通知線が、例えばｍ＝４の通知線として設けられている。全ての通信モジュール２−ｉが同一のｍを有するという前提において、通信モジュール２−ｉの数がＮであり、通信モジュール２−ｉ内のグループ数がｍの場合、外部イベントのための通知線の数は、Ｎ×ｍである。
【００３５】
図５に示すように、ゲートウェイ制御ユニット４−１は、システムバス５−１を介して通信モジュール２−ｉに接続されている。さらに、ゲートウェイ制御ユニット４−１には、ルーティングされるべきメッセージが通信モジュールで発生したことが、外部イベントＥＶｅｘｔとして、各通信モジュール２−ｉによって通知線を介して通知される。ゲートウェイ制御ユニット４−１は、ベクトル記憶装置ＶＲＡＭを含んでおり、その記憶内容が図６に示されている。さらに、ゲートウェイ制御ユニット４−１は、命令を格納するための命令記憶装置もしくは命令ＲＡＭを含んでおり、その記憶内容が図７に示されている。ゲートウェイ制御ユニット４−１の中央制御要素は、シーケンス制御部、または、有限オートマトン（ＦＳＭ：Finite State Machine）によって形成される。有限オートマトンは、イベントＦＳＭ、およびイベントＦＳＭとは別体の命令ＦＳＭから構成される。さらに、ゲートウェイ制御ユニット４−１は、状態レジスタＳＲ、および内部イベントＥＶｉｎｔを起動するタイミング発生器としてのカウンタＺを含んでいる。ゲートウェイ制御ユニット４−１は、システムバスインタフェースＳＢＩを介してシステムバス５−１に接続されている。ベクトル記憶装置もしくはＶＲＡＭは、図６に示されるように、基本的に３つの記憶領域を含んでいる。第１記憶領域には、通信モジュール２の構成データ（Konfigurationsdaten）が存在する。つまり、各通信モジュール２−ｉのために、メッセーグループごとに通信モジュールベクトルＫＢＶが格納されている。通信モジュールベクトルＫＢＶは、対応する通信モジュール２−ｉのために、通信モジュール２−ｉに格納されているメッセージＮについて、次に予期される内部イベントＥＶｉｎｔを示す時点ＺＰを格納している。追加的に、通信モジュールベクトルＫＢＶは、対応するメッセージＮのメッセージベクトルＮＶを示すベクトルジャンプアドレスＶＳＡを有している。可能な構成データは、ＣＣフラグによって形成される。ＣＣフラグは、通信モジュール２もしくは通信コントローラが作動しているか、または作動していないかを示す。通信モジュール２がメッセージＮの複数のグループを有する場合に、通信モジュールベクトルＫＢＶは、通信モジュール２内の各メッセージグループのために設けられる。
【００３６】
ゲートウェイ制御ユニット４−１内のベクトル記憶装置ＶＲＡＭは、さらに、第２記憶領域を含んでいる。第２記憶領域には、各メッセージ（Nachricht）Ｎもしくは各メッセージ（Message）ＭＳＧのために、メッセージベクトルＮＶとして構成データが格納されている。各関連する（relevant）メッセージＮのために、メッセージベクトルＮＶがベクトル記憶装置ＶＲＡＭに格納されている。通信モジュール２−ｉに一時格納されている各メッセージＮのために、対応する（entsprechend）メッセージベクトルＮＶが設けられている。または、対応するメッセージベクトルＮＶは、対応する（zugehoerig）メッセージＮにより起動される内部イベントＥＶｉｎｔの設定可能な期間（zeitraum）ＺＰおよび命令ジャンプアドレスＢＳＡを示すＶＲＡＭに格納されている。
【００３７】
ゲートウェイ１の可能な実施形態において、メッセージベクトルＮＶは、対応するメッセージＮにより起動される内部または外部イベントの時点ＺＰと、対応するメッセージＮにより起動される次の内部イベントの時点ＺＰとの時間差△ｔをさらに有している。
【００３８】
通信モジュールベクトルＫＢＶのための記憶領域、およびメッセージベクトルＮＶのための第２記憶領域の他に、ベクトル記憶領域ＶＲＡＭは、さらに、自由に構成可能な第３記憶領域を有している。第３記憶領域には、変数が一時格納され、かつ、定数およびフラグが格納されている。さらに、ベクトル記憶領域ＶＲＡＭの自由に構成可能な第３記憶領域は、ＣＰＵ４−２とのデータ交換の役割を果たす。
【００３９】
ベクトル記憶装置ＶＲＡＭの第２記憶領域に格納されるメッセージベクトルＮＶは、命令ジャンプアドレスＢＳＡを有している。命令ジャンプアドレスＢＳＡによって、命令記憶装置ＩＲＡＭ内の少なくとも１つの命令ルーチンがアドレス指定可能となる。各メッセージＮのために、ベクトル記憶装置ＶＲＡＭの第２記憶領域には、メッセージベクトルＮＶが格納されている。メッセージベクトルＮＶは、命令記憶装置ＩＲＡＭ内のサブルーチンを示す命令ジャンプアドレスを有している。この種の命令シーケンスまたはサブルーチンは、各メッセージに割り当てられたＩＲＡＭ内の記憶領域に格納されている。記憶領域の容量は、特に可変である。さらに、命令記憶装置ＩＲＡＭ内の記憶領域の位置も同様に可変である。
【００４０】
ゲートウェイ制御ユニット４−１には、ベクトル記憶装置ＶＲＡＭおよび命令記憶装置ＩＲＡＭの他に、シーケンス制御部ＦＳＭが設けられている。シーケンス制御部ＦＳＭは、イベントＦＳＭおよび命令ＦＳＭを有している。シーケンス制御部のイベントＦＳＭは、内部または外部イベント発生の際に、ベクトル記憶装置ＶＲＡＭに格納されているベクトル、つまり、通信モジュールベクトルＫＢＶおよびメッセージベクトルＮＶを評価し、各ベクトル内に示されている時点を更新する。
【００４１】
さらに、ゲートウェイ制御ユニット４−１は、構成および状態レジスタ（Konfigrations-bzw.Statusregister）ＳＲを有している。構成および状態レジスタＳＲは、通信モジュール２−ｉに一時格納されている全てのメッセージのために予期される全ての内部イベントのうち、最も直近に予期されるメッセージの時点ＺＰを特に一時格納する。
【００４２】
シーケンス制御部の命令ＦＳＭは、命令記憶装置ＩＲＡＭから読出される命令を実行する。その時点ＺＰが状態レジスタＳＲに示されている内部イベントＥＶｉｎｔが発生した際、または、通信モジュール２−ｉによりシーケンス制御部に通知される外部イベントＥＶｅｘｔが発生した際に、イベントＦＳＭは、各通信モジュール２−ｉに対応する通信モジュールベクトルＫＢＶをベクトル記憶装置ＶＲＡＭの第１記憶領域から読出す。読出された通信モジュールベクトルＫＢＶは、ベクトル記憶装置ＶＲＡＭの第２記憶領域内のメッセージベクトルＮＶを示すベクトルジャンプアドレスＶＳＡを含んでいる。各通信モジュール２−ｉ、または通信モジュール２−ｉ内の各メッセージＮのグループのために、独自の通信モジュールベクトルＫＢＶが設けられている。この独自の通信モジュールベクトルＫＢＶは、ある意味で、ベクトル記憶領域ＶＲＡＭの第２記憶領域内のメッセージベクトルＮＶのハッシュテーブルを形成する。シーケンス制御部のイベントＦＳＭは、ベクトルジャンプアドレスＶＳＡを用いて、アドレス指定されたメッセージベクトルＮＶをベクトル記憶装置ＶＲＡＭの第２記憶領域から読出し、アドレス指定されたメッセージベクトルＮＶ内に含まれる命令ジャンプアドレスＢＳＡを用いて、命令記憶装置ＩＲＡＭ内のサブルーチンを読出す。アドレス指定された命令は、命令記憶装置ＩＲＡＭから読出され、シーケンス制御部内の命令ＦＳＭによって実行される。命令ＦＳＭは、ベクトル内、つまり、メッセージベクトルＮＶ内および通信モジュールベクトルＫＢＶ内に示されている時点ＺＰを、ＮＶおよびＫＢＶに対応して、特に、イベントＦＳＭまたは実行された命令によって更新する。
【００４３】
図５に示されるゲートウェイ制御ユニット４−１は、内部イベントを起動するための内部タイミング発生器としてカウンタＺを有している。
【００４４】
ゲートウェイ制御ユニット４−１において、外部イベントＥＶｅｘｔと内部イベントＥＶｉｎｔとが区別される。外部イベントＥＶｅｘｔは、転送されるべきメッセージＮまたはメッセージパケットＤＰの特に受信時に、通信モジュール２−ｉによって起動される。内部イベントＥＶｉｎｔは、タイミング発生器または時間カウンタＺによって起動される。この内部イベントは、例えば、メッセージの周期的な送信、受信されたメッセージバーストのデバウンス（Entprellen bzw. Debouncen）、または予定期間を超過した際のタイムアウトメッセージの送信に役立つ。通信モジュール２−ｉ内の各関連するメッセージバッファのために、ゲートウェイ１の可能な実施形態において、ベクトル記憶装置ＶＲＡＭにメッセージベクトルＮＶが格納されている。メッセージベクトルＮＶは、例えば以下の情報を有する。つまり、送信されるべきデータオブジェクトもしくはメッセージＮを示す参照子、特定の命令シーケンスつまり次の内部イベントを実行するためのジャンプアドレス、後続の内部イベントを計算するための時間差（Differenzzeit）、ならびに、制御用の情報データ、および状態情報を有している。
【００４５】
２つのバスの間または複数のバス３の間でゲートウェイ１を介してデータを伝送するために、ベクトル記憶装置ＶＲＡＭに格納されているデータ、特に定義される時点ＺＰによって、カウンタＺを使用することで、ほとんど全ての時間的フロー（zeitlicher Ablauf）をゲートウェイ制御ユニット４−１により実現することが可能となる。システム起動の際に、タイミング発生器Ｚまたはカウンタが始動される。従って、カウンタは、システム全体で有効なタイムフレームにＣＰＵクロックを分配する。メッセージＮの送信を起動するために、カウンタＺの目下のカウンタ値は、通信モジュールベクトルＫＢＶ内、およびベクトル記憶装置ＶＲＡＭのメッセージベクトルＮＶ内でメッセージオブジェクトを検証するために使用される。その際、タイミング発生器Ｚのカウンタ値は、ベクトルテーブルに格納されている時間値と比較される。カウンタＺのタイミング発生値が、格納されている各時間値または各時点より大きくまたは同一であり、かつ、対応するメッセージＮもしくはメッセージオブジェクトが送信オブジェクトである場合には、示されているアドレスへジャンプし、示されている命令が実行される。メッセージＮもしくはメッセージオブジェクトが受信オブジェクトである場合には、受信オブジェクトが既に受信されている必要があるか否かが検証される。予期される時間内に受信メッセージオブジェクトが受信されない場合には、ゲートウェイ１によりタイムアウトが起動され、対応するタイムアウトメッセージが示される。続いて、シーケンス制御部により時間データ（Zeitangabe）が更新される。その際、計算は、サイクル時間が示された、それまでの時間データに基づいている。新たに計算された時点によって、メッセージＮを再送する必要があるタイミング、または次のタイムアウトが行なわれるタイミングが検出される。
【００４６】
メッセージＮの直接転送、または即時転送の際には、カウンタＺにより示される時間値が比較される必要はない。ゲートウェイ制御ユニット４−１には、メッセージＮが通信モジュール２により受信されたことが、通信モジュール２−ｉによって通知される。続いて、シーケンス制御部ＦＳＭは、ベクトル記憶装置ＶＲＡＭ内で対応するエントリ、つまりメッセージＮに対応する通信モジュールベクトルＫＢＶを検索する。このベクトルＫＢＶは、ベクトル記憶装置ＶＲＡＭの第２記憶領域内のメッセージベクトルＮＶを示している。メッセージベクトルＮＶは、ルーティング命令が格納されているルーチンへの命令ジャンプアドレスＢＳＡを含んでいる。
【００４７】
新たな予定時間値（Erwartungszeitwert）もしくは予期された時点ＺＰの計算のために、カウンタＺにより伝達される時間値の評価、および、異なる通信モジュール２−ｉの駆動は、自動的に進行するシーケンス制御部もしくは有限オートマトンによって行なわれる。シーケンス制御部ＦＳＭは、カウンタＺおよび状態レジスタＳＲを用いて、送信されるべき全てのメッセージオブジェクトもしくはメッセージを検証し、さらに、通信モジュール２−ｉにより外部からの新たなメッセージの受信を追加的に検証する。メッセージの周期的な送信等の内部イベントの発生の際、または、転送されるべきメッセージＮの通信モジュール２による受信等の外部イベントの発生の際には、設定されたルーティング命令が実行され、異なる通信モジュール２が駆動される。カスタマインタフェース５−２を介して通信モジュール２を連携させることによって、本発明の一実施形態に係るゲートウェイ１内のＣＰＵ４−２について、常に、通信モジュール内もしくはバスモジュール２−ｉ内のメッセージＮにアクセスする可能性が生じる。メッセージＮは、通信モジュール２−ｉ、またはシリアルバス３−ｉのバスモジュールに、特に一時格納され、かつ、自動ルーティングのためのゲートウェイ１の可能な実施形態において、ゲートウェイ制御ユニット４−１にロードされない。通信モジュールもしくはバスモジュール２−ｉ間でのメッセージ伝送は、ゲートウェイ１の可能な実施形態において、更に別のバスによって、つまり、異なる通信モジュールを互いに環状に連結させるリングバスによって行なわれる。ＣＰＵ４−２は、インタフェースレジスタ２ｇを介して、通信モジュール２−ｉ内に一時格納されている全てのメッセージオブジェクトもしくはメッセージＮにアクセス可能である。一方、ゲートウェイ制御ユニット４−１は、第２インタフェースレジスタ２ｆを介してアクセスを実行する。
【００４８】
図８は、ゲートウェイ１の可能な実施形態における動作方法を示す信号フロー図である。ゲートウェイ制御ユニット４−１の状態レジスタＳＲには、通信モジュール２−ｉに格納されている全てのメッセージのための全ての予期されるイベントのうち、次に予期されるイベント、つまり、予期される最も直近のイベントが発生する時点ＺＰが一時格納されている。従って、状態レジスタＳＲには、最も直近の内部イベント、または最も直近の内部イベントとしてゲートウェイ制御ユニット４−１により予期される内部イベントＥＶｉｎｔが一時格納されている。タイミング発生器Ｚが最も直近の内部イベントの発生を示す（ｔｎｘｔＥＶＴａｌｌ≦ＴＩＭＥＲ）カウンタ値を出力するとすぐに、シーケンス制御部内のイベントＦＳＭは、対応する通信モジュール２−ｉを識別し、かつ、対応する通信モジュール２−ｉ内の各グループのために、ベクトル記憶装置ＶＲＡＭに格納されている全ての通信モジュールベクトルＫＢＶを評価する。図８に示される簡単な例の場合、通信モジュール２は２つのメッセージグループ、つまり、グループＧＲＰ１およびグループＧＲＰ２を有している。イベントＦＳＭは、ステップＳ１において、ベクトル記憶装置ＶＲＡＭの第１記憶領域に格納されており、時間イベントを起動する通信モジュールベクトルＫＢＶを評価し、かつ、図８に示される例において、通信モジュール２に一時格納されているメッセージの第２グループＧＲＰ２のために、通信モジュールベクトルＫＢＶを検出する。更に別のステップＳ２において、第２ベクトル記憶装置ＶＲＡＭの第２記憶領域内の、時間イベントを起動するメッセージベクトルＮＶが読出されて評価される。図８に示される例において、イベントＥＶを起動するベクトルは、起動する通信モジュール２−ｉの第２グループＧＲＰ２内のメッセージもしくはメッセージオブジェクト（メッセージオブジェクト１）のベクトルに相当する。
【００４９】
更に別のステップＳ３では、このメッセージオブジェクト（Message-Objekt）ＭＯのために、次の時間イベントもしくは内部イベントが計算される。
【数１】
2009527168.tif 000003
【００５０】
この計算は、各メッセージベクトルＮＶが、対応するメッセージＮもしくはメッセージオブジェクト（Nachrichten-Objekt）ＮＯにより起動される内部イベントの時点ＺＰと、対応するメッセージＮにより次に起動される内部イベントの時点ＺＰとの間の時間差△ｔをさらに有しているので可能となる。
【００５１】
更に別のステップＳ４では、次の時間イベントもしくは内部イベントＥＶｉｎｔがイベントＦＳＭによって検索される。
【数２】
2009527168.tif 000004
【００５２】
更に別のステップＳ５では、検出された時点に基づいて、ベクトル記憶装置ＶＲＡＭの第１記憶領域内の通信モジュールベクトルＫＢＶにおいて、時間データｔｎｘｔＥＶ−Ｇｒｐｎが更新される。
【００５３】
更に別のステップＳ６では、格納されているメッセージもしくはメッセージオブジェクトＭＯの全てのグループについての、次の時間イベントもしくは予期される次の内部イベントが、全ての通信モジュール２−ｉを介して選択可能となる。図８に示される例において、これは、第１通信モジュール内の第１グループＧＲＰ１のための時点ｔｍに相当する。
【００５４】
後続のステップＳ７では、状態レジスタＳＲに、この時点ｔｍが、予期される直近の内部イベントの時点ｔｎ＋１として格納される。カウンタＺが時点ｔｎ＋１に達するとすぐに、図８に示される工程、つまり、ステップＳ１〜ステップＳ７が改めて実行される。
【００５５】
図９は、２つの時間信号図を示している。上側の信号図は、ゲートウェイ１に到着したメッセージもしくはメッセージオブジェクトＭＯを示し、下側の信号図は、ゲートウェイ１から他のシリアルバスに出力されたメッセージを示している。図９に示される例において、第１シリアルバス３−ｉで受信されたメッセージＭＯが、直接他のシリアルバス３−ｊを介して転送されている。その際、小さな時間遅延ｔＧＤｄｅｌａｙが生じる。図９に示すように、送信サイクル時間ｔｃｙｃｌｅは一定である。つまり、（周期的または自発的に）受信されたメッセージオブジェクトＮは、周期的に転送される。
【００５６】
図１０は、メッセージオブジェクトＮが周期的に受信されない場合でも、ゲートウェイ１によりメッセージＮが周期的に送信される状況を示している。最後に受信されたメッセージＮｉは、継続的かつ周期的に、一定の周期内でバス３−ｉへ送信される。
【００５７】
図１１は、タイムアウトが発生したメッセージの直接転送を示している。つまり、予期されるメッセージの不在（未着）が監視されている。図１１に示すように、第１シリアルバス３−ｉを介してメッセージＮもしくはメッセージオブジェクトが受信され、出力バスに直接転送される。時点ｔＡにおいて、予期されたメッセージが届いていないことが確認され（festgestellt）、ゲートウェイ１は、予期されたメッセージの不在を示すために、出力メッセージとして出力バスに出力されるタイムアウトメッセージを生成する。図１１に示される工程の実行のために、シーケンス制御部は、この種のメッセージの受信の際に（メッセージは厳密にタイムフレーム内で受信される）図８に示されるＳ１を実行するのではなく、かつ、メッセージＮの不在の際にＳ３（タイムアウトの起動）を実行するのではなく、その都度、残りのステップを実行する。
【００５８】
図１２は、メッセージバーストのデバウンス（Entprellen）を示している。図１２に示される例において、ゲートウェイ１は、所定のフレームｔＤＥＢ内にメッセージを重複して有しており、第１メッセージグループだけを他のシリアルバス３−ｉに転送する。バースト内の残りのメッセージは、ゲートウェイ１により差し止められる（unterdruecken）。図１２に示される機能または対応する駆動モードの場合、第１パス（Durchlauf）において、デバウンスアクティブビットが構成データとしてベクトル記憶装置ＶＲＡＭのメッセージベクトルＮＶ内に、メッセージを受信するために設定される。デバウンスアクティブビットが設定されるとすぐに、図８に示される工程が行なわれる。その際、ステップＳ３が省略される。続いて、デバウンスアクティブビットが構成データにおいて再びリセットされる。
【００５９】
図９、１０、１１、１２に示すように、本発明の一実施形態に係るゲートウェイ１は、異なるバス間３−ｉ、３−ｊで伝送されるメッセージの転送または処理のための異なる駆動モードまたは機能に適している。本発明の一実施形態に係るゲートウェイ１によれば、発生するデータ量に応じて、タイムアウトを自動検証する際、および、メッセージもしくは複数メッセージの組み合わせをゲートウェイ制御ユニット４−１により送信する際に、ＣＰＵに課せられる負荷が著しく低減される。メッセージもしくはメッセージオブジェクトの送信、またはタイムアウトに関するメッセージの検証は、ＣＰＵ４−２で並行して駆動している工程に依存せずに、ゲートウェイ制御ユニット４−１により行なわれる。これによって、基本的に、より小さなジッタおよび待ち時間が達成される。従って、ネットワークにおける工程をより厳密に開始し、実行することが可能となる。その際、各メッセージオブジェクトもしくは各メッセージＮを、他のネットワークに依存せずに、かつ、他のメッセージオブジェクトに依存せずに、個々の通信モジュールもしくはバスモジュールにおいて構成することが可能となる。本発明の一実施形態に係るゲートウェイ１において使用される、ベクトルを用いた参照技術（Verweistechnik）によって、本発明の一実施形態に係るゲートウェイ１の設定可能性（Konfigurierbarkeit）に関して、特に高いフレキシブル性が得られる。各通信モジュール２内に格納可能なメッセージＮのグループを形成することによって、更に別のネスティング（Vershachtelung）が可能となり、フレキシブル性がさらに向上される。さらに、処理されるべきメッセージの検索工程の速度が基本的に短縮され、通信工程のコンパクトな定義によって、全てのメッセージオブジェクトのために必要な記憶容量が最小限に抑えられる。本発明の一実施形態に係るゲートウェイ１は、外部イベントが、内部イベントの時間的フローの決定に関与する、または制御する可能性をもたらす。本発明の一実施形態に係るゲートウェイ１は、ＣＰＵ４−２による関与なしに、フィールドバスもしくはシリアルバス３間でデータを自動伝送する。その際、所定のタイムフレーム内での周期的な送信、メッセージ受領後の即時伝送、メッセージ不在の検証、およびメッセージのデバウンスが可能となる。その際、メッセージＮの伝送は、ＣＰＵによる直接的な制御なしに行なわれる。しかし、ＣＰＵ４−２は、常に、転送され、または利用されるメッセージオブジェクトに対するアクセス権を得る。その際、メッセージの自動ルーティングが中断されることはない。メッセージオブジェクトもしくはメッセージＮの伝送もしくは転送は、本発明の一実施形態に係るゲートウェイ１において、ソフトウェアの待ち時間、またはＣＰＵ４−２に対する目下の負荷に依存せずに行なわれる。
【図面の簡単な説明】
【００６０】
【図１】従来技術に係る通信モジュールを示すブロック図である。
【図２】従来技術に係るゲートウェイを示すブロック図である。
【図３】本発明の一実施形態に係るゲートウェイを示すブロック図である。
【図４】本発明の一実施形態に係るゲートウェイの通信モジュールを示すブロック図である。
【図５】本発明の一実施形態に係るゲートウェイに含まれるゲートウェイ制御ユニットを示すブロック図である。
【図６】本発明の一実施形態に係るゲートウェイに含まれるベクトル記憶装置の記憶内容を示す図である。
【図７】本発明の一実施形態に係るゲートウェイに含まれる命令記憶装置の記憶内容を示す図である。
【図８】本発明の一実施形態に係るゲートウェイによるメッセージ転送の例を示す信号図である。
【図９】本発明の一実施形態に係るゲートウェイによるメッセージ転送の更に別の例を示す信号図である。
【図１０】本発明の一実施形態に係るゲートウェイによるメッセージ転送の更に別の例を示す信号図である。
【図１１】本発明の一実施形態に係るゲートウェイによるメッセージ転送の更に別の例を示す信号図である。
【図１２】本発明の一実施形態に係るゲートウェイによるメッセージ転送の更に別の例を示す信号図である。
【図１】
2009527168.tif 000005
【図２】
2009527168.tif 000006
【図３】
2009527168.tif 000007
【図４】
2009527168.tif 000008
【図５】
2009527168.tif 000009
【図６】
2009527168.tif 000010
【図７】
2009527168.tif 000011
【図８】
2009527168.tif 000012
【図９】
2009527168.tif 000013
【図１０】
2009527168.tif 000014
【図１１】
2009527168.tif 000015
【図１２】
2009527168.tif 000016
【手続補正書】
【提出日】平成20年8月18日(2008.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
バス（３）間でのメッセージの自動ルーティングのためのゲートウェイであって、
（ａ）メッセージ（Ｎ）を一時格納し、前記バス（３）を介して伝送するための複数の通信モジュール（２）と、
（ｂ）メッセージ（Ｎ）を交換するためにシステムバス（５−１）を介して前記通信モジュール（２）に接続されており、ルーティングされるべきメッセージ（Ｎ）が前記通信モジュール（２）で発生していることを外部イベント（ＥＶｅｘｔ）として前記通信モジュール（２）から通知されるゲートウェイ制御ユニット（４−１）と、
を備え、
前記ゲートウェイ制御ユニット（４−１）は、
（ｂ１）通信モジュールベクトル（ＫＢＶ）を格納するためのベクトル記憶装置（ＶＲＡＭ）であって、各通信モジュール（２）のために通信モジュールベクトル（ＫＢＶ）が設けられており、前記通信モジュールベクトル（ＫＢＶ）は、メッセージ（Ｎ）のために次に予期される内部イベント（ＥＶｉｎｔ）の時点（ＺＰ）、およびメッセージベクトル（ＮＶ）へのベクトルジャンプアドレスを示しており、前記メッセージベクトル（ＮＶ）は、対応するメッセージ（Ｎ）により起動される内部イベント（ＥＶｉｎｔ）の設定可能な時点（ＺＰ）、および命令ジャンプアドレスを示している、ベクトル記憶装置（ＶＲＡＭ）と、
（ｂ２）前記メッセージベクトル（ＮＶ）内に示されている命令ジャンプアドレスによりアドレス指定可能な命令を格納するための命令記憶装置（ＩＲＡＭ）と、
（ｂ３）シーケンス制御部（ＦＳＭ）であって、メッセージベクトル（ＮＶ）内に時点（ＺＰ）が示されている内部イベント（ＥＶｉｎｔ）が発生した際に、または、外部イベント（ＥＶｅｘｔ）が発生した際に、前記ベクトル記憶装置（ＶＲＡＭ）から各通信モジュール（２）に対応する通信モジュールベクトル（ＫＢＶ）を読出し、前記通信モジュールベクトル（ＫＢＶ）に含まれるベクトルジャンプアドレスを用いて、アドレス指定されたメッセージベクトル（ＮＶ）の前記命令ジャンプアドレスを読出した後に、前記読出された命令ジャンプアドレスを用いて少なくとも１つの命令を前記命令記憶装置（ＩＲＡＭ）から読出して実行し、前記ベクトル（ＮＶ、ＫＢＶ）内に示されている時点（ＺＰ）が更新される、シーケンス制御部（ＦＳＭ）と、
を有する、バス間でのメッセージの自動ルーティングのためのゲートウェイ。
【請求項２】
前記ゲートウェイ（１）は、独立した第２システムバス（５−２）を介して前記通信モジュール（２）に接続されているプロセッサ（４−２）を備える、請求項１に記載のゲートウェイ。
【請求項３】
前記ゲートウェイ制御ユニット（４−１）の前記シーケンス制御部（ＦＳＭ）は、
内部イベントまたは外部イベントの発生の際に、ベクトル記憶装置（ＶＲＡＭ）に格納されているベクトル（ＫＢＶ、ＮＶ）を評価し、前記ベクトル内に示されている時点を更新する、イベントＦＳＭと、
前記命令記憶装置（ＩＲＡＭ）から読出された命令を実行する命令ＦＳＭと、
を有する、請求項１に記載のゲートウェイ。
【請求項４】
前記メッセージベクトル（ＮＶ）は、前記対応するメッセージ（Ｎ）により起動される内部イベントの前記時点（ＺＰ）と、前記対応するメッセージ（Ｎ）により次に起動される内部イベントの時点（ＺＰ）との間の時間差（△ｔ）をさらに有する、請求項１に記載のゲートウェイ。
【請求項５】
前記ゲートウェイ制御ユニット（４−１）は、内部イベント（ＥＶｉｎｔ）を起動するための内部タイミング発生器としてカウンタ（Ｚ）を有する、請求項１に記載のゲートウェイ。
【請求項６】
前記ゲートウェイ制御ユニット（４−１）は、状態レジスタ（ＳＲ）を有し、前記状態レジスタ（ＳＲ）は、前記通信モジュール（２）に一時格納されている全てのメッセージ（Ｎ）のために予期される全ての内部イベントのうち、次に予期されるイベントの時点（ＺＰ）を一時格納する、請求項１に記載のゲートウェイ。
【請求項７】
前記バス（３）は、シリアルバスである、請求項１に記載のゲートウェイ。
【請求項８】
各通信モジュール（２）は、
（ａ）データパケット（ＤＰ）と複数のデータワード（ＤＷ）からなるメッセージ（ＭＳＧ）との間で変換するために、シリアルバス（３）に接続されている通信プロトコルユニット（２ｃ）と、
（ｂ）少なくとも１つのメッセージ記憶装置（２ｅ）と前記通信プロトコルユニット（２ｃ）との間、および少なくとも１つのメッセージ記憶装置（２ｅ）とバッファ（２ｆ、２ｇ）との間でメッセージ（ＭＳＧ）を転送するためのメッセージ転送ユニット（２ｄ）と、
（ｃ）前記ゲートウェイ（１）の対応するシステムバス（５−１、５−２）に各々に接続されている複数のインタフェースユニット（２ａ、２ｂ）であって、各インタフェースユニット（２ａ、２ｂ）は、メッセージ（ＭＳＧ）を一時格納する少なくとも１つの対応するバッファ（２ｆ、２ｇ）に接続されている、複数のインタフェースユニット（２ａ、２ｂ）と、
を有し、
複数のシステムバス（５−１、５−２）、および前記複数のシステムバス（５−１、５−２）に対応するインタフェースユニット（２ａ、２ｂ）を介して、前記インタフェースユニット（２ａ、２ｂ）の前記バッファ（２ｆ、２ｇ）からのデータワード（ＤＷ）の伝送、および前記インタフェースユニット（２ａ、２ｂ）の前記バッファ（２ｆ、２ｇ）へのデータワード（ＤＷ）の伝送が、待ち時間なしに同時に行われる、請求項２に記載のゲートウェイ。
【請求項９】
前記シリアルバス（３）は、フィールドバスである、請求項７に記載のゲートウェイ。
【請求項１０】
前記フィールドバスは、ＣＡＮバスである、請求項９に記載のゲートウェイ。
【請求項１１】
前記シリアルバス（３）は、イーサネットバスである、請求項９に記載のゲートウェイ。
【請求項１２】
前記２つのシステムバス（５−１、５−２）の各々は、対応するシステムバスマスタ（４−１、４−２）を有する、請求項２に記載のゲートウェイ。
【請求項１３】
通信モジュール（２）の前記メッセージ転送ユニット（２ｄ）は、システムバス（５−１、５−２）を介してワード単位で伝送されるメッセージの受信を前記システムバスのシステムバスマスタ（４−１、４−２）に信号で知らせる、請求項８に記載のゲートウェイ。
【請求項１４】
通信モジュールの前記メッセージ転送ユニット（２ｄ）は、前記システムバスマスタ（４−１、４−２）が情報を照会した後に、伝送されるべきメッセージの受領を前記システムバスマスタ（４−１、４−２）に信号で知らせる、請求項８に記載のゲートウェイ。
【請求項１５】
前記各システムバス（５−１、５−２）により受信されるメッセージは、前記シリアルバス（３）を介して送信準備を信号で知らせるために少なくとも１つのフラッグビットを有し、かつ、バッファ（２ｆ、２ｇ）に一時格納されて前記メッセージ転送ユニット（２ｄ）により前記メッセージ記憶装置（２ｅ）へ転送される、請求項８に記載のゲートウェイ。
【国際調査報告】
2009527168.tif 000017
2009527168.tif 000018