(57)【要約】【課題】【解決手段】ＦｌｅｘＲａｙ通信接続（１０１）を、ＦｌｅｘＲａｙ通信モジュールに対応づけられた、ＦｌｅｘＲａｙネットワーク内の加入者（１０２）と結合するためのＦｌｅｘＲａｙ通信モジュール（１００）であって、そのＦｌｅｘＲａｙネットワークを介してメッセージが伝送され、その場合にＦｌｅｘＲａｙ通信モジュール（１００）が、以下の構成部分を有している：  −伝送されたメッセージの少なくとも一部を記憶するための第１の配置（１０５）、  −第１の配置（１０５）を加入者（１０２）と接続するための第２の配置（１０４）および  −ＦｌｅｘＲａｙ通信接続（１０１）を第１の配置（１０５）と接続するための第３の配置（１０３）。【選択図】図１
2008508826.tif 000002
【特許請求の範囲】
【請求項１】
ＦｌｅｘＲａｙ通信接続（１０１）を、ＦｌｅｘＲａｙ通信モジュールに対応づけられたＦｌｅｘＲａｙネットワーク内の加入者（１０２）と結合するためのＦｌｅｘＲａｙ通信モジュール（１００）であって、前記ＦｌｅｘＲａｙネットワークを介してメッセージが伝送される、前記ＦｌｅｘＲａｙ通信モジュールにおいて：
ＦｌｅｘＲａｙ通信モジュール（１００）は、
伝送されたメッセージの少なくとも一部を記憶するための第１の配置（１０５）と；
第１の配置（１０５）を加入者（１０２）と接続するための第２の配置（１０４）と；
ＦｌｅｘＲａｙ通信接続（１０１）を第１の配置（１０５）と接続するための第３の配置（１０３）と；
を有することを特徴とする、ＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項２】
前記第１の配置（１０５）は、メッセージ管理者（２００）とメッセージメモリ（３００）とを有することを特徴とする、請求項１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項３】
前記第１の配置（１０５）がメッセージメモリ（３００）を有しており、その場合にメッセージメモリがヘッドセグメント（ＨＳ）とデータセグメント（ＤＳ）に分割されていることを特徴とする、請求項１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項４】
前記第１の配置（１０４）が、入力バッファメモリ（２０１）と出力バッファメモリ（２０２）を有していることを特徴とする、請求項１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項５】
前記入力バッファメモリ（２０１）が、部分バッファメモリ（７０１）とシャドウメモリ（７００）とに分割されており、その場合に部分バッファメモリへのアクセスとシャドウメモリへのアクセスとが交代されることを特徴とする、請求項４に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項６】
前記入力バッファメモリ（２０１）が部分バッファメモリ（４００）とシャドウメモリ（４０１）とに分割されており、それらの内容が互いに交代されることを特徴とする、請求項４に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項７】
前記出力バッファメモリ（２０２）が、部分バッファメモリ（７０１）とシャドウメモリ（７００）とに分割されており、その場合に部分バッファメモリへのアクセスとシャドウメモリへのアクセスとが交代されることを特徴とする、請求項４に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項８】
前記出力バッファメモリ（２０２）が部分バッファメモリ（７０１）とシャドウメモリ（７００）とに分割されており、それらの内容が互いに交代されることを特徴とする、請求項４に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項９】
各入力バッファメモリ（４００、４０１）と各出力バッファメモリ（７００、７０１）とが、２つのＦｌｅｘＲａｙメッセージのデータ領域とヘッダ領域とが記憶可能であるように設計されていることを特徴とする、請求項５から８のいずれか１項に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項１０】
前記第２の配置（１０４）が、インターフェイスモジュールを有しており、前記インターフェイスモジュールが加入者固有の部分モジュール（２０４）と加入者に依存しない部分モジュール（２０３）とからなることを特徴とする、請求項１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項１１】
前記第３の配置（１０３）が、第１のインターフェイスモジュール（２０７）と第２のインターフェイスモジュール（２０８）とを有しており、かつそれぞれ２つのデータ方向を有する２つのデータパスに分割されていることを特徴とする、請求項１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項１２】
前記第３の配置（１０３）が、第１のバッファメモリ（２０６）と第２のバッファメモリ（２０５）を有しており、かつそれぞれ２つのデータ方向を有する２つのデータパスに分割されていることを特徴とする、請求項１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項１３】
２つのバッファメモリ（２０５、２０６）の各々が、２つのＦｌｅｘＲａｙメッセージのデータ領域が記憶可能であるように設計されていることを特徴とする、請求項１２に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【請求項１４】
インターフェイスモジュール（２０７、２０８）の各々が、シフトレジスタとＦｌｅｘＲａｙプロトコル状態機械を有していることを特徴とする、請求項１１に記載のＦｌｅｘＲａｙ通信モジュール（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦｌｅｘＲａｙ通信接続を、ＦｌｅｘＲａｙ通信モジュールに対応づけられた、ＦｌｅｘＲａｙネットワーク内の加入者と結合するためのＦｌｅｘＲａｙ通信モジュールに関するものであって、そのＦｌｅｘＲａｙネットワークを介してメッセージが伝送される。
【背景技術】
【０００２】
通信システムとバスシステム、したがって通信接続を用いて制御装置、センサ技術およびアクチュエータ技術をネットワーク化することは、近年、最近の自動車を製造する場合、あるいはまた機械製作、特に工作機械領域においても、したがって自動化においても、著しく増大している。その場合には、機能を複数の制御装置へ分配することによるシナージー効果を得ることができる。その場合には分配されたシステムが話題にされる。種々のステーション間の通信は、ますますバスシステムを介して、したがって通信システムを介して行われるようになって来ている。バス上の通信交通、アクセスと受信の機構およびエラー処理は、プロトコルを介して制御される。そのための既知のプロトコルは、ＦｌｅｘＲａｙプロトコルであって、その場合にこの瞬間においては、ＦｌｅｘＲａｙプロトコルスペシフィケーションＶ２．０が基礎となっている。ＦｌｅｘＲａｙは、特に自動車内に使用するための、高速、決定論的かつエラー許容するバスシステムである。ＦｌｅｘＲａｙプロトコルは、時分割多重アクセス（Time-Division-Multiple-Access；TDMA）の方法にしたがって作動し、その場合にコンポーネント、したがって加入者ないし伝送すべきメッセージに、固定のタイムスロットが割り当てられ、その中でそれらは通信接続への排他的アクセスを有している。タイムスロットは、固定のサイクルで繰り返されるので、メッセージがバスを介して伝送される時点は、正確に予測することができ、バスアクセスは決定論的に行われる。バス上でメッセージを伝送するための帯域幅を最適に利用するために、ＦｌｅｘＲａｙはサイクルを静的な部分と動的な部分に分割する。その場合に固定のタイムスロットは、バスサイクルの最初の静的な部分内にある。動的な部分内では、タイムスロットは動的に与えられる。その中で排他的なバスアクセスは、それぞれ短い時間、いわゆるミニスロットの間だけ可能にされる。ミニスロットの内部でバスアクセスが行われた場合にのみ、タイムスロットが必要な時間だけ延長される。したがって帯域幅は、それが実際にも必要とされる場合にだけ、消費される。その場合にＦｌｅｘＲａｙは、２本の物理的に分離された導線を介してそれぞれ最大１０ＭＢｙｔｅ／ｓのデータ率で通信する。その場合に２つのチャネルは、特にＯＳＩ（Open System Architecture）層モジュールの、物理的層に相当する。これらは、主としてメッセージの冗長な、したがってエラー許容する伝送に用いられるが、異なるメッセージを伝送することも可能であって、その場合にはそれによってデータ率が倍増される。しかし、ＦｌｅｘＲａｙは、もっと低いデータ率で駆動することもできる。
【０００３】
同期した機能を実現し、かつ２つのメッセージ間の小さい間隔によって帯域幅を最適にするために、通信ネットワーク内の分配されたコンポーネント、したがって加入者は、共通のタイムベース、いわゆるグローバルタイムを必要とする。時計同期のために、サイクルの静的な部分内で同期通知が伝送され、その場合にＦｌｅｘＲａｙスペシフィケーションに応じた特殊なアルゴリズムを用いてコンポーネントのローカル時刻が、すべてのローカル時計がグローバル時計に同期して進行するように、補正される。
【０００４】
ＦｌｅｘＲａｙネットワークノードまたはＦｌｅｘＲａｙ加入者あるいはホストは、加入者プロセッサ、したがってホストプロセッサ、ＦｌｅｘＲａｙコントローラあるいは通信コントローラおよび（バスを監視する場合に）バスガーディアンを有している。その場合にホストプロセッサ、したがって加入者プロセッサは、ＦｌｅｘＲａｙ通信コントローラを介して伝送されるデータを供給して処理する。ＦｌｅｘＲａｙネットワーク内の通信のために、例えば２５４までのデータバイトを有するメッセージないしメッセージオブジェクトを構成することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
課題は、最適な方法でＦｌｅｘＲａｙネットワーク内の通信を支援する、ＦｌｅｘＲａｙ通信モジュールを提供することである。
【課題を解決するための手段】
【０００６】
この課題は、物理的層としてのＦｌｅｘＲａｙ通信接続を、ＦｌｅｘＲａｙ通信モジュールに対応づけられた、ＦｌｅｘＲａｙネットワーク内の加入者に結合するためのＦｌｅｘＲａｙ通信モジュールによって解決され、そのＦｌｅｘＲａｙネットワークを介してメッセージが伝送される。その場合にＦｌｅｘＲａｙ通信モジュールは、好ましくは伝送されたメッセージの少なくとも一部を記憶するための第１の配置と、第１の配置を加入者と接続するために第２の配置およびＦｌｅｘＲａｙ通信接続、したがって物理的層を第１の配置と接続するための第３の配置を有している。
【０００７】
その場合に第１の配置は、好ましくはメッセージ管理者、したがってメッセージハンドラーとメッセージメモリとを有しており、その場合にメッセージ管理者はメッセージメモリに関するデータアクセスに関して、第１と第２の配置のデータパスに関する制御を引き受ける。その場合に第１の配置のメッセージメモリは、好ましくは、ヘッドセグメントとデータセグメントに分割されている。
【０００８】
好ましくは、ホストに、したがってＦｌｅｘＲａｙ加入者ないしホストプロセッサに、結合するための第２の配置は、入力バッファメモリと出力バッファメモリを有しており、その場合に入力バッファメモリか、出力バッファメモリが、あるいは好ましい実施形態において最も好ましくは両方のメモリが、それぞれ部分バッファメモリとシャドウメモリに分割されており、それらは交互に読み出しおよび／または書き込みされ、それによってデータ一貫性が保証される。それぞれの部分バッファメモリと付属のシャドウメモリの交互の読み出しないし書き込みは、好ましくはそれぞれのアクセスの交代によって、あるいはメモリ内容の交代によって、得ることができる。
【０００９】
その場合に、各バッファメモリと各シャドウメモリが、それぞれ２つのＦｌｅｘＲａｙメッセージのデータ領域および／またはヘッド領域が記憶可能であるように設計されていると、効果的である。
【００１０】
様々な加入者またはホストに問題なく適応させるために、第２の配置はインターフェイスモジュールを有しており、それが加入者固有の部分モジュールと加入者に依存しない部分モジュールとからなっているので、加入者適応のためのは加入者固有の部分モジュールのみを変更すればよく、したがって全体としてＦｌｅｘＲａｙ通信モジュールの柔軟性が向上する。その場合に、複数の部分モジュールを１つのインターフェイスモジュールの内部において、それぞれソフトウェア内で実現することもでき、したがって各加入者をソフトウェア機能として実現することができる。
【００１１】
ＦｌｅｘＲａｙにおける冗長な伝送ルートにしたがって、第３の配置は、好ましくは第１のインターフェイスモジュールと第２のインターフェイスモジュールとを有しており、かつそれ自体はそれぞれ２つのデータ方向を有する２つのデータパスに分割されている。好ましくは第３の配置は、２つのデータパスとそれぞれ２つのデータ方向を考慮するために、第１と第２のバッファメモリを有している。その場合にここでも、第１と第２のバッファメモリは、少なくともそれぞれ、２つのＦｌｅｘＲａｙメッセージのデータ領域が記憶可能であるように、設計されている。好ましくは第３の配置の各インターフェイスモジュールが、シフトレジスタとＦｌｅｘＲａｙプロトコル状態機械とを有している。
【００１２】
本発明に基づくＦｌｅｘＲａｙ通信モジュールによって、ＦｌｅｘＲａｙプロトコルスペシフィケーション、特にｖ２．０を完全に支援することができ、それによって例えば、６４までのメッセージないしメッセージオブジェクトが構成可能である。その場合にメッセージのそれぞれのデータフィールドないしデータ領域の大きさにしたがって、様々な数のメッセージオブジェクトを記憶するためにフレキシブルに構成可能なメッセージメモリが得られる。したがって、好ましくは、様々な長さのデータフィールドを有する、メッセージまたはメッセージオブジェクトが構成される。その場合にメッセージメモリは、好ましくはＦＩＦＯ（first  in-first  out）として形成されているので、構成可能な受信ＦＩＦＯが得られる。メモリ内の各メッセージないし各メッセージオブジェクトは、受信メッセージオブジェクト（Receive-Buffer）として、送信メモリオブジェクト（Transmit-Buffer）、あるいは構成可能な受信ＦＩＦＯの一部として構成することができる。同様に、ＦｌｅｘＲａｙネットワーク内のフレームＩＤ、チャネルＩＤおよびサイクルカウンタへのアクセプタンスフィルタリングが可能である。したがってネットワークマネージメントが、効果的に支援される。好ましくは、さらに、マスキング可能なモジュールインターラプトが設けられている。
【００１３】
他の利点と好ましい形態が、請求項の特徴と明細書から得られる。
【００１４】
図面の図を用いて、本発明を詳細に説明する。
【００１５】
以下、実施例を用いて本発明を詳細に説明する。
【発明を実施するための最良の形態】
【００１６】
図１は、加入者またはホスト１０２をＦｌｅｘＲａｙ通信接続１０１、したがってＦｌｅｘＲａｙの物理的層に結合するためのＦｌｅｘＲａｙ通信モジュール１００を概略的に示している。そのためにＦｌｅｘＲａｙ通信モジュール１００は、接続１０７を介して加入者ないし加入者プロセッサ１０２と、そして接続１０６を介して通信接続１０１と接続されている。一方で伝送時間に関して、そして他方ではデータ一貫性に関して問題なく結合するために、ＦｌｅｘＲａｙ通信モジュール内で大体において３つの配置が概略的に区別される。その場合に第１の配置１０５は、伝送すべきメッセージの少なくとも一部を記憶、特に一時格納するために用いられる。加入者１０２とこの第１の配置１０５との間には、接続１０７と１０８を介して第２の配置１０４が接続されている。同様に、加入者１０１と第１の配置１０５の間には、第３の配置１０３が接続１０６と１０９を介して接続されており、それによって最適な速度でデータ一貫性を保証しながら、第１の配置１０５内へ、ないしはそこからの、メッセージ、特にＦｌｅｘＲａｙメッセージの一部としてのデータの、極めてフレキシブルな入力と出力を得ることができる。
【００１７】
図２には、通信モジュール１００の好ましい実施形態が、再度詳細に示されている。それぞれの接続１０６から１０９も、同様に詳細に示されている。その場合に第２の配置１０４は、入力バッファメモリ２０１（Input  Buffer  IBF）、出力バッファメモリ２０２（Output  Buffer  OBF）および、２つの部分２０３と２０４からなるインターフェイスモジュールを有しており、その場合に第１の部分モジュール２０３は加入者に依存せず、第２の部分モジュール２０４は加入者固有である。加入者固有の部分モジュール２０４（Customer  CPU  Interface  CIF）は、加入者固有のホストＣＰＵ１０２、したがって顧客固有の加入者を、ＦｌｅｘＲａｙ通信モジュールと接続する。そのために双方向のデータ線２１６、アドレス線２１７および制御入力２１８が設けられている。同様に、符号２１９で示すインターラプトまたは中断出力が設けられている。加入者固有の部分モジュール２０４は、加入者に依存しない部分モジュール２０３（Generic  CPU  Interface；GIF）と接続されており、すなわちＦｌｅｘＲａｙ通信モジュールまたはＦｌｅｘＲａｙＩＰモジュールは、ジェネリックな、したがって一般的な、ＣＰＵインターフェイスを有しており、それに適切な加入者固有の部分モジュール、したがってCustomer  CPU  Interface  CIFを介して多数の異なる顧客固有のホストＣＰＵが接続される。したがって加入者に応じて部分モジュール２０４のみを変更すればよく、それは、著しく少ない手間とコストを意味している。
【００１８】
入力バッファメモリ２０１と出力バッファメモリ２０２は、１つのメモリモジュール内に形成することができ、あるいは別々のメモリモジュール内に形成することもできる。その場合に入力バッファメモリ２０１は、メッセージメモリ２００へ伝送するためのメッセージを一時記憶するために用いられる。その場合に入力バッファモジュールは、好ましくは、それぞれ、特にコンフィグレーションデータを有する、ヘッドセグメントまたはヘッダーセグメントとデータセグメントまたはPayloadセグメントからなる、２つの完全なメッセージを記憶することができるように、形成されている。その場合に入力バッファメモリは、２つの部分（部分バッファメモリとシャドウメモリ）で形成されており、それによって、入力バッファメモリの２つの部分に交互に書き込むことにより、ないしは交互にアクセスすることによって、加入者ＣＰＵ１０２とメッセージメモリ２００の間の伝送が加速される。同様に、出力バッファメモリ（Output  Buffer  OBF）は、メッセージメモリ２００から加入者ＣＰＵ１０２へ伝送するためのメッセージを一時記憶するために用いられる。その場合に出力バッファ２０２も、特にコンフィグレーションデータを有する、ヘッダーセグメントとデータセグメント、したがってPayloadセグメントからなる２つの完全なメッセージを記憶することができるように、形成されている。ここでも、出力バッファメモリ２０２が２つの部分、部分バッファメモリとシャドウメモリに分割されており、それによってここでも２つの部分を交互に読むことによって、伝送が加速され、ないしは交互にアクセスすることによって加入者ないしホストＣＰＵ１０２とメッセージメモリ２００の間の伝送が加速される。ブロック２０１から２０４からなるこの第２の配置１０４は、図示のように、第１の配置１０５と接続されている。
【００１９】
配置１０５は、メッセージ管理者２００（Message  Handler  MHD）とメッセージメモリ３００（Message  RAM）からなる。メッセージ管理者は、入力バッファメモリ２０１および出力バッファメモリ２０２とメッセージメモリ３００との間のデータ伝送を管理し、ないしは制御する。同様にメッセージ管理者は、第３の配置１０３を介しての他の方向におけるデータ伝送を管理し、ないしは制御する。メッセージメモリは、好ましくはsingle  ported  RAMとして形成されている。このＲＡＭメモリは、メッセージないしメッセージオブジェクト、したがって本来のデータを、コンフィグレーションおよびステータスデータと共に記憶する。メッセージメモリ３００の正確な構造が、図３に詳細に示されている。
【００２０】
第３の配置１０３は、ブロック２０５から２０８からなる。ＦｌｅｘＲａｙ物理層の２つのチャネルに応じて、この配置１０３は、それぞれ２つのデータ方向を備えた２つのデータパスに分割されている。これは、接続２１３と２１４によって明らかにされ、その中にチャネルＡについて受信（ＲｘＡ）と送信（ＴｘＡ）のためのＲｘＡとＴｘＡ、チャネルＢについてＲｘＢとＴｘＢの２つのデータ方向が示されている。接続２１５によって、オプショナルの双方向制御入力が示されている。第３の配置１０３の結合は、チャネルＢについては第１のバッファメモリ２０５を介して、チャネルＡについては第２のバッファメモリ２０６を介して行われる。これら２つのバッファメモリ（Transient  Buffer  RAM's；RAM  AとRAM  B）は、第１の配置１０５からの、あるいはそこへのデータ伝送のための一時メモリとして用いられる。２つのチャネルに応じて、２つのバッファメモリ２０５と２０６は、それぞれインターフェイスモジュール２０７および２０８と接続されており、それらが送信／受信シフトレジスタとＦｌｅｘＲａｙプロトコル有限状態機械とからなるＦｌｅｘＲａｙプロトコルコントローラまたはバスプロトコルコントローラを有している。したがって２つのバッファメモリ２０５と２０６は、インターフェイスモジュールのシフトレジスタまたはＦｌｅｘＲａｙコントローラ２０７および２０８とメッセージメモリ３００の間でデータ伝送するための一時メモリとして用いられる。ここでも好ましい方法で、各バッファメモリ２０５または２０６によって２つのＦｌｅｘＲａｙメッセージのデータフィールド、したがってPayloadセグメントまたはデータセグメントが記憶される。
【００２１】
さらに、通信モジュール１００内に符号２０９でグローバルタイムユニット（Global  Time  Unit  GTU）が示されており、同タイムユニットはＦｌｅｘＲａｙ内のグローバルなタイムパターン、すなわちMikrotick  μＴとMakrotic  ＭＴを表示する権限を有している。同様に、グローバルタイムユニット２０９を介して、サイクルカウンタ（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領域を有するメッセージを許す。図２に示すように、メッセージメモリは、ＦｌｅｘＲａｙ通信モジュール１００の一部である。以下で説明する方法および対応するメッセージメモリは、送信すべきメッセージないし受信したメッセージを、特にランダムアクセスメモリ（ＲＡＭ）を使用して、記憶することを記述しており、その場合に本発明に基づく機構によって、予め定められた大きさのメッセージメモリ内に可変の数のメッセージを記憶することが可能である。その場合に、記憶可能なメッセージの数は、個々のメッセージのデータ領域の大きさに依存しており、それによって、一方で、メッセージのデータ領域の大きさを制限することなしに、必要なメモリの大きさを最小限に抑えることができ、他方では、メモリの最適な利用が行われる。以下において、特にＲＡＭベースのメッセージメモリのこの可変の分割を、ＦｌｅｘＲａｙ通信コントローラについて詳細に説明する。
【００２７】
実装するために、例えば、ｎビット、例えば８、１６、３２などの固定のワード幅とｍワードの予め定められたメモリ深さとを有する（ｎ、ｍは自然数）メッセージメモリが設けられる。その場合にメッセージメモリ３００は、２つのセグメント、ヘッダセグメントまたはヘッドセグメントＨＳとデータセグメントＤＳ（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）。同時に、アクセスがクロック単位で入れ子にされることによって、メッセージメモリ内に格納されているデータの一貫性が保証され、伝送速度も、完全な帯域幅の利用によって増大される。
【図面の簡単な説明】
【００５７】
【図１】通信モジュールとそれの、物理的な層、したがって通信接続への結合と通信加入者または通信ホストを概略的な表示で示している。
【図２】図１に基づく通信モジュールとその接続を、特殊な実施形態において示している。
【図３】メッセージメモリの構造を示している。
【図４】アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。
【図５】アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。
【図６】アーキテクチャとデータアクセスのプロセスを、加入者からメッセージメモリの方向に概略的に示している。
【図７】アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。
【図８】アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。
【図９】アーキテクチャとデータアクセスのプロセスをメッセージから加入者の方向に概略的に示している。
【図１０】メッセージ管理者とその中に含まれる有限状態機械を概略的に示している。
【図１１】通信モジュールの構成部分と加入者および、メッセージ管理者によって制御される、該当するデータパスを再度概略的に示している。
【図１２】図１１に示すデータパスにおけるアクセス分配を示している。
【図１】
2008508826.tif 000003
【図２】
2008508826.tif 000004
【図３】
2008508826.tif 000005
【図４】
2008508826.tif 000006
【図５】
2008508826.tif 000007
【図６】
2008508826.tif 000008
【図７】
2008508826.tif 000009
【図８】
2008508826.tif 000010
【図９】
2008508826.tif 000011
【図１０】
2008508826.tif 000012
【図１１】
2008508826.tif 000013
【図１２】
2008508826.tif 000014
【国際調査報告】
2008508826.tif 000015
2008508826.tif 000016
2008508826.tif 000017
2008508826.tif 000018
2008508826.tif 000019
2008508826.tif 000020