(57)【特許請求の範囲】
【請求項１】
各所定長のヘッダ、実データ及びフッタから成るパケットを受信する毎に該パケットを一時格納部に供給するシリアルバスデータ転送制御装置において、
インクリメント信号を受ける毎にアドレスを更新して前記一時格納部にアドレスデータを出力すると共に、ディクリメント信号を受ける毎にアドレスを逆方向に更新するアドレス生成部と、
前記パケットを受信すると、該パケットのヘッダが前記一時格納部へ供給される間前記インクリメント信号の出力を停止し、前記実データの前記一時格納部への供給に同期して前記インクリメント信号を前記アドレス生成部に出力するインクリメント信号生成部と、
前記パケットの受信が終了してディクリメント指示を受けると、前記フッタの前記一時格納部に対する格納領域に対応させたディクリメント信号を前記アドレス生成部に出力するディクリメント信号生成部と、
を含むことを特徴とするシリアルバスデータ転送制御装置。
【請求項２】
各所定長のヘッダ、実データ及びフッタから成るパケットを受信する毎に該パケットを一時格納部に供給するシリアルバスデータ転送制御装置において、
前記ヘッダ及びフッタから成る制御データのインクリメント信号を受ける毎にアドレスを更新して前記一時格納部に対し設定した制御データ領域を示すアドレスデータを出力する制御データアドレス生成部と、
実データのインクリメント信号を受ける毎にアドレスを更新して前記一時格納部に対し設定した実データ領域を示すアドレスデータを出力する実データアドレス生成部と、
前記ヘッダの格納領域に対応するカウント値が設定されるヘッダ用カウンタ及び前記実データの格納領域に対応するカウント値が設定されるデータ用カウンタを有し、前記パケットを受信すると、書込みタイミングに同期させて前記ヘッダ用カウンタのカウント値分のインクリメント信号を前記制御データアドレス生成部に出力し、その後前記データ用カウンタのカウント値分のインクリメント信号を前記実データアドレス生成部に出力すると、再度、前記フッタ対応のインクリメント信号を前記制御データアドレス生成部に出力するインクリメント指示部と、
を含むことを特徴とするシリアルバスデータ転送制御装置。
【請求項３】
請求項２に記載のシリアルバスデータ転送制御装置において、
前記一時格納部は、転送すべき複数のノードに対応させて前記制御データ領域が各ノード毎の制御データ領域部分に区分され、かつ前記実データ領域が各ノード毎の実データ領域部分に区分され、
前記制御データアドレス生成部及び実データアドレス生成部は、前記各ノード毎に設けられることを特徴とするシリアルバスデータ転送制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＩＥＥＥ１３９４シリアルバス等に用いて有効なシリアルバスデータ転送制御装置に関する。
【０００２】
【従来の技術】
例えばＩＥＥＥ１３９４シリアルバス（以後１３９４バスと記す）等において１３９４バスからデータを受信する場合は、以下の２通りである。即ち、リードリクエスト送信によるディスティネーションノードからの読み込みと、ライトリクエスト受信によるソースノードからのデータ書き込みとである。何れの場合にも実データの前後に制御情報として、それぞれ数バイトのヘッダとフッタが付加されてパケットが構成される。このパケットがシリアルデータとして順次送られてくる。
ここでＩＥＥＥ１３９４とはコンピュータと周辺機器（ノード）とのデータの送受信に関する米国電気・電子技術者協会の標準規格をいう。
【０００３】
【発明が解決しようとする課題】
ＩＥＥＥ１３９４バス上の１パケットで転送可能なデータバイト数には制限があり、制限バイト数以上の実データブロックを転送する場合には、ブロックを分割して複数パケットに構成する必要がある。この場合に前後にヘッダとフッタが付加されるため実データの連続性を維持できなくなるという解決すべき問題が残されていた。
【０００４】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成１〉
本発明は、各所定長のヘッダ、実データ及びフッタから成るパケットを受信する毎に該パケットを一時格納部に供給するシリアルバスデータ転送制御装置において、インクリメント信号を受ける毎にアドレスを更新して前記一時格納部にアドレスデータを出力すると共に、ディクリメント信号を受ける毎にアドレスを逆方向に更新するアドレス生成部と、前記パケットを受信すると、該パケットのヘッダが前記一時格納部へ供給される間前記インクリメント信号の出力を停止し、前記実データの前記一時格納部への供給に同期して前記インクリメント信号を前記アドレス生成部に出力するインクリメント信号生成部と、前記パケットの受信が終了してディクリメント指示を受けると、前記フッタの前記一時格納部に対する格納領域に対応させたディクリメント信号を前記アドレス生成部に出力するディクリメント信号生成部と、を含むことを特徴とするシリアルバスデータ転送制御装置。
【０００５】
〈構成２〉
他の発明は、各所定長のヘッダ、実データ及びフッタから成るパケットを受信する毎に該パケットを一時格納部に供給するシリアルバスデータ転送制御装置において、前記ヘッダ及びフッタから成る制御データのインクリメント信号を受ける毎にアドレスを更新して前記一時格納部に対し設定した制御データ領域を示すアドレスデータを出力する制御データアドレス生成部と、実データのインクリメント信号を受ける毎にアドレスを更新して前記一時格納部に対し設定した実データ領域を示すアドレスデータを出力する実データアドレス生成部と、前記ヘッダの格納領域に対応するカウント値が設定されるヘッダ用カウンタ及び前記実データの格納領域に対応するカウント値が設定されるデータ用カウンタを有し、前記パケットを受信すると、書込みタイミングに同期させて前記ヘッダ用カウンタのカウント値分のインクリメント信号を前記制御データアドレス生成部に出力し、その後前記データ用カウンタのカウント値分のインクリメント信号を前記実データアドレス生成部に出力すると、再度、前記フッタ対応のインクリメント信号を前記制御データアドレス生成部に出力するインクリメント指示部と、を含むことを特徴とするシリアルバスデータ転送制御装置。
【０００６】
〈構成３〉
構成２に記載のシリアルバスデータ転送制御装置において、前記一時格納部は、転送すべき複数のノードに対応させて前記制御データ領域が各ノード毎の制御データ領域部分に区分され、かつ前記実データ領域が各ノード毎の実データ領域部分に区分され、前記制御データアドレス生成部及び実データアドレス生成部は、前記各ノード毎に設けられることを特徴とするシリアルバスデータ転送制御装置。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例１の構成〉
図１は、具体例１の構成のブロック図である。
図１を用いて具体例１の構成について説明する前に、本発明によるシリアルバスデータ転送制御装置の全体構成について説明する。
【００１０】
図２は、シリアルバスデータ転送制御装置のブロック図である。
（ａ）は構成のブロック図であり、（ｂ）はデータ一時格納部１３に格納されているデータの状態を表している図である。
図２より本発明によるシリアルバスデータ転送制御装置１０は、コンピュータと周辺機器（ノード）間に配置されデータの転送を制御する装置であって、物理層コントロール部１１と、リンク層コントロール部１２と、データ一時格納部（バッファ）１３とを備える。
【００１１】
物理層コントロール部１１は、シリアルデータを隣接する周辺機器（ノード）との間で忠実に伝送するため、信号電圧やモデム、ネットワークインタフェースカード等の電気的特性、及びコネクタ形式やピン数等の物理的特性を規定する部分である。
リンク層コントロール部１２は、周辺装置（ノード）との間のデータ伝送の制御手順を規定する部分である。即ち、例えば１３９４バスから連続して送られてくる所定長の実データに所定長のヘッダと所定長のフッタを付加したパケットを受け入れて、このパケットのヘッダから順番にフッタまで所定単位長のデータに分解して、順番に従ってアドレス指定を行うリンク層コントロール部分である。本発明は、このアドレス指定に関する。
【００１２】
データ一時格納部（バッファ）１３は、アドレス指定された上記所定単位長のデータを受け入れて一時保持し、ローカルバスへパラレルデータとして送出する部分である。データが一時保持されている状態について説明する。
図２の（ｂ）に示す通り、図の上から順番にヘッダ、実データ、フッタのデータが格納されている。ここでは一例としてヘッダの所定長を２０バイト、実データの所定長を１０００バイト、フッタの所定長を４バイトと定める。更に、一つの番地に格納されるデータの所定単位長を一例として１バイトと定める。
【００１３】
図に示すように実データの前後にヘッダ２０バイトとフッタ４バイトが格納されている。即ち、前後にヘッダとフッタが付加されているため実データの連続性が維持されていない。
本発明の目的は、実データの連続性を維持することにある。
この目的を達成するために本発明によるシリアルバスデータ転送制御装置は、リンク層コントロール部１２（図２）に以下に説明するバッファアドレスコントロール手段を備える。
【００１４】
再度図１に戻って、本発明によるシリアルバスデータ転送制御装置が備える具体例１のバッファアドレスコントロール手段について説明する。
図１より、具体例１のバッファアドレスコントロール手段１は、インクリメント信号生成部２と、ディクリメント信号生成部３と、アドレス生成部４と、イネーブルレジスタ５とを備える。
【００１５】
インクリメント信号生成部２は、上記所定単位長（一例として１バイト）のデータが前記ヘッダ部分であるときはインクリメント信号の生成を停止し、上記所定単位長のデータが上記ヘッダ部分を終了後から、上記フッタ部分終了までの間インクリメント信号を生成する部分である。ヘッダ用繰返しカウンタ６と、アンドゲート７とによって構成される。
【００１６】
ディクリメント信号生成部３は、上記インクリメント信号生成部２がフッタ部分終了までインクリメント信号の生成をした後に前記フッタ部分に相当する前記所定単位長の個数分ディクリメント信号を生成する部分である。インバータ８とフッタ用繰返しパルスジェネレータ９とによって構成される。
【００１７】
アドレス生成部４は、上記インクリメント信号と上記ディクリメント信号とに基づいて上記データ一時格納部１３（図２）内に所定単位長（１バイト）のデータが一時格納されるアドレスを指定する部分である。
イネーブルレジスタ５は、上記ディクリメント信号生成部３を制御してディクリメント信号を生成する部分である。
【００１８】
〈具体例１の動作〉
動作説明の前提条件を以下のように定める。
前提条件１
上記実データ長を１０００バイトと定めその前後に制御データとして、ヘッダ２０バイト、フッタ４バイトが付加されているものとする（図２の（ｂ）に相当する）。
前提条件２
データ一時格納部１３（図２）内に一時格納されるデータの所定単位長を１バイトと定める。
【００１９】
図１を参照しながら具体例１によるバッファアドレスコントロール手段１の動作について説明する。
ステップＳ１
リンク層コントロール部１２（図２）が、物理層コントロール部１１（図２）からパケットの受け入れを開始したとき、ヘッダ用繰返しカウンタ６にヘッダ２０バイトを所定単位長１バイトで除した値２０がセットされる。以後ヘッダ用繰返しカウンタ６はライト信号を受け入れる毎にカウントダウンされる。
【００２０】
ステップＳ２
ヘッダ用繰返しカウンタ６は、ライト信号を上記２０個受け入れるまではインクリメント指示信号（＋）を出力しないのでアドレス生成部４は動作を停止している。従って、（ｂ）図の領域（１）にヘッダ部分２０バイトが上書きされる。
【００２１】
ステップＳ３
２１個目のライト信号によって、（ｂ）図の領域（１）に実データの最初の１バイトが上書き保存されると同時に、ヘッダ用繰返しカウンタ６はインクリメント指示信号（＋）をアンドゲート７へ出力する。従ってインクリメント信号がインクリメント信号生成部２からアドレス生成部４へ出力される。以後、アドレス生成部４は、ライト信号に同期して領域（２）の先頭から順にアドレスを指定する。
【００２２】
ステップＳ４
２２個目のライト信号から１０２１個目のライト信号によって実データからフッタ部分まで１パケット分の全データが領域（２）、領域（３）、領域（４）の一部まで順番に格納される。
【００２３】
ステップＳ５
リンク層コントロール部１２（図２）が１パケット分の全データを受け入れたとき、イネーブルレジスタ５はディクリメント指示信号をディクリメント信号生成部３へ送る。フッタ用繰返しパルスジェネレータ９はインバータ８を介してディクリメント指示信号を受け入れたとき予め定められている個数ディクリメント信号を出力する。即ち、フッタ部分のバイト長分出力する（ここでは前提条件１より４個）。
【００２４】
ステップＳ６
アドレス生成部４は、ディクリメント信号４個を受け入れたときアドレス指定を４減ずる。従って、後に続くパケットの格納は、今回のパケットのフック部分の最初のバイトが格納された領域（４）を上書きして、再度領域（４）から格納開始される。
以後、後に続くパケットの格納は上記ステップＳ１〜ステップＳ６の繰り返しによって行われる。
以上の結果、（ｂ）に示すようにヘッダ２０バイトとフッタ４バイトでは、実データが上書き保存され実質的に実データの連続性が維持される。
【００２５】
〈具体例１の効果〉
以上説明したように、具体例１によるシリアルバスデータ転送制御装置によれば、実質的にヘッダとフッタとを取り除いた実データのみが格納されることになるため実データの連続性が維持されるという効果を得る。
【００２６】
〈具体例２の構成〉
具体例２では、データ一時格納部の領域を２分割し、一方の領域（制御データ領域）に制御データ（ヘッダとフッタ）を一時格納し、他方の領域（実データ領域）に実データを一時格納し、実質的に実データ領域の連続性を維持する。
【００２７】
本発明によるシリアルバスデータ転送制御装置が備える具体例２のバッファアドレスコントロール手段について説明する。
図３は、具体例２の構成のブロック図である。
（ａ）は、構成のブロック図であり、（ｂ）はデータ一時格納部１３（図２）に格納されているデータの状態を表している図である。
図３（ａ）より、具体例２のバッファアドレスコントロール手段２１は、イネーブルレジスタ５と、インクリメント指示部２２と、制御データアドレス生成部２３と、実データアドレス生成部２４と、領域切替部２５とを備える。
（ｂ）より、データ一時格納部１３（図２）は、制御データ領域（ｃ）と実データ領域（ｄ）とに分割されている。
【００２８】
イネーブルレジスタ５は、リンク層コントロール部１２（図２）の指示に基づいてカウンタセット信号を出力する部分である。
インクリメント指示部２２は、上記ヘッダ部分開始からヘッダ部分終了まで制御データインクリメント指示信号を出力し、上記実データ部分開始から実データ部分終了まで実データインクリメント指示信号を出力し、上記フッタ部分開始からフッタ部分終了まで制御データインクリメント指示信号を出力する部分である。データ用カウンタ２６と、ヘッダ用カウンタ２７と、オアゲート２８とインバータ２９と、アンドゲート３０とによって構成される。
【００２９】
制御データアドレス生成部２３は、上記インクリメント指示部２２から制御データインクリメント指示信号を受け入れている間は、上記制御データ領域のアドレスをインクリメントするアドレスカウンタである。
実データアドレス生成部２４は、上記インクリメント指示部２２から実データインクリメント指示信号を受け入れている間は、前記実データ領域のアドレスをインクリメントするアドレスカウンタである。
【００３０】
領域切替部２５は、上記インクリメント指示部２２から上記制御データインクリメント指示信号を受け入れている間は、上記制御データアドレス生成部２３と上記制御データ領域とを接続し、上記インクリメント指示部２２から上記制御データインクリメント指示信号の受け入れを停止している間は、上記実データアドレス生成部２４と上記実データ領域とを接続する部分である。
【００３１】
（ｂ）より、制御データ領域（ｃ）は、上記ヘッダ部分のデータと上記フッタ部分のデータとを一時格納する部分である。
実データ領域（ｄ）は、上記実データを一時格納する部分である。
【００３２】
〈具体例２の動作〉
動作説明の前提条件を以下のように定める。
前提条件１
上記実データ長を１０００バイトと定め、その前後に制御データとして、ヘッダ２０バイト、フッタ４バイトが付加されているものとする。
前提条件２
データ一時格納部１３（図２）内に一時格納されるデータの所定単位長を１バイトと定める。
【００３３】
図３を参照しながら、具体例２によるバッファアドレスコントロール手段２１の動作について説明する。
ステップＳ１
リンク層コントロール部１２（図２）が、物理層コントロール部１１（図２）からパケットの受け入れを開始したとき、イネーブルレジスタ５からカウンタセット信号が出力され、ヘッダ用カウンタ２７にヘッダ２０バイトを所定単位長１バイトで除した値２０がセットされる。以後ヘッダ用カウンタ２７はライト信号を受け入れる毎にカウントダウンされる。
更に、データ用カウンタにヘッダ２０バイトと実データ１０００バイトを加算した１０２０バイトを所定単位長１バイトで除した値１０２０がセットされる。以後データ用カウンタ２６はライト信号を受け入れる毎にカウントダウンされる。
【００３４】
ステップＳ２
ヘッダ用カウンタ２７は、ライト信号を上記２０個受け入れるまでは（＋）信号を出力し続ける。この間データ用カウンタ２６は（−）信号をオアゲート２８に、（＋）信号をアンドゲート３０に出力し続ける。ヘッダ用カウンタ２７の（＋）信号は、オアゲート２８を通ってインクリメント指示信号となって制御データアドレス生成部２３と領域切替部２５へ送られる。制御データアドレス生成部２３は、このインクリメント指示信号に従ってライト信号を受け入れる毎にインクリメントした制御データインクリメント信号を出力する。同時に制御データインクリメント信号を受け入れた領域切替部２５は、上記制御データ領域と制御データアドレス生成部２３とを接続する。その結果ヘッダ部分の２０バイトは（ｂ）の領域（１）に格納される。
【００３５】
ステップＳ３
２１個目のライト信号によってヘッダ用カウンタ２７の出力は、（−）信号に変わる。このときデータ用カウンタ２６の出力はまだ変化しないので、制御データインクリメント信号は停止し、実データインクリメント信号が実データアドレス生成部２４へ送られる。同時に領域切替部２５は、制御データインクリメント指示信号が停止したとき実データアドレス生成部と上記（ｂ）実データ領域（ｄ）とを接続して上記制御データ領域と制御データアドレス生成部２３との接続を解く。その結果実データ部分の１０００バイトは（ｂ）の領域（７）に一時格納される。
【００３６】
ステップＳ４
データ用カウンタ２６は、１０２１個目のライト信号を受け入れたときオアゲート２８へ（＋）信号を、アンドゲート３０へ（−）信号を出力する。
従って、制御データインクリメント指示信号が制御データアドレス生成部２３と領域切替部２５へ送られる。この状態は１０２１個目からパケットの伝送終了まで継続される。その結果、フッタ部分は（ｂ）の領域（２）に一時格納される。
【００３７】
ステップＳ５
パケットの伝送を終了し、リンク層コントロール部１２（図２）が、物理層コントロール部１１（図２）から後に続くパケットの受け入れを開始したとき、ヘッダ用カウンタ２７にヘッダ２０バイトを所定単位長１バイトで除した値２０がセットされる。以後ヘッダ用カウンタ２７はライト信号を受け入れる毎にカウントダウンされる。
同様に、データ用カウンタ２６にヘッダ２０バイトと実データ１０００バイトを加算した１０２０バイトを所定単位長１バイトで除した値１０２０がセットされる。以後データ用カウンタ２６はライト信号を受け入れる毎にカウントダウンされる。
以下同様の動作が繰り返される。その結果、（ｂ）に示すように制御データ領域（ｃ）にヘッダ部分とフッタ部分の制御データが、実データ領域（ｄ）に実データ部分が分割されて格納され、実質的に実データの連続性が維持される。
【００３８】
〈具体例２の効果〉
以上説明したように、具体例２によるシリアルバスデータ転送制御装置によれば制御データと実データが別々に格納されることになるため実データの連続性が維持されるという効果を得る。
更に、制御データも、消失されることなく制御データ領域に格納されているため、伝送トラブル発生時の解決に役立つという効果を得る。
【００３９】
〈具体例３の構成〉
具体例３では、上記制御データ領域（ｃ）（図３）は、第一の制御データ領域から第Ｎの制御データ領域まで複数個（Ｎ個）に分割され、同様に、上記実データ領域（ｄ）は、第一の実データ領域から第Ｎの実データ領域まで複数個（Ｎ個）に分割される。更に第一のノードから第Ｎのノードまで複数のノードがシリアルバスデータ転送制御装置に接続されている。この場合に、第一のノードから第Ｎのノードまで複数のノードからパケットを受け入れたときに、第一のノードから受け入れたパケットのヘッダとフッタとを上記第一の制御データ領域に一時保持させ、上記実データを上記第一の実データ領域に一時保持させる。同様に、第Ｎのノードから受け入れたパケットまで、それぞれ対応する制御データ領域又は実データ領域に一時保持させる。かかる制御によって特定のノードから一群の実データが複数個のパケットに分割して送られてきても所定の実データ領域の中で実データの連続性を維持することが可能になる。この目的を達成するために以下のように構成される。
【００４０】
本発明によるシリアルバスデータ転送制御装置が備える具体例３のバッファアドレスコントロール手段について説明する。
図４は、具体例３の構成のブロック図である。
（ａ）は、構成のブロック図であり、（ｂ）はデータ一時格納部１３（図２）に格納されているデータの状態を表している図である。
【００４１】
図４（ａ）より、具体例３では、第一から第ＮまでＮ個のバッファアドレスコントロール手段（３１−１〜３１−Ｎ）とノードデータ切替部３２とが配置される。
（ｂ）より、データ一時格納部１３（図２）は、制御データ領域（ｃ）と実データ領域（ｄ）とに分割され、更に制御データ領域（ｃ）はＩＤ＃１ヘッダ／フッタ格納エリアからＩＤ＃Ｎヘッダ／フッタ格納エリアまでＮ個のエリアに、実データ領域（ｄ）はＩＤ＃１実データ格納エリアからＩＤ＃Ｎ実データ格納エリアまでＮ個のエリアに分割されている。
【００４２】
第一から第ＮまでＮ個のバッファアドレスコントロール手段（３１−１〜３１−Ｎ）は、それぞれが上記具体例２のバッファアドレスコントロール手段２１（図３）と全く同様の部分であり、図示してない１〜ＮまでＮ個のノードに対応して配置される。その動作も具体例２と全く同様である。
【００４３】
ノードデータ切替部３２は、上記第一のバッファアドレスコントロール手段（３１−１）から第Ｎのバッファアドレスコントロール手段（３１−Ｎ）までと、それぞれに対応する上記第一の制御データ領域から第Ｎの制御データ領域又は第一の実データ領域から上記第Ｎの実データ領域までとを接続する部分である。
【００４４】
〈具体例３の動作〉
ステップＳ１
リンク層コントロール部１２（図２）は、発信元が第一のノード（図示していない）であるパケットを受け入れたとき、第一のイネーブルレジスタ５−１を指示してカウンタセット信号を出力する。同時にノードデータ切替部３２を指示して第一のバッファアドレスコントロール手段３３−１と上記第一の制御データ領域または上記第Ｎの実データ領域とを接続する。
【００４５】
ステップＳ２
以下上記具体例２と同様にして、第一のノードから受け入れられたパケットのヘッダ部分とフッタ部分が制御データ領域（ｃ）のＩＤ＃１制御データ格納エリアに一時保持され、第一のノードから受け入れたパケットの実データ部分が実データ領域（ｄ）のＩＤ＃１制御データ格納エリアＩＤ＃１領域に一時保持される。
【００４６】
ステップＳ３
以下同様にして、第Ｎのノードから受け入れられたパケットのヘッダ部分とフッタ部分が制御データ領域（ｃ）のＩＤ＃Ｎ制御データ格納エリアに一時保持され、第Ｎのノードから受け入れられたパケットの実データ部分が実データ領域（ｄ）のＩＤ＃Ｎ制御データ格納エリアＩＤ＃１領域に一時保持される。
その結果、複数のノードから受け入れられたパケットの制御データと実データとが、それぞれ分離されて所定の格納エリアに一時格納される。
【００４７】
〈具体例３の効果〉
以上説明したように、具体例３によるシリアルバスデータ転送制御装置によれば、複数のノードからパケットを受け入れても制御データと実データに、それぞれ分離して所定の格納エリアに一時格納することができる。
従って、特定のノードから実データが複数に分割して送られてきても所定の格納エリアの中で実データの連続性が維持されるという効果を得る。
更に、具体例２と同様に、制御データも、消失されることなく制御データ領域に格納されているため、伝送トラブル発生時の解決に役立つという効果を得る。
【００４８】
〈具体例４〉
具体例４は、上記具体例３の拡張例である。
具体例３では上記のように制御データ領域（ｃ）（図３）は、予め第一の制御データ領域から第Ｎの制御データ領域まで複数個（Ｎ個）に等分に分割され、同様に、上記実データ領域（ｄ）も、予め第一の実データ領域から第Ｎの実データ領域まで複数個（Ｎ個）に等分に分割されていた。従って、時には送られてくるデータ長と予め定められている領域の容量が一致せず、メモリを無駄に消費する場合も発生した。
具体例４では、この問題を解決するため、その時々のデータ長によって領域を任意に設定できるよう、以下のように構成される。
【００４９】
図５は、具体例４の構成のブロック図である。
具体例３との差異のみについて説明する。
図５より、第一から第ＮまでＮ個のバッファアドレスコントロール手段（４１−１〜４１−Ｎ）は、それぞれ１〜Ｎに対応して第一から第Ｎまでの制御データアドレス生成部（４２−１〜４２−Ｎ）と、第一から第Ｎまでの実データアドレス生成部（４３−１〜４３−Ｎ）とを備える。
更に、第一から第Ｎまでの制御データアドレス生成部（４２−１〜４２−Ｎ）のそれぞれには、制御データ開始終了アドレスレジスタ４４が、配置されている。
同様に、第一から第Ｎまでの実データアドレス生成部（４３−１〜４３−Ｎ）のそれぞれには、実データ開始終了アドレスレジスタ４５が、配置されている。
【００５０】
制御データ開始終了アドレスレジスタ４４は、自己に対応する制御データ格納エリアの開始アドレスと終了アドレスとを指定する部分である。
第一の制御データアドレス生成部４２−１に配置されている開始終了アドレスレジスタ４４は、第一のノード（図示していない）から送られてくるパケットのヘッダ部分とフッタ部分を格納するための制御データ領域（図４のＩＤ＃１ヘッダ／フッタ格納エリアに相当する）を設定するアドレスレジスタである。ここで、第一のノードの制御データのアドレス開始位置がＰ１でアドレス終了位置がＰ２である。この設定は動作開始時にファームウェアによって設定される。
【００５１】
以下同様に、第Ｎの制御データアドレス生成部４２−Ｎに配置されている開始終了アドレスレジスタ４４まで、それぞれに対応するノード（図示していない）から送られてくるパケットのヘッダ部分とフッタ部分を格納するための制御データ領域（図４のＩＤ＃Ｎヘッダ／フッタ格納エリアまでに相当する）を設定するアドレスレジスタである。
【００５２】
実データ開始終了アドレスレジスタ４５は、自己に対応する実データ格納エリアの開始アドレスと終了アドレスとを指定する部分である。
第一の実データアドレス生成部４３−１に配置されている開始終了アドレスレジスタ４５は、第一のノード（図示していない）から送られてくるパケットの実データ部分を格納するための実データ領域（図４のＩＤ＃１データ格納エリアに相当する）を設定するアドレスレジスタである。ここで、第一のノードの実データのアドレス開始位置がＱ１でアドレス終了位置がＱ２である。この設定は動作開始時にファームウェアによって設定される。
【００５３】
以下同様に、第Ｎの実データアドレス生成部４３−１に配置されている開始終了アドレスレジスタ４４まで、それぞれに対応するノード（図示していない）から送られてくるパケットの実データ部分を格納するための実データ領域（図４のＩＤ＃Ｎデータ格納エリアまでに相当する）を設定するアドレスレジスタである。
【００５４】
上記リンク層コントロール部１２（図２）は、動作開始時に上記制御データ開始終了アドレスレジスタ４４と上記実データ開始終了アドレスレジスタ４５を制御して上記第一の制御データ格納エリア（ＩＤ＃１ヘッダ／フッタ格納エリアに相当する）から第Ｎの制御データ格納エリア（ＩＤ＃Ｎヘッダ／フッタ格納エリアに相当する）までと上記第一の実データ格納エリア（ＩＤ＃１データ格納エリアに相当する）から第Ｎの実データ格納エリア（ＩＤ＃Ｎデータ格納エリアに相当する）までとを設定する。
【００５５】
以下上記具体例３と同様の動作によって、第一のノードから第Ｎのノードまで複数のノードからパケットを受け入れたときに、第一のノードから受け入れたパケットのヘッダ部分とフッタ部分とを上記第一の制御データ格納エリア（ＩＤ＃１ヘッダ／フッタ格納エリアに相当する）一時保持させ、上記実データ部分を上記第一の実データ格納エリア（ＩＤ＃１データ格納エリアに相当する）から第Ｎの実データ格納エリア（ＩＤ＃Ｎデータ格納エリアに相当する）まで、それぞれ対応する制御データ格納エリア又は実データ格納エリアに一時保持させる。
【００５６】
〈具体例４の効果〉
制御データ格納エリアの容量と実データ格納エリアの容量とを任意に設定できるため、各ノード毎、更には、制御データ毎、実データ毎に格納エリアの容量を最適に割り当てることが可能になりメモリ容量を有効に活用できるという効果を得る。
【図面の簡単な説明】
【図１】具体例１の構成のブロック図である。
【図２】シリアルバスデータ転送制御装置のブロック図である。
【図３】具体例２の構成のブロック図である。
【図４】具体例３の構成のブロック図である。
【図５】具体例４の構成のブロック図である。
【符号の説明】
１  バッファアドレスコントロール手段
２  インクリメント信号生成部
３  ディクリメント信号生成部
４  アドレス生成部
５  イネーブルレジスタ
６  ヘッダ用繰返しカウンタ
７  アンドゲート
８  インバータ
９  フッタ用繰返しパルスジェネレータ
【図１】
0003721502.tif 000002
【図２】
0003721502.tif 000003
【図３】
0003721502.tif 000004
【図４】
0003721502.tif 000005
【図５】
0003721502.tif 000006