Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3676618B2 - Packet transfer apparatus and data recording medium - Google Patents
[go: Go Back, main page]

JP3676618B2 - Packet transfer apparatus and data recording medium - Google Patents

Packet transfer apparatus and data recording medium Download PDF

Info

Publication number
JP3676618B2
JP3676618B2 JP13913799A JP13913799A JP3676618B2 JP 3676618 B2 JP3676618 B2 JP 3676618B2 JP 13913799 A JP13913799 A JP 13913799A JP 13913799 A JP13913799 A JP 13913799A JP 3676618 B2 JP3676618 B2 JP 3676618B2
Authority
JP
Japan
Prior art keywords
packet
bus
transfer apparatus
packet transfer
isochronous
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 - Fee Related
Application number
JP13913799A
Other languages
Japanese (ja)
Other versions
JP2000332798A (en
Inventor
康男 浜本
英俊 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP13913799A priority Critical patent/JP3676618B2/en
Publication of JP2000332798A publication Critical patent/JP2000332798A/en
Application granted granted Critical
Publication of JP3676618B2 publication Critical patent/JP3676618B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、IEEE1394シリアルバス等に代表される、アイソクロナスパケット伝送機能を有し、バスを複数接続するパケット転送装置に関するものである。
【0002】
【従来の技術】
近年、IEEE1394シリアルバス等のISO/IEC13213準拠シリアルバスを用いて、ディジタルVCR、またはパーソナルコンピュータ等のAVC機器を複数接続してネットワークを形成し、機器間のデータ伝送が行われている。
IEEE1394シリアルバスでは、125μsecをデータ伝送の1サイクルとしている。また、IEEE1394シリアルバスでは、送信要求に応じて直ちにデータ伝送が行われるアイソクロナス通信(同期通信)と、場合によってはデータの送信が送信要求の発生から遅れて行われるアシンクロナス(非同期通信)が定義されている。上記アイソクロナス通信は、AV(Audio Video)データのようなリアルタイム性が要求されるデータの伝送に用いられる通信方法である。このアイソクロナス通信では、データの伝送の開始に先立って、まず、データを伝送するのに必要な帯域を取得し、あらかじめ取得した帯域を使って1サイクル(125μs)に一度、少なくとも1パケットのデータの伝送を行う。これによりデータ伝送のリアルタイム性が保証される。
【0003】
一方、上記アシンクロナス通信は、コマンド等のコンピュータデータや静止画データの伝送のように、リアルタイム性が要求されないデータの伝送に用いられる通信方法である。
現在、アイソクロナス通信を用いたAVデータの伝送としては、ディジタルVCR(Video Cassette Recorder)用データの伝送方法、MPEG2トランスポートストリームのデータの伝送方法等が定義されている。
【0004】
以下、簡単に従来のIEEE1394ネットワークでの通信方法について説明する。
図19(a)は、2つの端末装置が上記IEEE1394シリアルバスを介して接続されたネットワークを、また図19(b)は3つの端末装置が上記IEEE1394シリアルバスを介して接続されたネットワークを、それぞれ模式的に示している。
図19(a)のIEEE1394ネットワークは、アイソクロナスパケットを送信する第1のディジタルVCR201と、アイソクロナスパケットを受信する第2のディジタルVCR202と、上記VCR201とVCR202を接続するIEEE1394シリアルバス203により構成されている。
【0005】
また、図19(b)のIEEE1394ネットワークは、アイソクロナスパケットを送信する第1のディジタルVCR201と、アイソクロナスパケットを受信する第2のディジタルVCR202と、第3のディジタルVCR205と、上記VCR201とVCR202を接続するIEEE1394シリアルバス203、及び上記VCR202とVCR205を接続するIEEE1394シリアルバス204により構成されている。尚、上記第1のディジタルVCR201は、上記ネットワーク上に125μs毎にサイクルスタートパケットを出力するメイン端末装置となっている。また、このメイン端末装置201は、各端末がデータ伝送に使用する周波数帯域の割り当てをも行う構成となっている。
【0006】
上記IEEE1394ネットワークでは、1サイクル期間に対して、アイソクロナス通信に利用される時間と、アシンクロナス通信に利用される時間とが割り当てられており、1サイクル期間の80パーセントがアイソクロナス通信に、残りの20パーセントがアシンクロナス通信に利用されるようになっている。そして、各端末装置は、リアルタイム性の要求されるデータについてはアイソクロナス通信によりデータ伝送を行い、リアルタイム性の要求されないデータについてはアシンクロナス通信によりデータ伝送を行う。
【0007】
次に動作について説明する。
バスリセット後、まずパケットを転送できる状態にするため、ツリー識別によりノード間の親子関係を決定し、複数のノードからのバスを使用する要求の調停を行うルートノードを決定する。このツリー識別により、VCR201のノードがルートノードに、またVCR202のノードが子ノードとなる。
次に、自ノードと他ノードを識別するための自己識別により、各ノードに識別番号が割り振られ、VCR201のノードの識別番号がphyshical_ID=0となり、またVCR202のノードの識別番号がphyshical_ID=1となる。
【0008】
次に、VCR201のノードは、ルートノード201へデータの伝送に使用する帯域の許可(バス使用権)を求める。ルートノード201は、各ノードからの帯域使用の要求(バス使用権)を調停し、順にバス使用権を各ノードに与える。そしてVCR201のノードは、バス使用権が許可されると、アイソクロナスパケットの転送に必要な帯域幅、及びチャンネル番号を取得した後に、上記帯域を利用して、1サイクル期間中に少なくとも一回、アイソクロナスパケットをVCR202へ伝送する。
【0009】
また、図18は、アイソクロナスパケットの送信を説明するための概念図である。
図において、206はサイクルスタートパケットであり、207はバス調停期間で複数ノードからのリクエストを調停する期間であり、208はバス使用権を獲得したノードが、パケット伝送準備が出来るまでバスをホールドするデータプレフィックス期間であり、210はデータエンドでパケット伝送が終了したことを示す期間である。
【0010】
ルートノード201は、各サイクル毎にその先頭位置を示すサイクルスタートパケット206を出力している。そして、VCR201のノードは、バス調停期間207を経てバス使用権が得られると、パケット伝送準備が完了するまでバスはホールドされ(データプレフィックス期間208)、パケット伝送準備が完了すると、各サイクル毎にアイソクロナスパケット209が出力される。
【0011】
また、アイソクロナス伝送では、図18(b)に示される様に複数チャンネルの伝送も可能であるが、この場合はそれぞれのチャンネル単位で帯域が確保される。
また、IEEE1394におけるこのようなアイソクロナス伝送は、IEEE Std 1394-1995の規格書"IEEE Standard for a High Performance Serial BUS"に、詳しく記されている。
【0012】
【発明が解決しようとする課題】
しかしながらIEEE1394シリアルバスでは、1本のバス(ツリー)あたり最大63ノードの接続しか許されておらず、64台目以降のノードは接続できない。また複数のバスを、バスブリッジを介して接続すると、約64000ノードを接続することができるが、バスブリッジには、異なるバス間でアイソクロナスパケットの相互転送を行う機能を有しておらず、業務用ダビング装置などのように1台のデッキから一度に数百台のデッキにダビング等を行うことができない。
【0013】
またIEEE1394では、図19(b)に示すように、第1のディジタルVCR201から第2のディジタルVCR202へアイソクロナスパケットの伝送中に、第3のディジタルVCR205を、バス204により第2のディジタルVCR202へ新たに追加接続すると、バス全体がリセットする動作を起こしてしまう。そして、このような新たな機器の追加,または機器の切断等によりバスリセットが生じると、先に確立されていた第1のディジタルVCR201から第2のディジタルVCR202へのアイソクロナス伝送は、一旦中断されてしまう。
【0014】
本発明は上記問題点に鑑み、IEEE1394シリアルバス等において、複数のシリアルバスを相互に接続し、63台以上の機器間でアイソクロナスパケット転送が可能であり、アイソクロナスパケットの転送を中断せずに機器の追加,切断等を行うことが可能なパケット転送装置、並びに該パケット転送装置によるパケット転送処理をコンピュータに行わせるためのプログラムを格納したデータ記録媒体を提供することを目的とする。
【0015】
【課題を解決するための手段】
上記問題点を解決するために、請求項1に記載の発明に係るパケット転送装置は、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの任意の自然数)の外部バスへアイソクロナスパケットを転送する装置であって、任意の第jの外部バスから任意の第kの外部バスへのアイソクロナスパケットの転送を行う内部バスと、上記内部バスと、上記第1から第nの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第1から第n(nは2以上の自然数)のゲートノードと、アイソクロナスパケットの送受信を行う任意の第jと任意の第kの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有し、上記第1から第nのゲートノードは、自らの外部バス、及び上記内部バスからのパケットの送受信を行う第1のパケット送受信手段と、受信されたアイソクロナスパケットにタイムスタンプが含まれているか否か、を判定するタイムスタンプ判定手段と、上記タイムスタンプの位置を検出するタイムスタンプ位置検出手段と、検出された上記タイムスタンプの位置情報に基づき、タイムスタンプにオフセット値を加算、もしくは減算するタイムスタンプオフセット手段と、転送先または転送元の情報、及び内部バスでの送受信に用いる情報とを含む第2のヘッダをアイソクロナスパケットに付加する内部バスヘッダ付加手段と、上記第2のヘッダを付加したアイソクロナスパケットを格納する第1のメモリ手段と、上記第1のメモリ手段に格納されたアイソクロナスパケットに付加された第2のヘッダを先読みし、第1のメモリ手段から内部バスへのアイソクロナスパケットの転送を制御する第1の読み出し制御手段と、を有し、自らの外部バスから受信したアイソクロナスパケットを、内部バスへ転送することを特徴とするものである。
【0017】
また、請求項に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nのゲートノードは、内部バスを流れるアイソクロナスパケットより特定のパケットを選択し受信するパケット選択手段と、受信したアイソクロナスパケットを自らの外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段と、受信したアイソクロナスパケットのパケットヘッダを、上記レジスタ手段からの出力に基づき書き換えるヘッダ書換え手段と、上記パケットヘッダの書き換えられたアイソクロナスパケットを格納する第2のメモリ手段と、上記第2のヘッダに含まれるサイクル数と、タイムスタンプに含まれるオフセット値とを加算し、この加算した値と、外部バスの基準サイクルとを比較するサイクル数比較手段と、上記第2のメモリ手段に格納されたアイソクロナスパケットを先読みし、第2のメモリ手段から自らの外部バスへのアイソクロナスパケットの転送を制御する第2の読み出し制御手段と、を有し、内部バスから受信したアイソクロナスパケットを、自らの外部バスへ転送することを特徴とするものである。
【0018】
また、請求項に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記同期手段は、外部バスとは独立して時間を計時する第1の時計手段と、上記第1の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするものである。
【0019】
また、請求項に記載の発明に係るパケット転送装置は、請求項に記載のパケット転送装置において、上記バス基準時刻計時手段は、上記第1の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させることを特徴とするものである。
【0020】
また、請求項に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記同期手段は、上記バス基準時刻計時手段の示す時刻を、他ゲートへブロードキャストするための基準時刻用バスを有し、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させることを特徴とするものである。
【0021】
また、請求項に記載の発明に係るパケット転送装置は、請求項に記載のパケット転送装置において、上記基準時刻用バスは、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させることを特徴とするものである。
【0022】
また、請求項に記載の発明に係るパケット転送装置は、請求項、またはに記載のパケット転送装置において、上記同期手段は、外部バスのサイクル数を表すビットの内、少なくとも下位4ビットを概一致させることを特徴とするものである。
【0023】
また、請求項に記載の発明に係るパケット転送装置は、請求項からのいずれかに記載のパケット転送装置において、上記同期手段は、アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするものである。
【0024】
また、請求項に記載の発明に係るパケット転送装置は、請求項に記載のパケット転送装置において、上記オフセット手段は、上記第jの外部バスから上記第kの外部バスへパケットを転送するのに要する時間により規定される第1のオフセット値を、上記タイムスタンプに加算することを特徴とするものである。
【0025】
また、請求項10に記載の発明に係るパケット転送装置は、請求項に記載のパケット転送装置において、上記第jの外部バスの基準時刻と、上記第kの外部バスの基準時刻の差により規定される第2のオフセット値を検出する時刻差検出手段を有し、上記タイムスタンプオフセット手段は、上記第1のオフセット値と、上記第2のオフセット値とを加算した値を、上記検出したタイムスタンプに、加算もしくは減算することを特徴とするものである。
【0026】
また、請求項11に記載の発明に係るパケット転送装置は、請求項、または10に記載のパケット転送装置において、上記第1のオフセット値は、固定サイクル値であることを特徴とするものである。
【0027】
また、請求項12に記載の発明に係るパケット転送装置は、請求項、または10に記載のパケット転送装置において、上記第2のオフセット値は、固定サイクル値であることを特徴とするものである。
【0028】
また、請求項13に記載の発明に係るパケット転送装置は、請求項1から12のいずれかに記載のパケット転送装置において、調停サイクルを出力する第2の時計手段と、上記第1から第nの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、上記第1から第nの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものであることを特徴とするものである。
【0029】
また、請求項14に記載の発明に係るパケット転送装置は、請求項13に記載のパケット転送装置において、上記第1の読み出し制御手段は、上記調停サイクルと、上記第1のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第1のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、上記内部バス調停手段は、上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第1から第nの各外部バスによる内部バスの使用期間を切替えるものであることを特徴とするものである。
【0030】
また、請求項15に記載の発明に係るパケット転送装置は、請求項14に記載のパケット転送装置において、上記第jの外部バスから上記内部バスへアイソクロナスパケットを転送する際、上記第1のメモリ手段は、上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものである。
【0031】
また、請求項16に記載の発明に係るパケット転送装置は、請求項14に記載のパケット転送装置において、上記内部バスから上記第kの外部バスへアイソクロナスパケットを転送する際、上記第2のメモリ手段は、上記第kの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものである。
【0032】
また、請求項17に記載の発明に係るパケット転送装置は、請求項15に記載のパケット転送装置において、上記第1のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものである。
【0033】
また、請求項18に記載の発明に係るパケット転送装置は、請求項16に記載のパケット転送装置において、上記第2のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものである。
【0034】
また、請求項19に記載の発明に係るパケット転送装置は、請求項18に記載のパケット転送装置において、上記第2のメモリ手段は、上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するM個(Mは自然数)のFIFOメモリ手段より構成されるものであることを特徴とするものである。
【0035】
また、請求項20に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスと、上記内部バスは同一規格のバスであることを特徴とするものである。
【0036】
また、請求項21に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記内部バスの最大伝送レートは、上記第1から第nの外部バスのアイソクロナスパケット最大伝送レートの総和の1/2以下であることを特徴とするものである。
【0037】
また、請求項22に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスはシリアルバスであり、上記内部バスはパラレルバスであることを特徴とするものである。
【0038】
また、請求項23に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックであることを特徴とするものである。
【0039】
また、請求項24に記載の発明に係るパケット転送装置は、請求項1から23のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、IEEE1394シリアルバスであることを特徴とするものである。
【0040】
また、請求項25に記載の発明に係るパケット転送装置は、請求項1から24のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、USB(Universal Serial Bus)であることを特徴とするものである。
【0041】
また、請求項26に記載の発明に係る記録媒体は、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの自然数)の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、上記パケット転送処理プログラムは、請求項1から25のいずれかに記載のパケット転送装置によるパケット転送処理をコンピュータに行わせるプログラムを格納したことを特徴とするものである。
【0042】
【発明の実施の形態】
(実施の形態1)
図9は、本実施の形態1によるパケット転送装置100の構成を示す図である。
該パケット転送装置100は、アイソクロナスパケット伝送機能を有する外部バス1a〜1dと、任意の第jの外部バスから任意の第kの外部バスへアイソクロナスパケットの転送を行うためのアイソクロナスパケット転送機能を有する内部バス21と、外部バス1と内部バス21を接続し、自の外部バスまたは内部バスとの間でアイソクロナスパケットの送受信を行うゲートノード24a〜24dと、外部バスとは独立して絶対時刻を出力する第1の時手段22と、調停サイクルを出力する第2の時手段107と、各ゲートからのバスを使用する要求を平等に調停する内部バス調停手段23とを有しており、各ゲートノード24a〜24dに上記各外部バス1a〜1dが接続されて構成されている。
【0043】
なお、上記外部バス1は、IEEE1394シリアルバスであり、上記内部バス21は、ディジタルデータ伝送経路を2車線以上有するパラレルバスである。また、上記第1の時計手段22は、ロード機能を持たないフリーランカウンタである。また、本パケット転送装置100の内部バスの最大転送レートは、外部バスの最大転送レートの総和の1/2のレートとする。
【0044】
また図15は、上記パケット転送装置100に、複数の機器(ノード)が接続されている様子を示す図である。
パケット転送装置100において、ゲートノード24aの外部バスには、第1のディジタルVCR(Video Cassette Recorder)102と、第2のディジタルVCR103と、パーソナルコンピュータ104と、第1のディジタルTV105が接続されている。またゲートノード24bの外部バス1bには、第3のディジタルVCR99と、第1のSTB(Set Top Box) 101が接続されている。また、ゲートノード24cの外部バス1cには、プリンタ98と、第2のSTB97が接続されている。なお、ゲートノード24dには何も接続されていない。
【0045】
また、本実施の形態1のパケット転送装置100では、アイソクロナスパケットの送信もしくは受信を行う場合、パケット転送装置100の端末であるゲートノード24がバスリセット後に、パケットの送受信を行うバスに対して、サイクルマスタノードとなるものとする。つまり、アイソクロナスパケット転送を、外部バス1a〜1cで行うものとすると、ゲートノード24a〜24cが、対応する各外部バス1a〜1cに対してサイクルマスタノードとなり、125μs毎にサイクルスタートパケットを出力する。
【0046】
また、パケット転送装置100は、パケットの送受信を行う全ての外部バスへ基準時刻を出力することにより、各外部バス1a〜1dの基準時刻を統一させている。
このように本パケット転送装置100は、パケット送受信する外部バス全体で基準時刻を一致させた上で、パケットの送受信を行う構成となっている。
【0047】
また図1は、ゲートノード24を構成するブロック図である。
ゲートノード24は、外部バス1と本装置100を接続する接続ポート2と、外部バス1上でパケットを送受信する第1のパケット送受信手段3と、上記第1の時計手段22からの絶対時刻を入力する入力端子16と、上記絶対時刻を取得するバス基準時刻計時手段4と、第1のタイムスタンプが存在するか否かを判定する第1のタイムスタンプ判定手段5と、上記第1のタイムスタンプの位置を検出する第1のタイムスタンプ位置検出手段6と、上記第1のタイムスタンプ位置検出手段6からの位置情報に基づき、上記第1のタイムスタンプにオフセットを加える第1のタイムスタンプオフセット手段7と、転送先または転送元情報、及び内部バス21での送受信に用いる情報を含む第2のヘッダをアイソクロナスパケット先頭に付加する内部バスヘッダ付加手段8と、上記第2のヘッダを付加したアイソクロナスパケットを格納する第1のメモリ手段9と、上記第1のメモリ手段9に格納されたアイソクロナスパケットを先読みし、第1のメモリ手段から上記内部バス21へのアイソクロナスパケットの転送を制御する第1の読み出し制御手段10とを有し、自の外部バスから受信したアイソクロナスパケットを、内部バス21へ送信するよう構成されている。
【0048】
また、上記ゲートノード24は、特定のパケットを選択し受信するパケット選択手段11と、自の外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段108と、上記レジスタ108からの出力に基づき、受信したパケットのチャンネルナンバを書き換えるヘッダ書換手段12と、上記ヘッダ書換手段12によりパケットヘッダの書き換えられたアイソクロナスパケットを一時的に格納する第2のメモリ手段13と、上記第2のヘッダに含まれるサイクル数と、タイムスタンプに加えられたオフセットサイクル数とを加算し、この加算したサイクル数と、外部バスの基準時刻とを比較するサイクル数比較手段14と、上記第2のメモリ手段13に格納されたアイソクロナスパケットを先読みし、第2のメモリ手段13から自の外部バスへのアイソクロナスパケットの転送を制御する第2の読み出し制御手段15とを有し、アイソクロナスパケットを内部バス21より受信して、自の外部バスへ転送するように構成されている。
また、ゲート制御手段109は、ゲートノードがサイクルマスタになった場合、又は、なれなかった場合、の各場合に合わせて、ゲートノード24の動作全体の制御を行うものである。
【0049】
ここで上記第1のタイムスタンプオフセット手段7は、第jの任意の外部バスから第kの任意の外部バスへパケットを転送するのに要する時間分を、転送遅延サイクルとして、検出された第1のタイムスタンプに第1のオフセット値を加えるように構成されている。尚、本パケット転送装置100では、タイムスタンプに加えられた、転送遅延分の第1のオフセット値を固定サイクル値とし、この固定サイクル値を3サイクルとして第1のタイムスタンプにオフセットを与えるものとする。
【0050】
また上記サイクル数比較手段14では、アイソクロナスパケットの第2ヘッダに含まれるサイクル数に、上記第1のタイムスタンプに加えられたオフセット値(3サイクル)を加算し、加算されたサイクル数と、外部バスの基準時刻,即ちバス基準時刻計時手段4の示す時刻とを比較して、一致したら第2の読み出し制御手段15へサイクル数一致信号を出力するように構成されている。
【0051】
また図5は、上記内部バスヘッダ付加手段8にて付加される第2のヘッダを示す図である。
上記第2のヘッダには、図5(a)に示すように、パケットの先頭に1クワッドレットを付加して、上位16ビットは、内部バスへ送信元ゲートを表し、下位16ビットは、外部バスからパケットを受信した際のサイクル数を表す方法や、図5(b)に示すように、パケットの先頭に付加した1クワドレットの上位16ビットは、内部バスの送信先のゲートノードを表し、下位16ビットは、外部バスからパケットを受信した際のサイクル数を表す方法がある。
【0052】
また図2は、バス基準時刻計時手段4の構成を示すブロック図である。
上記バス基準時刻計時手段4は、上記第1の時計手段の出力する時刻,またはサイクルスタートパケットに記されたバス基準時刻を入力する入力端子25,26と、上記入力端子25及び26からの出力を切替える切り替え手段27と、0から3071をカウントする12bitカウンタ手段28と、0から7999をカウントする13bitカウンタ手段29と、0から127をカウントする7bitカウンタ30と、出力端子31とを有している。
【0053】
上記カウンタ28は、3071から0に回帰するとき、キャリー信号をカウンタ29のイネーブル端子に供給する。またカウンタ29は、自のイネーブル端子にキャリー信号が供給されている時のみカウントアップし、7999から0に回帰するとき、キャリー信号をカウンタ30のイネーブル端子に供給する。またカウンタ30は、自のイネーブル端子にキャリー信号が供給されている時のみカウントアップする。
【0054】
これら3つのカウンタには、全て24.576MHzが供給されているので、カウンタ28は、1/24.576MHz単位でカウントアップし、カウンタ29は、1/24.576MHz×3072=125μsec単位でカウントアップし、カウンタ30は、125μsec×8000=1sec単位でカウントアップするよう構成されている。また、カウンタ29の数値はサイクル数と呼ばれており、アイソクロナスパケット伝送の基準周期である。
【0055】
ここで、バス基準時刻計時手段4は、自ノードがサイクルマスタの場合、切替え手段27は、入力端子25を選択して、第1の時計手段からの基準時刻をロードし、自ノードがサイクルマスタになれなかった場合、入力端子26を選択して、他ノードがブロードキャストしたサイクルスタートパケットに記される基準時刻をロードするように構成される。また、上記カウンタ28〜30は、IEEE1394−1995で規定されているサイクルタイムレジスタと同一のものである。
【0056】
また図6は、上記第1のメモリ手段9の構成を示す図である。上記第1のメモリ手段9は、アイソクロナスパケットを入力する入力ポート52と、入力されたアイソクロナスパケットを読み込み格納するFIFOメモリ53と、アイソクロナスパケットを出力する出力端子54と、第1の読み出し制御手段10からの読み出し制御信号を入力する読み出し制御端子55とを有し、FIFOメモリ53に格納されたアイソクロナスパケットは、読み出し制御端子55より入力される読み出し制御信号に基づいて、出力端子54より内部バス21へ出力されるように構成されている。
【0057】
また図3は、アイソクロナスパケット、及びDVパケットヘッダ部の構成を示す図である。
図3(a)は、上記アイソクロナスパケットの構造を示しており、アイソクロナスパケットは、パケット先頭に付加され、ネットワークの伝送路に関する情報、例えばパケットの長さや、伝送チャンネル等の情報が記されているアイソクロナスパケットヘッダ32と、ヘッダ32が正しく伝送されたかを受信側でチェックするのに用いられるヘッダCRC33と、端末からのデータを伝送するためのデータペイロード37により構成されている。また上記データペイロード37は、CIPヘッダ34と、データフィールド35、及びデータCRC36により構成されており、上記データCRC36は、データペイロード37が正しく伝送されたかを受信側でチェックするのに用いられる。
【0058】
まず、上記アイソクロナスパケットヘッダ32の構成の説明をする。
上記アイソクロナスパケットヘッダ32では、先頭から16ビット目までの上位16ビットがパケットの長さを示すdata_lengthで、パケットの長さはバイトで記されている。上記data_lengthの次の17ビット目から18ビット目までの2ビットは、CIPヘッダが存在するかどうかを示すtagであり、01bの場合、データペイロードの先頭部分にCIPヘッダが存在することを示している。上記tagの次の19ビット目から24ビット目までの6ビットは、パケットの伝送チャンネルを示すchannelである。また、上記channelの次の25ビット目から28ビット目までの4ビットは、パケットの種類を表すtcodeであり、アイソクロナスパケットの場合、1010bとなる。また、上記tcodeの次の29ビット目から32ビット目までの4ビットは、アプリケーションが用いることが出来るビットsyである。
【0059】
次に、上記CIPヘッダの構成34の説明をする。
上記tagが01bであるとき、データペイロードの先頭部分にはCIPヘッダが存在する。上記CIPヘッダは、1クワドレット(=32ビット)単位で記述され、先頭の2ビットは、どこまでがCIPヘッダであるかを表している。例えば、ディジタルVCR(以下DVと記す)の場合、CIPヘッダの第1クワドレットの先頭が00bで、第2クワドレットの先頭が01bであるが、これは、CIPヘッダが2クワドレットであることを示している。以下、パケットはDVの送出したパケットであるとし、第1のクワドレット目より説明する。
【0060】
上記CIPヘッダの第1クワドレットの先頭より3ビット目から8ビット目までの6ビットは、パケットの送出元を示すソースノードアイディ(SID)である。上記SIDの次の9ビット目から16ビット目までの8ビットは、データフィルドにデータCRCを加えたときの長さをクワドレット単位で示すDBSであり、ディジタルVCRの場合、11110000b=120dとなる。
【0061】
また、上記DBSの次の17ビット目から18ビット目までの2ビットは、ソースパケットが分割されているデータブロックの数を示すフラクションナンバー(FN)であり、DV場合は00bとなり分割されていないことを示す。
また、上記FNの次の19ビット目から21ビット目までの3ビットは、データブロックサイズを合わせるために追加されたダミーのクワドレット数を示すクワドレットパディングカウント(QPC)である。これは、FN=00bである場合は使われない。
【0062】
また、上記QPCの次の22ビット目の1ビットは、ソースパケットヘッダが存在するか否かを表すSPHである。SPHが1bの場合は、ソースパケットヘッダが存在していることを示し、ソースパケットヘッダにはサイクルタイムレジスタの下位25ビットがタイムスタンプとして記録され、MPEG伝送の時などに用いられる。また、DVの場合は、SPH=0bで、ソースパケットヘッダが存在しないことを示し、後述するSYTにタイムスタンプは記録されている。
また、上記SPHの次の23ビット目から24ビット目までの2ビットは、将来の拡張のために予約されているビットのリザーブ(rsv)である。上記rsvの次の25ビット目から32ビット目までの8ビットは、コンティニュイティカウンタオブデータブロック(DBC)である。
【0063】
次に、CIPヘッダの第2のクワッドレット目の説明をする。
CIPヘッダの第2クワドレットの先頭より3ビット目から6ビット目までの6ビットは、フォーマットアイディ(FMT)である。FMT=000000bはDVを表し、FMT=100000はMPEGを表している。フォーマットが増えれば順次追加されていくが、現在はDVとMPEGが定義されている。
【0064】
また、上記FMTの次の9ビット目から16ビット目までの8ビットは、フォーマットディペンデントフィールド(FDF)でありFMTに依存している。DVの場合は、8ビットのうち最初の1ビット目が50/60で画像データのフィールド周波数が50Hzであるか60Hzであるかを示しており、50Hz=1b,60Hz=0bである。そして、次の2ビット目から6ビット目までの5ビットは、STYPEで00000bが走査線525本,若しくは625本の画像であることを示し、00010bが走査線1125本若しくは1250本の画像であることを示している。例えば、50/60との組み合わせで、000000bが525−60Hz,100000bが625−50Hz,000010bが1125−60Hz,100010bが1250−50Hzを表している。そして、FDFの8ビットのうち残りの2ビットは、将来のために予約されたリザーブビット(Rsv)である。
【0065】
また、上記FDFの次の17ビット目から32ビット目までの,第2クワドレットの最後の16ビットはSYTフィールドであり、DVの場合は、サイクルタイムレジスタの下位16ビットのうち、上位4ビットがサイクル数を表し、タイムスタンプとして記録されている。
【0066】
また図3(b)は、第1のタイムスタンプオフセット手段7に入力されるDVパケットヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示している。
また図3(c)は、第1のタイムスタンプオフセット手段7から出力されるDVパケットのヘッダ部の一例を示している。この例では、SYTの上位4ビットが0001bから0100bとなっており、3サイクルのオフセットを加算したことを示している。
【0067】
次に動作について説明する。
本実施の形態1では、アイソクロナスパケットの送受信が外部バス1a〜1c間で行われるものとし、特に、第3のディジタルVCR99から送出されたDVのアイソクロナスパケットが、第1のディジタルVCR102へ転送される様子を中心に説明する。
【0068】
まず、アイソクロナスパケットの送受信を行う外部バス間の基準時刻が統一される。
具体的には、パケット転送装置のゲートノード24a〜24cが、バスリセット後に各外部バス1a〜1cに対し、ルートノードに決定すると、バス基準時刻計時手段4では、第1の時計手段22の出力する絶対時刻が、入力端子16より入力される。
このとき、バス基準時刻計時手段4では、第1の時計手段22の出力する絶対時刻が、切替え手段27で選択された入力端子25より入力されて、カウンタ28,29,30へロードされる。これにより、各ゲートノード24a〜24cの第1の時計手段22とバス基準時刻計時手段4は同じ時刻を刻み、各ゲートノード24a〜24cのバス基準時刻計時手段4の示す時刻がサイクルスタートパケットに含まれ、各外部バス1a〜1cへ、125μs毎にサイクルスタートパケットが出力される。
このように、アイソクロナスパケットの送受信を行う各外部バス1a〜1cの基準時刻は統一される。
【0069】
パケットの送受信を行う外部バス1a〜1c間の基準時刻が統一されると、図3(a)に示すDVアイソクロナスパケットが、第3のディジタルVCR99から送信され、外部バス1bを通過して、接続ポート2よりゲートノード24bの第1のパケット送受信手段3に受信される。
【0070】
第1のパケット送受信手段3では、アイソクロナスパケットが受信されると、受信された時のサイクルスタートパケットがバス基準時刻計時手段へ出力されるとともに、アイソクロナスパケットは、第1のタイムスタンプ判定手段5へ出力される。
【0071】
上記バス基準時刻計時手段4では、上記第1のパケット送受信手段3よりサイクルスタートパケットが入力されると、上記アイソクロナスパケットを受信した瞬間のバス基準時刻計時手段4の示すサイクル数が、サイクル数保持手段106へ出力される。サイクル数保持手段106では、入力されたサイクル数が保持される。
【0072】
また上記第1のタイムスタンプ判定手段5では、入力されたアイソクロナスパケットに、タイムスタンプが含まれているか否かチェックされる。このとき、DVであれば、tag=01bのとき、CIPヘッダが存在し、且つ、タイムスタンプが含まれていることがわかる。この第1のタイムスタンプ判定手段5における判定結果と受信パケットは、第1のタイムスタンプ位置検出手段6へ出力される。
【0073】
第1のタイムスタンプ位置検出手段6では、第1のタイムスタンプの位置が検出される。このとき、SPH=0b,FMT=000000b,FDF=00000000bであること等がチェックされると、SYTにタイムスタンプ(第1のタイムスタンプ)が存在することがわかる。MPEG等では、SPH=1bであった場合、第1のタイムスタンプはSPH内に存在するため、CIPヘッダのパラメータを用いてSPHの位置が検出される(AV伝送規格参照)。このように第1のタイムスタンプ位置検出手段6では、第1のタイムスタンプの位置が検出され、この第1のタイムスタンプの位置を示す位置情報は、パケットと共に第1のタイムスタンプオフセット手段7へ出力される。
【0074】
上記第1のタイムスタンプオフセット手段7では、入力された位置情報に基づき、入力されたパケットの第1のタイムスタンプに、転送に要する時間(転送遅延サイクル)だけオフセットが加えられる。具体的には、図3(c)を参照して、SYTの上位4ビットであるサイクル数0001bに、転送遅延サイクルの3サイクルが加算され、0100bとされる。このように第1のタイムスタンプにオフセットが加えられたパケットは、内部バスヘッダ付加手段8に入力される。
【0075】
内部バスヘッダ付加手段8では、入力されたパケットの先頭に、内部バス21でのパケットの送受信の際に必要な、図5(a)に示す第2のヘッダが付加される。このとき、1クワドレットからなる第2ヘッダの上位16ビットは、内部バスへの送信元ゲートを示しており、下位16ビットは、サイクル数保持手段106の保持するサイクル数、つまり外部バス1からパケットを受信した際のサイクル数を示している。この第2のヘッダが付加されたパケットは、第1のメモリ手段9へ出力される。
【0076】
上記第1のメモリ手段9では、入力されたパケットが読み込まれ、一時的に格納される。つまり、上記第1のメモリ手段9では、パケットは、入力ポート52より入力し、FIFOメモリ53へ読み込まれ、読み出し制御端子55より読み出し制御信号が入力されるまで格納される。
【0077】
ここで、第2の時計手段107では、内部バス調停手段23へ調停サイクル(Arbitration Cycle)が出力されている。そして内部バス調停手段23では、この調停サイクルが各ゲートノード24a〜24dの第1の読み出し手段10へ、入力端子17を通して出力されている。
【0078】
このとき、上記第1の読み出し制御手段10では、上記第1のメモリ手段9に格納されているアイソクロナスパケットの,パケット先頭に付加された第2ヘッダを先読みし、上記第2ヘッダに含まれる第2のタイムスタンプと、上記第2の時計手段107が示す調停サイクルとの比較を行い、両者が一致すると、バスを使用する要求(Request)を、内部バス調停手段23へ出力する。
内部バス調停手段23は、各ゲートからのRequestを平等に調停し、順にバス使用権(Grant)を与える。
【0079】
第1の読み出し制御手段10では、バス使用権が内部バス調停手段23より入力されると、第2の時計手段107の示す調停サイクルと一致するパケットを内部バス21へ出力するように、第1のメモリ手段9へ読み出し制御信号を出力する。
【0080】
第1のメモリ手段9では、読み出し制御信号が入力されると、入力された読み出し制御信号に基づきパケットが内部バス21へ送出される。そして、第1のメモリ手段9よりパケットを内部バス21へ送出し終えると、第1の読み出し制御手段10では、内部バス調停手段23へ送出すべきパケットを出力し終わったことを示すサイクルダン信号が出力される。また、格納したパケットに送出すべきパケットが存在しない時は、上記第1の読み出し制御手段10より、即座に内部バス調停手段23へサイクルダン信号が出力される。上記第2の時計手段107の示すサイクルを持つパケットが、各ゲートノードより全て内部バス21へ送出されると、第2の時計手段107では、調停サイクルを1進める。
【0081】
このように、第2の時計手段107の出力する調停サイクルと同じサイクルをもつパケットが、各ゲートノードより順番に内部バス21へ送出されるように、内部バス調停手段23では、各ゲートノードからのRequestに対して平等に調停が行われるが、このような調停を行って各ゲートノードからパケットを送出する方法を、サイクル制御型調停という。
【0082】
次に、上記サイクル制御型調停を経て、内部バス21へ出力されたゲートノード24bからのアイソクロナスパケットを、ゲートノード24aで受信し外部バス1aへ転送する時の、ゲートノード24aにおける動作について説明する。
パケット選択手段11では、内部バス21を流れるパケットは、入力端子20を通じて監視されている。具体的には、パケット選択手段11では、図5(b)に示すパケット先頭に付加された第2のヘッダの送信先ゲートが、自ノード,つまりゲートノード24aを示しているかどうか調べ、自ノードを示していれば、内部バス21を流れるパケットが受信され、受信されたパケットは、ヘッダ書き換え手段12へ出力される。
【0083】
上記ヘッダ書き換え手段12では、入力されたパケットのチャンネルナンバが、レジスタ手段108の出力するチャンネルナンバに書き換えられ、書き換えられたパケットは第2のメモリ手段13へ出力される。この書換えは、送信元外部バスでのチャンネルナンバが自の外部バスで既に使用されている場合などになされるものであり、書換えの必要の無いときは書き換えることはない。
【0084】
また図4(a)は、書き換え前のDVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示しており、図4(b)は、書き換え後のDVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示す。この例では、111111bチャンネルが000001bチャンネルに書き換えられている。更に、必要ならばヘッダの他の部分の書き換えを行っても良い。
【0085】
このようにヘッダの書き換えが終了したアイソクロナスパケットは、第2のメモリ手段13へ出力され、一時的に格納される。第2の読み出し制御手段15では、上記第2のメモリ手段に格納されたアイソクロナスパケットから、第2のヘッダと上記第1のタイムスタンプとが先読みされ、読み出されたサイクル数、及び第1のオフセット値はサイクル数比較手段14へ出力される。
【0086】
サイクル数比較手段14では、入力されたサイクル数と第1のオフセット値(3サイクル)が加算され、この加算された値と、バス基準時刻計時手段が出力する外部バスの基準時刻との比較が行われる。そして、両者が一致すると、サイクル数一致信号が上記第2の読み出し制御手段15へ出力される。
【0087】
第2の読み出し制御手段15では、サイクル数比較手段14よりサイクル数一致信号が入力されると、第2のメモリ手段13へ、格納されたパケットを第1のパケット送受信手段3へ出力するように読み出し制御信号が出力される。
第2のメモリ手段13では、読み出し制御信号が入力されると、格納されたパケットが読み出され、読み出されたパケットは、第1のパケット送受信手段3へ出力される。
第1のパケット送受信手段3では、第2のメモリ手段13よりパケットが入力されると、送出するパケットの帯域が確保された後に、外部バス1aへパケットが送出される。
【0088】
このように、外部バス1bからのアイソクロナスパケットは、外部バス1aへ送出される。本パケット転送装置100では、外部バスの基準時刻を一致させた上で、パケットの転送遅延に掛かる分だけタイムスタンプオフセットを与えているため、図15の第1のディジタルVCRは、第3のディジタルVCRのパケットを矛盾無く受信できる。
【0089】
次に、上記サイクル制御型調停を、図8を用いて具体的に説明する。
図8は、サイクル制御型調停を用いて、各ゲートノードから内部バス21へパケットが送出される様子を示す図である。
図8(a)は、パケット転送装置が各外部バス1a〜1dより入力されるパケットを示している。このとき外部バス1d上には、サイクルの後半に巨大なアシンクロナスパケットが送信されている。また、図8(b)は、第2の時計手段107の出力する調停サイクルであり、図8(c)は、各ゲートノードより内部バス調停手段23へバスを使用する要求(Request)が出力される様子を示す図である。また図8(d)は、内部バス調停手段23から各ゲートノードへバス使用権(Grant)が出力される様子を示す図であり、図8(f)は、各ゲートノードから内部バス調停手段23へ、送出すべきパケットを送出し終えたことを示すサイクルダン(CycleDone)信号が出力される様子を示す図である。また、図8(e)は、内部バス21に各ゲートノードより送出されたアイソクロナスパケットを示している。
【0090】
まず、1aから1dの各ゲートノードでは、第2の時計手段107より出力される調停サイクルと、同じサイクルを持つパケットが、第1のメモリ手段9に格納されていると、バスを使用する要求を、バス使用権が与えられるまで、内部バス調停手段23へ出力し続ける。
【0091】
内部バス調停手段23では、各ゲートノードからの要求を平等に調停し、サイクルダン信号に基づき、相互にバスを使用する期間が重ならないように、順に各ゲートへバス使用権を与える。バス使用権が与えられたゲートから順番に内部バス21へパケットが送出され、パケットを送出し終えると、サイクルダン信号が内部バス調停手段23へ出力される。
【0092】
このように、第2の時計手段107の出力する調停サイクルと同じサイクルを持つパケットを、全てのゲートノードより送出し終えると、第2の時計手段107は調停サイクルを1進める。そして、次の新しい調停サイクルを持つパケットが、各ゲートノードより順に内部バス21へ送出されることとなる。
【0093】
このようなサイクル制御型調停を用いると、外部バス1dのように、サイクルの後半に巨大なアシンクロナスパケットが送信された場合でも、サイクルの逆転を生じずにパケット転送装置が受信した順番にパケットが内部バスへ送信されることとなる。
【0094】
また、非サイクル制御型調停を利用した場合について、図7を用いて説明する。
非サイクル制御型調停の場合、上記内部バス調停手段23は、第2の時計手段107の示す調停サイクルを各ゲートノードに出力しない。このため、各ゲートノードの第1の読み出し制御手段では、第1のメモリ手段9にパケットが格納されるとすぐに、内部バス調停手段23へ内部バスを使用する要求が出力される(図7(b))。内部バス調停手段23では、各ゲートノードからのバスの使用要求を平等に調停し、順にバスの使用権を与え(図7(c))、各ゲートノードの読み出し制御手段10では、バス使用権が与えられると、順に内部バスへパケットを送出する(図7(d))。
【0095】
しかし、非サイクル制御型調停では、外部バス上でサイクルの後半に、巨大なアシンクロナスパケットが送信された場合、次のサイクルスタートパケットが遅延し、このサイクルで送信されるアイソクロナスパケット(図中Iso31)が遅延するため、内部バス上で、受信サイクル順序の逆転が生じる。つまり、受信サイクル順にパケットを送出するなら、Aの区間に送出されるべきパケットが、Bの位置で送出されてしまうため、サイクル制御型調停のように、受信サイクルの順番にパケットが送出されない。
【0096】
本実施の形態のパケット転送装置では、第2のメモリ手段13を、唯一のFIFOメモリを用いてパケットを受信するものとしたため、非サイクル制御型調停でのサイクル数の逆転が生じた時に対応できないことにより、サイクル制御型調停を用いなければならない。
【0097】
このように本実施の形態1によるパケット転送装置100では、異なる外部バス間でアイソクロナスパケットの転送を行うための内部バスと、内部バスと外部バスとを接続し、自の外部バス及び内部バスとの間でアイソクロナスパケットの送受信を行うゲートノードと、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同期させる同期手段と、タイムスタンプにオフセット値を加えるオフセット手段と、第1から第n(nは2以上の自然数)の各外部バスによる内部バスの各使用要求を調停し、各外部バス間で、内部バスの使用期間が重ならないように順番にバス使用権を与える調停手段と、を備え、アイソクロナスパケットの送受信を行う外部バス間の基準時刻を同期させた上で、任意の第jの外部バスから内部バスへアイソクロナスパケットが転送され、受信先の第kのゲートノードでは、パケットの転送遅延に掛かる時間分だけオフセットして、自の外部バスへ転送される動作が行われる。このため、異なる外部バスから送信されたアイソクロナスパケットであっても、そのアイソクロナスパケットを送信した順番に、受信側の機器(ノード)では、アイソクロナスパケットを受信することができ、異なる外部バス間でのアイソクロナスパケットの送受信を矛盾無く行うことができる。
【0098】
また、本パケット転送装置100により、異なる外部バス間でのアイソクロナスパケットの送受信が可能となったので、本パケット転送装置100に複数個(x個)の外部バスを接続すると、63xの機器(ノード)を接続することができ、63台以上の機器間でアイソクロナスパケットの相互転送を行うことができる。
【0099】
また、本パケット転送装置100では、任意の外部バスにおけるバスリセットは、他の外部バスには影響を与えないため、アイソクロナスパケットの送受信中の外部バスがあっても、その送受信中の外部バス以外の外部バスで、新たな機器の接続,或いは機器の切断を行うことにより、バスリセットに起因するアイソクロナスパケットの転送の中断を生ずることなく正常にアイソクロナスパケットの転送を行うことができる。
【0100】
また、本パケット転送装置100の内部バスの最大転送レートは、外部バスの最大転送レートの総和の1/2のレートとしたので、全外部バス最大転送レートを使っている時のパケットを全て転送することができる。
また、内部バスに、ディジタルデータ伝送経路を2車線以上を有するパラレルバスを用いたので、高伝送レートを容易に得ることができる。
また、外部バスクロックと内部バスクロックを同期させると、アイソクロナスパケットの転送が更に容易となる。
なお、本発明のパケット転送装置における内部バスに、外部バスと同一のシリアルバスを用いてもよい。
また、外部バスは、帯域が保証された伝送が可能なバスであれば、USB(Universal Serial Bus)など他の外部バスを用いてもよい。
また、本実施の形態1では、内部バスへの送出元のゲートノードで、タイムスタンプにオフセット値を加えたが、内部バスからの受信側のゲートノードで行っても良い。
【0101】
また、各外部バスの基準時刻は、全て第1の時計手段の時刻に一致させたが、一致させなくともオフセットを持ったまま同期していても良い。この場合、パケットを受信する外部バスとパケットを送信する外部バスのオフセット時間を第2のオフセット値として、第1のタイムスタンプに加えられた第1のオフセット値に、第2のオフセット値を加算もしくは減算すればよい。
【0102】
また、本実施の形態1では、アイソクロナスパケットの送受信を行う場合、パケット転送装置の全ての端末がバスリセット後に、パケットの送受信を行うバスに対して、サイクルマスタノードとなるものを例としたが、図16のゲートノード24bのように、自ノードがサイクルマスタノードになれなかった場合は、上記ゲートノード24bでは、サイクルマスタノードとなった第1のSTB101からブロードキャストされたサイクルスタートパケットを、第1のパケット送受信手段3で受信し、そのサイクルスタートパケットに記されているバス基準時刻を、バス基準時刻計時手段4ヘロードして、バス基準時刻計時手段4の時刻をサイクルマスタの示す基準時刻に合わせる。ただしこの時は、外部バス1bと、外部バス1aおよび1cの基準時刻が異なるため、外部バス1bでのアイソクロナスパケットの転送を行うことはできない。
【0103】
(実施の形態2)
図10は、本実施の形態2によるパケット転送装置を説明するための図であり、ゲートノード64の構成を示すブロック図である。
本実施の形態2におけるゲートノード64は、実施の形態1におけるレジスタ手段107に代えて、受信する送信元とそのチャンネルナンバ、及び自の外部バスへパケットを送出するためのチャンネルナンバとを格納するレジスタ手段113と、実施の形態1における第2のメモリ手段13に代えて、ヘッダ書換え手段12からのパケットを各送信元毎に分類して格納する第2のメモリ手段60と、実施の形態1における第2の読み出し制御手段15に代えて、送信元毎に格納されたパケットを先読みし、パケットの読み出しを制御する第2の読み出し制御手段62と、上記第2のメモリ手段の出力を選択するメモリ選択手段63とを新たに備えたものである。
本実施の形態2によるパケット転送装置のその他の構成は、実施の形態1のパケット転送装置100と同一である。
【0104】
また図11は、パケット転送装置における上記第2のメモリ手段60の構成を示す図である。
第2のメモリ手段60は、ヘッダ書き換え手段12からのパケットを入力する入力端子65と、入力されたパケットの送信元を判断し、送信元毎にパケットを分類する送信元判断手段66と、上記送信元判断手段66からのパケットをそれぞれ各送信元毎に格納する複数のFIFOメモリ手段67〜70と、第2の読み出し制御手段62からの読み出し制御信号を入力する読み出し制御端子75と、上記複数のFIFOメモリ手段67〜70より読み出されたパケットを出力するパケット出力端子71〜74とを有している。
【0105】
なお本実施の形態2の第2のメモリ手段60におけるFIFOメモリ手段67〜70では、FIFOメモリ67はゲート64aに,またFIFOメモリ68はゲート64bに,またFIFOメモリ69はゲート64cに,またFIFOメモリ70はゲート64dに,それぞれ対応し、各FIFOメモリは対応するゲートノードからのパケットを格納する。
【0106】
また、本実施の形態2におけるパケット転送装置200では、パケット転送装置200の各ゲートノード64a〜64dに、複数の機器(ノード)が接続されているものとし、バスリセット後に、各ゲートノード64a〜64dは、対応する外部バス1a〜1dに対してそれぞれルートノードとなるものとする。
【0107】
次に動作について説明する。
パケット転送装置200の各ゲートノード64a〜64dでは、バスリセット後に、各ゲートノード64a〜64dの各外部バス1a〜1dに対し、ルートノードに決定すると、第1の時計手段22の示す時刻を読み込み、各ゲートノード64a〜64d間の基準時刻が上記第1の時計手段の示す時刻に統一される。
パケットの送受信を行う外部バス間で基準時刻が統一されると、実施の形態1と同様の動作で、各ゲートノードから内部バス21へパケットが送出される。
【0108】
本実施の形態2では、内部バス21を流れるアイソクロナスパケットを、ゲートノード64aが受信する動作について説明する。
ゲートノード64aのパケット選択手段11では、内部バス21を流れるパケットが、入力端子20を通じて監視されている。具体的には、パケット選択手段11では、レジスタ手段113より出力される、受信する送信元とそのチャンネルナンバが、内部バス21を流れるDVパケットの第2のヘッダに含まれる送信元、及びアイソクロナスパケットヘッダに含まれるチャンネルナンバと、一致するかどうかチェックされ、一致した場合、内部バス21よりパケットは受信され、受信されたパケットはヘッダ書換え手段12へ出力される。
【0109】
ヘッダ書換手段12では、パケット選択手段11からのパケットのチャンネルナンバが、レジスタ手段113が出力した,自の外部バス1aへ送出するためのチャンネルナンバに書き換えられる。尚、この書換えは、送信元外部バスでのチャンネルナンバが、自の外部バスで既に使用されている場合になされるものである。書換えの必要が無い場合は書換えることはない。また、必要ならば、ヘッダの他の部分の書換えを行っても良い。
このようにヘッダ書換手段12にて、ヘッダの書換えを終えたパケットは、第2のメモリ手段60へ出力される。
【0110】
第2のメモリ手段60では、入力されたパケットは、各送信元毎に分類して一時的に格納される。具体的には、第2のメモリ手段60では、ヘッダの書換えの終えたパケットは、入力端子65より送信元判断手段66へ入力され、送信元判断手段66にて、パケットが送信元毎に分類されて67から70の各FIFOメモリに読み込まれ、読み出し制御信号が入力されるまで格納される。
【0111】
このように上記67から70のFIFOメモリに格納されたパケットは、第2の読み出し制御手段62に同時に先読みされる。このとき読み出されたパケット先頭の第2ヘッダに含まれるサイクル数と第1のタイムスタンプに加えられたオフセット値は、サイクル数比較手段61へ出力される。サイクル数比較手段61では、入力されたサイクル数と、第1のオフセット値(3サイクル)とを加算し、この加算結果と、バス基準時刻計時手段4が出力する基準時刻との比較を行い、一致すると、第2の読み出し制御手段62へ、サイクル数一致信号が出力される。
【0112】
また第2の読み出し制御手段62では、サイクル数比較手段61よりサイクル数一致信号が入力されると、第2のメモリ手段60へ読み出し制御信号が出力され、読み出すパケットが格納されたFIFOメモリから、パケットが読み出されてメモリ選択手段63へ出力される。具体的に、第2のメモリ手段60では、読み出し制御端子75から読み出すパケットを格納したFIFOメモリ68へ読み出し制御信号が出力される。FIFOメモリ68に読み出し制御信号が入力されると、FIFOメモリ68に格納されたパケットが読み出され、出力端子72よりメモリ選択手段63へ出力される。このとき上記メモリ選択手段63では、第2のメモリ手段60におけるFIFOメモリ67から70の出力のうち、FIFOメモリ68の出力が選択されており、このメモリ選択手段63に入力されたパケットは、第1のパケット送受信手段3へ出力される。
【0113】
また、FIFOメモリ68以外に、FIFOメモリ67,69,70のいずれかで、同時に読み出すと判断された場合は、各FIFOメモリから順に1パケット単位ずつ読み出しが行われるように、メモリ選択手段63ではFIFOメモリ67〜70の出力が切替えられて入力される。
第1のパケット送受信手段3では、送出するパケットの帯域が確保されると、内部バス21で受信したゲートノード64bからのアイソクロナスパケットが、外部バス1aへ送出される。
【0114】
このように本実施の形態2によるパケット転送装置では、ゲートノード64は、各ゲートノードから送出されたパケットを送信元のゲート毎に格納する第2のメモリ手段60と、第2のメモリ手段60からの出力を選択するメモリ選択手段63と、を備えたので、複数の外部バスから送信されたパケットを、混同することなく同時に受信することができ、自の外部バスの各送信先の機器(ノード)へ同時に転送することができる。
【0115】
また、本パケット転送装置の第2のメモリ手段60は、複数のFIFOメモリを備えているので、非サイクル制御型調停を用いてサイクル数逆転が生じた場合,つまり、各機器(ノード)から送信されたアイソクロナスパケットがサイクルの順番通りに受信側のゲートノードで受信されなかった場合でも、受信側のゲートノードでは、各機器(ノード)からアイソクロナスパケットが送信されたサイクルの順番に、送信先の機器(ノード)へ転送することができ、非サイクル制御型調停でもアイソクロナスパケットの相互転送を矛盾無く行うことができる。
【0116】
なお、本実施の形態2では、ゲートノード64aが、複数の他の外部バスから内部バス21上へ送出されたパケットを、同時に受信する動作を中心に説明したが、上記ゲートノード64aがパケットを受信している間に、他のゲートノード64b〜64dでも、内部バス21上の複数の送信元からのパケットを同時に受信し、自の外部バスへ転送することができる。
【0117】
(実施の形態3)
図14は、本実施の形態3を説明するためのパケット転送装置300の構成を示すブロック図である。
パケット転送装置300は、全ての外部バスの基準時刻を統一させるための基準時刻用バス96と、外部バス間の時刻差を検出する時刻差検出手段112と、バス基準時刻計時手段76の示す時刻を他のゲートノードにブロードキャストするためのスイッチ92a〜92dとを有し、各ゲートノードのバス基準時刻計時手段76は、スイッチ92を介して基準時刻用バス96,または時刻差検出手段112と、接続されている。
【0118】
ここで、自ノードがサイクルマスタになれなかったゲートのバス基準時刻計時手段76では、バス基準時刻計時手段76の示す時刻が、基準時刻用バス96を介して、サイクルマスタとなった他ゲートへブロードキャストされ、他ゲートのバス基準時刻計時手段76では、ブロードキャストされた上記時刻を、基準時刻用バス96よりロードして、サイクルマスタとなったバスの基準時刻を、サイクルマスタになれなかったバスの基準時刻に合わせ、外部バス間の基準時刻を同一にするように構成されている。
【0119】
また、本パケット転送装置300は、アイソクロナスパケットを送受信する外部バス間で、基準時刻を同一にしない場合、時刻差検出手段は、パケットの送受信を行う外部バス間の時刻差を検出し、受信側のゲートノードで、検出された時刻差の分を転送遅延サイクルと合わせて、自の外部バスへパケットを転送する際に、早めたり遅らせたりすることにより、アイソクロナスパケットのサイクルと、外部バスの基準時刻(基準サイクル)とを同一にするように構成されている。
【0120】
また図13は、バス基準時刻計時手段76の構成を示すブロック図である。
バス基準時刻計時手段76では、切替え手段83は、第1の時計手段22の出力する絶対時刻を入力する入力端子80と、第1のパケット送受信手段3で受信したサイクルスタートパケットを入力する入力端子81と、サイクルスタートパケットを受信する度に、基準時刻用バス96より基準時刻を入力する入力端子82とを有する。
【0121】
本実施の形態3では、図16を参照し、アイソクロナスパケットの送受信を行う外部バス1a〜1cにおいて、本パケット転送装置300のゲートノード79aおよび79cが外部バス1aおよび1cに対しサイクルマスターノードとなり、ゲートノード79bは外部バス1bのサイクルマスタノードになれなかった場合に、外部バス1bの第3のディジタルVCR99から外部バス1aの第1のディジタルVCR102へパケットを転送する場合を例に説明する。また、このとき外部バス1bのサイクルマスタノードは、第1のSTB101がなるものとする。なお、パケット転送装置300のゲートノード79a〜79cが全てサイクルマスタノードとなる場合は、実施の形態2と同様の動作を行う。
【0122】
次に動作について説明する。
バスリセット後にゲートノード79a及びゲートノード79cは、自の外部バス1a及び1cでルートノードになるとともに、サイクルマスタノードに決定し、その瞬間、第1の時計手段22の出力する絶対時刻が、バス基準時刻計時手段76にロードされ、サイクルスタートパケットに上記絶対時刻が記されて外部バス1a及び1cへブロードキャストされる。
【0123】
このとき、サイクルマスタノードになれなかったゲートノード79bでは、サイクルマスタノードとなった第1のSTB101よりブロードキャストされたサイクルスタートパケットが、第1のパケット送受信手段3より入力され、バス基準時刻計時手段76へ出力される。
【0124】
バス基準時刻計時手段76では、入力されたサイクルスタートパケットに記された時刻がロードされ、ロードされた時刻は、スイッチ92bを通して基準時刻用バス96へ出力される。具体的には、バス基準時刻計時手段76へ、切替え手段83で入力端子81が選択され、入力端子81よりサイクルスタートパケットが入力される。サイクルスタートパケットが入力されると、サイクルスタートパケットに記された時刻は、カウンタ84,85,86へロードされ、ロードされた時刻は出力端子87より出力される。
【0125】
次に、サイクルマスタノードとなったゲートノード79a及び79cでは、基準時刻用バス96を流れる上記ゲートノード79bの基準時刻が、入力端子77a及び77cよりバス基準時刻計時手段76へそれぞれ入力される。このとき、ゲートノード79a及び79cのバス基準時刻計時手段では、入力された基準時刻がロードされ、ロードされた時刻は、第1のパケット送受信手段にて、サイクルスタートパケットに記されて、各外部バス1a及び1cへ出力される。具体的には、バス基準時刻計時手段76では、切替え手段83で入力端子82が選択され、入力端子82より基準時刻用バス96を流れるゲートノード79bの基準時刻が入力される。そして、この入力された時刻はカウンタ84,85,86へロードされ、ロードされた時刻は出力端子87より出力される。
【0126】
このように、アイソクロナスパケットの送信もしくは受信を行う外部バスのうち、サイクルマスタノードとなったゲートノード79a及び79cは、サイクルマスタノードになれなかったゲートノード79bの基準時刻に合わせることによって、アイソクロナスパケットの送受信を行う全ての外部バスの基準時刻が統一される。アイソクロナスパケットの送受信を行うバス間の基準時刻が統一されると、第3のディジタルVCR99からアイソクロナスパケットが送信され、ゲートノード79bヘ入力される。以下のアイソクロナスパケットの送受信は、実施の形態1と同様の動作で行われる。
【0127】
次に、アイソクロナスパケットの送受信を行うバス間で、バスの基準時刻を統一しない場合を説明する。
アイソクロナスパケットの送受信を行う外部バス間でバス基準時刻を統一しない場合、ゲートノード79a及び79bにおけるゲート制御手段109a及び109bより、それぞれ時刻差検出手段109へ時刻差を検出するように時刻差検出信号が出力されるとともに、バス基準時刻計時手段76a及び76bへ、バス基準時刻計時手段76a及び76bの示す時刻をそれぞれ時刻差検出手段112へ出力するように計時時刻出力信号が出力される。バス基準時刻計時手段76a及び76bでは、ゲート制御手段109a及び109bより計時時刻出力信号が入力されると、バス基準時刻計時手段76a及び76bの示す時刻をそれぞれ出力端子78a及び78bを通して、時刻差検出手段112へ出力される。
【0128】
時刻差検出手段112では、上記時刻差検出信号が入力されると、上記バス基準時刻計時手段76a及び76bより入力されたそれぞれの外部バスの基準時刻より、外部バス間の基準時刻の時刻差が検出され、検出された時刻差は第2のオフセット値として、ゲートノード79bの第1のタイムスタンプオフセット手段7bへ出力される。
このように、アイソクロナスパケットの送受信を行う外部バス間の基準時刻差が検出されると、第3のディジタルVCR99からアイソクロナスパケットが送信され、ゲートノード79bに受信される。
【0129】
以下、アイソクロナスパケットの送受信は、送信側のゲートノード79bでは、第1のタイムスタンプオフセット手段7がタイムスタンプに、転送遅延分の3サイクルとしての第1のオフセット値と、外部バス間の時刻差としての第2のオフセット値とを加える他は、実施の形態1と同様の動作が行われてアイソクロナスパケットが送信される。
【0130】
一方、受信側のゲートノード79aでは、タイムスタンプに加えられた第1のオフセット値と第2のオフセット値の分だけ、パケットを送信するタイミングを、早めたり、遅らせたりして外部バス1aへパケットを送信する。具体的には、サイクル数比較手段14は、パケットの第2ヘッダに含まれるサイクル数に、タイムスタンプに転送遅延サイクル,及び時刻差として加えられた第1と第2のオフセット値を加算し、この加算した値が外部バス1aの基準時刻と一致するかどうか比較を行う。その他は、実施の形態1と同様の動作が行われて、アイソクロナスパケットが内部バス21より受信され、自の外部バス1aへ転送される。
【0131】
このように、本実施の形態3におけるパケット転送装置300は、基準時刻用バス96を備え、外部バスに対しサイクルマスタノードになれなかったゲートノードの示す基準時刻に、他のサイクルマスタノードとなれたゲートノードの基準時刻を合わせる構成としたので、アイソクロナスパケットの送受信を行うゲートノードの中に、サイクルマスターノードとなれなかったゲートノードがあっても、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同一とすることができ、アイソクロナスパケットの送受信を行うことができる。
【0132】
また、パケット転送装置300は、時刻差検出手段112を備え、送信側のゲートノードでは、アイソクロナスパケットの送受信を行う外部バス間の時刻差を検出し、受信側のゲートノードでは、転送遅延サイクルと検出された時刻差の分だけ、アイソクロナスパケットの、自の外部バスへの転送を、早めたり遅らせたりするように構成したので、異なる外部バス間で、基準時刻を一致させなくてもアイソクロナスパケットの送受信を行うことができる。
【0133】
さらに、上記各実施の形態で示したパケット転送装置によるパケット転送処理をソフトウエアにより行うためのパケット転送処理プログラムを、フロッピーディスク等のデータ記憶媒体に記録するようにすることにより、上記各実施の形態でのパケット転送処理を、独立したコンピュータシステムにおいて簡単に実現することが可能となる。
【0134】
図17は、上記各実施の形態のパケット転送処理を、上記パケット転送処理プログラムを格納したフロッピーディスクを用いて、コンピュータシステムにより実施する場合を説明するための図である。
図17(a) は、フロッピーディスクの正面からみた外観,断面構造,及びフロッピーディスク本体を示し、図17(b) は、該フロッピーディスク本体の物理フォーマットの例を示している。
上記フロッピーディスクFDは、上記フロッピーディスク本体DをフロッピーディスクケースFC内に収容した構造となっている。該フロッピーディスク本体Dの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成されている。各トラックTrは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフロッピーディスクFDでは、上記フロッピーディスク本体Dは、その上に割り当てられた領域(セクタ)Seに、上記プログラムとしてのデータが記録されたものとなっている。
また、図17(c) は、フロッピーディスクFDに対する上記プログラムの記録、及びフロッピーディスクFDに格納したパケット転送処理プログラムを用いたソフトウエアによるパケット転送処理を行うための構成を示している。
【0135】
上記プログラムをフロッピーディスクFDに記録する場合は、コンピュータシステムCsから上記パケット転送処理プログラムとしてのデータを、フロッピーディスクドライブFDDを介してフロッピーディスクFDに書き込む。また、フロッピーディスクFDに記録されたパケット転送処理プログラムにより、上記パケット転送装置をコンピュータシステムCs中に構築する場合は、フロッピーディスクドライブFDDによりパケット転送処理プログラムをフロッピーディスクFDから読み出し、コンピュータシステムCsにロードする。
【0136】
なお、上記説明では、データ記憶媒体の具体例としてフロッピーディスクを挙げたが、光ディスクを用いても上記フロッピーディスクの場合と同様にソフトウェアによるパケット転送処理を行うことができる。さらに、データ記憶媒体は上記光ディスクやフロッピーディスクに限るものではなく、ICカード、ROMカセット等、プログラムを記録できるものであればどのようなものでもよく、これらのデータ記録媒体を用いる場合でも、上記フロッピーディスク等を用いる場合と同様にソフトウェアによるパケット転送処理を実施することができる。
【0137】
【発明の効果】
以上のように、請求項1に記載の発明に係るパケット転送装置によれば、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの任意の自然数)の外部バスへアイソクロナスパケットを転送する装置であって、任意の第jの外部バスから任意の第kの外部バスへのアイソクロナスパケットの転送を行う内部バスと、上記内部バスと、上記第1から第nの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第1から第n(nは2以上の自然数)のゲートノードと、アイソクロナスパケットの送受信を行う任意の第jと任意の第kの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有し、上記第1から第nのゲートノードは、自らの外部バス、及び上記内部バスからのパケットの送受信を行う第1のパケット送受信手段と、受信されたアイソクロナスパケットにタイムスタンプが含まれているか否か、を判定するタイムスタンプ判定手段と、上記タイムスタンプの位置を検出するタイムスタンプ位置検出手段と、検出された上記タイムスタンプの位置情報に基づき、タイムスタンプにオフセット値を加算、もしくは減算するタイムスタンプオフセット手段と、転送先または転送元の情報、及び内部バスでの送受信に用いる情報とを含む第2のヘッダをアイソクロナスパケットに付加する内部バスヘッダ付加手段と、上記第2のヘッダを付加したアイソクロナスパケットを格納する第1のメモリ手段と、上記第1のメモリ手段に格納されたアイソクロナスパケットに付加された第2のヘッダを先読みし、第1のメモリ手段から内部バスへのアイソクロナスパケットの転送を制御する第1の読み出し制御手段と、を有し、自らの外部バスから受信したアイソクロナスパケットを、内部バスへ転送するものとしたので、異なる外部バスに接続された63台以上の機器間で、バスリセットに伴う転送の中断を生じることなく、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0139】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nのゲートノードは、内部バスを流れるアイソクロナスパケットより特定のパケットを選択し受信するパケット選択手段と、受信したアイソクロナスパケットを自らの外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段と、受信したアイソクロナスパケットのパケットヘッダを、上記レジスタ手段からの出力に基づき書き換えるヘッダ書換え手段と、上記パケットヘッダの書き換えられたアイソクロナスパケットを格納する第2のメモリ手段と、上記第2のヘッダに含まれるサイクル数と、タイムスタンプに含まれるオフセット値とを加算し、この加算した値と、外部バスの基準サイクルとを比較するサイクル数比較手段と、上記第2のメモリ手段に格納されたアイソクロナスパケットを先読みし、第2のメモリ手段から自らの外部バスへのアイソクロナスパケットの転送を制御する第2の読み出し制御手段と、を有し、内部バスから受信したアイソクロナスパケットを、自らの外部バスへ転送することを特徴とするものとしたので、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができ、63台以上の機器間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0140】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記同期手段は、外部バスとは独立して時間を計時する第1の時計手段と、上記第1の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするものとしたので、異なる外部バス間で基準時刻を同期させることができ、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0141】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項に記載のパケット転送装置において、上記バス基準時刻計時手段は、上記第1の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させることを特徴とするものとしたので、異なる外部バス間で基準時刻を同一にさせることができ、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0142】
また、請求項に記載の発明に係るパケット転送装置は、請求項1に記載のパケット転送装置において、上記同期手段は、上記バス基準時刻計時手段の示す時刻を、他ゲートノードへブロードキャストするための基準時刻用バスを有し、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させることを特徴とするものとしたので、自ノードがサイクルマスタノードになれなかったゲートノードも、他の外部バスとの間で、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0143】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項に記載のパケット転送装置において、上記基準時刻用バスは、任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させることを特徴とするものとしたので、アイソクロナスパケットの送受信を行う外部バス間で基準時刻を同一にしなくても、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0144】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項、またはに記載のパケット転送装置において、上記同期手段は、外部バスのサイクル数を表すビットの内、少なくとも下位4ビットを概一致させることを特徴とするものとしたので、アイソクロナスパケットの相互転送を行う外部バス間の基準時刻が同一となりアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0145】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項からのいずれかに記載のパケット転送装置において、上記同期手段は、アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするものとしたので、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0146】
また、請求項に記載の発明に係るパケット転送装置によれば、請求項に記載のパケット転送装置において、上記オフセット手段は、上記第jの外部バスから上記第kの外部バスへパケットを転送するのに要する時間により規定される第1のオフセット値を、上記タイムスタンプに加算することを特徴とするものとしたので、アイソクロナスパケットのサイクルと、受信側のゲートノードの基準時刻(基準サイクル)とを同一にさせることができ、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0147】
また、請求項10に記載の発明に係るパケット転送装置によれば、請求項に記載のパケット転送装置において、上記第jの外部バスの基準時刻と、上記第kの外部バスの基準時刻の差により規定される第2のオフセット値を検出する時刻差検出手段を有し、上記タイムスタンプオフセット手段は、上記第1のオフセット値と、上記第2のオフセット値とを加算した値を、上記検出したタイムスタンプに、加算もしくは減算することを特徴とするものとしたので、アイソクロナスパケットの相互転送を行う外部バス間で基準時刻を同一にせずに、異なる外部バス間でアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0148】
また、請求項11に記載の発明に係るパケット転送装置によれば、請求項、または10に記載のパケット転送装置において、上記第1のオフセット値は、固定サイクル値であることを特徴とするものとしたので、アイソクロナスパケットのサイクルと、受信側のゲートノードの基準時刻(基準サイクル)とを同一にすることができるという効果を有する。
【0149】
また、請求項12に記載の発明に係るパケット転送装置によれば、請求項、または10に記載のパケット転送装置において、上記第2のオフセット値は、固定サイクル値であることを特徴とするものとしたので、アイソクロナスパケットのサイクルと、受信側のゲートノードの基準時刻(基準サイクル)とを同一にすることができるという効果を有する。
【0150】
また、請求項13に記載の発明に係るパケット転送装置は、請求項1から12のいずれかに記載のパケット転送装置において、調停サイクルを出力する第2の時計手段と、上記第1から第nの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、を有し、上記第1から第nの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものであることを特徴とするものとしたので、受信側の機器(ノード)では、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に受信することができ、異なる外部バス間でのアイソクロナスパケットの相互転送を矛盾無く行うことができるという効果を有する。
【0151】
また、請求項14に記載の発明に係るパケット転送装置によれば、請求項13に記載のパケット転送装置において、上記第1の読み出し制御手段は、上記調停サイクルと、上記第1のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第1のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、上記内部バス調停手段は、上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第1から第nの各外部バスによる内部バスの使用期間を切替えるものであることを特徴とするものとしたので、受信側の機器(ノード)では、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に受信することができ、異なる外部バス間でのアイソクロナスパケットの相互転送を矛盾無く行うことができるという効果を有する。
【0152】
また、請求項15に記載の発明に係るパケット転送装置によれば、請求項14に記載のパケット転送装置において、上記第jの外部バスから上記内部バスへアイソクロナスパケットを転送する際、上記第1のメモリ手段は、上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものとしたので、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に、受信側の機器(ノード)へ、アイソクロナスパケットを転送することができるという効果を有する。
【0153】
また、請求項16に記載の発明に係るパケット転送装置によれば、請求項14に記載のパケット転送装置において、上記内部バスから上記第kの外部バスへアイソクロナスパケットを転送する際、上記第2のメモリ手段は、上記第kの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするものとしたので、アイソクロナスパケットを、受信側の外部バスの基準時刻に同期させて、受信側の機器(ノード)へ転送することができるという効果を有する。
【0154】
また、請求項17に記載の発明に係るパケット転送装置によれば、請求項15に記載のパケット転送装置において、上記第1のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものとしたので、送信側の機器(ノード)よりアイソクロナスパケットが送信された順番に、受信側の機器(ノード)へ、アイソクロナスパケットを転送することができるという効果を有する。
【0155】
また、請求項18に記載の発明に係るパケット転送装置によれば、請求項16に記載のパケット転送装置において、上記第2のメモリ手段は、FIFOメモリ手段により構成されるものであることを特徴とするものとしたので、アイソクロナスパケットを、受信側の外部バスの基準時刻に同期させて、受信側の機器(ノード)へ転送することができるという効果を有する。
【0156】
また、請求項19に記載の発明に係るパケット転送装置によれば、請求項18に記載のパケット転送装置において、上記第2のメモリ手段は、上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するM個(Mは自然数)のFIFOメモリ手段より構成されるものであることを特徴とするものとしたので、複数の機器(ノード)から送信されたアイソクロナスパケットを同時に受信することができ、受信先の複数の機器(ノード)へ矛盾無く転送することができるという効果を有する。
【0157】
また、請求項20に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスと、上記内部バスは同一規格のバスであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0158】
また、請求項21に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記内部バスの最大伝送レートは、上記第1から第nの外部バスのアイソクロナスパケット最大伝送レートの総和の1/2以下であることを特徴とするものとしたので、全外部バスで最大転送レートを使っているときのパケットを全て転送することができるという効果を有する。
【0159】
また、請求項22に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスはシリアルバスであり、上記内部バスはパラレルバスであることを特徴とするものとしたので、高伝送レートを容易に得ることができ、異なる外部バス間でのアイソクロナスパケットの相互転送を容易に実現することができるという効果を有する。
【0160】
また、請求項23に記載の発明に係るパケット転送装置によれば、請求項1に記載のパケット転送装置において、上記第1から第nの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を容易に実現することができるという効果を有する。
【0161】
また、請求項24に記載の発明に係るパケット転送装置によれば、請求項1から23のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、IEEE1394シリアルバスであることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0162】
また、請求項25に記載の発明に係るパケット転送装置によれば、請求項1から24のいずれかに記載のパケット転送装置において、上記第1から第nの外部バスは、USB(Universal Serial Bus)であることを特徴とするものとしたので、異なる外部バス間でのアイソクロナスパケットの相互転送を行うことができるという効果を有する。
【0163】
また、請求項26に記載の発明に係る記録媒体によれば、アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの自然数)の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、上記パケット転送処理プログラムは、請求項1から25のいずれかに記載のパケット転送装置によるパケット転送処理をコンピュータに行わせるプログラムを格納したことを特徴とするものとしたので、異なる外部バスに接続された63台以上の機器間で、バスリセットに伴う転送の中断を生じることなく、アイソクロナスパケットの相互転送を行うことができるという効果を有する。
【図面の簡単な説明】
【図1】 本実施の形態1のゲートノード24の構成を示すブロック図である。
【図2】 本実施の形態1及び2におけるバス基準時刻計時手段4の構成を示すブロック図である。
【図3】 図3(a)は、IEEE1394シリアルバスのアイソクロナスパケットを示す構造図であり、図3(b)、及び図3(c)は、DVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示す構造図である。
【図4】 図4(a)、及び図4(b)は、DVパケットのヘッダ部(アイソクロナスパケットヘッダ,CIPヘッダ)の一例を示す構造図である。
【図5】 図5(a)、及び図5(b)は、アイソクロナスパケット先頭に付加され、内部バスと外部バスとの送受信の際に用いられる内部バスヘッダ(第2のヘッダ)の構造を示す図である。
【図6】 本実施の形態1から3における第1のメモリ手段9、及び第2のメモリ手段13の構成を示すブロック図である。
【図7】 本発明の非サイクル制御型調停を説明するためのタイムチャート図である。
【図8】 本発明のサイクル制御型調停を説明するためのタイムチャート図である。
【図9】 本実施の形態1および2におけるパケット転送装置の構成を示すブロック図である。
【図10】 本実施の形態2におけるゲートノード64の構成を示すブロック構成図である。
【図11】 本実施の形態2における第2のメモリ60の構成を示すブロック図である。
【図12】 本実施の形態3におけるゲートノード79の構成を示すブロック図である。
【図13】 本実施の形態3におけるバス基準時刻計時手段76の構成を示すブロック図である。
【図14】 本実施の形態3におけるパケット転送装置300の構成を示す図である。
【図15】 本発明のパケット転送装置と、複数の機器(ノード)が接続された複数の外部バスとの接続例を示す図である。
【図16】 本発明のパケット転送装置と、複数の機器(ノード)が接続された複数の外部バスとの接続例を示す図である。
【図17】 図17(a)及び(b)は、上記各実施の形態のパケット転送処理をコンピュータシステムにより行うためのパケット転送処理プログラムを格納したデータ記録媒体であり、図17(c)は、上記コンピュータシステムを説明するための図である。
【図18】 図18(a)、及び図18(b)は、IEEE1394のアイソクロナスパケットの送信を表す概念図である。
【図19】 図19(a)、及び図19(b)は、従来の、IEEE1394シリアルバスと機器(ノード)との接続例を示す図である。
【符号の説明】
1,203,204 外部バス
3 第1のパケット送受信手段
4,76 バス基準時刻計時手段
5 第1のタイムスタンプ判定手段
6 第1のタイムスタンプ位置検出手段
7 第1のタイムスタンプオフセット手段
8 内部バスヘッダ付加手段
9 第1のメモリ手段
10 第1の読み出し制御手段
11 パケット選択手段
12 ヘッダ書き換え手段
13, 60 第2のメモリ手段
14 サイクル数比較手段
15 , 62 第2の読み出し制御手段
21 内部バス
22 第1の時計手段
23 内部バス調停手段
24,64,79 ゲートノード
27,83 切り替え手段
28,29,30,84,85,86 カウンタ手段
32,38,41,44,47 アイソクロナスパケットヘッダ
33,39,42,45,48 ヘッダCRC
34,40,43,46,49 CIPヘッダ
35 データフィールド
36 データCRC
37 パケットデータ
50,51 第2のヘッダ(内部バスヘッダ)
53,67,68,69,70 FIFOメモリ
63 メモリ選択手段
66 送信元判断手段
92 スイッチ
96 基準時刻バス
106 サイクル数保持手段
107 第2の時計手段
108,113 レジスタ手段
109 ゲート制御手段
112 時刻差検出手段
97,98,99,101,102,103,104,201,202,203 端末機器
206 サイクルスタートパケット
207 調停期間
208 データプレフィックス期間
209 アイソクロナスパケット
210 データエンド期間
Cs コンピュータシステム
D フロッピーディスク
FC フロッピーディスクケース
FD フロッピーディスク
FDD フロッピーディスクドライブ
Se セクタ
Tr トラック
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet transfer apparatus having an isochronous packet transmission function represented by an IEEE 1394 serial bus or the like and connecting a plurality of buses.
[0002]
[Prior art]
In recent years, a network is formed by connecting a plurality of AVC devices such as digital VCRs or personal computers using an ISO / IEC13213-compliant serial bus such as an IEEE 1394 serial bus, and data transmission between the devices is performed.
In the IEEE 1394 serial bus, 125 μsec is one cycle of data transmission. In addition, the IEEE 1394 serial bus defines isochronous communication (synchronous communication) in which data transmission is performed immediately in response to a transmission request, and in some cases asynchronous (asynchronous communication) in which data transmission is performed after the generation of the transmission request. ing. The isochronous communication is a communication method used for transmitting data such as AV (Audio Video) data that requires real-time performance. In this isochronous communication, prior to the start of data transmission, first, a bandwidth necessary for data transmission is acquired, and at least one packet of data is transmitted once in one cycle (125 μs) using the previously acquired bandwidth. Perform transmission. This guarantees real-time data transmission.
[0003]
On the other hand, the asynchronous communication is a communication method used for transmission of data that does not require real-time properties, such as transmission of computer data such as commands and still image data.
Currently, as a method for transmitting AV data using isochronous communication, a data transmission method for digital VCR (Video Cassette Recorder), a data transmission method for MPEG2 transport stream, and the like are defined.
[0004]
Hereinafter, a communication method in the conventional IEEE 1394 network will be briefly described.
FIG. 19A shows a network in which two terminal devices are connected via the IEEE 1394 serial bus, and FIG. 19B shows a network in which three terminal devices are connected via the IEEE 1394 serial bus. Each is shown schematically.
The IEEE 1394 network shown in FIG. 19A includes a first digital VCR 201 that transmits an isochronous packet, a second digital VCR 202 that receives the isochronous packet, and an IEEE 1394 serial bus 203 that connects the VCR 201 and the VCR 202. .
[0005]
19B connects the first digital VCR 201 that transmits an isochronous packet, the second digital VCR 202 that receives the isochronous packet, a third digital VCR 205, and the VCR 201 and the VCR 202. An IEEE 1394 serial bus 203 and an IEEE 1394 serial bus 204 for connecting the VCR 202 and the VCR 205 are configured. The first digital VCR 201 is a main terminal device that outputs a cycle start packet every 125 μs on the network. The main terminal device 201 is also configured to assign a frequency band used by each terminal for data transmission.
[0006]
In the IEEE 1394 network, the time used for isochronous communication and the time used for asynchronous communication are allocated to one cycle period, and 80% of the one cycle period is allocated to isochronous communication and the remaining 20%. Has been used for asynchronous communication. Each terminal device performs data transmission by isochronous communication for data that requires real-time processing, and performs data transmission by asynchronous communication for data that does not require real-time processing.
[0007]
Next, the operation will be described.
After the bus reset, first, in order to make a packet transferable state, a parent-child relationship between nodes is determined by tree identification, and a root node that arbitrates requests using a bus from a plurality of nodes is determined. By this tree identification, the node of the VCR 201 becomes a root node, and the node of the VCR 202 becomes a child node.
Next, an identification number is assigned to each node by self-identification for identifying the own node and other nodes, the node identification number of the VCR 201 is physical_ID = 0, and the node identification number of the VCR 202 is physical_ID = 1. Become.
[0008]
Next, the node of the VCR 201 asks the root node 201 for permission (band usage right) of the band used for data transmission. The root node 201 arbitrates a bandwidth use request (bus use right) from each node and sequentially gives the bus use right to each node. When the right to use the bus is granted, the node of the VCR 201 acquires the bandwidth and channel number necessary for isochronous packet transfer, and then uses the bandwidth to at least once in one cycle period. Transmit the packet to the VCR 202.
[0009]
FIG. 18 is a conceptual diagram for explaining transmission of isochronous packets.
In the figure, 206 is a cycle start packet, 207 is a period for arbitrating requests from a plurality of nodes in a bus arbitration period, and 208 is a bus that holds a bus until the node that has acquired the right to use the bus is ready for packet transmission. A data prefix period 210 is a period indicating that packet transmission is completed at the data end.
[0010]
The root node 201 outputs a cycle start packet 206 indicating the head position for each cycle. When the node of the VCR 201 obtains the right to use the bus through the bus arbitration period 207, the bus is held until the packet transmission preparation is completed (data prefix period 208). An isochronous packet 209 is output.
[0011]
Further, in isochronous transmission, transmission of a plurality of channels is possible as shown in FIG. 18B, but in this case, a band is secured for each channel.
Further, such isochronous transmission in IEEE 1394 is described in detail in the IEEE Std 1394-1995 standard “IEEE Standard for a High Performance Serial BUS”.
[0012]
[Problems to be solved by the invention]
However, in the IEEE 1394 serial bus, only a maximum of 63 nodes can be connected per bus (tree), and the 64th and subsequent nodes cannot be connected. In addition, when multiple buses are connected via a bus bridge, approximately 64000 nodes can be connected. However, the bus bridge does not have a function of performing mutual transfer of isochronous packets between different buses. Dubbing or the like cannot be performed from one deck to several hundreds of decks at a time, as in the case of a dubbing apparatus for an automobile.
[0013]
In IEEE 1394, as shown in FIG. 19B, during transmission of an isochronous packet from the first digital VCR 201 to the second digital VCR 202, the third digital VCR 205 is newly transferred to the second digital VCR 202 via the bus 204. If it is additionally connected, the entire bus will be reset. When a bus reset occurs due to such addition of a new device or disconnection of the device, the previously established isochronous transmission from the first digital VCR 201 to the second digital VCR 202 is temporarily interrupted. End up.
[0014]
In view of the above-described problems, the present invention allows a plurality of serial buses to be connected to each other in an IEEE 1394 serial bus or the like, so that isochronous packet transfer can be performed between 63 or more devices, and the transfer of isochronous packets can be performed without interruption. It is an object of the present invention to provide a packet transfer apparatus capable of adding, disconnecting, and the like, and a data recording medium storing a program for causing a computer to perform packet transfer processing by the packet transfer apparatus.
[0015]
[Means for Solving the Problems]
  In order to solve the above problem, the packet transfer apparatus according to the first aspect of the present invention is an arbitrary one of first to nth (n is a natural number of 2 or more) external buses having an isochronous packet transmission function. Is an apparatus for transferring an isochronous packet from an external bus of jth (j is a natural number from 1 to n) to an external bus of any kth (k is an arbitrary natural number from 1 to n). An internal bus that transfers isochronous packets from any external bus to any kth external bus, the internal bus, and the first to nth external buses, First to nth (n is a natural number greater than or equal to 2) gate nodes for transmitting / receiving isochronous packets to / from the internal bus, and any jth and arbitrary kth external buses for transmitting / receiving isochronous packets. Between, outside Synchronization means for synchronizing the reference time of the busThe first to nth gate nodes have their own external bus and first packet transmission / reception means for transmitting / receiving packets from the internal bus, and whether the received isochronous packet includes a time stamp. A time stamp determination means for determining whether or not, a time stamp position detection means for detecting the position of the time stamp, and an offset value is added to or subtracted from the time stamp based on the detected position information of the time stamp. An internal bus header adding means for adding a second header including time stamp offset means, transfer destination or transfer source information, and information used for transmission / reception on the internal bus to the isochronous packet, and the second header added. First memory means for storing isochronous packets, and the first memory means First read control means for prefetching a second header added to the stored isochronous packet and controlling transfer of the isochronous packet from the first memory means to the internal bus, and has its own external bus The isochronous packet received from is transferred to the internal bus.
