(57)【要約】【課題】ＵＳＢのハイスピードモードにおいては、ＳＯＦパケットのＥＯＰコードが他の種類のパケットとは異なる。このため、ハイスピードモードにおいては、パケットの種類を判別した上でパケットの種類に応じたＥＯＰコードの検出を行う必要がある。【解決手段】受信したパケットのＥＯＰコードの検出をビットスタッフィングエラーで行い、受信したパケットの転送においては受信したＥＯＰコードは用いず、ＰＩＤコードを元に生成したＥＯＰコードを送信する。【選択図】図１
2011186791.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢハブであって、
受信したパケットの種別の識別を行う第１の制御部と、
前記受信したパケットのビットスタッフィングエラーの検出を行う第２の制御部と、
第１のＥＯＰコード及び第２のＥＯＰコードを生成する第３の制御部と、を含み、
ハイスピードモードによる転送において、
前記第１の制御部において前記受信したパケットがＳＯＦパケットであると判断され、かつ、前記第２の制御部において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第１のＥＯＰコードに置き換えて送信し、
前記第１の制御部において前記受信したパケットがＳＯＦパケットでないと判断され、かつ、前記第２の制御部において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第２のＥＯＰコードに置き換えて送信することを特徴とするＵＳＢハブ。
【請求項２】
前記第１の制御部は、前記受信したパケットの種別の判断を、前記受信したパケットに含まれるＰＩＤコードにより行うことを特徴とする請求項１に記載のＵＳＢハブ。
【請求項３】
前記第１のＥＯＰコードの長さは４０ビットであり、前記第２のＥＯＰコードの長さは８ビットであることを特徴とする請求項１又は２に記載のＵＳＢハブ。
【請求項４】
ＵＳＢハブの制御方法であって、
受信したパケットの種別を識別する第１の工程と、
前記受信したパケットのビットスタッフィングエラーの検出を行う第２の工程と、
第１のＥＯＰコード及び第２のＥＯＰコードを生成する第３の工程と、を含み、
ハイスピードモードにおける転送において、
前記第１の工程において前記受信したパケットがＳＯＦパケットであると判断され、かつ、前記第２の工程において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第１のＥＯＰコードに置き換えて送信し、
前記第１の工程において前記受信したパケットがＳＯＦパケットでないと判断され、かつ、前記第２の工程において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第２のＥＯＰコードに置き換えて送信することを特徴とするＵＳＢハブの制御方法。
【請求項５】
前記第１の工程は、前記受信したパケットの種別の判断を、前記受信したパケットに含まれるＰＩＤコードにより行うことを特徴とする請求項４に記載のＵＳＢハブの制御方法。
【請求項６】
前記第１のＥＯＰコードの長さは４０ビットであり、前記第２のＥＯＰコードの長さは８ビットであることを特徴とする請求項４又は５に記載のＵＳＢハブの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、パーソナルコンピューターなどの情報処理装置に接続されるＵＳＢハブ及びＵＳＢハブの制御方法に関する。
【背景技術】
【０００２】
従来、パーソナルコンピューターと周辺機器とを接続するための汎用インターフェイスの規格としてＵＳＢが存在する。ＵＳＢにおいては複数のデータ転送速度が規定されており、ＵＳＢ２．０の規格において、以前から規定されていたフルスピードモード及びロースピードモードに加えて、４８０Ｍｂｐｓの転送速度のハイスピードモードが導入されている。ＵＳＢは使い勝手がよく、広く普及しているインターフェイスである。このため、ＵＳＢのインターフェイスを有する周辺機器（以降、ＵＳＢ周辺機器、ＵＳＢファンクション、又は、スレーブ装置と呼ぶことがある）の種類が多く、複数の周辺機器を一台のパーソナルコンピューターに接続して使用したいという要求が多い。このため、より多くのＵＳＢ周辺機器を接続可能とするために、ＵＳＢの規格の中にＵＳＢハブの規格が定義されている。ＵＳＢハブ自身もＵＳＢ周辺機器のひとつである。
【０００３】
また、ハイスピードモードにおいては、ＵＳＢがアイドルの状態であることを示すスケルチの検出に要する時間が、４ビットのデータ長に相当する時間を要する可能性がある。このため、パケットを受信する機器においてパケット受信後に受信する本来存在しないデータ、所謂ドリブルビットが４ビットまで許容されている。このスケルチ検出のための回路が、たとえば特許文献１に提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１９８３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、より感度のよいスケルチ検出回路はより回路規模が大きくなる傾向にあり、このための設計に要する負荷も大きくなるという課題がある。また、ＵＳＢハブの場合は、受信したドリブルビットが規格内であっても該ドリブルビットを送信してしまうことは好ましくない。後段となる機器において発生するドリブルビットが４ビット以下であったとしても、終了コードの後に繋がる余分なデータが４ビットを超える場合も考えられ、後段の機器の設計内容によっては好ましくない動作が起こる可能性があるからである。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題若しくは問題の少なくとも一部を解決するためになされたものであり、以下の適用例若しくは実施形態として実現することが可能である。尚、ＵＳＢの規格は広く知られている規格であることから、以降に記載の適用例及び実施形態においては、ＵＳＢの規格書などで示されている内容（たとえば、パケットの構造など）については特に必要がない限り説明や図示は行わないこととする。
【０００７】
また、パケットは複数のフィールドからなるが、以降の記載において、ＳＹＮＣフィールドのデータをＳＹＮＣコードと呼ぶことがある。また、ＥＯＰフィールドのデータをＥＯＰコードと呼ぶことがある。また、ＰＩＤフィールドのデータをＰＩＤコードと呼ぶことがある。
【０００８】
［適用例１］
本適用例にかかるＵＳＢハブは、受信したパケットの種別の識別を行う第１の制御部と、前記受信したパケットのビットスタッフィングエラーの検出を行う第２の制御部と、第１のＥＯＰコード及び第２のＥＯＰコードを生成する第３の制御部と、を含み、ハイスピードモードによる転送において、前記第１の制御部において前記受信したパケットがＳＯＦパケットであると判断され、かつ、前記第２の制御部において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第１のＥＯＰコードに置き換えて送信し、前記第１の制御部において前記受信したパケットがＳＯＦパケットでないと判断され、かつ、前記第２の制御部において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第２のＥＯＰコードに置き換えて送信することを特徴とする。
【０００９】
この構成によれば、生成するＥＯＰコードの種類を受信したパケットがＳＯＦパケットかどうかを判断し、ビットスタッフィングエラーを発生させたビットから７ビット前のビット以降に受信したデータを生成したＥＯＰコードと置き換えることで、受信したパケットの解析を行う回路の規模を小さくすることができ、ＵＳＢハブにおいて付加されたドリブルビットの伝播をなくすことができる。ＳＯＦパケットにおけるＥＯＰコードの長さは４０ビットであるが、他の種類のパケットにおけるＥＯＰコードの長さは８ビットである。少なくとも４０ビット長のＥＯＰコードを検出するための回路が不要となる。
【００１０】
［適用例２］
上記適用例にかかるＵＳＢハブにおいて、前記第１の制御部は、前記受信したパケットの種別の判断を、前記受信したパケットに含まれるＰＩＤコードにより行うことが好ましい。
【００１１】
この構成によれば、パケットに含まれる４ビット長のＰＩＤコードを用いることで、ＳＯＦパケットの検出を行うことができる。
【００１２】
［適用例３］
上記適用例にかかるＵＳＢハブにおいて、前記第１のＥＯＰコードの長さは４０ビットであり、前記第２のＥＯＰコードの長さは８ビットであることが好ましい。
【００１３】
この構成によれば、生成するＥＯＰコードをＵＳＢ２．０の規格に規定されたＥＯＰコードとすることができる。
【００１４】
［適用例４］
本適用例にかかるＵＳＢハブの制御方法は、受信したパケットの種別を識別する第１の工程と、前記受信したパケットのビットスタッフィングエラーの検出を行う第２の工程と、第１のＥＯＰコード及び第２のＥＯＰコードを生成する第３の工程と、を含み、ハイスピードモードにおける転送において、前記第１の工程において前記受信したパケットがＳＯＦパケットであると判断され、かつ、前記第２の工程において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第１のＥＯＰコードに置き換えて送信し、前記第１の工程において前記受信したパケットがＳＯＦパケットでないと判断され、かつ、前記第２の工程において前記受信したパケットの第１のビットでビットスタッフィングエラーを検出した場合は、前記第１のビットから７ビット前のビット以降に受信したデータを前記第２のＥＯＰコードに置き換えて送信することを特徴とする。
【００１５】
この方法によれば、受信したパケットの種別を識別する第１の工程と、受信したパケットのビットスタッフィングエラーの検出を行う第２の工程と、第１のＥＯＰコード及び第２のＥＯＰコードを生成する第３の工程を含むことで、受信したパケットの解析を行う回路の規模を小さくすることができ、ＵＳＢハブにおいて付加されたドリブルビットの伝播をなくすことができる。ＳＯＦパケットにおけるＥＯＰコードの長さは４０ビットであるが、他の種類のパケットにおけるＥＯＰコードの長さは８ビットである。少なくとも４０ビット長のＥＯＰコードを検出するための回路が不要となる。
【００１６】
［適用例５］
上記適用例にかかるＵＳＢハブの制御方法において、前記第１の工程は、前記受信したパケットの種別の判断を、前記受信したパケットに含まれるＰＩＤコードにより行うことが好ましい。
【００１７】
この構成によれば、パケットに含まれる４ビット長のＰＩＤコードを用いることで、ＳＯＦパケットの検出を行うことができる。
【００１８】
［適用例６］
上記適用例にかかるＵＳＢハブの制御方法において、前記第１のＥＯＰコードの長さは４０ビットであり、前記第２のＥＯＰコードの長さは８ビットであることが好ましい。
【００１９】
この方法によれば、生成するＥＯＰコードをＵＳＢ規格に規定されたＥＯＰコードとすることができる。
【図面の簡単な説明】
【００２０】
【図１】ＵＳＢハブの概略ブロック図。
【図２】システム概略ブロック図。
【図３】１フレームにおけるパケット転送の模式図。
【図４】ＵＳＢハブの制御における一部のフローチャート。
【図５】ＳＯＦパケット以外のＥＯＰを示す概略タイムチャート。
【図６】ＳＯＦパケットのＥＯＰを示す概略タイムチャート。
【発明を実施するための形態】
【００２１】
以下、本発明に係るＵＳＢハブの実施形態について図を用いて説明する。尚、以降の記載において、シリアルデータの表記は、受信又は送信された順番で“０１１１１０１０”のように“”を用いて行うこととする。また、ＮＲＺ符号又はＮＲＺＩ符号の区別についてはその都度記載する。
【００２２】
（第１実施形態）
図１に、本実施形態の説明に用いるＵＳＢハブ１００の概略ブロック図を示す。ＵＳＢハブ１００は、アップストリームポート部１０、ダウンストリームポート部１１、リピーター部２０、トランザクショントランスレーター部２１、ハブコントローラー部２２及びルーティングロジック部２３を含む。リピーター部２０、トランザクショントランスレーター部２１及びルーティングロジック部２３は、アップストリームポート部１０又はダウンストリームポート部１１のいずれか一方から受信したパケットを他の一方に転送するための制御を行うためのものである。
【００２３】
アップストリームポート部１０及びダウンストリームポート部１１は、ＵＳＢのドライバー、ＵＳＢのレシーバー、ＮＲＺＩデコーダー／エンコーダー、同期検出回路、及び、スケルチ検出回路を含む。ＮＲＺＩデコーダー／エンコーダーは、ＵＳＢでのデータ転送はＮＲＺＩ符号であるがＵＳＢハブ１００内部はＮＲＺ符号を用いるために用いられるコード変換のための回路である。同期検出回路はスケルチ検出回路によるスケルチの検出がなくなると、受信データの変化を検出し受信データの同期を検出する部分である。また、アップストリームポート部１０には、パーソナルコンピューターなどのＵＳＢホスト装置又はＵＳＢハブが接続され、ダウンストリームポート部１１には、ＵＳＢ周辺機器又はＵＳＢハブが接続される。図１に示したＵＳＢハブ１００は４個のダウンストリームポート部１１を有しているが、ダウンストリームポート部１１の個数は本実施形態の説明においては特に意味はなく、ＵＳＢハブ１００に示した個数は便宜上のものである。
【００２４】
リピーター部２０は、データ転送部４０、ＳＹＮＣ検出部４１、ＰＩＤ検出部４２、ビットスタッフィングエラー検出部４３、シーケンス制御部４４及びＥＯＰ生成部４５を含む。データ転送部４０は、転送データに対しての制御が行われる部分である。データ転送部４０では、転送するデータの送信タイミングの調整やトランザクショントランスレーター部２１に対しての制御、ＥＯＰ生成部４５で生成したＥＯＰコードのマージなどが行われる。また、転送データはデータ転送部４０を介してＳＹＮＣ検出部４１、ＰＩＤ検出部４２及びビットスタッフィングエラー検出部４３にも信号７１を介して転送される。
【００２５】
ＳＹＮＣ検出部４１は、転送データに含まれるＳＹＮＣフィールドを検出する部分であり、ＳＹＮＣフィールドの検出開始及び終了が信号７２を介してシーケンス制御部４４に伝えられる。また、ＳＹＮＣ検出部４１は、信号７８を介してＰＩＤ検出部４２に対してＳＹＮＣフィールドの終了タイミングを通知する。
【００２６】
ＰＩＤ検出部４２は、信号７８で指示されるタイミングに同期してデータ転送部４０から転送されるデータがＳＯＦコードと一致するかどうかのチェックを行う部分であり、チェック結果は信号７３を介してシーケンス制御部４４に伝えられる。
【００２７】
ビットスタッフィングエラー検出部４３は、データ転送部４０から有効な転送データが転送されている期間においてビットスタッフィングエラーのチェックを行い、ビットスタッフィングエラーの検出結果は信号７４を介してシーケンス制御部４４に通知される。図５にＳＯＦパケット以外のパケットにおけるＥＯＰコードの概略タイミングチャートとＥＯＰコードのＮＲＺ符号によるコードの値を示す。また、図６にＳＯＦパケットにおけるＥＯＰコードの概略タイミングチャートとＥＯＰコードのＮＲＺ符号によるコードの値を示す。ＳＯＦパケット以外のパケットの場合、図５のＡ１のビットでビットスタッフィングエラーを検出する。ＳＯＦパケットの場合、図６のＡ２のビットでビットスタッフィングエラーを検出する。
【００２８】
シーケンス制御部４４は、ＳＹＮＣ検出部４１、ＰＩＤ検出部４２及びビットスタッフィングエラー検出部４３などからの信号を基にして、信号７５を介してデータ転送部４０の制御を行う部分である。また、シーケンス制御部４４は、信号７６を介してＥＯＰ生成部４５に対し生成するＥＯＰコードの種類を指示する。
【００２９】
ＥＯＰ生成部４５は、信号７６により指示されたＥＯＰコードを生成し、生成したＥＯＰコードをデータ転送部４０に出力する。
【００３０】
トランザクショントランスレーター部２１は、アップストリームポート部１０におけるＵＳＢの送受信がハイスピードモードで行われ、ダウンストリームポート部１１におけるＵＳＢの送受信がロースピードモード又はフルスピードモードで行われる場合に、アップストリームポート部１０とダウンストリームポート部１１との間の転送速度の差を埋めるために、一時的にデータのバッファリングを行うためのものである。この場合、パケットの転送は、リピーター部２０、トランザクショントランスレーター部２１及びルーティングロジック部２３を介して行われる。
【００３１】
ルーティングロジック部２３は、リピーター部２０からの指示により、ダウンストリームポート部１１との接続をリピーター部２０又はトランザクショントランスレーター部２１のいずれかに切り替えるための部分である。本実施形態においては、上述したようにダウンストリームポート部１１はハイスピードモードのスレーブ装置が接続されている。従って、本実施形態におけるパケットの転送はトランザクショントランスレーター部２１を介さず、リピーター部２０及びルーティングロジック部２３を介して行われる。
【００３２】
上述したが、ＵＳＢハブもＵＳＢ周辺機器のひとつであり、ＵＳＢアドレスが割り振られている。ＵＳＢホスト装置から制御され、スレーブ装置として応答し、ＵＳＢハブ１００の内部を制御するのがハブコントローラー部２２である。ハブコントローラー部２２の動作の説明は、本実施形態の説明には直接関係ないことから省略する。
【実施例１】
【００３３】
本実施例は、ＵＳＢハブ１００のアップストリームポート部１０にＵＳＢホスト装置を接続し、ＵＳＢハブ１００のダウンストリームポート部１１のひとつにＵＳＢ周辺機器を接続したシステムにおけるパケットの転送例である。パケットはＵＳＢホスト装置からＵＳＢ周辺機器に送信される。以降、本実施例においてはＵＳＢホスト装置をホスト装置と記載し、ＵＳＢ周辺機器をスレーブ装置と記載することとする。
【００３４】
本実施例におけるシステム構成図を図２に示す。また、ホスト装置２００から送信されるパケットの模式図とホスト装置２００からＵＳＢハブ１００へ、及びＵＳＢハブ１００からスレーブ装置３００へのパケットの伝達状態を示した模式図を図３に示す。ホスト装置２００はＳＯＦパケット１００１及びトークンパケット１００２をＵＳＢハブ１００に送信し、ＵＳＢハブ１００はＳＯＦパケット２００１及びトークンパケット２００２をスレーブ装置３００に送信する。パケットは複数のフィールドからなるが、模式図においては送信されるフィールドの順番に左から記載している。最初に送信されるのはＳＹＮＣフィールドのコード（ＳＹＮＣコード）であり、最後に送信されるのはＥＯＰフィールドのコード（ＥＯＰコード）である。
【００３５】
まず、ＳＯＦパケット１００１がホスト装置２００から送信される。これによりＵＳＢはアイドル状態ではなくなり、アップストリームポート部１０においてスケルチの検出がなくなる。アップストリームポート部１０はＵＳＢから有効なデータを受信していることをリピーター部２０に通知する。ホスト装置２００は、ＳＯＦパケット１００１を構成する各々のフィールドのデータを、ＳＹＮＣフィールド、ＰＩＤフィールド、ＰＩＤ’フィールド、フレーム番号フィールド、ＣＲＣフィールド及びＥＯＰフィールドの順番で送信する。ホスト装置２００は、ＥＯＰフィールドのデータ（ＥＯＰコード）の送信を終えるとＵＳＢをアイドル状態とする。
【００３６】
アップストリームポート部１０の出力データが有効であることを認識したリピーター部２０は、アップストリームポート部１０の出力データ（以降受信データと呼ぶ）をバッファリングするとともに信号７１を介してＳＹＮＣ検出部４１、ＰＩＤ検出部４２及びビットスタッフィングエラー検出部４３に転送データとして転送する。受信データはＵＳＢ上のＮＲＺＩデータをＮＲＺデータに変換したデータである。
【００３７】
ＳＹＮＣ検出部４１は、転送データにおいてＳＹＮＣコードを検出すると、信号７２を介してＳＹＮＣコード検出をシーケンス制御部４４に通知する。
【００３８】
シーケンス制御部４４は、ＳＹＮＣコードの検出が通知されるとデータ転送部４０に対してバッファリングした受信データの中のビット位置を特定するための信号を出力する。データ転送部４０は、受信データの中からＳＹＮＣコードと認識されたビットの位置を特定すると、対応するビット以降の受信データをＵＳＢハブ１００からの送信データとしてルーティングロジック部２３に出力する。ルーティングロジック部２３は送信データをダウンストリームポート部１１に出力し、ダウンストリームポート部１１はＮＲＺコードである送信データをＮＲＺＩコードに変換してスレーブ装置３００に対してＳＯＦパケット２００１の送信が開始される。また、シーケンス制御部４４は、ＳＹＮＣコードの検出が通知されることで、ビットスタッフィングエラー検出部４３から信号７４を介して通知されるエラー情報を有効と判断できる期間の開始を規定することができる。
【００３９】
続いてＳＹＮＣ検出部４１は、ＳＹＮＣコードの終了を検出すると信号７２を介してＳＹＮＣフィールドの終了をシーケンス制御部４４に通知する。シーケンス制御部４４は、これにより信号７３を介して伝えられるＰＩＤ検出部４２の検出結果を有効と判断する期間を規定することができる。
【００４０】
ＰＩＤ検出部４２は、信号７１を介しての転送データにおいてＳＯＦパケットを示すコードと一致するビットの並びを検出すると、信号７３を介してシーケンス制御部４４に通知する。シーケンス制御部４４は、これにより受信データがＳＯＦパケットであるかどうかの情報を有することができ、受信データがＳＯＦパケット１００１であることを認識する。シーケンス制御部４４は、ＥＯＰ生成部４５に対し、信号７６を介して４０ビット長である第１のＥＯＰコードの生成を指示する。第１のＥＯＰコードは、信号７７を介してＥＯＰ生成部４５からデータ転送部４０に出力される。
【００４１】
ビットスタッフィングエラー検出部４３は、信号７１を介しての転送データにおけるビットスタッフィングエラーの発生状態を監視する。ビットスタッフィングエラーを検出すると信号７４を介してエラー情報をシーケンス制御部４４に通知する。シーケンス制御部４４は、これによりエラー検出を有効とする期間においてビットスタッフィングエラーの発生を認識することが可能となる。
【００４２】
ＵＳＢハブ１００は、ホスト装置２００から送信されるＳＯＦパケット１００１のデータを順次受信し、ＥＯＰコードが受信されると、ビットスタッフィングエラー検出部４３において、ＥＯＰコードの８番目のビットでビットスタッフィングエラーが検出される。ビットスタッフィングエラーは、信号７４を介してシーケンス制御部４４に伝えられる。
【００４３】
シーケンス制御部４４は、ビットスタッフィングエラーが伝えられると、信号７５を介してビットスタッフィングエラーが発生したビット位置を特定するための信号をデータ転送部４０に対して出力する。データ転送部４０は、この信号を受け取るとビットスタッフィングエラーを引き起こしたビットから７ビット前のビット以降の受信データを送信データとせず、代わりに第１のＥＯＰコードをＥＯＰフィールドの送信データとしてルーティングロジック部２３に出力する。ルーティングロジック部２３は第１のＥＯＰコードの送信を終えるとＵＳＢをアイドル状態にする。これにより、ＳＯＦパケット２００１のスレーブ装置３００に対しての送信が終了する。
【００４４】
続いて、トークンパケット１００２がホスト装置２００から送信される。ホスト装置２００は、トークンパケット１００２の送信を終えるとＵＳＢをアイドル状態とする。トークンパケット１００２に対しては、ＰＩＤ検出部４２における検出結果がＳＯＦパケットでないこと、これに対応してＥＯＰ生成部４５が生成するのが８ビット長の第２のＥＯＰコードになること、が上述したＳＯＦパケット１００１の場合と異なる。このため、詳細な説明は省略する。ルーティングロジック部２３は第２のＥＯＰコードの送信を終えるとＵＳＢをアイドル状態にする。これにより、トークンパケット２００２のスレーブ装置３００に対しての送信が終了する。
【００４５】
以上、ホスト装置２００からスレーブ装置３００へＳＯＦパケット及びトークンパケットが送信される場合のＵＳＢハブ１００の動作の説明を行った。尚、ＳＯＦパケット及びトークンパケット以外のパケットが送信された場合のＵＳＢハブ１００の動作は、トークンパケットの場合と同じとなる。いずれにしても、データ転送部４０においてビットスタッフィングエラーを引き起こしたビットから７ビット前のビット以降の受信データを送信データとしないことで、アップストリームポート部１０におけるスケルチ検出の際に付加される可能性のあるドリブルビットは送信データとなることはない。また、パケットの種類により異なるＥＯＰコードの受信の判定を行わないことから、異なるＥＯＰコードを解析するための回路をなくすことができる。
【００４６】
（第２実施形態）
第１実施形態は、ＵＳＢハブを構成する複数の機能ブロックの中の一部を示し、示した機能ブロックの各々に本発明を適用するための機能を割り振った形での実施形態である。しかしながら、本発明の適用は第１実施形態で示した機能の割り振り方に限るものではない。よって、本実施形態は、本発明の適用をＵＳＢハブにおける処理フローとして説明するためのものである。本発明を適用したＵＳＢハブにおける処理の一部を図４のフローチャートに示す。
【００４７】
図４のフローチャートにおける受信スタートは、ＵＳＢのスケルチ検出がなくなった時点である。ＵＳＢレシーバーからの出力データが有効となる。まず、パケットの最初のフィールドであるＳＹＮＣフィールドの検出（図４・Ｓ００１）、及びＳＹＮＣフィールドの終了の検出（図４・Ｓ００２）が行われる。ＳＹＮＣフィールドの終了を検出すると受信しているパケットがＳＯＦパケットであるかどうかの識別を行う（図４・Ｓ００３）。受信しているパケットがＳＯＦパケットの場合は、送信するＥＯＰコード（図４におけるＴ−ＥＯＰ）として４０ビット長のＥＯＰコードを生成し（図４・Ｓ００４）、受信しているパケットがＳＯＦパケット以外の場合はＴ−ＥＯＰとして８ビット長のＥＯＰコードを生成する（図４・Ｓ００５）。次に、ビットスタッフィングエラーの検出（図４・Ｓ００６）によりＥＯＰフィールドのコードが受信されたことを判定し、ビットスタッフィングエラーを引き起こしたビットから７ビット前のビット以降の受信データの代わりにＴ−ＥＯＰコードをＥＯＰフィールドの送信データとして出力（図６・Ｓ００７）する。Ｓ００７によりひとつのパケットに対しての処理が終わり、次のパケット受信のためにＳ００１の処理に戻る。
【００４８】
ＵＳＢハブにおいて、図４で示した処理フローを実行することにより、ＵＳＢハブにおいてスケルチ検出の際に付加される可能性のあるドリブルビットが送信データとなることを防ぎ、パケットの種類により異なるＥＯＰコードの受信の判定をしなくて良いことから、使用するハードウェアにおいて異なるＥＯＰコードを解析するための回路をなくすことができる。
【符号の説明】
【００４９】
１０…アップストリームポート部、１１…ダウンストリームポート部、２０…リピーター部、２１…トランザクショントランスレーター部、２２…ハブコントローラー部、２３…ルーティングロジック部、４０…データ転送部、４１…ＳＹＮＣ検出部、４２…ＰＩＤ検出部、４３…ビットスタッフィングエラー検出部、４４…シーケンス制御部、４５…ＥＯＰ生成部、７１…信号、７２…信号、７３…信号、７４…信号、７６…信号、７８…信号、１００…ＵＳＢハブ、２００…ホスト装置、３００…スレーブ装置、１００１…ＳＯＦパケット、１００２…トークンパケット、２００１…ＳＯＦパケット、２００２…トークンパケット。
【図１】
2011186791.tif 000003
【図２】
2011186791.tif 000004
【図３】
2011186791.tif 000005
【図４】
2011186791.tif 000006
【図５】
2011186791.tif 000007
【図６】
2011186791.tif 000008