JP2002261785A - シリアルバス処理方法および装置 - Google Patents

シリアルバス処理方法および装置

Info

Publication number
JP2002261785A
JP2002261785A JP2001057901A JP2001057901A JP2002261785A JP 2002261785 A JP2002261785 A JP 2002261785A JP 2001057901 A JP2001057901 A JP 2001057901A JP 2001057901 A JP2001057901 A JP 2001057901A JP 2002261785 A JP2002261785 A JP 2002261785A
Authority
JP
Japan
Prior art keywords
port
state
serial bus
node
timer
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.)
Pending
Application number
JP2001057901A
Other languages
English (en)
Inventor
Jinichi Hori
仁一 堀
Toshihisa Oishi
敏久 大石
Tetsuya Shibayama
哲也 柴山
Tomohiro Kataoka
智洋 片岡
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001057901A priority Critical patent/JP2002261785A/ja
Publication of JP2002261785A publication Critical patent/JP2002261785A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ループ接続を自動的に認識してループ接続を
回避し、正常にデータの送受信を行うことを目的とす
る、シリアルバス処理方法と装置を提供する。 【解決手段】 シリアルバス処理装置におけるシリアル
バス処理方法であって、ループ接続を自動回避するため
に、ステップS11〜S18に従い、シリアルバス内に
構成されるループ接続を検出し、このループ接続の検出
時に各ノードの認識できないポートの数に応じてランダ
ムな値を持つタイマ値を設定し、この設定したタイマ値
になった時にポートを無効としてケーブルを仮想的に切
断することにより、新しいバストポロジを自動的に構成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、IEEE(the In
stitute of Electrical and Electronics Engineers)
が標準化した高速シリアルバスの規格であるIEEE
Std 1394に係り、特にループ検出機能を備えた
シリアルバス処理方法と装置に適用して有効な技術に関
する。
【0002】
【従来の技術】本発明者が検討した技術として、シリア
ルバスの処理に関しては、以下のような技術が考えられ
る。例えば、高速シリアルバス処理装置の規格であるI
EEE1394において、そのバスを構成し、データを
転送するまでの手順は(1)バスリセット、(2)ツリ
ーの構成、(3)ノードの認識および(4)アービトレ
ーションという順序である。このうち、バスリセットは
ケーブルが新たに接続された時、もしくはノードがパワ
ーオフからパワーオン状態に変化した時にバス全体のリ
セットが発生する。その後、シリアルケーブルの接続状
態、つまりバス構成が(2)ツリーの構成において決定
され、そしてそのバスに接続されたノードの位置関係が
(3)ノードの認識によって決定される。そのノードの
認識が終了すると(4)データアービトレーションの状
態に遷移し、データの送受信が可能となる。ここで、
(2)のツリーの構成時にバスの中にループを含む場合
には、次のステップである(3)ノードの認識に移行す
ることができずに、エラー発生状態になる。
【0003】以下は、公知とされた技術ではないが、本
発明者によって検討された技術であり、その概要を図面
に基づいて説明する。図6はシリアルバスに係るループ
接続の一例を示す図である。
【0004】図6に示されるように、ループ状態とは閉
ループを1つ以上含むようなバス構成のことをいう。図
6(a)ではノードA、ノードBおよびノードCによっ
て第1のループが構成され、またノードA、ノードCお
よびノードDによって第2のループが構成される。ま
た、図6(b)においては、ノードA、ノードB、ノー
ドCおよびノードDによって1つのループが形成されて
おり、図6(c)ではノードB、ノードCおよびノード
Eによってループが形成されている。これらループを回
避するためには、図6(a)では例えばケーブル611
とケーブル613を外す必要があり、また図6(b)に
おいては例えばケーブル621を外す必要があり、また
図6(c)においてはケーブル632を外してループを
回避する必要がある。どのケーブルを外せば良いかはバ
スの構成によって決まるが、その方法は一意でない場合
もある。例えば図6(b)の例では4本のケーブルのう
ち、どのケーブルを外してもループ接続を回避すること
が可能である。
【0005】
【発明が解決しようとする課題】ところで、前記のよう
なシリアルバスの処理技術について、本発明者が検討し
た結果、以下のようなことが明らかとなった。例えば、
前記のようなループ状態を検出してエラー発生までの手
順はIEEE Std 1394規格において規格化さ
れているが、その解決手段は与えられていない。そのた
め、例えばデジタルビデオレコーダなどにおける公知の
方法によると、利用者がケーブルの接続状況を確認し、
そしてループを構成しているケーブルを抜くことによっ
て、このループ接続の問題を解決している。つまり、利
用者はどのケーブルがループを構成しているか容易に判
断できず、また自動的にループ接続を回避することがで
きないので、ループ接続が発生した時に利用者は簡単に
操作できない。
【0006】従って、高速シリアルバス処理装置の規格
であるIEEE1394においてバス内にループ状の接
続が存在すると、バスの正常な認識ができずにデータの
送受信ができない。これは利用者が任意でケーブルの接
続を確認し、そしてループを構成しているケーブルを抜
くことにより、このループ接続の問題を解決している。
そのため、ループ接続が発生した時に利用者は簡単に操
作できないという問題点がある。
【0007】そこで、本発明では、このループ接続を自
動的に認識してループ接続を回避し、正常にデータの送
受信を行うことを目的とする、シリアルバス処理方法と
装置を提供するものである。
【0008】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
【0009】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
次のとおりである。
【0010】すなわち、本発明によるシリアルバス処理
方法は、ループ接続を自動回避するために、シリアルバ
ス内に構成されるループ接続を検出し、前記ループ接続
の検出時に認識できないポート数に応じてランダムな時
間を設定し、前記ランダムな時間が経過した時にポート
を無効にすることを特徴とするものである。
【0011】さらに、前記シリアルバス処理方法におい
て、(アービトレーション期間内に)バイアス状態が偽
でかつ接続状態が真であるポートが存在する時にランダ
ムな時間を設定し、このランダムな時間が経過した時に
前記ポートの無効設定を真に設定し、前記ポート以外の
ポートのバイアス状態が真から偽に変化する条件を満足
する時に無効設定が真であるポートの無効設定を偽に設
定することを特徴とするものである。さらに、ノードの
転送速度に応じてランダムな時間を設定することを特徴
とするものである。
【0012】また、本発明によるシリアルバス処理装置
は、シリアルバス内に構成されるループ接続を検出する
ループ接続検出手段と、時間を計測するタイマと、前記
タイマに設定された時間が経過した時にポートを無効に
するポート無効手段とを備え、前記ループ接続検出手段
によってループが検出された時に認識できないポート数
に応じて前記タイマにランダムな時間を設定することを
特徴とするものである。
【0013】さらに、前記シリアルバス処理装置におい
て、ポートのバイアス状態を検出するバイアス状態検出
手段と、ポートの接続状態を検出する接続状態検出手段
とを備え、(アービトレーション期間内に)前記バイア
ス状態検出手段により検出したバイアス状態が偽でかつ
前記接続状態検出手段により検出した接続状態が真であ
るポートが存在する時に前記タイマにランダムな時間を
設定し、前記タイマに設定した時間が経過した時に前記
ポート無効手段により前記ポートを無効に設定し、前記
ポート以外のポートの状態に応じて前記ポート無効手段
によりポートを無効に設定することを特徴とするもので
ある。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0015】図1は、本発明の第1の実施の形態を示す
ループ回避のためのフローチャートである。
【0016】第1の実施の形態のループ回避において
は、最初にパワーオンもしくは新たなケーブル(シリア
ルケーブル)接続が発生すると、バスリセットが発生す
る。その後にツリー構成が行われるので、もしその時点
でループを検出しなければ、そのノードはループを構成
しているノードではないので、このフローチャートを実
行しない。もし、ループを検出した場合には、そのノー
ドはループを構成するノードとなるので、ステップS1
1からの処理を実行する。
【0017】(11)ステップS11において、最初に
ループを検出しているかどうかを調べる。もし、ループ
接続が存在しない場合には、ノードはループ接続を構成
するノードとはならないので、このフローチャートを終
了する。もし、ループ接続を検出した場合には、次のス
テップS12の手順へ進む。
【0018】(12)ステップS12において、ループ
を検出したノードにおいて、子ポートもしくは親ポート
のどちらとも判定できないポート数nを取得する。ここ
で、このノードはループを検出しているので、nの値は
2以上となる。このポート数nを取得すると、次のステ
ップS13の処理を実行する。
【0019】(13)ステップS13において、ポート
数nに基づいてTn−1<t≦Tnとなる条件を満足す
るランダムなタイマ値tを設定する。ここで、nは2以
上の値でT1はゼロより大きな値とする。Tn(n=
2、3、・・・)の値は全てのノードで同一となるよう
に設定する。この処理が終了したら、次のステップS1
4の処理を実行する。
【0020】(14)ステップS14において、各ノー
ド毎にタイマCを持ち、そのタイマ値をクリアした後
で、そのタイマCをスタートさせる。タイマは時間を計
測するものであればカウンタなどでも代用できる。次に
ステップS15へ移行する。
【0021】(15)ステップS15において、タイマ
CとステップS13で設定した値tの比較を行い、ステ
ップS16の処理を実行する。
【0022】(16)ステップS16において、ステッ
プS15で比較した結果、もしその値が一致していない
場合もしくは設定値tよりタイマCの値が小さい場合に
は、再びステップS15に戻る。もし、タイマCの値が
設定値tと一致した場合には、次のステップS17の処
理を実行する。
【0023】(17)ステップS17において、識別さ
れていないポートのうちの1つをdisabled状態
に設定して、そのポートが使用不可能な状態に設定す
る。ただし、この時、ポートには物理的なケーブル接続
は存在しており、ポートをdisabled状態、つま
り無効状態に設定することによって仮想的にケーブルを
切断したことと同一である。
【0024】(18)ステップS18において、ポート
をdisabled状態に設定した後、その新たなバス
を構成するためにバスリセットを発行し、このフローチ
ャートを終了する。
【0025】この第1の実施の形態はバス内に構成され
るループが2つ以上の場合に適応できるが、バス内に構
成されるループの数が最大1つになることが予め判明し
ている場合には、n=2の条件を常に満足する。その時
には、前記手順のステップS13において、ノードは常
にt≦T2となるタイマ設定値tを設定することが可能
である。
【0026】各ノードが送受信可能な転送速度に違いが
ある場合には、以下の手順を追加することもできる。I
EEE1394で定義されるシリアルバスでは、バスの
中に異なるデータ転送速度を持つノードがデータ転送経
路に存在すると、バスの転送速度は最も転送速度の遅い
ノードに合わせられる。そのために、前記第1の実施の
形態のステップS13において転送スピードに応じてタ
イマ値を設定する。ノードの転送速度をSi(i=0、
1、・・・)とし、転送速度はS0<S1<・・・<S
iとなるものとする。この時に、タイマ値をTn−1<
TS0<TS1<TS2<・・・<Tnを満足するタイ
マ値を設定する。このように条件を設定すると、転送速
度の遅いノードのポートからケーブルが仮想的に切断さ
れていくので、転送速度の遅いノードはツリーの末端に
存在することになり、データ転送経路上に転送速度の遅
いノードが存在せず、効率の良いデータ転送が可能とな
る。
【0027】図2は、前記図1に示す第1の実施の形態
によってループが自動的に解決されるバス構成を示した
例で、各ノードの状態変化を説明する図である。
【0028】まず、最初に図2(a)に示されるバスが
構成されているものとする。つまり、ノードA201は
ケーブル211とケーブル213によってそれぞれノー
ドB202とノードC203に接続されているものと
し、またノードC203はケーブル212とケーブル2
14によってそれぞれノードB202とノードD204
に接続されている。ノードD204はケーブル217と
ケーブル215によりそれぞれノードF206とノード
E205に接続されており、ノードE205はケーブル
216によってノードF206に接続されているものと
する。このバス構成内には2つのループ接続が存在し、
ノードA、ノードBおよびノードCから構成される第1
のループ、ノードD、ノードEおよびノードFから構成
される第2のループが存在する。この図2に示されるル
ープを2つ含むシリアルバスが正常にデータ転送が可能
となるためには、この第1のループおよび第2のループ
を回避しなくてはならない。図1に示される第1の実施
の形態に従い、図2(a)のバス構成に適応した時の詳
細な手順を以下に示す。
【0029】(21)図2(a)のバス構成において、
全てのノードがループを検出する。これは第1の実施の
形態のステップS11に対応する。第1の実施の形態の
ステップS12において、各ノードは識別できないポー
ト数を取得する。ここでは、ノードCとノードDは識別
できないポートを3つ持つ。その他のノードA、ノード
B、ノードEおよびノードFは、識別できないポートを
2つ持つことを判別することができる。
【0030】次に、ステップS13で示される条件を持
つタイマ値tをそれぞれのノード毎に設定する。このタ
イマ値は条件を満たす範囲内でランダムに設定されるた
め、常に同じ値を持つとは限らず、この例ではノードB
が他のノードのタイマ値に比べて最も小さい値を持つも
のとする。ただし、識別できないポートを3つ持つノー
ドCとノードDのタイマ値は常にそれ以外のタイマ値よ
りも大きい。このように設定することによって、図2の
ケーブル214が最初に仮想的に切断されて、2つのツ
リーが構成されることを防ぐ。
【0031】各ノードがタイマ値を設定すると、ステッ
プS14に従って、各タイマをクリアし、タイマをスタ
ートする。そして、各ノードはステップS15に従って
タイマ値と設定値tを比較する。各ノードは、比較した
結果、もしステップS16に示される条件を満足すれ
ば、ポートのdisabled設定を行った後にバスリ
セットを行い、条件を満足しない時にはステップS15
に処理が戻る。この図2に示される例では、まずノード
BがこのステップS15に示される条件を満たす。その
ため、ノードBは2つあるポートのうちケーブル211
が接続されたポートをdisabled状態に設定し、
仮想的にケーブル211を切断する。そしてバスリセッ
トを発行し、新たにバス構成を開始する。
【0032】(22)前記(21)でバスリセットが発
行され、ツリーの構成が再び開始されると、図2(c)
の状態になる。ここで、ケーブル211は仮想的に切断
されていることを表わすために、実線ではなくて破線で
記述している。この状態において、図2(a)に示され
る2つのループのうち、第1のループは解決され、第2
のループはそのまま解決されずに残されている。
【0033】(23)ケーブル211が仮想的に切断さ
れた状態の図2(c)に示されるバス構成において、ル
ープを検出するノードはノードD、ノードEおよびノー
ドFとなる。この場合には、ノードA、ノードBおよび
ノードCはそれぞれが持つ全てのポートが識別され、親
ポートもしくは子ポートであることが判別可能であり、
ループを検出しない。次に、ステップS12に従って各
ノードの識別できないポート数を取得する。ノードD、
ノードEおよびノードFは識別できないポートを2つ持
つことが分かる。そして、この識別できないポートを持
つ3つのノードに対して、ステップS13に従ってTn
−1<t≦Tnを満足するランダムなタイマ値tを設定
する。この例では、ノードFが最も小さい値を持つもの
と仮定する。
【0034】その後、各ノードはステップS14にある
通り、タイマをクリアしてタイマをスタートする。そし
て、タイマの値を設定値と比較を行い、もしタイマ値が
設定値と一致したら、図2(d)に示されるようにその
ノードのポートをdisabled状態に設定する。こ
の例では、ノードFのタイマが最も早く設定値と一致す
るので、ノードFのポートのうちケーブル216に繋が
るポートをdisabled状態に設定し、仮想的にケ
ーブル216を切断する。そして、ノードFはバスリセ
ットを発行する。
【0035】(24)前記(23)でバスリセットが発
行されると、新たにツリー構成が開始され、図2(e)
で示されるバスが構成される。このバス構成において、
図2(a)で2つ存在していたループは解決されてお
り、この状態でデータの送受信が可能となる。
【0036】ここで示した例だけではなくて、他のバス
構成の場合であっても第1の実施の形態に示される手順
に従い、ループ接続が自動的に回避され、データの正常
な送受信が可能となる。
【0037】図3は、本発明の第2の実施の形態を示す
ループ回避のためのフローチャートである。このフロー
チャートは、前記図1に示される第1の実施の形態に従
い、ループを回避した後に構成される複数ツリーの解決
を行う。複数ツリーが構成される条件は、第1の実施の
形態において、各ノードにランダムな値をタイマに設定
するが、その時にタイマ値が同一となり、同時に2つの
ケーブルが仮想的に切断される場合である。以下に、図
3の詳細な説明を行う。
【0038】(31)ステップS31において、ルート
ノードは変数iにゼロを設定する。そして、各ノードに
おける全てのポートの状態を取得する。ここで、ルート
ノードとは、構成されたバスにおいてデータの調停を行
うことのできるノードのことで、ツリーの中に1つ存在
する。ポートの状態はdisabled、biasおよ
びconnectedで表わされる。状態disabl
edは、ポートが有効か無効であるかの状態を表わすも
ので、disabledがH(真)状態のときにポート
は無効、L(偽)の時にポートは有効となる。状態bi
asは、ポートがケーブルによって接続されている対向
ポートからバイアス電圧を受信しているかどうかを示す
もので、biasがH(真)の時は対向ポートからのバ
イアス電圧を受信していることを示し、L(偽)の時に
は対向するポートからバイアス電圧を受信していないこ
とを表わす。そして、connected状態は、ポー
トに物理的なケーブル接続が存在するかどうかを示すも
ので、connected状態がH(真)状態の時には
ポートに物理的なケーブル接続が存在していることを示
し、L(偽)の時には物理的なケーブル接続が存在しな
いものとする。このポートの状態を取得した後、ステッ
プS32の処理を実行する。
【0039】(32)ステップS32において、ルート
ノードは、各ノードに接続されたポートについて論理式
(connected&&!bias)が真である条件
を満足するポートを調べ、これをPiポートとする。P
iポートは1つのツリー内に複数存在してもよく、その
場合にはiは1以上の整数となる。この条件を満足する
場合には、ステップS33の処理を実行する。もし、条
件を満たさない場合は終了する。
【0040】ここで、条件を満足しない場合において、
変数iがゼロであるということは、構成されたツリーの
外で同時にポートをdisabled状態に設定したツ
リーが存在していることを意味しているので、この状態
の時には別のツリーで複数ツリーの解決が図られる。ま
た、変数iの値がゼロ以外のときは、自ツリー内のdi
sabledに設定したポートに対向するポートが必ず
存在することを意味しており、これは複数ツリーを構成
せずに正常に動作可能であることを表わす。
【0041】(33)ステップS33において、ルート
ノードは、最初にt>0となるランダムなタイマ値tを
設定する。そして、タイマCをクリアし、タイマCをス
タートする。その後で、変数iにi+1を代入してiを
インクリメントする。この処理が終了すると、ステップ
S34の処理を実行する。
【0042】(34)ステップS34において、このス
テップではタイマCと設定値tを比較して、ステップS
35に移行する。
【0043】(35)ステップS35において、タイマ
Cと設定値tが一致した場合には、ステップS36に移
行し、条件を満足しない場合にはステップS34に戻
る。
【0044】(36)ステップS36において、ルート
ノードは、ポートPiをdisabledに設定して各
ポートのbias状態を取得する。そして、bias状
態の取得が終わると、ポートPiを再びdisable
d状態に変更し、ステップS37の処理を実行する。
【0045】(37)ステップS37において、ステッ
プS36で取得したbias状態の中でH状態からL状
態に変化したポートがある場合には、ステップS32に
移行し、もしそのようなポートが存在しない場合にはス
テップS38に移行する。ここで、ステップS32に再
び移行するのは、ここで調べたPiポート以外にも論理
式(connected&&!bias)が真である条
件を満たすポートが他に存在しないかを確認するためで
ある。つまり、第1の実施の形態に従って1つのツリー
内に複数のdisabled状態に設定されたポートが
存在する可能性があるためである。
【0046】(38)ステップS38において、dis
abledが真であるポートのうちの1つのポートを!
disabled状態に設定し、ステップS39の処理
を実行する。
【0047】(39)ステップS39において、バスリ
セットを発行し、図3に示されるフローチャートを終了
する。
【0048】図4は、前記図3に示す第2の実施の形態
によってループが自動的に解決されるバス構成を示した
例で、各ノードの状態変化を説明する図である。表1
は、図4における各ポートの状態を示す表である。図4
と表1を用い、以下、詳細に第2の実施の形態を説明す
る。
【0049】
【表1】 図4(a)で示されるバス構成に対して、前記図3の第
2の実施の形態が適用されるものとする。図4(a)の
バス構成において、ノードA401はポートA0とポー
トA1を持ち、それぞれケーブル414とケーブル41
1に接続されているものとする。ノードB402はポー
トB0とポートB1を持ち、それぞれケーブル412と
ケーブル411に接続されているものとする。ノードC
403はポートC0とポートC1を持ち、それぞれケー
ブル412とケーブル413に接続されているものとす
る。ノードD404はポートD0とポートD1を持ち、
それぞれケーブル414とケーブル413に接続されて
いるものとする。従って、ノードAはノードBとノード
Dにケーブルを介して接続されており、ノードCはノー
ドBとノードDにケーブルを介して接続されている。こ
のバス構成において、第2の実施の形態を適応すると、
以下の手順により複数のツリーが解決される。
【0050】(41)図4(a)は、バスの初期状態を
表わしており、図4(a)において全てのポート状態は
biasがHの状態、connectedはHの状態で
あり、disabledはLの状態である。これを表1
(a)に示す。
【0051】(42)図4(b)は、図4(a)のバス
構成において、図1に示す第1の実施の形態を適応し、
複数のツリーが構成された例を示すものである。図4
(b)に示される2つの構成されたツリーのうち、図左
半分に構成されたツリーを第1のツリーとし、図右半分
に構成されたツリーを第2のツリーとする。複数のツリ
ーはポートが同時に2つ仮想的に切断された場合に発生
し、この図の例ではポートA0とポートC0が仮想的に
ケーブル接続を切断したものとする。この時の各ポート
の状態を表1(b)に示す。ポートA0とポートC0だ
けがdisabledがH状態となっており、他の状態
については表1の(a)から変化していない。また、ポ
ートA0とポートC0をdisabled状態に設定し
たことによって、それぞれに対向するポートD0とポー
トB0のbias状態がLとなる。
【0052】(43)図4(b)の状態で2つのツリー
が構成されるため、ここから第2の実施の形態に従って
複数ツリーの解決を図る。まず、ステップS31に従い
各ノードのポート状態を取得する。次に、論理式(co
nnected&&!bias)が真となるポートを探
すと、図4(c)の右半分のツリーにおいてポートD0
がこの条件を満足するので、このポートをP0とする。
次に、ステップS33に従いランダムなタイマ値tを設
定し、タイマをクリアした後、タイマCをスタートす
る。そして、ステップS34に従いタイマCの値と設定
値tを比較し、それが一致するかどうかをステップS3
5に従い検査する。それが一致した場合には、ステップ
S36に記述の通りポートP0をdisabledに設
定し、各ポートのbias状態を取得する。そして、そ
のポートP0を!disabledに再設定する。そし
て、ステップS37に従ってポートの状態のうちbia
sがHからL状態に変化したポートがあるかを調べる
と、この場合には図4(c)の右半分のツリー内にはそ
の条件を満足するポートは存在しない。この時の各ポー
トの状態を表1(c)に示す。ここで、上記ポートP0
のdisabledに対応してbiasが変化するポー
トはポートA0である。図4(a)に左半分の第1のツ
リーが同様の処理を行うことによって、ポートD0もb
iasが変化する可能性があるが、ここでは図4(a)
の右半分に示される第2のツリーのランダムなタイマ値
が左半分に示される第1のツリーのタイマ値よりも小さ
いものとし、先にステップS36の処理を実行するもの
とする。
【0053】(44)前記(43)において、ステップ
S37の条件を満たすポートが図4(a)右半分のツリ
ー内に存在しないので、ステップS38に従いそのツリ
ー内でdisabledに設定されているポートC0の
disabled設定を解除し、バスリセットの発行を
行う。この時の各ポートの状態を表1(d)に示す。ポ
ートC0のdisabled状態を解除することによっ
て、ポートB0のbias状態が変化している。この図
4(d)の状態において、仮想的にケーブルが切断され
いる箇所はケーブル414だけとなっており、正しくバ
ス構成を行うことが可能である。
【0054】(45)バスリセットの発行を行うと、再
びバスの構成が開始され、ポートA0はdisable
d状態のままであるので、正常に複数ツリーを構成する
ことなく、バス構成が終了する。これによって、正常な
データの送受信が可能となる。
【0055】図5は、前記図1、図3で説明した第1お
よび第2の実施の形態に示されるループ接続回避方式を
用いたシリアルバス処理装置の一例の構成である。図5
のシリアルバス処理装置は、IEEE1394のプロト
コルスタックにおける物理層の処理を行うPHY装置5
1と、IEEE1394のリンク層の処理を行うLIN
K装置52と、IEEE1394におけるトランザクシ
ョン層とシリアルバス管理層の処理を行うCPU53か
ら構成され、前記PHY装置51はポート57a、57
bおよび57cを持つものとし、CPU53に接続され
た共通バス58にはROM54とRAM55が接続され
ており、LINK装置52はデータ入出力端子56を持
つものとする。以下、詳細に動作説明を行う。
【0056】図5に示されるPHY装置51に接続され
た3つのポート57a、57bおよび57cには、シリ
アルケーブルがそれぞれに接続されて他のシリアルバス
処理装置と接続されている。また、PHY装置51はL
INK装置52に接続されており、PHY装置51は物
理層で定義されるプロトコルに従い他のシリアルバス処
理装置からのデータをLINK装置52に転送したり、
またLINK装置52からのデータをポートに送信する
機能を持つ。また、PHY装置51には各ポートの状態
を検出する機能(ループ接続検出手段、ポート無効手
段、バイアス状態検出手段、接続状態検出手段など)が
あり、前記のdisabled、connected、
bias、ループ検出および子ポートか親ポートかのポ
ート認識を行うことが可能である。また、シリアルバス
に対してバスリセットを発行する機能も持つ。LINK
装置52はIEEE1394のリンク層の処理を行い、
PHY装置51とCPU53に接続されている。CPU
53からPHY装置51への制御命令の送信およびPH
Y装置51のポートの状態はLINK装置52を通じて
行われる。LINK装置52に接続された入出力端子5
6にはシリアルバスプロトコルによって送受信されたデ
ータが入出力され、上位のレイヤに対応するMPEGデ
コーダ/エンコーダなどが接続される。CPU53はL
INK装置52と共通バス58を介してROM54とR
AM55に接続されている。このCPU53はIEEE
1394のトランザクション層とシリアルバス管理層を
実行する。また、前記第1の実施の形態と第2の実施の
形態で示される手順を本CPU53で実行する。実行す
るプログラム本体はRAM55もしくはROM54に蓄
積されているものとし、RAM55およびROM54は
CPU53の内部にあっても良い。前記図1と図3に示
したタイマCはCPU53もしくはPHY装置51にあ
るものとする。図1に示される第1の実施の形態である
フローを、図5の装置例で以下詳細に説明する。
【0057】(51)CPU53は、最初にループを検
出しているかどうかをLINK装置52を経由してPH
Y装置51のループ状態を調べる。もし、ループ接続が
存在しない場合には、ノードはループ接続を構成するノ
ードとはならないので、このフローチャートを終了す
る。もし、ループ接続を検出した場合には、次の(5
2)の手順を実行する。
【0058】(52)CPU53は、子ポートもしくは
親ポートのどちらとも判定できないポート数nをPHY
装置51からLINK装置52の経由で取得する。そし
て、ポート数nを取得すると、次の(53)の処理を実
行する。
【0059】(53)CPU53は、ポート数nに基づ
いてTn−1<t≦Tnとなる条件を満足するランダム
なタイマ値tをCPU53内のタイマCに設定するか、
もしくはPHY装置51内にあるタイマC’に設定す
る。このタイマはCPU53内かPHY装置51内に実
装されているものとする。この処理が終了したら次の
(54)の処理を実行する。
【0060】(54)CPU53内にタイマCを持つ場
合は、そのタイマ値をクリアした後でタイマCをスター
トさせる。PHY装置51内にタイマC’がある場合に
は、CPU53はこのタイマC’をクリアし、タイマ
C’をスタートさせる。次に(55)の処理を実行す
る。
【0061】(55)CPU53は、タイマCもしくは
タイマC’と前記(53)で設定した値tの比較を行
い、次の(56)の処理を実行する。
【0062】(56)CPU53は、前記(55)で比
較した結果、もしその値が一致していない場合もしくは
設定値tよりタイマCもしくはタイマC’の値が小さい
場合には、再び(55)に戻る。もし、タイマCもしく
はタイマC’の値が設定値tと一致した場合には、次の
(57)の処理を実行する。
【0063】(57)CPU53は、識別されていない
PHY装置51に接続されたポートの内の1つをdis
abled状態に設定して、そのポートが使用不可能な
状態に設定する。ただし、この時、ポートには物理的な
ケーブル接続は存在しており、ポートをdisable
d状態に設定することによって仮想的にケーブルを切断
したことと同一である。
【0064】(58)CPU53は、ポートをdisa
bled状態に設定した後、その新たなバスを構成する
ためにバスリセットを発行し、このフローチャートを終
了する。
【0065】従って、本実施の形態によれば、ループ接
続の自動回避方式として、各ノードの認識できないポー
トの数に応じてランダムな値を持つタイマ値を設定し、
設定したタイマ値になった時にポートを無効としてケー
ブルを仮想的に切断することにより、新しいバストポロ
ジを自動的に構成することができる。
【0066】以上、本発明者によってなされた発明をそ
の実施の形態に基づき具体的に説明したが、本発明は前
記実施の形態に限定されるものではなく、その要旨を逸
脱しない範囲で種々変更可能であることはいうまでもな
い。
【0067】例えば、前記説明においては、第1あるい
は第2の実施の形態に示される手順をCPU53で実行
しているが、この処理をCPU53に代えてPHY装置
51内にあるハードウエアによって実行することも可能
である。
【0068】また、前記図3に示される第2の実施の形
態についても同様にして、前記PHY装置51の各ポー
トの状態のうちdisabled、connecte
d、bias、ループ検出および子ポートか親ポートか
のポート認識を行うことが可能であり、またシリアルバ
スに対してバスリセットを発行する機能を持ち、タイマ
をCPU53もしくはPHY装置51に持つ図5に示さ
れるシリアルバス処理装置により実現される。
【0069】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0070】(1)高速シリアルバス規格であるIEE
E1394において、シリアルバス内にループ接続を検
出した時に自動的にそのループ接続を回避することで、
正常にデータの送受信が可能となる。従って、IEEE
1394シリアルバス処理装置を利用するエンドユーザ
は、シリアルバスの構成を調べることなく、自動的にル
ープ接続を回避し、正常なデータ送信を行うことが可能
となるので、ユーザは容易にIEEE1394の適用装
置を取り扱うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すループ接続回
避のための手順を示すフローチャートである。
【図2】(a)〜(e)は本発明の第1の実施の形態に
より解決されるループの状態遷移の例を示す図である。
【図3】本発明の第2の実施の形態を示すループ接続回
避のための手順を示すフローチャートである。
【図4】(a)〜(e)は本発明の第2の実施の形態に
より解決されるループの状態遷移の例を示す図である。
【図5】本発明の第1および第2の実施の形態に係るシ
リアルバス処理装置を示すブロック構成図である。
【図6】(a)〜(c)は本発明の前提として検討した
シリアルバスに係るループ接続の例を示す図である。
【符号の説明】
201〜206 ノード 211〜217 ケーブル 401〜404 ノード 411〜414 ケーブル 51 PHY装置 52 LINK装置 53 CPU 54 ROM 55 RAM 56 入出力端子 57a,57b,57c ポート 58 共通バス 611〜615,621〜624,631〜635 ケ
ーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 柴山 哲也 東京都青梅市新町六丁目16番地の3 株式 会社日立製作所デバイス開発センタ内 (72)発明者 片岡 智洋 東京都青梅市新町六丁目16番地の3 株式 会社日立製作所デバイス開発センタ内 Fターム(参考) 5B077 NN02 5K033 AA06 CC01 EA02 EA04 EB02 5K035 CC08 JJ02 LL01 LL11

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 シリアルバス内に構成されるループ接続
    を検出し、 前記ループ接続の検出時に認識できないポート数に応じ
    てランダムな時間を設定し、 前記ランダムな時間が経過した時にポートを無効にする
    ことを特徴とするシリアルバス処理方法。
  2. 【請求項2】 請求項1記載のシリアルバス処理方法に
    おいて、 バイアス状態が偽でかつ接続状態が真であるポートが存
    在する時にランダムな時間を設定し、このランダムな時
    間が経過した時に前記ポートの無効設定を真に設定し、
    前記ポート以外のポートのバイアス状態が真から偽に変
    化する条件を満足する時に無効設定が真であるポートの
    無効設定を偽に設定することを特徴とするシリアルバス
    処理方法。
  3. 【請求項3】 請求項1記載のシリアルバス処理方法に
    おいて、 ノードの転送速度に応じてランダムな時間を設定するこ
    とを特徴とするシリアルバス処理方法。
  4. 【請求項4】 シリアルバス内に構成されるループ接続
    を検出するループ接続検出手段と、 時間を計測するタイマと、 前記タイマに設定された時間が経過した時にポートを無
    効にするポート無効手段とを備え、 前記ループ接続検出手段によってループが検出された時
    に認識できないポート数に応じて前記タイマにランダム
    な時間を設定することを特徴とするシリアルバス処理装
    置。
  5. 【請求項5】 請求項4記載のシリアルバス処理装置に
    おいて、 ポートのバイアス状態を検出するバイアス状態検出手段
    と、 ポートの接続状態を検出する接続状態検出手段とを備
    え、 前記バイアス状態検出手段により検出したバイアス状態
    が偽でかつ前記接続状態検出手段により検出した接続状
    態が真であるポートが存在する時に前記タイマにランダ
    ムな時間を設定し、前記タイマに設定した時間が経過し
    た時に前記ポート無効手段により前記ポートを無効に設
    定し、前記ポート以外のポートの状態に応じて前記ポー
    ト無効手段によりポートを無効に設定することを特徴と
    するシリアルバス処理装置。
JP2001057901A 2001-03-02 2001-03-02 シリアルバス処理方法および装置 Pending JP2002261785A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001057901A JP2002261785A (ja) 2001-03-02 2001-03-02 シリアルバス処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001057901A JP2002261785A (ja) 2001-03-02 2001-03-02 シリアルバス処理方法および装置

Publications (1)

Publication Number Publication Date
JP2002261785A true JP2002261785A (ja) 2002-09-13

Family

ID=18917706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001057901A Pending JP2002261785A (ja) 2001-03-02 2001-03-02 シリアルバス処理方法および装置

Country Status (1)

Country Link
JP (1) JP2002261785A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471624B2 (en) 2004-09-29 2008-12-30 Fujitsu Limited Loop connection detecting method and device
JP2014513891A (ja) * 2011-04-13 2014-06-05 ゼットティーイー コーポレーション イーサネットノードの検出フレームタイムアウト時間の設定方法及びシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7471624B2 (en) 2004-09-29 2008-12-30 Fujitsu Limited Loop connection detecting method and device
JP2014513891A (ja) * 2011-04-13 2014-06-05 ゼットティーイー コーポレーション イーサネットノードの検出フレームタイムアウト時間の設定方法及びシステム

Similar Documents

Publication Publication Date Title
JPH08507623A (ja) ノードの任意トポロジー集合体を非サイクル有向グラフに変換する方法及び装置
US6977887B1 (en) Method and apparatus for loop breaking on a serial bus
JP4278439B2 (ja) 情報通信装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
US6697383B1 (en) Method and apparatus for detecting data streams with specific pattern
JPH08505722A (ja) 非サイクル有向グラフに関わる固有アドレス割当て、ノード自己識別及びトポロジーマッピングの方法及び装置
RU2004139118A (ru) Определение и конфигурирование пути передачи данных в сети
JPH10504435A (ja) トークンリング用マルチポートlanスイッチ
US9678908B2 (en) Method for automatically setting ID in UART ring communication
US6374316B1 (en) Method and system for circumscribing a topology to form ring structures
JP3523616B2 (ja) バス最適化方法及び通信ノード
US6519634B1 (en) Method of generating IEEE 1394 virtual network in which a virtual network controller is connected to generate self ID packets as virtual node ID
US6804263B1 (en) Controlling the state of a node connected to a bus during the self identification phase of bus arbitration
US7924750B1 (en) Method and apparatus for establishing a communication mode between network devices in a network
JPH07297853A (ja) 拡張可能なラウンドロビンローカルエリアハブネットワーク
KR100553867B1 (ko) Ieee 1394 버스로 연결된 네트워크에서의 버스 리셋 처리방법
US6751697B1 (en) Method and system for a multi-phase net refresh on a bus bridge interconnect
JP2002261785A (ja) シリアルバス処理方法および装置
US6584539B1 (en) Method and system for message broadcast flow control on a bus bridge interconnect
US20180054324A1 (en) System and method for integrating redundant ring and rapid spanning tree protocol (rstp)
US6892262B1 (en) Serial bus interface device
JP2000267982A (ja) 情報処理装置
US6675247B1 (en) Loop formation eliminating apparatus of a serial bus system and method thereof
WO2018035681A1 (zh) 建立端口连接的方法及端口芯片
JP3901941B2 (ja) Ieee1394規格における装置およびその装置におけるコンフィグレーション方法
EP1368934A1 (en) System, method and measuring node for determining a worst case gap-count value in a multi-station network