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