(57)【要約】メッセージメモリ（３００）へデータを入力し、あるいはそこから出力することによって、通信モジュール（１００）のメッセージメモリ（３００）のデータへアクセスする方法および装置であって、その場合にメッセージメモリがバッファメモリ配置（２０１と２０２）と接続されており、データは第１の伝送方向においてメッセージメモリへ伝送され、第２の伝送方向においてはメッセージメモリから伝送され、その場合にバッファメモリ配置は、第１の伝送方向において入力バッファメモリ（２０１）を有し、第２の伝送方向においては出力バッファメモリ（２０２）を有しており、かつ入力バッファメモリと出力バッファメモリがそれぞれ部分バッファメモリ（４００、７０１）と部分バッファメモリのためのシャドウメモリ（４０１、７００）に分割されており、その場合に各伝送方向において次のステップが実施される：  −それぞれの部分バッファメモリへデータを入力し、かつ  −部分バッファメモリとシャドウメモリへのアクセスが交換されるので、  −後続のデータは、シャドウメモリへ入力することができ、入力されているデータはすでに部分バッファメモリから予定されている伝送方向に出力される。【選択図】図２
2008509583.tif 000002
【特許請求の範囲】
【請求項１】
メッセージメモリ（３００）へデータを入力し、あるいはメッセージメモリ（３００）からデータを出力することによって、通信モジュール（１００）のメッセージメモリ（３００）のデータへアクセスする方法であって、
メッセージメモリがバッファメモリ配置（２０１および２０２）と接続されており、データが第１の伝送方向においてメッセージメモリへ、第２の伝送方向においてはメッセージメモリから伝送される、前記方法において、
バッファメモリ配置が、第１の伝送方向において入力バッファメモリ（２０１）を有し、第２の伝送方向においては出力バッファメモリ（２０２）を有しており、かつ、
入力バッファメモリおよび出力バッファメモリが、それぞれ部分バッファメモリ（４００、７０１）とその部分バッファメモリのためのシャドウメモリ（４０１、７００）に分割されており、その場合に各伝送方向において：
−それぞれの部分バッファメモリへデータを入力し、かつ、
−部分バッファメモリとシャドウメモリへのアクセスが交換されるので、
−後続のデータをシャドウメモリへ入力することができ、入力されているデータはすでに部分バッファメモリから予定されている伝送方向に出力される、
ステップが実行されることを特徴とする、通信モジュールのメッセージメモリのデータへアクセスする方法。
【請求項２】
部分バッファメモリとシャドウメモリへのアクセスの交換が、識別子によって指示されることを特徴とする、請求項１に記載の方法。
【請求項３】
部分バッファメモリとシャドウメモリへのアクセスの交換が、識別子によって作動されることを特徴とする、請求項１に記載の方法。
【請求項４】
データがメッセージ内で伝送され、メッセージにはメッセージ識別子（ＩＢＲＨ、ＩＢＲＳ、ＯＢＲＨ、ＯＢＲＳ）が設けられており、部分バッファメモリとシャドウメモリへのアクセスの交換が、予め定められるレジスタ（４０３、４０４、７０３、７０４）内へメッセージ識別子が書き込まれた場合に行われることを特徴とする、請求項１に記載の方法。
【請求項５】
データがメッセージ内で伝送され、メッセージ内のデータが少なくとも第１のデータ（ＫＤ）と第２のデータ（Ｄ）に分割されており、少なくとも１つのデータ識別子（ＬＨＳＨ、ＬＤＳＨ、ＬＤＳＳ、ＬＨＳＳ、ＲＨＳＳ、ＲＤＳＳ、ＲＤＳＨ、ＲＨＳＨ）に従って、前記第１のデータ（ＫＤ）のみ、あるいは前記第２のデータ（Ｄ）のみ、あるいは前記第１のデータと前記第２のデータが伝送されることを特徴とする、請求項１に記載の方法。
【請求項６】
データへのアクセスが、アクセス識別子（ＩＢＳＹＳ、ＩＢＳＹＨ、ＯＢＳＹＳ）によって表示され、前記アクセス識別子がレジスタに登録されることを特徴とする、請求項１に記載の方法。
【請求項７】
アクセス識別子（ＩＢＳＹＳ、ＩＢＳＹＨ、ＯＢＳＹＳ）自体から、あるいはレジスタ内のアクセス識別子の位置から、どの部分バッファメモリへ、あるいはどのシャドウメモリへ、今アクセスされるかの情報を求めることができることを特徴とする、請求項５に記載の方法。
【請求項８】
アクセスを交換する場合に、少なくとも一部のレジスタ登録が、特に識別子がレジスタ内で交換されることを特徴とする、請求項３、４または５に記載の方法。
【請求項９】
部分バッファメモリとシャドウメモリへのアクセスの交換が、切替え識別子（ＶＩＥＷ）によって作動されることを特徴とする請求項１に記載の方法。
【請求項１０】
データをメモリへ書き込もうとする場合に、少なくとも１つの伝送方向のためにスタート識別子（ＳＴＸＲＨ、ＲＥＱ）がレジスタへ登録されることを特徴とする、請求項１に記載の方法。
【請求項１１】
メッセージメモリ（３００）のデータへアクセスする方法であって、その場合にバッファメモリ（２０１、２０２）が設けられている、前記方法において、
バッファメモリが、部分バッファメモリ（４００、７０１）と前記部分バッファメモリのためのシャドウメモリ（４０１、７００）に分割されており、データへアクセスする場合に：
−データを部分バッファメモリへ入力し、かつ、
−部分バッファメモリとシャドウメモリへのアクセスが交換されるので、
−後続のデータは、シャドウメモリへ入力することができ、入力されているデータはすでに部分バッファメモリから出力される、
ステップが実行されることを特徴とする、メッセージメモリのデータへアクセスする方法。
【請求項１２】
通信モジュール（１００）のメッセージメモリ（３００）のデータへアクセスするためのバッファメモリ配置において、
バッファメモリ配置が、入力バッファメモリ（２０１）と出力バッファメモリ（２０２）に分割されており、入力バッファメモリ（２０１）が第１の部分バッファメモリ（４００）と、部分バッファメモリの第１のシャドウメモリ（４０１）とを有しており、出力バッファメモリ（２０２）は第２の部分バッファメモリ（７０１）と第２のシャドウメモリ（７００）を有しており、その場合に第１の手段が設けられており、前記第１の手段によって第１の部分バッファメモリ（４００）と第１のシャドウメモリ（４０１）へのアクセスが交換され、かつ第２の手段が設けられており、前記第２の手段によって第２の部分バッファメモリ（７０１）と第２のシャドウメモリ（７００）へのアクセスが交換されることを特徴とする、バッファメモリ配置。
【請求項１３】
通信モジュール（１００）のメッセージメモリ（３００）のデータへアクセスするためのバッファメモリにおいて、
バッファメモリ（２０１、２０２）は、部分バッファメモリ（４００、７０１）と前記部分バッファメモリのシャドウメモリ（４０１、７００）とを有しており、その場合に手段が設けられており、前記手段によって部分バッファメモリ（４００、７０１）とシャドウメモリ（４０１、７００）へのアクセスが交換されることを特徴とする、バッファメモリ。
【請求項１４】
請求項１２に記載のバッファメモリ配置を有する、通信モジュール。
【請求項１５】
請求項１３に記載のバッファメモリを有する、通信モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、独立請求項の上位概念に記載のメッセージメモリへデータを入力し、あるいはメッセージメモリからデータを出力することによって、通信モジュールのメッセージメモリのデータへアクセスする方法および装置に関する。
【背景技術】
【０００２】
通信システムとバスシステム、すなわち通信接続を用いて制御装置、センサ技術およびアクチュエータ技術をネットワーク化することは、近年、最近の自動車を製造する場合、あるいはまた機械製作、特に工作機械領域においても、すなわち自動化においても、著しく増大している。その場合に、機能を複数の制御装置へ分配することによるシナジー効果を得ることができる。その場合に分配されたシステムが話題にされる。種々のステーション間の通信は、ますますバスシステムを介して、すなわち通信システムを介して行われるようになって来ている。バス上の通信トラフィック、アクセスと受信の機構およびエラー処理は、プロトコルを介して制御される。そのための既知のプロトコルは、ＣＡＮプロトコルあるいはまたＴＴＣＡＮプロトコルおよびＦｌｅｘＲａｙプロトコルであって、その場合にこの時点においては、ＦｌｅｘＲａｙプロトコル仕様Ｖ２．０が基礎となっている。その場合にＦｌｅｘＲａｙは、特に自動車内に使用するための、高速、決定論的かつエラー許容するバスシステムである。ＦｌｅｘＲａｙプロトコルは、時分割多重接続（Time-Division-Multiple-Access(TDMA)）の方法に従って作動し、その場合にコンポーネント、すなわち加入者ないし伝送すべきメッセージに、固定のタイムスロットが割り当てられ、その中でそれらは通信接続への排他的アクセスを有している。これは、ＴＴＣＡＮにおいても、同様に変換される。その場合にタイムスロットは、固定のサイクルで繰り返されるので、メッセージがバスを介して伝送される時点は正確に予測することができ、バスアクセスは決定論的に行われる。バス上でメッセージを伝送するための帯域幅を最適に利用するために、ＦｌｅｘＲａｙはサイクルを静的な部分と動的な部分に分割する。その場合に固定のタイムスロットは、バスサイクルの最初の静的な部分内にある。動的な部分内では、タイムスロットは動的に与えられる。その中で排他的なバスアクセスは、それぞれ短い時間、いわゆるミニスロットの間だけ可能にされる。ミニスロットの内部でバスアクセスが行われた場合にのみ、タイムスロットが必要な時間だけ延長される。従って帯域幅は、それが実際にも必要とされる場合にだけ、消費される。その場合にＦｌｅｘＲａｙは、２本の物理的に分離された導線を介してそれぞれ１秒当たり最大１０ＭＢのデータ率で通信する。その場合に２つのチャネルは、特にＯＳＩ（Open System Architecture）参照モデルの、物理層に相当する。これらは、主としてメッセージの冗長な、すなわちエラー許容する伝送に用いられるが、異なるメッセージを伝送することも可能であって、その場合にはそれによってデータ率が倍増される。しかし、ＦｌｅｘＲａｙは、もっと低いデータ率で駆動することもできる。
【０００３】
同期した機能を実現し、かつ２つのメッセージ間の小さい間隔によって帯域幅を最適にするために、通信ネットワーク内の分配されたコンポーネント、すなわち加入者は、共通のタイムベース、いわゆるグローバルタイムを必要とする。タイマ同期のために、サイクルの静的な部分内で同期通知が伝送され、その場合にＦｌｅｘＲａｙ仕様に応じた特殊なアルゴリズムを用いてコンポーネントのローカルタイムが、すべてのローカルタイムがグローバルタイムに同期して進行するように、補正される。この同期化は、ＴＴＣＡＮネットワークにおいても同様に行われる。
【０００４】
ＦｌｅｘＲａｙネットワークノードまたはＦｌｅｘＲａｙ加入者あるいはホストは、加入者プロセッサ、すなわちホストプロセッサ、ＦｌｅｘＲａｙコントローラあるいは通信コントローラおよび（バスを監視する場合に）バスガーディアンを有している。その場合にホストプロセッサ、すなわち加入者プロセッサは、ＦｌｅｘＲａｙ通信コントローラを介して伝送されるデータを供給して処理する。ＦｌｅｘＲａｙネットワーク内の通信のために、たとえば２５４までのデータバイトを有するメッセージまたはメッセージオブジェクトを構成することができる。このメッセージまたはメッセージオブジェクトを、物理層、すなわち通信接続とホストプロセッサの間で伝送するために、通信モジュール、特に通信コントローラが使用される。
【０００５】
通信モジュール、特にＦｌｅｘＲａｙ通信コントローラ、のメッセージメモリへのアクセスは、ホストプロセッサユニット、従ってホストＣＰＵによっても、物理層へのインターフェイスモジュールを介しても行われる。その場合にホストＣＰＵによるアクセスは、コンフィグレーションデータ、ステータスデータおよび本来送信すべきデータの書込みと読取りを有している。その場合に物理層へのインターフェイスモジュールのアクセスは、送信メッセージの読取り、受信したメッセージの格納を有するが、その両方の場合に適切な方法でメッセージの一貫性が保証されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って本発明の課題は、ホストＣＰＵ、従って加入者プロセッサとメッセージメモリとの間のデータ伝送を、伝送速度とデータ一貫性に関して最適化することである。
【課題を解決するための手段】
【０００７】
この課題を解決するために、本発明は、メッセージメモリへデータを入力し、あるいはそこから出力することによって、通信モジュールのメッセージメモリのデータへアクセスする方法および装置に基づいており、その場合にメッセージメモリがバッファメモリ配置と接続されており、データが第１の伝送方向においてメッセージメモリへ伝送され、第２の伝送方向においてはメッセージメモリから伝送され、その場合にバッファメモリ配置は第１の伝送方向において入力バッファメモリを有し、第２の伝送方向においては出力バッファメモリを有しており、入力バッファメモリと出力バッファメモリは好ましくはそれぞれ部分バッファメモリと部分バッファメモリのためのシャドウメモリに分割されており、その場合に各伝送方向において次のステップが実施される：データをそれぞれのバッファメモリへ入力し、部分バッファメモリとシャドウメモリへのアクセスが交換されるので、後続のデータはシャドウメモリへ入力することができ、入力されているデータがすでに部分バッファメモリから予定された伝送方向へ出力される。従って本発明によれば、通信モジュールのメッセージメモリのデータへアクセスするために、入力バッファメモリと出力バッファメモリとを有するバッファメモリ配置が導入され、その場合に入力バッファメモリが第１の部分バッファメモリと第１のシャドウメモリを有しており、出力バッファメモリは第２の部分バッファメモリと第２のシャドウメモリを有しており、その場合に第１の手段が設けられており、その第１の手段によって第１の部分バッファメモリと第１のシャドウメモリへのアクセスが交換され、第２の手段が設けられており、その第２の手段によって第２の部分バッファメモリと第２のシャドウメモリへのアクセスが交換される。
【０００８】
すなわち、好ましくは、通信モジュールのメッセージメモリのデータへアクセスするためにバッファメモリが設けられており、その場合にバッファメモリは部分バッファメモリと部分バッファメモリのシャドウメモリとを有しており、かつ手段が設けられており、その手段によって部分バッファメモリとシャドウメモリへのアクセスが交換される。
【０００９】
すなわち、本発明は、送信および受信ユニットのアクセスから分離するために、バッファメモリ配置、特に書込みのための入力バッファと読出しのための出力バッファとを介在させることによって、ホストＣＰＵとメッセージメモリとの間でデータ伝送するための方法と装置を記述している。その場合に特に、メッセージハンドラー、従ってメッセージ管理者によって、メッセージメモリに関するすべてのアクセスが制御され、かつコントロールされ、それによって記憶されているメッセージの、要求されるデータ一貫性が保証される。紹介した発明は、さらに、この交換によって伝送速度を著しく向上させることができ、バッファメモリの２分割によって交互に書込みと読出しが可能になるので、データ伝送の際に同一のメモリ箇所への同時アクセスの問題が解消され、従ってデータ一貫性が保証される、という利点を有している。
【００１０】
好ましくは、部分バッファメモリとシャドウメモリへのアクセスの交換は、識別子によって表示され、あるいは好ましい実施形態においては識別子によって作動される。
【００１１】
好ましくはデータがメッセージ内で伝送され、メッセージはメッセージ識別子を有しており、その場合に部分バッファメモリとシャドウメモリへのアクセスの交換は、メッセージ識別子が予め定めることのできるレジスタに書き込まれた場合に行われる。
【００１２】
その場合に特に好ましくは、データはメッセージ内で少なくとも第１のデータ、従ってコンフィグレーションデータ、ステータスデータと第２のデータ、従って本来伝送すべきデータに分割されており、その場合に少なくとも１つのデータ識別子に従って第１のデータのみ、あるいは第２のデータのみ、あるいは第１と第２のデータが伝送される。
【００１３】
好ましくはデータへのアクセスはアクセス識別子によって表示され、そのアクセス識別子がレジスタに登録される。好ましくはアクセス識別子自体から、あるいはレジスタ内のその位置から、どの部分バッファメモリへ、あるいはどのシャドウメモリへ今アクセスされるか、の情報を求めることができる。
【００１４】
好ましくはアクセスを交換する場合に、少なくとも部分的にレジスタ登録、特に上述した識別子、がレジスタ内で交換される。
【００１５】
部分バッファメモリとシャドウメモリへのアクセスの交換を作動させるために、好ましくは切替え識別子を設けることができる。
【００１６】
さらに、データをメモリに書き込もうとする場合に、好ましくは少なくとも１つの伝送方向のために、スタート識別子をレジスタに登録することができる。
【００１７】
バッファメモリ配置と含まれる入力および出力バッファメモリおよびアクセス交換を有する本発明によって、ホストＣＰＵはモジュール内部の潜在時間にもかかわらず、中断なしにメッセージメモリへアクセスすることができる。最適なメモリ利用と中断のないことによって、一方で、伝送速度が増大され、同時に本発明によってデータ一貫性が保証される。
【００１８】
他の利点と好ましい形態が、請求項の特徴と明細書から得られる。
【発明の効果】
【００１９】
以上説明したように本発明によれば、ホストＣＰＵ、従って加入者プロセッサとメッセージメモリとの間のデータ伝送を、伝送速度とデータ一貫性に関して最適化することができる。
【発明を実施するための最良の形態】
【００２０】
図面の図を用いて、本発明を詳細に説明する。
【００２１】
以下、実施例を用いて本発明を詳細に説明する。
【００２２】
図１は、加入者またはホスト１０２をＦｌｅｘＲａｙ通信接続１０１、すなわちＦｌｅｘＲａｙの物理層に接続するためのＦｌｅｘＲａｙ通信モジュール１００を概略的に示している。そのためにＦｌｅｘＲａｙ通信モジュール１００は、接続１０７を介して加入者すなわち加入者プロセッサ１０２と、そして接続１０６を介して通信接続１０１と接続されている。一方では伝送時間に関して、そして他方ではデータ一貫性に関して問題なく接続するために、ＦｌｅｘＲａｙ通信モジュール内で大体において３つの配置が概略的に区別される。その場合に第１の配置１０５は、伝送すべきメッセージの少なくとも一部を記憶、特に一時的に格納するために用いられる。加入者１０２とこの第１の配置１０５との間には、接続１０７と１０８を介して第２の配置１０４が接続されている。同様に、加入者１０１と第１の配置１０５の間には、第３の配置１０３が接続１０６と１０９を介して接続されており、それによって最適な速度でデータの一貫性を保証しながら、第１の配置１０５内へ、またはそこからの、メッセージ、特にＦｌｅｘＲａｙメッセージの一部としてのデータの、極めて柔軟な入力と出力を得ることができる。
【００２３】
図２には、通信モジュール１００の好ましい実施形態が、再度詳細に示されている。それぞれの接続１０６から１０９も、同様に詳細に示されている。その場合に第２の配置１０４は、入力バッファメモリ２０１（Input Buffer IBF）、出力バッファメモリ２０２（Output Buffer OBF）および、２つの部分２０３と２０４からなるインターフェイスモジュールを有しており、その場合に第１の部分モジュール２０３は加入者に依存せず、第２の部分モジュール２０４は加入者固有である。加入者固有の部分モジュール２０４（Customer CPU Interface CIF）は、加入者固有のホストＣＰＵ１０２、従ってクライアント固有の加入者を、ＦｌｅｘＲａｙ通信モジュールと接続する。そのために双方向のデータ線２１６、アドレス線２１７および制御入力２１８が設けられている。同様に、符号２１９で示すインターラプトまたは中断出力が設けられている。加入者固有の部分モジュール２０４は、加入者に依存しない部分モジュール２０３（Generic CPU Interface GIF)と接続されており、すなわちＦｌｅｘＲａｙ通信モジュールまたはＦｌｅｘＲａｙＩＰモジュールは、ジェネリックな、従って一般的な、ＣＰＵインターフェイスを有しており、それに適切な加入者固有の部分モジュール、従ってCustomer CPU Interface CIFを介して多数の異なるクライアント固有のホストＣＰＵが接続される。従って加入者に応じて部分モジュール２０４のみを変更すればよく、それは、手間とコストが著しく少なく済むことを意味している。
【００２４】
入力バッファメモリ２０１と出力バッファメモリ２０２は、１つのメモリモジュール内に形成することができ、あるいは別々のメモリモジュール内に形成することができる。その場合に入力バッファメモリ２０１は、メッセージメモリ２００へ伝送するためのメッセージを一時記憶するために用いられる。その場合に入力バッファモジュールは、好ましくは、それぞれ、特にコンフィグレーションデータを有する、ヘッドセグメントまたはヘッダーセグメントとデータセグメントまたはペイロードセグメントからなる、２つの完全なメッセージを記憶することができるように、形成されている。その場合に入力バッファメモリは、２つの部分（部分バッファメモリとシャドウメモリ）で形成されており、それによって、入力バッファメモリの２つの部分に交互に書き込むことにより、ないしは交互にアクセスすることによって、加入者ＣＰＵ１０２とメッセージメモリ２００の間の伝送が加速される。同様に、出力バッファメモリ（Output Buffer OBF）は、メッセージメモリ２００から加入者ＣＰＵ１０２へ伝送するためのメッセージを一時記憶するために用いられる。その場合に出力バッファ２０２も、特にコンフィグレーションデータを有する、ヘッダーセグメントとデータセグメント、従ってペイロードセグメントからなる２つの完全なメッセージを記憶することができるように、形成されている。ここでも、出力バッファメモリ２０２が２つの部分、部分バッファメモリとシャドウメモリに分割されており、それによってここでも２つの部分を交互に読むことによって、伝送が加速され、ないしは交互にアクセスすることによって加入者ないしホストＣＰＵ１０２とメッセージメモリ２００の間の伝送が加速される。ブロック２０１から２０４からなるこの第２の配置１０４は、図示のように、第１の配置１０５と接続されている。
【００２５】
配置１０５は、メッセージハンドラ２００（Message Handler MHD)とメッセージメモリ３００（Message RAM）からなる。メッセージハンドラは、入力バッファメモリ２０１および出力バッファメモリ２０２とメッセージメモリ３００との間のデータ伝送を管理し、または制御する。同様にメッセージハンドラは、第３の配置１０３を介しての他の方向におけるデータ伝送を管理し、または制御する。メッセージメモリは、好ましくはシングルポートＲＡＭとして形成されている。このＲＡＭメモリは、メッセージないしメッセージオブジェクト、従って本来のデータを、コンフィグレーションおよびステータスデータと共に記憶する。メッセージメモリ３００の正確な構造が、図３に詳細に示されている。
【００２６】
第３の配置１０３は、ブロック２０５から２０８からなる。ＦｌｅｘＲａｙ物理層の２つのチャネルに応じて、この配置１０３は、それぞれ２つのデータ伝送方向を備えた２つのデータパスに分割されている。これは、接続２１３と２１４によって明らかにされ、その中にチャネルＡについて受信（ＲｘＡ）と送信（ＴｘＡ）のためのＲｘＡとＴｘＡ、チャネルＢについてＲｘＢとＴｘＢの２つのデータ方向が示されている。
【００２７】
接続２１５によって、任意の双方向制御入力が示されている。第３の配置１０３の結合は、チャネルＢについては第１のバッファメモリ２０５を介して、チャネルＡについては第２のバッファメモリ２０６を介して行われる。これら２つのバッファメモリ（一時バッファＲＡＭ; RAM A とRAM B）は、第１の配置１０５からの、あるいは第１の配置１０５へのデータ伝送のための一時メモリとして用いられる。２つのチャネルに応じて、２つのバッファメモリ２０５と２０６は、それぞれインターフェイスモジュール２０７および２０８と接続されており、それらが送信／受信シフトレジスタとＦｌｅｘＲａｙプロトコル有限状態オートマトンとからなるＦｌｅｘＲａｙプロトコルコントローラまたはバスプロトコルコントローラを有している。従って２つのバッファメモリ２０５と２０６は、インターフェイスモジュールのシフトレジスタまたはＦｌｅｘＲａｙコントローラ２０７および２０８とメッセージメモリ３００の間でデータ伝送するための一時メモリとして用いられる。ここでも好ましい方法で、各バッファメモリ２０５または２０６によって２つのＦｌｅｘＲａｙメッセージのデータフィールド、従ってペイロードセグメントまたはデータセグメントが記憶される。
【００２８】
さらに、通信モジュール１００内に符号２０９でグローバルタイムユニット（Global Time Unit GTU）が示されており、同タイムユニットはＦｌｅｘＲａｙ内のグローバルなタイムパターン、すなわちMicrotick  μＴとMacrotick  ＭＴを表示する権限を有している。同様に、グローバルタイムユニット２０９を介して、サイクルカウンタ（Cycle Counter）のエラー許容するタイマ同期およびＦｌｅｘＲａｙの静的および動的セグメント内の時間的シーケンスのコントロールが制御される。
【００２９】
ブロック２１０によって、一般的なシステム制御（System Universal Control SUC）が示されており、そのシステム制御によってＦｌｅｘＲａｙ通信コントローラのオペレーションモードが管理され、かつ制御される。それに属するのは、ウェイクアップ、スタートアップ、リインテグレーションないしインテグレーション、ノーマルオペレーション（normal operation）およびパッシブオペレーション（passive operation）である。
【００３０】
ブロック２１１は、ＦｌｅｘＲａｙプロトコル仕様ｖ２．０に記載されているような、ネットワークとエラーマネージメント（Network-and Error Management）を示している。そして、ブロック２１２は、中断制御（Interrupt Control INT）を示しており、それがステータスおよびエラー中断フラグ（status and error interrupt flags）を管理し、かつ加入者ＣＰＵ１０２への中断出力２１９をコントロールつまり制御する。ブロック２１２は、さらに、時間中断すなわちタイマーインターラプトを発生させるための絶対的および相対的なタイマないしタイムジェネレータを有している。
【００３１】
ＦｌｅｘＲａｙネットワーク内の通信のために、２５４までのデータバイトを有するメッセージオブジェクトないしメッセージ（Message Buffer）を構成することができる。メッセージメモリ３００は、特にメッセージＲＡＭメモリ（Message RAM）であって、それはたとえば最大で６４のメモリオブジェクトを記憶することができる。メッセージ自体の処理ないし管理に関するすべての機能は、メッセージ管理者すなわちメッセージハンドラ２００に実装されている。これは、たとえば、アクセプタンスフィルタリング、２つのＦｌｅｘＲａｙプロトコルコントローラブロック２０７および２０８とメッセージメモリ３００、従ってメッセージＲＡＭとの間のメッセージの伝送および送信順序のコントロールとコンフィグレーションデータないしステータスデータの準備である。
【００３２】
外部のＣＰＵ、つまり加入者プロセッサ１０２の外部のプロセッサは、加入者インターフェイスを介して、加入者固有の部分モジュール２０４によって直接ＦｌｅｘＲａｙ通信モジュールのレジスタへアクセスすることができる。その場合に多数のレジスタが使用される。これらのレジスタは、ＦｌｅｘＲａｙプロトコルコントローラ、すなわちインターフェイスモジュール２０７と２０８、メッセージハンドラ（Message Handler MHD）２００、グローバルタイムユニット（Global Time Unit GTU）２０９、一般的システムコントローラ（System Universal Controller SUC）２１０、ネットワークおよびエラーマネージメントユニット（Network and Error Management Unit NEM）２１２、中断コントローラ（Interrupt Controller INT）２１２およびメッセージＲＡＭ、従ってメッセージメモリ３００へのアクセスを構成して制御し、それに応じたステータスを表示するために用いられる。これらのレジスタの少なくとも一部について、図４〜６と図７〜９を用いて再度詳しく説明する。この種の説明された、本発明に基づくＦｌｅｘＲａｙ通信モジュールは、ＦｌｅｘＲａｙ仕様ｖ２．０の簡単な変換を可能にし、それによって簡単に、該当するＦｌｅｘＲａｙ機能性を有するＡＳＩＣまたはマイクロコントローラを形成することができる。
【００３３】
図３には、メッセージメモリ３００の分割が詳細に示されている。ＦｌｅｘＲａｙプロトコル仕様に従って要求される、ＦｌｅｘＲａｙ通信コントローラの機能性のために、送信すべきメッセージを準備して（Transit Buffer）エラーが生じずに受信されたメッセージを格納する（Receive Buffer）ためのメッセージメモリが必要である。ＦｌｅｘＲａｙプロトコルは、０から２５４バイトのデータ領域、すなわちペイロード領域を有するメッセージを許可する。図２に示すように、メッセージメモリは、ＦｌｅｘＲａｙ通信モジュール１００の一部である。以下で説明する方法および対応するメッセージメモリは、送信すべきメッセージないし受信したメッセージを、特にランダムアクセスメモリ（ＲＡＭ）を使用して、記憶することを記述しており、その場合に本発明に基づく機構によって、予め定められた大きさのメッセージメモリ内に可変の数のメッセージを記憶することが可能である。その場合に、記憶可能なメッセージの数は、個々のメッセージのデータ領域の大きさに依存しており、それによって、一方で、メッセージのデータ領域の大きさを制限することなく、必要なメモリの大きさを最小限に抑えることができ、他方では、メモリの最適な利用が行われる。以下において、特にＲＡＭベースのメッセージメモリのこの可変の分割を、ＦｌｅｘＲａｙ通信コントローラについて詳細に説明する。
【００３４】
実装するために、たとえば、ｎビット、たとえば８、１６、３２などの固定のワード幅とｍワードの予め定められたメモリ深度とを有する（ｎ、ｍは自然数）メッセージメモリが設けられる。その場合にメッセージメモリ３００は、２つのセグメント、ヘッダーセグメントすなわちヘッドセグメントＨＳと、データセグメントＤＳ（Payload Section, Payload Segment）に分割される。従ってメッセージ当たり、ヘッダ領域ＨＢとデータ領域ＤＢがあてがわれる。従ってメッセージ０、１からｋ（ｋは自然数）のために、ヘッダ領域またはヘッド領域ＨＢ０、ＨＢ１からＨＢｋとデータ領域ＤＢ０、ＤＢ１からＤＢｋがあてがわれる。従ってメッセージは、第１と第２のデータの間で区別され、その場合に第１のデータは、ＦｌｅｘＲａｙメッセージに関するコンフィグレーションデータおよび／またはステータスデータに相当し、それぞれヘッダ領域ＨＢ（ＨＢ０、ＨＢ１、…、ＨＢｋ）に格納される。それに応じて、伝送されるべき本来のデータに相当する第２のデータは、データ領域ＤＢ（ＤＢ０、ＤＢ１、…、ＤＢｋ）に格納される。従ってメッセージ当たり第１のデータのために、第１のデータ範囲（ビット、バイトまたはメモリワードで測定する）が生じ、メッセージの第２のデータのために第２のデータ範囲（同様にビット、バイトまたはメモリワードで測定する）が生じ、その場合にメッセージ当たりの第２のデータ範囲は様々であることができる。ヘッドセグメントＨＳとデータセグメントＤＳの間の分割は、メッセージメモリ３００内で可変であって、すなわち、領域間に予め定められる境界は存在しない。本発明によれば、ヘッドセグメントＨＳとデータセグメントＤＳの間の分割は、メッセージの数ｋと１つまたはｋ全部のメッセージの第２のデータ範囲、従って本来のデータの範囲に依存する。本発明によれば、それぞれのメッセージのコンフィグレーションデータＫＤ０、ＫＤ１からＫＤｋに、それぞれ直接ポインタすなわちデータポインタＤＰ０、ＤＰ１からＤＰｋが対応づけられる。特殊な形態においては、各ヘッド領域ＨＢ０、ＨＢ１からＨＢｋに固定の数のメモリワードが対応づけられ、ここでは２つが対応づけられるので、常にコンフィグレーションデータＫＤ（ＫＤ０、ＫＤ１、…、ＫＤｋ）とポインタＤＰ（ＤＰ０、ＤＰ１、…、ＤＰｋ）がヘッダ領域ＨＢ内に一緒に格納されている。その大きさないしデータ範囲が記憶すべきメッセージの数ｋに依存する、ヘッダ領域ＨＢを有するこのヘッドセグメントＨＳに、本来のメッセージデータＤ０、Ｄ１からＤｋを記憶するためのデータセグメントＤＳが連続している。このデータセグメント（つまりデータセクション）ＤＳは、そのデータ範囲において、格納されているメッセージデータのそれぞれのデータ範囲、ここでは例えばＤＢ０内の６ワード、ＤＢ１の１ワードおよびＤＢｋの２ワード、に依存する。従ってそれぞれのポインタＤＰ０、ＤＰ１からＤＰｋは、常に最初、すなわち、それぞれのメッセージ０、１からｋのデータＤ０、Ｄ１からＤｋが格納されている、それぞれのデータ領域ＤＢ０、ＤＢ１からＤＢｋの開始アドレスを指示する。従ってヘッドセグメントＨＳとデータセグメントＤＳの間のメッセージメモリの分割は可変であっ���、メッセージ自体の数とメッセージのそれぞれのデータ範囲、そしてそれに伴って第２のデータ範囲全体に依存する。わずかなメッセージが構成される場合には、ヘッドセグメントが小さくなり、メッセージメモリ内の空いた領域は、データを記憶するためのデータセグメントに追加して使用することができる。この可変性によって、最適なメモリ利用を保証することができ、従ってより小さいメモリの使用も可能である。従って、同様に記憶されるメッセージの数ｋとメッセージのそれぞれ第２のデータ範囲との組み合わせに依存する、自由なデータセグメントＦＤＳ、特にその大きさが、最小限に抑えられており、特に０になることができる。
【００３５】
ポインタの使用の他に、第１と第２のデータ、すなわちコンフィグレーションデータＫＤ（ＫＤ０、ＫＤ１、…、ＫＤｋ）と本来のデータＤ（Ｄ０、Ｄ１、…、Ｄｋ）を、予め定めることのできる順序で格納することも可能であるので、ヘッドセグメントＨＳ内のヘッド領域ＨＢ０からＨＢｋの順序とデータセグメントＤＳ内のデータ領域ＤＢ０からＤＢｋの順序がそれぞれ同一になる。その場合には、場合によってはポインタを省くことができる。
【００３６】
特別な形態においては、メッセージメモリにエラー認識発生器、特にパリティビットジェネレータ要素と、エラー認識検査器、特にパリティビット検査要素が対応づけられており、それによって、メモリワード当たりあるいは領域当たり（ＨＢおよび／またはＤＢ）チェックサムが、特にパリティビットとして一緒に格納できることによって、ＨＳとＤＳ内に格納されているデータの正しさが保証される。たとえばＣＲＣ（Cyclic redundancy check）のような他のコントロール識別あるいはまたＥＣＣ（Error Code Correction）のような、より強力な識別も考えられる。従ってメッセージメモリの固定的な分割に対して次の利点が生じる。
【００３７】
利用者は、小さいデータフィールドを有するより多くの数のメッセージを使用したいのか、大きいデータフィールドを有する小さい数のメッセージを使用したいのか、をプログラミングの際に決定することができる。様々な大きさのデータ領域を有するメッセージを構成する場合に、存在しているメモリ領域を最適に利用することができる。利用者は、データメッセージ領域を様々なメッセージのために共通に利用する可能性を有する。
【００３８】
集積回路上に通信コントローラを実装する場合に、通信コントローラのその他の機能を変更することなく、メッセージメモリの大きさを、使用されるメモリのメモリ深度の適合によって、アプリケーションの要求に適合させることができる。
【００３９】
以下において、図４〜６と図７〜９を用いて、ホストＣＰＵアクセス、すなわちバッファメモリ配置２０１と２０２を介してのコンフィグレーションデータないしステータスデータと本来のデータの書込みと読出しを詳細に説明する。その場合に目的は、データ一貫性が保証され、かつ同時に高い伝送速度が保証されるように、データ伝送に関する分離を形成することである。このプロセスの制御は、後にさらに図１０、１１および１２において詳細に説明する、メッセージハンドラ２００を介して行われる。
【００４０】
図４、５および６において、まず、入力バッファメモリ２０１を介しての、ホストＣＰＵ、加入者ＣＰＵ１０２によるメッセージメモリ３００への書込みアクセスについて詳細に説明する。そのために、図４は、再度通信モジュール１００を示しており、その場合に分かり易くする理由から、通信モジュール１００のここで重要な部分のみが示されている。これは、１つには、シーケンスの制御に責任を有するメッセージハンドラ２００と２つのコントロールレジスタ４０３および４０４であって、それらは図示のように通信モジュール１００内でメッセージハンドラ２００の外部に収容することができるが、メッセージハンドラ２００自体に含めることもできる。その場合に符号４０３は、入力要求レジスタ（Input Buffer Command Request Register）を示し、４０４は入力マスキングレジスタ（Input Buffer Command Mask Register）を示している。従ってホストＣＰＵ１０２のメッセージメモリ（Message RAM）３００への書込みアクセスは、中間に接続されている入力バッファメモリ２０１（Input Buffer）を介して行われる。この入力バッファメモリ２０１は、分割して、ないしは二重に、特に部分バッファメモリ４００とその部分バッファメモリに属するシャドウメモリ４０１として設計されている。従って、後述するように、メッセージあるいはメッセージオブジェクトあるいはメッセージメモリ３００のデータへのホストＣＰＵ１０２の連続的なアクセスが行われ、それによってデータ一貫性と加速された伝送が保証される。アクセスの制御は、入力要求レジスタ４０３および入力マスキングレジスタ４０４を介して行われる。レジスタ４０３内には０から３１の数によって、ここではたとえば３２ビットの幅について、それぞれのビット位置４０３が表されている。同じことが、レジスタ４０４と４０４内のビット位置０から３１について当てはまる。
【００４１】
本発明によれば、たとえば、レジスタ４０３のビット位置０から５、１５、１６から２１および３１は、シーケンス制御に関して特別な機能を有している。すなわち、レジスタ４０３のビット位置０から５内へ、メッセージ識別子として識別子ＩＢＲＨ（Input Buffer Request Host）を登録することができる。同様にレジスタ４０３のビット位置１６から２１には、識別子ＩＢＲＳ（Input Buffer Request Shadow）を登録することができる。同様に４０３のレジスタ箇所１５には、ＩＢＳＹＨを、そして４０３のレジスタ箇所３１にはＩＢＳＹＳをアクセス識別子として登録することができる。レジスタ４０４の箇所０から２も、特徴的であって、その場合に０と１にはＬＨＳＨ（Load Header Section Host）とＬＤＳＨ（Load Data Section Host）によってデータ識別子として他の識別子が登録される。このデータ識別子は、ここでは、最も単純な形式で、すなわちそれぞれ１ビットとして形成されている。レジスタ４０４のビット位置２内には、ＳＴＸＲＨ（Set Transmission X Request Host）によって開始識別子が登録される。
以下、入力バッファを介してのメッセージメモリへの書込みアクセスの遂行を説明する。
【００４２】
ホストＣＰＵ１０２は、伝送すべきメッセージのデータを入力バッファメモリ２０１へ書き込む。その場合にホストＣＰＵ１０２は、メッセージメモリのヘッダーセグメントＨＳのためのメッセージのコンフィグレーションおよびヘッダデータＨＤのみ、あるいはメッセージメモリのデータセグメントＤＳのためのメッセージの、伝送すべき本来のデータのみ、あるいは両方を書き込むことができる。メッセージのどの部分を伝送すべきか、すなわちコンフィグレーションデータおよび／または本来のデータを伝送すべきかは、入力マスキングレジスタ４０４内の特殊なデータ識別子ＬＨＳＨとＬＤＳＨによって決定される。その場合にＬＨＳＨ（Load Header Section Host）によっては、ヘッダデータ、すなわちコンフィグレーションデータＫＤが伝送されるべきかが定められ、ＬＤＳＨ（Load
Data Section Host）によっては、データＤが伝送されるべきかが定められる。入力バッファメモリ２０１が、バッファメモリの一部４００とそれに属するシャドウメモリ４０１によって２つに分けて形成されており、交互にアクセスが行われることによって、ＬＨＳＨとＬＤＳＨとの間で対をなして他の２つのデータ認識領域が設けられており、それらはここではシャドウメモリ４０１に関する。レジスタ４０４のビット位置１６と１７のこのデータ識別子は、ＬＨＳＳ（Load Header Section Shadow）とＬＤＳＳ（Load Data Section Shadow）によって表されている。従ってこれらによって、シャドウメモリ４０１に関する伝送プロセスが制御される。
【００４３】
入力マスキングレジスタ４０４のビット位置２内へスタートビット、言い換えれば開始識別子ＳＴＸＲＨ（Set Transmission X Request Host）がセットされた場合には、メッセージメモリ３００へそれぞれ伝送すべきコンフィグレーションデータおよび／または本来のデータの伝送が行われた後に、自動的に該当するメッセージオブジェクトのための送信要求（Transmission Request）がセットされる。すなわち、スタート識別子ＳＴＸＲＨによって、伝送するメッセージオブジェクトの自動的送信が制御され、特に開始される。
【００４４】
シャドウメモリについてそれに相当する相対物は、開始識別子ＳＴＸＲＳ（Set Transmission X Request Shadow）であって、それは例えば入力マスキングレジスタ４０４のビット位置１８内に含まれており、ここでも最も簡単な場合においては１ビットとして形成されている。ＳＴＸＲＳの機能は、ＳＴＸＲＨの機能と同様であるが、ただシャドウメモリ１に関するものである。
【００４５】
ホストＣＰＵ１０２が入力要求レジスタ４０３のビット位置０から５内へ、すなわちＩＢＲＨに従って、メッセージ識別子、特にメッセージメモリ３００内の入力バッファメモリ２０１のデータを伝送すべきメッセージオブジェクトの番号を書き込んだ場合に、入力バッファメモリ２０１の部分バッファメモリ４００と付属のシャドウメモリ４０１が、交代され、ないしはホストＣＰＵ１０２とメッセージメモリ３００の、２つの部分メモリ４００と４０１へのそれぞれのアクセスが、図４の半球状の矢印で示されるように交代される。その場合に、たとえば、メッセージメモリ３００へのデータトランスファー、つまりデータ伝送が開始される。メッセージメモリ３００へのデータ伝送自体は、シャドウメモリ４０１から行われる。同時に、レジスタ領域ＩＢＲＨとＩＢＲＳが交換される。同様にＬＨＳＨおよびＬＤＳＨもＬＨＳＳおよびＬＤＳＳと交換される。同様にＳＴＸＲＨがＳＴＸＲＳと交換される。従ってＩＢＲＳは、シャドウメモリ４０１からの伝送が有効になっているメッセージの識別子、すなわちメッセージオブジェクトの番号ないしは、シャドウメモリ４０１から最後のデータ（ＫＤおよび／またはＤ）としてメッセージメモリ内のどのメッセージオブジェクトが、すなわちどの領域が得られたかを示す。入力要求レジスタ４０３のビット位置３１内の識別子（ここでも再びたとえば１ビット）ＩＢＳＹＳ（Input Buffer Busy Shadow）によって、ちょうどシャドウメモリ４０１の関与によって伝送が行われているか、が表示される。すなわち、たとえばＩＢＳＹＳ＝１においては、ちょうどシャドウメモリ４０１から伝送され、ＩＢＳＹＳ＝０の場合には、そうではない。このビットＩＢＳＹＳは、たとえば、たとえばレジスタ４０３内にＩＢＲＨによって、従ってビット位置０から５の書込みによってセットされ、それによってシャドウメモリ４０１とメッセージメモリ３００との間で伝送が有効であることが表示される。メッセージメモリ３００への、このデータ伝送が終了した後に、ＩＢＳＹＳが再びリセットされる。
【００４６】
シャドウメモリ４０１からのデータ伝送がまさに進行している間に、ホストＣＰＵ１０２は、伝送すべき次のメッセージを入力バッファメモリ、言い換えれば部分バッファメモリ４００へ書き込むことができる。たとえばレジスタ４０３のビット位置１５内の他のアクセス識別子ＩＢＳＹＨ（Input Buffer Busy Host）を用いて、識別をさらに細かく行うことができる。シャドウメモリ４０１とメッセージメモリ３００の間で伝送が遂行されている間、つまりＩＢＳＹＳ＝１において、ホストＣＰＵ１０２がまさにＳＢＲＨ、つまりレジスタ４０３のビット位置０から５を書き込んだ場合に、入力要求レジスタ４０３にＩＢＳＹＨがセットされる。従って進行している転送が終了するとすぐに、要求された転送（ＳＴＸＲＨによる要求、上記参照）が開始されて、ビットＩＢＳＹＨがリセットされる。ビットＩＢＳＹＳは、時間全体の間セットされ続け、それによってメッセージメモリへデータが伝送されることが示される。その場合にすべての実施例のすべての使用されるビットは、１つまたは複数のビットを有する識別子として形成することもできる。メモリと処理の経済的理由から、１ビットによる解決は効果的である。
【００４７】
上述した構造は、ホストＣＰＵ１０２が入力バッファメモリへアクセスするアクセス速度がＦｌｅｘＲａｙ−ＩＰ−モジュールの、つまり通信モジュール１００の内部のデータ伝送率よりも小さいことを前提として、ホストＣＰＵ１０２に、メッセージメモリ内にある、ヘッダ領域ＨＢとデータ領域ＤＢからなるメッセージオブジェクトへ連続的にデータを伝送することを許可する。
【００４８】
図７、８および９では、出力バッファメモリ２０２を介しての、ホストＣＰＵまたは加入者ＣＰＵ１０２によるメッセージメモリ３００への読取りアクセスを詳細に説明する。そのために、図７は、再度通信モジュール１００を示しており、その場合にわかりやすくする理由から、ここでも通信モジュール１００の重要な部分のみが示されている。それは、まず、シーケンスの制御に責任を持つメッセージハンドラ２００と２つのコントロールレジスタ７０３および７０４であって、それらは図示のように通信モジュール１００内でメッセージハンドラ２００の外部に収容することができるが、メッセージハンドラ２００自体に含めることもできる。その場合に符号７０３は、出力要請レジスタ（Output Buffer Command Request Register）を示し、符号７０４は出力マスキングレジスタ（Output Buffer Command Mask Register）を示している。従ってメッセージメモリ３００へのホストＣＰＵ１０２の読取りアクセスは、中間に接続された出力バッファメモリ２０２（Output Buffer）を介して行われる。この出力バッファメモリ２０２も、同様に分割され、ないしは二重に、特に部分バッファメモリ７０１と部分バッファメモリに属するシャドウメモリ７０２として設計されている。従ってここでも、後述するように、メッセージないしメッセージオブジェクトないしメッセージメモリ３００内のデータにホストＣＰＵ１０２が連続的にアクセスすることができ、従ってデータ一貫性とメッセージメモリからホストへの逆方向における加速された伝送が保証される。アクセスの制御は、出力要請レジスタ７０３と出力マスキングレジスタ７０４を介して行われる。レジスタ７０３内でも、０から３１の数によって、ここではたとえば３２ビット幅のための、それぞれのビット位置が示されている。同じことが、レジスタ７０４と７０４内のビット位置０から３１についても当てはまる。
【００４９】
本発明によれば、レジスタ７０３のビット位置０〜５、８と９、１５と１６〜２１は、読取りアクセスのシーケンス制御に関して、特別な機能を有している。すなわち、レジスタ７０３のビット位置０から５内へ、メッセージ識別子として識別子ＯＢＲＳ（Output Buffer Request Shadow）が登録可能である。同様に、レジスタ７０３のビット位置１６から２１へ、識別子ＯＢＲＨ（Output Buffer Request Host）が登録可能である。アクセス識別子として、レジスタ７０３のビット位置１５に、識別子ＯＢＳＹＳ（Output Buffer
Busy Shadow）が登録可能である。出力マスキングレジスタ７０４のビット位置０と１も特徴づけられ、その場合にビット位置０と１に、ＲＤＳＳ（Read Data Section Shadow）とＲＨＳＳ（Read Header Section Shadow）によってデータ識別子としての他の識別子が登録可能である。他の識別子が、たとえばビット位置１６と１７にＲＤＳＨ（Read Data Section Host）とＲＨＳＨ（Read Header Section Host）で設けられている。これらの識別子は、ここでもたとえば簡単な形式で、すなわちそれぞれ１ビットとして形成することができる。レジスタ７０３のビット位置９には、スタート識別子ＲＥＱが登録されている。さらに、切替え識別子ＶＩＥＷが設けられており、それが例えばレジスタ７０３のビット位置８に登録されている。
【００５０】
ホストＣＰＵ１０２が、所望のメッセージ、つまり特に所望のメッセージオブジェクトの番号を、ＯＢＲＳに従ってレジスタ７０３のビット位置０から５へ書き込むことによって、メッセージメモリ３００からメッセージオブジェクトのデータを要求する。この場合にもホストＣＰＵは、逆方向の場合のように、メッセージのステータスないしコンフィグレーションおよびヘッダデータＫＤのみを、つまりヘッダ領域から読むか、あるいはメッセージの伝送すべき本来のデータＤのみを、つまりデータ領域から読むか、あるいは両方を読むこともできる。従ってその場合に、ヘッダ領域および／またはデータ領域からデータのどの部分が伝送されるべきかは、逆方向と同様にＲＨＳＳとＲＤＳＳによって決定される。すなわち、ＲＨＳＳは、ヘッダデータが読まれるべきかを表し、ＲＤＳＳは、本来のデータが読まれるべきかを表す。
【００５１】
開始識別子は、メッセージメモリからシャドウメモリ７００への伝送を開始するために用いられる。すなわち、最も簡単な場合のように、識別子として１ビットが使用される場合には、出力要求レジスタ７０３内のビット位置９にビットＲＥＱをセットすることによって、シャドウメモリ７００からメッセージメモリ３００への伝送が開始される。進行している伝送は、ここでもアクセス識別子によって、ここでも最も簡単な場合にはレジスタ７０３内のビットＯＢＳＹＳによって表される。競合を回避するためには、ＯＢＳＹＳがセットされておらず、つまりまさに進行する伝送が行われていない場合にのみ、ビットＲＥＱをセットできると効果的である。その場合にここでは、メッセージメモリ３００とシャドウメモリ７００の間でメッセージ伝送がおこなわれる。本来のシーケンスは、図４、５および６で説明したものと反対方向に、同様に制御し（相補的なレジスタ占有）かつ行うことができるが、変形例においては、付加的な識別子、すなわちレジスタ７０３のビット位置８内の切替え識別子ＶＩＥＷによって行うことができる。すなわち、伝送の終了後に、ビットＯＢＳＹＳがリセットされて、出力要求レジスタ７０３内にビットＶＩＥＷをセットすることによって、部分バッファメモリ７０１と付属のシャドウメモリ７００が交代され、ないしは部分バッファメモリ７０１と付属のシャドウメモリ７００との間のアクセスが交代されて、ホストＣＰＵ１０２はメッセージメモリから要求されたメッセージオブジェクトを、つまり該当するメッセージを部分バッファメモリ７０１から読み出すことができる。その場合にここでも、図４、５および６内の逆伝送方向と同様に、レジスタセルＯＢＲＳとＯＢＲＨが交代される。同様に、ＲＨＳＳとＲＤＳＳが、ＲＨＳＨとＲＤＳＨに交代される。保護構造として、ここでも、ビットＶＩＥＷは、ＯＢＳＹＳがセットされていない場合、すなわち進行中の伝送が行われていない場合にのみセットすることができる。
【００５２】
従って中間に接続された出力バッファメモリ２０２を介してメッセージメモリ３００へのホストＣＰＵ１０２の読取りアクセスが行われる。この出力バッファメモリは、入力バッファメモリと同様に二重に、あるいは２つに分けて設計されており、それによってホストＣＰＵ１０２がメッセージメモリ３００に格納されているメッセージオブジェクトへ連続的にアクセスすることが保証される。ここでも、高いデータ一貫性と加速された伝送の利点が得られる。
【００５３】
上述した入力バッファと出力バッファを使用することによって、ホストＣＰＵはモジュール内部の潜在時間にもかかわらず中断されることなくメッセージメモリへアクセスできることが保証される。
【００５４】
このデータ一貫性を保証するために、データ伝送、特に通信モジュール１００内の転送は、メッセージハンドラ２００（Message Handler MHD）によって行われる。それについて図１０にメッセージハンドラ２００が示されている。メッセージハンドラは、その機能性において複数の状態機械あるいは自動状態機械、従って最終的な自動機械、いわゆる有限状態機械（ＦＳＭ）によって表すことができる。その場合に少なくとも３つの状態機械と、好ましい実施形態においては４つの有限状態機械が設けられている。第１の有限状態機械は、ＩＯＢＦ−ＦＳＭであって、符号５０１で示されている（Input/Output Buffer State Machine）。このＩＯＢＦ−ＦＳＭは、それぞれ伝送方向に応じて入力バッファメモリまたは出力バッファメモリに関してＩＢＦ−ＦＳＭ（Input Buffer FSM）とＯＢＦ−ＦＳＭ（Output Buffer FSM）の２つの有限状態機械に分割することができ、従って最大５つの状態自動機械（ＩＢＦ−ＦＳＭ、ＯＢＦ−ＦＳＭ、ＴＢＦ１−ＦＳＭ、ＴＢＦ２−ＦＳＭ、ＡＦＳＭ）が考えられる。しかし好ましくは、共通のＩＯＢＦ−ＦＳＭが設けられる。少なくとも第２の有限状態機械は、ここでは、好ましい実施例の流れにおいて２つのブロック５０２と５０３に分割されており、図２に示すような、メモリ２０５と２０６に関して２つのチャネルＡとＢを操作する。その場合に、２つのチャネルＡとＢを操作するために、１つの有限状態機械を設けることができ、あるいはまた好ましい形態におけるように、チャネルＡのための有限状態機械ＴＢＦ１−ＦＳＭが符号５０２で示され（Transient Buffer 1(206,RAM A)State Machine）、チャネルＢのためのＴＢＦ２−ＦＳＭは符号５０３で示されている（Transient Buffer 2(205,RAM B)State Machine）。
【００５５】
好ましい実施例において３つの有限状態機械５０１−５０３のアクセスを制御するために、符号５００で示される、属性付き状態機械、いわゆるＡＦＳＭが用いられる。データ（ＤＫおよび／またはＤ）は、通信モジュール内で、ＶＣＯ（Voltage controlled oscillator）のようなクロック手段、発振水晶などによって生成され、あるいはそれから適合されたクロックで伝送される。その場合にクロックＴは、モジュール内で生成することができ、あるいは外部から、たとえばバスクロックとして設定することができる。この属性付き有限状態機械５００は、３つの有限状態機械の１つに交互に、特にそれぞれクロック周期Ｔの間、メッセージメモリへのアクセスを与える。すなわち、提供される時間は、個々の状態自動機械５０１、５０２、５０３のアクセス要求に応じて、この要求する状態自動機械へ分配される。アクセス要求が１つの有限状態機械のみによって行われた場合には、その有限状態機械はアクセス時間の１００％、従ってすべてのクロックＴを得る。アクセス要求が、２つの状態自動機械によって行われた場合には、各有限状態機械は、アクセス時間の５０％を得る。そして、３つの状態自動機械によって行われた場合には、有限状態機械の各々はアクセス時間の１／３を得る。それによってそれぞれ提供される帯域幅が最適に利用される。
【００５６】
符号５０１で示される第１の有限状態機械、すなわちＩＯＢＦ−ＦＳＭは、必要に応じて次の行動を実施する：
−入力バッファメモリ２０１からメッセージメモリ３００内の選択されたメッセージオブジェクトへのデータ伝送。
−メッセージメモリ３００内の選択されたメッセージオブジェクトから出力バッファメモリ２０２へのデータ伝送。
【００５７】
チャネルＡのための状態機械５０２、すなわちＴＢＦ１−ＦＳＭは、以下の行動を実施する：
−メッセージメモリ３００内の選択されたメッセージオブジェクトからチャネルＡのためのバッファメモリ２０６へのデータ伝送。
−バッファメモリ２０６からメッセージメモリ３００内の選択されたメッセージオブジェクトへのデータ伝送。
−メッセージメモリ内の適合するメッセージオブジェクトの検索、その場合に受信においては、アクセプタンスフィルタリングの枠内においてチャネルＡで受信したメッセージを格納するためのメッセージオブジェクト（Receive Buffer）が探されて、送信においてはチャネルＡで送信すべき次のメッセージオブジェクト（Transmit Buffer）が探される。
【００５８】
ブロック５０３内チャネルＢのための、ＴＢＦ２−ＦＳＭ、すなわち有限状態機械の行動も、それと同様である。これは、バッファメモリ３００内の選択されたメッセージオブジェクトからチャネルＢのバッファメモリ２０５へデータ伝送を実施し、かつバッファメモリ２０５からメッセージメモリ３００の選択されたメモリオブジェクトへのデータ伝送を実施する。サーチ機能も、メッセージメモリ内の適合したメッセージオブジェクトを探すＴＢＦ１−ＦＳＭと同様であって、その場合に受信においてはアクセプタンスフィルタリングの枠内においてチャネルＢで受信したメッセージを格納するためのメッセージオブジェクト（Receive Buffer）が探され、送信においてはチャネルＢで送信すべき次のメッセージまたはメッセージオブジェクト（Transmit Buffer）が探される。
【００５９】
図１１には、シーケンスと伝送路が再度示されている。３つの状態機械５０１−５０３が、個々の部分の間のそれぞれのデータ伝送を制御する。その場合にここでも符号１０２でホストＣＰＵが示され、符号２０１で入力バッファメモリが、そして符号２０２で出力バッファメモリが示されている。符号３００は、メッセージメモリを示しており、チャネルＡとチャネルＢのための２つのバッファメモリは、符号２０６と２０５で示されている。インターフェイス要素２０７と２０８も、同様に示されている。符号５０１で示す第１の状態機械ＩＯＢＦ−ＦＳＭは、データ伝送Ｚ１ＡとＺ１Ｂ、すなわち入力バッファメモリ２０１からメッセージメモリ３００へ、そしてメッセージメモリ３００から出力バッファメモリ２０２へのデータ伝送を制御する。その場合にデータ伝送は、たとえば３２ビットのワード幅を有するデータバスを介して行われ、その場合にそれぞれ他のビット数も可能である。同じことが、メッセージメモリ３００とバッファメモリ２０６の間の伝送Ｚ２にも当てはまる。このデータ伝送は、ＴＢＦ１−ＦＳＭ、すなわちチャネルＡのための状態機械５０２によって制御される。メッセージメモリ３００とバッファメモリ２０５の間の伝送Ｚ３は、状態自動機械ＴＢＦ２−ＦＳＭ、すなわち５０３によって制御される。ここでもデータ伝送は、たとえば３２ビットのワード幅を有するデータバスを介して行われ、その場合にここもそれぞれ他のビット数も可能である。通常、上述した伝送路を介して完全なメッセージオブジェクトを伝送することは、複数のクロック周期Ｔを必要とする。従ってクロック周期Ｔに関して伝送時間を分割することが、アービター、すなわちＡＦＳＭ５００によって行われる。従って図１１には、メッセージハンドラによってコントロールされる、そのメモリコンポーネント間のデータパスが示されている。メッセージメモリ内に記憶されているメッセージオブジェクトのデータ一貫性を保証するために、好ましくは、図示のパス、従ってＺ１ＡとＺ１ＢおよびＺ２とＺ３の一方においてのみ、同時にデータが交換される。
【００６０】
図１２には、提供されるシステムクロックＴがアービター、従ってＡＦＳＭ５００によって３つの要求する状態自動機械へどのように分配されるかが、例で示されている。位相１においては、状態自動機械５０１と状態自動機械５０２のアクセス要求が行われ、すなわち時間全体がそれぞれ半分ずつ２つの要求する状態自動機械へ分割される。これは、位相１内のクロック周期に関して、状態自動機械５０１がクロック周期Ｔ１とＴ３でアクセスを有し、状態自動機械５０２がクロック周期Ｔ２とＴ４でアクセスを有することを意味している。位相２においては、アクセスは状態自動機械５０１によってだけ行われるので、３つのクロック周期すべて、従ってＴ５からＴ７のアクセス時間の１００％がＩＯＢＦ−ＦＳＭ上で生じる。位相３においては、３つの状態自動機械すべてのアクセス要求が行われるので、全アクセス時間の３分割が行われる。その場合にアービターＡＦＳＭは、アクセス時間を、たとえば、クロック周期Ｔ８とＴ１１において有限状態機械５０１が、クロック周期Ｔ９とＴ１２においては有限状態機械５０２が、そしてクロック周期Ｔ１０とＴ１３においては有限状態機械５０３がアクセスを得るように分配する。そして位相４において、通信モジュールの２つのチャネルＡとＢ上で２つの状態自動機械５０２と５０３によってアクセスが行われるので、クロック周期Ｔ１４とＴ１６のアクセス分配が有限状態機械５０２に、そしてＴ１５とＴ１７においては有限状態機械５０３へ行われる。
【００６１】
従って属性付き状態自動機械ＡＦＳＭ５００は、３つの状態自動機械の１つより多くがメッセージメモリ３００へのアクセスを要求した場合に、アクセスがクロック単位で交互に要求する状態自動機械へ分配されることをもたらす。このやり方は、メッセージメモリに格納されているメッセージオブジェクトの一貫性、すなわちデータ一貫性を保証する。たとえば、ホストＣＰＵ１０２が、まさに受信されたメッセージがメッセージオブジェクトに書き込まれている間に、出力バッファメモリ２０２を介してそのメッセージオブジェクトを読み出そうとした場合に、どの要求が最初に開始されたかに従って、古い状態か、あるいは新しい状態が読み出され、メッセージメモリ内のメッセージオブジェクト内のアクセス自体が衝突することはない。
【００６２】
上述した方法は、ホストＣＰＵに、進行中の動作内でメッセージメモリ内の各任意のメッセージオブジェクトを読み出し、あるいは書き込むことを可能にし、選択されたメッセージオブジェクトはホストＣＰＵのアクセスが続く間、ＦｌｅｘＲａｙバスの２つのチャネル上のデータ交換の関与によって阻止されることがない（Buffer Locking）。同時に、アクセスがクロック単位で入れ子にされることによって、メッセージメモリ内に格納されているデータの一貫性が保証され、伝送速度も完全な帯域幅の利用によって増大される。
【図面の簡単な説明】
【００６３】
【図１】通信モジュールとそれの、物理的な層、従って通信接続への結合と通信加入者または通信ホストを概略的な表示で示している。
【図２】図１に基づく通信モジュールとその接続を、特殊な実施形態において示している。
【図３】メッセージメモリの構造を示している。
【図４】アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。
【図５】アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。
【図６】アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。
【図７】アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。
【図８】アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。
【図９】アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。
【図１０】メッセージハンドラとその中に含まれる有限状態機械を概略的に示している。
【図１１】通信モジュールの構成部分と加入者および、メッセージハンドラによって制御される、該当するデータパスを再度概略的に示している。
【図１２】図１１のデータパスに関連するアクセスの分配を示している。
【図１】
2008509583.tif 000003
【図２】
2008509583.tif 000004
【図３】
2008509583.tif 000005
【図４】
2008509583.tif 000006
【図５】
2008509583.tif 000007
【図６】
2008509583.tif 000008
【図７】
2008509583.tif 000009
【図８】
2008509583.tif 000010
【図９】
2008509583.tif 000011
【図１０】
2008509583.tif 000012
【図１１】
2008509583.tif 000013
【図１２】
2008509583.tif 000014
【国際調査報告】
2008509583.tif 000015
2008509583.tif 000016
2008509583.tif 000017
2008509583.tif 000018
2008509583.tif 000019
2008509583.tif 000020