JP4188446B2 - データ交換装置およびその方法 - Google Patents
データ交換装置およびその方法 Download PDFInfo
- Publication number
- JP4188446B2 JP4188446B2 JP10300098A JP10300098A JP4188446B2 JP 4188446 B2 JP4188446 B2 JP 4188446B2 JP 10300098 A JP10300098 A JP 10300098A JP 10300098 A JP10300098 A JP 10300098A JP 4188446 B2 JP4188446 B2 JP 4188446B2
- Authority
- JP
- Japan
- Prior art keywords
- memory area
- data
- processor unit
- data memory
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 48
- 230000001360 synchronised effect Effects 0.000 claims description 38
- 230000000737 periodic effect Effects 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 description 49
- 230000007704 transition Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000009977 dual effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 2
- 241000218691 Cupressaceae Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Description
【発明の属する技術分野】
本発明は2つのプロセッサユニット間にてデータを交換するデータ交換装置およびその方法に関する。
【0002】
【従来の技術】
フィールドバスシステム(デバイスネットワークまたは制御ネットワークとも呼ばれる)は産業界において、制御システムの異なるユニット間の、例えばマスターユニット(スキャナーとも呼ばれる)とスレーブユニット(アダプタとも呼ばれる)との間の通信のために、または異なる制御システム間の通信のためにしばしば使用される。
【0003】
フィールドバスシステムに関する1つの問題点は、多数の異なるシステムの存在である。これらの相違点は例えばバス構造、リアルタイム動作、転送され得るデータの量、伝送メディア、およびバス上の電力分布である。1つのユニットが異なるフィールドバスシステムに適合できるためには、これらのシステムの異なる技術的な要求を取り扱う必要がある。異なるフィールドバスシステムに適合可能なこのようなユニットは、もちろん特定のフィールドバスシステムのみについて設計されたユニットの製造原価よりはるかに高い。
【0004】
この問題点を解決するため、出願人はスレーブユニットとフィールドバスとの間に接続される一連の適応モジュールを開発した。各適応モジュールは異なるフィールドバス用に設計され、従って特有のフィールドバスインタフェースを有する。しかし、全ての適応モジュールはスレーブユニットに対して同一のインタフェースを有する。従って、1つのスレーブユニットは単一のインタフェースを介して多数の異なるフィールドバスに接続することが可能である。
【0005】
適応モジュールとスレーブユニットとの間のインタフェースは、適応モジュールのプロセッサユニットとスレーブユニットのプロセッサユニットとによってアクセス可能なデュアルポートメモリによって実現される。このメモリへのアクセスはメモリ中のハンドシェイクレジスタによって制御される。デフォルト状態において、メモリは適応モジュールに割り当てられる。スレーブユニットがメモリにアクセスしようとする場合、スレーブユニットはハンドシェイクレジスタの中にアクセス要求を書き込まなければならない。このスレーブユニットは、適応モジュールが自由にその要求を処理することができるまで、待たなければならない。この適応モジュールは非常に頻繁にフィールドバスと通信しているので、ある程度の時間がかかる可能性がある。適応モジュールは、ハンドシェイクレジスタの中に確認を書き込むことによってスレーブユニットにメモリへのアクセスを許可する。スレーブユニットがメモリにアクセスした後、スレーブユニットはハンドシェイクレジスタの中に解放を書き込むことによって適応モジュールに対してメモリを解放する。
【0006】
【発明が解決しようとする課題】
デュアルポートメモリにアクセスするこの方法の欠点は、スレーブユニットがメモリに対するアクセスを要求する前に適応モジュールが常にメモリにアクセスしていれば、スレーブユニットが適応モジュールによってロックアウトされることにある。他の欠点は、長い予測不能なアクセス時間のためにデータ交換が遅いことである。これは、適応モジュールがマスターユニットとフィールドバスとの間において使用できないことを意味する。この箇所では迅速なデータ交換に対する要求がさらに厳しいからである。
【0007】
さらに、フィールドバスシステムにおいては、通常マスターユニットとスレーブユニットとの間において次のようなデータ、すなわち時間クリティカルな周期的入力および出力データ、時間クリティカルでない非周期的メッセージおよび/またはコマンド、および非周期的フィールドバス制御データおよび状態データを転送する必要がある。上述した方法のさらに他の欠点は、非周期的データおよびメッセージの転送を支援しないことにある。
【0008】
なお、上述した問題点は、2つのプロセッサユニットが共通メモリを介してデータを交換する他の種々の応用においても生じる。
【0009】
【課題を解決するための手段】
そこで、本発明は、共通メモリを介して2つのプロセッサユニット間にてデータを交換する、改良された装置および方法を提供することを目的とする。
【0010】
この目的は請求項1によるデータ交換装置および請求項14によるデータ交換方法によって達成される。本発明の実施の形態は従属クレーム中に開示されている。
【0011】
さらに詳しくは、本発明のデータ交換装置は、共通メモリ中のデータメモリ領域を介して第2プロセッサユニットとデータを交換するときに同期モードまたは非同期モードのいずれかで選択的に作動するよう構成された第1プロセッサユニットを有している。
【0012】
このような2つの異なるモードで作動できることは非常に有利であり、またデータ交換を一層効率的にする。同期モードを選択することにより、第1プロセッサユニットはロックアウトを防止し、また両方のプロセッサユニットがデータメモリ領域にアクセスするよう配慮することができる。しかし、場合によっては、データメモリ領域へのアクセスを同期化しない方が望ましい。このような状況においては、第1プロセッサを非同期モードで作動させることにより、データ交換効率を最適化することができる。
【0013】
プロセッサユニットはハードウェア回路により、またはハードウェアとソフトウェアとの組合わせにより、好ましくは適当にプログラミングされたマイクロプロセッサによって実現することができる。
【0014】
第1プロセッサユニットは共通メモリの両側に配置することができる。従って、フィールドバスシステムにおいてはまた、プロセッサユニットはスレーブユニット中に、または適応モジュール中に、またはマスターユニット中に配置されたプロセッサユニットとすることができる。
【0015】
同期モードにおいては、第1プロセッサユニットのいずれか1つがデータメモリ領域にアクセスした後、これらの先行するユニットが次回にそのデータメモリ領域にアクセス可能となる前に、他方のプロセッサユニットがデータメモリ領域にアクセスするよう構成されるとよい。このようにして、第1プロセッサユニットは、この第1プロセッサユニットがメモリにアクセスした後、次回にこの第1プロセッサユニットがメモリにアクセスする前に、第2プロセッサユニットがメモリにアクセスできるよう構成される。これは例えば、同期モードにおいて、第2プロセッサユニットがデータメモリ領域にアクセスするまでに第1プロセッサユニットがデータメモリ領域にアクセスすることができないよう第1プロセッサユニットが第2プロセッサユニットのためにデータメモリ領域を予約して、第1プロセッサユニットがデータメモリ領域へのアクセスを終了することにより実現することができる。データが次回に第1プロセッサユニットによって更新される前に第2プロセッサユニットがこれらのデータを読み取ることを第1プロセッサユニットが望む場合には、第1プロセッサユニットがこのようにすることが望ましい。
【0016】
また、第1プロセッサユニットは、第2プロセッサユニットがメモリにアクセスした後、次回にこの第2プロセッサユニットがメモリにアクセスする前に第1プロセッサユニットがメモリにアクセスできるよう構成される。これは例えば、同期モードにおいて、第2プロセッサユニットが次回にデータメモリ領域にアクセスする前に第1プロセッサユニットがデータメモリにアクセスできるようデータメモリを予約して、第1プロセッサユニットがデータメモリ領域へのアクセスを要求することにより実現することができる。特に、第1プロセッサユニットが一定の操作を実行する前に第2プロセッサユニットからデータを読み取る必要のあることを知っている場合には、第1プロセッサユニットがこのようにすることが望ましい。
【0017】
なお、上述した2つの場合を組み合わせることも当然可能である。
【0018】
第1プロセッサユニットが同期モードまたは非同期モードのいずれかで作動できることは、第1プロセッサユニットが同期モードまたは非同期モードのいずれかでデータメモリ領域へのアクセスを終了するよう構成されていること、および/または第1プロセッサユニットが同期モードまたは非同期モードのいずれかでデータメモリ領域へのアクセスを要求するよう構成されていることを意味する。
【0019】
好ましくは、第1プロセッサユニットが同期モードにおいてメモリ領域にアクセスしたとき、この第1プロセッサユニットが次回にデータメモリ領域にアクセスする前にこのデータメモリ領域にアクセスする要求(すなわち、同期モードにおけるアクセス要求)を第2プロセッサユニットから受ければ、第1プロセッサユニットはデータメモリ領域へのそのアクセスを終了する。このようにして、第2プロセッサユニットも、同期モードまたは非同期モードのいずれかでデータ交換を実行すべきかについて影響を与えることができる。
【0020】
非同期モードにおいて、第1プロセッサユニットはデータメモリ領域をフリー状態に(すなわちメモリ領域がいずれのプロセッサユニットにも予約されていない状態に)解放することにより、データメモリ領域へのアクセスを終了することができる。これは他方のプロセッサユニットがデータメモリ領域のフリー状態または非フリー状態を調査する必要がないので、データメモリ領域に対するアクセスを要求するプロセッサユニットに対してデータメモリ領域を迅速に割り当てることができるので望ましい。このような短いアクセス時間は、この装置をマスターユニットとフィールドバスとの間の適応モジュールとして使用できることを意味する。
【0021】
第1プロセッサユニットは好ましくは、データメモリ領域へのアクセスを制御するためのステートマシン(state machine)を含み、このステートマシンはデータメモリ領域がフリーである第1状態と、データメモリ領域がそれぞれ第1プロセッサユニットまたは第2プロセッサユニットに予約される第2状態および第3状態と、データメモリ領域がそれぞれ第1プロセッサユニットまたは第2プロセッサユニットによってアクセスされる第4状態および第5状態とを有する。このステートマシンはアクセス制御の実行を容易にする。第1プロセッサユニットのみがデータメモリ領域の状態の追跡を保持する必要がある。第2プロセッサユニットは単にデータメモリ領域に対するアクセスを要求して終了する。
【0022】
好ましくは、本発明のデータ交換装置はさらに、前記共通メモリをなすとともに前記データメモリ領域を有するメモリを含み、前記メモリは制御メモリ領域を有する。この制御メモリ領域は好ましくは、それぞれのプロセッサユニット用の2つのハンドシェイクレジスタとして構成される。第1プロセッサユニットは、データメモリ領域へのアクセスを制御するため、第2プロセッサユニットに制御情報を書き込み、かつ第2プロセッサユニットから制御情報を読み取るよう構成される。制御情報は例えばビットパタンであって、その1つまたは複数のビットが、要求アクセス、終了アクセス、同期モードまたは非同期モードを表示する。
【0023】
メモリは市販のデュアルポートメモリとし、または特にこの用途のために設計されたメモリとすることができる。
【0024】
データ交換速度をさらに増大するため、メモリは両方のプロセッサユニットによってアクセス可能な複数のデータメモリ領域を有することができる。このようにして、データ交換が並列で実行されるように、両方のプロセッサユニットが同時に異なるメモリ領域にアクセスすることができる。
【0025】
いずれのデータメモリ領域に対して制御情報が付属するかを表示する項目を制御情報の中に含めることにより、同一制御メモリ領域が全てのデータメモリ領域のデータの交換を制御するために使用される。
【0026】
望ましくは制御メモリ領域は、データメモリ領域を介しての周期的データ交換とは独立して第2プロセッサユニットとの非周期的データの交換のために使用することができる。
【0027】
また、本発明によるデータ交換装置は、第2プロセッサユニットを含むことができる。好ましくは、この第2プロセッサユニットは第1プロセッサユニットと同様に作動するよう構成され、両方のプロセッサユニットが選択的に同期モードまたは非同期モードで作動するとよい。
【0028】
本発明によるデータ交換装置およびその方法は、1つのプロセッサユニットがフィールドバスを介して第3プロセッサユニットに接続されたフィールドバスシステムにおいて使用する場合に特に好適である。
【0029】
【発明の実施の形態】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明するが、本発明はこれに限定されるものではない。
【0030】
以下の実施の形態において本発明はフィールドバスシステムに適用される。
【0031】
図1に概略的に示されたフィールドバスシステムはマスターユニット1を含み、このマスターユニットはフィールドバス3と適応モジュール4とを介してスレーブユニット2に接続される。フィールドバス3は適応モジュール4に対して標準型コネクタ(図示されていない)によって接続されている。また、適応モジュール4はスレーブユニット2に対して標準型コネクタ(図示されていない)によって接続されている。適応モジュール4はバスモジュール5と、第1プロセッサユニット6と、デュアルポートメモリ7とを有する。スレーブユニット2は第2プロセッサユニット8を有し、またマスターユニット1は第3プロセッサユニット9を有する。バスモジュール5はフィールドバス3に対する物理的インタフェースをなす。このバスモジュール5は例えば、信号レベルを第1プロセッサユニット6によって使用される信号レベルに適合させる。メモリ7は2つのポート10,11を有し、一方のポート10は第1プロセッサユニット6用であり、他のポート11は第2プロセッサユニット8用である。このメモリ7は標準型コンポーネント、例えば米国、CA 95134、サンホセ、ノース・ファースト・ストリート3901、サイプレス・セミコンダクター・コーポレーション(Cypress Semiconductor Corporation)から市販されているDPRAM CY7C131、またはこの応用のために特別に設計製造されたコンポーネントとすることができる。メモリ7と第1プロセッサユニット6および第2プロセッサユニット8とはそれぞれ、データバス11,12、アドレスバス13,14、コントロールバス15,16、および割込みライン17,18を介して通信する。第1プロセッサユニット6はシリアルバス19を介してバスモジュール5と通信する。
【0032】
メモリ7は読取りおよび書込み操作のために両方のプロセッサユニット6,8によってアクセスされる4つのデータメモリ領域と、2つのハンドシェイクレジスタを有する制御情報領域とを含む。4つのデータメモリ領域はそれぞれ、入力プロセスデータ(マスターユニットからスレーブユニットへのデータ)、出力プロセスデータ(スレーブユニットからマスターユニットへのデータ)、フィールドバス固有データおよびメッセージ/コマンドパス、および状態データのためのものである。データメモリ領域へのアクセスは、ハンドシェイクレジスタおよび各データメモリ領域のステートマシンによって制御される。ステートマシンは適応プロセッサユニット中のソフトウェアの中に実現される。ステートマシンの遷移はプロセッサユニットによって引き起こされる。1つのプロセッサユニットがそのハンドシェイクレジスタの中に制御情報を書き込むときを検出し、また制御情報が検出されたときに他のプロセッサユニットに割込みを発生するため、ハンドシェイクレジスタには論理回路が接続されている。これらの論理回路は、上述したCYC7C131等の標準型デュアルポートメモリの中に含まれている。
【0033】
図2は、図1に示すデュアルポートメモリ7のデータメモリ領域へのアクセスを制御するために使用することのできるステートマシンの状態ダイヤグラムを示す図である。このステートマシンは次のような8つの状態、すなわち(A)メモリ領域がフリーである状態、すなわちメモリ領域が適応モジュール4によっても、スレーブユニット2によっても使用されていない状態、(B)メモリ領域がスレーブユニット2によって使用されている状態、(C)メモリ領域がスレーブユニット2によって使用されているが、適応モジュール4がメモリ領域にアクセスするまではスレーブユニット2がこのメモリ領域にアクセスできないよう適応モジュール4に対して予約された状態、(D)メモリ領域が適応モジュール4によって使用されている状態、(E)メモリ領域が適応モジュール4によって使用されているが、スレーブユニット2がこのメモリ領域にアクセスするまでは適応モジュール4がメモリ領域にアクセスできないようスレーブユニット2に対して予約された状態、(F)メモリ領域がフリーであるが、スレーブユニット2に対して予約された状態、および(G)メモリ領域がフリーであるが、適応モジュール4に対して予約された状態を有している。
【0034】
ステートマシンは次のような遷移を有する。すなわち、(1)スレーブユニット2が非同期モードでメモリ領域へのアクセスを要求する。メモリ領域がフリーであれば、スレーブユニットがこのメモリ領域にアクセスする。(2)スレーブユニット2が同期モードでメモリ領域へのアクセスを要求する。メモリ領域がフリーであれば、スレーブユニット2がこのメモリ領域にアクセスする。もしフリーでなければ、スレーブユニット2がメモリ領域にアクセスするようメモリ領域がスレーブユニット2に対して予約される。3)スレーブユニット2が非同期モードでメモリ領域を解放し、メモリがフリーとなる。4)スレーブユニット2が非同期モードでメモリ領域を解放し、このメモリ領域が適応モジュールに予約される。5)適応モジュール4が非同期モードでメモリ領域へのアクセスを要求する。6)適応モジュール4が同期モードでメモリ領域へのアクセスを要求する。7)適応モジュール4が非同期モードでメモリ領域を解放する。8)適応モジュール4が同期モードでメモリ領域を解放する。
【0035】
メモリ領域へのアクセスが図2に従ってステートマシンによって制御される場合には、図1に示す装置は次のように作動する。
【0036】
メモリ領域がフリーであると仮定する(状態A)。適応モジュール4が同期モードまたは非同期モードでメモリ領域へのアクセスを要求すれば(遷移5および6)、適応モジュール4はそれぞれの領域にアクセスする。
【0037】
ここで、適応モジュール4が入力プロセスデータをメモリ領域の中に書き込んだと仮定する。これらのメモリ領域中の入力プロセスデータの更新が有意義となるまでに、これらの入力プロセスデータはスレーブユニット2によって読み取られる。すなわち、適応モジュール4が同期モードでメモリ領域へのアクセスを終了すると(遷移8)、状態Fへの遷移が生じる。スレーブユニット2がメモリ領域へのアクセスを要求するとすぐに、スレーブユニット2はこのメモリ領域にアクセスする(状態Bへの遷移1および2)。適応モジュール4からのアクセス要求は全て拒絶される。しかし、もしメモリ領域がスレーブユニット2に予約されているときにスレーブユニット2がそのメモリ領域を同期モードで解放すれば(遷移4)、このメモリ領域はフリーとなる(状態A)。この状態Fから状態Aへの遷移の結果、もし例えばスレーブユニット2が内部エラーを検出し、またはメモリにアクセスできる前にマスターユニット1からさらに他のデータまたはコマンドを受ける必要を検出すれば、スレーブユニット2がメモリ領域を解放する可能性を生じる。
【0038】
次に、適応モジュール4がメモリ領域の中に入力プロセスデータを書き込むのではなく、スレーブユニット2が入力プロセスデータを読み取るときに常にこの入力プロセスデータが更新されることを適応モジュール4が要求すると仮定する。この場合、適応モジュール4が非同期モードでメモリを解放し(状態Aへの遷移7)、メモリへの次のアクセスは最初にそのメモリへのアクセスを要求したユニットによって実施されることになる。このようにして適応モジュール4は、マスターユニット1から新規な入力プロセスデータを受ける際にこの入力プロセスデータを読み取る前にこの入力プロセスデータを更新することができるであろう。
【0039】
適応モジュール4がそのメモリへのアクセス中に(すなわち状態Dにおいて)同期モードでそのメモリにアクセスする要求をスレーブユニットから受ければ(遷移2)、適応モジュール4は状態Eに進み、この適応モジュール4がそのアクセスを終了するときにメモリはこの状態Eから状態Fに解放される。しかし、もし状態Eにある適応モジュール4がスレーブユニット2から同期モードで解放を受ければ、すなわち次のアクセスが適応モジュール4によって実施されなければならないという表示を受ければ、適応モジュール4は状態Dに戻る。
【0040】
スレーブユニット2は適応モジュール4と同様に作動する。
【0041】
プロセッサユニット中のソフトウェアはタイムアウト処理を含み、このタイムアウト処理が誤動作の検出に使用され、または図2に示す以外の遷移を生じさせることを了解されたい。
【0042】
スレーブユニットは、メモリ中の対応のハンドシェイクレジスタの中にビットパタンを書き込むことによってメモリへのアクセスを要求して終了する。適応モジュール4は、そのハンドシェイクレジスタの中にビットレジスタを書き込むことにより、要求され、または終了されたアクセスを確認する。スレーブユニット2と適応モジュール4とによって同一のビットパタンが使用される。ビットパタンの構成を図3に示す。設定時には、ビット7(CMD)はビット6−0がコマンドIDであることを示す。リセットされたとき、ビット7はビット6−0が下記のように翻訳されなければならないことを意味する。ビット6は使用されない。ビット5(REQ/REL)は、これが要求(0)であるかまたは解放(1)であるかを示す。ビット4(LOCK)は、非同期モード(0)または同期モード(1)の使用を示す。ビット3(IN AREA)は入力プロセスデータ領域のフラグである。ビット2(OUT AREA)は出力プロセスデータ領域のフラグである。ビット1(FB AREA)はフィールドバス固有領域のフラグであり、ビット0(CTRL AREA)は状態データ領域のフラグである。
【0043】
この実施の形態において、プロセッサユニット6,8中のソフトウェアはメモリ7へのアクセスを処理するための3つのソフトウェアプロセスを含む。図4に示されたこれらのプロセスは、データ転送プロセス41、第1プロセッサユニット6中のスケジューラプロセス42、および第2プロセッサユニット8中の応用プロセス43である。データ転送プロセス41は、第1プロセッサユニット6によるメモリ7中のデータの読取りおよび書込みを制御する。応用プロセス43はスレーブユニット2に対して同様の目的に役立つ。スケジューラプロセス42はステートマシンを含み、各メモリ領域へのアクセスを制御する。
【0044】
メモリ領域がフリーであり、スレーブユニット2が入力プロセスデータのためにこのメモリ領域を読み取ろうとする場合を仮定しよう。この場合、応用プロセス42がそのハンドシェイクレジスタの中に次のようなビットパタン(7−0)、すなわち(0,0,0,0,1,0,0,0)を書き込むことによってこの領域へのアクセスを要求する(非同期モードでの入力領域へのアクセスの要求)。割込みライン17上に適応モジュール4への割込みが発生される。スケジューラプロセス42がこの要求を処理する。メモリ領域がフリーであれば、ステートマシン中の状態Aから状態Bへの遷移1が実行される。スケジューラプロセス42が適応モジュール4のハンドシェイクレジスタの中に同一ビットパタンを書き込むことによってこの要求を確認する。しかし、もしそのメモリ領域が適応モジュール4によってアクセスされていれば、適応モジュール4はビットパタンのビット3を0にリセットしてハンドシェイクレジスタに戻すことによってその要求を拒絶する。このような場合、ステートマシンにおいて遷移は生じない。スレーブユニット2からの全てのアクセス要求およびアクセス終了要求はこれに対応して処理される。
【0045】
適応モジュール4がメモリ領域にアクセスしようとする場合またはメモリ領域へのアクセスを終了しようとする場合、データ転送プロセス41が、スレーブユニット2について述べたのと同様にして同一ビットパタンを使用してスケジューラプロセス42を呼び出す。唯一の相違点は、スケジューラプロセス42がハンドシェイクレジスタを経由しないで直接に呼び出されることである。
【0046】
スレーブユニット2または適応モジュール4が他のユニットにコマンドまたはメッセージを送りたい場合には、ビット7が1にセットされたビットパタンとこれに続く6ビットのコマンドIDをハンドシェイクレジスタの中に書き込む。他のプロセッサユニットがこのビットパタンを読み取ると、このプロセッサユニットは最後の6ビットをコマンドとして翻訳する。このハンドシェイクレジスタを介してのコマンド転送はデータメモリ領域を介してのデータ転送とは別個に生じる。コマンドまたはメッセージは対応データ、例えばパラメータを有することができ、これらのデータはフィールドバスデータ領域を介して転送される。
【0047】
他の実施の形態
図2に示す状態ダイヤグラムはもちろん他の状態を持つよう拡大することができる。図5はこのような拡大された状態ダイヤグラムを示し、この場合、状態HおよびIが追加されている。状態Hにおいて、メモリ領域はスレーブユニットのために予約され、次に適応モジュール4のために予約される。状態Iにおいて、メモリ領域は適応モジュール4のために予約され、次にスレーブユニットのために予約される。
【0048】
図1乃至図4に示す実施の形態において、フィールドバスシステムは1つのマスターユニットと1つのスレーブユニットとを有する。他の実施の形態においては、フィールドバスシステムは1つ以上のマスターユニットおよび/または1つ以上のスレーブユニットを有することができる。
【図面の簡単な説明】
【図1】フィールドバスシステムに適用された本発明の一実施の形態を示す概略ブロック図。
【図2】本発明の一実施の形態を実現するために使用される状態ダイヤグラムを示す図。
【図3】図1および図2に示す実施の形態において使用されるビットパタンを示す図。
【図4】図1乃至図3に示す実施の形態において使用されるソフトウェアプロセスの一例を示す概略図。
【図5】他の状態ダイヤグラムを示す図。
【符号の説明】
1 マスターユニット
2 スレーブユニット
3 フィールドバス
4 適応モジュール
5 バスモジュール
6,8,9 プロセッサユニット
7 デュアルメモリ
11,12 データバス
13,14 アドレスバス
15,16 コントロールバス
17,18 割込みライン
41 データ転送プロセス
42 スケジューラプロセス
43 応用プロセス
Claims (21)
- 2つのプロセッサユニット間にてデータを交換する際に使用されるデータ交換装置において、
共通メモリ(7)中のデータメモリ領域を介して第2プロセッサユニット(8,6)とデータを交換するときに同期モードまたは非同期モードのいずれかで選択的に作動するよう構成された第1プロセッサユニット(6,8)を備え、
同期モードにおいて、第1プロセッサユニット(6,8)のいずれか1つがデータメモリ領域にアクセスした後、これらの先行するユニット(6,8)が次回にそのデータメモリ領域にアクセス可能となる前に、他方のプロセッサユニット(8,6)がデータメモリ領域にアクセスするよう構成されていることを特徴とするデータ交換装置。 - 第1プロセッサユニット(6,8)は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを終了するよう構成され、このうち同期モードにおいて、第2プロセッサユニット(8,6)がデータメモリ領域にアクセスするまでに第1プロセッサユニット(6,8)がデータメモリ領域にアクセスすることができないよう第1プロセッサユニット(6,8)が第2プロセッサユニット(8,6)のためにデータメモリ領域を予約し、一方、非同期モードにおいて、データメモリ領域へ最初にアクセスを要求するプロセッサユニットがこのメモリ領域にアクセスできるよう第1プロセッサユニット(6,8)がデータメモリ領域を解放することを特徴とする請求項1記載のデータ交換装置。
- 非同期モードにおいて、第1プロセッサユニット(6,8)はデータメモリ領域をフリー状態に解放することによってデータメモリ領域へのアクセスを終了するよう構成されていることを特徴とする請求項1または2記載のデータ交換装置。
- 第1プロセッサユニット(6,8)は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを要求するよう構成され、このうち同期モードにおいて、第1プロセッサユニット(6,8)は第2プロセッサユニット(8,6)が次回にデータメモリ領域にアクセスする前にデータメモリ領域にアクセスするようデータメモリ領域を予約し、一方、非同期モードにおいて、第1プロセッサユニット(6,8)はデータメモリ領域がフリーである場合にのみデータメモリ領域へのアクセスを要求することを特徴とする請求項1乃至3のいずれか1項記載のデータ交換装置。
- 第1プロセッサユニット(6,8)はデータメモリ領域へのアクセスを制御するためのステートマシンを含み、このステートマシンはデータメモリ領域がフリーである第1状態と、データメモリ領域がそれぞれ第1プロセッサユニット(6,8)または第2プロセッサユニット(8,6)に予約される第2状態および第3状態と、データメモリ領域がそれぞれ第1プロセッサユニット(6,8)または第2プロセッサユニット(8,6)によってアクセスされる第4状態および第5状態とを有することを特徴とする請求項1乃至4のいずれか1項記載のデータ交換装置。
- 前記共通メモリをなすとともに前記データメモリ領域を有するメモリ(7)を含み、前記メモリ(7)は制御メモリ領域を有し、第1プロセッサユニット(6,8)はデータメモリ領域へのアクセスを制御するため、第2プロセッサユニット(8,6)に制御情報を書き込み、かつ第2プロセッサユニット(8,6)から制御情報を読み取るよう構成されていることを特徴とする請求項1乃至5のいずれか1項記載のデータ交換装置。
- メモリ(7)は第1および第2プロセッサユニットによってアクセス可能の複数のデータメモリ領域を有し、前記制御情報はその制御情報がどのデータメモリ領域に付属するかを表示するための1つの項目を含むことを特徴とする請求項6記載のデータ交換装置。
- 第1プロセッサユニット(6)がフィールドバス(3)に接続され、メモリ(7)はフィールドバスからの入力データ用の少なくとも1つのデータメモリ領域と、フィールドバスへの出力データ用の少なくとも1つのデータメモリ領域と、フィールドバス固有データ用の少なくとも1つのデータメモリ領域とを有することを特徴とする請求項6または7記載のデータ交換装置。
- 第1プロセッサユニット(6,8)は、前記データメモリ領域を介して周期的データを第2プロセッサユニット(8,6)と交換するとともに、周期的データの交換とは独立して前記制御メモリ領域を介して非周期的データを第2プロセッサユニットと交換するよう構成されていることを特徴とする請求項6乃至8のいずれか1項記載のデータ交換装置。
- 前記第2プロセッサユニットをなす他のプロセッサユニット(8,6)を含み、この第2プロセッサユニットは第1プロセッサユニットとデータを交換するときに選択的に同期モードまたは非同期モードのいずれかで作動するよう構成されていることを特徴とする請求項1乃至9のいずれか1項記載のデータ交換装置。
- 第2プロセッサユニット(8,6)は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを終了するよう構成され、このうち同期モードにおいて、第1プロセッサユニット(6,8)がデータメモリ領域にアクセスするまでに第2プロセッサユニット(8,6)がデータメモリ領域にアクセスすることができないよう第2プロセッサユニット(8,6)が第1プロセッサユニット(6,8)のためにデータメモリ領域を予約し、一方、非同期モードにおいて、データメモリ領域へ最初にアクセスを要求するプロセッサユニットがこのメモリ領域にアクセスできるよう第2プロセッサユニット(8,6)がデータメモリ領域を解放することを特徴とする請求項10記載のデータ交換装置。
- 第2プロセッサユニット(8,6)は、同期モードにおいてデータメモリ領域にアクセスしたとき、この第2プロセッサユニット(8,6)が次回にデータメモリ領域にアクセスする前にこのメモリ領域にアクセスする要求を第1プロセッサユニット(6,8)から受ければ、第2プロセッサユニット(8,6)がデータメモリ領域へのそのアクセスを終了するよう構成されていることを特徴とする請求項10または11記載のデータ交換装置。
- 第2プロセッサユニット(8,6)は同期モードまたは非同期モードのいずれかにおいてデータメモリ領域へのアクセスを要求するよう構成され、このうち同期モードにおいて、第2プロセッサユニット(8,6)は第1プロセッサユニット(6,8)が次回にデータメモリ領域にアクセスする前にデータメモリ領域にアクセスするようデータメモリ領域を予約し、一方、非同期モードにおいて、第2プロセッサユニット(8,6)はデータメモリ領域がフリーである場合にのみデータメモリ領域へのアクセスを要求することを特徴とする請求項10乃至12のいずれか1項記載のデータ交換装置。
- 共通メモリ(7)中のデータメモリ領域を介して第1および第2プロセッサユニット(6,8)間にてデータを交換するデータ交換方法において、
データの交換は同期モードまたは非同期モードのいずれかにおいて選択的に実行され、 同期モードにおいて、第1プロセッサユニット(6,8)のいずれか1つがデータメモリ領域にアクセスした後、これらの先行するユニット(6,8)が次回にそのデータメモリ領域にアクセスする前に、他方のプロセッサユニット(8,6)がデータメモリ領域にアクセスすることを特徴とするデータ交換方法。 - 非同期モードにおいてデータメモリ領域がフリーであるときにプロセッサユニット(6,8)がこのデータメモリ領域へアクセスを要求する順序でデータメモリ領域にアクセスすることを特徴とする請求項14記載のデータ交換方法。
- プロセッサユニット(6,8)がデータメモリ領域へのアクセスを終了するときに同期モードまたは非同期モードのいずれかを選択することを特徴とする請求項14または15記載のデータ交換方法。
- プロセッサユニットが非同期モードでデータメモリ領域へのアクセスを終了するときに、そのメモリ領域をフリー状態に解放することを特徴とする請求項16記載のデータ交換方法。
- プロセッサユニットがデータメモリ領域へのアクセスを要求するときに同期モードまたは非同期モードのいずれかを選択することを特徴とする請求項14乃至17のいずれか1項記載のデータ交換方法。
- プロセッサユニットがメモリを介して制御情報を交換することにより同期モードまたは非同期モードの選択を制御することを特徴とする請求項14乃至18のいずれか1項記載のデータ交換方法。
- プロセッサユニットがメモリを介して制御情報を交換することによりメモリ中の複数のデータメモリ領域のいずれか1つに対するアクセスを個別に制御することを特徴とする請求項14乃至19のいずれか1項記載のデータ交換方法。
- プロセッサユニットが周期的データをデータメモリ領域を介して交換するとともに、非周期的メッセージを共通メモリ中のレジスタを介して交換し、これらのデータおよびメッセージの交換が互いに独立に実行されることを特徴とする請求項14乃至20のいずれか1項記載のデータ交換方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97850057A EP0872800B8 (en) | 1997-04-14 | 1997-04-14 | Method and device for exchanging data between two processor units |
US08/843,232 US6128689A (en) | 1997-04-14 | 1997-04-14 | System for exchanging data through data memory area of common memory in synchronous and asynchronous modes |
SE97850057.7 | 1997-04-14 | ||
SE843232 | 1997-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10320365A JPH10320365A (ja) | 1998-12-04 |
JP4188446B2 true JP4188446B2 (ja) | 2008-11-26 |
Family
ID=26148197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10300098A Expired - Lifetime JP4188446B2 (ja) | 1997-04-14 | 1998-04-14 | データ交換装置およびその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6128689A (ja) |
EP (1) | EP0872800B8 (ja) |
JP (1) | JP4188446B2 (ja) |
CA (1) | CA2234635C (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2363879B (en) * | 1999-05-27 | 2004-03-10 | Invensys Plc | Fieldbus upgradable apparatus and method |
JP4119582B2 (ja) * | 1999-09-28 | 2008-07-16 | 富士通株式会社 | 転送制御方法及び情報処理装置 |
DE10030845B4 (de) * | 2000-06-23 | 2008-11-20 | Abb Ag | Feldbus-Anschlußsystem für Aktoren oder Sensoren |
US6738852B1 (en) * | 2000-09-27 | 2004-05-18 | Palm Source, Inc. | Palmtop computer expansion using shared memory access |
US6748502B2 (en) * | 2001-01-12 | 2004-06-08 | Hitachi, Ltd. | Virtual volume storage |
KR100423969B1 (ko) * | 2001-11-16 | 2004-03-22 | 삼성전자주식회사 | 필드버스 인터페이스 보드 및 그 제어방법 |
US7376956B2 (en) * | 2002-09-10 | 2008-05-20 | Toshiba Tec Kabushiki Kaisha | System for performing multiple functions in parallel time |
DE102005010820C5 (de) * | 2005-03-07 | 2014-06-26 | Phoenix Contact Gmbh & Co. Kg | Kopplung von sicheren Feldbussystemen |
DE102008002861A1 (de) | 2008-05-28 | 2009-12-03 | Schneider Electric Gmbh | Kommunikationsplattform (CoPla) Architektur |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1161467B (it) * | 1983-01-21 | 1987-03-18 | Cselt Centro Studi Lab Telecom | Interfaccia di tipo parallelo per la gestione del colloquio tra un bus asincrono e un bus sincrono collegato a piu terminali dotati ognuno di un proprio segnale di sincronizzazione |
US4615017A (en) * | 1983-09-19 | 1986-09-30 | International Business Machines Corporation | Memory controller with synchronous or asynchronous interface |
US4720780A (en) * | 1985-09-17 | 1988-01-19 | The Johns Hopkins University | Memory-linked wavefront array processor |
US4823304A (en) * | 1987-01-15 | 1989-04-18 | International Business Machines Incorporated | Method of providing synchronous message exchange in an asychronous operating environment |
EP0340901A3 (en) * | 1988-03-23 | 1992-12-30 | Du Pont Pixel Systems Limited | Access system for dual port memory |
JPH03110658A (ja) * | 1989-09-26 | 1991-05-10 | Nec Corp | メモリアクセス方式 |
JPH03154148A (ja) * | 1989-11-10 | 1991-07-02 | Meidensha Corp | 2ポートメモリのアクセス調停装置 |
JPH04188242A (ja) * | 1990-11-21 | 1992-07-06 | Mitsubishi Electric Corp | 2ポートメモリ制御回路 |
US5293491A (en) * | 1990-12-28 | 1994-03-08 | International Business Machines Corp. | Data processing system and memory controller for lock semaphore operations |
JPH04238558A (ja) * | 1991-01-23 | 1992-08-26 | Meidensha Corp | 2ポートメモリのデッドロック防止回路 |
JPH056328A (ja) * | 1991-02-14 | 1993-01-14 | Hitachi Ltd | 共有メモリ装置 |
JPH0520279A (ja) * | 1991-07-15 | 1993-01-29 | Japan Steel Works Ltd:The | データ交換方法とそれに用いる調停回路 |
JP2587190B2 (ja) * | 1992-09-04 | 1997-03-05 | インターナショナル・ビジネス・マシーンズ・コーポレイション | システム間チャネルページング機構 |
US5339395A (en) * | 1992-09-17 | 1994-08-16 | Delco Electronics Corporation | Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode |
US5592685A (en) * | 1992-10-07 | 1997-01-07 | Digital Equipment Corporation | Synchronous/asynchronous partitioning of an asynchronous bus interface |
US5829052A (en) * | 1994-12-28 | 1998-10-27 | Intel Corporation | Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system |
-
1997
- 1997-04-14 EP EP97850057A patent/EP0872800B8/en not_active Expired - Lifetime
- 1997-04-14 US US08/843,232 patent/US6128689A/en not_active Expired - Lifetime
-
1998
- 1998-04-09 CA CA002234635A patent/CA2234635C/en not_active Expired - Fee Related
- 1998-04-14 JP JP10300098A patent/JP4188446B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0872800B8 (en) | 2005-08-10 |
JPH10320365A (ja) | 1998-12-04 |
CA2234635C (en) | 2006-07-18 |
EP0872800B1 (en) | 2005-06-15 |
CA2234635A1 (en) | 1998-10-14 |
US6128689A (en) | 2000-10-03 |
EP0872800A1 (en) | 1998-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4083987B2 (ja) | 多重レベル接続識別を備えた通信システム | |
US5848251A (en) | Secondary channel for command information for fibre channel system interface bus | |
JP3807250B2 (ja) | クラスタシステム、コンピュータ及びプログラム | |
JPS61109164A (ja) | バス制御方法 | |
JP7153441B2 (ja) | データ処理 | |
US5566345A (en) | SCSI bus capacity expansion controller using gating circuits to arbitrate DMA requests from a plurality of disk drives | |
JP4188446B2 (ja) | データ交換装置およびその方法 | |
KR20020009823A (ko) | 버스 시스템 및 그 버스 중재방법 | |
JPS63175962A (ja) | 直接メモリアクセス制御装置とマルチマイクロコンピュータシステム内におけるデータ転送方法 | |
WO1996003697A1 (en) | Method for semaphore communication between incompatible bus locking architectures | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
KR101276837B1 (ko) | 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치 | |
JP4097847B2 (ja) | バス・ブリッジのアービトレーション方法 | |
JPH10307788A (ja) | バスブリッジ | |
EP1990725B1 (en) | Central processing unit, central processing unit control method, and information processing system | |
US20050165988A1 (en) | Bus communication system | |
JPH0562384B2 (ja) | ||
JPH01291343A (ja) | メモリ管理装置 | |
JPS5975354A (ja) | プロセッサ装置 | |
JPH06224975A (ja) | 結合したモジュールをリセットする方法及びこの方法を用いるシステム | |
JP2573790B2 (ja) | 転送制御装置 | |
JPH03262063A (ja) | Dma転送のバス制御回路 | |
JPH0512221A (ja) | マルチcpu間データ交換高速化方式 | |
JPH0391339A (ja) | 通信制御装置 | |
JPH04137061A (ja) | データ伝送制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050128 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070508 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070807 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070810 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070907 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070912 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080722 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080815 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080911 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110919 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120919 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130919 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |