JP5482306B2 - データ転送制御装置及び電子機器 - Google Patents

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

Info

Publication number
JP5482306B2
JP5482306B2 JP2010048851A JP2010048851A JP5482306B2 JP 5482306 B2 JP5482306 B2 JP 5482306B2 JP 2010048851 A JP2010048851 A JP 2010048851A JP 2010048851 A JP2010048851 A JP 2010048851A JP 5482306 B2 JP5482306 B2 JP 5482306B2
Authority
JP
Japan
Prior art keywords
code
data
packet
port
data transfer
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.)
Active
Application number
JP2010048851A
Other languages
English (en)
Other versions
JP2011186582A (ja
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2010048851A priority Critical patent/JP5482306B2/ja
Publication of JP2011186582A publication Critical patent/JP2011186582A/ja
Application granted granted Critical
Publication of JP5482306B2 publication Critical patent/JP5482306B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Description

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

Claims (4)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010048851A JP5482306B2 (ja) 2010-03-05 2010-03-05 データ転送制御装置及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010048851A JP5482306B2 (ja) 2010-03-05 2010-03-05 データ転送制御装置及び電子機器

Publications (2)

Publication Number Publication Date
JP2011186582A JP2011186582A (ja) 2011-09-22
JP5482306B2 true JP5482306B2 (ja) 2014-05-07

Family

ID=44792795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010048851A Active JP5482306B2 (ja) 2010-03-05 2010-03-05 データ転送制御装置及び電子機器

Country Status (1)

Country Link
JP (1) JP5482306B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6596901B2 (ja) * 2015-04-17 2019-10-30 セイコーエプソン株式会社 データ転送制御装置及びそれを用いた電子機器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06178076A (ja) * 1992-12-03 1994-06-24 Furuno Electric Co Ltd 無線ファクシミリ通信装置
JP3365046B2 (ja) * 1994-05-24 2003-01-08 ダイキン工業株式会社 無線データ伝送受信装置
JPH10150475A (ja) * 1996-11-18 1998-06-02 Mitsubishi Electric Corp データ転送装置
JP2001166921A (ja) * 1999-12-10 2001-06-22 Fujitsu Ltd ジョブ投入方法、ジョブ投入システム、及び記録媒体
JP3603732B2 (ja) * 2000-03-16 2004-12-22 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP3646644B2 (ja) * 2000-10-31 2005-05-11 セイコーエプソン株式会社 データ転送制御装置及び電子機器
JP3675417B2 (ja) * 2002-03-07 2005-07-27 ソニー株式会社 通信中継方法、通信中継装置、通信ネットワーク装置、ネットワークアドレス決定方法、通信方法、通信端末装置並びにネットワークネームサーバ装置。
JP2011186791A (ja) * 2010-03-09 2011-09-22 Seiko Epson Corp Usbハブ及びusbハブの制御方法

Also Published As

Publication number Publication date
JP2011186582A (ja) 2011-09-22

Similar Documents

Publication Publication Date Title
US8930599B2 (en) Data transmission system and method thereof
EP2867782B1 (en) A clock-less half-duplex repeater
US7895385B2 (en) Establishing communication over serial buses in a slave device
US20020120795A1 (en) Serial peripheral interface master device, a serial peripheral interface slave device and a serial peripheral interface
KR20030085141A (ko) 지연 시간 보상 코어, 병렬-직렬 구조 시스템 및 지연시간 보상 방법
US10705142B2 (en) Device, system and method for providing on-chip test/debug functionality
US20130132625A1 (en) Methods and devices for extending usb 3.0-compliant communication
US11567893B2 (en) Method and a mirrored serial interface (MSI) for transferring data
EP2846470B1 (en) A method of mobile terminal internal communications
JP2018518765A (ja) 独立したuart brk検出
JP5482306B2 (ja) データ転送制御装置及び電子機器
EP2336897A1 (en) Data processing apparatus, data processing method, and computer-readable storage medium
JP5930767B2 (ja) 電子デバイス、通信制御方法
EP3671720B1 (en) Real-time on-chip data transfer system
JP2011186791A (ja) Usbハブ及びusbハブの制御方法
KR20220032612A (ko) 패킷 네트워크 내에서 플러시 요청들을 프로세싱하기 위한 장치 및 방법
US20050273541A1 (en) Circuit and method for adaptively recognizing a data packet in a universal serial bus network device
US11991022B2 (en) Monitoring controller area network (CAN) XL nodes
CN116185936B (zh) 一种spi通信数据收发异常检测控制系统及检测方法
US10417170B2 (en) Device, system and method for packet processing to facilitate circuit testing
JP2001236303A (ja) ユニバーサル・シリアル・バス制御回路
US20120119789A1 (en) Peak Detector Extension System
WO2024092193A1 (en) Bus transaction security in multi-chip module
JP2005277994A (ja) 同期開始信号検出装置、その検出方法、及びそのプログラム
JP5921264B2 (ja) シリアル通信システムおよびその通信初期化の方法、並びにシリアル通信装置およびその通信初期化の方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131022

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140203

R150 Certificate of patent or registration of utility model

Ref document number: 5482306

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350