[0017]
  Claims2A packet transfer device according to the invention described in claim1In the packet transfer apparatus described above, the first to n-th gate nodes select and receive a specific packet from isochronous packets flowing through the internal bus, and send the received isochronous packet to their external bus. Register means for holding a channel number, header rewriting means for rewriting the packet header of the received isochronous packet based on the output from the register means, and a second memory for storing the rewritten isochronous packet of the packet header Means for adding the cycle number included in the second header and the offset value included in the time stamp, and comparing the added value with the reference cycle of the external bus; 2 is stored in the memory means Second read control means for prefetching the packet and controlling transfer of the isochronous packet from the second memory means to its own external bus, and for receiving the isochronous packet received from the internal bus as its own external bus It is characterized by transferring to.
[0018]
  Claims3The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein the synchronization means is a first clock means for measuring time independently of the external bus, and the first clock. And a bus reference time counting means for synchronizing the time of the external bus with the means as a reference.
[0019]
  Claims4A packet transfer device according to the invention described in claim3In the packet transfer apparatus described in (1), the bus reference time measuring means substantially matches the time indicated by the first clock means with the reference time of the external bus.
[0020]
  Claims5The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein the synchronization means includes a reference time bus for broadcasting the time indicated by the bus reference time measuring means to another gate. The reference time of another external bus is synchronized with the reference time of an arbitrary or specific external bus.
[0021]
  Claims6A packet transfer device according to the invention described in claim5The reference time bus is characterized in that the reference time of another external bus is substantially coincident with the reference time of an arbitrary or specific external bus.
[0022]
  Claims7A packet transfer device according to the invention described in claim4Or6In the packet transfer apparatus described in (1), the synchronization means roughly matches at least the lower 4 bits among the bits representing the number of cycles of the external bus.
[0023]
  Claims8A packet transfer device according to the invention described in claim3From7In the packet transfer apparatus according to any one of the above, the synchronization means has synchronization accuracy in units of isochronous packet transmission cycles.
[0024]
  Claims9A packet transfer device according to the invention described in claim1In the packet transfer apparatus according to claim 1, the offset means uses a first offset value defined by a time required to transfer a packet from the jth external bus to the kth external bus as the time stamp. It is characterized by adding.
[0025]
  Claims10A packet transfer device according to the invention described in claim1The packet transfer apparatus according to claim 1, further comprising a time difference detecting means for detecting a second offset value defined by a difference between the reference time of the jth external bus and the reference time of the kth external bus, The time stamp offset means adds or subtracts a value obtained by adding the first offset value and the second offset value to the detected time stamp.
[0026]
  Claims11A packet transfer device according to the invention described in claim9Or10In the packet transfer apparatus described in 1), the first offset value is a fixed cycle value.
[0027]
  Claims12A packet transfer device according to the invention described in claim9Or10In the packet transfer apparatus described in 1), the second offset value is a fixed cycle value.
[0028]
  Claims13The packet transfer device according to the invention described in claim 1 is from12In the packet transfer apparatus according to any one of the above, the second clock means for outputting the arbitration cycle and the request for using the internal buses output from the first to nth gate nodes are arbitrated, and the buses are used in order. And an internal bus arbitration unit that grants the right to each gate node, and transfers isochronous packets from the first to nth external buses to the internal bus. .
[0029]
  Claims14A packet transfer device according to the invention described in claim13In the packet transfer apparatus according to claim 1, the first read control unit compares the arbitration cycle with the number of cycles when the first packet transmitting / receiving unit receives an isochronous packet, and when the number of cycles matches. A request to use the bus is output to the internal bus arbitration means, and when the right to use the bus is obtained from the internal bus arbitration means, the isochronous packet stored in the first memory means is sent to the internal bus. When the packet to be transmitted is controlled, the cycle bus signal is output to the internal bus arbitration unit. When the cycle bus signal is input, the internal bus arbitration unit uses the internal bus. The use of the internal bus by each of the first to nth external buses is given to the next gate node requesting the bus. Is characterized in that in which switching period.
[0030]
  Claims15A packet transfer device according to the invention described in claim14In the packet transfer device according to claim 1, when the isochronous packet is transferred from the jth external bus to the internal bus, the first memory means performs a period of time until acquiring the right to use the internal bus. Is stored.
[0031]
  Claims16A packet transfer device according to the invention described in claim14In the packet transfer device described in the above, when transferring an isochronous packet from the internal bus to the kth external bus, the second memory means has a period until acquiring the right to use the kth external bus, It is characterized by storing an isochronous packet.
[0032]
  Claims17A packet transfer device according to the invention described in claim15In the packet transfer apparatus described in 1), the first memory means is constituted by FIFO memory means.
[0033]
  Claims18A packet transfer device according to the invention described in claim16In the packet transfer apparatus described in (1), the second memory means is constituted by FIFO memory means.
[0034]
  Claims19A packet transfer device according to the invention described in claim18In the packet transfer apparatus described in the above, the second memory means includes M (M is a natural number) FIFO memory means for storing the isochronous packets received from the internal bus by classifying them in units of external buses of the transmission source. It is what is comprised.
[0035]
  Claims20The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein the first to nth external buses and the internal bus are buses of the same standard. is there.
[0036]
  Claims21The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein the maximum transmission rate of the internal bus is 1 of the sum of the maximum transmission rates of isochronous packets of the first to nth external buses. / 2 or less.
[0037]
  Claims22The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein the first to nth external buses are serial buses, and the internal bus is a parallel bus. Is.
[0038]
  Claims23The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein a bus clock of the first to n-th external buses and a bus clock of the internal bus are the same or a synchronous clock. It is characterized by.
[0039]
  Claims24The packet transfer device according to the invention described in claim 1 is from23In the packet transfer apparatus according to any one of the above, the first to nth external buses are IEEE 1394 serial buses.
[0040]
  Claims25The packet transfer device according to the invention described in claim 1 is from24In the packet transfer apparatus according to any one of the above, the first to nth external buses are USB (Universal Serial Bus).
[0041]
  Claims26The recording medium according to the invention described in any one of the first to nth (n is a natural number of 2 or more) external buses having an isochronous packet transmission function is an arbitrary jth (j is a natural number of 1 to n). A recording medium storing a packet transfer processing program for causing a computer to perform packet transfer processing for transferring an isochronous packet from an external bus to an arbitrary k-th (k is a natural number from 1 to n) external bus, The packet transfer processing program starts from claim 1.25A program for causing a computer to perform packet transfer processing by the packet transfer device according to any one of the above is stored.
[0042]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
  FIG. 9 is a diagram showing a configuration of the packet transfer apparatus 100 according to the first embodiment.
  The packet transfer apparatus 100 has external buses 1a to 1d having an isochronous packet transmission function and an isochronous packet transfer function for transferring an isochronous packet from an arbitrary jth external bus to an arbitrary kth external bus. Internal bus 21 and outsideDepartmentFirst node that connects the bus 1 to the internal bus 21 and outputs an absolute time independent of the external bus and the gate nodes 24a to 24d that transmit and receive isochronous packets to and from its own external bus or internal bus.TotalMean 22 and second time to output arbitration cycleTotalMeans 107 and internal bus arbitrating means 23 for equally arbitrating requests to use the buses from the gates, and each of the external buses 1a to 1d is connected to the gate nodes 24a to 24d. ing.
[0043]
The external bus 1 is an IEEE 1394 serial bus, and the internal bus 21 is a parallel bus having two or more lanes of digital data transmission paths. The first clock means 22 is a free-run counter that does not have a load function. In addition, the maximum transfer rate of the internal bus of the packet transfer apparatus 100 is a rate that is ½ of the sum of the maximum transfer rates of the external buses.
[0044]
  FIG. 15 is a diagram illustrating a state in which a plurality of devices (nodes) are connected to the packet transfer apparatus 100.
  In the packet transfer apparatus 100, a first digital VCR (Video Cassette Recorder) 102, a second digital VCR 103, a personal computer 104, and a first digital TV 105 are connected to an external bus of the gate node 24a. . The external bus of the gate node 24b1bThe third digital VCR99The first STB (Set Top Box) 101 is connected. The external bus of the gate node 24c1cIncludes a printer 98 and a second STB.97Is connected. Note that nothing is connected to the gate node 24d.
[0045]
Further, in the packet transfer apparatus 100 according to the first embodiment, when transmitting or receiving an isochronous packet, after the gate node 24 that is a terminal of the packet transfer apparatus 100 performs a bus reset, It becomes a cycle master node. That is, assuming that isochronous packet transfer is performed by the external buses 1a to 1c, the gate nodes 24a to 24c become cycle master nodes for the corresponding external buses 1a to 1c, and output cycle start packets every 125 μs. .
[0046]
The packet transfer apparatus 100 unifies the reference times of the external buses 1a to 1d by outputting the reference time to all external buses that transmit and receive packets.
As described above, the packet transfer apparatus 100 is configured to transmit and receive packets after matching the reference time in the entire external bus that transmits and receives packets.
[0047]
  FIG. 1 is a block diagram constituting the gate node 24.
  The gate node 24 transmits and receives packets on the external bus 1 and the connection port 2 that connects the external bus 1 and the apparatus 100.FirstWhether the packet transmitting / receiving means 3, the input terminal 16 for inputting the absolute time from the first clock means 22, the bus reference time measuring means 4 for acquiring the absolute time, and the first time stamp are present. Position information from the first time stamp position detecting means 5, the first time stamp position detecting means 6 for detecting the position of the first time stamp, and the first time stamp position detecting means 6. Based on the first time stamp offset means 7 for adding an offset to the first time stamp, and the second header including the transfer destination or transfer source information and information used for transmission / reception in the internal bus 21 at the head of the isochronous packet Internal bus header adding means 8 to be added, first memory means 9 for storing the isochronous packet to which the second header is added, First read control means 10 for prefetching isochronous packets stored in the first memory means 9 and controlling transfer of isochronous packets from the first memory means to the internal bus 21; An isochronous packet received from the bus is configured to be transmitted to the internal bus 21.
[0048]
The gate node 24 is based on the packet selection means 11 for selecting and receiving a specific packet, the register means 108 for holding the channel number for sending to its own external bus, and the output from the register 108, Header rewriting means 12 for rewriting the channel number of the received packet, second memory means 13 for temporarily storing the isochronous packet whose packet header has been rewritten by the header rewriting means 12, and the second header. The number of cycles and the number of offset cycles added to the time stamp are added, and the number of cycles added is compared with the reference time of the external bus, and stored in the second memory unit 13. The pre-read isochronous packet, and the second memory means 13 Parts and a second read control means 15 for controlling the transfer of isochronous packets to the bus and received from the internal bus 21 to the isochronous packet, and is configured to forward the own external bus.
The gate control means 109 controls the entire operation of the gate node 24 in accordance with each case where the gate node becomes a cycle master or fails.
[0049]
Here, the first time stamp offset means 7 detects the time required to transfer the packet from the jth external bus to the kth external bus as the transfer delay cycle. Is configured to add a first offset value to the time stamp. In this packet transfer apparatus 100, the first offset value for the transfer delay added to the time stamp is set as a fixed cycle value, and this fixed cycle value is set as three cycles to give an offset to the first time stamp. To do.
[0050]
The cycle number comparison means 14 adds the offset value (3 cycles) added to the first time stamp to the cycle number included in the second header of the isochronous packet, and adds the added cycle number to the external cycle number. The reference time of the bus, that is, the time indicated by the bus reference time measuring means 4 is compared, and if they match, a cycle number coincidence signal is output to the second read control means 15.
[0051]
  FIG. 5 shows the internal bus.headerIt is a figure which shows the 2nd header added by the addition means.
  In the second header, as shown in FIG. 5A, one quadlet is added to the head of the packet, the upper 16 bits represent the source gate to the internal bus, and the lower 16 bits represent the external As shown in FIG. 5 (b), the upper 16 bits of one quadlet added to the beginning of the packet represent the gate node that is the transmission destination of the internal bus. There is a method in which the lower 16 bits represent the number of cycles when a packet is received from the external bus.
[0052]
FIG. 2 is a block diagram showing the configuration of the bus reference time measuring means 4.
The bus reference time counting means 4 has input terminals 25 and 26 for inputting the time output from the first clock means or the bus reference time described in the cycle start packet, and outputs from the input terminals 25 and 26. Switching means 27, 12-bit counter means 28 for counting from 0 to 3071, 13-bit counter means 29 for counting from 0 to 7999, 7-bit counter 30 for counting from 0 to 127, and an output terminal 31 Yes.
[0053]
The counter 28 supplies a carry signal to the enable terminal of the counter 29 when returning from 3071 to 0. Further, the counter 29 counts up only when the carry signal is supplied to its own enable terminal, and supplies the carry signal to the enable terminal of the counter 30 when returning from 7999 to 0. The counter 30 counts up only when a carry signal is supplied to its enable terminal.
[0054]
Since all these three counters are supplied with 24.576 MHz, the counter 28 counts up in units of 1 / 24.576 MHz, and the counter 29 counts up in units of 1 / 24.576 MHz × 3072 = 125 μsec. The counter 30 is configured to count up in units of 125 μsec × 8000 = 1 sec. The numerical value of the counter 29 is called a cycle number and is a reference period for isochronous packet transmission.
[0055]
Here, when the own node is the cycle master, the bus reference time measuring means 4 selects the input terminal 25 and loads the reference time from the first clock means, and the own node is the cycle master. In the case of failure, the input terminal 26 is selected and the reference time described in the cycle start packet broadcast by another node is loaded. The counters 28 to 30 are the same as the cycle time register defined in IEEE 1394-1995.
[0056]
FIG. 6 is a diagram showing the configuration of the first memory means 9. The first memory means 9 includes an input port 52 for inputting an isochronous packet, a FIFO memory 53 for reading and storing the input isochronous packet, an output terminal 54 for outputting the isochronous packet, and a first read control means 10. The isochronous packet stored in the FIFO memory 53 is input to the internal bus 21 from the output terminal 54 based on the read control signal input from the read control terminal 55. It is configured to be output to.
[0057]
FIG. 3 is a diagram showing the configuration of an isochronous packet and a DV packet header part.
FIG. 3A shows the structure of the isochronous packet. The isochronous packet is added to the head of the packet, and information on the transmission path of the network, for example, information such as the packet length and the transmission channel is described. It is composed of an isochronous packet header 32, a header CRC 33 used to check whether the header 32 has been transmitted correctly, and a data payload 37 for transmitting data from the terminal. The data payload 37 includes a CIP header 34, a data field 35, and a data CRC 36. The data CRC 36 is used to check whether the data payload 37 is correctly transmitted on the receiving side.
[0058]
First, the configuration of the isochronous packet header 32 will be described.
In the isochronous packet header 32, the upper 16 bits from the head to the 16th bit are data_length indicating the packet length, and the packet length is described in bytes. Two bits from the 17th bit to the 18th bit next to the data_length are a tag indicating whether or not a CIP header is present. In the case of 01b, it indicates that the CIP header is present at the head portion of the data payload. Yes. The 6 bits from the 19th bit to the 24th bit after the tag are a channel indicating the transmission channel of the packet. The 4 bits from the 25th bit to the 28th bit next to the channel are tcodes indicating the type of the packet, and 1010b in the case of an isochronous packet. Further, the 4 bits from the 29th bit to the 32nd bit after the tcode are bits sy that can be used by the application.
[0059]
Next, the configuration 34 of the CIP header will be described.
When the tag is 01b, a CIP header is present at the beginning of the data payload. The CIP header is described in units of one quadlet (= 32 bits), and the first two bits indicate how far the CIP header is. For example, in the case of a digital VCR (hereinafter referred to as DV), the top of the first quadlet of the CIP header is 00b and the top of the second quadlet is 01b. This indicates that the CIP header is 2 quadlets. Yes. Hereinafter, the packet is assumed to be a packet transmitted by DV, and the description will be made from the first quadlet.
[0060]
Six bits from the third bit to the eighth bit from the top of the first quadlet of the CIP header are a source node ID (SID) indicating a packet transmission source. The next 8 bits from the 9th bit to the 16th bit of the SID are DBS indicating the length when the data CRC is added to the data field in units of quadlets, and in the case of a digital VCR, 11110000b = 120d.
[0061]
  The 2 bits from the 17th bit to the 18th bit of the DBS are a fraction number (FN) indicating the number of data blocks into which the source packet is divided.ofIn this case, it is 00b, indicating that it is not divided.
  The 3 bits from the 19th bit to the 21st bit next to the FN are a quadlet padding count (QPC) indicating the number of dummy quadlets added to match the data block size. This is not used when FN = 00b.
[0062]
  In addition, 1 bit of the 22nd bit after the QPC is the source packet header.DaSPH indicating whether or not it exists. When SPH is 1b, the source packet headerDaIndicates that it exists, and the source packet headerDaThe lower 25 bits of the cycle time register are recorded as a time stamp and used for MPEG transmission. In the case of DV, SPH = 0b and source packet header.DaIt indicates that it does not exist, and a time stamp is recorded in SYT described later.
  The 2 bits from the 23rd bit to the 24th bit after the SPH are reserved bits (rsv) reserved for future expansion. The 8 bits from the 25th bit to the 32nd bit after the rsv are a continuity counter of data block (DBC).
[0063]
Next, the second quadlet of the CIP header will be described.
The 6 bits from the 3rd bit to the 6th bit from the top of the second quadlet of the CIP header are the format ID (FMT). FMT = 000000b represents DV, and FMT = 100000 represents MPEG. As formats increase, they will be added sequentially, but DV and MPEG are currently defined.
[0064]
The 8 bits from the 9th bit to the 16th bit after the FMT are a format dependent field (FDF) and depend on the FMT. In the case of DV, the first bit of the 8 bits is 50/60 and indicates whether the field frequency of the image data is 50 Hz or 60 Hz, and 50 Hz = 1b and 60 Hz = 0b. The next 5 bits from the 2nd bit to the 6th bit indicate that 00000b is an image of 525 or 625 scanning lines in TYPE, and 00010b is an image of 1125 or 1250 scanning lines. It is shown that. For example, in combination with 50/60, 000000b represents 525-60 Hz, 100000b represents 625-50 Hz, 000010b represents 1125-60 Hz, and 100010b represents 1250-50 Hz. The remaining 2 bits of the 8 bits of the FDF are reserved bits (Rsv) reserved for the future.
[0065]
Also, the last 16 bits of the second quadlet from the 17th bit to the 32nd bit of the FDF are the SYT field. In the case of DV, the upper 4 bits of the lower 16 bits of the cycle time register are Represents the number of cycles and is recorded as a time stamp.
[0066]
FIG. 3B shows an example of a DV packet header portion (isochronous packet header, CIP header) input to the first time stamp offset means 7.
FIG. 3C shows an example of the header portion of the DV packet output from the first time stamp offset means 7. In this example, the upper 4 bits of SYT are changed from 0001b to 0100b, indicating that an offset of 3 cycles is added.
[0067]
  Next, the operation will be described.
  In the first embodiment, transmission / reception of isochronous packets is performed between the external buses 1a to 1c, and in particular, the third digital VCR.99The DV isochronous packet sent out from the network will be described mainly with respect to the transfer to the first digital VCR 102.
[0068]
First, the standard time between external buses that transmit and receive isochronous packets is unified.
Specifically, when the gate nodes 24a to 24c of the packet transfer device determine the root nodes for the respective external buses 1a to 1c after the bus reset, the bus reference time measuring unit 4 outputs the output of the first clock unit 22 The absolute time to be input is input from the input terminal 16.
At this time, in the bus reference time counting means 4, the absolute time output from the first clock means 22 is input from the input terminal 25 selected by the switching means 27 and loaded into the counters 28, 29, 30. As a result, the first clock means 22 and the bus reference time measuring means 4 of each gate node 24a to 24c keep the same time, and the time indicated by the bus reference time measuring means 4 of each gate node 24a to 24c becomes the cycle start packet. A cycle start packet is output to each external bus 1a to 1c every 125 μs.
In this manner, the reference times of the external buses 1a to 1c that perform transmission / reception of isochronous packets are unified.
[0069]
  When the reference times between the external buses 1a to 1c that perform packet transmission / reception are unified, the DV isochronous packet shown in FIG. 3A is converted into the third digital VCR.99From the connection port 2 and received by the first packet transmitting / receiving means 3 of the gate node 24b.
[0070]
  In the first packet transmitting / receiving means 3, when an isochronous packet is received, the cycle start packet at the time of reception is changed to a bus reference time measuring means.4And the isochronous packet is output to the first time stamp determination means 5.
[0071]
  In the bus reference time measuring means 4, the first timeThe paWhen a cycle start packet is input from the packet transmitting / receiving unit 3, the cycle number indicated by the bus reference time measuring unit 4 at the moment when the isochronous packet is received is output to the cycle number holding unit 106. The cycle number holding means 106 holds the inputted cycle number.
[0072]
The first time stamp determination means 5 checks whether or not a time stamp is included in the input isochronous packet. At this time, in the case of DV, it can be seen that when tag = 01b, a CIP header exists and a time stamp is included. The determination result and the received packet in the first time stamp determination means 5 are output to the first time stamp position detection means 6.
[0073]
The first time stamp position detection means 6 detects the position of the first time stamp. At this time, if it is checked that SPH = 0b, FMT = 000000b, FDF = 00000000b, etc., it can be seen that there is a time stamp (first time stamp) in SYT. In MPEG or the like, when SPH = 1b, the first time stamp exists in the SPH, so the position of the SPH is detected using the parameters of the CIP header (see AV transmission standard). As described above, the first time stamp position detecting means 6 detects the position of the first time stamp, and the position information indicating the position of the first time stamp is sent to the first time stamp offset means 7 together with the packet. Is output.
[0074]
  The first time stamp offset means 7 adds an offset to the first time stamp of the input packet for the time required for transfer (transfer delay cycle) based on the input position information. Specifically, referring to FIG. 3C, three transfer delay cycles are added to cycle number 0001b, which is the upper 4 bits of SYT, to obtain 0100b. The packet with the offset added to the first time stamp isbusInput to the header adding means 8.
[0075]
  internalbusThe header adding means 8 adds a second header shown in FIG. 5A required at the time of packet transmission / reception on the internal bus 21 to the head of the input packet. At this time, the upper 16 bits of the second header consisting of one quadlet indicates the transmission source gate to the internal bus, and the lower 16 bits indicate the number of cycles held by the cycle number holding means 106, that is, packets from the external bus 1. Indicates the number of cycles when. The packet with the second header added is output to the first memory means 9.
[0076]
In the first memory means 9, the inputted packet is read and temporarily stored. That is, in the first memory means 9, the packet is input from the input port 52, read into the FIFO memory 53, and stored until a read control signal is input from the read control terminal 55.
[0077]
Here, the second clock means 107 outputs an arbitration cycle to the internal bus arbitration means 23. In the internal bus arbitration means 23, this arbitration cycle is output through the input terminal 17 to the first reading means 10 of each of the gate nodes 24 a to 24 d.
[0078]
At this time, the first read control means 10 pre-reads the second header added to the head of the isochronous packet stored in the first memory means 9 and reads the second header included in the second header. The time stamp 2 is compared with the arbitration cycle indicated by the second clock means 107, and if they match, a request to use the bus (Request) is output to the internal bus arbitration means 23.
The internal bus arbitration means 23 arbitrates Requests from the gates equally and gives a bus use right (Grant) in order.
[0079]
In the first read control means 10, when the bus use right is input from the internal bus arbitration means 23, the first read control means 10 outputs a packet that matches the arbitration cycle indicated by the second clock means 107 to the internal bus 21. A read control signal is output to the memory means 9.
[0080]
In the first memory means 9, when a read control signal is input, a packet is sent to the internal bus 21 based on the input read control signal. When the first memory means 9 finishes sending the packet to the internal bus 21, the first read control means 10 shows a cycle signal indicating that the packet to be sent to the internal bus arbitration means 23 has been output. Is output. When there is no packet to be transmitted among the stored packets, the first read control means 10 immediately outputs a cycle signal to the internal bus arbitration means 23. When all the packets having the cycle indicated by the second clock means 107 are sent from each gate node to the internal bus 21, the second clock means 107 advances the arbitration cycle by one.
[0081]
In this way, the internal bus arbitration means 23 outputs the packets having the same cycle as the arbitration cycle output from the second clock means 107 from each gate node to the internal bus 21 in order. Arbitration is performed equally with respect to the request, and a method of performing packet arbitration and sending a packet from each gate node is called cycle control type arbitration.
[0082]
Next, the operation in the gate node 24a when the isochronous packet from the gate node 24b output to the internal bus 21 through the cycle control type arbitration is received by the gate node 24a and transferred to the external bus 1a will be described. .
In the packet selection unit 11, the packet flowing through the internal bus 21 is monitored through the input terminal 20. Specifically, the packet selection means 11 checks whether or not the transmission destination gate of the second header added to the head of the packet shown in FIG. 5B indicates its own node, that is, the gate node 24a. Is received, the packet flowing through the internal bus 21 is received, and the received packet is output to the header rewriting means 12.
[0083]
In the header rewriting means 12, the channel number of the input packet is rewritten to the channel number output from the register means 108, and the rewritten packet is output to the second memory means 13. This rewriting is performed when the channel number in the transmission source external bus is already used in its own external bus, and is not rewritten when it is not necessary to rewrite.
[0084]
4A shows an example of a header portion (isochronous packet header, CIP header) of the DV packet before rewriting, and FIG. 4B shows a header portion (isochronous packet header) of the DV packet after rewriting. , CIP header). In this example, the 111111b channel is rewritten to the 000001b channel. Furthermore, other portions of the header may be rewritten if necessary.
[0085]
The isochronous packet whose header has been rewritten in this way is output to the second memory means 13 and temporarily stored. In the second read control means 15, the second header and the first time stamp are prefetched from the isochronous packet stored in the second memory means, the number of cycles read, and the first The offset value is output to the cycle number comparison means 14.
[0086]
  In the cycle number comparing means 14, the inputted cycle number and the first offset value (3 cycles) are added, and the added value and the bus reference time measuring means.4Is compared with the reference time of the external bus output. When the two coincide, a cycle number coincidence signal is output to the second read control means 15.
[0087]
When the cycle number coincidence signal is input from the cycle number comparison unit 14, the second read control unit 15 outputs the stored packet to the second memory unit 13 to the first packet transmission / reception unit 3. A read control signal is output at the same time.
When a read control signal is input to the second memory means 13, the stored packet is read and the read packet is output to the first packet transmitting / receiving means 3.
In the first packet transmitting / receiving unit 3, when a packet is input from the second memory unit 13, the packet is transmitted to the external bus 1a after the bandwidth of the packet to be transmitted is secured.
[0088]
Thus, the isochronous packet from the external bus 1b is sent to the external bus 1a. Since the packet transfer apparatus 100 matches the reference time of the external bus and gives the time stamp offset by the amount corresponding to the packet transfer delay, the first digital VCR in FIG. VCR packets can be received without contradiction.
[0089]
Next, the cycle control type arbitration will be specifically described with reference to FIG.
FIG. 8 is a diagram illustrating a state in which a packet is transmitted from each gate node to the internal bus 21 using cycle control type arbitration.
FIG. 8A shows packets input from the external buses 1a to 1d by the packet transfer apparatus. At this time, a huge asynchronous packet is transmitted on the external bus 1d in the second half of the cycle. 8B shows an arbitration cycle output from the second clock means 107, and FIG. 8C shows a request for using the bus from each gate node to the internal bus arbitration means 23. It is a figure which shows a mode that it is performed. FIG. 8D is a diagram illustrating a state in which a bus use right (Grant) is output from the internal bus arbitration unit 23 to each gate node. FIG. 8F illustrates an internal bus arbitration unit from each gate node. 23 is a diagram illustrating a state in which a CycleDone signal indicating that transmission of a packet to be transmitted has been completed is output to 23. FIG. FIG. 8E shows an isochronous packet transmitted from each gate node to the internal bus 21.
[0090]
First, at each gate node 1a to 1d, if a packet having the same cycle as the arbitration cycle output from the second clock means 107 is stored in the first memory means 9, a request to use the bus is made. Until the right to use the bus is given to the internal bus arbitration means 23.
[0091]
The internal bus arbitration means 23 arbitrates requests from each gate node equally, and gives the bus use right to each gate in order so that the periods of using the buses do not overlap each other based on the cycle Dun signal. Packets are sent to the internal bus 21 in order from the gate to which the bus use right is given, and when the packet has been sent, a cycle signal is output to the internal bus arbitration means 23.
[0092]
As described above, when the packet having the same cycle as the arbitration cycle output from the second clock means 107 is transmitted from all the gate nodes, the second clock means 107 advances the arbitration cycle by one. Then, the packet having the next new arbitration cycle is sent to the internal bus 21 in order from each gate node.
[0093]
When such a cycle control type arbitration is used, even when a huge asynchronous packet is transmitted in the second half of the cycle as in the case of the external bus 1d, the packets are transferred in the order received by the packet transfer apparatus without causing cycle inversion. It will be sent to the internal bus.
[0094]
A case where non-cycle control type arbitration is used will be described with reference to FIG.
In the case of non-cycle control type arbitration, the internal bus arbitration means 23 does not output the arbitration cycle indicated by the second clock means 107 to each gate node. Therefore, the first read control means of each gate node outputs a request to use the internal bus to the internal bus arbitration means 23 as soon as the packet is stored in the first memory means 9 (FIG. 7). (b)). The internal bus arbitration means 23 arbitrates equally the bus use requests from the respective gate nodes and sequentially gives the bus use right (FIG. 7 (c)). The read control means 10 of each gate node provides the bus use right. Is sent to the internal bus in order (FIG. 7 (d)).
[0095]
However, in non-cycle control type arbitration, if a large asynchronous packet is transmitted in the second half of the cycle on the external bus, the next cycle start packet is delayed, and the isochronous packet transmitted in this cycle (Iso31 in the figure) Is delayed, causing a reversal of the receive cycle order on the internal bus. That is, if packets are transmitted in the order of reception cycles, packets to be transmitted in the section A are transmitted at the position B, so that packets are not transmitted in the order of reception cycles as in the cycle control type arbitration.
[0096]
In the packet transfer apparatus according to the present embodiment, the second memory means 13 receives a packet by using only one FIFO memory, and therefore cannot cope with a reversal of the number of cycles in non-cycle control type arbitration. Therefore, cycle controlled arbitration must be used.
[0097]
As described above, in the packet transfer apparatus 100 according to the first embodiment, the internal bus for transferring isochronous packets between different external buses, the internal bus and the external bus are connected, and its own external bus and internal bus are connected. Between the gate node for transmitting and receiving isochronous packets, the synchronizing means for synchronizing the reference time between the external buses for transmitting and receiving isochronous packets, the offset means for adding an offset value to the time stamp, and the first to nth (n Arbitration means for arbitrating each internal bus use request by each external bus (which is a natural number greater than or equal to 2) and sequentially granting the bus use right between the external buses so that the internal bus use periods do not overlap. After synchronizing the reference time between the external buses that transmit and receive isochronous packets, an arbitrary jth external bus is connected to the internal bus. Black eggplant packet is transferred, the gate node of the k-th receiver, and time period offset applied to the transfer delay of the packet, the operation to be transferred to the host of the external bus is performed. For this reason, even if an isochronous packet is transmitted from a different external bus, the receiving device (node) can receive the isochronous packet in the order in which the isochronous packet was transmitted. Isochronous packet transmission / reception can be performed without contradiction.
[0098]
In addition, since the packet transfer apparatus 100 can transmit and receive isochronous packets between different external buses, when a plurality (x) of external buses are connected to the packet transfer apparatus 100, a 63x device (node) ), And isochronous packets can be transferred between 63 or more devices.
[0099]
Further, in this packet transfer apparatus 100, a bus reset in an arbitrary external bus does not affect other external buses, so even if there is an external bus that is transmitting / receiving isochronous packets, By connecting or disconnecting a new device on the external bus, isochronous packet transfer can be performed normally without interruption of transfer of the isochronous packet due to bus reset.
[0100]
Further, since the maximum transfer rate of the internal bus of the packet transfer apparatus 100 is set to ½ of the sum of the maximum transfer rates of the external buses, all packets when using the maximum transfer rate of all external buses are transferred. can do.
In addition, since a parallel bus having two or more lanes in the digital data transmission path is used for the internal bus, a high transmission rate can be easily obtained.
Further, when the external bus clock and the internal bus clock are synchronized, transfer of isochronous packets is further facilitated.
Note that the same serial bus as the external bus may be used as the internal bus in the packet transfer apparatus of the present invention.
Further, the external bus may be another external bus such as a USB (Universal Serial Bus) as long as it can perform transmission with a guaranteed bandwidth.
In the first embodiment, the offset value is added to the time stamp at the source gate node to the internal bus, but it may be performed at the gate node on the reception side from the internal bus.
[0101]
The reference times of the external buses are all made coincident with the time of the first clock means, but they may be synchronized with an offset even if they are not coincident. In this case, the offset time of the external bus that receives the packet and the external bus that transmits the packet is used as the second offset value, and the second offset value is added to the first offset value added to the first time stamp. Alternatively, it may be subtracted.
[0102]
In the first embodiment, when isochronous packets are transmitted / received, all terminals of the packet transfer apparatus become cycle master nodes for the bus that transmits / receives packets after the bus reset. When the node itself cannot become the cycle master node as in the gate node 24b in FIG. 16, the gate node 24b receives the cycle start packet broadcast from the first STB 101 that has become the cycle master node. 1 is sent to the packet transmission / reception means 3 and the bus reference time described in the cycle start packet is loaded into the bus reference time counting means 4 and the time of the bus reference time counting means 4 is set to the reference time indicated by the cycle master. Match. However, at this time, since the reference time of the external bus 1b is different from that of the external buses 1a and 1c, the isochronous packet cannot be transferred by the external bus 1b.
[0103]
(Embodiment 2)
  FIG. 10 is a diagram for explaining the packet transfer apparatus according to the second embodiment, and is a block diagram showing the configuration of the gate node 64.
  The gate node 64 in the second embodiment stores a transmission source to receive, its channel number, and a channel number for sending a packet to its own external bus, instead of the register means 107 in the first embodiment. registermeans113, in place of the second memory means 13 in the first embodiment, the second memory means 60 for classifying and storing the packets from the header rewriting means 12 for each transmission source, and the first memory means in the first embodiment. In place of the second read control means 15, the packet stored for each transmission source is prefetched, and the second read control means 62 for controlling the packet read and the output of the second memory means are selected.RumeThe memory selection means 63 is newly provided.
  Other configurations of the packet transfer apparatus according to the second embodiment are the same as those of the packet transfer apparatus 100 according to the first embodiment.
[0104]
FIG. 11 is a diagram showing the configuration of the second memory means 60 in the packet transfer apparatus.
The second memory means 60 includes an input terminal 65 for inputting the packet from the header rewriting means 12, a transmission source determination means for determining the transmission source of the input packet, and classifying the packet for each transmission source, A plurality of FIFO memory means 67 to 70 each storing a packet from the transmission source judging means 66 for each transmission source, a read control terminal 75 for inputting a read control signal from the second read control means 62, and the plural Packet output terminals 71 to 74 for outputting packets read from the FIFO memory means 67 to 70.
[0105]
In the FIFO memory means 67 to 70 in the second memory means 60 of the second embodiment, the FIFO memory 67 is the gate 64a, the FIFO memory 68 is the gate 64b, the FIFO memory 69 is the gate 64c, and the FIFO. The memory 70 corresponds to the gate 64d, and each FIFO memory stores a packet from the corresponding gate node.
[0106]
In the packet transfer apparatus 200 according to the second embodiment, a plurality of devices (nodes) are connected to the gate nodes 64a to 64d of the packet transfer apparatus 200, and after the bus reset, the gate nodes 64a to 64d. 64d is a root node for the corresponding external buses 1a to 1d.
[0107]
Next, the operation will be described.
The gate nodes 64a to 64d of the packet transfer apparatus 200 read the time indicated by the first clock means 22 when the root nodes are determined for the external buses 1a to 1d of the gate nodes 64a to 64d after the bus reset. The reference time between the gate nodes 64a to 64d is unified to the time indicated by the first clock means.
When the reference time is unified between external buses that transmit and receive packets, packets are sent from each gate node to the internal bus 21 in the same manner as in the first embodiment.
[0108]
In the second embodiment, an operation in which the gate node 64a receives an isochronous packet flowing through the internal bus 21 will be described.
In the packet selection unit 11 of the gate node 64a, the packet flowing through the internal bus 21 is monitored through the input terminal 20. Specifically, in the packet selection unit 11, the transmission source to be received and its channel number output from the register unit 113 are included in the second header of the DV packet flowing through the internal bus 21, and the isochronous packet. It is checked whether or not it matches the channel number included in the header. If they match, the packet is received from the internal bus 21 and the received packet is output to the header rewriting means 12.
[0109]
  In the header rewriting means 12, the channel number of the packet from the packet selecting means 11 is rewritten to the channel number output from the register means 113 and sent to its own external bus 1a. This rewriting is performed when the channel number in the source external bus is already used in its own external bus. If there is no need to rewrite, it will not be rewritten. If necessary, the other part of the header may be rewritten.
  In this way, the packet that has been rewritten by the header rewriting means 12 is sent to the second memory means.60Is output.
[0110]
  Second memory means60Then, the input packet is classified for each transmission source and temporarily stored. Specifically, in the second memory means 60, the packet whose header has been rewritten is input to the transmission source judgment means 66 from the input terminal 65, and the transmission source judgment means 66 classifies the packet for each transmission source. Then, it is read into each of the FIFO memories 67 to 70 and stored until a read control signal is inputted.
[0111]
Thus, the packets stored in the FIFO memories 67 to 70 are prefetched simultaneously by the second read control means 62. The number of cycles included in the second header at the beginning of the packet read at this time and the offset value added to the first time stamp are output to the cycle number comparison means 61. In the cycle number comparing means 61, the inputted cycle number and the first offset value (3 cycles) are added, and the addition result is compared with the reference time output by the bus reference time measuring means 4, If they match, a cycle number match signal is output to the second read control means 62.
[0112]
  In the second read control means 62, when the cycle number coincidence signal is input from the cycle number comparison means 61, the second memory means.60A read control signal is output to the memory, and the packet is read from the FIFO memory storing the packet to be read and output to the memory selection unit 63. Specifically, the second memory means60Then, a read control signal is output to the FIFO memory 68 that stores a packet to be read from the read control terminal 75. When a read control signal is input to the FIFO memory 68, the packet stored in the FIFO memory 68 is read and output to the memory selection means 63 from the output terminal 72. At this time, the memory selection means 63 selects the output of the FIFO memory 68 among the outputs of the FIFO memories 67 to 70 in the second memory means 60, and the packet input to the memory selection means 63 1 to the packet transmitting / receiving means 3.
