(57)【要約】【課題】  リアルタイム性を要求されるデータは迅速に送信し、リアルタイム性が要求されないデータは確実に送信することができる通信制御方法を提供すること【解決手段】  アドレスやコマンドに引き続いて複数のデータを連続して転送するバースト転送を、その複数のデータを１つの送信フレームで送信する通常のバースト転送に加え、複数のデータを分割して送信することを許容する非リアルタイムバースト転送を設定する。マスタユニットは、バスアクセス権許可通知を取得し、非リアルタイムバースト転送を実行中に送信中断条件の有無を判断し、その送信中断条件が生じた場合には、現在送信中の非リアルタイムバースト転送を一時中断する。そして、中断条件が無くなるとともに、バスアクセス権許可通知を受けている場合に、非リアルタイムバースト転送を中断した前記マスタユニットは、一時中断した複数のデータのうちの未送信部分についての非リアルタイムバースト転送を再開する。【選択図】        図１９
2006197417.tif 000002
【特許請求の範囲】
【請求項１】
制御装置を構成する複数のマスタユニットが、その制御装置に実装されたアービタからバスアクセス権許可通知を受けたことを条件に前記制御装置内のバスを介して他のユニットとデータ通信する通信方法であって、
アドレスやコマンドに引き続いて複数のデータを連続して転送するバースト転送を、その複数のデータを１つの送信フレームで送信する通常のバースト転送に加え、複数のデータを分割して送信することを許容する非リアルタイムバースト転送を設定し、
前記マスタユニットは、前記バスアクセス権許可通知を取得し、前記非リアルタイムバースト転送を実行中に送信中断条件の有無を判断し、その送信中断条件が生じた場合には、現在送信中の非リアルタイムバースト転送を一時中断し、
前記中断条件が無くなるとともに、前記バスアクセス権許可通知を受けている場合に、前記非リアルタイムバースト転送を中断した前記マスタユニットは、一時中断した複数のデータのうちの未送信部分についての非リアルタイムバースト転送を再開することを特徴とする通信制御方法。
【請求項２】
前記中断条件は、前記アービタから与えられたバスアクセス権許可が解除されたものであることを特徴とする請求項１に記載の通信制御方法。
【請求項３】
前記中断条件は、前記非リアルタイムバースト転送を行なっているマスタユニットが、前記非リアルタイムバースト転送よりも優先度の高いデータ転送を行なうことであることを特徴とする請求項１に記載の通信制御方法。
【請求項４】
前記優先度の高いデータ転送は、前記通常のバースト転送と、１アクセスで１ワードを転送するシングル転送の少なくとも１つであることを特徴とする請求項３に記載の通信制御方法。
【請求項５】
非リアルタイムバースト転送が一時中断した場合に、その一時中断した非リアルタイムバースト転送の通信相手となるユニットは、別の非リアルタイムバースト転送を受信しないように制御することを特徴とする請求項１から４のいずれか１項に記載の通信制御方法。
【請求項６】
非リアルタイムバースト転送の通信相手となるユニットは、その非リアルタイムバースト転送が一時中断中か否かを示す受信ステータスを持ち、
非リアルタイムバースト転送を行なおうとするマスタユニットは、その非リアルタイムバースト転送を行なうに先立ち、送信先のユニットに対し、受信ステータスを確認し、一時中断中でないことを条件に非リアルタイムバースト転送を行なうようにしたことを特徴とする請求項１から４のいずれか１項に記載の通信制御方法。
【請求項７】
非リアルタイムバースト転送を行なおうとするマスタユニットは、その非リアルタイムバースト転送を行なうに先立ち、送信先のユニットに対し、非リアルタイムバースト転送の送信要求を発し、
その送信要求を受信したユニットは、自己が他のマスタユニットからの非リアルタイムバースト転送の一時中断中でない場合に、許可通知を発行し、
その許可通知を受信してアクセス権を獲得したことを条件に、マスタユニットは非リアルタイムバースト転送を行なうことを特徴とする請求項１から４のいずれか１項に記載の通信制御方法。
【請求項８】
前記マスタユニットは、前記バスを監視し、各ノード毎に、非リアルタイムバースト転送を行なっているか否かの情報を記憶保持し、
その記憶保持した情報に基づき、非リアルタイムバースト転送を行なう送信相手が転送可能であると判断した場合にその非リアルタイムバースト転送を実行することを特徴とする請求項１から４のいずれか１項に記載の通信制御方法。
【請求項９】
マスタユニットは、バスを監視し、非リアルタイムバースト転送を行なっているノードが有るか否かの情報を記憶保持し、
その記憶保持した情報に基づき、非リアルタイムバースト転送を行なっているノードがないと判断した場合にその非リアルタイムバースト転送を実行することを特徴とする請求項１から４のいずれか１項に記載の通信制御方法。
【請求項１０】
複数のマスタユニットと、その複数のマスタユニットのバスアクセスを制御するアービタとを備えた制御装置における、前記マスタユニットが前記アービタからバスアクセス権許可通知を受けたことを条件に前記制御装置内のバスを介して他のユニットとデータ通信するシステムであって、
アドレスやコマンドに引き続いて複数のデータを連続して転送するバースト転送を、その複数のデータを１つの送信フレームで送信する通常のバースト転送に加え、複数のデータを分割して送信することを許容する非リアルタイムバースト転送を設定し、
前記マスタユニットは、前記バスアクセス権許可通知を取得し、前記非リアルタイムバースト転送を実行中に送信中断条件の有無を判断する手段と、その送信中断条件が発生した場合に、現在送信中の非リアルタイムバースト転送を一時中断する一時停止コマンドを発行する手段と、
前記中断条件が無くなるとともに、前記バスアクセス権許可通知を受けている場合に、前記非リアルタイムバースト転送の一時中断により送信できなかったデータを送信するための非リアルタイムバースト転送を行なう手段を備えたことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信制御方法及びシステムに関するもので、より具体的には、制御装置に複数のマスタユニットが接続され、そのマスタユニットが制御装置内のバスを介して他のユニットとデータ転送する際の制御に関する。
【背景技術】
【０００２】
ＦＡ（ファクトリーオートメーション）で用いられるＰＬＣ（プログラマブルコントローラ）は、スイッチやセンサなどの入力機器のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたシーケンスプログラム（ユーザプログラム）に沿って論理演算を実行する。そして、ＰＬＣは、得られた演算結果にしたがって、リレー，バルブ，アクチュエータなどの出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御が実行される。
【０００３】
このＰＬＣは、ユーザプログラムを実行するＣＰＵユニット，入力機器や出力機器が接続されてＯＮ／ＯＦＦ信号を扱うＩ／Ｏユニット，ネットワークを介して他の機器と通信する通信ユニット，各ユニットに電源供給する電源ユニットなど、各ユニットをつなぎ合わせて成り立っている。そして各ユニットを内部バスで接続して、ＣＰＵユニットを中心にして各ユニットとバス通信にてデータをやりとりするようになっている。
【０００４】
さらに、ＰＬＣの中には、ＣＰＵユニットのサイクルタイムを短縮するための一手段として、ＣＰＵユニットに加え複数のバスマスタユニットおよび複数のスレーブユニットを単一のバスに接続し、バスマスタユニットとスレーブユニット間でデータを交換するマルチバスマスタシステムを採用したものがある。このマルチバスマスタシステムは、複数のバスマスタユニットのうち、バスアクセス権を獲得した１つのバスマスタユニットのみが上記のバスを介して所定のスレーブユニットと通信が行なえるようしている。
【０００５】
このスレーブとの間で行なう通信としては、バースト転送とシングル転送がある。ここで、シングル転送とは、例えばＭＰＵからメモリへのアクセスに代表されるアドレスバス、制御信号とデータバスによる１アクセスで１ワードを転送する方式である。一方、バースト転送とは、ＰＣＩインターフェースのバースト転送に代表されるアドレスやコマンドに引き続いて複数のデータを連続して転送する方式である。
【０００６】
図１は、従来のマルチバスマスタシステムでの転送オペレーションの例を、バスマスタ数が３個の場合で示している。この例では、各バスマスタ＃０，＃１，＃２が一定間隔Ｔで順次バスアクセス権を与えられており、バスマスタがそれぞれのバスアクセス権取得の中でシングル転送またはバースト転送を実行している。なお、ＰＬＣとは関係ないが、１つのバスに複数のバスマスタが接続され、各バスマスタがバスアクセス権を確保して通信するようにしたバス管理システムについては、特許文献１等に開示されている。
【特許文献１】特開平１１−４５２２５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来のマルチバスシステムでは、以下に示す問題を有している。バースト転送で送るデータの中には、生産管理情報やプログラム、稼働情報など大容量なデータ（メッセージ）も多く存在する。この種の大容量のデータを送信完了するまでに/比較的長時間を要するため、上述した各バスマスタに割り当てた一定間隔Ｔ以上かかることがある。また、各バスマスタは、一旦バスアクセス権を獲得し、データの転送を開始すると、そのデータを転送完了するまで、バスアクセス権を確保し続け、送信を継続できる。
【０００８】
その結果、図２に示すように、たとえば＃１のマスタが非サイクリックで大容量のデータＤ１を送信すると、当初自己に割り当てられた時間Ｔでは送信完了できないことがある。係る場合には、＃２のマスタは、そのまま通信を継続するため、＃２のマスタは、次にバスアクセス権を獲得してデータ転送を行なおうしても、ネットワーク上ですでに通信が行なわれているため、データの転送ができない。そのため、＃２のマスタは、本来バスアクセス権を獲得してデータ転送可能な一定時間Ｔに対し時間ｔ１だけ通信できない期間が生じてしまい、リアルタイム性の損失を招いてしまう。
【０００９】
特に、非サイクリックで送信する大容量のデータは、シングル転送と相違し、一括して至急送信する必要がない場合が多く、係る緊急性のない（低い）大容量を送信するためにリアルタイム性が要求される制御データ（ＩＯデータなど）の送信に影響を与えるのは好ましくない。
【００１０】
この発明は、リアルタイム性を要求されるデータは迅速に送信し、リアルタイム性が要求されないデータは確実に送信することができる通信制御方法及びシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記した目的を達成するため、本発明の通信制御方法は、制御装置を構成する複数のマスタユニットが、その制御装置に実装されたアービタからバスアクセス権許可通知を受けたことを条件に前記制御装置内のバスを介して他のユニットとデータ通信する通信方法であって、アドレスやコマンドに引き続いて複数のデータを連続して転送するバースト転送を、その複数のデータを１つの送信フレームで送信する通常のバースト転送に加え、複数のデータを分割して送信することを許容する非リアルタイムバースト転送を設定する。そして、前記マスタユニットは、前記バスアクセス権許可通知を取得し、前記非リアルタイムバースト転送を実行中に送信中断条件の有無を判断し、その送信中断条件が生じた場合には、現在送信中の非リアルタイムバースト転送を一時中断し、前記中断条件が無くなるとともに、前記バスアクセス権許可通知を受けている場合に、前記非リアルタイムバースト転送を中断した前記マスタユニットは、一時中断した複数のデータのうちの未送信部分についての非リアルタイムバースト転送を再開するようにした。
【００１２】
前記中断条件は、各種のものがあるか、例えば、前記アービタから与えられたバスアクセス権許可が解除されたものとしたり、前記非リアルタイムバースト転送を行なっているマスタユニットが、前記非リアルタイムバースト転送よりも優先度の高いデータ転送を行なうことなどがある。
【００１３】
そして、優先度の高いデータ転送は、例えば前記通常のバースト転送と、１アクセスで１ワードを転送するシングル転送の少なくとも１つとすることができる。もちろん、他の種類の転送方式でも良い。
【００１４】
本発明では、アドレスやコマンドに引き続いて複数のデータを連続して転送するバースト転送を、その複数のデータを１つの送信フレームで送信する通常のバースト転送に加え、複数のデータを分割して送信することを許容する非リアルタイムバースト転送を設定した。従って、例えば、生産管理情報やプログラム、稼働情報など大容量なデータ（メッセージ）であり、確実に送る必要があるものの緊急性を有しないデータは、非リアルタイムバースト転送を用いてデータ転送する。これにより、仮にＩＯデータその他のリアルタイム性を有するデータを送信する必要が生じた場合には、その非リアルタイムバースト転送を一時中断し、緊急性を有しリアルタイムで送るべきデータを遅滞なく迅速に送信することができる。そして、一時中断した非リアルタイムバースト転送するデータは、中断条件が解消するとともに、バスアクセス権許可通知を受けて送信許可になっているときに転送を再開する。よって、非リアルタイムバースト転送で送信するデータは、複数回に分けて送信することができるため、リアルタイム性を要求されるデータのデータ転送に影響を与えることなく、確実にデータを送信することができる。もちろん、非リアルタイムバースト転送は、分割して送信することが許容されているだけであり、データ転送中に中断条件などが生じない場合に１回の送信フレームで送信することは妨げない。
【００１５】
従って、一般的にリアルタイム性、低レイテンシが必要なバックプレーンバスのデータ転送において（マルチＣＰＵに代表される）マルチバスマスタシステム等を構成する場合、アービタ（バス管理コントローラとも称される）により各マスタに一定のバス帯域を与えるためのバスアビトレーションを行っている。本発明は、このようなマルチバスマスタシステムにおいて、リアルタイム性と低レイテンシを要求するデータ転送と非リアルタイムなデータ転送を共存させることができる。
【００１６】
さらに本発明は、非リアルタイムバースト転送が一時中断した場合に、その一時中断した非リアルタイムバースト転送の通信相手となるユニットは、別の非リアルタイムバースト転送を受信しないように制御することができる。
また、非リアルタイムバースト転送の通信相手となるユニットは、その非リアルタイムバースト転送が一時中断中か否か否かを示す受信ステータスを持ち、
非リアルタイムバースト転送を行なおうとするマスタユニットは、その非リアルタイムバースト転送を行なうに先立ち、送信先のユニットに対し、受信ステータスを確認し、一時中断中でないことを条件に非リアルタイムバースト転送を行なうようにすることもできる。
【００１７】
非リアルタイムバースト転送を行なおうとするマスタユニットは、その非リアルタイムバースト転送を行なうに先立ち、送信先のユニットに対し、非リアルタイムバースト転送の送信要求を発し、その送信要求を受信したユニットは、自己が他のマスタユニットからの非リアルタイムバースト転送の一時中断中でない場合に、許可通知を発行し、その許可通知を受信してアクセス権を獲得したことを条件に、マスタユニットは非リアルタイムバースト転送を行なうようにすることもできる。
【００１８】
また、別の解決手段としては、前記マスタユニットは、前記バスを監視し、各ノード毎に、非リアルタイムバースト転送を行なっているか否かの情報を記憶保持し、その記憶保持した情報に基づき、非リアルタイムバースト転送を行なう送信相手が転送可能であると判断した場合にその非リアルタイムバースト転送を実行するようにするとよい。
【００１９】
マスタユニットは、バスを監視し、非リアルタイムバースト転送を行なっているノードが有るか否かの情報を記憶保持し、その記憶保持した情報に基づき、非リアルタイムバースト転送を行なっているノードがないと判断した場合にその非リアルタイムバースト転送を実行することもできる。
【００２０】
本発明では、非リアルタイムバースト転送は分断されることがあるため、何も制御をしないと受信ユニットが複数の非リアルタイムメッセージを同時に受信処理することがあり得る。そこで、上述した４つの手法を採ることにより、１つの受信するユニットは、異なるマスタユニットから非リアルタイムバースト転送を受けることを抑制できる。
【００２１】
また、本発明に係るシステムは、複数のマスタユニットと、その複数のマスタユニットのバスアクセスを制御するアービタとを備えた制御装置における、前記マスタユニットが前記アービタからバスアクセス権許可通知を受けたことを条件に前記制御装置内のバスを介して他のユニットとデータ通信するシステムであって、アドレスやコマンドに引き続いて複数のデータを連続して転送するバースト転送を、その複数のデータを１つの送信フレームで送信する通常のバースト転送に加え、複数のデータを分割して送信することを許容する非リアルタイムバースト転送を設定し、前記マスタユニットは、前記バスアクセス権許可通知を取得し、前記非リアルタイムバースト転送を実行中に送信中断条件の有無を判断する手段と、その送信中断条件が発生した場合に、現在送信中の非リアルタイムバースト転送を一時中断する一時停止コマンドを発行する手段と、前記中断条件が無くなるとともに、前記バスアクセス権許可通知を受けている場合に、前記非リアルタイムバースト転送の一時中断により送信できなかったデータを送信するための非リアルタイムバースト転送を行なう手段を備えた。
【発明の効果】
【００２２】
この発明では、アドレスやコマンドに引き続いて複数のデータを送信するバースト転送について、複数回に分けて送信することを許容した非リアルタイムバースト転送を設けたため、リアルタイム性を要求されるデータは迅速に送信し、リアルタイム性が要求されないデータは非リアルタイムバースト転送を用いて確実に送信することができる。
【発明を実施するための最良の形態】
【００２３】
図３は、本発明の好適な一実施の形態である通信制御を実行するシステムを実装した制御装置（ＰＬＣ）１０の一例を示している。本実施の形態の制御装置１０は、バックプレーン１１上に複数のユニットが実装される。この複数のユニットには、本発明との関係で言うと、バスアクセスを能動的に行なう複数のマスタユニット１２と、そのマスタユニット１２とデータ転送を行なうスレーブユニット１３と、それら各ユニットに電力供給をする電源ユニット１４とがある。もちろん、図示省略しているが、必要に応じて他のユニットも実装される。バックプレーン１１には、バスアクセス権付与などのアービトレーションを行なうアービタ１５が実装されている。
【００２４】
各マスタユニット１２，スレーブユニット１３は、バックプレーン１１内に実装されるバス（アドレス，データバス）１６に接続され、そのバス１６を介して各ユニット１２，１３間でデータ転送が行なわれる。このデータ転送は、バスアクセス権を獲得したマスタユニット１２が行なう。そして、各マスタユニット１２は、アービタ１５と複数（本例では、３本）の制御線１７で接続され、その制御線１７を介してバスアクセス権を取得するようになっている。
【００２５】
ここで、３本の制御線１７のうちの２本は、マスタユニット１２からアービタ１５に向けて２つの情報を出力するためのものである。係る２つの情報とは、「バスアクセス権要求信号」（ＢＲＥＱ）と、「バスアクセス中フラグ」（ＢＳＹ）である。また、残りの１本の制御線１７は、アービタ１５からマスタユニット１２に対して、「バスアクセス許可」（ＢＧ）を通知するものである。係る３本の制御線１７のデータは、いずれも定常状態がＨｉｇｈ（１）となる。つまり、ＢＲＥＱがＬｏｗ「０」の場合、マスタユニット１２がバスアクセス権要求をしていることを意味する。ＢＳＹがＬｏｗ「０」の場合、マスタユニット１２がデータ転送中等によりバックプレーンのバスを使用中であることを意味する。ＢＧがＬｏｗ「０」の場合、アービタ１５からバスアクセスが許可されていることを意味する。
【００２６】
図４に示すように、データ転送を行なおうとするマスタユニット１２は、アービタ１５に対してバスアクセス権要求信号を出力（ＢＲＥＱが「１」から「０」に更新）する。アービタ１５は係るバスアクセス権要求信号（ＢＲＥＱが「０」）を受信すると、バスアクセス権を与えて良いか否かを判断し、バスアクセス権を与える旨の決定をした場合には、制御線１７を経由してバスアクセス権許可通知を発行する（ＢＧが「１」から「０」に更新）。そして、このバスアクセス権許可通知を受けたマスタユニット１２が実際にデータの転送を開始するようになる。また、バスアクセス権を獲得（ＢＧ＝０）したマスタユニット１２がデータの転送を行なうに際し、アクセス中フラグをＯＮにし、係るアクセス中フラグのＯＮ情報が制御線１７を経由してアービタ１５に送られる（ＢＧＹが「０」）。さらに、通常のシングル転送や、バースト転送の場合、マスタユニット１２は、一旦バスアクセス権を獲得（ＢＧ＝０）し、データ転送を開始する（ＢＧＹ＝０）と、その後バスアクセス権が消滅（ＢＧ＝１）になっても転送中のデータは継続して送信する。そして、マスタユニット１２は、係るデータ送信中は、アクセス中フラグをＯＮ（ＢＧＹ＝０）のままにし、送信完了後にアクセスフラグをＯＦＦ（ＢＧＹ＝１）にする。
【００２７】
いずれからのマスタユニット１２からこのフラグのＯＮ情報（ＢＧＹが「０」）を受け取っている間は、アービタ１５は、バス要求信号を受け付けてもバスアクセス権を付与しないようになる。これにより、バスアクセス権はいずれのマスタユニット１２もバス１６を利用していない（データ転送していない）場合に付与されるため、バスアクセス権を獲得するのはバス１６上で１つのマスタユニット１２となる。
【００２８】
アービタ１５におけるバスアクセス権の許可・消滅処理は、図５に示すフローチャートにしたがって実行される。すなわち、まず各マスタユニットからのバスアクセス権要求信号（ＢＲＥＱが「０」）がくるのを待つ（Ｓ１）。バスアクセス権要求信号を受信すると、その要求があったマスタに対してバスアクセス権を与えて良いか否かを判断する（Ｓ２）。具体的には、全てのマスタユニット１２に対してバスアクセス権許可通知を与えておらず（ＢＧ＝１）、しかも、全てのマスタユニット１２が通信をしていない（ＢＧＹ＝１）場合に、バスアクセス権許可条件を具備したと判断する。なお、通常の実施状況では、各マスタユニット１２はサイクリックに所定のユニットに対してデータ転送を行なおうとするため、同時期に複数のマスタユニットからバスアクセス権要求信号を受けることがある。係る場合には、予め決めた条件（例えば、ノードアドレス順等）に従いバスアクセス権を許可するマスタユニットを決定する。
【００２９】
次いで、バスアクセス権を許可するマスタユニットが決定すると、そのマスタユニット１２に対してバスアクセス権許可通知、つまり、ＢＧを「０」にする（Ｓ３）。なお、マスタユニット１２は、自己に対してバスアクセス権許可通知が発行されたことは、当該マスタユニット１２に接続されたＢＧ用の制御線１７を介して認識する。
【００３０】
アービタ１５は、所定のマスタユニットに対してＢＧ＝０にしたならば、所定の占有時間が超過するのを待ち（Ｓ４）、超過したならば、バスアクセス権許可通知を解除、つまり、ＢＧを消滅（ＢＧ＝１）させる（Ｓ５）。なお、占有時間は、処理ステップＳ３の実行により、ＢＧを０に更新した後から、一定時間にしてもよいが、本実施形態では、前回の処理ステップＳ５の実行に伴いＢＧ＝１に復帰してから一定時間経過するまでを今回の占有時間の周期としている。従って、仮に１つ前のマスタユニットが、ＢＧ＝０になってもデータ転送を継続していると、次のマスタユニットに対してバスアクセス権許可通知が与えられている実際の時間（ＢＧ＝０になっている時間）は通常の場合よりも短くなる。その場合でも、後述するように、リアルタイム性が要求されるデータについては、ＢＧ＝０になってもそのままデータ転送を継続するためさほど問題にならない。また、各マスタユニット１２は、サイクリックに発生するリアルタイム性が要求されるデータを通信するのに要する時間は予めおおよその時間が分かっているとともに、比較的短時間で済む。従って、占有時間は、通常のリアルタイム性が要求されるデータを通信するのに十分な時間を設定しておくことで、ＢＧ＝０になっても通信を継続して行なう事態が発生する確率を低減できる。
【００３１】
ここで本発明では、マスタユニット１２が行なうデータ転送の区分けとして、従来からあるシングル転送とバースト転送に加え、非リアルタイムバースト転送を設けた。すなわち、シングル転送とは、例えばマスタユニット１２等に実装されたＭＰＵ１２ａからメモリへのアクセスに代表されるアドレスバス、制御信号とデータバスによる１アクセスで１ワードを転送する方式である。また、バースト転送とは、ＰＣＩインターフェースのバースト転送に代表されるアドレスやコマンドに引き続いて複数のデータを連続して転送する方式であり、従来のバースト転送の一部である。そして、今回新たにバースト転送から分離・追加した非リアルタイムバースト転送は、リアルタイム性が要求されない比較的大容量のデータを転送する際に用いるもので、基本的な転送方式はバースト転送でありながら転送中の転送データの送信を一時的に中断することを可能とした転送である。
【００３２】
中断する条件としては、バスアクセス権許可通知が消滅した（ＢＧ＝１になった）場合はもちろんのこと、自局に与えられているバスアクセス権許可通知がＯＮ（ＢＧ＝０）の時に、リアルタイム性を有する通常のシングル転送やリアルバースト転送の送信が必要となった場合がある。
【００３３】
次に、上述したデータ転送処理を行なうためのマスタユニット１２，スレーブユニット１３の機能について説明する。なお、以下の説明では、マスタユニット１２が送信側ユニットとなり、スレーブユニット１３が受信側ユニットとして説明するが、マスタユニット１２同士でデータ転送する場合ももちろんある。係る場合、一方のマスタユニットが受信側ユニットとなる。
【００３４】
図６は、マスタユニット１２の内部構成の一部を示している。すなわち、ユニットの制御全体を司るＭＰＵ１２ａと、ＭＰＵ１２ａが演算実行中等にワークメモリとして使用したり、送受信するデータを一時的に格納するメモリ１２ｂと、バックプレーンバスに接続し、他のユニットとの間でデータ転送を行なうバスインタフェースコントローラ１２ｃと、各種の転送サービスを実行するサービス実行部１２ｄとを備えている。各処理部は、内部バスを介して接続される。また、サービス実行部１２ｄは、ＭＰＵ１２ａ内のプログラムとして実現されても良い。もちろん、図示省略するが、マスタユニット１２には、システムプログラムを格納するＲＯＭその他の各種の処理部も有している。
【００３５】
図７は、スレーブユニット１３の内部構成の一部を示している。すなわち、ユニットの制御全体を司るＭＰＵ１３ａと、ＭＰＵ１３ａが演算実行中等にワークメモリとして使用したり、送受信するデータを一時的に格納するメモリ１３ｂと、バックプレーンバスに接続し、他のユニットとの間でデータ転送を行なうバスインタフェースコントローラ１２ｃとを備えている。各処理部は、内部バスを介して接続される。もちろん、図示省略するが、スレーブユニット１３には、システムプログラムを格納するＲＯＭその他の各種の処理部も有している。
【００３６】
図８〜図１１は、マスタユニット１２のバスインタフェースコントローラ１２ｃの機能を示している。マスタユニット１２のＭＰＵ１２ａは、他のユニットに対してデータ転送の必要性が生じた場合には、サービス実行部１２ｄに対してデータ転送要求をし、対応サービスを起動する。サービス実行部１２ｄは、ＭＰＵ１２ａからデータ転送の指示を受けると、バスインタフェースコントローラ１２ｃに対して、データ転送の種類とともに、転送リクエストをする。
【００３７】
そこで、バスインタフェースコントローラ１２ｃは、サービス実行部１２ｄの所定のサービスからの転送リクエストを受信した場合、図８から図１０に分割して記載したフローチャートを実行し、どの種類の転送要求かを判断する。本実施形態では、上述したようにデータ転送として、「シングル転送」，「バースト転送（リアルタイムバースト転送）」，「非リアルタイムバースト転送」の３種類を用意した。そして、データ転送する場合の緊急性も、「シングル転送」＞「バースト転送（リアルタイムバースト転送）」＞「非リアルタイムバースト転送」とした。
【００３８】
これにともない、バスインタフェースコントローラ１２ｃは、サービス実行部１２ｄから受信したリクエストについて、優先度の高いものから順に判断するようにした。具体的には、まず受信したリクエストがシングル転送リクエストか否かを判断し（Ｓ１１：図８）、シングル転送リクエストでない場合には、バースト転送か否かを判断し（Ｓ２１：図９）、バースト転送リクエストでない場合には、非リアルタイム性バースト転送か否かを判断する（Ｓ３１：図１０）ようにした。そして、各分岐判断（Ｓ１１，Ｓ２１，Ｓ３１）のいずれかの処理ステップで該当した（Ｙｅｓ）の場合には、対応するデータ転送処理を実行する。
【００３９】
各処理ステップＳ１１，Ｓ２１，Ｓ３１における分岐判断がいずれもＮｏの場合には、処理ステップＳ１１に戻る。従って、上述した説明では、サービス実行部１２ｄから所定のデータ転送リクエストを受信した場合に図８から図１０のフローチャートが実行されるように示したが、図から明らかなように、データ転送リクエストを受信しない場合には、Ｓ１１→Ｓ２１→Ｓ３１→Ｓ１１……というようにループを繰り返し実行するため、常時このフローチャートを実行するようにしていても良い。
【００４０】
シングル転送リクエストを受信した場合には、Ｓ１１の分岐判断でＹｅｓとなるので図８に示すフローチャートを実行する。すなわち、まずバスアクセス権獲得処理を行なう（Ｓ１２）。このバスアクセス権獲得処理は、図１１（ａ）に示すように、バスインタフェースコントローラ１２ｃが、ＢＲＥＱを０にし、それを制御線１７を介してバスアクセス権獲得要求をアービタ１５に伝える（Ｓ４１）。そして、バスインタフェースコントローラ１２ｃは、アービタ１５からバスアクセス権許可通知（ＢＧ＝０）が発行されるのを待ち（Ｓ４２）、バスアクセス権許可通知を受信したならば、バスアクセス中フラグをＯＮ、つまり、ＢＳＹ＝０にする（Ｓ４３）。これにより、ＢＳＹを１に戻さない限りアービタ１５は、他のユニットに対してバスアクセス権許可通知を発行できないため、排他的に自己のマスタユニット１２がデータ転送をする権利を確保する。上記の処理ステップＳ４１からＳ４３までが、バスアクセス権獲得処理（Ｓ１２）の具体的な処理フローである。
【００４１】
上記の手順によりバスアクセス許可通知を受け、バスアクセス権を獲得したならば、バスインタフェースコントローラ１２ｃは、サービス実行部（Ｓｅｒｖｉｃｅ）１２ｄのシングル転送サービスに対し、転送許可（Ｇｒａｎｔ）を伝える（Ｓ１３）。後述するごとく、サービス実行部１２ｄは、転送許可を受け取ると、レスポンスとして、「Ｂｕｓｙ」がアンサーバックされてくるため、係るレスポンスを受信するのを待つ（Ｓ１４）。ついで、サービス実行部１２ｄは、シングル転送を完了すると、リクエスト完了ならびに非Ｂｕｓｙを通知するため、バスインタフェースコントローラ１２ｃは、係る通知を受信するのを待つ（Ｓ１５）。そして、係る通知を受信したならば、バスアクセス権解放処理を実行する（Ｓ１６）。
【００４２】
このバスアクセス権解放処理は、図１１（ｂ）に示すように、バスインタフェースコントローラ１２ｃが、ＢＲＥＱを１にしてバスアクセス権獲得の要求を取り下げるとともに、ＢＧＹを１にしてバスアクセス中フラグをＯＦＦにし、それを制御線１７を介してアービタ１５に伝える（Ｓ４５）。そして、バスインタフェースコントローラ１２ｃは、ＢＧ＝１となり、アービタ１５からバスアクセス許可が解除されるのを待つ（Ｓ４６）。そして、ＢＧ＝１となるのを確認し、バスアクセス権解放処理を完了する。
【００４３】
このバスアクセス権解放処理を実行したならば、サービス実行部１２ｄ（シングル転送サービス）に対して、シングル転送の非許可（非Ｇｒａｎｔ）を発行する（Ｓ１７）。これにより、一連のシングル転送処理が終了するため、処理ステップＳ１１に戻り、次のデータ転送に備える。
【００４４】
また、サービス実行部１２ｄからバースト転送リクエストを受けた場合、処理ステップＳ２１の分岐判断でＹｅｓとなるため、図９に示すフローチャートを実行する。すなわち、まずバスアクセス権獲得処理を行なう（Ｓ２２）。このバスアクセス権獲得処理は、上述した図１１（ａ）に示す処理と同様である。
【００４５】
バスインタフェースコントローラ１２ｃは、バスアクセス許可通を受け、バスアクセス権を獲得したならば、サービス実行部（Ｓｅｒｖｉｃｅ）１２ｄのバースト転送サービスに対し、転送許可（Ｇｒａｎｔ）を伝える（Ｓ２３）。後述するごとく、サービス実行部１２ｄは、転送許可を受け取ると、レスポンスとして、「Ｂｕｓｙ」がアンサーバックされてくるため、係るレスポンスを受信するのを待つ（Ｓ２４）。ついで、サービス実行部１２ｄは、バースト転送を完了すると、リクエスト完了ならびに非Ｂｕｓｙを通知するため、バスインタフェースコントローラ１２ｃは、係る通知を受信するのを待つ（Ｓ２５）。そして、係る通知を受信したならば、バスアクセス権解放処理を実行する（Ｓ２６）。このバスアクセス権解放処理は、図１１（ｂ）に示すものと同様である。
【００４６】
このバスアクセス権解放処理を実行したならば、サービス実行部１２ｄ（バースト転送サービス）に対して、バースト転送の非許可（非Ｇｒａｎｔ）を発行する（Ｓ２７）。これにより、一連のバースト転送処理が終了するため、処理ステップＳ１１に戻り、次のデータ転送に備える。
【００４７】
また、サービス実行部１２ｄから非リアルタイムバースト転送リクエストを受けた場合、処理ステップＳ３１の分岐判断でＹｅｓとなるため、図１０に示すフローチャートを実行する。すなわち、まずバスアクセス権獲得処理を行なう（Ｓ３２）。このバスアクセス権獲得処理は、上述した図１１（ａ）に示す処理と同様である。
【００４８】
バスインタフェースコントローラ１２ｃは、バスアクセス権許可通知を受け、バスアクセス権を獲得したならば、サービス実行部（Ｓｅｒｖｉｃｅ）１２ｄの非リアルタイムバースト転送サービスに対し、転送許可（Ｇｒａｎｔ）を伝える（Ｓ３３）。後述するごとく、サービス実行部１２ｄは、転送許可を受け取ると、レスポンスとして、「Ｂｕｓｙ」がアンサーバックされてくるため、係るレスポンスを受信するのを待つ（Ｓ３４）。
【００４９】
ついで、サービス実行部１２ｄは、非リアルタイムバースト転送の完了・中断すると、リクエスト完了ならびに非Ｂｕｓｙを通知するため、バスインタフェースコントローラ１２ｃは、係る通知を受信するのを待つ（Ｓ３６）。ただし、非リアルタイムバースト転送サービスの場合、係るサービス実行中に自局の他のサービス（シングル転送，バースト転送）からのリクエストがあると、転送処理を一時中断する必要がある。そこで、上述の非リアルタイムバースト転送サービスから送られてくるリクエスト完了ならびに非Ｂｕｓｙの通知を受け取るまでの間に、他サービスからの送信要求（Ｒｅｑｕｅｓｔ）の有無も判断する（Ｓ３５）。
【００５０】
他サービスからの送信要求を受けることなく非リアルタイムバースト転送サービスから所定の通知を受信した（Ｓ３６でＹｅｓ）ならば、バスアクセス権解放処理を実行する（Ｓ３９）。このバスアクセス権解放処理は、図１１（ｂ）に示すものと同様である。
【００５１】
このバスアクセス権解放処理を実行したならば、サービス実行部１２ｄ（非リアルタイムバースト転送サービス）に対して、非リアルタイムバースト転送の非許可（非Ｇｒａｎｔ）を発行する（Ｓ４０）。これにより、一連の非リアルタイムバースト転送処理が終了するため、処理ステップＳ１１に戻り、次のデータ転送に備える。
【００５２】
また、非リアルタイムバースト転送中に、自局の他サービスからの送信要求を受けると、処理ステップＳ３５の分岐判断がＹｅｓとなるため、処理ステップＳ３７に飛び、サービス実行部１２ｄの非リアルタイムバースト転送サービスに対して、転送の不許可（非Ｇｒａｎｔ）を送り、非リアルタイムバースト転送サービスからレスポンスとして非Ｂｓｕｙの通知を受信するのを待つ（Ｓ３８）。係る通知を受信したならば、処理ステップ１１に戻る。なお、このときの非リアルタイムバースト転送については、非リアルタイムバースト転送サービスからは非Ｂｕｓｙのみ通知を受けているため、リクエストの要求中である状態は維持される。
【００５３】
また、処理ステップＳ１１に戻ると、処理ステップＳ３５の分岐判断でＹｅｓとなる要因ともなる他サービス（シングル転送，バースト転送）の少なくともいずれかがリクエストを発行しているため、Ｓ１１かＳ２１の分岐判断でいずれかがＹｅｓとなり、上述した対応するデータ転送処理を実行する。
【００５４】
係る転送サービスが終了すると、非リアルタイムバースト転送はリクエスト中のままであるため、Ｓ３１の分岐判断でＹｅｓとなり、バスアクセス権獲得ができたならば中断していた非リアルタイムバースト転送を継続して行なう。なお、すでに今回の占有時間が超過している場合には、ＢＧが消滅（ＢＧ＝１）しているため、今回継続してバスアクセス権は獲得できない。つまり、Ｓ３２の実行途中であるＳ４２がＹｅｓになるのを待機することになる。ただし、バスアクセス要求は継続して出力し続けるため、次の送信タイミングになると、アービタ１５はバスアクセス権許可（ＢＧ＝０）の通知を発行するため、中断していた非リアルタイムバースト転送が続行される。
【００５５】
図１２は、サービス実行部１２ｄのシングル転送機能を示している。このシングル転送機能は、ＭＰＵ１２ａからサービス実行部（Ｓｅｒｖｉｃｅ）１２ｄに対してシングル転送サービスの起動命令を受信すると起動するもので、まず、バスインタフェースコントローラ１２ｃに対してシングル転送のリクエスト（Ｒｅｑｕｅｓｔ）を発行する（Ｓ５１）。ついで、バスインタフェースコントローラ１２ｃから転送許可（Ｇｒａｎｔ）を受信するのを待つ（Ｓ５２）。
【００５６】
転送許可を受信した（Ｓ５２でＹｅｓ）ならば、サービス実行部１２ｄのシングル転送機能は、レスポンスとしてバスインタフェースコントローラ１２ｃに対して「Ｂｕｓｙ」を返信する（Ｓ５３）とともに、実際に所望のユニットに向けてシングル転送を開始する（Ｓ５４）。ついで、サービス実行部１２ｄのシングル転送機能は、シングル転送が完了するのを待ち（Ｓ５５）、転送が完了した（Ｓ５５でＹｅｓ）ならば、バスインタフェースコントローラ１２ｃに対して完了通知として、リクエスト完了（非Ｒｅｑｕｅｓｔと非Ｂｕｓｙ）を通知する（Ｓ５６）。係る通知を発行することで、今回のシングル転送処理を終了する。なお、バスインタフェースコントローラ１２ｃが、図８に示す処理ステップＳ１５の分岐判断で待つ通知が、この処理ステップＳ５６の実行により発行される通知である。また、図１２に示すフローチャートから明らかなように、一旦処理ステップＳ５４の実行に伴いシングル転送が開始されると、今回転送すべきデータの転送が完了する（Ｓ５５でＹｅｓ）まで、データ転送が継続される。
【００５７】
図１３は、サービス実行部１２ｄのバースト転送機能を示している。このバースト転送機能は、ＭＰＵ１２ａからサービス実行部（Ｓｅｒｖｉｃｅ）１２ｄに対してバースト転送サービスの起動命令を受信すると起動するもので、まず、バスインタフェースコントローラ１２ｃに対してバースト転送のリクエスト（Ｒｅｑｕｅｓｔ）を発行する（Ｓ６１）。ついで、バスインタフェースコントローラ１２ｃから転送許可（Ｇｒａｎｔ）を受信するのを待つ（Ｓ６２）。
【００５８】
転送許可を受信した（Ｓ６２でＹｅｓ）ならば、サービス実行部１２ｄのバースト転送機能は、レスポンスとしてバスインタフェースコントローラ１２ｃに対して「Ｂｕｓｙ」を返信する（Ｓ６３）とともに、実際に所望のユニットに向けてバースト転送を開始する（Ｓ６４）。ついで、サービス実行部１２ｄのバースト転送機能は、バースト転送が完了するのを待ち（Ｓ６５）、転送が完了した（Ｓ６５でＹｅｓ）ならば、バスインタフェースコントローラ１２ｃに対して完了通知として、リクエスト完了（非Ｒｅｑｕｅｓｔと非Ｂｕｓｙ）を通知する（Ｓ６６）。係る通知を発行することで、今回のバースト転送処理を終了する。なお、バスインタフェースコントローラ１２ｃが、図９に示す処理ステップＳ２５の分岐判断で待つ通知が、この処理ステップＳ６６の実行により発行される通知である。また、図１３に示すフローチャートから明らかなように、一旦処理ステップＳ６４の実行に伴いバースト転送が開始されると、今回転送すべきデータの転送が完了するまで（Ｓ６５でＹｅｓ）、データ転送が継続される。
【００５９】
図１４は、サービス実行部１２ｄの非リアルタイムバースト転送機能を示している。この非リアルタイムバースト転送機能は、ＭＰＵ１２ａからサービス実行部（Ｓｅｒｖｉｃｅ）１２ｄに対して非リアルタイムバースト転送サービスの起動命令を受信すると起動するものである。具体的な処理アルゴリズムを説明するに先立ち、バースト転送で使用する送信フレームの転送フォーマットを説明する。
【００６０】
この非リアルタイムバースト転送は、他のリアルタイム性が要求されるシングル転送やバースト転送と異なり、データ転送中であっても、一定の中断条件のものでその転送が中断され、中断条件が解除された場合には、中断したデータから転送を再開する。そこで、図１５に示す通常のバースト転送フォーマット（リアルタイム性の通常のバースト転送フォーマットと、非リアルタイムバースト転送フォーマットと共通）に加え、図１６に示す一時中断転送フォーマットと、図１７に示す再開転送フォーマットを用意した。
【００６１】
各図において、「Ｈｅａｄｅｒ０」には、「ＴＹＰＥ」と、「ＭＯＤＥ」と、「ＳｏｕｒｃｅＡｄｄｒｅｓｓ」とを記述する。「ＴＹＰＥ」は、バースト転送手順開始コードを定義するもので、「リアルタイムバースト転送Ｗｒｉｔｅ」と、「リアルタイムバースト転送Ｒｅａｄ」と、「非リアルタイムバースト転送」とがある。「ＭＯＤＥ」は、バースト転送種別コードを定義するもので、バースト転送の開始を表す「Ｓｔａｒｔ」と、バースト転送の一時中断後に再開することを意味する「Ｒｅｓｔａｒｔ」と、転送完了後に相手からのレスポンスを待っているレスポンスのサイクルであることを示す「Ｒｅｓｐｏｎｓｅ」がある。「ＳｏｕｒｃｅＡｄｄｒｅｓｓ」は、転送元のユニット（マスタ等）のアドレスを記述する。
【００６２】
「Ｈｅａｄｅｒ１」には、転送先のユニットのアドレスを示す「ＤｅｓｔｉｎａｔｉｏｎＡｄｄｒｅｓｓ」を記述する。
「Ｈｅａｄｅｒ２」には、「ＣＲＣ８−Ｓｔ」と、「ＤａｔａＳｉｚｅ」と、「ＣＯＭＭＡＮＤ」を記述する。「ＣＲＣ８−Ｓｔ」は、転送開始時のヘッダＦＣＳである。このＦＣＳの範囲は、ＴＹＰＥ，ＭＯＤＥ，ＣＯＭＭＡＮＤ，ＤｅｓｔｉｎａｔｉｏｎＡｄｄｒｅｓｓ，ＳｏｕｒｃｅＡｄｄｒｅｓｓ，ＤａｔａＳｉｚｅである。「ＤａｔａＳｉｚｅ」は、この送信フレームのデータエリアのサイズを記載するもので、Ｗｏｒｄ単位で記述する。
【００６３】
「Ｈｅａｄｅｒ２」に続いて、「Ｄａｔａ０」，「Ｄａｔａ１」，……というように、「ＤａｔａＳｉｚｅ」で定義されたデータエリア分のデータが記述される。「Ｄａｔａ０」から「ＤａｔａＮ−２」（Ｎは「ＤａｔａＳｉｚｅ」で定義された数）では、「ＣＯＭＭＡＮＤ」と「ＤａｔａＡｒｅａ」の対となっている。
【００６４】
「ＣＯＭＭＡＮＤ」は、バースト転送制御コードであり、具体的には、「ＤａｔａＳｔｒｅａｍ」と、「Ｔｅｒｍｉｎａｔｅ」と、「Ｐａｕｓｅ」がある。「ＤａｔａＳｔｒｅａｍ」は、バースト転送ｗｒｉｔｅのデータを表すものである。つまり、対となる「ＤａｔａＡｒｅａ」に記述された任意のデータ（Ｗｏｒｄ単位）が、バースト転送により転送しようとしているデータを正常に（中断することなく）送信していることを意味する。
【００６５】
「Ｔｅｒｍｉｎａｔｅ」は、転送の正常終了を意味する。Ｗｒｉｔｅ時には書き込みデータ送信元が発行し、Ｒｅａｄ時には読み出しデータ送信元が発行する。図１５，図１７に示すように、「Ｄａｔａｎ−１」のコマンドエリアに記述される。また、「ＣＲＣ１６−Ｄａｔａ」によるフレームチェックサイクルであることも示す。「ＣＲＣ１６−Ｄａｔａ」は、ＤａｔａＡｒｅａの先頭から最終データまでのＦＣＳを意味する。
【００６６】
「Ｐａｕｓｅ」は、転送の一時中断を意味する。このコマンドは、転送元が発行する。この「Ｐａｕｓｅ」コマンドと対のＤａｔａＡｒｅａに格納されたデータまでが転送済みのデータとなる。従って、図１６に示すように、この非リアルタイムバースト転送では、「Ｄａｔａ１」の「ＣＯＭＭＡＮＤ」が「Ｐａｕｓｅ」となっているため、この、「Ｄａｔａ１」の「ＤａｔａＡｒｅａ」まで送信した状態で一時中断する。そして、中断条件が解消した場合には、図１７に示すように、「Ｒｅｓｔａｒｔ」のモードコードとともに非リアルタイムバースト転送の再送を開始する。このとき、図１７の再開転送フォーマットでは、図１６の一時中断転送フォーマットで送信済みのＤａｔａ１の続きであるＤａｔａ２のデータから非リアルタイムバースト転送によるデータ転送を再開する。
【００６７】
また、ＤａｔａＮ−１の「ＣＯＭＭＡＮＤ」で「Ｔｅｒｍｉｎａｔｅ」となった場合、転送の正常終了となるので、図１５，図１７に示すように、バス方向の切り替えを行ない、送信相手からのレスポンスを待つ。
【００６８】
ここで、ＤａｔａＮの「ＣＲＣ８−Ｒｓｐ」は、レスポンスＦＣＳであり、このＦＣＳの範囲は、Ｒｅｓｐｏｎｓｅ，ＭＯＤＥ，ＣＯＭＭＡＮＤである。そして、Ｒｅｓｐｏｎｓｅは、レスポンス時のデータであり、レスポンス種別にはＡＣＫ，ＮＡＫ，ＢＵＳＹがある。ここで、ＡＣＫ  Ｒｅｓｐｏｎｓｅは、転送の正常終了を意味し、送受信ともにＣＲＣ正常である。ＮＡＫ  Ｒｅｓｐｏｎｓｅは、転送の異常終了であり、受信側でＣＲＣエラーである。ＢＵＳＹ  Ｒｅｓｐｏｎｓｅは、転送の異常終了であり、受信バッファオーバーフローなどがある。
【００６９】
次に、図１４に示すフローチャートを用いてサービス実行部における非リアルタイムバースト転送サービスの機能を説明する。リアルタイム性のデータ転送と同様に、まず、バスインタフェースコントローラ１２ｃに対して非リアルタイムバースト転送のリクエスト（Ｒｅｑｕｅｓｔ）を発行する（Ｓ７１）。ついで、バスインタフェースコントローラ１２ｃから転送許可（Ｇｒａｎｔ）を受信するのを待つ（Ｓ７２）。
【００７０】
転送許可を受信した（Ｓ７２でＹｅｓ）ならば、サービス実行部１２ｄの非リアルタイムバースト転送機能は、レスポンスとしてバスインタフェースコントローラ１２ｃに対して「Ｂｕｓｙ」を返信する（Ｓ７３）。
【００７１】
通常のリアルタイム性を有するシングル転送や、バースト転送の場合には、この「Ｂｕｓｙ」の返信に続いてすぐにデータ転送を開始したが、非リアルタイムバースト転送の場合には、Ｐａｕｓｅ中か否かを判断する（Ｓ７４）。つまり、図１６に示した、「ＣＯＭＡＮＤ」に「Ｐａｕｓｅ」を有する一時中断転送フォーマットを送信し、現在非リアルタイムバースト転送の再開を待っている状態か否かを判断する。これは、例えば現在Ｐａｕｓｅ中か否かのフラグを持ち、図１６に示す一時中断転送フォーマットを送信した場合には、係るフラグをＯＮにするように制御することにより、当該フラグの状態を見ることでＰａｕｓｅ中か否かの判断ができる。
【００７２】
Ｐａｕｓｅ中でない場合には、現在一時中断している非リアルタイムバースト転送で送信すべきデータがないため、非リアルタイムバースト転送開始（ＭＯＤＥコード＝Ｓｔａｒｔ）にするとともに、タイマを起動する（Ｓ７５）。バスインタフェースコントローラ１２ｃから非リアルタイムバースト転送の非許可（非Ｇｒａｎｔ）の通知（図１０のＳ３７の実行により発行されるもの）があるか否かを判断する（Ｓ７６）。そして、転送非許可の通知を受信しない場合には、タイムアウトが発生していないか否かを判断し（Ｓ７７）、タイムアウトが発生しない場合には、非リアルタイムバースト転送が完了したか否かを判断する（Ｓ７８）。この転送完了か否かは、図１５や図１７に示すように、Ｔｅｒｍｉｎａｔｅのコマンドまで転送できたか否かにより判断できる。
【００７３】
非リアルタイムバースト転送が完了するまで、Ｓ７６からＳ７９の分岐判断を繰り返し実行し、バスインタフェースコントローラ１２ｃからの転送非許可の通知の受信有無ならびに、タイムアウトの発生の有無を判断する。そして、転送非許可（非Ｇｒａｎｔ）の通知を受信した場合（Ｓ７６でＹｅｓ）には、送信相手の受信ユニットに対しでＰａｕｓｅを送信するとともに、送信を中断する（Ｓ８１）。具体的には、図１６に示すように、Ｐａｕｓｅコマンドとともに所定のデータ（対となったＤａｔａＡｒｅａに格納されたデータ）を受信ユニットに向けて送信する。
【００７４】
係る処理を実行後、或いは、タイムアウトが発生（Ｓ７７でＹｅｓ）したり、非リアルタイムバースト転送が完了（Ｓ７８でＹｅｓ）したりした場合には、バスインタフェースコントローラ１２ｃに対して完了通知として、リクエスト完了（非Ｒｅｑｕｅｓｔと非Ｂｕｓｙ）を通知する（Ｓ７９）。係る通知を発行することで、今回の非リアルタイムバースト転送処理を終了する。なお、バスインタフェースコントローラ１２ｃが、図１０に示す処理ステップＳ３６の分岐判断で待つ通知が、この処理ステップＳ７９の実行により発行される通知である。
【００７５】
一方、処理ステップＳ７４の分岐判断で非リアルタイムバースト転送が一時中断している場合には、非リアルタイムバースト転送を再開する（Ｓ８０）。つまり、図１７に示す再開転送フォーマットに従って生成された転送フレーム（前回中断され未送信のデータエリア部分を含むフレーム）を送信し、以後、処理ステップＳ７６に進み、上述した分岐判断をしつつ非リアルタイムバースト転送によりデータを転送する。
【００７６】
次に受信側ユニットの処理機能を説明する。図１８は、スレーブユニット側におけるバスインタフェースコントローラ１３ｃの機能を示すフローチャートである。まず、マスタユニットから非リアルタイムバースト転送を待ち（Ｓ９１）、係る転送の受信を受け付けたならば、非リアルタイムバースト転送の受信を開始するとともに、タイマ起動する（Ｓ９２）。
【００７７】
転送されてきたデータを受信のコマンドを確認し、一時停止（Ｐａｕｓｅ）を受信しないか否かを判断する（Ｓ９３）。一時停止コマンドを受信しない場合には、受信タイムアウトになったか否かを判断する（Ｓ９４）。一時停止を受信せず、受信タイムアウトにならない場合には、受信完了（Ｔｅｒｍｉｎａｔｅの受信）をしたか否かを判断する（Ｓ９５）。
【００７８】
受信完了するまで上述した一時停止か否かならびに受信タイムアウトか否かを判断し、いずれの条件も具備することなく受信完了（Ｓ９５でＹｅｓ）したならば、Ｓ９１に戻り次のマスタユニットからの転送を待つ。また、受信タイムアウトをした場合（Ｓ９４でＹｅｓ）には、Ｓ９１に戻り次のマスタユニットからの転送を待つ。
【００７９】
一時停止（Ｐａｕｓｅ）コマンドを受信した場合（Ｓ９３でＹｅｓ）には、受信停止処理をし（Ｓ９６）、次に同一のマスタユニットから再開転送フォーマットを示すＲｅｓｔａｒｔを受信するのを、受信タイマアウトするまで待つ（Ｓ９７，Ｓ９８）。受信タイムアウトする前にＲｅｓｔａｒｔを受信した（Ｓ９７でＹｅｓ）ならば、中断していた非リアルタイムバースト転送の受信を再開し（Ｓ９９）、Ｓ９４に進み、受信タイムアウトするか、受信完了するまで再開された非リアルタイムバースト転送で送られてくるデータを受信する。また、Ｒｅｓｔａｒｔを受信することなく受信タイムアウトになった場合（Ｓ９８でＹｅｓ）、Ｓ９１に戻り次のマスタユニットからの転送を待つ。
【００８０】
次に、上述した各転送サービスを具体的な実例を挙げつつ、各ユニット（処理部）の機能を説明する。図１９，図２０は、３つのマスタユニット（１）,（２），（３）が、他のスレーブユニットに対して各種の転送サービスを実行した場合のタイミングチャートの概略を示している。図１９，図２０から明らかなように、各マスタユニットは、転送すべきデータが発生した場合に、バスアクセス権獲得の要求をし、バスアクセス権許可通知（ＳＧ＝０）に成ったならば、所望の転送サービスを開始する。もちろん、バスアクセス権の獲得要求がないこともあるし、バスアクセス権許可通知を受け、獲得したバスアクセス権を解放後、すぐにバスアクセス権獲得の要求をすることもある。特に、上述したごとく、本実施形態では、転送を一時中断可能な非リアルタイムバースト転送を設けた。そのため、係る非リアルタイムバースト転送が中断された場合には、バスアクセス権解放後にすぐにバスアクセス権獲得要求を発行することになる。
【００８１】
また、例えば図１９のマスタユニット（２）に示すように、１回のバスアクセス権獲得中に異なる種類の転送を行なうこともある。図示の例では、シングル転送を完了後、引き続きバースト転送を行なっている。さらに、また、図２０のマスタ（２）に示すように、バースト転送のようにリアルタイム性を有する転送サービスの場合、ＢＧが１に復帰し、アービタ１５からのバスアクセス権許可通知が解除されたとしても、バスアクセス権を獲得した状態を維持し、バースト転送サービスを完了するまで転送し続ける。また、図示は省略するが、シングル転送サービスの場合も同様である。そして、この図２０に示したマスタユニット（２）が、ＢＧ＝１に復帰した後もバースト転送を継続して行なったことに伴い、その次に転送サービスを行なう予定のマスタユニット（３）に与えられるバスアクセス権許可通知（ＢＧ＝０）になるタイミングが遅れるとともに、ＢＧ＝０の期間も短くなる。上述した事項は、非リアルタイムバースト転送の中断に伴うバスアクセス権解放後にすぐにバスアクセス権獲得要求を発行することを除き、基本的に従来のものと同様である。
【００８２】
ここで本発明では、転送途中でその転送サービスを一時中断することを許容する非リアルタイムバースト転送を設け、しかも、その非リアルタイムバースト転送サービスの優先順位を最も低くしたため、以下に例示列挙するような事例が生じる。もちろん、記載した内容は一部であり、これ以外の事例も生じるのはもちろんである。
【００８３】
例えば図１９に示すように、マスタユニット（１）は、バスアクセス権を獲得したならば、まず、優先順位の高いバースト転送サービスを行ない、そのバースト転送サービスが完了してもＢＧ＝０のままで、バスアクセス権許可通知を受けている場合には、続いて所定のユニット（例えばノード＃２のユニット）に対して非リアルタイムバースト転送を開始する。しかし、その転送処理中にＢＧ＝１に復帰し、バスアクセス権許可通知が解除されたため、それに伴い、非リアルタイムバースト転送を中断（Ｐａｕｓｅ中）し、次にバスアクセス権を獲得したマスタユニット（２）が、所定のユニットに対してシングル転送サービスを行ない、その後バースト転送サービスを行なう。
【００８４】
続いてバスアクセス権を獲得したのは、マスタユニット（３）であるため、マスタユニット（１）のＰａｕｓｅ中の状態は維持され、マスタユニット（３）が、シングル転送を行ない、その後、非リアルタイムバースト転送を開始する。このマスタユニット（３）の非リアルタイムバースト転送の転送相手は、ノード＃０のスレーブユニットである。そして、このマスタユニット（３）も、その転送処理中にＢＧ＝１に復帰し、バスアクセス権許可通知が解除されたため、それに伴い、非リアルタイムバースト転送を中断（Ｐａｕｓｅ中）する。
【００８５】
そして、次にバスアクセス権を獲得したのはマスタユニット（１）であるため、一時停止中のノード＃２宛の非リアルタイムバースト転送サービスを再開する。また、この再開した非リアルタイムバースト転送が完了後、マスタユニット（１）がバースト転送サービスをする必要性が生じた場合、図示の例では、まだバスアクセス権を獲得したままであるため、引き続きバースト転送サービスを実行する。
【００８６】
また、転送サービスの優先順位は、シングル転送→バースト転送→非リアルタイムバースト転送であるため、仮にほぼ同時期にそれらの転送サービスの要求が発生した場合には、優先順位に従って処理するが、必ずしも同時期に各転送サービスの要求が発生するとも限らず、同時期に発生しない場合には、発生した順に処理をする。一例を示すと、図１９のマスタユニット（２）に示すように、シングル転送を完了後に、非リアルタイムバースト転送を実行し、その転送が完了後にバースト転送サービスを実行するようなことはあり得る。
【００８７】
ただし、非リアルタイムバースト転送を実行中にそれよりも優先順位の高いリアルタイム性を有する転送サービスの要求を受けた場合には、自己の非リアルタイムバースト転送を一時中断し、自己の他の転送サービスを実行し、その後バスアクセス権を獲得している場合には、中断していた非リアルタイムバースト転送を再開する。図示の例では、図２０のマスタユニット（１）の最初の転送処理や、マスタユニット（２）の２度目の転送処理に対応する。
【００８８】
また、図２０のマスタユニット（３）に示すように、バースト転送サービスを実行中に、それよりも優先度の高いシングル転送サービスの要求が発生した場合には、バースト転送サービスを一時中断し、シングル転送サービスの完了後に中断していたバースト転送サービスを再開するようにしても良い。係る処理は、基本的には、リアル性を有する通常のバースト転送においても、非リアルタイムバースト転送における「Ｐａｕｓｅ」コマンドや「Ｒｅｓｔａｒｔ」モードの発行を許容することにより対応できる。もちろん、中断するのは非リアルタイムバースト転送のみとし、バースト転送サービスが一度開始されると、完了するまでの間にシングル転送サービスの要求を受けたとしても、そのままバースト転送サービスを継続するようにしてもよい。
【００８９】
このように、本発明の要部となる非リアルタイムバースト転送中の一時中断の条件としては、自己が獲得しているユニットのバスアクセス権を他のユニットへ委譲する要求があった場合（タイムアウト等でＢＧ＝１に復帰した場合）と、自己のユニットの他の転送サービスの要求があった場合などがある。前者の非リアルタイムバースト転送中に送信元のユニットのバスアクセス権を他のユニットへ委譲する要求があった場合には、転送をＰａｕｓｅしてバスアクセス権を解放する。次に、送信元ユニットがバスアクセス権を獲得するまで、非リアルタイムバースト転送は、続きの送信を待機する状態となる。
【００９０】
後者の非リアルタイムバースト転送中に送信元のユニットがリアルタイムなバースト転送やシングル転送を行なう場合、バスアクセス権はそのままで非リアルタイムバースト転送をＰａｕｓｅしてリアルタイム転送を実施する。その後、非リアルタイムバースト転送を再開する。
【００９１】
図２１は、上記の前者の場合のより詳細なデータ送信のタイミングチャートである。図１９のマスタ（１）やマスタ（３）における非リアルタイムバースト転送の一時中断処理に対応する。そして、図２１に示すように、当初非リアルタイムバースト転送を行なっているのが自ユニットである。
【００９２】
図２１から明らかなように、ＩＤＬＥｃｙｃｌｅの際に、非リアルタイムバースト転送を行なおうとする自ユニットは、ＭＰＵ１２ａからの指示に基づきサービス実行部１２ｄの非リアルタイムバースト転送機能が起動し、バスインタフェースコントローラ１２ｃとアービタ１５との間のバスアクセス権の要求や、それに対する許可通知等のデータの送受にともないＢＲＥＱ，ＢＧ，ＢＳＹが１から０に変化する。
【００９３】
ついで、自ユニットであるマスタユニットは、所定の転送フォーマットからなる非リアルタイムバースト転送を実行する。図示の例では、転送途中（Ｄａｔａ０の送信中）でバスアクセス許可が消滅（ＢＧ＝１）したため、自ユニットは、次のＤａｔａ１（ＰＡＵＳＥｃｙｃｌｅ）では、Ｐａｕｓｅコマンドとともに、Ｄａｔａ１のＤａｔａＡｒｅａで送るべきデータを送信し、次のＩＤＬＥｃｙｃｌｅにて、ＢＳＹを１に戻し獲得したバスアクセス権を解放する。また、このとき自ユニットは、一旦バスアクセス権獲得要求を一旦取り下げ（ＢＲＥＱ＝１）、すぐに転送未完の非リアルタイムバースト転送を行なうためにＢＲＥＱ＝０に戻し、バスアクセス権獲得要求を行なう。なお、この図２１における中断した非リアルタイムバースト転送の転送フォーマットは、図１６に示した一時中断のものと同様である。
【００９４】
また、上記のＩＤＬＥｃｙｃｌｅの間に、シングル転送を行なう他ユニットが、バスアクセス権獲得要求（ＢＲＥＱ＝０）をし、バスアービタ１５からのバスアクセス権許可通知（ＢＧ＝０）、バスアクセス中フラグをＯＮ（ＢＳＹ＝０）にする。続いて、ＷＲＩＴＥｃｙｃｌｅを利用して、他ユニットが、シングル転送を行なう。
【００９５】
この他ユニットにおけるシングル転送が完了すると、他ユニットのＢＲＥＱ，ＢＧ，ＢＳＹが１に復帰するため、非リアルタイムバースト転送が中断し、バスアクセス権獲得要求（ＢＲＥＱ＝０）をしている自ユニットがバスアクセス権許可通知（ＢＧ＝０）を受けると、バスアクセス中フラグをＯＮ（ＢＳＹ＝０）にし、非リアルタイムバースト転送を再開する。この再開に伴い、前回の非リアルタイムバースト転送で送信済み（Ｄａｔａ１）の次のデータ（Ｄａｔａ２のＤａｔａＡｒｅａに格納されたデータ）から送信する。なお、この非リアルタイムバースト転送において、最後まで転送できる場合もあれば、さらに一時中断されることもある。
【００９６】
また、図２１に示した例では、他ユニットのシリアル転送が完了後に続いて、一時中断していた非リアルタイムバースト転送の再開をしたが、図１９に示すように他のマスタユニットの通信の後で再開することももちろんある。
【００９７】
図２２は、非リアルタイムバースト転送（Ｒｅａｄ）における一時中断の具体的例を示している。本的には、上述した図２１に示す非リアルタイムバースト転送（Ｗｒｉｔｅ）と同様であり、バスアクセス権許可通知が消滅（ＢＧ＝１）になると、自ユニットはＰａｕｓｅ処理を行ない、バスアクセス中フラグをＯＦＦ（ＢＳＹ＝１）にし、バスアクセス権を解放する。これにより、他ユニットがリアルタイム性のあるデータ転送（図示の場合はシングル転送）を行なう。そして、掛かるシングル転送が完了したならば、一時中断中の自ユニットは、非リアルタイムバースト転送を再開する。ここで、図２１に示した転送処理との相違点は、データ転送はＲＥＡＤｃｙｃｌｅであるため、バスの切り替えを行ない、通信相手からデータを読み出すようになる。
【００９８】
図２３，図２４は、それぞれ非リアルタイムバースト転送を行なっているマスタユニットが、リアルタイム性を有するデータ転送を行なう場合を示している。つまり、図２２のマスタ（１）やマスタ（２）に対応する。
【００９９】
転送中の非リアルタイムバースト転送を中断する場合、Ｐａｕｓｅコマンドを発行して一時中断する点は、ならびに、シングル転送等のリアルタイム性の必要なデータ転送を完了後に非リアルタイムバースト転送を再開すること、ならびにＲＥＡＤ処理の場合には、バスの切り替えを行なうことなどは、図２１，図２２に示した通りである。ただし、本例では、同一のマスタユニット内でリアルタイム転送に切り替えるため、バスアクセス権を解放する必要が無く、ＢＲＥＱ，ＢＧ，ＢＳＹは０のままである。
【０１００】
なお、上述した各実施形態において、受信ユニットは、スレーブユニット１３の場合もあれば、マスタユニット１２の場合もある。
【０１０１】
ところで、上述したように、本発明では非リアルタイムバースト転送は分断（Ｐａｕｓｅ／Ｒｅｓｔａｒｔ）されることがあるため、受信ユニットが複数の非リアルタイムメッセージを同時に受信処理することがあり得る。係る場合に、受信ユニット側では、同一の送信側ユニット（マスタユニット）から非リアルタイムバースト転送で送られてきたデータ同士を所定の順で結合する必要がある。
【０１０２】
係る結合する処理を行なうためには、例えば、図２５に示したように分断した細切れのフレーム毎にユニークなフラグメントＩＤを付加し、複数の送信元からの非リアルタイムメッセージをフラグメントＩＤにより識別して完全なフレームを生成することができる。なお、係る手法を採った場合、分断時にフラグメントＩＤを付加するためにデータ転送効率が低下するとともに、中断処理に要する時間もフラグメントＩＤ送出の時間だけ大きくなるというデメリットを有する。また、受信側では、フラグメントＩＤを参照しながらフレームを組み立てるといった煩雑な処理が必要で、ファームウェアの処理負荷が増大するかハードウェアで処理する場合には論理規模が大きくなる。
【０１０３】
また、図２６に示すように、受信ユニット側にて、転送元ユニットＩＤ毎に別々の受信バッファ（図の場合、マスタＡ用とマスタＣ用を設けるようにしてもよい。ただし、同時に起こりうる非リアルタイムメッセージの最大データサイズ分の受信バッファを設ける必要があり、ハードウェアのハイコストを招いてしまう。
【０１０４】
これら図２５，や図２６に示す手法を採ることは本発明で妨げないが、好ましくは、以下に示す各種の手段を実装することである。すなわち、基本的な技術思想として、受信ユニットは、必ず１つの非リアルタイムバースト転送のみを受信処理するような制約を設けるようにした。これにより、受信ユニットに、非リアルタイムバースト転送（Ｐａｕｓｅ／Ｒｅｓｔａｒｔ）により、分断された複数のフレームは、全て同一のユニットから送られてきたものとなる。しかも、１つの非リアルタイムバースト転送の場合、複数に分断されたとしても、各データの送信順は変わらないため、受信ユニットは、受信した順にデータを結合することで送られて非リアルタイムバースト転送により送られるべきデータを生成できる。
【０１０５】
係る技術思想を解決する具体的な実施例としては、例えば、非リアルタイムバースト送信時に、宛先ユニットが非リアルタイムバースト受信していないことを確認したことを条件に非リアルタイムバースト送信を行なうようにする。
【０１０６】
係る「宛先ユニットが非リアルタイムバースト受信していないことを確認する方法」としてはいくつかの手法を採ることができ、例えば、送信前に宛先ユニットの非リアルタイムバースト受信ステータスを確認した上で、送信することである。ただし、この場合には、非リアルタイムバースト転送の前にシングルアクセスが発生してしまう。具体的には、マスタユニットの非リアルタイムバースト転送機能が、図２７に示すフローチャートを実行する。
【０１０７】
まず、非リアルタイムバースト送信要求の受信を待ち（Ｓ１０１）、受信したならば送信先の非リアルタイムバースト受信ステータスを確認する（Ｓ１０２）。そして、送信先が非リアルタイムバースト受信中か否かを判断し（Ｓ１０３）、受信中でないことを確認したならば、非リアルタイムバースト転送を開始し（Ｓ１０４）、送信完了する（Ｓ１０５）。なお、処理ステップＳ１０２による確認を行なった結果、受信中と判断された（Ｓ１０３でＹｅｓ）ならば、処理ステップＳ１０２に戻り、再度確認する。つまり、送信相手が他のユニットとの間で行なう非リアルタイムバースト受信を完了したのを待ち、自己が送信開始する（Ｓ１０４，Ｓ１０５）。
【０１０８】
また、図２８に示すように、非リアルタイムバースト送信要求の受信を待ち（Ｓ１１１）、受信したならば送信先の宛先ユニットの受信バッファのアクセス権の獲得要求を行ない、獲得するのを待つ（Ｓ１１２）。そして、アクセス権を取ったら送信するようにする（Ｓ１１３，Ｓ１１４）。
【０１０９】
また、別の方法としては、ユニットは常時バスを監視するとともに、内部に非リアルタイムバースト転送の実行状態テーブル（図２９参照）を備える。つまり、各ノードで非リアルタイムバースト転送を行なっているか否かを監視し、その監視結果を上記の実行テーブルに格納する。
【０１１０】
そして、図３０に示すように、非リアルタイムバースト送信要求の受信を待ち（Ｓ１２１）、受信したならば自己が作成した実行状態テーブルを参照し（Ｓ１２２）、今回の送信先ユニットが受信可能か否かを判断する（Ｓ１２３）。具体的には、送信先のノードのフラグが「１」になっていれば受信不可であり、「０」の場合には受信可となる。そして、非リアルタイムバース点総身受信中（０）で、相手方が受信可能の場合には、非リアルタイムバースト転送を行なう（Ｓ１２３，Ｓ１２４）。
【０１１１】
また、別の技術思想としては、非リアルタイムバースト送信時に、他のユニットが非リアルタイムバースト送信中でないことを確認した後に非リアルタイムバースト送信を行なうようにすることである。
【０１１２】
具体的には、ユニットは常時バスを監視しており、内部に非リアルタイムメッセージの実行状態テーブル（図３１参照）を持っている。この実行テーブルは、図２９と相違し、いずれか１つでも（送信相手か否かを問わず）非リアルタイムメッセージ送信中（中断中）の場合には、フラグを「１」にする。
【０１１３】
そして、図３２に示すように、非リアルタイムバースト送信要求の受信を待ち（Ｓ１３１）、受信したならば自己が作成した実行状態テーブルを参照し（Ｓ１３２）、いずれも非リアルタイムバースト送信を行なっておらず、自己の非リアルタイムを相手が受信可能か否かを判断する。いずれのユニットも非リアルタイム転送を行なっていない場合には、当然のことながら、今回の送信相手先のユニットも受信可能であるため（Ｓ１３３でＹｅｓ）、非リアルタイムバースト転送を行なう（Ｓ１３３，Ｓ１3４）。なお、この方法では、送信相手先以外のユニットが非リアルタイムバースト転送を受信している場合でも、転送実行テーブルのフラグは１となり、送信できなくなるので非リアルタイムメッセージの転送レイテンシは大きくなるが、非リアルタイムバースト転送は、もともとレイテンシは重視していないためさほど問題にはならない。よって、係る方法がもっとも簡単で処理の負荷・ハードウェア規模が少ない方式といえる。
【０１１４】
上述した実施の形態では、図３に示すようにバックプレーン（バックプレインボード）１１に複数のユニットを装着し、各ユニットはバックプレーン内のバスを介して接続するとともに、アービタ１５をバックプレーン１１に設置した構成を採っている。しかし、本発明はそれに限ることはなく、バックプレーン無し（例えばＤＩＮレール取付けタイプ）でユニット同士が横連結して、各ユニットを貫通バスでつなげる構成のものにも適用が出来る。係る場合、制御装置を構成するいずれかのユニットにアービタを設置したり、アービタユニットを設けることも出来る。その場合には、各マスタユニットとアービタとを接続するための制御線を、各ユニットを通すことになる。
【０１１５】
また、マスタユニット（バスマスタユニット）は、ユーザプログラム演算処理する「ＣＰＵユニット」はもちろんのこと、他に、モーション系を制御する「モーションコントロールユニット」、他のＰＬＣとデータのコントローラ間通信を行なう「通信ユニット」、なにか特化した演算処理をする高機能演算ユニットなど、各種のものに適用できる。そして、このマスタユニット機能をもつことで、制御のための入力データ・出力データをＣＰＵユニット経由で授受しなくて済むという作用効果を奏する。
【図面の簡単な説明】
【０１１６】
【図１】従来のマルチバスマスタシステムにおける転送オペレーションの一例を示している。
【図２】従来の問題点を説明する図である。
【図３】本発明の好適な一実施の形態を示す図である。
【図４】シングル転送，バースト転送のタイミングチャートを示す図である。
【図５】アービタの機能を示すフローチャートである。
【図６】マスタユニットの内部構成の一例を示す図である。
【図７】スレーブユニットの内部構成の一例を示す図である。
【図８】マスタユニット１２のバスインタフェースコントローラ１２ｃの機能の一部を示すフローチャートの一部である。
【図９】マスタユニット１２のバスインタフェースコントローラ１２ｃの機能の一部を示すフローチャートの一部である。
【図１０】マスタユニット１２のバスインタフェースコントローラ１２ｃの機能の一部を示すフローチャートの一部である。
【図１１】マスタユニット１２のバスインタフェースコントローラ１２ｃの機能の一部を示すフローチャートの一部である。
【図１２】サービス実行部１２ｄのシングル転送機能を示すフローチャートである。
【図１３】サービス実行部１２ｄのバースト転送機能を示すフローチャートである。
【図１４】サービス実行部１２ｄの非リアルタイムバースト転送機能を示すフローチャートである。
【図１５】バースト転送のフレームの転送フォーマットの一例を示す図である。
【図１６】バースト転送のフレームの一時中断転送フォーマットの一例を示す図である。
【図１７】バースト転送のフレームの再開転送フォーマットの一例を示す図である。
【図１８】スレーブユニット側におけるバスインタフェースコントローラ１３ｃの機能を示すフローチャートである。
【図１９】各転送サービスを具体的な実例を示す図である。
【図２０】各転送サービスを具体的な実例を示す図である。
【図２１】非リアルタイムバースト転送の詳細なタイミングチャートを示す図である。
【図２２】非リアルタイムバースト転送の詳細なタイミングチャートを示す図である。
【図２３】非リアルタイムバースト転送の詳細なタイミングチャートを示す図である。
【図２４】非リアルタイムバースト転送の詳細なタイミングチャートを示す図である。
【図２５】非リアルタイムバースト転送により分割して受信処理したデータを統合する処理を説明する図である。
【図２６】非リアルタイムバースト転送により分割して受信処理したデータを統合する処理を説明する図である。
【図２７】受信ユニットが、必ず１つの非リアルタイムバースト転送のみを受信処理するためのマスタユニットの機能を示すフローチャートである。
【図２８】受信ユニットが、必ず１つの非リアルタイムバースト転送のみを受信処理するためのマスタユニットの機能を示すフローチャートである。
【図２９】非リアルタイムバースト転送の実行状態テーブルのデータ構造の一例を示す図である。
【図３０】受信ユニットが、必ず１つの非リアルタイムバースト転送のみを受信処理するためのマスタユニットの機能を示すフローチャートである。
【図３１】非リアルタイムバースト転送の非リアルタイムメッセージの実行状態テーブルのデータ構造の一例を示す図である。
【図３２】受信ユニットが、必ず１つの非リアルタイムバースト転送のみを受信処理するためのマスタユニットの機能を示すフローチャートである。
【符号の説明】
【０１１７】
１０  制御装置
１１  バックプレーン
１２  マスタユニット
１３  スレーブユニット
１５  アービタ
１６  バス
１７  制御線
【図１】
2006197417.tif 000003
【図２】
2006197417.tif 000004
【図３】
2006197417.tif 000005
【図４】
2006197417.tif 000006
【図５】
2006197417.tif 000007
【図６】
2006197417.tif 000008
【図７】
2006197417.tif 000009
【図８】
2006197417.tif 000010
【図９】
2006197417.tif 000011
【図１０】
2006197417.tif 000012
【図１１】
2006197417.tif 000013
【図１２】
2006197417.tif 000014
【図１３】
2006197417.tif 000015
【図１４】
2006197417.tif 000016
【図１５】
2006197417.tif 000017
【図１６】
2006197417.tif 000018
【図１７】
2006197417.tif 000019
【図１８】
2006197417.tif 000020
【図１９】
2006197417.tif 000021
【図２０】
2006197417.tif 000022
【図２１】
2006197417.tif 000023
【図２２】
2006197417.tif 000024
【図２３】
2006197417.tif 000025
【図２４】
2006197417.tif 000026
【図２５】
2006197417.tif 000027
【図２６】
2006197417.tif 000028
【図２７】
2006197417.tif 000029
【図２８】
2006197417.tif 000030
【図２９】
2006197417.tif 000031
【図３０】
2006197417.tif 000032
【図３１】
2006197417.tif 000033
【図３２】
2006197417.tif 000034