(57)【特許請求の範囲】
【請求項１】
２つのプロセッサユニット間にてデータを交換する際に使用されるデータ交換装置において、
共通メモリ（７）中のデータメモリ領域を介して第２プロセッサユニット（８，６）とデータを交換するときに同期モードまたは非同期モードのいずれかで選択的に作動するよう構成された第１プロセッサユニット（６，８）を備え、
同期モードにおいて、第１プロセッサユニット（６，８）のいずれか１つがデータメモリ領域にアクセスした後、これらの先行するユニット（６，８）が次回にそのデータメモリ領域にアクセス可能となる前に、他方のプロセッサユニット（８，６）がデータメモリ領域にアクセスするよう構成されていることを特徴とするデータ交換装置。
【請求項２】
第１プロセッサユニット（６，８）は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを終了するよう構成され、このうち同期モードにおいて、第２プロセッサユニット（８，６）がデータメモリ領域にアクセスするまでに第１プロセッサユニット（６，８）がデータメモリ領域にアクセスすることができないよう第１プロセッサユニット（６，８）が第２プロセッサユニット（８，６）のためにデータメモリ領域を予約し、一方、非同期モードにおいて、データメモリ領域へ最初にアクセスを要求するプロセッサユニットがこのメモリ領域にアクセスできるよう第１プロセッサユニット（６，８）がデータメモリ領域を解放することを特徴とする請求項１記載のデータ交換装置。
【請求項３】
非同期モードにおいて、第１プロセッサユニット（６，８）はデータメモリ領域をフリー状態に解放することによってデータメモリ領域へのアクセスを終了するよう構成されていることを特徴とする請求項１または２記載のデータ交換装置。
【請求項４】
第１プロセッサユニット（６，８）は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを要求するよう構成され、このうち同期モードにおいて、第１プロセッサユニット（６，８）は第２プロセッサユニット（８，６）が次回にデータメモリ領域にアクセスする前にデータメモリ領域にアクセスするようデータメモリ領域を予約し、一方、非同期モードにおいて、第１プロセッサユニット（６，８）はデータメモリ領域がフリーである場合にのみデータメモリ領域へのアクセスを要求することを特徴とする請求項１乃至３のいずれか１項記載のデータ交換装置。
【請求項５】
第１プロセッサユニット（６，８）はデータメモリ領域へのアクセスを制御するためのステートマシンを含み、このステートマシンはデータメモリ領域がフリーである第１状態と、データメモリ領域がそれぞれ第１プロセッサユニット（６，８）または第２プロセッサユニット（８，６）に予約される第２状態および第３状態と、データメモリ領域がそれぞれ第１プロセッサユニット（６，８）または第２プロセッサユニット（８，６）によってアクセスされる第４状態および第５状態とを有することを特徴とする請求項１乃至４のいずれか１項記載のデータ交換装置。
【請求項６】
前記共通メモリをなすとともに前記データメモリ領域を有するメモリ（７）を含み、前記メモリ（７）は制御メモリ領域を有し、第１プロセッサユニット（６，８）はデータメモリ領域へのアクセスを制御するため、第２プロセッサユニット（８，６）に制御情報を書き込み、かつ第２プロセッサユニット（８，６）から制御情報を読み取るよう構成されていることを特徴とする請求項１乃至５のいずれか１項記載のデータ交換装置。
【請求項７】
メモリ（７）は第１および第２プロセッサユニットによってアクセス可能の複数のデータメモリ領域を有し、前記制御情報はその制御情報がどのデータメモリ領域に付属するかを表示するための１つの項目を含むことを特徴とする請求項６記載のデータ交換装置。
【請求項８】
第１プロセッサユニット（６）がフィールドバス（３）に接続され、メモリ（７）はフィールドバスからの入力データ用の少なくとも１つのデータメモリ領域と、フィールドバスへの出力データ用の少なくとも１つのデータメモリ領域と、フィールドバス固有データ用の少なくとも１つのデータメモリ領域とを有することを特徴とする請求項６または７記載のデータ交換装置。
【請求項９】
第１プロセッサユニット（６，８）は、前記データメモリ領域を介して周期的データを第２プロセッサユニット（８，６）と交換するとともに、周期的データの交換とは独立して前記制御メモリ領域を介して非周期的データを第２プロセッサユニットと交換するよう構成されていることを特徴とする請求項６乃至８のいずれか１項記載のデータ交換装置。
【請求項１０】
前記第２プロセッサユニットをなす他のプロセッサユニット（８，６）を含み、この第２プロセッサユニットは第１プロセッサユニットとデータを交換するときに選択的に同期モードまたは非同期モードのいずれかで作動するよう構成されていることを特徴とする請求項１乃至９のいずれか１項記載のデータ交換装置。
【請求項１１】
第２プロセッサユニット（８，６）は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを終了するよう構成され、このうち同期モードにおいて、第１プロセッサユニット（６，８）がデータメモリ領域にアクセスするまでに第２プロセッサユニット（８，６）がデータメモリ領域にアクセスすることができないよう第２プロセッサユニット（８，６）が第１プロセッサユニット（６，８）のためにデータメモリ領域を予約し、一方、非同期モードにおいて、データメモリ領域へ最初にアクセスを要求するプロセッサユニットがこのメモリ領域にアクセスできるよう第２プロセッサユニット（８，６）がデータメモリ領域を解放することを特徴とする請求項１０記載のデータ交換装置。
【請求項１２】
第２プロセッサユニット（８，６）は、同期モードにおいてデータメモリ領域にアクセスしたとき、この第２プロセッサユニット（８，６）が次回にデータメモリ領域にアクセスする前にこのメモリ領域にアクセスする要求を第１プロセッサユニット（６，８）から受ければ、第２プロセッサユニット（８，６）がデータメモリ領域へのそのアクセスを終了するよう構成されていることを特徴とする請求項１０または１１記載のデータ交換装置。
【請求項１３】
第２プロセッサユニット（８，６）は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを要求するよう構成され、このうち同期モードにおいて、第２プロセッサユニット（８，６）は第１プロセッサユニット（６，８）が次回にデータメモリ領域にアクセスする前にデータメモリ領域にアクセスするようデータメモリ領域を予約し、一方、非同期モードにおいて、第２プロセッサユニット（８，６）はデータメモリ領域がフリーである場合にのみデータメモリ領域へのアクセスを要求することを特徴とする請求項１０乃至１２のいずれか１項記載のデータ交換装置。
【請求項１４】
共通メモリ（７）中のデータメモリ領域を介して第１および第２プロセッサユニット（６，８）間にてデータを交換するデータ交換方法において、
データの交換は同期モードまたは非同期モードのいずれかにおいて選択的に実行され、  同期モードにおいて、第１プロセッサユニット（６，８）のいずれか１つがデータメモリ領域にアクセスした後、これらの先行するユニット（６，８）が次回にそのデータメモリ領域にアクセスする前に、他方のプロセッサユニット（８，６）がデータメモリ領域にアクセスすることを特徴とするデータ交換方法。
【請求項１５】
非同期モードにおいてデータメモリ領域がフリーであるときにプロセッサユニット（６，８）がこのデータメモリ領域へアクセスを要求する順序でデータメモリ領域にアクセスすることを特徴とする請求項１４記載のデータ交換方法。
【請求項１６】
プロセッサユニット（６，８）がデータメモリ領域へのアクセスを終了するときに同期モードまたは非同期モードのいずれかを選択することを特徴とする請求項１４または１５記載のデータ交換方法。
【請求項１７】
プロセッサユニットが非同期モードでデータメモリ領域へのアクセスを終了するときに、そのメモリ領域をフリー状態に解放することを特徴とする請求項１６記載のデータ交換方法。
【請求項１８】
プロセッサユニットがデータメモリ領域へのアクセスを要求するときに同期モードまたは非同期モードのいずれかを選択することを特徴とする請求項１４乃至１７のいずれか１項記載のデータ交換方法。
【請求項１９】
プロセッサユニットがメモリを介して制御情報を交換することにより同期モードまたは非同期モードの選択を制御することを特徴とする請求項１４乃至１８のいずれか１項記載のデータ交換方法。
【請求項２０】
プロセッサユニットがメモリを介して制御情報を交換することによりメモリ中の複数のデータメモリ領域のいずれか１つに対するアクセスを個別に制御することを特徴とする請求項１４乃至１９のいずれか１項記載のデータ交換方法。
【請求項２１】
プロセッサユニットが周期的データをデータメモリ領域を介して交換するとともに、非周期的メッセージを共通メモリ中のレジスタを介して交換し、これらのデータおよびメッセージの交換が互いに独立に実行されることを特徴とする請求項１４乃至２０のいずれか１項記載のデータ交換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は２つのプロセッサユニット間にてデータを交換するデータ交換装置およびその方法に関する。
【０００２】
【従来の技術】
フィールドバスシステム（デバイスネットワークまたは制御ネットワークとも呼ばれる）は産業界において、制御システムの異なるユニット間の、例えばマスターユニット（スキャナーとも呼ばれる）とスレーブユニット（アダプタとも呼ばれる）との間の通信のために、または異なる制御システム間の通信のためにしばしば使用される。
【０００３】
フィールドバスシステムに関する１つの問題点は、多数の異なるシステムの存在である。これらの相違点は例えばバス構造、リアルタイム動作、転送され得るデータの量、伝送メディア、およびバス上の電力分布である。１つのユニットが異なるフィールドバスシステムに適合できるためには、これらのシステムの異なる技術的な要求を取り扱う必要がある。異なるフィールドバスシステムに適合可能なこのようなユニットは、もちろん特定のフィールドバスシステムのみについて設計されたユニットの製造原価よりはるかに高い。
【０００４】
この問題点を解決するため、出願人はスレーブユニットとフィールドバスとの間に接続される一連の適応モジュールを開発した。各適応モジュールは異なるフィールドバス用に設計され、従って特有のフィールドバスインタフェースを有する。しかし、全ての適応モジュールはスレーブユニットに対して同一のインタフェースを有する。従って、１つのスレーブユニットは単一のインタフェースを介して多数の異なるフィールドバスに接続することが可能である。
【０００５】
適応モジュールとスレーブユニットとの間のインタフェースは、適応モジュールのプロセッサユニットとスレーブユニットのプロセッサユニットとによってアクセス可能なデュアルポートメモリによって実現される。このメモリへのアクセスはメモリ中のハンドシェイクレジスタによって制御される。デフォルト状態において、メモリは適応モジュールに割り当てられる。スレーブユニットがメモリにアクセスしようとする場合、スレーブユニットはハンドシェイクレジスタの中にアクセス要求を書き込まなければならない。このスレーブユニットは、適応モジュールが自由にその要求を処理することができるまで、待たなければならない。この適応モジュールは非常に頻繁にフィールドバスと通信しているので、ある程度の時間がかかる可能性がある。適応モジュールは、ハンドシェイクレジスタの中に確認を書き込むことによってスレーブユニットにメモリへのアクセスを許可する。スレーブユニットがメモリにアクセスした後、スレーブユニットはハンドシェイクレジスタの中に解放を書き込むことによって適応モジュールに対してメモリを解放する。
【０００６】
【発明が解決しようとする課題】
デュアルポートメモリにアクセスするこの方法の欠点は、スレーブユニットがメモリに対するアクセスを要求する前に適応モジュールが常にメモリにアクセスしていれば、スレーブユニットが適応モジュールによってロックアウトされることにある。他の欠点は、長い予測不能なアクセス時間のためにデータ交換が遅いことである。これは、適応モジュールがマスターユニットとフィールドバスとの間において使用できないことを意味する。この箇所では迅速なデータ交換に対する要求がさらに厳しいからである。
【０００７】
さらに、フィールドバスシステムにおいては、通常マスターユニットとスレーブユニットとの間において次のようなデータ、すなわち時間クリティカルな周期的入力および出力データ、時間クリティカルでない非周期的メッセージおよび／またはコマンド、および非周期的フィールドバス制御データおよび状態データを転送する必要がある。上述した方法のさらに他の欠点は、非周期的データおよびメッセージの転送を支援しないことにある。
【０００８】
なお、上述した問題点は、２つのプロセッサユニットが共通メモリを介してデータを交換する他の種々の応用においても生じる。
【０００９】
【課題を解決するための手段】
そこで、本発明は、共通メモリを介して２つのプロセッサユニット間にてデータを交換する、改良された装置および方法を提供することを目的とする。
【００１０】
この目的は請求項１によるデータ交換装置および請求項１４によるデータ交換方法によって達成される。本発明の実施の形態は従属クレーム中に開示されている。
【００１１】
さらに詳しくは、本発明のデータ交換装置は、共通メモリ中のデータメモリ領域を介して第２プロセッサユニットとデータを交換するときに同期モードまたは非同期モードのいずれかで選択的に作動するよう構成された第１プロセッサユニットを有している。
【００１２】
このような２つの異なるモードで作動できることは非常に有利であり、またデータ交換を一層効率的にする。同期モードを選択することにより、第１プロセッサユニットはロックアウトを防止し、また両方のプロセッサユニットがデータメモリ領域にアクセスするよう配慮することができる。しかし、場合によっては、データメモリ領域へのアクセスを同期化しない方が望ましい。このような状況においては、第１プロセッサを非同期モードで作動させることにより、データ交換効率を最適化することができる。
【００１３】
プロセッサユニットはハードウェア回路により、またはハードウェアとソフトウェアとの組合わせにより、好ましくは適当にプログラミングされたマイクロプロセッサによって実現することができる。
【００１４】
第１プロセッサユニットは共通メモリの両側に配置することができる。従って、フィールドバスシステムにおいてはまた、プロセッサユニットはスレーブユニット中に、または適応モジュール中に、またはマスターユニット中に配置されたプロセッサユニットとすることができる。
【００１５】
同期モードにおいては、第１プロセッサユニットのいずれか１つがデータメモリ領域にアクセスした後、これらの先行するユニットが次回にそのデータメモリ領域にアクセス可能となる前に、他方のプロセッサユニットがデータメモリ領域にアクセスするよう構成されるとよい。このようにして、第１プロセッサユニットは、この第１プロセッサユニットがメモリにアクセスした後、次回にこの第１プロセッサユニットがメモリにアクセスする前に、第２プロセッサユニットがメモリにアクセスできるよう構成される。これは例えば、同期モードにおいて、第２プロセッサユニットがデータメモリ領域にアクセスするまでに第１プロセッサユニットがデータメモリ領域にアクセスすることができないよう第１プロセッサユニットが第２プロセッサユニットのためにデータメモリ領域を予約して、第１プロセッサユニットがデータメモリ領域へのアクセスを終了することにより実現することができる。データが次回に第１プロセッサユニットによって更新される前に第２プロセッサユニットがこれらのデータを読み取ることを第１プロセッサユニットが望む場合には、第１プロセッサユニットがこのようにすることが望ましい。
【００１６】
また、第１プロセッサユニットは、第２プロセッサユニットがメモリにアクセスした後、次回にこの第２プロセッサユニットがメモリにアクセスする前に第１プロセッサユニットがメモリにアクセスできるよう構成される。これは例えば、同期モードにおいて、第２プロセッサユニットが次回にデータメモリ領域にアクセスする前に第１プロセッサユニットがデータメモリにアクセスできるようデータメモリを予約して、第１プロセッサユニットがデータメモリ領域へのアクセスを要求することにより実現することができる。特に、第１プロセッサユニットが一定の操作を実行する前に第２プロセッサユニットからデータを読み取る必要のあることを知っている場合には、第１プロセッサユニットがこのようにすることが望ましい。
【００１７】
なお、上述した２つの場合を組み合わせることも当然可能である。
【００１８】
第１プロセッサユニットが同期モードまたは非同期モードのいずれかで作動できることは、第１プロセッサユニットが同期モードまたは非同期モードのいずれかでデータメモリ領域へのアクセスを終了するよう構成されていること、および／または第１プロセッサユニットが同期モードまたは非同期モードのいずれかでデータメモリ領域へのアクセスを要求するよう構成されていることを意味する。
【００１９】
好ましくは、第１プロセッサユニットが同期モードにおいてメモリ領域にアクセスしたとき、この第１プロセッサユニットが次回にデータメモリ領域にアクセスする前にこのデータメモリ領域にアクセスする要求（すなわち、同期モードにおけるアクセス要求）を第２プロセッサユニットから受ければ、第１プロセッサユニットはデータメモリ領域へのそのアクセスを終了する。このようにして、第２プロセッサユニットも、同期モードまたは非同期モードのいずれかでデータ交換を実行すべきかについて影響を与えることができる。
【００２０】
非同期モードにおいて、第１プロセッサユニットはデータメモリ領域をフリー状態に（すなわちメモリ領域がいずれのプロセッサユニットにも予約されていない状態に）解放することにより、データメモリ領域へのアクセスを終了することができる。これは他方のプロセッサユニットがデータメモリ領域のフリー状態または非フリー状態を調査する必要がないので、データメモリ領域に対するアクセスを要求するプロセッサユニットに対してデータメモリ領域を迅速に割り当てることができるので望ましい。このような短いアクセス時間は、この装置をマスターユニットとフィールドバスとの間の適応モジュールとして使用できることを意味する。
【００２１】
第１プロセッサユニットは好ましくは、データメモリ領域へのアクセスを制御するためのステートマシン（state machine）を含み、このステートマシンはデータメモリ領域がフリーである第１状態と、データメモリ領域がそれぞれ第１プロセッサユニットまたは第２プロセッサユニットに予約される第２状態および第３状態と、データメモリ領域がそれぞれ第１プロセッサユニットまたは第２プロセッサユニットによってアクセスされる第４状態および第５状態とを有する。このステートマシンはアクセス制御の実行を容易にする。第１プロセッサユニットのみがデータメモリ領域の状態の追跡を保持する必要がある。第２プロセッサユニットは単にデータメモリ領域に対するアクセスを要求して終了する。
【００２２】
好ましくは、本発明のデータ交換装置はさらに、前記共通メモリをなすとともに前記データメモリ領域を有するメモリを含み、前記メモリは制御メモリ領域を有する。この制御メモリ領域は好ましくは、それぞれのプロセッサユニット用の２つのハンドシェイクレジスタとして構成される。第１プロセッサユニットは、データメモリ領域へのアクセスを制御するため、第２プロセッサユニットに制御情報を書き込み、かつ第２プロセッサユニットから制御情報を読み取るよう構成される。制御情報は例えばビットパタンであって、その１つまたは複数のビットが、要求アクセス、終了アクセス、同期モードまたは非同期モードを表示する。
【００２３】
メモリは市販のデュアルポートメモリとし、または特にこの用途のために設計されたメモリとすることができる。
【００２４】
データ交換速度をさらに増大するため、メモリは両方のプロセッサユニットによってアクセス可能な複数のデータメモリ領域を有することができる。このようにして、データ交換が並列で実行されるように、両方のプロセッサユニットが同時に異なるメモリ領域にアクセスすることができる。
【００２５】
いずれのデータメモリ領域に対して制御情報が付属するかを表示する項目を制御情報の中に含めることにより、同一制御メモリ領域が全てのデータメモリ領域のデータの交換を制御するために使用される。
【００２６】
望ましくは制御メモリ領域は、データメモリ領域を介しての周期的データ交換とは独立して第２プロセッサユニットとの非周期的データの交換のために使用することができる。
【００２７】
また、本発明によるデータ交換装置は、第２プロセッサユニットを含むことができる。好ましくは、この第２プロセッサユニットは第１プロセッサユニットと同様に作動するよう構成され、両方のプロセッサユニットが選択的に同期モードまたは非同期モードで作動するとよい。
【００２８】
本発明によるデータ交換装置およびその方法は、１つのプロセッサユニットがフィールドバスを介して第３プロセッサユニットに接続されたフィールドバスシステムにおいて使用する場合に特に好適である。
【００２９】
【発明の実施の形態】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明するが、本発明はこれに限定されるものではない。
【００３０】
以下の実施の形態において本発明はフィールドバスシステムに適用される。
【００３１】
図１に概略的に示されたフィールドバスシステムはマスターユニット１を含み、このマスターユニットはフィールドバス３と適応モジュール４とを介してスレーブユニット２に接続される。フィールドバス３は適応モジュール４に対して標準型コネクタ（図示されていない）によって接続されている。また、適応モジュール４はスレーブユニット２に対して標準型コネクタ（図示されていない）によって接続されている。適応モジュール４はバスモジュール５と、第１プロセッサユニット６と、デュアルポートメモリ７とを有する。スレーブユニット２は第２プロセッサユニット８を有し、またマスターユニット１は第３プロセッサユニット９を有する。バスモジュール５はフィールドバス３に対する物理的インタフェースをなす。このバスモジュール５は例えば、信号レベルを第１プロセッサユニット６によって使用される信号レベルに適合させる。メモリ７は２つのポート１０，１１を有し、一方のポート１０は第１プロセッサユニット６用であり、他のポート１１は第２プロセッサユニット８用である。このメモリ７は標準型コンポーネント、例えば米国、ＣＡ  ９５１３４、サンホセ、ノース・ファースト・ストリート３９０１、サイプレス・セミコンダクター・コーポレーション（Cypress Semiconductor Corporation）から市販されているＤＰＲＡＭ  ＣＹ７Ｃ１３１、またはこの応用のために特別に設計製造されたコンポーネントとすることができる。メモリ７と第１プロセッサユニット６および第２プロセッサユニット８とはそれぞれ、データバス１１，１２、アドレスバス１３，１４、コントロールバス１５，１６、および割込みライン１７，１８を介して通信する。第１プロセッサユニット６はシリアルバス１９を介してバスモジュール５と通信する。
【００３２】
メモリ７は読取りおよび書込み操作のために両方のプロセッサユニット６，８によってアクセスされる４つのデータメモリ領域と、２つのハンドシェイクレジスタを有する制御情報領域とを含む。４つのデータメモリ領域はそれぞれ、入力プロセスデータ（マスターユニットからスレーブユニットへのデータ）、出力プロセスデータ（スレーブユニットからマスターユニットへのデータ）、フィールドバス固有データおよびメッセージ／コマンドパス、および状態データのためのものである。データメモリ領域へのアクセスは、ハンドシェイクレジスタおよび各データメモリ領域のステートマシンによって制御される。ステートマシンは適応プロセッサユニット中のソフトウェアの中に実現される。ステートマシンの遷移はプロセッサユニットによって引き起こされる。１つのプロセッサユニットがそのハンドシェイクレジスタの中に制御情報を書き込むときを検出し、また制御情報が検出されたときに他のプロセッサユニットに割込みを発生するため、ハンドシェイクレジスタには論理回路が接続されている。これらの論理回路は、上述したＣＹＣ７Ｃ１３１等の標準型デュアルポートメモリの中に含まれている。
【００３３】
図２は、図１に示すデュアルポートメモリ７のデータメモリ領域へのアクセスを制御するために使用することのできるステートマシンの状態ダイヤグラムを示す図である。このステートマシンは次のような８つの状態、すなわち（Ａ）メモリ領域がフリーである状態、すなわちメモリ領域が適応モジュール４によっても、スレーブユニット２によっても使用されていない状態、（Ｂ）メモリ領域がスレーブユニット２によって使用されている状態、（Ｃ）メモリ領域がスレーブユニット２によって使用されているが、適応モジュール４がメモリ領域にアクセスするまではスレーブユニット２がこのメモリ領域にアクセスできないよう適応モジュール４に対して予約された状態、（Ｄ）メモリ領域が適応モジュール４によって使用されている状態、（Ｅ）メモリ領域が適応モジュール４によって使用されているが、スレーブユニット２がこのメモリ領域にアクセスするまでは適応モジュール４がメモリ領域にアクセスできないようスレーブユニット２に対して予約された状態、（Ｆ）メモリ領域がフリーであるが、スレーブユニット２に対して予約された状態、および（Ｇ）メモリ領域がフリーであるが、適応モジュール４に対して予約された状態を有している。
【００３４】
ステートマシンは次のような遷移を有する。すなわち、（１）スレーブユニット２が非同期モードでメモリ領域へのアクセスを要求する。メモリ領域がフリーであれば、スレーブユニットがこのメモリ領域にアクセスする。（２）スレーブユニット２が同期モードでメモリ領域へのアクセスを要求する。メモリ領域がフリーであれば、スレーブユニット２がこのメモリ領域にアクセスする。もしフリーでなければ、スレーブユニット２がメモリ領域にアクセスするようメモリ領域がスレーブユニット２に対して予約される。３）スレーブユニット２が非同期モードでメモリ領域を解放し、メモリがフリーとなる。４）スレーブユニット２が非同期モードでメモリ領域を解放し、このメモリ領域が適応モジュールに予約される。５）適応モジュール４が非同期モードでメモリ領域へのアクセスを要求する。６）適応モジュール４が同期モードでメモリ領域へのアクセスを要求する。７）適応モジュール４が非同期モードでメモリ領域を解放する。８）適応モジュール４が同期モードでメモリ領域を解放する。
【００３５】
メモリ領域へのアクセスが図２に従ってステートマシンによって制御される場合には、図１に示す装置は次のように作動する。
【００３６】
メモリ領域がフリーであると仮定する（状態Ａ）。適応モジュール４が同期モードまたは非同期モードでメモリ領域へのアクセスを要求すれば（遷移５および６）、適応モジュール４はそれぞれの領域にアクセスする。
【００３７】
ここで、適応モジュール４が入力プロセスデータをメモリ領域の中に書き込んだと仮定する。これらのメモリ領域中の入力プロセスデータの更新が有意義となるまでに、これらの入力プロセスデータはスレーブユニット２によって読み取られる。すなわち、適応モジュール４が同期モードでメモリ領域へのアクセスを終了すると（遷移８）、状態Ｆへの遷移が生じる。スレーブユニット２がメモリ領域へのアクセスを要求するとすぐに、スレーブユニット２はこのメモリ領域にアクセスする（状態Ｂへの遷移１および２）。適応モジュール４からのアクセス要求は全て拒絶される。しかし、もしメモリ領域がスレーブユニット２に予約されているときにスレーブユニット２がそのメモリ領域を同期モードで解放すれば（遷移４）、このメモリ領域はフリーとなる（状態Ａ）。この状態Ｆから状態Ａへの遷移の結果、もし例えばスレーブユニット２が内部エラーを検出し、またはメモリにアクセスできる前にマスターユニット１からさらに他のデータまたはコマンドを受ける必要を検出すれば、スレーブユニット２がメモリ領域を解放する可能性を生じる。
【００３８】
次に、適応モジュール４がメモリ領域の中に入力プロセスデータを書き込むのではなく、スレーブユニット２が入力プロセスデータを読み取るときに常にこの入力プロセスデータが更新されることを適応モジュール４が要求すると仮定する。この場合、適応モジュール４が非同期モードでメモリを解放し（状態Ａへの遷移７）、メモリへの次のアクセスは最初にそのメモリへのアクセスを要求したユニットによって実施されることになる。このようにして適応モジュール４は、マスターユニット１から新規な入力プロセスデータを受ける際にこの入力プロセスデータを読み取る前にこの入力プロセスデータを更新することができるであろう。
【００３９】
適応モジュール４がそのメモリへのアクセス中に（すなわち状態Ｄにおいて）同期モードでそのメモリにアクセスする要求をスレーブユニットから受ければ（遷移２）、適応モジュール４は状態Ｅに進み、この適応モジュール４がそのアクセスを終了するときにメモリはこの状態Ｅから状態Ｆに解放される。しかし、もし状態Ｅにある適応モジュール４がスレーブユニット２から同期モードで解放を受ければ、すなわち次のアクセスが適応モジュール４によって実施されなければならないという表示を受ければ、適応モジュール４は状態Ｄに戻る。
【００４０】
スレーブユニット２は適応モジュール４と同様に作動する。
【００４１】
プロセッサユニット中のソフトウェアはタイムアウト処理を含み、このタイムアウト処理が誤動作の検出に使用され、または図２に示す以外の遷移を生じさせることを了解されたい。
【００４２】
スレーブユニットは、メモリ中の対応のハンドシェイクレジスタの中にビットパタンを書き込むことによってメモリへのアクセスを要求して終了する。適応モジュール４は、そのハンドシェイクレジスタの中にビットレジスタを書き込むことにより、要求され、または終了されたアクセスを確認する。スレーブユニット２と適応モジュール４とによって同一のビットパタンが使用される。ビットパタンの構成を図３に示す。設定時には、ビット７（ＣＭＤ）はビット６−０がコマンドＩＤであることを示す。リセットされたとき、ビット７はビット６−０が下記のように翻訳されなければならないことを意味する。ビット６は使用されない。ビット５（ＲＥＱ／ＲＥＬ）は、これが要求（０）であるかまたは解放（１）であるかを示す。ビット４（ＬＯＣＫ）は、非同期モード（０）または同期モード（１）の使用を示す。ビット３（ＩＮ  ＡＲＥＡ）は入力プロセスデータ領域のフラグである。ビット２（ＯＵＴ  ＡＲＥＡ）は出力プロセスデータ領域のフラグである。ビット１（ＦＢ  ＡＲＥＡ）はフィールドバス固有領域のフラグであり、ビット０（ＣＴＲＬ  ＡＲＥＡ）は状態データ領域のフラグである。
【００４３】
この実施の形態において、プロセッサユニット６，８中のソフトウェアはメモリ７へのアクセスを処理するための３つのソフトウェアプロセスを含む。図４に示されたこれらのプロセスは、データ転送プロセス４１、第１プロセッサユニット６中のスケジューラプロセス４２、および第２プロセッサユニット８中の応用プロセス４３である。データ転送プロセス４１は、第１プロセッサユニット６によるメモリ７中のデータの読取りおよび書込みを制御する。応用プロセス４３はスレーブユニット２に対して同様の目的に役立つ。スケジューラプロセス４２はステートマシンを含み、各メモリ領域へのアクセスを制御する。
【００４４】
メモリ領域がフリーであり、スレーブユニット２が入力プロセスデータのためにこのメモリ領域を読み取ろうとする場合を仮定しよう。この場合、応用プロセス４２がそのハンドシェイクレジスタの中に次のようなビットパタン（７−０）、すなわち（０，０，０，０，１，０，０，０）を書き込むことによってこの領域へのアクセスを要求する（非同期モードでの入力領域へのアクセスの要求）。割込みライン１７上に適応モジュール４への割込みが発生される。スケジューラプロセス４２がこの要求を処理する。メモリ領域がフリーであれば、ステートマシン中の状態Ａから状態Ｂへの遷移１が実行される。スケジューラプロセス４２が適応モジュール４のハンドシェイクレジスタの中に同一ビットパタンを書き込むことによってこの要求を確認する。しかし、もしそのメモリ領域が適応モジュール４によってアクセスされていれば、適応モジュール４はビットパタンのビット３を０にリセットしてハンドシェイクレジスタに戻すことによってその要求を拒絶する。このような場合、ステートマシンにおいて遷移は生じない。スレーブユニット２からの全てのアクセス要求およびアクセス終了要求はこれに対応して処理される。
【００４５】
適応モジュール４がメモリ領域にアクセスしようとする場合またはメモリ領域へのアクセスを終了しようとする場合、データ転送プロセス４１が、スレーブユニット２について述べたのと同様にして同一ビットパタンを使用してスケジューラプロセス４２を呼び出す。唯一の相違点は、スケジューラプロセス４２がハンドシェイクレジスタを経由しないで直接に呼び出されることである。
【００４６】
スレーブユニット２または適応モジュール４が他のユニットにコマンドまたはメッセージを送りたい場合には、ビット７が１にセットされたビットパタンとこれに続く６ビットのコマンドＩＤをハンドシェイクレジスタの中に書き込む。他のプロセッサユニットがこのビットパタンを読み取ると、このプロセッサユニットは最後の６ビットをコマンドとして翻訳する。このハンドシェイクレジスタを介してのコマンド転送はデータメモリ領域を介してのデータ転送とは別個に生じる。コマンドまたはメッセージは対応データ、例えばパラメータを有することができ、これらのデータはフィールドバスデータ領域を介して転送される。
【００４７】
他の実施の形態
図２に示す状態ダイヤグラムはもちろん他の状態を持つよう拡大することができる。図５はこのような拡大された状態ダイヤグラムを示し、この場合、状態ＨおよびＩが追加されている。状態Ｈにおいて、メモリ領域はスレーブユニットのために予約され、次に適応モジュール４のために予約される。状態Ｉにおいて、メモリ領域は適応モジュール４のために予約され、次にスレーブユニットのために予約される。
【００４８】
図１乃至図４に示す実施の形態において、フィールドバスシステムは１つのマスターユニットと１つのスレーブユニットとを有する。他の実施の形態においては、フィールドバスシステムは１つ以上のマスターユニットおよび／または１つ以上のスレーブユニットを有することができる。
【図面の簡単な説明】
【図１】フィールドバスシステムに適用された本発明の一実施の形態を示す概略ブロック図。
【図２】本発明の一実施の形態を実現するために使用される状態ダイヤグラムを示す図。
【図３】図１および図２に示す実施の形態において使用されるビットパタンを示す図。
【図４】図１乃至図３に示す実施の形態において使用されるソフトウェアプロセスの一例を示す概略図。
【図５】他の状態ダイヤグラムを示す図。
【符号の説明】
１  マスターユニット
２  スレーブユニット
３  フィールドバス
４  適応モジュール
５  バスモジュール
６，８，９  プロセッサユニット
７  デュアルメモリ
１１，１２  データバス
１３，１４  アドレスバス
１５，１６  コントロールバス
１７，１８  割込みライン
４１  データ転送プロセス
４２  スケジューラプロセス
４３  応用プロセス
【図１】
0004188446.tif 000002
【図２】
0004188446.tif 000003
【図３】
0004188446.tif 000004
【図４】
0004188446.tif 000005
【図５】
0004188446.tif 000006