[0113]
In addition to the FIFO memory 68, when it is determined that reading is performed simultaneously in any one of the FIFO memories 67, 69, and 70, the memory selection unit 63 performs reading in units of one packet at a time from each FIFO memory. The outputs of the FIFO memories 67 to 70 are switched and input.
In the first packet transmitting / receiving unit 3, when the bandwidth of the packet to be transmitted is secured, the isochronous packet received from the internal bus 21 from the gate node 64b is transmitted to the external bus 1a.
[0114]
As described above, in the packet transfer apparatus according to the second embodiment, the gate node 64 includes the second memory unit 60 that stores the packet transmitted from each gate node for each gate of the transmission source, and the second memory unit 60. And the memory selection means 63 for selecting the output from the device, so that packets transmitted from a plurality of external buses can be received simultaneously without being confused, and each destination device ( Node) at the same time.
[0115]
Further, since the second memory means 60 of the present packet transfer apparatus includes a plurality of FIFO memories, when the cycle number inversion occurs using the non-cycle control type arbitration, that is, transmission from each device (node). Even when the received isochronous packet is not received by the receiving gate node in the order of the cycle, the receiving gate node receives the destination address in the order of the cycle in which the isochronous packet is transmitted from each device (node). The data can be transferred to a device (node), and mutual transfer of isochronous packets can be performed without contradiction even in non-cycle control type arbitration.
[0116]
In the second embodiment, the description has been made mainly on the operation in which the gate node 64a simultaneously receives a packet sent from a plurality of other external buses onto the internal bus 21, but the gate node 64a receives the packet. While receiving, the other gate nodes 64b to 64d can simultaneously receive packets from a plurality of transmission sources on the internal bus 21 and transfer them to its own external bus.
[0117]
(Embodiment 3)
FIG. 14 is a block diagram showing a configuration of packet transfer apparatus 300 for explaining the third embodiment.
The packet transfer apparatus 300 includes a reference time bus 96 for unifying the reference times of all external buses, a time difference detecting unit 112 for detecting a time difference between the external buses, and a time indicated by the bus reference time measuring unit 76. Are transmitted to other gate nodes, and the bus reference time measuring means 76 of each gate node is connected to the reference time bus 96 or the time difference detecting means 112 via the switch 92. It is connected.
[0118]
Here, in the bus reference time measuring means 76 of the gate whose own node could not become the cycle master, the time indicated by the bus reference time measuring means 76 passes to the other gate that became the cycle master via the reference time bus 96. The bus reference time measuring means 76 of the other gate that is broadcasted loads the broadcast time from the reference time bus 96, and sets the reference time of the bus that became the cycle master to the bus that could not become the cycle master. In accordance with the reference time, the reference time between the external buses is made the same.
[0119]
When the packet transfer apparatus 300 does not use the same reference time between external buses that transmit and receive isochronous packets, the time difference detection means detects the time difference between external buses that transmit and receive packets, By matching the detected time difference with the transfer delay cycle at the gate node, the packet is forwarded or delayed when transferring the packet to its own external bus. The time (reference cycle) is set to be the same.
[0120]
  FIG. 13 is a block diagram showing the configuration of the bus reference time measuring means 76.
  In the bus reference time measuring means 76,RThe changing unit 83 includes an input terminal 80 for inputting the absolute time output from the first clock unit 22, and a firstThe paAn input terminal 81 for inputting the cycle start packet received by the packet transmitting / receiving means 3 and an input terminal 82 for inputting the reference time from the reference time bus 96 each time the cycle start packet is received.
[0121]
  In the third embodiment, referring to FIG. 16, in external buses 1a to 1c that perform transmission and reception of isochronous packets, gate nodes 79a and 79c of this packet transfer apparatus 300 become cycle master nodes with respect to external buses 1a and 1c. Gate node79When b cannot become the cycle master node of the external bus 1b, the third digital VCR of the external bus 1b99An example will be described in which a packet is transferred from the first to the first digital VCR 102 of the external bus 1a. At this time, the cycle master node of the external bus 1b is assumed to be the first STB 101. When all the gate nodes 79a to 79c of the packet transfer apparatus 300 are cycle master nodes, the same operation as in the second embodiment is performed.
[0122]
  Next, the operation will be described.
  After the bus reset, the gate node 79a and the gate node 79c become the root nodes in their own external buses 1a and 1c and are determined as cycle master nodes.clockThe absolute time output from the means 22 is loaded into the bus reference time measuring means 76, and the absolute time is written in the cycle start packet and broadcast to the external buses 1a and 1c.
[0123]
  At this time, in the gate node 79b that could not become the cycle master node, the cycle start packet broadcast from the first STB 101 that became the cycle master node is the first one.The paInput from the packet transmitting / receiving means 3 and output to the bus reference time measuring means 76.
[0124]
In the bus reference time counting means 76, the time described in the inputted cycle start packet is loaded, and the loaded time is output to the reference time bus 96 through the switch 92b. Specifically, the input terminal 81 is selected by the switching means 83 and the cycle start packet is input from the input terminal 81 to the bus reference time measuring means 76. When the cycle start packet is input, the time described in the cycle start packet is loaded into the counters 84, 85 and 86, and the loaded time is output from the output terminal 87.
[0125]
Next, at the gate nodes 79a and 79c which have become cycle master nodes, the reference time of the gate node 79b flowing through the reference time bus 96 is input to the bus reference time measuring means 76 from the input terminals 77a and 77c, respectively. At this time, the input reference time is loaded in the bus reference time measuring means of the gate nodes 79a and 79c, and the loaded time is written in the cycle start packet by the first packet transmitting / receiving means, Output to buses 1a and 1c. Specifically, in the bus reference time measuring means 76, the input terminal 82 is selected by the switching means 83, and the reference time of the gate node 79 b flowing through the reference time bus 96 is input from the input terminal 82. The input time is loaded into the counters 84, 85 and 86, and the loaded time is output from the output terminal 87.
[0126]
  Thus, among the external buses that transmit or receive isochronous packets, the gate nodes 79a and 79c that have become cycle master nodes are synchronized with the reference time of the gate node 79b that cannot become the cycle master node. The standard time of all external buses that transmit and receive is unified. When the standard time between buses that transmit and receive isochronous packets is unified, the third digital VCR99The isochronous packet is transmitted from and input to the gate node 79b. The following isochronous packet transmission / reception is performed in the same manner as in the first embodiment.
[0127]
Next, a description will be given of a case where the bus reference times are not unified between buses that transmit and receive isochronous packets.
When the bus reference time is not unified between the external buses that transmit and receive isochronous packets, the time difference detection signal is detected from the gate control means 109a and 109b in the gate nodes 79a and 79b to the time difference detection means 109, respectively. Is output to the bus reference time measuring means 76a and 76b and the time indicated by the bus reference time measuring means 76a and 76b is output to the time difference detecting means 112. In the bus reference time measuring means 76a and 76b, when the time measuring time output signal is input from the gate control means 109a and 109b, the time indicated by the bus reference time measuring means 76a and 76b is detected through the output terminals 78a and 78b, respectively. It is output to the means 112.
[0128]
  When the time difference detection signal is input to the time difference detection means 112, the time difference of the reference time between the external buses is determined from the reference time of each external bus input from the bus reference time counting means 76a and 76b. The detected time difference is output to the first time stamp offset means 7b of the gate node 79b as a second offset value.
  Thus, when a reference time difference between external buses that transmit and receive isochronous packets is detected, the third digital VCR99The isochronous packet is transmitted from and received by the gate node 79b.
[0129]
Hereinafter, in transmission / reception of an isochronous packet, in the gate node 79b on the transmission side, the first time stamp offset means 7 uses the time offset as the first offset value as three cycles corresponding to the transfer delay and the time difference between the external buses. Except that the second offset value is added, an operation similar to that of the first embodiment is performed, and an isochronous packet is transmitted.
[0130]
On the other hand, at the receiving gate node 79a, the packet transmission timing is advanced or delayed by the amount of the first offset value and the second offset value added to the time stamp, and the packet is sent to the external bus 1a. Send. Specifically, the cycle number comparing means 14 adds the first and second offset values added as the transfer delay cycle and the time difference to the time stamp to the cycle number included in the second header of the packet, It is compared whether the added value matches the reference time of the external bus 1a. Other operations are the same as those in the first embodiment, and an isochronous packet is received from the internal bus 21 and transferred to its own external bus 1a.
[0131]
As described above, the packet transfer apparatus 300 according to the third embodiment includes the reference time bus 96, and can become another cycle master node at the reference time indicated by the gate node that could not become the cycle master node with respect to the external bus. Therefore, even if there is a gate node that could not become a cycle master node among the gate nodes that send and receive isochronous packets, the reference time is set between the external buses that send and receive isochronous packets. The time can be made the same and isochronous packets can be transmitted and received.
[0132]
The packet transfer apparatus 300 includes a time difference detection unit 112. The transmission-side gate node detects a time difference between external buses that transmit and receive isochronous packets, and the reception-side gate node detects a transfer delay cycle. Since the transfer of isochronous packets to its own external bus is advanced or delayed by the detected time difference, isochronous packets can be transferred between different external buses without matching the reference time. Can send and receive.
[0133]
Furthermore, by recording a packet transfer processing program for performing packet transfer processing by software in the packet transfer apparatus shown in each embodiment on a data storage medium such as a floppy disk, Packet transfer processing in the form can be easily realized in an independent computer system.
[0134]
FIG. 17 is a diagram for explaining a case where the packet transfer process of each of the above embodiments is performed by a computer system using a floppy disk storing the packet transfer process program.
FIG. 17A shows an external appearance, a sectional structure, and a floppy disk main body as viewed from the front of the floppy disk, and FIG. 17B shows an example of a physical format of the floppy disk main body.
The floppy disk FD has a structure in which the floppy disk main body D is accommodated in a floppy disk case FC. On the surface of the floppy disk body D, a plurality of tracks Tr are formed concentrically from the outer periphery toward the inner periphery. Each track Tr is divided into 16 sectors Se in the angular direction. Therefore, in the floppy disk FD storing the program, the floppy disk main body D is such that data as the program is recorded in an area (sector) Se allocated thereon.
FIG. 17C shows a configuration for performing the packet transfer processing by software using the packet transfer processing program stored in the floppy disk FD and the recording of the program on the floppy disk FD.
[0135]
When the program is recorded on the floppy disk FD, data as the packet transfer processing program is written from the computer system Cs to the floppy disk FD via the floppy disk drive FDD. Further, when the packet transfer device is built in the computer system Cs by the packet transfer processing program recorded on the floppy disk FD, the packet transfer processing program is read from the floppy disk FD by the floppy disk drive FDD, and is transferred to the computer system Cs. Load it.
[0136]
In the above description, a floppy disk is used as a specific example of the data storage medium. However, even if an optical disk is used, packet transfer processing by software can be performed as in the case of the floppy disk. Furthermore, the data storage medium is not limited to the optical disk and floppy disk, and any medium can be used as long as it can record a program, such as an IC card or a ROM cassette. Similar to the case of using a floppy disk or the like, packet transfer processing by software can be performed.
[0137]
【The invention's effect】
  As described above, according to the packet transfer apparatus according to the first aspect of the present invention, any of the first to nth (n is a natural number of 2 or more) external buses having an isochronous packet transmission function can be used. A device for transferring an isochronous packet from an external bus of j (j is a natural number from 1 to n) to an external bus of an arbitrary kth (k is an arbitrary natural number of 1 to n), and an arbitrary jth external bus An internal bus that transfers isochronous packets from the bus to an arbitrary kth external bus, the internal bus, and the first to nth external buses are connected to each other, and the internal bus and the internal bus Between the first to n-th (n is a natural number of 2 or more) gate nodes that transmit and receive isochronous packets and any j-th and arbitrary k-th external buses that transmit and receive isochronous packets. External bus base A synchronization means for synchronizing the sub-time.The first to nth gate nodes have their own external bus and first packet transmission / reception means for transmitting / receiving packets from the internal bus, and whether the received isochronous packet includes a time stamp. A time stamp determination means for determining whether or not, a time stamp position detection means for detecting the position of the time stamp, and an offset value is added to or subtracted from the time stamp based on the detected position information of the time stamp. An internal bus header adding means for adding a second header including time stamp offset means, transfer destination or transfer source information, and information used for transmission / reception on the internal bus to the isochronous packet, and the second header added. First memory means for storing isochronous packets, and the first memory means First read control means for prefetching a second header added to the stored isochronous packet and controlling transfer of the isochronous packet from the first memory means to the internal bus, and has its own external bus The isochronous packet received from the network to the internal busTherefore, there is an effect that isochronous packets can be mutually transferred between 63 or more devices connected to different external buses without interrupting transfer due to bus reset.
[0139]
  Claims2According to the packet transfer apparatus according to the invention described in claim1In the packet transfer apparatus described above, the first to n-th gate nodes select and receive a specific packet from isochronous packets flowing through the internal bus, and send the received isochronous packet to their external bus. Register means for holding a channel number, header rewriting means for rewriting the packet header of the received isochronous packet based on the output from the register means, and a second memory for storing the rewritten isochronous packet of the packet header Means for adding the cycle number included in the second header and the offset value included in the time stamp, and comparing the added value with the reference cycle of the external bus; 2 is stored in the memory means Second read control means for prefetching the packet and controlling transfer of the isochronous packet from the second memory means to its own external bus, and for receiving the isochronous packet received from the internal bus as its own external bus Since this is characterized in that the isochronous packet can be transferred between different external buses, and the isochronous packet can be transferred between 63 or more devices. .
[0140]
  Claims3According to the packet transfer apparatus of the invention described in claim 1, in the packet transfer apparatus according to claim 1, the synchronization means includes a first clock means for measuring time independently of the external bus, and the first clock means. Bus reference time counting means for synchronizing the time of the external bus with the clock means as a reference, so that the reference time can be synchronized between different external buses, and the isochronous packet The mutual transfer can be performed.
[0141]
  Claims4According to the packet transfer apparatus according to the invention described in claim3In the packet transfer apparatus described in the above, the bus reference time measuring means is characterized in that the time indicated by the first clock means and the reference time of the external bus are substantially matched, and therefore different. It is possible to make the reference time the same between the external buses and to perform the mutual transfer of isochronous packets.
[0142]
  Claims5The packet transfer apparatus according to claim 1 is the packet transfer apparatus according to claim 1, wherein the synchronization means broadcasts the time indicated by the bus reference time measuring means to another gate node. It is characterized by synchronizing the reference time of other external buses with the reference time of any or specific external bus. Thus, it is possible to perform mutual transfer of isochronous packets with other external buses.
[0143]
  Claims6According to the packet transfer apparatus according to the invention described in claim5In the packet transfer device described in the above, the reference time bus is characterized in that the reference time of another external bus is approximately coincident with the reference time of an arbitrary or specific external bus. Even if the reference times are not the same between external buses that transmit and receive packets, isochronous packets can be transferred mutually.
[0144]
  Claims7According to the packet transfer apparatus according to the invention described in claim4Or6In the packet transfer apparatus according to claim 1, the synchronizing means is characterized in that at least the lower 4 bits of the bits representing the number of cycles of the external bus are roughly matched, so that the external transfer for mutual transfer of isochronous packets is performed. Since the reference times between the buses are the same, isochronous packets can be transferred mutually.
[0145]
  Claims8According to the packet transfer apparatus according to the invention described in claim3From7In the packet transfer device according to any one of the above, since the synchronization means has a synchronization accuracy in units of transmission cycles of isochronous packets, the isochronous packets are transferred between different external buses. Has the effect of being able to.
[0146]
  Claims9According to the packet transfer apparatus according to the invention described in claim1In the packet transfer apparatus according to claim 1, the offset means uses a first offset value defined by a time required to transfer a packet from the jth external bus to the kth external bus as the time stamp. Since it is characterized by the addition, the cycle of the isochronous packet and the reference time (reference cycle) of the gate node on the receiving side can be made the same, and the mutual transfer of the isochronous packet can be performed between different external buses. It has the effect that it can be performed.
[0147]
  Claims10According to the packet transfer apparatus according to the invention described in claim1The packet transfer apparatus according to claim 1, further comprising a time difference detecting means for detecting a second offset value defined by a difference between the reference time of the jth external bus and the reference time of the kth external bus, The time stamp offset means adds or subtracts a value obtained by adding the first offset value and the second offset value to the detected time stamp. There is an effect that the mutual transfer of isochronous packets can be performed between different external buses without making the reference time the same between the external buses performing the mutual transfer of packets.
[0148]
  Claims11According to the packet transfer apparatus according to the invention described in claim9Or10In the packet transfer apparatus described in the above, the first offset value is a fixed cycle value, so that the cycle of the isochronous packet and the reference time (reference cycle) of the gate node on the receiving side Can be made the same.
[0149]
  Claims12According to the packet transfer apparatus according to the invention described in claim9Or10In the packet transfer apparatus described in the above, the second offset value is a fixed cycle value. Therefore, the isochronous packet cycle and the reference time (reference cycle) of the gate node on the receiving side Can be made the same.
[0150]
  Claims13The packet transfer device according to the invention described in claim 1 is from12In the packet transfer apparatus according to any one of the above, the second clock means for outputting the arbitration cycle and the request for using the internal buses output from the first to nth gate nodes are arbitrated, and the buses are used in order. And an internal bus arbitration unit that grants the right to each gate node, and transfers isochronous packets from each of the first to nth external buses to the internal bus. Therefore, the receiving device (node) can receive the isochronous packets in the order in which they are transmitted from the transmitting device (node), and can transfer isochronous packets between different external buses consistently. It has the effect of being able to.
[0151]
  Claims14According to the packet transfer apparatus according to the invention described in claim13In the packet transfer apparatus according to claim 1, the first read control unit compares the arbitration cycle with the number of cycles when the first packet transmitting / receiving unit receives an isochronous packet, and when the number of cycles matches. A request to use the bus is output to the internal bus arbitration means, and when the right to use the bus is obtained from the internal bus arbitration means, the isochronous packet stored in the first memory means is sent to the internal bus. When the packet to be transmitted is controlled, the cycle bus signal is output to the internal bus arbitration unit. When the cycle bus signal is input, the internal bus arbitration unit uses the internal bus. The use of the internal bus by each of the first to nth external buses is given to the next gate node requesting the bus. Since the period is switched, the receiving device (node) can receive the isochronous packets in the order of transmission from the transmitting device (node). It is possible to transfer isochronous packets between each other without any contradiction.
[0152]
  Claims15According to the packet transfer apparatus according to the invention described in claim14In the packet transfer device according to claim 1, when the isochronous packet is transferred from the jth external bus to the internal bus, the first memory means performs a period of time until acquiring the right to use the internal bus. Therefore, the isochronous packet can be transferred to the receiving device (node) in the order in which the isochronous packet is transmitted from the transmitting device (node). It has the effect.
[0153]
  Claims16According to the packet transfer apparatus according to the invention described in claim14In the packet transfer device described in the above, when transferring an isochronous packet from the internal bus to the kth external bus, the second memory means has a period until acquiring the right to use the kth external bus, Since the isochronous packet is stored, the isochronous packet can be transferred to the receiving device (node) in synchronization with the reference time of the external bus on the receiving side. Have
[0154]
  Claims17According to the packet transfer apparatus according to the invention described in claim15In the packet transfer apparatus described in 1), since the first memory means is constituted by FIFO memory means, an isochronous packet is transmitted from a device (node) on the transmission side. In turn, the effect is that the isochronous packet can be transferred to the device (node) on the receiving side.
[0155]
  Claims18According to the packet transfer apparatus according to the invention described in claim16In the packet transfer apparatus described in (1), the second memory means is composed of FIFO memory means, so that the isochronous packet is synchronized with the reference time of the external bus on the receiving side. Thus, there is an effect that it can be transferred to a device (node) on the receiving side.
[0156]
  Claims19According to the packet transfer apparatus according to the invention described in claim18In the packet transfer apparatus described in the above, the second memory means includes M (M is a natural number) FIFO memory means for storing the isochronous packets received from the internal bus by classifying them in units of external buses of the transmission source. Since it is configured, it is possible to receive isochronous packets transmitted from multiple devices (nodes) at the same time, and transfer them to multiple devices (nodes) as destinations without contradiction. It has the effect of being able to.
[0157]
  Claims20According to the packet transfer apparatus of the invention described in claim 1, in the packet transfer apparatus according to claim 1, the first to nth external buses and the internal bus are buses of the same standard. Therefore, it is possible to perform mutual transfer of isochronous packets between different external buses.
[0158]
  Claims21According to the packet transfer apparatus according to claim 1, in the packet transfer apparatus according to claim 1, the maximum transmission rate of the internal bus is a sum of the isochronous packet maximum transmission rates of the first to n-th external buses. Therefore, it is possible to transfer all packets when the maximum transfer rate is used on all external buses.
[0159]
  Claims22According to the packet transfer apparatus of the invention described in item 1, in the packet transfer apparatus according to claim 1, the first to nth external buses are serial buses, and the internal bus is a parallel bus. Therefore, there is an effect that a high transmission rate can be easily obtained, and mutual transfer of isochronous packets between different external buses can be easily realized.
[0160]
  Claims23According to the packet transfer apparatus according to claim 1, in the packet transfer apparatus according to claim 1, the bus clocks of the first to nth external buses and the bus clock of the internal bus are the same or a synchronous clock. Since there is a feature, there is an effect that mutual transfer of isochronous packets between different external buses can be easily realized.
[0161]
  Claims24According to the packet transfer apparatus according to the invention described in claim 1,23In the packet transfer apparatus according to any one of the above, the first to nth external buses are IEEE 1394 serial buses, so that isochronous packets are transferred between different external buses. It has the effect of being able to.
[0162]
  Claims25According to the packet transfer apparatus according to the invention described in claim 1,24In the packet transfer apparatus according to any one of the above, since the first to nth external buses are USB (Universal Serial Bus), isochronous packets between different external buses There is an effect that transfer can be performed.
[0163]
  Claims26According to the recording medium according to the invention, an arbitrary j-th (j is a natural number from 1 to n) among the first to n-th (n is a natural number of 2 or more) external buses having an isochronous packet transmission function. ) Is a recording medium storing a packet transfer processing program for causing a computer to perform packet transfer processing for transferring an isochronous packet from an external bus to an arbitrary k-th (k is a natural number from 1 to n) external bus. The packet transfer processing program starts from claim 1.25Since a program for causing a computer to perform packet transfer processing by the packet transfer device according to any one of the above is stored, a bus reset can be performed between 63 or more devices connected to different external buses. There is an effect that isochronous packets can be transferred to each other without interrupting the transfer.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a gate node 24 according to the first embodiment.
