説明

バススイッチ装置及びバススイッチシステム及びバススイッチ方法及びプログラム

【課題】マスター装置からスレーブ装置に対する操作要求と操作情報とを入力して、操作が要求されたスレーブ装置に操作要求と操作情報とを出力するバススイッチがあったが、スレーブ装置が増加すると、マスター装置からスレーブ装置へ出力する操作情報のトラフィックに対応できなかった。
【解決手段】バススイッチ101は、複数の操作情報チャネルに出力された操作情報を、操作が要求されたスレーブ装置に対応したチャネル選択回路に入力させるリクエスト信号とチャネル選択信号とを生成する選択信号生成回路121と、選択信号生成回路121が生成したリクエスト信号をもとに、上記スレーブ装置に対応したチャネル選択回路を選択する選択回路部130とを備え、選択されたチャネル選択回路が、複数の操作情報チャネルのうち、チャネル選択信号が表す操作情報チャネルから操作情報を入力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、1つのマスター装置から同時に複数のスレーブに対して要求された操作要求、例えばデータの送受信を行う操作要求がなされた場合、各スレーブ装置に対する操作要求を制御するバススイッチ装置及びバススイッチシステム及びバススイッチ方法及びプログラムに関するものである。
【背景技術】
【0002】
一般に複数のマスター装置から複数のスレーブにアクセスを行う場合、例えば特開平11−184827号公報に示されるように、マスター装置とスレーブ装置の間にバススイッチ装置を配置し、マスター装置とスレーブ装置との間は、バススイッチを介して1つのアドレス信号線と1つの送信データ信号線と1つの受信データ信号線と制御信号との1組の信号線で結ばれる。例えばマスター装置の数を3、スレーブ装置の数を4とすると、マスター装置とスレーブ装置の間には1つのバススイッチ装置が接続される。バススイッチ装置は、4つのスレーブ装置の各スレーブ装置に対応したマスター選択回路を4つ備える。また、バススイッチ装置は、3つのマスター装置の各マスター装置に対応したスレーブ選択回路を3つ備える。各マスター選択回路は、3つのマスター装置のうちの1つのマスター装置からのアクセスを選択する。スレーブ選択回路は4つのスレーブ装置の各スレーブ装置から出力される受信データのうち何れか1つのスレーブ装置から出力される受信データを選択する。各マスター装置に接続されるアドレス信号線、データ信号線は1組であり、1つのマスター装置から1回にアクセス可能なスレーブ装置は1つだけである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−184827号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記した従来技術のバススイッチ装置では、例えばFA(ファクトリーオートメーション:Factory Automationの略)のような制御システムにおいて、多機能化に伴いスレーブ装置の数が多くなり、1つのマスター装置が送受信するデータのトラフィックが大きくなると、1組のアドレスとデータとでは伝送帯域が足りなくなるという課題があった。
【0005】
この発明は、1つのマスター装置が備えるアドレス信号線とデータ信号線との組(チャネル)を複数にし、1つのマスター装置から同時に複数のスレーブ装置に対してアクセス出来るようにすることを目的とする。
【0006】
また、1つのマスター装置から同時に複数のスレーブ装置に対してリード要求を行った場合に、複数のスレーブ装置から出力される受信データが揃ってから、リード要求を行ったマスター装置に受信データを返信出来るようにすることを目的とする。
【0007】
また、アドレス信号線に送信データを多重するようにし、1つのマスター装置からのバースト送信のアクセスサイクル数を短くすることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るバススイッチ装置は、複数のスレーブ装置のうち2つ以上のスレーブ装置に対して操作を行わせる操作要求を、マスター装置から入力する操作要求チャネルと、
上記2つ以上のスレーブ装置の各スレーブ装置に上記操作を行わせる際に使用させる各操作情報を、上記マスター装置から同時に入力する複数の操作情報チャネルと、
上記操作要求チャネルから操作要求を入力し、入力した操作要求に基づいて、当該操作要求が操作を行わせる2つ以上のスレーブ装置を判定し、判定した2つ以上のスレーブ装置の各スレーブ装置に使用させる操作情報を入力する操作情報チャネルを上記操作要求に基づいて判定し、判定したスレーブ装置を表すリクエスト信号と、判定した操作情報チャネルを表すチャネル選択信号とを生成し、生成したリクエスト信号とチャネル選択信号とを出力する選択信号生成回路部と、
上記複数のスレーブ装置に対応した複数のチャネル選択回路部を有する選択回路部であって、上記選択信号生成回路部が生成したリクエスト信号とチャネル選択信号とを入力し、入力したリクエスト信号が表すスレーブ装置に対応したチャネル選択回路部を上記複数のチャネル選択回路部から選択し、選択したチャネル選択回路部に上記チャネル選択信号を入力する選択回路部と、
上記複数のスレーブ装置に対応した複数のマスター選択回路部であって、対応したスレーブ装置に対して、上記操作情報を使用して上記操作要求による操作を行わせる複数のマスター選択回路部と
を備え、
上記複数のチャネル選択回路部の各チャネル選択回路部は、操作要求と操作情報とを記憶するチャネル用メモリを備え、
上記選択回路部により選択されたチャネル選択回路部は、上記操作要求チャネルから上記操作要求を入力するとともに、上記選択回路部により入力されたチャネル選択信号が表す操作情報チャネルから操作情報を入力し、入力した操作要求と操作情報とを、上記チャネル用メモリに記憶させ、
上記チャネル用メモリに記憶した操作要求と操作情報とを読み出し、読み出した操作要求と操作情報とを、上記チャネル選択回路部に対応するスレーブ装置に対応したマスター選択回路部に出力する
ことを特徴とする。
【発明の効果】
【0009】
本願発明のバススイッチ装置によれば、1つのマスター装置が備えるアドレス信号線とデータ信号線との組(要求情報チャネル)を複数にし、1つのマスター装置から同時に複数のスレーブ装置に対してアクセス出来るようにした。このため、スレーブ装置の数が多くなっても、1つのマスター装置が送受信するデータのトラフィックが大きくなっても、伝送帯域を確保することができる効果を奏する。
【図面の簡単な説明】
【0010】
【図1】実施の形態1のバススイッチシステムの機能を示すブロック図。
【図2】実施の形態1のバススイッチ101、マスター装置111から113、スレーブ装置161から164の各装置のハードウェア資源の一例を示す図。
【図3】実施の形態1の操作情報の一例を示す図。
【図4】実施の形態1の制御信号の一例を説明する図。(A)は制御信号線51に出力される制御信号の一例、(B)は制御信号線52に出力される制御信号の一例。
【図5】実施の形態1の選択信号生成回路121、122、123の回路ブロック図。
【図6】実施の形態1の変換表の一例を示す図。
【図7】実施の形態1のチャネル選択回路131、132、133の回路ブロック図。
【図8】実施の形態1のマスター選択回路141、142、143、144の回路ブロック図。
【図9】実施の形態1のスレーブ選択回路151、152、153の回路ブロック図。
【図10】実施の形態1のバススイッチ101が、マスター装置111から1113のいずれかから操作要求を受け付ける処理を示すフローチャート図。
【図11】実施の形態1の選択信号生成回路の処理を示すフローチャート図。
【図12】実施の形態1の選択回路部、チャネル選択回路の処理を示すフローチャート図。
【図13】実施の形態1のチャネル選択回路の処理を示すフローチャート図。
【図14】実施の形態1のチャネル選択回路の処理を示すフローチャート図。
【図15】実施の形態1のマスター選択回路の処理を示すフローチャート図。
【図16】実施の形態1のスレーブ装置の処理を示すフローチャート図。
【図17】実施の形態1のスレーブ選択回路の処理を示すフローチャート図。
【図18】従来のバススイッチ1001を示す構成図。
【図19】実施の形態2のバススイッチスステムの機能を示すブロック図。
【図20】実施の形態2の多重回路621、622、623の回路ブロック図。
【図21】実施の形態2のマスター装置が多重化する前の操作情報と、多重化した後の操作情報とを示す図。
【図22】(A)から(D)は、実施の形態2の異なるバースト長毎のデータイネーブルと選択信号Aと選択信号D上と選択信号D下との一例を示す図。
【図23】実施の形態2の選択信号生成回路631、632、633の回路ブロック図。
【図24】実施の形態2の変換表804の一例を示す図。
【図25】(A)から(C)は、実施の形態2のバースト長毎にデータセレクト信号生成回路が生成するデータ選択信号の一例を示す図。
【図26】実施の形態2の選択分離回路641、642、643の回路ブロック図。
【発明を実施するための形態】
【0011】
実施の形態1.
この実施の形態では、複数のマスター装置と複数のスレーブ装置との間に備えられたバススイッチ装置であって、各マスター装置から複数のスレーブ装置に対して同時に操作情報が出力される場合のバススイッチ装置、バススイッチシステムについて、以下に一例を説明する。
【0012】
図1は、この実施の形態のバススイッチシステムの機能を示すブロック図である。
図1に示したバススイッチシステム100は、マスター装置111,112,113、バススイッチ101(バススイッチ装置の一例)、スレーブ装置161,162,163,164を備える。バススイッチ101は、選択信号生成回路121,122,123(選択信号生成回路部の一例)を備える。バススイッチ101は、チャネル選択回路131,132,133(チャネル選択回路部の一例)を備える。バススイッチ101は、チャネル選択回路131,132,133をそれぞれ、スレーブ装置の数に対応して4つ備える。4つのチャネル選択回路を合わせて、選択回路部130とする。バススイッチ101は、選択回路部130を、マスター装置の数に対応して3つ備える。図1では、代表としてマスター装置111に対応した選択回路部に選択回路部130との符号をつけた。バススイッチ101は、マスター選択回路141,142,143,144(マスター選択回路部の一例)を備える。バススイッチ101は、スレーブ選択回路151,152,153(スレーブ選択回路部の一例)を備える。
この実施の形態では、マスター装置の数を3、スレーブ装置の数を4、1つのマスター装置が有する操作情報チャネル数を2とする。この実施の形態では、一例としてマスター装置の数を3、スレーブ装置の数を4、1つのマスター装置が有する操作情報チャネル数を2としたが、マスター装置の数は1以上であればよい。スレーブ装置の数は、2以上であればよい。1つのマスター装置が有する操作情報チャネル数は、2以上であればよい。
以下に、バススイッチシステムが備える構成要素について、概要を説明する。
【0013】
バススイッチシステム100は、マスター装置111(マスターA)、マスター装置112(マスターB)、マスター装置113(マスターC)、バススイッチ101(バススイッチ装置の一例)、スレーブ装置161(スレーブa)、スレーブ装置162(スレーブb)、スレーブ装置163(スレーブc)、スレーブ装置164(スレーブd)を備える。マスター装置111、マスター装置112、マスター装置113はそれぞれ、スレーブ装置161、スレーブ装置162、スレーブ装置163、スレーブ装置164の何れかに対してアクセスを行うための、操作要求を生成する。また、各マスター装置は、操作要求を生成する操作要求生成部(図示せず)を備える。各マスター装置は、スレーブ装置が操作要求を実行する際に使用する操作情報を生成する。各マスター装置は、操作情報を生成する操作情報生成部を備える(図示せず)。各マスター装置は、1つの操作要求で複数のスレーブ装置に対してアクセス(操作要求)を行う。ここでは、操作情報チャネル数を2としたので、1つのマスター装置は1つの操作要求で2つのスレーブ装置に対してアクセスを行う。各マスター装置は、バススイッチ101と制御信号を送受信する制御信号線51(操作要求チャネル)、制御信号線52、バススイッチ101にアドレスを送信するアドレス上信号線とデータを送信する送信データ上信号線とデータを受信する受信データ上信号線とを有する操作情報チャネルと、アドレス下信号線と送信データ下信号線と受信データ下信号線とを有する操作情報チャネルとの、2つの操作情報チャネルを有する。信号線を上、下と記載したが、これは信号線の種類を区別するものである。上記したようにこの実施の形態では、操作情報チャネルの数を2としたため、2つの操作情報チャネルを区別するために、上、下と表した。2つの操作情報チャネルを合わせて操作情報チャネル53と呼ぶ。送信データ信号線と受信データ信号線とを区別して記載したが、これら2つの信号線を合わせて1つのデータ信号線としてもかまわない。アドレスと送信データとは、操作情報の一例である。制御信号は、操作要求の一例である。アドレス下信号線と送信データ下信号線とを合わせて、操作情報下チャネルと呼ぶ。アドレス上信号線と送信データ上信号線とを合わせて操作情報上チャネルと呼ぶ。チャネルは、アドレスやデータの送受信に使用する信号線である。
【0014】
バススイッチ101は、マスター装置111に対応する選択信号生成回路121(選択信号生成回路部の一例)、マスター装置112に対応する選択信号生成回路122(選択信号生成回路部の一例)、マスター装置113に対応する選択信号生成回路123(選択信号生成回路部の一例)を備える。
選択信号生成回路121、122、123はそれぞれ、対応したマスター装置111、112、113から出力される制御信号をもとに、操作を行わせる2つのスレーブ装置を判定する。そして、判定した2つのスレーブ装置の各スレーブ装置に使用させる操作情報が出力される操作情報チャネルを制御信号に基づいて判定する。選択信号生成回路121、122、123はそれぞれ、判定したスレーブ装置に対応したチャネル選択回路を指定するリクエスト信号を生成する。このリクエスト信号は、指定したチャネル選択回路に制御信号を入力させることを指示するための信号である。また、選択信号生成回路121、122、123はそれぞれ、判定した操作情報チャネル(この実施の形態では、操作情報下チャネル、操作情報上チャネル)を指定するチャネル選択信号を生成する。このチャネル選択信号は、リクエスト信号により指定されたチャネル選択回路に、選択信号生成回路により指定された操作情報チャネルから操作情報を入力させるための信号である。
【0015】
バススイッチ101は、マスター装置111に対応した選択回路部130を備える。同じように、バススイッチ101は、マスター装置112に対応した選択回路部、マスター装置113に対応した選択回路部を備える。選択信号生成回路121は、マスター装置111に対応した選択回路部130にリクエスト信号、チャネル選択信号を出力する。選択信号生成回路122は、マスター装置112に対応した選択回路部にリクエスト信号、チャネル選択信号を出力する。選択信号生成回路123は、マスター装置113に対応した選択回路部にリクエスト信号、チャネル選択信号を出力する。また、選択信号生成回路121,122,123はそれぞれ、マスター装置111、112、113に対してアクセスウェイトを出力する。アクセスウェイトについては、後で説明する。
【0016】
複数のマスター装置に対応した選択回路部はそれぞれ、4つのスレーブ装置に対応した並列に存在する4つのチャネル選択回路を備える。各選択回路部は、選択信号生成回路121、122、123から出力されるリクエスト信号を入力し、入力したリクエスト信号に基づいて、制御信号線51から制御信号を入力するチャネル選択回路を、4つのチャネル選択回路から選択する。例えば、選択回路部130は、選択信号生成回路121からリクエスト信号を入力し、入力したリクエスト信号に表されたスレーブ装置に対応したチャネル選択回路を、4つのチャネル選択回路131から選択する。選択されたチャネル選択回路は、制御信号線51から制御信号を入力する。選択回路部130は、選択信号生成回路121からチャネル選択信号を入力し、選択したチャネル選択回路に、チャネル選択信号を入力する。
選択されたチャネル選択回路は、選択回路部130から入力したチャネル選択信号が表す操作情報チャネルから、操作情報を入力する。
選択されたチャネル選択回路は、選択回路部130によりチャネル選択信号を入力したが、選択信号生成回路121が出力した、チャネル選択信号を選択回路部130を介さずに入力してもよい。
【0017】
複数の選択回路部130、チャネル選択回路131,132,133,選択信号生成回路121,122,123を組み合わせる事で、マスター装置111,112,113からスレーブ装置161,162,163,164へのアドレスとデータと制御信号の振り分けが行われる。例えば、マスター装置111に対応した選択回路部130が有する4つのチャネル選択回路131はそれぞれ、自信が対応したスレーブ装置に対応するマスター選択回路にアドレスとデータと制御信号とを出力する。マスター選択回路141,142,143,144は、マスター装置111,112,113からのアクセス(操作要求、操作情報)のうち1つのマスター装置からのアクセスを選択し、自信が対応したスレーブ装置161,162,163,164へ、選択したアクセスを出力する。また、選択されなかったマスター装置に対してアクセスウェイトを出力する。例えば、マスター装置111がマスター選択回路141により選択されなかった場合、マスター選択回路141は、選択回路部130が備える4つのチャネル選択回路131のうち、自信が対応したスレーブ装置と同じスレーブ装置に対応するチャネル選択回路にアクセスウェイトを出力する。アクセスウェイトを入力したチャネル選択回路は、入力したアクセスウェイトを、選択信号生成回路121に出力する。アクセスウェイトを入力した選択信号生成回路121は、入力したアクセスウェイトをマスター装置111に出力する。
【0018】
スレーブ装置161,162,163は、制御信号線51から制御信号を入力し、操作情報チャネル53から操作情報を入力する。スレーブ装置161,162,163は、制御信号と操作情報とに基づいて操作を実行し、実行した結果を表す応答情報(各スレーブ装置から制御信号線52に出力される制御信号、応答情報信号線54に出力される送信データ)を、実行した操作の要求を行ったマスター装置に対応したスレーブ選択回路151,152,153に出力する。
【0019】
スレーブ選択回路151,152,153は、スレーブ装置161,162,163,164のそれぞれから出力される応答情報を入力する。スレーブ選択回路151,152,153は、各スレーブ装置から入力した応答情報のうち、1つのスレーブ装置から入力した応答情報を選択し、選択した応答情報を自信が対応したマスター装置に出力する。
【0020】
図2は、バススイッチ101、マスター装置111から113、スレーブ装置161から164の各装置のハードウェア資源の一例を示す図である。
図2において、マスター装置111から113、スレーブ装置161から164の各装置は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0021】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0022】
上記プログラム群923には、マスター装置111から113、スレーブ装置161から164の各装置において動作する「〜部」として説明する動作を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜追跡結果」、「〜特定結果」、「〜指示」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・入力・出力・印刷・表示・判定などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・入力・印刷・表示・抽出・判定のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。チャネル選択回路131から133、スレーブ選択回路151から153がソフトウェアにより構成された場合、チャネル選択回路131から133、スレーブ選択回路151から153が備えるメモリは、CPU911により直接アクセスできる上記した記録媒体や磁気ディスク装置920や上記した記憶装置に備えられる。チャネル選択回路131から133、スレーブ選択回路151から153がロジック回路(ハードウェア)により構成された場合、チャネル選択回路131から133、スレーブ選択回路151から153が備えるメモリは、上記した記録媒体や磁気ディスク装置920や上記した記憶装置以外のメモリであって、CPU911により直接アクセスできないハードウェアロジックのメモリに備えられる。
【0023】
また、以下に述べる実施の形態の説明において「〜部」」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0024】
次に、各マスター装置から操作情報チャネル53に出力され、操作情報チャネル53からバススイッチ101により入力される操作情報の一例を説明する。
図3は、この実施の形態の操作情報の一例を示す図である。
操作情報は、データイネーブル信号が出力されている間、マスター装置から操作情報チャネル53に出力される。操作情報チャネル53は、アドレス上信号線と、アドレス下信号線との2種類のアドレス信号線と、送信データ上信号線と、送信データ下信号線との2種類の送信データ信号線とを有する。アドレス上信号線と、アドレス下信号線には、スレーブ装置に操作を行わせる際にスレーブ装置に使用させるアドレスを出力する。アドレス上信号線と、アドレス下信号線にはそれぞれ、異なるスレーブ装置に使用させるアドレスを出力する。送信データ上信号線と、送信データ下信号線には、スレーブ装置に操作を行わせる際にスレーブ装置に使用させるデータを出力する。送信データ上信号線と、送信データ下信号線にはそれぞれ、異なるスレーブ装置に使用させるデータを出力する。図3に示すように、各マスター装置はそれぞれ、2つのアドレス、及び、2つの送信データを、データイネーブル信号の立ち上がりで操作情報チャネル53に出力する。つまり、アドレス上とアドレス下と送信データ上と送信データ下とは、同じタイミングでマスター装置から操作情報チャネル53に出力される。
【0025】
次に、制御信号について説明する。
図4は、この実施の形態の制御信号の一例を説明する図である。図4(A)は、制御信号線51に出力される制御信号の一例を示し、(B)制御信号線52に出力される制御信号の一例を示す。
図4(A)において、各マスター装置により生成され、制御信号線51に出力される制御信号は、リクエスト上信号、リクエスト下信号、データイネーブル信号、スレーブ番号上信号、スレーブ番号下信号、操作コマンド、バースト長、要求識別情報(要求ID)、ウェイト信号を有する。図4(B)において、各スレーブ装置により制御信号線52に出力される制御信号は、応答スタート上、応答スタート下、データイネーブル信号、応答要求IDを有する。
【0026】
制御信号線51に出力される制御信号について説明する。
リクエスト上は、マスター装置から、操作情報チャネルのうち操作情報上チャネルに、操作情報が出力されたことを表す。リクエスト下は、マスター装置から、操作情報チャネルのうち操作情報上チャネルに、操作情報が出力されたことを表す。
リクエスト上、リクエスト下は、マスター装置が操作を要求するスレーブ装置を判定する場合に使用されるスレーブ識別情報の一例である。
【0027】
データイネーブルは、データが有効であることを表す信号である。図3では、アドレス、送信データは、データイネーブルがハイ(High)で出力される期間にマスター装置からバススイッチ101に出力されている例を示している。
【0028】
スレーブ番号上は、マスター装置が操作を要求するスレーブ装置を表すスレーブ番号であって、スレーブ装置を判定する場合に使用されるスレーブ識別情報の一例である。スレーブ番号上に設定されたスレーブ番号が表すスレーブ装置に、アドレス上、送信データ上を使用させる。スレーブ番号下は、マスター装置が操作を要求するスレーブ装置を表すスレーブ番号であって、スレーブ装置を判定する場合に使用されるスレーブ識別情報の一例である。スレーブ番号下に設定されたスレーブ番号が表すスレーブ装置に、アドレス下、送信データ下を使用させる。スレーブ番号上、下は、操作情報を入力する操作情報チャネルを判定するためのチャネル識別情報である。例えば、スレーブ番号上にスレーブ装置161を表すスレーブ番号が設定されていた場合、これは、スレーブ装置161が操作する際に使用する操作情報は、マスター装置からアドレス上信号線、送信データ上信号線に出力された操作情報であることを示している。
【0029】
操作コマンドは、マスター装置がスレーブ番号上、スレーブ番号下にそれぞれ設定したスレーブ装置に要求する操作内容を示す。例えば、マスター装置は、各スレーブ装置に、データの読み出し(Read)、データの書き込み(Write)とのいずれかの操作を要求する。マスター装置は、各スレーブ装置に同じ操作を要求する。例えば、マスター装置は、スレーブ装置161,162に、データの読み出し操作を要求する。
【0030】
バースト長は、1以上の整数を有する。スレーブ装置は1度の操作要求でバースト長に設定された整数値分のワード長のデータを操作する。例えば、バースト長が4の場合、1度の操作要求でスレーブ装置は4ワード(1ワードが2バイトとすると、8バイト分のデータ)のデータを操作する。100バイトのデータを操作しようとすると、1ワードが2バイトの場合、100÷8=12.5で、13回の操作を行うことになる。
【0031】
要求IDは、マスター装置がスレーブ装置に対して行う操作要求を識別する要求識別情報の一例である。例えば、要求IDは、操作要求を出力したマスター装置を表すマスター番号と1以上の整数とを有する。1以上の整数は、各マスター装置が出力する操作要求ごとにユニークな番号である。
【0032】
ウェイト信号は、各マスター装置からバススイッチ101に出力される際には、制御信号に含まれないが、スレーブ装置から出力される、あるいは、バススイッチ101が備える各要素から出力され、各マスター装置から出力された制御信号に含まれたり、各スレーブ装置から出力された制御信号に含まれる。ウェイト信号は、マスター装置に操作要求情報の出力を待たせるための信号である。
制御信号線52に出力される制御信号が有するデータイネーブルは、スレーブ装置が出力するデータ(受信データ)が有効であることを表す信号である。
制御信号線52に出力される制御信号が有する応答スタート上、応答スタート下は、スレーブ装置により生成されて出力される信号であって、スレーブ装置が操作要求に対する操作を行ったことを表す信号である。
制御信号線52に出力される制御信号が有する応答IDは、スレーブ装置により出力される信号であり、スレーブ装置が操作要求に対する操作を行った場合、当該操作要求に付けられた要求IDと同じ値が出力される。
【0033】
図5は選択信号生成回路121、122、123の回路ブロック図である。
選択信号生成回路121、122、123はそれぞれ、リクエスト生成回路201、チャネル選択信号生成回路202を備える。選択信号生成回路121、122、123がそれぞれ備えるリクエスト生成回路201、チャネル選択信号生成回路202は、同じ動作を行うため、代表として選択信号生成回路121が備えるリクエスト生成回路201、チャネル選択信号生成回路202について、説明する。
【0034】
リクエスト生成回路201は、マスター装置111から出力される制御信号のうちリクエスト上信号、リクエスト下信号、スレーブ上番号、スレーブ下番号をもとに、チャネル選択回路131に出力するリクエスト信号を生成する。また、リクエスト生成回路201は、スレーブ装置161,162,163,164のうち何れかのスレーブ装置からウェイト信号がアサート(出力)されていた場合、マスター装置111に対し、ウェイト信号をアサート(出力)する。ウェイト信号は、制御信号線51に出力される制御信号に含んで、マスター装置111に出力する。
図5に示すリクエスト生成回路201が出力するリクエスト信号は、リクエストaからdであるが、aからdはそれぞれスレーブaからdに対応する。例えば、リクエストaは、スレーブaに対応し、リクエストbは、スレーブbに対応し、リクエストcは、スレーブcに対応し、リクエストdは、スレーブdに対応する。つまり、リクエストaは、スレーブaに対応したチャネル選択回路に対応する。リクエストbは、スレーブbに対応したチャネル選択回路に対応する。リクエストcは、スレーブcに対応したチャネル選択回路に対応する。リクエストdは、スレーブdに対応したチャネル選択回路に対応する。
【0035】
チャネル選択信号生成回路202は、マスター装置111、112、113から出力される制御信号のうちスレーブ上番号、スレーブ下番号をもとに、チャネル選択回路131、132、133に出力するチャネル選択信号を生成する。
図5に示すチャネル選択信号生成回路202が出力するチャネル選択信号は、チャネル選択信号aからdであるが、aからdはそれぞれスレーブaからdに対応する。例えば、チャネル選択信号aは、スレーブaに対応し、チャネル選択信号bは、スレーブbに対応し、チャネル選択信号cは、スレーブcに対応し、チャネル選択信号dは、スレーブdに対応する。つまり、チャネル選択信号aは、スレーブaに対応したチャネル選択回路に対応する。チャネル選択信号bは、スレーブbに対応したチャネル選択回路に対応する。チャネル選択信号cは、スレーブcに対応したチャネル選択回路に対応する。チャネル選択信号dは、スレーブdに対応したチャネル選択回路に対応する。
チャネル選択信号生成回路202は、マスター装置111、112、113から出力されるスレーブ上番号、スレーブ下番号をもとに、チャネル選択回路131、132、133に出力するチャネル選択信号を生成する。
【0036】
選択信号生成回路121は、制御信号からリクエスト信号、チャネル選択信号を生成するための変換表203を記憶する。図6は、変換表の一例を示す図である。リクエスト生成回路201、チャネル選択信号生成回路202は、変換表203を用いてリクエスト信号、チャネル選択信号を生成する。
例えば図6の変換表203において、スレーブ番号0がスレーブa、1がスレーブb、2がスレーブc、3がスレーブdを指定するものとする。また、スレーブ番号上は上側チャネル(操作情報上チャネル)、スレーブ番号下は下側チャネル(操作情報下チャネル)を指定するものとする。リクエスト信号がアサート(出力)されたサイクルにおいて、制御信号が有するスレーブ番号上に0が設定され、スレーブ番号下に3が設定されていた場合、リクエスト生成回路201は、変換表203をもとに、リクエストaとリクエストdとをアサートする。つまり、変換表203に示すように、リクエストaとリクエストdとに1を設定し、リクエストbとリクエストcとに0を設定する。リクエスト信号は、リクエストaからdを有するので、リクエスト信号は、上記した例では1001となる。リクエスト生成回路201は、リクエスト信号として1001を選択回路部130に出力する。
【0037】
また、チャネル選択信号生成回路202は、変換表203をもとに、チャネル選択信号aに0を設定し、チャネル選択信号dに1を設定する。チャネル選択信号b、cには0が設定されて出力されるが、チャネル選択信号b、cが、チャネル選択回路により使用されないことを説明するために、チャネル選択信号aに設定した0とは異なる0を表す0*と図6では記載した。チャネル選択信号は、チャネル選択信号aからdを有するので、チャネル選択信号は、上記した例では図6の太線で囲んだ部分の00*0*1となる。リクエスト信号のb,cに出力される信号は0*ではなく、実際には0である。しかし、リクエスト信号b,cはアサートされないのでリクエスト信号b,cに設定された0は無視される。
【0038】
図7はこの実施の形態のチャネル選択回路131、132、133の回路ブロック図である。チャネル選択回路131,132,133は、同じ動作を行うため、ここでは、代表としてチャネル選択回路131について説明する。また、チャネル選択回路131に対応した選択信号生成回路121、マスター装置111、スレーブ選択回路151を説明に使用する。
【0039】
図1に示すように、選択回路部130は、4つのチャネル選択回路131を備える。4つのチャネル選択回路131は、同じ動作を行う。選択回路部130は、リクエスト信号をもとに、4つのチャネル選択回路から制御信号、操作情報を入力するチャネル選択回路を選択する。選択回路部130により選択されたチャネル選択回路は、チャネル選択信号を、選択信号生成回路121、または、選択回路部130から入力し、以下に説明する動作を行う。
【0040】
セレクタ301は、選択信号生成回路121から出力されるチャネル選択信号をもとに、マスター装置111からアドレス線上、アドレス線下との2本のアドレス線にそれぞれ出力されるアドレスのうち何れかを選択する。セレクタ302は、選択信号生成回路121から出力されるチャネル選択信号をもとに、マスター装置111から送信データ上、送信データ下との2本の送信データ線にそれぞれ出力される送信データのうち何れかを選択する。メモリ311、312(チャネル用メモリの一例)はアクセスをキューイングする為のメモリである。メモリ311はアドレスと制御信号(Read/Write、バースト長、要求ID(マスター番号とチャネル選択信号を多重))を格納するメモリであり、バススイッチ101にあらかじめ決められたキューイングの段数分のアドレス空間を持つ。メモリ312はデータを格納するメモリであり、上記したキューイングの段数と最大バースト長を乗算した分のアドレス空間を持つ。メモリ311の左右に、制御信号、アドレス、制御信号、アドレスとあるが、右は制御信号の操作コマンドがWriteの場合を示し、左は制御信号の操作コマンドがReadの場合を示す。また、左右それぞれに、制御信号が2つあるが、2つの制御信号のうちの一方はマスター装置111から出力された制御信号であり、残る一方はメモリ制御回路321がメモリ311を制御するための制御信号である。また、左右それぞれに、アドレスが2つあるが、2つのアドレスのうちの一方はマスター装置111から出力された操作情報が有するアドレス上、下とのいずれかであり、残る一方はメモリ制御回路321が制御信号を書き込む際のメモリ311の書き込み位置を指定するアドレスである。
メモリ312の左右に、制御信号、アドレスとあるが、右は制御信号の操作コマンドがWriteの場合を示し、左は制御信号の操作コマンドがReadの場合を示す。制御信号は、セレクタ302が選択した送信データをメモリ312に書き込むことを制御する制御信号であり、メモリ制御回路321から出力される信号である。アドレスは、メモリ制御回路321が送信データを書き込む際のメモリ312の書き込み位置を指定するアドレスである。
【0041】
メモリ制御回路321は、メモリ311とメモリ312の動作を制御する制御信号と、メモリのアドレスを指定するアドレスを生成する。メモリ制御回路321は、選択信号生成回路121からリクエスト信号55がアサートされると、メモリ311に制御信号とアドレスを書き込む。メモリ311の蓄積量と、スレーブ選択回路151から入力する応答キューメモリ蓄積量とメモリ311の蓄積量との和とのいずれかが、キューイングの段数と等しくなった場合は、選択信号生成回路121に対し、ウェイト信号56を出力して、処理待ちのキューイングがあふれることを防止する。また、メモリ制御回路321は、マスター装置111から入力する制御信号が有するRead/Write信号(操作コマンド、制御信号が有する)がWriteの場合、セレクタ302から出力された送信データを、マスター装置111から入力する制御信号が有するデータイネーブル信号に従ってメモリ312に制御信号が有するバースト長分書き込む。メモリ制御回路321は、メモリ311がエンプティでなければ、マスター選択回路141、142、143、144のうち、自チャネル選択回路が対応するスレーブ装置に対応するマスター選択回路に対して、リクエスト信号をアサートし、メモリ311から読み出した制御信号とアドレスとを出力する。メモリ制御回路321は、メモリ311から読み出した制御信号が有する操作コマンドがWriteであって、マスター選択回路141、142、143、144のいずれからもウェイト信号がアサートされていなければ、引き続きバースト長分の送信データをメモリ312から読み出し、データイネーブルをアサートしつつマスター選択回路141、142、143、144のうち、自チャネル選択回路が対応するスレーブ装置に対応するマスター選択回路に対して、読み出した送信データを出力する。
【0042】
図8はこの実施の形態のマスター選択回路141、142、143、144の回路ブロック図である。マスター選択回路141、142、143、144は、対応するスレーブ装置が異なるだけで、動作は同じであるため、代表としてマスター選択回路141の動作を説明する。また、マスター選択回路141,142,143のそれぞれには、マスター装置111,112,113それぞれに対応するチャネル選択回路131,132,133からリクエスト信号、制御信号、操作情報が入力される。チャネル選択回路131,132,133が対応するマスター装置を区別できるように、図8では、制御信号、操作情報(アドレス、送信データ)、リクエスト信号の後にマスター装置を識別するA,B,Cを付与した。なお、チャネル選択回路131,132,133から出力されるリクエスト信号は、チャネル選択回路131,132,133が選択信号生成回路121,122,123から入力するリクエスト信号とは異なる。チャネル選択回路131,132,133から出力されるリクエスト信号は、マスター選択回路141に対してこれからデータを送信することを知らせるための信号である。
【0043】
セレクタ401、402、403は、アービター411から出力されるマスター選択信号64をもとに、チャネル選択回路131と132と133とのいずれかから出力される制御信号A,B,C(データイネーブル、Read/Write、バースト長、アクセスID)とアドレスA,B,Cと送信データA,B,Cとの3組のA,B,Cのうち、1組を選択して、自マスター選択回路141が対応するスレーブ装置161に出力する。アービター411は、チャネル選択回路131,132,133から出力されるリクエスト信号A,B,Cをもとに、マスター選択信号64を生成し、セレクタ401,402,403に出力する。また、アービター411は、スタート信号63を生成し、自マスター選択回路141が対応するスレーブ装置161に出力する。チャネル選択回路131,132,133のうち複数のチャネル選択回路からリクエスト信号が同時にアサートされた場合、アービター411は優先度の高いマスター装置に対応するチャネル選択回路から出力されたリクエスト信号を選択し、選択されなかったものに対しては、ウェイト信号をチャネル選択回路に出力し、ウェイト信号を出力したチャネル選択回路からのアクセスを一時的に停止させる。また、優先度の高いマスター装置のアクセスが終了したら、次に優先度の高いマスター装置に対応するチャネル選択回路に出力したウェイト信号を解除し、アクセスの開始を許可する。優先制御の方法は、絶対優先制御、ラウンドロビン方式等があるが、どれを用いてもよい。スタート信号63は、送信データをスレーブ装置161に送信する度にアサート(出力)する。制御信号が有する操作コマンドがReadの場合は、送信データはないので、セレクタ403は何も選択しない。
【0044】
図9はこの実施の形態のスレーブ選択回路151、152、153の回路ブロック図である。スレーブ選択回路151、152、153は、対応するマスター装置が異なるだけで、動作は同じであるため、代表としてスレーブ選択回路151を説明する。
応答キューメモリ501は、マスター装置111から出力された制御信号を制御信号線51から入力し、制御信号が有する操作コマンドがReadの場合、制御信号が有するリードアクセスの要求IDとバースト長とスレーブ番号上とスレーブ番号下とを格納するメモリである。応答キューメモリ501(スレーブ用メモリの一例)は、バススイッチ101にあらかじめ決められたキューイングの段数分のアドレス空間を持つ。応答IDメモリ511、512、513、514(スレーブ用メモリの一例)はそれぞれ、スレーブ装置161、162、163、164から出力される応答IDを格納するメモリであり、バススイッチ101にあらかじめ決められたキューイングの段数分のアドレス空間を持つ。応答ID62が有する値は、要求IDと同じ値である。応答IDメモリ511はスレーブ装置161と対応し、応答IDメモリ512はスレーブ装置162と対応し、応答IDメモリ513は、スレーブ装置163と対応し、応答IDメモリ514は、スレーブ装置164と対応する。応答IDメモリ511、512、513、514の右側の制御信号は、応答IDをメモリに書き込むことを指示する制御信号であって、制御回路541により生成されて出力される制御信号である。応答IDメモリ511、512、513、514の右側のアドレスは、応答IDをメモリに書き込む際のメモリの書き込み位置を示すアドレスであって、制御回路541により生成されて出力されるアドレスである。応答IDメモリ511、512、513、514の左側の制御信号は、応答IDをメモリから読み込むことを指示する制御信号であって、制御回路541により生成されて出力される制御信号である。応答IDメモリ511、512、513、514の左側のアドレスは、応答IDをメモリから読み込む際のメモリの読み込み位置を示すアドレスであって、制御回路541により生成されて出力されるアドレスである。
【0045】
データメモリ521、522、523、524、はそれぞれスレーブ装置161、162、163、164から出力される受信データを格納するメモリであり、バススイッチ101にあらかじめ決められたキューイングの段数と最大バースト長を乗算した分のアドレス空間を持つ。データメモリ521はスレーブ装置161と対応し、データメモリ522はスレーブ装置162と対応し、データメモリ523は、スレーブ装置163と対応し、データメモリ524は、スレーブ装置164と対応する。データメモリ521、522、523、524に出力される制御回路541からの右側のアドレスは、受信データをメモリに書き込む際のメモリの書き込み位置を示すアドレスであって、制御回路541により生成されて出力されるアドレスである。データメモリ521、522、523、524に出力される制御回路541からの右側の制御信号は、受信データをメモリに書き込むことを指示する制御信号であって、制御回路541により生成されて出力される制御信号である。データメモリ521、522、523、524に出力される制御回路541からの左側の制御信号は、スレーブ装置から出力された受信データをメモリから読み出すことを指示する制御信号であって、制御回路541により生成されて出力される制御信号である。データメモリ521、522、523、524に出力される制御回路541からの左側のアドレスは、受信データをメモリから読み込む際のメモリの読み込み位置を示すアドレスであって、制御回路541により生成されるアドレスである。
【0046】
セレクタ531は、制御回路541から出力されるスレーブ選択信号65をもとに、データメモリ521,522,523,524から出力される受信データのうち、受信データ上チャネル用に1つ、受信データ下チャネル用に1つを選択し、自スレーブ選択回路151が対応するマスター装置111に出力する。
【0047】
制御回路541は、応答キューメモリ501と応答IDメモリ511,512,513,514、データメモリ521,522,523,524の制御、及びセレクタ531へ出力するスレーブ選択信号65の生成を行う。マスター装置111,112,113のいずれかからからリードアクセスが行われた(マスター装置111、112、113から入力する制御信号が有するリクエスト上,下がアサートされ、制御信号が有するRead/Write信号がRead)場合、制御信号が有する要求IDとバースト長とを応答キューメモリ501に書き込む。また、応答キューメモリ501の蓄積量を算出し、算出した蓄積量を応答キューメモリ蓄積量61として、自スレーブ選択回路151が対応するチャネル選択回路131に出力する。
【0048】
次に、制御回路541は、スレーブ装置161、162、163、164のいずれかから応答スタートa,b,c,dがアサートされた場合、それぞれ応答IDメモリ511、512、513、514にスレーブ装置161、162、163、164から入力する応答IDを書き込む。応答IDの後にあるaからd、応答スタートの後ろにあるaからd、データイネーブルの後ろにあるaからdは、スレーブ装置を区別するために付加した。aは、スレーブ装置161、bはスレーブ装置162、cはスレーブ装置163、dはスレーブ装置164を表す。スレーブ装置161、162、163、164からデータイネーブルがアサートされた場合、制御回路541は、データメモリ521、522、523、524に受信データを書き込む。いずれかの応答IDメモリ511、512、513、514がエンプティでなければ、エンプティでない応答IDメモリから応答IDを読み出して、読み出した応答IDを応答キューメモリに記憶された制御信号が有する要求IDと照合する。制御回路541は、照合の結果、応答IDと同じ要求IDを有する制御信号があった場合、当該制御信号を応答キューメモリ501から読み出す。複数の応答IDメモリに応答IDが複数格納されている場合、優先度の高いスレーブ装置に対応する応答IDメモリに記憶された応答IDを読み出す。優先制御の方法は、絶対優先制御、ラウンドロビン方式等があるが、どれを用いてもよい。
読み出した応答IDは、制御回路541が、応答ID62として、自スレーブ選択回路151が対応するマスター装置111に出力する。マスター装置111は、応答ID62を入力して、当該要求IDの操作要求が実行されたことを判断する。
制御回路541は、読み出した制御信号が有するスレーブ番号上あるいはスレーブ番号下を表すスレーブ番号をもとに、セレクタ531に出力するスレーブ選択信号を生成し、同様に当該制御信号が有するバースト長をもとに、優先度の高いスレーブ装置に対応するデータメモリからバースト長分の受信データを読み出す。
【0049】
ここで、制御回路541は、同じ応答IDが2つ揃うのを待って、データメモリ521、522、523、524のうち該当する2つのメモリから同時にデータを読み出してマスター装置111、112、113にデータを出力する事も出来るし、データが揃わなくても個別に応答を返す事も可能である。
【0050】
以下に、バススイッチ101が、マスター装置111から113のうち、マスター装置111から操作要求を受け付けるものとし、マスター装置111と対応する選択信号生成回路121、選択回路部130、スレーブ選択回路151の動作を説明する。
図10は、バススイッチ101が、マスター装置111から操作要求を受け付ける処理を示すフローチャート図である。
(S10,制御信号入力処理)
マスター装置111から制御信号線51に出力された制御信号を、選択信号生成回路121、選択回路部130、スレーブ選択回路151は、制御信号線51から入力する。次に、S20へ進む。
【0051】
(S20,信号生成処理)
選択信号生成回路121は、入力した制御信号に基づいてリクエスト信号、チャネル選択信号を生成する。次に、S30へ進む。
【0052】
(S30,操作情報入力処理)
選択回路部130は、選択信号生成回路121が生成したリクエスト信号を入力し、リクエスト信号に基づいて、4つのチャネル選択回路131から操作情報(アドレス、送信データ)を入力するチャネル選択回路を選択する。選択回路部130は、選択したチャネル選択回路131に、制御信号線51から入力した制御信号を入力する。選択回路部130は、選択信号生成回路121が生成したチャネル選択信号を入力し、選択したチャネル選択回路131にチャネル選択信号を入力する。選択されたチャネル選択回路131は、チャネル選択信号に基づいて、操作情報上チャネルあるいは操作情報下チャネルから操作情報を入力する。
【0053】
(S40,操作情報記憶処理)
選択されたチャネル選択回路131は、メモリ311に記憶するアドレスを指定して制御信号を記憶させる。選択されたチャネル選択回路131は、メモリ312に記憶するアドレスを指定して操作情報を記憶させる。
【0054】
(S50,制御信号記憶処理)
スレーブ選択回路151は、入力した制御信号が有する操作コマンドがReadか判定し、Readであることを判定したら、制御信号を応答キューメモリ501に記憶する。
【0055】
S10からS50は、バススイッチ101がマスター装置111から操作要求を入力して、記憶するまでの処理である。
【0056】
図10のS20の処理を説明する。
図11は、この実施の形態の選択信号生成回路の処理を示すフローチャート図である。
図11のS21において、選択信号生成回路121は、図6の変換表203を用いて、制御信号に基づいてリクエスト信号、チャネル選択信号を生成する。制御信号は、図4に示すデータを有する。選択信号生成回路121は、制御信号が有するスレーブ番号上、スレーブ番号下とに基づいて、変換表203を用いてリクエスト信号、チャネル選択信号を生成する。選択回路部130は、4つのチャネル選択回路を備えるので、リクエスト信号、チャネル選択信号は、4つのチャネル選択回路に対応する信号を有する。上記したように、スレーブ番号上に0(スレーブaに対する操作要求であることを表すとともに、スレーブaに使用させる情報が操作情報上チャネルに出力されることを表す)が設定され、スレーブ番号下に3(スレーブdに対する操作要求であることを表すとともに、スレーブdに使用させる情報が操作情報下チャネルに出力されることを表す)が設定された場合、選択信号生成回路121は、リクエスト信号1001、チャネル選択信号00*0*1を、生成する。ここでは、チャネル選択信号aの0と区別するため、チャネル選択信号b,cを0*として説明した。しかし、実際には0*ではなく、0が生成される。チャネル選択信号b,cはアサートされないため、チャネル選択信号b,cの0は無視される。以下、0*と記載した場合、実際には0が設定されているものとする。
【0057】
図11のS22において、選択信号生成回路121は、生成したリクエスト信号1001、チャネル選択信号00*0*1を、選択回路部130に出力する。
以上が、選択信号生成回路121の処理である。
【0058】
図10のS30,S40の処理を説明する。
図12は、この実施の形態の選択回路部、チャネル選択回路の処理を示すフローチャート図である。
図12のS31において、選択回路部130は、選択信号生成回路121が出力したリクエスト信号、チャネル選択信号を入力する。
図12のS32において、選択回路部130は、リクエスト信号1001に基づいて、操作が要求されているスレーブ装置を判定する。そして、判定したスレーブ装置に対応するチャネル選択回路を4つのチャネル選択回路から選択する。リクエスト信号1001は、スレーブaに対する操作要求であることを表し、スレーブdに対する操作要求であることを表す。チャネル選択信号00*0*1は、スレーブaに使用させる情報が操作情報上チャネルに出力されることを表し、スレーブdに使用させる情報が操作情報下チャネルに出力されることを表す。このため、選択回路部130は、スレーブaに対応したチャネル選択回路と、スレーブdに対応したチャネル選択回路を選択する。
S33において選択回路部130は、選択したチャネル選択信号に制御信号と、チャネル選択信号とを入力する。選択されたスレーブaに対応したチャネル選択回路は、入力したチャネル選択信号に基づいて、操作情報を操作情報上チャネルから入力する。選択されたスレーブdに対応したチャネル選択回路は、入力したチャネル選択信号に基づいて、操作情報を操作情報下チャネルから入力する。
【0059】
図12のS41において、選択された2つのチャネル選択回路はそれぞれ、メモリ制御回路321により、制御信号と操作情報が有するアドレスとをメモリ311に記憶する際のアドレスと、操作情報が有する送信データをメモリ312に記憶する際のアドレスとを求める。以下、操作情報が有する送信データを書き込みデータ(マスター装置からスレーブ装置に伝送されるデータ)と呼ぶ。また、スレーブ装置からマスター装置に伝送されるデータ(受信データ)を読み出しデータと呼ぶ。
図12のS42において、選択された2つのチャネル選択回路のメモリ制御回路321は、自チャネル選択回路が備えるメモリ311に制御信号を求めたアドレスに記憶し、メモリ312に操作情報(アドレス、書き込みデータ)を求めたアドレスに記憶する。なお、メモリ制御回路321は、制御信号が有する操作コマンドがReadであるか否か判定し、Readであることを判定すると、書き込みデータはないと判断し、メモリ312に書き込みデータを記憶させるアドレスを求める処理と書き込みデータを記憶する処理とを行わない。
以上が、選択回路部130、選択されたチャネル選択回路の処理である。
【0060】
次に、チャネル選択回路131が、メモリに記憶した制御信号を読み出して、操作を要求するスレーブ装置に要求された操作を行わせる処理を説明する。
図13は、この実施の形態のチャネル選択回路の処理を示すフローチャート図である。
(S60,制御信号読み出し処理)
S60において、チャネル選択回路131は、メモリ制御回路321により、メモリ311に記憶した制御信号、アドレス、メモリ312に記憶した書き込みデータ(書き込みデータは、制御信号が有する操作コマンドがReadの場合は、ない)を読み出す。チャネル選択回路131は、自チャネル選択回路が対応するスレーブ装置に対応するマスター選択回路に、制御信号等を送ることを知らせるリクエスト信号と、読み出した制御信号、アドレス、書き込みデータ(書き込みデータはない場合もある)とを出力する。メモリ制御回路321は、読み出した制御信号、アドレスをメモリ311から削除する。メモリ制御回路321は、読み出した書き込みデータをメモリ312から削除する。
【0061】
(S70,マスター装置選択処理)
マスター選択回路141,142,143,144のうちマスター選択回路141を代表として、動作を説明する。マスター選択回路141は、チャネル選択回路131から、リクエストA、制御信号、アドレス、書き込みデータ(書き込みデータはない場合もある)を入力する。マスター選択回路141は、複数のチャネル選択回路から制御信号等を入力した場合、優先順位の高いマスター装置に対応するチャネル選択回路を選択し、選択したチャネル選択回路から出力された制御信号等を優先して入力する。マスター選択回路141は、選択しなかったマスター装置に対応するチャネル選択回路に、ウェイト信号を出力する。
【0062】
(S80,操作要求依頼処理)
マスター選択回路141は、入力した制御信号、アドレス、書き込みデータ(書き込みデータは制御信号が有する操作コマンドがReadの場合はない)を、自マスター選択回路141が対応したスレーブ装置161に出力する。
【0063】
(S90,応答処理)
スレーブ装置161は、要求された操作を行ったら、行った操作の結果を応答情報として、操作を要求したマスター装置に対応するスレーブ選択回路に出力する。ここでは、スレーブ選択回路151,152,153のうちスレーブ選択回路151を代表に処理を説明する。スレーブ装置161は、制御信号が有する操作コマンドがReadの場合、スレーブ選択回路151に、応答情報として読み出しデータを出力する。また、制御信号が有する要求IDに対する操作が終了したことを通知するため、要求IDと同じ値を有する応答ID62を制御信号線52からスレーブ選択回路151に出力する。応答ID62は、要求IDと同じ値であるので、スレーブ装置161は制御信号線に含まれた要求IDを、応答ID62の代わりに出力してもよい。
【0064】
(S100,応答受信処理)
スレーブ選択回路151は、スレーブ装置161から、スレーブ装置161が行った操作の結果を表す応答情報として、応答ID62、応答情報信号線54から読み出しデータを入力する。スレーブ装置161に出力された制御信号が有する操作コマンドがWriteの場合は、読み出しデータはスレーブ装置161から出力されない。
スレーブ選択回路151は、入力した応答ID62を、自スレーブ選択回路151が対応するマスター装置111に出力して、マスター装置がスレーブ装置161に要求した操作が終了したことを通知する。
スレーブ選択回路151は、入力した応答IDと同じ値の要求IDを有する制御信号を応答キューメモリ501から読み出す。スレーブ選択回路151は、読み出した制御信号に基づいて送信データ上チャネルと送信データ下チャネルとに出力する読み出しデータを選択するスレーブ選択信号65を生成する。スレーブ選択回路151は、スレーブ選択信号65に従い、出力する読み出しデータを選択して、送信データ上チャネル、あるいは、送信データ下チャネルから読み出しデータを出力する。
【0065】
(S110,読み出しデータ受信処理)
スレーブ選択回路151と対応したマスター装置111は、読み出しデータを送信データ上チャネル、あるいは、送信データ下チャネルから入力する。
【0066】
以下に、図13のS60を説明する。
図14は、この実施の形態のチャネル選択回路の処理を示すフローチャート図である。
図14のS61において、メモリ制御回路321は、メモリ311に制御信号が記憶されているか判定する。記憶されている場合、S62へ進む。記憶されていない場合、処理を終了する。
図14のS62において、メモリ制御回路321は、メモリ311に記憶した制御信号、アドレス、メモリ312に記憶した書き込みデータ(書き込みデータは、制御信号が有する操作コマンドがReadの場合は、ない)を読み出す。チャネル選択回路131は、自チャネル選択回路が対応するスレーブ装置に対応するマスター選択回路に、制御信号等を送ることを知らせるリクエスト信号と、読み出した制御信号、アドレス、書き込みデータ(書き込みデータはない場合もある)とを出力する。メモリ制御回路321は、読み出した制御信号、アドレスをメモリ311から削除する。メモリ制御回路321は、読み出した書き込みデータをメモリ312から削除する。
【0067】
以下に、図13のS70、S80を説明する。
図15は、この実施の形態のマスター選択回路の処理を示すフローチャート図である。
図15のS71において、アービター411は、チャネル選択回路131からリクエスト信号の出力があるか判定する。リクエスト信号の出力があると、S72に進む。リクエスト信号の出力がないと、S71へ戻る。
図15のS72において、アービター411は、チャネル選択回路131から、リクエストAを入力する。複数のチャネル選択回路から制御信号等を入力した場合、アービター411は、優先順位の高いマスター装置に対応するチャネル選択回路を選択し、選択したチャネル選択回路から出力された制御信号等を優先して入力するマスター選択信号64を生成する。
図15のS81において、アービター411は、制御信号が有する操作コマンドがReadか否か判定する。Readであることを判定したら(S81,YES)、S82に進む。S81において、Readでないことを判定したら、S101に進む。
S82において、アービター411は、セレクタ401、セレクタ402にマスター選択信号64を出力する。セレクタ401は、マスター選択信号64に基づいて優先順位の高いマスター装置と対応したチャネル選択回路を選択して、制御信号を入力して、自マスター選択回路が対応したスレーブ装置161に出力する。セレクタ402は、マスター選択信号64に基づいて優先順位の高いマスター装置と対応したチャネル選択回路を選択して、アドレスを入力して、自マスター選択回路が対応したスレーブ装置161に出力する。S82の後、処理を終了する。
S101,S102において、アービター411は、セレクタ401、セレクタ402、セレクタ403にマスター選択信号64を出力する。セレクタ401は、マスター選択信号64に基づいて優先順位の高いマスター装置と対応したチャネル選択回路を選択して、制御信号を入力して、自マスター選択回路が対応したスレーブ装置161に出力する。セレクタ402は、マスター選択信号64に基づいて優先順位の高いマスター装置と対応したチャネル選択回路を選択して、アドレスを入力して、自マスター選択回路が対応したスレーブ装置161に出力する。セレクタ403は、マスター選択信号64に基づいて優先順位の高いマスター装置と対応したチャネル選択回路を選択して、書き込みデータを入力して、自マスター選択回路が対応したスレーブ装置161に出力する。マスター選択回路141は、選択しなかったチャネル選択回路に、ウェイト信号を出力する。
【0068】
以下に、図13のS90を説明する。
図16は、この実施の形態のスレーブ装置の処理を示すフローチャート図である。
スレーブ装置161は、マスター選択回路141からスタート信号が出力されたか否か判定する。スタート信号が出力されたら、S92へ進む。スタート信号が出力されていないときは、S91へ戻る。
S92において、スレーブ装置161は、応答スタート信号、応答ID62をスレーブ選択回路151,152,153に出力する。応答ID62は、制御信号が有する要求IDと同じ値を有する。
S93において、スレーブ装置161は、マスター選択回路から出力された制御信号が有する操作コマンドがReadか否か判定する。Readを判定したら、S94へ進む。Readでないことを判定したら、S95へ進む。
S94において、スレーブ装置161は、入力したアドレスからバースト長分のデータを読み出し、読み出しデータとしてスレーブ選択回路に出力する。出力先のスレーブ選択回路は、スレーブ選択回路151,152,153でよい。
S95において、スレーブ装置161は、入力した書き込みデータをスレーブ装置の入力したアドレスに書き込む。
スレーブ選択回路151,152,153には、自スレーブ選択回路が対応したマスター装置から出力された制御信号が記憶されている。このため、スレーブ装置161,162,163,164のいずれかのスレーブ装置から応答スタート信号、応答ID62が出力されたら、応答キューメモリ501に応答ID62と同じ値の要求IDを有する制御信号が記憶されているか判定し、記憶されていることが判定出来たら、自スレーブ選択装置に対応したマスター装置が要求した操作に対する応答がスレーブ装置からあったことを、スレーブ選択回路は判定できる。
【0069】
以下に、図13のS100を説明する。
図17は、この実施の形態のスレーブ選択回路の処理を示すフローチャート図である。
図17のS103において、制御回路541は、スレーブ装置161,162,163,164のいずれかから応答スタート信号が出力されたか判定する。いずれかのスレーブ装置から、応答スタート信号の出力があると、S104に進む。出力がないと、S103へ戻る。
図17のS104において、応答ID62を、応答ID62を出力したスレーブ装置に対応した応答IDメモリ511から514のいずれかに記憶する。
図17のS101において、制御回路541は、スレーブ装置161,162,163,164のいずれかから読み出しデータが出力されたか判定する。いずれかのスレーブ装置から、読み出しデータの出力があると、S102に進む。出力がないと、S101へ戻る。
図17のS102において、読み出しデータを、読み出しデータを出力したスレーブ装置に対応したデータメモリ521から524のいずれかに記憶する。 図17のS108において、制御回路541は、応答キューメモリ501から、応答ID62と同じ値の要求IDを有する制御信号を読み出す。制御回路541は、読み出した制御信号が有するスレーブ番号上、スレーブ番号下にそれぞれ設定されたスレーブ番号を取得し、スレーブ番号が表すスレーブ装置を判定する。制御回路541は、デーメモリ521から524のうち、判定したスレーブ装置に対応するデータメモリから読み出しデータを入力するスレーブ選択信号65を生成する。さらに、スレーブ番号下のスレーブ番号から判定されたスレーブ装置からの読み出しデータを、送信データ下チャネルに出力させる信号を、スレーブ選択信号65に含める。また、スレーブ番号上のスレーブ番号から判定されたスレーブ装置からの読み出しデータを、送信データ上チャネルに出力させる信号を、スレーブ選択信号65に含める。
図17のS109において、制御回路541は、スレーブ選択信号65をセレクタ531に出力する。セレクタ531は、スレーブ選択信号65に基づいて、データメモリ521から524のいずれかから読み出しデータを入力し、スレーブ選択信号65に基づいて、読み出しデータを送信データ上チャネルと送信データ下チャネルとのいずれかから出力する。
図17のS110において、制御回路541は、応答キューメモリ501から、読み出した制御信号を削除する。制御回路541は、データメモリ521から524のうち読み出した読み出しデータを記憶したデータメモリから、読み出した読み出しデータを削除する。
【0070】
図18は、従来のバススイッチ1001を示す構成図である。図18に示すバススイッチ1001は、1つのマスター装置1011から、1つの操作要求で、スレーブ装置1041から1044のうち1つのスレーブ装置にだけしか操作の要求ができなかった。このため、例えばスレーブ装置の数が増えた場合、マスター装置からスレーブ装置に対する操作要求の増加に伴い、マスター装置からのトラフィックSが増加し、操作情報を出力するチャネルの不足が発生する。
この実施の形態1で説明したバススイッチシステム100は、バススイッチ101が、マスター装置から複数の操作情報チャネルに同時に出力された操作情報を入力するので、スレーブ装置が増加しても、操作情報を出力するチャネルが不足することを防止できる。
【0071】
上記説明では、操作情報チャネルを2つとしたが、操作情報チャネルは2つ以上でもかまわない。この場合、制御信号が有するスレーブ番号はスレーブ番号上、下では足りず、操作情報チャネルの数に対応した数が必要になる。例えば、操作情報チャネルが4つ場合は、スレーブ番号ア、スレーブ番号イ、スレーブ番号ウ、スレーブ番号エを制御信号に含める。選択信号生成回路121から123は、スレーブ番号ア、スレーブ番号イ、スレーブ番号ウ、スレーブ番号エに対応するリクエスト信号、チャネル選択信号を生成する。
【0072】
実施の形態2.
この実施の形態では、操作情報が有する送信データのうち、一部のデータを、アドレスを送信するアドレス上チャネルとアドレス下チャネルとを組にしたアドレスチャネルを使用して受信するバススイッチの一例を説明する。なお、操作要求がスレーブ装置からデータを読み込む(操作コマンドがRead)場合は、スレーブ装置に出力するデータがないので、データを読み込む操作要求は、実施の形態2には含めない。
図19は、この実施の形態のバススイッチスステムの機能を示すブロック図である。バススイッチシステム100aの構成は実施の形態1とほぼ同じである。選択信号生成回路631から633、選択分離回路641から643が、図1と異なる。また、マスター装置611,612,613がそれぞれ、多重回路621,622,623を備える点が異なる。
マスター装置611、マスター装置612、マスター装置613は、それぞれスレーブ装置671、スレーブ装置672、スレーブ装置673、スレーブ装置674の2つ以上のスレーブ装置に対してアクセスを行う。
選択分離回路641、642、643は、図1のチャネル選択回路131からチャネル選択回路133に相当する。
マスター装置611から613は、送信データの一部をアドレスチャネル(アドレス信号線)(所定のアドレスチャネルと他のアドレスチャネルの一例)に多重する。多重したデータは、多重用データの一例である。送信データのうち、アドレスチャネルに多重した多重用データ以外のデータは、部分データの一例である。
選択信号生成回路631、632、633は、マスター装置611、612、613から出力される制御信号をもとに、リクエスト信号、チャネル選択信号、データ選択信号を生成する。リクエスト信号、チャネル選択信号は、実施の形態1と同様の手順により生成する。選択信号生成回路631から633はそれぞれ、選択分離回路641、642、643に、リクエスト信号、チャネル選択信号、データ選択信号を出力する。また、選択信号生成回路631から633はそれぞれ、実施の形態1と同様にマスター装置611、612、613に対してアクセスウェイトを出力する。
選択回路部640は、実施の形態1の選択回路部130と同様、リクエスト信号に基づいて4つの選択分離回路から、制御信号を入力する選択分離回路を選択する。
選択分離回路641、642、643は、それぞれ選択信号生成回路631、632、633から出力されるチャネル選択信号をもとに、実施の形態1と同様にチャネルを選択する。また、選択信号生成回路631、632、633から出力されるデータ選択信号をもとに、アドレス信号線に多重されたデータをデータ信号線に戻す。選択分離回路641、642、643はそれぞれ、スレーブの個数(この実施の形態では4)分並列に存在し、選択信号生成回路631、632、633と組み合わせる事で、マスター装置611,612,613からスレーブ装置671,672,673,674へのアドレスとデータと制御信号の振り分けを行う。マスター選択回路651,652,653,654は、実施の形態1と同様、マスター装置611,612,613からの操作要求のうち1つを選択し、それぞれスレーブ装置671,672,673,674へ送出する。また、マスター選択回路651,652,653,654は、実施の形態1と同様、選択されなかったマスター装置に対してアクセスウェイトを出力する。スレーブ選択回路661、662、663は、実施の形態1と同様、スレーブ装置671,672,673,674から出力される受信データと制御信号とから1組を選択し、それぞれマスター装置611,612,613に出力する。
【0073】
以下に、実施の形態1との差異を説明する。
図20は、多重回路621、622、623の回路ブロック図である。
この実施の形態では、アドレスのビット幅を10、データのビット幅を16、最大バースト長を4とする。図21は、マスター装置が多重化する前の操作情報と、多重化した後の操作情報とを示す図である。図21の多重化前に示すように、操作情報は、アドレス上チャネルに出力する上側チャネルアドレス(アドレス上)と、アドレス下チャネルに出力する下側チャネルアドレス(アドレス下)と、送信データ上チャネルに出力する上側チャネル送信データ(送信データ上)と、送信データ下チャネルに出力する下側チャネル送信データ(送信データ下)とを有する。
【0074】
セレクタ701は、選択信号生成回路711から出力される選択信号(選択信号A)をもとに、上側チャネルアドレスと上側チャネル送信データ(上位6bit)と下側チャネル送信データ(上位6bit)とから何れか1つを選択して、バススイッチ601に出力する。
セレクタ702は、選択信号生成回路711から出力される選択信号(選択信号A)をもとに、下側チャネルアドレスと上側チャネル送信データ(下位10bit)と下側チャネル送信データ(下位10bit)とから何れか1つを選択して、バススイッチ601に出力する。
セレクタ703は、選択信号生成回路711から出力される選択信号(選択信号D上)をもとに、上側チャネル送信データと、上側チャネル送信データをフリップフロップで1段遅延させたもののどちらかを選択して、バススイッチ601に出力する。
セレクタ704は、選択信号生成回路711から出力される選択信号(選択信号D下)をもとに、下側チャネル送信データと、下側チャネル送信データをフリップフロップで1段遅延したもののどちらかを選択して、バススイッチ601に出力する。
【0075】
図21の多重化前の上側チャネルアドレス(アドレス上)、下側チャネルアドレス(アドレス下)、上側チャネル送信データ(送信データ上)、下側チャネル送信データ(送信データ下)を多重回路621から623にそれぞれ入力すると、図21の多重化後の上側チャネルアドレス(アドレス上)、下側チャネルアドレス(アドレス下)、上側チャネル送信データ(送信データ上)、下側チャネル送信データ(送信データ下)が生成される。多重化されることにより、上下のそれぞれの送信データは4つから3つに短くできた。また、データが有効であることを表す信号であるデータイネーブルの長さは、多重化前は4サイクルであった。多重化後は、3サイクルにサイクル数を短くできた。
【0076】
選択信号生成回路711は、上側チャネルリクエスト(リクエスト上)と下側チャネルリクエスト(リクエスト下)の両方が同時にアサートされ、なおかつ操作要求がRead/WriteのうちWriteの場合、各選択信号(選択信号D上、選択信号D下、選択信号A)を生成する。操作要求がReadの場合は、各選択信号(選択信号D上、選択信号D下、選択信号A)の出力は0固定である。また、送信データをアドレス線に多重する事によって、多重化前と比べてデータイネーブルのサイクルが短くできる。
【0077】
データイネーブルのアサートサイクルが、元のデータイネーブルから比べて短くなるサイクル数をXとすると、Xは以下の式(1)で求まる。
X=(バースト長−1)/((チャネル数−1)/(アドレスの総ビット幅/データのビット幅)+1+1) −> 式(1)
(※”/”は小数点以下切り捨て。アドレスよりデータのビット幅の方が大きいとする。)
例えばバースト長4の場合、この実施の形態ではチャネル数=2、アドレスの総ビット幅=20、データのビット幅=16であるので、
X=(4−1)/((2−1)/(20/16)+1+1)=3/3=1
となる。
つまり、図21にように、多重化後のサイクル(サイクル数3)は、多重化前のサイクル(サイクル数4)と比べて、1サイクル短くなっている。
X=0となる場合、データの多重は行わない。選択信号生成回路711の中で上記計算式を実行する演算回路を実装しても良いし、デーブルにバースト長、チャネル数、アドレスの総ビット幅、データのビット幅との組み合わせを記憶し、記憶した各組み合わせに対してXを設定し、このテーブルからXを取得することで実現しても良い。
【0078】
セレクタ701及び702に出力する選択信号(選択信号A)は、先頭からXサイクル目まではアクセスサイクルが短くなるので出力しない(信号の値は、Don’t Care)。X+1サイクル目はアドレスを選択する必要があるので、0となる。X+2サイクル目以降は、ラウンドロビン式にデータチャネルを選択し、これを繰り返す。例えばバースト長4の場合、多重化後を示す図の左から2つめのサイクルを1サイクルめとすると3サイクル目に上側チャネル送信データを、4サイクル目に下側チャネル送信データを選択する(図21参照)。選択信号生成回路711の中にカウンタを実装して実現しても良いし、図21の多重化後の4サイクルをテーブルで表し、処理中のサイクルの位置をテーブルの添え字をずらすことにより実現しても良い。
【0079】
セレクタ703,704に出力する選択信号(選択信号D上、選択信号D下)は、先頭からXサイクル目まではアクセスサイクルが短くなるので出力しない(上記した例では、X=1なので、先頭の1サイクル)。X+1サイクル目(先頭から2サイクル目)からスタートする(X段分送信遅延させたものを選択する)。次に、3サイクル目において、当該チャネルの送信データがアドレス信号に多重された次のサイクルにデクリメントし(1段遅延サイクルの小さい送信データを選択する)、これを繰り返す。例えばバースト長4の場合、多重化後を示す図の左から2つめのサイクルを1サイクルめとすると、セレクタ703に出力する選択信号(選択信号D上)は、1から始まり3サイクル目にアドレス信号に多重されるので、4サイクル目に0となる。セレクタ704に出力する選択信号(選択信号D下)は、4サイクル目にアドレス信号に多重されるので、4サイクル目まで1を出力し続ける。
図22の(A)から(D)は、異なるバースト長毎のデータイネーブルと選択信号Aと選択信号D上と選択信号D下との一例を示す図である。
これまでに説明した選択信号Aと選択信号D上と選択信号D下は、図22の(C)のようになる。
【0080】
図23は、選択信号生成回路631、632、633の回路ブロック図である。リクエスト生成回路801とチャネル選択回路生成回路802の動作は、それぞれ図5のリクエスト生成回路201とチャネル選択信号生成回路202と同じである。データセレクト信号生成回路803は、多重回路621、622、623でアドレスチャネル(アドレス信号線)に多重されたデータを抜き出して元の送信データチャネル(データ信号線)に戻す為のデータ選択信号を生成し、出力する。データ選択信号の後に付けられたaからdはそれぞれ、スレーブaからdに対応し、データ選択信号がどのスレーブ装置に対応するかを表す。
【0081】
データセレクト信号生成回路803は、まずチャネル毎の選択信号を作成する。上記した例では、バースト長を4としたので、データセレクト信号生成回路803は、図25の(C)に示すデータセレクト信号を生成する。図25の(A)から(C)は、バースト長毎にデータセレクト信号生成回路803が生成するデータ選択信号の一例を示す図である。図25の(C)に示すように、データセレクト信号生成回路803は、式(1)で求めたXに1を加算したX+1サイクルまで(2サイクルまで)は、遅延の無い送信データを選択する0を出力する。X+1サイクルの次のサイクル(3サイクル)では、チャネル毎のラウンドロビン方式でアドレスチャネル(アドレス信号線)を選択するMAX値(実施の形態では2)を出力する。アドレスチャネル(アドレス信号線)が選択されたチャネルの選択信号は、次のサイクル(4サイクル)から値をインクリメントし(アドレスチャネル(アドレス信号線)を出力していた前の値から)、インクリメントした値と同じ段数遅延させた送信データを選択する。例えばバースト長4の場合、図25(C)にように、上側チャネルのデータ選択信号は、2サイクル目まで0を、3サイクル目は アドレスチャネル(アドレス信号線)を選択する2を、4サイクル目は0からインクリメントした1を出力する。また、下側チャネルのデータ選択信号は、3サイクル目まで0を、4サイクル目はアドレス信号線を選択する2を出力する。
【0082】
選択分離回路641から643はそれぞれ、スレーブ装置671から674に対応する4つの選択分離回路を有する。選択分離回路641から643は同じ動作をするため、選択分離回路641を代表に動作を説明する。
データセレクト信号生成回路803は、選択分離回路641が有する4つの選択分離回路のうち、操作が要求されたスレーブ装置に対応した選択分離回路が入力するデータ選択信号が、データ選択信号(上)とデータ選択信号(下)とのどちらであるのかを示すデータ上下選択信号を、変換表804を用いて生成する。図24は、変換表804の一例を示す図である。データセレクト信号生成回路803は、マスター装置611、612、613から出力される制御信号が有するスレーブ番号下、スレーブ番号上をもとに、変換表804を用いてデータ上下選択信号を生成する。データセレクト信号生成回路803は、生成したチャネル毎のデータ選択信号を、生成したデータ上下選択信号に載せて(結合して)出力する。データセレクト信号生成回路803は、アクセス対象外のスレーブ装置のデータ上下選択信号には、0を出力するが、使用されない。
【0083】
図26は、選択分離回路641、642、643の回路ブロック図である。セレクタ941とセレクタ942の動作はそれぞれ、図7のセレクタ301とセレクタ302と同じである。選択信号生成回路631,632,633のそれぞれと対応した選択回路部640は、対応した選択信号生成回路からデータ選択信号を入力する。選択回路部640は、リクエスト信号をもとに選択されたスレーブ装置と対応する選択分離回路にデータ選択信号を入力する。チャネル選択信号を入力した選択分離回路のセレクタ942は、チャネル選択信号をもとに、送信データ(上)と送信データ(下)とのうちいずれか一方を選択する。
データ選択信号を入力した選択分離回路のセレクタ943は、データ上下選択信号に載せられた(結合された)データ選択信号(上)とデータ選択信号(下)とのうち、いずれか一方を取り出し、取り出したデータ選択信号をもとに、アドレスチャネル(アドレス信号線)と送信データチャネル(送信データ信号線)と送信データチャネル(送信データ信号線)に出力された送信データをフリップフロップで1段遅延させたものとのうち、何れか1つを選択する。メモリ951と、メモリ952の動作は、それぞれ図3のメモリ311とメモリ312と同じである。また、メモリ制御回路931の動作は、図3のメモリ制御回路321と同じである。
【0084】
図19のマスター選択回路651,652,653,654は、図1のマスター選択回路141、142、143、144と全く同じである。また、図19のスレーブ選択回路661,662,663は、図1のスレーブ選択回路151、152、153と全く同じである。このため、マスター選択回路651,652,653,654と、スレーブ選択回路661,662,663との説明は省略する。
【0085】
以上のように、この実施の形態のバススイッチシステム100aは、マスター装置が送信データをアドレスチャネルに多重化しても、バススイッチ601が、多重化された送信データを元の多重化される前の送信データの並びに戻し、並びを戻したあとの送信データをスレーブ装置に使用させる。このため、送信データを出力するサイクルを短くできる。
【符号の説明】
【0086】
51,52 制御信号線、53 操作情報チャネル、54 応答情報信号線、55 リクエスト信号、56 ウェイト信号、61 応答キューメモリ蓄積量、62 応答ID、63 スタート信号、64 マスター選択信号、65 スレーブ選択信号、100,100a バススイッチシステム、101,601 バススイッチ、111,112,113,611,612,613 マスター装置、121,122,123,631,632,633 選択信号生成回路、130,640 選択回路部、131,132,133 チャネル選択回路、141,142,143,144,651,652,653 マスター選択回路、151,152,153,661,662,663 スレーブ選択回路、161,162,163,164,671,672,673,674 スレーブ装置、201 リクエスト生成回路、202,802 チャネル選択信号生成回路、203 変換表、321 メモリ制御回路、301,302 セレクタ、311,312 メモリ、401,402,403 セレクタ、411 アービター、501 応答キューメモリ、511,512,513,514 応答IDメモリ、521,522,523,524 データメモリ、531 セレクタ、541 制御回路、621,622,623 多重回路、641,642,643 選択分離回路、701,702,703,704 セレクタ、711 選択信号生成回路、804 変換表、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 メモリ制御回路、941,942,943 セレクタ、951,952 メモリ、1001 バススイッチ、1011,1012,1013 マスター装置、1021,1022,1023,1024 マスター選択回路、1031,1032,1033 スレーブ選択回路、1041,1042,1043,1044 スレーブ装置。

【特許請求の範囲】
【請求項1】
複数のスレーブ装置のうち2つ以上のスレーブ装置に対して操作を行わせる操作要求を、マスター装置から入力する操作要求チャネルと、
上記2つ以上のスレーブ装置の各スレーブ装置に上記操作を行わせる際に使用させる各操作情報を、上記マスター装置から同時に入力する複数の操作情報チャネルと、
上記操作要求チャネルから操作要求を入力し、入力した操作要求に基づいて、当該操作要求が操作を行わせる2つ以上のスレーブ装置を判定し、判定した2つ以上のスレーブ装置の各スレーブ装置に使用させる操作情報を入力する操作情報チャネルを上記操作要求に基づいて判定し、判定したスレーブ装置を表すリクエスト信号と、判定した操作情報チャネルを表すチャネル選択信号とを生成し、生成したリクエスト信号とチャネル選択信号とを出力する選択信号生成回路部と、
上記複数のスレーブ装置に対応した複数のチャネル選択回路部を有する選択回路部であって、上記選択信号生成回路部が生成したリクエスト信号とチャネル選択信号とを入力し、入力したリクエスト信号が表すスレーブ装置に対応したチャネル選択回路部を上記複数のチャネル選択回路部から選択し、選択したチャネル選択回路部に上記チャネル選択信号を入力する選択回路部と、
上記複数のスレーブ装置に対応した複数のマスター選択回路部であって、対応したスレーブ装置に対して、上記操作情報を使用して上記操作要求による操作を行わせる複数のマスター選択回路部と
を備え、
上記複数のチャネル選択回路部の各チャネル選択回路部は、操作要求と操作情報とを記憶するチャネル用メモリを備え、
上記選択回路部により選択されたチャネル選択回路部は、上記操作要求チャネルから上記操作要求を入力するとともに、上記選択回路部により入力されたチャネル選択信号が表す操作情報チャネルから操作情報を入力し、入力した操作要求と操作情報とを、上記チャネル用メモリに記憶させ、
上記チャネル用メモリに記憶した操作要求と操作情報とを読み出し、読み出した操作要求と操作情報とを、上記チャネル選択回路部に対応するスレーブ装置に対応したマスター選択回路部に出力する
ことを特徴とするバススイッチ装置。
【請求項2】
上記操作要求チャネルは、上記操作要求として、上記2つ以上のスレーブ装置の各スレーブ装置を表すスレーブ識別情報と、上記2つ以上のスレーブ装置の各スレーブ装置に使用させる操作情報を入力する操作情報チャネルを表すチャネル識別情報とを有する操作要求を入力し、
上記選択信号生成回路部は、上記操作要求が有する各スレーブ識別情報に基づいて上記リクエスト信号を生成し、上記操作要求が有する各チャネル識別情報に基づいて上記チャネル選択信号を生成する
ことを特徴とする請求項1記載のバススイッチ装置。
【請求項3】
上記バススイッチ装置は、さらに、
操作要求を記憶するスレーブ用メモリを有するスレーブ選択回路部であって、
上記操作要求チャネルから操作要求を入力し、入力した操作要求を上記スレーブ用メモリに記憶し、上記スレーブ用メモリに記憶した操作要求に対応する応答情報を上記2つ以上のスレーブ装置の各スレーブ装置から入力し、各スレーブ装置から入力した応答情報を送信する各操作情報チャネルを、上記スレーブ用メモリに記憶した操作要求が有するスレーブ識別情報とチャネル識別情報とに基づいて判定し、判定した各操作情報チャネルから当該応答情報を出力するスレーブ選択回路部を備えたことを特徴とする請求項2記載のバススイッチ装置。
【請求項4】
上記複数の操作情報チャネルの各操作情報チャネルは、アドレスを入力するアドレスチャネルと、上記操作情報の一部のデータを入力するデータチャネルとを有し、
上記複数の操作情報チャネルのうち所定の操作情報チャネルが有するデータチャネルは、上記操作情報の一部のデータを部分データとして入力し、
上記複数の操作情報チャネルのうち所定の操作情報チャネルが有するアドレスチャネルと、上記所定の操作情報チャネル以外の他の操作情報チャネルが有するアドレスチャネルとは、上記操作情報のうち上記部分データ以外のデータを多重用データとして入力し、
上記選択信号生成回路部は、上記操作要求として、上記操作情報のバースト長を表すバースト長情報を有する操作要求を入力し、上記操作要求が有する上記バースト長情報と上記スレーブ識別情報とに基づいて、上記部分データと、上記多重用データとから、上記バースト長のデータを復元させるデータ選択信号を生成し、
上記選択されたチャネル選択回路部は、上記選択信号生成回路部が生成したデータ選択信号を入力し、上記チャネル選択信号が表す操作情報チャネルが有するデータチャネルから上記部分データを入力し、上記所定の操作情報チャネルが有するアドレスチャネルと、上記他の操作情報チャネルが有するアドレスチャネルとから上記多重用データを入力し、入力したデータ選択信号に基づいて上記部分データと上記多重用データから上記操作要求が有するバースト長のデータを復元し、復元したバースト長のデータを上記操作情報として上記チャネル用メモリに記憶させる
ことを特徴とする請求項3記載のバススイッチ装置。
【請求項5】
複数のスレーブ装置のうち2つ以上のスレーブ装置に対して操作を行わせる操作要求を出力するマスター装置と、上記マスター装置から出力された操作要求を入力するバススイッチ装置とを備えたバススイッチシステムにおいて、
上記マスター装置は、
上記操作要求を出力するマスター側操作要求チャネルと、
上記2つ以上のスレーブ装置の各スレーブ装置に上記操作を行わせる際に使用させる各操作情報を同時に出力する複数のマスター側操作要求チャネルと
を備え、
上記バススイッチ装置は、
上記マスター側操作要求チャネルから出力された操作要求を入力する操作要求チャネルと、
上記複数のマスター側操作要求チャネルから同時に出力された複数の操作情報を入力する複数の操作情報チャネルと、
上記操作要求チャネルから操作要求を入力し、入力した操作要求に基づいて、当該操作要求が操作を行わせる2つ以上のスレーブ装置を判定し、判定した2つ以上のスレーブ装置の各スレーブ装置に使用させる操作情報を入力する操作情報チャネルを上記操作要求に基づいて判定し、判定したスレーブ装置を表すリクエスト信号と、判定した操作情報チャネルを表すチャネル選択信号とを生成し、生成したリクエスト信号とチャネル選択信号とを出力する選択信号生成回路部と、
上記複数のスレーブ装置に対応した複数のチャネル選択回路部を有する選択回路部であって、上記選択信号生成回路部が生成したリクエスト信号とチャネル選択信号とを入力し、入力したリクエスト信号が表すスレーブ装置に対応したチャネル選択回路部を上記複数のチャネル選択回路部から選択し、選択したチャネル選択回路部に上記チャネル選択信号を入力する選択回路部と、
上記複数のスレーブ装置に対応した複数のマスター選択回路部であって、対応したスレーブ装置に対して、上記操作情報を使用して上記操作要求による操作を行わせる複数のマスター選択回路部と
を備え、
上記複数のチャネル選択回路部の各チャネル選択回路部は、操作要求と操作情報とを記憶するチャネル用メモリを備え、
上記選択回路部により選択されたチャネル選択回路部は、上記操作要求チャネルから上記操作要求を入力するとともに、上記選択回路部により入力されたチャネル選択信号が表す操作情報チャネルから操作情報を入力し、入力した操作要求と操作情報とを、上記チャネル用メモリに記憶させ、
上記チャネル用メモリに記憶した操作要求と操作情報とを読み出し、読み出した操作要求と操作情報とを、上記チャネル選択回路部に対応するスレーブ装置に対応したマスター選択回路部に出力する
ことを特徴とするバススイッチシステム。
【請求項6】
複数のスレーブ装置のうち2つ以上のスレーブ装置に対して操作を行わせる操作要求を、マスター装置から入力する操作要求チャネルと、
上記2つ以上のスレーブ装置の各スレーブ装置に上記操作を行わせる際に使用させる各操作情報を、上記マスター装置から同時に入力する複数の操作情報チャネルと、処理装置とを備えるバススイッチ装置のバススイッチ方法であって、
上記処理装置が、上記操作要求チャネルから操作要求を入力し、入力した操作要求に基づいて、当該操作要求が操作を行わせる2つ以上のスレーブ装置を判定し、判定した2つ以上のスレーブ装置の各スレーブ装置に使用させる操作情報を入力する操作情報チャネルを上記操作要求に基づいて判定し、判定したスレーブ装置を表すリクエスト信号と、判定した操作情報チャネルを表すチャネル選択信号とを生成し、生成したリクエスト信号とチャネル選択信号とを出力する生成工程と、
上記処理装置が、上記生成工程により生成したリクエスト信号とチャネル選択信号とを入力し、入力したリクエスト信号が表すスレーブ装置に対応したチャネル選択回路部を上記バススイッチ装置が備える複数のチャネル選択回路部の中から選択し、選択したチャネル選択回路部に上記チャネル選択信号を入力する選択工程と、
上記処理装置が、上記選択工程により選択されたチャネル選択回路部により、上記操作要求チャネルから上記操作要求を入力するとともに、上記選択工程により入力されたチャネル選択信号が表す操作情報チャネルから操作情報を入力し、入力した操作要求と操作情報とを、上記選択されたチャネル選択回路部が備えるチャネル用メモリに記憶させる記憶工程と、
上記処理装置が、上記チャネル用メモリに記憶した操作要求と操作情報とを読み出し、読み出した操作要求と操作情報とを、上記選択されたチャネル選択回路部に対応するスレーブ装置に対応したマスター選択回路部に出力する出力工程と
を有することを特徴とするバススイッチ方法。
【請求項7】
複数のスレーブ装置のうち2つ以上のスレーブ装置に対して操作を行わせる操作要求を、マスター装置から入力する操作要求チャネルと、
上記2つ以上のスレーブ装置の各スレーブ装置に上記操作を行わせる際に使用させる各操作情報を、上記マスター装置から同時に入力する複数の操作情報チャネルと、処理装置とを備えるコンピュータに実行させるプログラムであって
上記処理装置が、上記操作要求チャネルから操作要求を入力し、入力した操作要求に基づいて、当該操作要求が操作を行わせる2つ以上のスレーブ装置を判定し、判定した2つ以上のスレーブ装置の各スレーブ装置に使用させる操作情報を入力する操作情報チャネルを上記操作要求に基づいて判定し、判定したスレーブ装置を表すリクエスト信号と、判定した操作情報チャネルを表すチャネル選択信号とを生成し、生成したリクエスト信号とチャネル選択信号とを出力する生成処理と、
上記処理装置が、上記生成処理により生成したリクエスト信号とチャネル選択信号とを入力し、入力したリクエスト信号が表すスレーブ装置に対応したチャネル選択回路部を上記コンピュータが備える複数のチャネル選択回路部の中から選択し、選択したチャネル選択回路部に上記チャネル選択信号を入力する選択処理と、
上記処理装置が、上記選択処理により選択されたチャネル選択回路部により、上記操作要求チャネルから上記操作要求を入力するとともに、上記選択処理により入力されたチャネル選択信号が表す操作情報チャネルから操作情報を入力し、入力した操作要求と操作情報とを、上記選択されたチャネル選択回路部が備えるチャネル用メモリに記憶させる記憶処理と、
上記処理装置が、上記チャネル用メモリに記憶した操作要求と操作情報とを読み出し、読み出した操作要求と操作情報とを、上記選択されたチャネル選択回路部に対応するスレーブ装置に対応したマスター選択回路部に出力する出力処理と
をコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate