説明

データ転送制御装置及び電子機器

【課題】スケルチ検出回路の回路規模を小さくすると共に、設計のために要する負荷小さくする。また、パケットを受信する後段の機器に対してのドリブルビットの伝播をなくす。
【解決手段】第1のパケットを受信する第1のポートと、第2のパケットを送信する第2のポートと、前記第1のパケットの終了コードである第1のコードを検出する第1の制御部と、前記第2のパケットの終了コードである第2のコードを生成する第2の制御部と、を含み、前記第2のパケットは、前記第1のパケットとして受信したデータの前記第1のコード以降のデータを前記第2のコードに置き換えたものであることを特徴とするデータ転送制御装置を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば、パーソナルコンピューターなどの情報処理装置に接続される周辺機器に用いられるデータ転送制御装置及び電子機器に関する。
【背景技術】
【0002】
従来、パーソナルコンピューターと周辺機器とを接続するための汎用インターフェイスの規格としてUSBが存在する。USBは使い勝手がよく、広く普及しているインターフェイスである。USBにおいては複数のデータ転送速度が規定されており、USB2.0の規格において、以前から規定されていたフルスピードモード及びロースピードモードに加えて、480Mbpsの転送速度のハイスピードモードが導入されている。
【0003】
ハイスピードモードにおいては、USBがアイドルの状態であることを示すスケルチの検出に要する時間が、4ビットのデータ長に相当する時間を要する可能性がある。このため、パケットを受信する機器においてパケット受信後に受信する本来存在しないデータ、所謂ドリブルビットが4ビットまで許容されている。このスケルチ検出のための回路が、たとえば特許文献1に提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−198392号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、より感度のよいスケルチ検出回路はより回路規模が大きくなる傾向にあり、このための設計に要する負荷も大きくなるという課題がある。また、USBハブの場合は、受信したドリブルビットが規格内であっても該ドリブルビットを送信してしまうことは好ましくない。後段となる機器において発生するドリブルビットが4ビット以下であったとしても、終了コードの後に繋がる余分なデータが4ビットを超える場合も考えられ、後段の機器の設計内容によっては好ましくない動作が起こる可能性があるからである。
【課題を解決するための手段】
【0006】
本発明は、上述した問題または課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【0007】
[適用例1]
本適用例に係るひとつのデータ転送制御装置は、第1のパケットを受信する第1のポートと、第2のパケットを送信する第2のポートと、前記第1のパケットの終了コードである第1のコードを検出する第1の制御部と、前記第2のパケットの終了コードである第2のコードを生成する第2の制御部と、を含み、前記第2のパケットは、前記第1のパケットとして受信したデータの前記第1のコード以降のデータを前記第2のコードに置き換えたものであることを特徴とする。
【0008】
この構成によれば、第1のパケットとして受信されたデータが、第1のコード以降にドリブルビットを有するものであっても、第1の制御部により第1のコードの検出が行われ、第1のコード以降のデータが第2の制御部で生成された終了コードである第2のコードに置き換わることで、ドリブルビットの伝播を防ぐことができる。このため、ドリブルビットを伝播させることがないことから、第2のパケットを受信する機器において受信したパケットの終了コードの後に繋がる余分なデータの数を軽減することができる。また、スケルチ検出回路の感度に関わらずドリブルビットの伝播を防ぐことができることから、スケルチ検出回路の設計負荷が低減されるとともに、回路の規模も低減することができる。
【0009】
[適用例2]
上記適用例に係るデータ転送制御装置において、更に、第1のバッファーを含み、前記第1のバッファーは前記第1のポートで受信されたデータが前記第2のポートから送信されるまでの間保持されるバッファーであり、前記第1のバッファーのサイズは、前記第1のコードのデータ長よりも大きいことが好ましい。
【0010】
この構成によれば、第1のバッファーのサイズが第1のコードの長さよりも大きいことにより、第1のコードが検出される前に第1のコードの一部が第2のポートから送信されることを防ぐことができる。
【0011】
[適用例3]
上記適用例に係るデータ転送制御装置において、前記第1の制御部において、前記第1のコードの検出はビットスタッフィングエラーにより行われることを特徴とする。
【0012】
この構成によれば、ビットスタッフィングエラーを検出することにより第1のコードの検出を容易に行うことができる。
【0013】
[適用例4]
本適用例に係る電子機器は、上記適用例に係るデータ転送制御装置を有し、USBハブとして使用されることが好ましい。
【0014】
この構成によれば、本適用例に係る電子機器が上記適用例に係るデータ転送制御装置を有することで、本適用例に係る電子機器をUSBハブとして使用することができる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態及び実施例1の説明に用いるUSBハブのブロック図。
【図2】第1実施形態及び実施例1の説明に用いるシステムのブロック図。
【図3】パケット転送の状態を示した模式図。
【発明を実施するための形態】
【0016】
以下、本発明について図を用いて説明する。
【0017】
(第1実施形態)
本実施形態は、USB2.0の規格に対応したUSBハブに本発明を適用したものである。図1にUSBハブ100のブロック図を示す。USBハブ100は、アップストリームポート10、ダウンストリームポート11、ハブリピーター部20、トランザクショントランスレーター部21、ハブコントローラー部22及びルーティングロジック部23を含む。ホスト装置又はホスト装置側に繋がるUSBハブがアップストリームポート10に接続され、スレーブ装置又はスレーブ装置に繋がるUSBハブが4個あるダウンストリームポート11のいずれかに接続される。尚、USB2.0の規格は公開されていることから、規格に書かれている内容で本実施形態の説明として特に必要がない内容について記載は行わないことにする。
【0018】
USB2.0の規格において、転送モードにハイスピードモードが追加されている。このため、USB2.0の規格に対応したUSBハブは、従来のロースピードモード及びフルスピードモードに加えてハイスピードモードの転送モードをサポートすることになり、異なる転送モードのスレーブの混在に対応する必要がある。たとえば、4個あるダウンストリームポート11のひとつにフルスピードモードのスレーブ装置が接続され、他のひとつにハイスピードモードのスレーブ装置が接続されたとする。この場合、ホスト装置が接続されるアップストリームポート10の転送モードはハイスピードモードとなる。従って、ホスト装置とフルスピードモードのスレーブ装置との間の転送においては転送速度の違いを吸収するためのバッファーが必要となる。このバッファーの役割を果たすのがトランザクショントランスレーター部21である。ロースピードモード又はフルスピードモードのスレーブ装置とのデータ転送にはトランザクショントランスレーター部21が介在する。ルーティングロジック部23はダウンストリームポート11に対しての接続をハブリピーター部20(説明は後述する)との接続信号である信号34とトランザクショントランスレーター部21との接続信号である信号35との間で切り替えるためのものである。トランザクショントランスレーター部21が介在する場合には信号35が選択される。
【0019】
USBハブ100自体もスレーブ装置のひとつである。このスレーブ装置としての機能を制御するのがハブコントローラー部22である。本実施形態の説明においては、既にホスト装置からUSBハブとして機能するために必要な設定及び制御がなされているとして、ハブコントローラー部22の説明は省略する。
【0020】
ハブリピーター部20はアップストリームポート10とダウンストリームポート11との間のデータ転送制御を行う部分であり、データ転送部40とシーケンス制御部44及びEOP生成部45を有する。ホスト装置からデータ転送が行われる場合、USBハブ100においてアップストリームポート10が受信ポートとなり、ダウンストリームポート11が送信ポートとなる。また、スレーブ装置からホスト装置にデータ転送が行われる場合、ダウンストリームポート11が受信ポートとなり、アップストリームポート10が送信ポートとなる。
【0021】
受信ポートにおいてスケルチ検出がなくなると、データ転送部40は有効な信号を受信していると判断し、受信した信号の中から受信タイミングと受信データの抽出を行う。抽出された受信データはデータ転送部40内のバッファー41に一時的に保持される。また、シーケンス制御部44は、送信ポートに対して一時的に保持された受信データの送信を許可する。その後、受信ポートの出力信号から順次抽出された受信データはバッファー41に一時的に保持された後に送信ポートから出力される。受信ポートにおいてスケルチを検出するとデータ転送部40は受信データの抽出を停止する。シーケンス制御部44は送信ポートから必要なデータの送信終了を検出すると、送信ポートに対して送信を不許可とする。これにより送信ポートにおける出力はアイドル状態となる。バッファー41のサイズは、EOPコード長よりも長いサイズであればよい。
【0022】
EOP生成部45は、EOP(End Of Packet)コードを生成する部分である。受信データからEOPコードを検出すると、データ転送部40はEOPコードの送信のタイミングで送信ポートに出力するデータをバッファー41の出力からEOP生成部45からの信号57に切り替える。「必要なデータの送信終了」と上述したが、「必要なデータの送信終了」とは、EOP生成部45で生成したEOPコードの送信終了であり、バッファー41に保存された受信データすべての送信終了ではない。
【実施例1】
【0023】
次により具体的に動作の説明を行う。本実施例におけるシステム構成の概略図を図2に示す。ホスト装置200がUSBハブ100のアップストリームポート10に接続され、スレーブ装置300がUSBハブ100のダウンストリームポート11のひとつに接続されている。スレーブ装置300の転送モードはハイスピードモードである。従って、本実施例においてルーティングロジック部23は信号34をダウンストリームポート11に接続しており、ホスト装置200とスレーブ装置300との間のデータ転送においてトランザクショントランスレーター部21を介さない。
【0024】
また、本実施例における説明は、ホスト装置200からスレーブ装置300にデータパケットを送信する場合におけるものである。図3にホスト装置200、USBハブ100及びスレーブ装置300間のパケット転送の模式図を示す。データパケットは、送信される順番に記載して、SYNCコード、PIDコード、PIDコードのデータを反転したデータからなるPID’コード、dataコード、CRCコード及びEOPコードからなる。図3において、横軸は時間の経過を示している。ホスト装置200が送信するパケットが、データパケット1001である。USBハブ100が受信したパケットがデータパケット1002であり、USBハブ100がスレーブ装置300に対して送信するパケットがデータパケット1003である。尚、SYNCコードの長さは図3において一様に描かれているが、SYNCコードの長さはUSB2.0の規格を満足する長さであればよく、必ずしもデータパケット1001、1002及び1003において同じデータ長である必要はない。
【0025】
まず、ホスト装置200がUSBハブ100に対してデータパケット1001の送信を開始する。これにより、ホスト装置200とUSBハブ100との間はアイドル状態ではなくなる。ホスト装置200は、データパケットを構成する各コードを上述した順番でUSBハブ100に出力し、EOPコードの送信を終えるとUSBをアイドル状態とする。
【0026】
ホスト装置200におけるデータパケット1001の送信を受けて、USBハブ100の動作は次のようになる。ホスト装置200がデータパケット1001の送信を開始したことによりUSBがアイドル状態ではなくなったことで、アップストリームポート10におけるスケルチの検出がなくなる。これにより、データ転送部40はハブリピーター部20とアップストリームポート10との間の接続信号31に含まれるアップストリームポート10からの受信信号が有効であることを認識し、データパケット1001の中で最初に送られてくるSYNCコードにより受信信号のタイミング検出が行われ、受信信号のサンプリングタイミングが決定される。これにより、シーケンス制御部44によりダウンストリームポート11の出力がイネーブルとなる。サンプリングされた受信データは一時的にバッファー41に保存された後、ダウンストリームポート11から送信される。受信信号のサンプリングは、スケルチを検出するまで行われる。
【0027】
ホスト装置200がUSBをアイドル状態にすることにより、アップストリームポート10はスケルチを検出するが、ホスト装置200とUSBハブ100との間のUSBがアイドル状態となってからスケルチが検出されるまでにはスケルチ検出回路の特性に応じた所定の時間が経過する。この所定の時間の間もデータ転送部40において受信信号のサンプリングが行われる。この所定の時間の間にサンプリングされたデータがドリブルビットとなる。このため、ホスト装置200が送信したデータパケット1001は、USBハブ100においてはデータパケット1002として受信される(図3参照)。データパケット1002における(B)の部分がドリブルビットとなる。サンプリングされたドリブルビットはEOPコードに続いてバッファー41に保存される。USB2.0の規格において、上記した所定の時間は4ビット長以下の時間と規定されている。
【0028】
データ転送部40は、サンプリングした受信データのビットスタッフィングエラーを検出することにより、受信したデータにおけるEOPコードの受信を検出する。バッファー41はEOPコード長よりも長いサイズであることから、EOPコードを検出した段階ではスレーブ装置300へのEOPコードの送信がなされていない。データ転送部40は、データパケット1002のEOPコードの前のデータであるCRCコードの送信を終えると、ダウンストリームポート11から送信するデータの出力をバッファー41の出力からEOP生成部45の出力である信号57に切り替える。シーケンス制御部44は、EOP生成部45で生成したEOPコードの出力が終了するとダウンストリームポート11の出力をディスイネーブルとする。これによりUSBハブ100とスレーブ装置300との間のUSBはアイドル状態となる。
【0029】
USBハブ100がスレーブ装置300へ送信するデータパケット1003は、USBハブ100が受信したデータパケット1002におけるEOPコード及びドリブルビット(図3・1002の(A)の部分)をEOP生成部45が生成したEOPコード(図3・1003の(C)の部分)に置き換えたものになる。これにより、USBハブ100により受信されたドリブルビットの伝播を防ぐことができる。
【0030】
以上、本発明を適用した実施形態及び実施例について説明を行ったが、本発明の適用は上述した実施形態及び実施例に限られるものではない。たとえば、ビットスタッフィングエラーの検出はデータ転送部40以外の部分で行われるようにしてもよい。また、たとえば、EOP生成部45の出力である信号57をルーティングロジック部23の入力とし、送信データを切り替える機能をルーティングロジック部23に持たせてもよい。尚、上述した実施形態及び実施例はデータパケットにおけるものであるが、他の種類のパケットにおいも本発明の適用は可能である。
【符号の説明】
【0031】
10…アップストリームポート、11…ダウンストリームポート、20…ハブリピーター部、21…トランザクショントランスレーター部、22…ハブコントローラー部、23…ルーティングロジック部、31…接続信号、34…信号、35…信号、40…データ転送部、41…バッファー、44…シーケンス制御部、45…EOP生成部、57…信号、100…USBハブ、200…ホスト装置、300…スレーブ装置、1001…データパケット、1002…データパケット、1003…データパケット。

【特許請求の範囲】
【請求項1】
第1のパケットを受信する第1のポートと、
第2のパケットを送信する第2のポートと、
前記第1のパケットの終了コードである第1のコードを検出する第1の制御部と、
前記第2のパケットの終了コードである第2のコードを生成する第2の制御部と、を含み、
前記第2のパケットは、前記第1のパケットとして受信したデータの前記第1のコード以降のデータを前記第2のコードに置き換えたものであることを特徴とするデータ転送制御装置。
【請求項2】
更に、第1のバッファーを含み、
前記第1のバッファーは前記第1のポートで受信されたデータが前記第2のポートから送信されるまでの間保持されるバッファーであり、
前記第1のバッファーのサイズは、前記第1のコードのデータ長よりも大きいことを特徴とする請求項1に記載のデータ転送制御装置。
【請求項3】
前記第1の制御部において、前記第1のコードの検出はビットスタッフィングエラーにより行われることを特徴とする請求項1又は請求項2に記載のデータ転送制御装置。
【請求項4】
請求項1乃至請求項3のいずれか一項に記載のデータ転送制御装置を有し、USBハブとして使用されることを特徴とする電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−186582(P2011−186582A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−48851(P2010−48851)
【出願日】平成22年3月5日(2010.3.5)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】