FIG. 2 is a block diagram showing a configuration of bus reference time measuring means 4 in the first and second embodiments.
FIG. 3A is a structural diagram showing an isochronous packet of an IEEE 1394 serial bus. FIGS. 3B and 3C show a header portion of an DV packet (isochronous packet header, CIP header). FIG.
4 (a) and 4 (b) are structural diagrams illustrating an example of a header portion (isochronous packet header, CIP header) of a DV packet.
FIGS. 5A and 5B show the structure of an internal bus header (second header) that is added to the head of an isochronous packet and used for transmission / reception between the internal bus and the external bus. FIG.
FIG. 6 is a block diagram showing a configuration of first memory means 9 and second memory means 13 in the first to third embodiments.
FIG. 7 is a time chart for explaining non-cycle control type arbitration of the present invention.
FIG. 8 is a time chart for explaining the cycle control type arbitration of the present invention.
FIG. 9 is a block diagram showing a configuration of a packet transfer apparatus according to the first and second embodiments.
FIG. 10 is a block configuration diagram showing a configuration of a gate node 64 in the second embodiment.
FIG. 11 is a block diagram showing a configuration of a second memory 60 in the second embodiment.
12 is a block diagram showing a configuration of a gate node 79 in the third embodiment. FIG.
FIG. 13 is a block diagram showing a configuration of a bus reference time measuring means 76 in the third embodiment.
FIG. 14 is a diagram showing a configuration of a packet transfer apparatus 300 according to the third embodiment.
FIG. 15 is a diagram showing an example of connection between the packet transfer apparatus of the present invention and a plurality of external buses connected to a plurality of devices (nodes).
FIG. 16 is a diagram showing an example of connection between the packet transfer apparatus of the present invention and a plurality of external buses to which a plurality of devices (nodes) are connected.
FIGS. 17 (a) and 17 (b) are data recording media storing a packet transfer processing program for performing the packet transfer processing of each of the above embodiments by a computer system, and FIG. FIG. 2 is a diagram for explaining the computer system.
18 (a) and 18 (b) are conceptual diagrams showing transmission of an IEEE 1394 isochronous packet.
FIGS. 19 (a) and 19 (b) are diagrams showing a connection example of a conventional IEEE 1394 serial bus and a device (node).
[Explanation of symbols]
  1,203,204 External bus
  3 FirstThe paPacket transmission / reception means
  4,76 Bus timekeeping means
  5 First time stamp determination means
  6 First time stamp position detecting means
  7 First time stamp offset means
  8 Internal bus headWith daAdditional means
  9 First memory means
  10 First read control means
  11 Packet selection means
  12 Header rewriting means
  13, 60  Second memory means
  14 Cycle number comparison means
  15 , 62 Second read control means
  21 Internal bus
  22 First clock means
  23 Internal bus arbitration means
  24, 64, 79 Gate node
  27,83 switching means
  28, 29, 30, 84, 85, 86 Counter means
  32, 38, 41, 44, 47 Isochronous packet header
  33,39,42,45,48 header CRC
  34, 40, 43, 46, 49 CIP header
  35 Data field
  36 Data CRC
  37 packet data
  50,51 Second header (internal bus header)
  53,67,68,69,70 FIFO memory
  63 Memory selection means
  66 Transmission source judgment means
  92 switch
  96 standard time bus
  106 Cycle number holding means
  107 Second clock means
  108,113 register means
  109 Gate control means
  112 Time difference detection means
  9798,99,101,102,103,104,201,202,203 Terminal equipment
  206 Cycle start packet
  207 Mediation period
  208 Data prefix period
  209 Isochronous packet
  210 Data end period
  Cs computer system
  D floppy disk
  FC floppy disk case
  FD floppy disk
  FDD floppy disk drive
  Se sector
  Tr track

Claims (26)

アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの任意の自然数)の外部バスへアイソクロナスパケットを転送する装置であって、
任意の第jの外部バスから任意の第kの外部バスへのアイソクロナスパケットの転送を行う内部バスと、
上記内部バスと、上記第1から第nの各外部バスとを接続し、自らの外部バス及び、上記内部バスとの間で、アイソクロナスパケットの送受信を行う第1から第n(nは2以上の自然数)のゲートノードと、
アイソクロナスパケットの送受信を行う任意の第jと任意の第kの外部バスの間で、外部バスの基準時刻を同期させる同期手段と、を有し、
上記第1から第nのゲートノードは、
自らの外部バス、及び上記内部バスからのパケットの送受信を行う第1のパケット送受信手段と、
受信されたアイソクロナスパケットにタイムスタンプが含まれているか否か、を判定するタイムスタンプ判定手段と、
上記タイムスタンプの位置を検出するタイムスタンプ位置検出手段と、
検出された上記タイムスタンプの位置情報に基づき、タイムスタンプにオフセット値を加算、もしくは減算するタイムスタンプオフセット手段と、
転送先または転送元の情報、及び内部バスでの送受信に用いる情報とを含む第2のヘッダをアイソクロナスパケットに付加する内部バスヘッダ付加手段と、
上記第2のヘッダを付加したアイソクロナスパケットを格納する第1のメモリ手段と、
上記第1のメモリ手段に格納されたアイソクロナスパケットに付加された第2のヘッダを先読みし、第1のメモリ手段から内部バスへのアイソクロナスパケットの転送を制御する第1の読み出し制御手段と、を有し、
自らの外部バスから受信したアイソクロナスパケットを、内部バスへ転送する、
ことを特徴とするパケット転送装置。
Of the 1st to nth (n is a natural number of 2 or more) external buses having an isochronous packet transmission function, an arbitrary kth (k Is an apparatus that transfers isochronous packets to an external bus of any natural number from 1 to n,
An internal bus for transferring isochronous packets from any jth external bus to any kth external bus;
The internal bus and the first to nth external buses are connected to transmit / receive isochronous packets between the external bus and the internal bus. (Natural number) gate node,
Between any external bus of the j and any k-th transmitting and receiving isochronous packets, possess means synchronizing synchronizing the reference time of the external bus, and
The first to n-th gate nodes are
First packet transmitting / receiving means for transmitting and receiving packets from its own external bus and the internal bus;
Time stamp determination means for determining whether or not the received isochronous packet includes a time stamp;
Time stamp position detecting means for detecting the position of the time stamp;
A time stamp offset means for adding or subtracting an offset value to the time stamp based on the detected position information of the time stamp;
Internal bus header adding means for adding a second header including information on the transfer destination or transfer source and information used for transmission / reception on the internal bus to the isochronous packet;
First memory means for storing an isochronous packet with the second header added thereto;
Prefetching the second header added to the isochronous packet stored in the first memory means, and first read control means for controlling the transfer of the isochronous packet from the first memory means to the internal bus; Have
Transfers isochronous packets received from its own external bus to the internal bus.
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記第1から第nのゲートノードは、
内部バスを流れるアイソクロナスパケットより特定のパケットを選択し受信するパケット選択手段と、
受信したアイソクロナスパケットを自らの外部バスへ送出するためのチャンネルナンバを保持するレジスタ手段と、
受信したアイソクロナスパケットのパケットヘッダを、上記レジスタ手段からの出力に基づき書き換えるヘッダ書換え手段と、
上記パケットヘッダの書き換えられたアイソクロナスパケットを格納する第2のメモリ手段と、
上記第2のヘッダに含まれるサイクル数と、タイムスタンプに含まれるオフセット値とを加算し、この加算した値と、外部バスの基準サイクルとを比較するサイクル数比較手段と、
上記第2のメモリ手段に格納されたアイソクロナスパケットを先読みし、第2のメモリ手段から自らの外部バスへのアイソクロナスパケットの転送を制御する第2の読み出し制御手段と、を有し、
内部バスから受信したアイソクロナスパケットを、自らの外部バスへ転送する
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The first to n-th gate nodes are
Packet selection means for selecting and receiving a specific packet from isochronous packets flowing through the internal bus;
Register means for holding a channel number for sending the received isochronous packet to its own external bus;
Header rewriting means for rewriting the packet header of the received isochronous packet based on the output from the register means;
Second memory means for storing the rewritten isochronous packet of the packet header;
A cycle number comparing means for adding the cycle number included in the second header and the offset value included in the time stamp, and comparing the added value with a reference cycle of the external bus;
Prefetching isochronous packets stored in the second memory means, and second read control means for controlling transfer of isochronous packets from the second memory means to its external bus,
Transfer isochronous packets received from the internal bus to your external bus .
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記同期手段は、
外部バスとは独立して時間を計時する第1の時計手段と、
上記第1の時計手段を基準として、上記外部バスの時間を同期させるバス基準時刻計時手段と、を有することを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The synchronization means is
A first clock means for measuring time independently of the external bus;
And a bus reference time measuring means for synchronizing the time of the external bus with the first clock means as a reference.
請求項に記載のパケット転送装置において、
上記バス基準時刻計時手段は、
上記第1の時計手段の示す時刻と、上記外部バスの基準時刻とを、概一致させる
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 3 , wherein
The bus reference timekeeping means is
The time indicated by the first clock means and the reference time of the external bus are substantially matched ,
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記同期手段は、
上記バス基準時刻計時手段の示す時刻を、他ゲートへブロードキャストするための基準時刻用バスを有し、
任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を同期させる
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The synchronization means is
A bus for reference time for broadcasting the time indicated by the bus reference time measuring means to other gates,
Synchronize the reference time of other external buses with the reference time of any or specific external bus ,
A packet transfer apparatus.
請求項に記載のパケット転送装置において、
上記基準時刻用バスは、
任意の、もしくは特定の外部バスの基準時刻に、他の外部バスの基準時刻を概一致させる
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 5 , wherein
The standard time bus is
Roughly match the reference time of other external buses with the reference time of any or specific external bus ,
A packet transfer apparatus.
請求項、またはに記載のパケット転送装置において、
上記同期手段は、
外部バスのサイクル数を表すビットの内、少なくとも下位4ビットを概一致させることを特徴とするパケット転送装置。
In the packet transfer apparatus according to claim 4 or 6 ,
The synchronization means is
A packet transfer apparatus characterized in that at least the lower 4 bits of bits representing the number of cycles of the external bus are roughly matched.
請求項からのいずれかに記載のパケット転送装置において、
上記同期手段は、
アイソクロナスパケットの伝送サイクル単位の同期精度を有することを特徴とするパケット転送装置。
In the packet transfer apparatus according to any one of claims 3 to 7 ,
The synchronization means is
A packet transfer apparatus having synchronization accuracy in units of transmission cycles of isochronous packets.
請求項に記載のパケット転送装置において、
上記オフセット手段は、
上記第jの外部バスから上記第kの外部バスへパケットを転送するのに要する時間により規定される第1のオフセット値を、上記タイムスタンプに加算する
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1 , wherein
The offset means is
Adding a first offset value defined by the time required to transfer a packet from the jth external bus to the kth external bus to the time stamp ;
A packet transfer apparatus.
請求項に記載のパケット転送装置において、
上記第jの外部バスの基準時刻と、上記第kの外部バスの基準時刻の差により規定される第2のオフセット値を検出する時刻差検出手段を有し、
上記タイムスタンプオフセット手段は、
上記第1のオフセット値と、上記第2のオフセット値とを加算した値を、上記検出したタイムスタンプに、加算もしくは減算する
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1 , wherein
Time difference detecting means for detecting a second offset value defined by a difference between a reference time of the jth external bus and a reference time of the kth external bus;
The time stamp offset means is:
Adding or subtracting a value obtained by adding the first offset value and the second offset value to the detected time stamp ;
A packet transfer apparatus.
請求項、または10に記載のパケット転送装置において、
上記第1のオフセット値は、固定サイクル値である
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 9 or 10 ,
The first offset value is a fixed cycle value .
A packet transfer apparatus.
請求項、または10に記載のパケット転送装置において、
上記第2のオフセット値は、固定サイクル値である
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 9 or 10 ,
The second offset value is a fixed cycle value .
A packet transfer apparatus.
請求項1から12のいずれかに記載のパケット転送装置において、
調停サイクルを出力する第2の時計手段と、
上記第1から第nの各ゲートノードより出力された内部バスを使用する要求を調停し、順にバス使用権を各ゲートノードへ与える内部バス調停手段と、
を有し、
上記第1から第nの各外部バスから上記内部バスへのアイソクロナスパケットの転送を行うものである
ことを特徴とするパケット転送装置。
In the packet transfer device according to any one of claims 1 to 12 ,
Second clock means for outputting an arbitration cycle;
An internal bus arbitration means for arbitrating a request to use the internal bus output from each of the first to nth gate nodes and sequentially giving a bus use right to each gate node;
Have
Transferring isochronous packets from the first to n-th external buses to the internal buses ;
A packet transfer apparatus.
請求項13に記載のパケット転送装置において、
上記第1の読み出し制御手段は、
上記調停サイクルと、上記第1のパケット送受信手段がアイソクロナスパケットを受信したときのサイクル数とを比較し、サイクル数が一致した時にバスを使用する要求を上記内部バス調停手段へ出力し、上記内部バス調停手段よりバス使用権が得られると、上記第1のメモリ手段に格納されているアイソクロナスパケットを内部バスへ送出するように制御し、送出すべきパケットを送出し終えると、上記内部バス調停手段へサイクルダン信号を出力するものであり、
上記内部バス調停手段は、
上記サイクルダン信号が入力されると、内部バスの使用を要求している次のゲートノードへバス使用権を与えることにより、上記第1から第nの各外部バスによる内部バスの使用期間を切替えるものである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 13 , wherein
The first read control means includes:
The arbitration cycle is compared with the number of cycles when the first packet transmission / reception means receives an isochronous packet. When the number of cycles matches, a request to use the bus is output to the internal bus arbitration means. When the bus use right is obtained from the bus arbitration means, the control is performed so that the isochronous packet stored in the first memory means is sent to the internal bus, and when the packet to be sent is finished, the internal bus arbitration is executed. To output a cycle signal to the means,
The internal bus arbitration means is
When the cycle signal is input, the use period of the internal bus by each of the first to nth external buses is switched by giving a bus use right to the next gate node requesting the use of the internal bus. Is ,
A packet transfer apparatus.
請求項14に記載のパケット転送装置において、
上記第jの外部バスから上記内部バスへアイソクロナスパケットを転送する際、
上記第1のメモリ手段は、
上記内部バスのバス使用権を獲得するまでの期間、アイソクロナスパケットを格納するものであることを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 14 , wherein
When transferring an isochronous packet from the jth external bus to the internal bus,
The first memory means includes
A packet transfer apparatus for storing an isochronous packet until a bus use right for the internal bus is acquired.
請求項14に記載のパケット転送装置において、
上記内部バスから上記第kの外部バスへアイソクロナスパケットを転送する際、
上記第2のメモリ手段は、
上記第kの外部バスの使用権を獲得するまでの期間、アイソクロナスパケットを格納するものである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 14 , wherein
When transferring an isochronous packet from the internal bus to the kth external bus,
The second memory means includes
The isochronous packet is stored until the right to use the kth external bus is acquired .
A packet transfer apparatus.
請求項15に記載のパケット転送装置において、
上記第1のメモリ手段は、
FIFOメモリ手段により構成されるものである
ことを特徴とするパケット転送装置。
The packet transfer device according to claim 15 , wherein
The first memory means includes
Constituted by FIFO memory means ,
A packet transfer apparatus.
請求項16に記載のパケット転送装置において、
上記第2のメモリ手段は、
FIFOメモリ手段により構成されるものである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 16 , wherein
The second memory means includes
Constituted by FIFO memory means ,
A packet transfer apparatus.
請求項18に記載のパケット転送装置において、
上記第2のメモリ手段は、
上記内部バスより受信したアイソクロナスパケットを、送信元の外部バス単位で分類して格納するM個(Mは自然数)のFIFOメモリ手段より構成されるものである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 18 , wherein
The second memory means includes
It is composed of M (M is a natural number) FIFO memory means for classifying and storing isochronous packets received from the internal bus in units of source external buses .
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記第1から第nの外部バスと、上記内部バスは同一規格のバスである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The first to nth external buses and the internal bus are buses of the same standard .
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記内部バスの最大伝送レートは、上記第1から第nの外部バスのアイソクロナスパケット最大伝送レートの総和の1/2以下である
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The maximum transmission rate of the internal bus is ½ or less of the sum of the maximum transmission rates of isochronous packets of the first to nth external buses .
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記第1から第nの外部バスはシリアルバスであり、上記内部バスはパラレルバスである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The first to nth external buses are serial buses, and the internal bus is a parallel bus .
A packet transfer apparatus.
請求項1に記載のパケット転送装置において、
上記第1から第nの外部バスのバスクロックと上記内部バスのバスクロックは、同一もしくは同期クロックである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to claim 1, wherein
The bus clocks of the first to nth external buses and the bus clock of the internal bus are the same or synchronous clocks .
A packet transfer apparatus.
請求項1から23のいずれかに記載のパケット転送装置において、
上記第1から第nの外部バスは、IEEE1394シリアルバスである
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to any one of claims 1 to 23 ,
The first to nth external buses are IEEE 1394 serial buses .
A packet transfer apparatus.
請求項1から24のいずれかに記載のパケット転送装置において、
上記第1から第nの外部バスは、USB(Universal Serial Bus)である
ことを特徴とするパケット転送装置。
The packet transfer apparatus according to any one of claims 1 to 24 ,
The first to nth external buses are USB (Universal Serial Bus) ,
A packet transfer apparatus.
アイソクロナスパケットの伝送機能を有する第1から第n(nは2以上の自然数)の外部バスの内、任意の第j(jは1からnの自然数)の外部バスから、任意の第k(kは1からnの自然数)の外部バスへアイソクロナスパケットを転送するパケット転送処理をコンピューターに行わせるためのパケット転送処理プログラムを格納した記録媒体であって、
上記パケット転送処理プログラムは、請求項1から25のいずれかに記載のパケット転送装置によるパケット転送処理プログラムをコンピュータに行わせるものである
ことを特徴とする記録媒体。
Of the 1st to nth (n is a natural number of 2 or more) external buses having an isochronous packet transmission function, an arbitrary kth (k Is a recording medium storing a packet transfer processing program for causing a computer to perform packet transfer processing for transferring isochronous packets to an external bus of 1 to n),
The packet transfer processing program causes a computer to execute a packet transfer processing program by the packet transfer device according to any one of claims 1 to 25 .
A recording medium characterized by the above.
JP13913799A 1999-05-19 1999-05-19 Packet transfer apparatus and data recording medium Expired - Fee Related JP3676618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13913799A JP3676618B2 (en) 1999-05-19 1999-05-19 Packet transfer apparatus and data recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13913799A JP3676618B2 (en) 1999-05-19 1999-05-19 Packet transfer apparatus and data recording medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005082668A Division JP2005267653A (en) 2005-03-22 2005-03-22 Packet transfer apparatus and data recording medium

Publications (2)

Publication Number Publication Date
JP2000332798A JP2000332798A (en) 2000-11-30
JP3676618B2 true JP3676618B2 (en) 2005-07-27

Family

ID=15238413

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13913799A Expired - Fee Related JP3676618B2 (en) 1999-05-19 1999-05-19 Packet transfer apparatus and data recording medium

Country Status (1)

Country Link
JP (1) JP3676618B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3702261B2 (en) 2002-09-30 2005-10-05 株式会社東芝 Time stamp correction circuit and correction method

Also Published As

Publication number Publication date
JP2000332798A (en) 2000-11-30

Similar Documents

Publication Publication Date Title
US6973087B2 (en) Predictive time stamping of transmitted data
JP2002016655A (en) Transmission method, transmission system, transmission device, and transmission control device
USRE43271E1 (en) Digital signal transmission method digital signal transmission system, digital signal transmitting apparatus and recording medium
US6964006B2 (en) Network error display apparatus and error detection display method
US6363428B1 (en) Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network
US6408355B1 (en) Method for releasing isochronous transaction in bus network, bus network utilizing the method thereof and information provision medium
JP3862371B2 (en) Electronic device and control method
US6804795B1 (en) Electronic device and its repairing method
US6389502B1 (en) Synchronous communication setting method in bus network, bus network utilizing the method thereof and information provision medium
JP4147524B2 (en) COMMUNICATION METHOD, TRANSMISSION METHOD, RECEPTION METHOD, AND COMMUNICATION DEVICE
JP2002164898A (en) Data transmitting / receiving apparatus and data transmitting / receiving method
JP3676618B2 (en) Packet transfer apparatus and data recording medium
US6584534B1 (en) Combined isochronous and asynchronous communication apparatus, method and interface
KR100637615B1 (en) Information processing method, information processing system and information processing device
JP2001156807A (en) Transmission method, transmission system and transmission device
JP2002057683A (en) Control device and control method
US20010046231A1 (en) Communication control apparatus
EP1061692A2 (en) Controlling device, communication system and controlling method
JP2005267653A (en) Packet transfer apparatus and data recording medium
JPWO2000069121A1 (en) Information processing method, information processing system, and information processing device
KR100763716B1 (en) Information control method, information processor, and information control system
JPH10285241A (en) Signal processing circuit
JP2002281038A (en) Data transmission method and data transmission device
KR20020011925A (en) Communication control method, communication system, and communication apparatus
JP4635290B2 (en) Control method and display device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050322

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050325

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: 20050426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050428

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: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees