JP3955512B2 - データ処理装置及びパケット判別方法 - Google Patents

データ処理装置及びパケット判別方法 Download PDF

Info

Publication number
JP3955512B2
JP3955512B2 JP2002247060A JP2002247060A JP3955512B2 JP 3955512 B2 JP3955512 B2 JP 3955512B2 JP 2002247060 A JP2002247060 A JP 2002247060A JP 2002247060 A JP2002247060 A JP 2002247060A JP 3955512 B2 JP3955512 B2 JP 3955512B2
Authority
JP
Japan
Prior art keywords
packet
data
usb
usb device
transaction
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
JP2002247060A
Other languages
English (en)
Other versions
JP2004088445A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002247060A priority Critical patent/JP3955512B2/ja
Priority to US10/647,446 priority patent/US20040095929A1/en
Priority to CNA2005100843770A priority patent/CN1722124A/zh
Priority to EP03255301A priority patent/EP1394685A3/en
Priority to CNA2005100843785A priority patent/CN1722125A/zh
Priority to CNA200510084379XA priority patent/CN1722126A/zh
Priority to CNB031559611A priority patent/CN1242340C/zh
Publication of JP2004088445A publication Critical patent/JP2004088445A/ja
Application granted granted Critical
Publication of JP3955512B2 publication Critical patent/JP3955512B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1803Stop-and-wait protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理装置及びパケット判別方法に係り、詳しくは、USBインタフェースによりホストコンピュータとデータ通信を行う際に好適なデータ処理装置に関するものである。
【0002】
近年、ホスト機能を有するコンピュータ(パソコン等)とそれに接続した周辺機器との間で通信を行うためのシリアルインタフェースの一種として、USB(Universal Serial Bus)インタフェース(以下、単にUSB)が普及している。このUSBを用いて行うパソコン(以下、USBホスト)と周辺機器(以下、USBデバイス)との間の通信では、エラーを早期に検出してデータ転送を効率よく行うことが求められている。
【0003】
【従来の技術】
通常、USBを用いたデータ転送はトランザクションとよばれる転送単位で行われ、各トランザクションは主にトークンパケット、データパケット、ハンドシェイクパケットを使用して行われる。
【0004】
図8は、各パケットのフォーマットを示す説明図である。
図8(a)に示すように、トークンパケットは、8ビットのパケットID(PID)と、7ビットのUSBアドレス(ADDR)と、4ビットのエンドポイント番号(ENDP)と、5ビットのCRC (Cyclic Redundancy Check)(CRC5)とから構成される24ビット(固定長)のパケットである。尚、パケットIDはパケットの判別、USBアドレスはUSBデバイスの判別、エンドポイント番号はUSBデバイスにおけるエンドポイント(転送型)の判別に用いられ、CRC5は、USBアドレスとエンドポイント番号のチェックに用いられる。
【0005】
図8(b)に示すように、データパケットは、8ビットのPIDと、0〜8192ビットのデータフィールド(DATA)と、16ビットのCRC(CRC16)とから構成される24〜8216ビット(可変長)のパケットである。尚、CRC16は、データフィールドのチェックに用いられる。
【0006】
図8(c)に示すように、ハンドシェイクパケットは、8ビットのPIDのみで構成される固定長のパケットである。
上記各パケット(トークンパケット、データパケット、ハンドシェイクパケット)の種類は、それらに含まれるPID(8ビット)のデータパターンによって判別される。
【0007】
図9は、PIDのフォーマットを示す説明図である。
PIDは、PID0〜PID3(4ビット)と、それらのデータパターンと逆パターンを持つ/PID0〜/PID3(4ビット)とから構成され、USBホスト或いはUSBデバイスで受信されるパケットは、このPID(8ビット)のデータパターン(全16通り)によって認識される。
【0008】
図10は、トランザクションの処理の流れを示すフローチャートである。
図10(a)は、USBデバイスからUSBホストへデータ転送を行うINトランザクションの処理を示す。
【0009】
まず、USBホストは、USBデバイスにINトークンパケットを送信し、INトランザクションの転送の開始をUSBデバイスに通知する。それを受けて、USBデバイスは、固有のデータを含むデータパケットをUSBホストに送信する。USBホストは、そのデータパケットを受信すると、それを正常に受信した旨を示すACKハンドシェイクパケットをUSBデバイスに送信する。USBデバイスは、このACKハンドシェイクパケットを受け取ることにより、転送が正常に終了したことを確認する。
【0010】
図10(b)は、USBホストからUSBデバイスへデータ転送を行うOUTトランザクションの処理を示す。
まず、USBホストは、USBデバイスにOUTトークンパケットを送信し、OUTトランザクションの転送の開始をUSBデバイスに通知する。その後、USBホストは、固有のデータを含むデータパケットをUSBデバイスに送信する。USBデバイスは、そのデータパケットを受信すると、それを正常に受信した旨を示すACKハンドシェイクパケットをUSBホストに送信する。USBホストは、このACKハンドシェイクパケットを受け取ることにより、転送が正常に終了したことを確認する。
【0011】
図11は、従来のUSBデバイスにおけるパケット判別処理を説明するフローチャートである。
USBデバイスは、パケットを受信すると(ステップ91)、そのパケットの種類をPIDのデータパターンによって判定する(ステップ92)。このとき、PIDがトークンパケット、データパケット、ハンドシェイクパケットの何れのパケットにも該当しない場合はタイムアウト処理(転送処理の中止)を行う(ステップ93)。
【0012】
一方、上記ステップ92において、PIDがトークンパケットに該当する場合には、USBデバイスは、受け取ったUSBアドレス(ADDR)が正しいか否かを判定する(ステップ94a)。
【0013】
USBデバイスは、USBアドレスが正しい(即ち自デバイスのアドレスである)場合、エンドポイント番号(ENDP)と転送型とが一致するか否かを判断する(ステップ94b)。例えば、USBデバイスに設定されているエンドポイントの転送型が受信型である場合に、送信型を表すエンドポイント番号を受け取る場合にはエラーと判断する。
【0014】
USBデバイスは、エンドポイント番号が自デバイスの転送型である場合、USBアドレス(ADDR)及びエンドポイント番号(ENDP)のデータ値が正しいか否かをCRC5によりチェックする(ステップ94c)。このとき、データ値が正しい場合、USBデバイスは、トランザクションを開始するための処理を行う(ステップ94d)。ちなみに、上記各ステップ94a〜94cのうち、少なくとも何れかでエラーと判断する場合には、タイムアウト処理を行う(上記ステップ93)。
【0015】
また、上記ステップ92において、PIDがデータパケットに該当する場合には、USBデバイスは、受け取ったデータフィールド(DATA)のデータ値が正しいか否かをCRC16によりチェックする(ステップ95a)。このとき、データ値が正しい場合、USBデバイスは、データ受信処理を行う(ステップ95b)。逆に、データ値が正しくない場合にはタイムアウト処理を行う(上記ステップ93)。
【0016】
また、上記ステップ92において、PIDがハンドシェイクパケットに該当する場合には、USBデバイスは、トランザクションを終了するための処理を行う(ステップ96)。
【0017】
次に、従来のUSBデバイスのエラー検出・訂正機能について説明する。
図12は、従来のUSBデバイスにおけるエラー訂正回路を示す概略ブロック図である。
【0018】
例えばパソコン等のホスト機能を有するUSBホスト101には、周辺装置としてのUSBデバイス102がUSBバス103を介して接続されている。USBデバイス102は、SIE(Serial Interface Engine) 104と、複数(図では簡略化して2つのみ示す)のエンドポイント105,106とを含む。
【0019】
SIE104は、USBホスト101から受信したパケットをデコードしてデジタルデータに変換する機能及びUSBホスト101へ送信するパケットをフォーマット化する機能を持つ。
【0020】
エンドポイント105,106は、それぞれ固有のデータ記憶領域及び転送機能を持つFIFO(First In First Out)である。即ち、上述したUSBデバイス102の転送型(受信型、送信型、送受信型等)は、各エンドポイント105,106のFIFOの特性によって決定され、各エンドポイント15,16には、それらのFIFOに対応したエンドポイント番号(ENDP)が割り当てられている。これらの各エンドポイント105,106には、それぞれデータトグルビットを記憶するための領域(図中、トグルビット)105a,106aが設定されている。
【0021】
従来、このようなUSBデバイス102において、エラー検出・訂正機能は各エンドポイント105,106に記憶されるデータトグルビットにより実現される。
【0022】
詳述すると、例えばエンドポイント105が送信型(送信機能を持つFIFO)であって、領域105aに記憶されているデータトグルビットの値が[0]の場合、USBデバイス102は、偶数データパケットとしての情報を持つデータパケット(以下、データ0パケット)を送信する。逆に、領域105aに記憶されているデータトグルビットの値が[1]の場合、USBデバイス102は、奇数データパケットとしての情報を持つデータパケット(以下、データ1パケット)を送信する。
【0023】
また、USBデバイス102は、USBホスト101からのACKハンドシェイクパケットを受信すると、領域105aに記憶されているデータトグルビットの値を変更する。逆に、ACKハンドシェイクパケットを受信しない場合には、領域105aのデータトグルビットの値を変更しない(データトグルビットエラーが発生する)。
【0024】
従って、USBデバイス102は、エンドポイント105,106記憶されているデータトグルビットの値が例えば[0],[1],[0],[1],…のようにトグルする場合には、転送が正常に行われていると判断する。逆に、USBデバイス102は、ACKハンドシェイクパケットを受信しなかった場合にはデータトグルビットの値を変更せず、データトグルビットエラーを発生させる。この場合、USBデバイス102は、USBホスト101から次のINトークンパケットを受け取ることでデータトグルビットエラーを検出し、データパケットの再送処理を行う。その後、USBデバイス102は、そのデータパケットに対するACKハンドシェイクパケットをUSBホスト101から受け取ることにより、データトグルビットの値を変更してエラーを訂正する(エラーから復帰する)。
【0025】
【発明が解決しようとする課題】
ところで、上記のような従来の技術では、以下の問題がある。
[1:パケットの誤判定による転送効率の低下]
USBバス103を流れる信号は、そのバスケーブル(USBバス103)内での反射やノイズ等の影響によりデータ値が変移してしまう場合がある。上記したように、パケットの判別はPID(パケットID)のデータパターンによって行われる。このため、例えばノイズ等の影響により、PID0〜PID3とそれらと逆パターンを持つ/PID0〜/PID3のうち、対応する2つのビット値が互いに反転してしまう場合には、そのパケットが他の異なるパケットと間違って判定されてしまうことがあった。
【0026】
例えば、図13に示すように、OUTトークンパケットとしてのデータパターンを持つPIDにおいて、PID3([0])とそれに対応する/PID3([1])の各ビット値が互いに反転してしまう場合、このPIDはデータ0パケットとしてのデータパターンを持つようになる。つまり、この場合、USBデバイス102は、USBホスト101から送信されたOUTトークンパケットをデータ0パケットと誤判定して受け取る。
【0027】
こうしたパケットの誤判定は転送効率を低下させる原因であり、延いてはシステム全体の性能を低下させることになる。因みに、このようなパケットの誤判定は、USB2.0仕様などのハイ・スピードモードでは、転送速度が480Mbpsと高速であり、且つ信号振幅が400mVと小さいために、特に生じ易く、高速化を実現する上で支障があった。
【0028】
[2:エラー検出・訂正処理の遅れによる転送効率の低下]
従来では、USBデバイス102がACKハンドシェイクパケットを受信できず、データトグルビットエラーとなる場合には、USBホスト101から次のトークンパケット(具体的にはINトークンパケット)を受け取るまでそのエラーから復帰できない。つまり、データトグルビットエラーが発生したエンドポイントは、USBホスト101から次の転送要求があるまでデータトグルビットエラーを起こしたままとなる。
【0029】
図14は、従来のエラー訂正処理を説明するフローチャートである。尚、ここでは、説明の便宜上、各々のトランザクションで使用するUSBホスト101のエンドポイントを例えばエンドポイントh1,h2とし、USBデバイス102のエンドポイントを例えばエンドポイントd1,d2とする。
【0030】
今、USBホスト101は、エンドポイントh1とUSBデバイス102のエンドポイントd1との間でトランザクションを開始する。具体的には、INトークンパケットを送信してデータの転送要求を行う(ステップ111)。それを受けて、USBデバイス102は、エンドポイントd1に記憶されているデータトグルビットの値([0])に従ってデータ0パケットをUSBホスト101に送信する(ステップ112)。USBホスト101は、そのデータ0パケットを受信すると、エンドポイントh1のデータトグルビットを[0]から[1]に変更するとともに、データを正常に受信した旨を通知するACKハンドシェイクパケットをUSBデバイス102に送信する(ステップ113)。
【0031】
このとき、そのACKハンドシェイクパケットをUSBデバイス102が何らかの原因で受信できなかった場合(図中、その様子を破線で示す)、USBデバイス102は、エンドポイントd1のデータトグルビットを[0]のまま変更しない。つまり、エンドポイントd1はデータトグルビットエラーとなる。
【0032】
この状態で、USBホスト101は、エンドポイントh2とUSBデバイス102のエンドポイントd2との間で次のトランザクションを開始する(ステップ114)(ここではそのトランザクションの具体的な処理については省略する)。このトランザクションが正常に終了する(即ちUSBホスト101、USBデバイス102の何れか一方が他方からのACKハンドシェイクパケットを受信する)と(ステップ115)、エンドポイントh2及びエンドポイントd2の各データトグルビットはそれぞれ[0]から[1]に変更される。
【0033】
その後、USBホスト101は、エンドポイントh1とUSBデバイス102のエンドポイントd1との間でさらに次のトランザクションを開始する。具体的には、INトークンパケットを送信してデータの転送要求を行う(ステップ116)。それを受けて、USBデバイス102は、エンドポイントd1に記憶されているデータトグルビットの値([0])に対応したデータ0パケットをUSBホスト101に送信する(ステップ117)。即ち、USBデバイス102は、上記ステップ113でACKハンドシェイクパケットを受信しなかったために発生したデータトグルビットエラー(値が[0]のまま保持されているデータトグルビット)を検出し、データ0パケットの再送処理を行う。
【0034】
USBホスト101は、そのデータ0パケットを受信すると、それを受信した旨を通知するACKハンドシェイクパケットをUSBデバイス102に送信する。しかしながら、このトランザクションに於いて、USBホスト101がUSBデバイス102に要求するデータはデータ1パケットであり、本来期待するデータとは異なる(即ちUSBホスト101は、ここで受信したデータ0パケットを有効なデータとしない)。従って、USBホスト101は、エンドポイントh1のデータトグルビットを変更しない(データトグルビットの値は[1]のまま)。
【0035】
一方、USBデバイス102は、USBホスト101からのACKハンドシェイクパケットを受信すると(ステップ118)、エンドポイントd1のデータトグルビットの値を[0]から[1]に変更する。これにより、エンドポイントd1はデータトグルビットエラーから復帰する。
【0036】
このように、USBホスト101ではデータ0パケットを正常に受信し、ACKハンドシェイクパケットを送信したにも関わらず、USBデバイス102がそのパケットを受信できなかったために、データトグルビットエラーが発生する場合には、エンドポイントd1は次の転送要求があるまでそのトランザクションの転送データ(即ちデータ0パケット)を保持しなければならない。
【0037】
この場合、エラーが生じているエンドポイントd1は、新たな転送データ(即ちデータ1パケット)を用意することができなくなり、USBホスト101からの次のトランザクションに即座に対応することができなくなる。即ち、エンドポイントd1は、USBホスト101からの次の転送要求では、まずエラー検出・訂正処理のためのトランザクション(ステップ116〜118)を行う必要がある。これにより、USBホスト101は、エラー訂正後(即ちステップ118の後)に、エンドポイントd1に対して再度転送要求を行う必要がある。
【0038】
従来では、このようにエラー検出・訂正のためのトランザクションが余分に行われることによってUSBバス103の帯域が損失し、転送効率が低下するという問題があった。その結果、システム全体の性能が低下するという問題を有していた。
【0039】
本発明は上記問題点を解決するためになされたものであって、その目的は転送効率を向上させることのできるデータ処理装置及びパケット判別方法を提供することにある。
【0040】
【課題を解決するための手段】
上記目的を達成するため、請求項1,に記載の発明によれば、USBインタフェースを介してホストコンピュータから受信したパケットの種類は、該パケットに含まれるパケットIDに基づいてパケット判別手段により判別される。そして、パケット長測定回路は、その受信したパケットのパケット長を測定し、該測定したパケット長が前記パケット判別手段により判別されたパケットの種類に適合するか否かを判定する。これにより、パケットの誤判定を低減させることができるため、転送効率の低下を抑止することができる。
【0041】
請求項2,に記載の発明によれば、前記パケット長測定回路は、測定したパケット長が前記パケット判別手段により判別されたパケットの種類に適合しないときには転送処理を中止させる信号を出力する。これにより、パケットの誤判定が生じた場合にはそのエラーを早期に検出することができるため、転送効率を向上させることができる。
【0047】
【発明の実施の形態】
(第一実施形態)
以下、本発明を具体化した第一実施形態を図1〜図3に従って説明する。
【0048】
図1は、パケット判別回路の構成を示す概略ブロック図である。
USBによる通信を管理するホストコンピュータ(以下、USBホスト11)は、データ処理装置としてのUSBデバイス12とUSBバス13を介して相互に接続されている。尚、USBデバイス12は、USBホスト11としてのパソコン等に接続される例えばハードディスクやMO(Magneto Optic )、DVD(Digital Versatile Disk),CD(Compact Disk)などのATA/ATAPI(ATA Packet Interface)デバイス、あるいはプリンタ、スキャナ等の周辺装置である。図1は、そのUSBデバイス12におけるパケット判別回路の構成部分について示したものである。
【0049】
USBデバイス12(パケット判別回路)は、SIE21、パケット判別手段としてのPIDデコーダ22、パケット長測定回路23、第1〜第3のパケットチェック回路24〜26及び複数(図では簡略化して例えば2つ示す)のエンドポイント27,28を備える。尚、本実施形態において、第1のパケットチェック回路24はトークンパケットチェック回路、第2のパケットチェック回路25はデータパケットチェック回路、第3のパケットチェック回路26はハンドシェイクパケットチェック回路である。
【0050】
SIE21は、USBホスト11から受信したパケットをデコードしてデジタルデータに変換し、そのデータをPIDデコーダ22及びパケット長測定回路23に出力する。
【0051】
PIDデコーダ22は、SIE21を介して受け取ったデータ(パケット)の種類をPID(パケットID)のデータパターンによって判別する。そして、PIDデコーダ22は、受信したパケットがトークンパケットの場合には、そのパケットデータを第1のパケットチェック回路24に出力する。また、データパケットの場合には、そのパケットデータを第2のパケットチェック回路25に出力する。また、ハンドシェイクパケットの場合には、そのパケットデータを第3のパケットチェック回路26に出力する。
【0052】
パケット長測定回路23は、SIE21を介して受け取ったデータ(パケット)のパケット長を測定し、そのパケット長が上記PIDによって判別されたパケットの種類に適合しているか否かを判定する。
【0053】
詳述すると、図8(a)に示すように、トークンパケットは、PID、USBアドレス(ADDR)、エンドポイント番号(ENDP)、CRC5から構成される24ビット(固定長)のパケットである。従って、パケット長測定回路23は、測定したパケット長が24ビットであるとき、トークンパケットとして判定する。
【0054】
また、図8(b)に示すように、データパケットは、PID、データフィールド(DATA)、CRC16から構成される24〜8216ビット(可変長)のパケットである。従って、パケット長測定回路23は、測定したパケット長が24ビット以上、且つ8216ビット以下であるとき、データパケットとして判定する。
【0055】
また、図8(c)に示すように、ハンドシェイクパケットは、PIDのみによって構成される8ビット(固定長)のパケットである。従って、パケット長測定回路23は、測定したパケット長が8ビットであるとき、ハンドシェイクパケットとして判定する。
【0056】
このように、パケット長測定回路23は、測定したパケット長がPIDデコーダ22により判別されたパケットの種類に適合する場合には、そのパケットデータを受け取るパケットチェック回路での処理を開始させるための信号を出力する。逆に、適合しない場合には、そのパケットデータを受け取るパケットチェック回路での処理を中止させるための信号を出力する。
【0057】
具体的には、第1のパケットチェック回路24は、PIDデコーダ22を介してトークンパケットを受け取ると、トランザクションを開始するための処理を行う。その際、パケット長測定回路23により測定されるパケット長がトークンパケットに適合しない場合(24ビット以外)は、処理を中止する。
【0058】
第2のパケットチェック回路25は、PIDデコーダ22を介してデータパケットを受け取ると、データ受信のための処理を行う。その際、パケット長測定回路23により測定されるパケット長がデータパケットに適合しない場合(24ビット未満、或いは8217ビット以上)は、処理を中止する。
【0059】
第3のパケットチェック回路26は、PIDデコーダ22を介してハンドシェイクパケットを受け取ると、トランザクションを終了するための処理を行う。その際、パケット長測定回路23により測定されるパケット長がハンドシェイクパケットに適合しない場合(8ビット以外)は、処理を中止する。
【0060】
エンドポイント27,28は、それぞれ固有のデータ記憶領域及び転送機能を持つFIFOであり、各トランザクション(INトランザクション、OUTトランザクション等)は対応するエンドポイント27,28を使用して行われる。例えば、INトランザクション(USBデバイス12からUSBホスト11へのデータ転送)は、FIFOが送信型の転送機能を有するエンドポイントを使用して行われる。これらの各エンドポイント27,28には、それらのFIFOの特性を表すエンドポイント番号(ENDP)が割り当てられている。
【0061】
図2は、USBデバイス12におけるパケット判別処理を説明するフローチャートである。
USBデバイス12がパケットを受信すると(ステップ31)、PIDデコーダ22は、パケットの種類をPIDのデータパターンによって判別する(ステップ32)。このとき、PIDがトークンパケット、データパケット、ハンドシェイクパケットの何れのパケットにも該当しない場合はタイムアウト処理(転送処理の中止)を行う(ステップ33)。
【0062】
一方、上記ステップ32において、PIDがトークンパケットに該当する場合には、パケット長測定回路23は、そのパケット長が24ビットであるか否かを判定する(ステップ34a)。このとき、24ビット以外である場合はタイムアウト処理を行う(上記ステップ33)。
【0063】
パケット長が24ビットである場合、第1のパケットチェック回路24は、USBアドレス(ADDR)が正しいか否か(ステップ34b)、エンドポイント番号(ENDP)と転送型が一致するか否か(ステップ34c)及びCRC5のチェック(ステップ34d)をそれぞれ行う。尚、これらの各ステップ34b〜34dは、図11のステップ94a〜94cと同様であるため、詳細な説明を省略する。
【0064】
即ち、第1のパケットチェック回路24は、各ステップ34b〜34dにてエラーが検出されない場合にのみトランザクションを開始するための処理を開始する(ステップ34e)。逆に、何れかのステップにてエラーが検出される場合にはタイムアウト処理を行う(上記ステップ33)。
【0065】
また、上記ステップ32において、PIDがデータパケットに該当する場合には、パケット長測定回路23は、そのパケット長が24ビット以上であるか否かを判定する(ステップ35a)。このとき、24ビット未満である場合はエラーと判定し、タイムアウト処理を行う(上記ステップ33)。
【0066】
パケット長が24ビット以上の場合、第2のパケットチェック回路25は、データフィールド(DATA)が正しいか否かをCRC16によりチェックする(ステップ35b)。尚、このステップ35bは、図11のステップ95aと同様である。即ち、ステップ35bにてエラーが検出される場合にはタイムアウト処理を行う(上記ステップ33)。
【0067】
一方、上記ステップ35bにてエラーが検出されない(DATAが正当なデータである)場合、パケット長測定回路23は、このパケットが8216ビット以下であるか否かを判定する(ステップ35c)。このとき、8217ビット以上である場合はタイムアウト処理を行う(上記ステップ33)。そして、パケット長が8216ビット以下である場合には、第2のパケットチェック回路25は、データ受信処理を行う(ステップ35d)。
【0068】
尚、本実施形態では、データパケットのパケット長が8216ビット以下であるか否かの判定処理をCRC16のチェック後に行うようにしたが、上記ステップ45aの実行時、或いは同ステップ45aの実行後に行うようにしてもよい。
【0069】
また、上記ステップ32において、PIDがハンドシェイクパケットに該当する場合には、パケット長測定回路23は、そのパケット長が8ビットであるか否かを判定する(ステップ36a)。このとき、8ビット以外である場合はタイムアウト処理を行う(上記ステップ33)。一方、パケット長が8ビットの場合、第3のパケットチェック回路26は、トランザクションを終了するための処理を行う(ステップ36b)。
【0070】
図3は、本実施形態のパケット判別回路の構成をUSBハードディスクデバイスに適用した例を示すブロック図である。尚、図1と同様の構成部分については同一符号を付して図示する。
【0071】
このUSBハードディスクデバイス41は、USB Mass Storage Class Bulk Only Mode 1.0 に準拠したものであり、第1〜第3のエンドポイント42〜44を有する。各エンドポイント42〜44にはハードディスク制御回路45が接続され、そのハードディスク制御回路45にはデータ記録部46が接続されている。
【0072】
第1のエンドポイント42(図中、Control EP)は、送受信型の転送機能を持つFIFOであって、主にデバイスの初期化を行うために用いられる。
第2のエンドポイント43(図中、Bulk OUT EP )、第3のエンドポイント44(図中、Bulk IN EP)は、それぞれ受信型の転送機能、送信型の転送機能を持つFIFOであって、これらのエンドポイント43,44はハードディスクへのデータの読み書き及びコマンドの転送に用いられる。
【0073】
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)USBデバイス12(パケット判別回路)は、受信したパケットの種類をPIDのデータパターンによって判別するPIDデコーダ22と、そのPIDデコーダ22の判別結果が正しいか否かをパケット長を測定して判定するパケット長測定回路23とを備える。この構成では、USBバス13を伝送する信号のデータ値が、ケーブル(USBバス13)内での反射やノイズ等の影響により変移してしまう場合にもパケットを正しく判別することができる。これにより、USBデバイス12におけるパケットの誤判定を低減させることができるため、転送効率の低下を抑止することができる。延いてはシステム全体のパフォーマンスが低下することを抑止できる。
【0074】
(2)パケット長測定回路23にて測定したパケット長がPIDデコーダ22にて判別されるパケットの種類に適合しない場合には、そのパケットに対応する第1〜第3のパケットチェック回路24〜26での処理を中止するようにした。これにより、パケットの誤判定が生じている場合にはそのエラーを早期に検出することができるため、転送効率の向上化に貢献できる。
【0075】
(第二実施形態)
以下、本発明を具体化した第二実施形態を図4〜図7に従って説明する。
図4は、データトグルビットエラー訂正回路(以下、単にエラー訂正回路という)の構成を示す概略ブロック図である。尚、同図は、USBデバイス51におけるエラー訂正回路の構成部分について示したものである。本実施形態の構成(図4)において、第一実施形態の構成(図1)と同様の構成部分には同一符号を付し、それらの詳細な説明を一部省略する。
【0076】
USBデバイス51(エラー訂正回路)は、第一実施形態同様、USBホスト11とUSBバス13を介して相互に接続されている。このUSBデバイス51は、SIE21、PIDデコーダ22、第1及び第2のパケットチェック回路52,53、トグルビット切り替え回路54及び複数(図では簡略化して例えば3つ示す)のエンドポイント55〜57を備える。
【0077】
尚、本実施形態において、第1のパケットチェック回路52はトークンパケットチェック回路であり、第2のパケットチェック回路53はハンドシェイクパケットチェック回路である。また、図4では省略しているが、このUSBデバイス51は、第一実施形態同様、データパケットチェック回路を有している。
【0078】
PIDデコーダ22は、SIE21を介してデジタルデータに変換されたデータ(パケット)の種類をPIDのデータパターンによって判別し、そのパケットデータを対応するパケットチェック回路に出力する。詳しくは、PIDデコーダ22は、受信したパケットがトークンパケットの場合は、そのパケットデータを第1のパケットチェック回路52に出力する。また、受信したパケットがハンドシェイクパケットの場合は、そのパケットデータを第2のパケットチェック回路53に出力する。
【0079】
エンドポイント55〜57は、それぞれ固有のデータ記憶領域及び転送機能(受信型、送信型、送受信型等)を持つFIFOであり、第一実施形態同様、各トランザクションは対応するエンドポイント55〜57を使用して行われる。これらの各エンドポイント55〜57に対しては、各FIFOの特性を示すエンドポイント番号(ENDP)が割り当てられている。
【0080】
また、各エンドポイント55〜57には、それぞれのトランザクションが正常に終了したか否かを示すデータトグルビットを記憶するための領域(図中、トグルビット)55a〜57aが設けられている。即ち、これらの各領域55a〜57aには、トランザクションの処理状況に応じて値が[0]もしくは[1]のデータトグルビットが記憶される。
【0081】
トグルビット切り替え回路54は、第1及び第2のパケットチェック回路52,53と接続されるとともに、各エンドポイント55〜57に接続されている。
このトグルビット切り替え回路54には、第1のパケットチェック回路52が受け取ったトークンパケットのエンドポイント番号(ENDP)を記憶するための記憶領域54aが設けられている。即ち、領域54aには、現在実行中のトランザクションで転送に使用されている(転送要求を受け付けている)エンドポイントを表すエンドポイント番号(ENDP)が記憶されている。
【0082】
また、トグルビット切り替え回路54は、第2のパケットチェック回路53がハンドシェイクパケットを受け取る場合には、そのトランザクションで転送要求を受け付けているエンドポイントのデータトグルビットを変更(反転)する。
【0083】
図5は、USBデバイス51(エラー訂正回路)におけるデータトグルビットエラー訂正処理(以下、単にエラー訂正処理という)を説明するフローチャートである。
【0084】
今、USBホスト11とUSBデバイス51との間でINトランザクションが実行されており、USBホスト11からUSBデバイス51にACKハンドシェイクパケットが送信される。尚、ここでは、このINトランザクションで転送要求を受け付けているエンドポイントが例えばエンドポイント55であるとする。
【0085】
トグルビット切り替え回路54は、第2のパケットチェック回路53がACKハンドシェイクパケットを受信したか否かを判定し(ステップ61)、それを受信している場合にはエンドポイント55に記憶されているデータトグルビットの値を反転する。例えばデータトグルビットの値を[0]から[1]に変更する(ステップ62)。これにより、INトランザクションが終了する。
【0086】
一方、上記ステップ61において、第2のパケットチェック回路53がACKハンドシェイクパケットを受信していない場合には、エンドポイント55はデータトグルビットエラーとなる。この場合、領域55aに記憶されているデータトグルビットの値は変更されない。即ち、データトグルビットの値は[0]のままとなる。
【0087】
次いで、このデータトグルビットエラーが発生している状態で、USBホスト11とUSBデバイス51との間で次のトランザクションが開始され、USBホスト11からUSBデバイス51にトークンパケットが送信される。
【0088】
第1のパケットチェック回路52は、トークンパケットを受け取ると、そのパケットデータに含まれているエンドポイント番号(ENDP)をトグルビット切り替え回路54に通知する。トグルビット切り替え回路54は、その第1のパケットチェック回路52から受け取ったエンドポイント番号と、記憶領域54aに記憶されている前回のトランザクションで使用したエンドポイント番号(この例ではエンドポイント55に対応するエンドポイント番号)とを比較する。即ち、トグルビット切り替え回路54は、現在のトランザクションが前回のトランザクションと同一のエンドポイント55に対する転送要求であるか否かを判断する(ステップ63)。
【0089】
このとき、同一のエンドポイント55への転送要求(即ちデータトグルビットエラーが発生しているエンドポイント55への転送要求)である場合には、USBホスト11へのデータパケットの再送処理を行う(ステップ64)。
【0090】
詳述すると、同一のエンドポイント55に連続して転送要求(INトランザクション)が行われる場合は、先のINトランザクションにおいて、USBデバイス51から送信されたデータパケットがUSBホスト11にて正常に受信されなかったことを意味する。つまり、USBホスト11は、先のINトランザクションでデータパケットを受信できなかったために、同一のエンドポイント55に対して再度転送要求を行ったことになる。従って、この場合、USBデバイス51は、エラーが発生しているエンドポイント55のデータトグルビット(この例では[0])に従ってUSBホスト11にデータパケットを再送する。
【0091】
一方、上記ステップ63において、異なるエンドポイントへの転送要求(即ちデータトグルビットエラーが発生しているエンドポイント55とは異なるエンドポイントへの転送要求)である場合には、該エラーとなっているエンドポイント55のデータトグルビットの値を反転する(ステップ65)。
【0092】
詳述すると、異なるエンドポイントへの転送要求が行われる場合は、先のINトランザクションにおいて、USBホスト11から送信されたACKハンドシェイクパケットが何らかの理由でUSBデバイス51にて受信することができなかったことを意味する。つまり、USBホスト11は、先のINトランザクションでデータパケットを正常に受信し、ACKハンドシェイクパケットを送信している。従って、この場合、USBデバイス51は、エラーが発生しているエンドポイント55のデータトグルビットの値を反転する。つまり、この例では、領域55aにデータトグルビットエラーとして記憶されている、値が[0]のデータトグルビットを[1]に変更する。
【0093】
図6は、エラー訂正処理の具体例を示すフローチャートである。
尚、ここでは、説明の便宜上、各々のトランザクションで使用するUSBホスト11のエンドポイントを例えばエンドポイントh1,h2とし、USBデバイス51のエンドポイントを例えばエンドポイントd1,d2とする。
【0094】
今、USBホスト11は、エンドポイントh1とUSBデバイス51のエンドポイントd1との間でトランザクションを開始する。具体的には、INトークンパケットを送信してデータの転送要求を行う(ステップ71)。それを受けて、USBデバイス51は、エンドポイントd1に記憶されているデータトグルビットの値([0])に対応したデータ0パケットをUSBホスト11に送信する(ステップ72)。USBホスト11は、そのデータ0パケットを受信すると、エンドポイントh1のデータトグルビットを[0]から[1]に変更するとともに、データを正常に受信した旨を通知するACKハンドシェイクパケットをUSBデバイス51に送信する(ステップ73)。
【0095】
このとき、そのACKハンドシェイクパケットをUSBデバイス51が何らかの原因で受信できなかった場合(図中、その様子を破線で示す)、USBデバイス51は、エンドポイントd1のデータトグルビットの値を[0]のまま変更しない。つまり、エンドポイントd1はデータトグルビットエラーとなる。
【0096】
この状態で、USBホスト11は、エンドポイントh2とUSBデバイス51のエンドポイントd2との間で次のトランザクションを開始する(ステップ74)(ここではそのトランザクションの具体的な処理については省略する)。このとき、USBデバイス51は、USBホスト11が先のINトランザクション(上記ステップ73)において、ACKハンドシェイクパケットを送信したと判断し、エラーとなっているエンドポイントd1の値を反転させる。つまり、エンドポイントd1の値([0])を[1]に訂正する。
【0097】
その後、このトランザクションが正常に終了する(即ちUSBホスト11、USBデバイス51の何れか一方が他方からのACKハンドシェイクパケットを受信する)と(ステップ75)、エンドポイントh2及びエンドポイントd2の各データトグルビットはそれぞれ[0]から[1]に変更される。
【0098】
その後、USBホスト11は、エンドポイントh1とUSBデバイス51のエンドポイントd1との間で更に次のトランザクションを開始する。具体的には、INトークンパケットを送信してデータの転送要求を行う(ステップ76)。それを受けて、USBデバイス51は、エンドポイントd1に記憶されているデータトグルビットの値([1])に従ってデータ1パケットをUSBホスト11に送信する(ステップ77)。即ち、USBデバイス51は、上記ステップ74にてエンドポイントd1のデータトグルビットエラーを訂正している。従って、USBホスト11は、このINトランザクションでUSBデバイス51に要求していたデータ、つまりデータ1パケットを受け取ることができる。
【0099】
これにより、USBホスト11は、データ1パケットを受信すると、それを正常に受信した旨を通知するACKハンドシェイクパケットをUSBデバイス51に送信するとともに(ステップ78)、エンドポイントh1のデータトグルビットの値を[1]から[0]に変更する。また、USBデバイス51は、そのACKハンドシェイクパケットを受信すると、エンドポイントd1のデータトグルビットの値を[1]から[0]に変更する。
【0100】
図7は、本実施形態のエラー訂正回路の構成をUSBハードディスクデバイスに適用した例を示すブロック図である。尚、図4と同様の構成部分については同一符号を付して図示する。
【0101】
このUSBハードディスクデバイス81は、USB Mass Storage Class Bulk Only Mode 1.0 に準拠したものであり、第1〜第3のエンドポイント82〜84を有する。各エンドポイント82〜84には、それぞれデータトグルビットを記憶するための領域82a〜84aが設けられている。これらの各エンドポイント82〜84にはハードディスク制御回路85が接続され、そのハードディスク制御回路85にはデータ記録部86が接続されている。
【0102】
第1のエンドポイント82(図中、Control EP)は、送受信型の転送機能を持つFIFOであって、主にデバイスの初期化を行うために用いられる。
第2のエンドポイント83(図中、Bulk OUT EP )、第3のエンドポイント84(図中、Bulk IN EP)は、それぞれ受信型の転送機能、送信型の転送機能を持つFIFOであって、これらのエンドポイント83,84はハードディスクへのデータの読み書き及びコマンドの転送に用いられる。
【0103】
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)USBデバイス51(エラー訂正回路)は、第2のパケットチェック回路53がACKハンドシェイクパケットを受信すると、そのトランザクションで転送要求を受け付けているエンドポイント55〜57のデータトグルビットの値を反転させるトグルビット切り替え回路54を備えている。このトグルビット切り替え回路54は、第1のパケットチェック回路52がトークンパケットを受信すると、そのトランザクションで転送要求を受けたエンドポイントと、前回のトランザクションで転送要求を受けたエンドポイントとが同一であるか否かを判断する。そして、異なるエンドポイントへの転送要求である場合には、前回のトランザクションで転送要求を受けたエンドポイントのデータトグルビットを反転してエラーを訂正する。この構成では、データトグルビットエラーが発生する場合にも、そのエラーを早期に検出して訂正することができるため、転送効率の低下を抑止することができる。延いてはシステム全体のパフォーマンスが低下することを抑止できる。
【0104】
(2)エラーを早期に検出及び訂正するようにしたことで、無用なトランザクションが実行されることが防止され、USBホスト11からの転送要求に対して即座に対応可能となる。従って、転送効率の向上化に貢献できる。
【0105】
尚、上記各実施形態は、以下の態様で実施してもよい。
・各実施形態においては、USBデバイスがパケット判別回路とエラー訂正回路とをそれぞれ個別に備える場合について説明したが、両回路をともに備える構成としてもよい。即ち、第一実施形態のUSBデバイス12(パケット判別回路)の機能と第二実施形態のUSBデバイス51(エラー訂正回路)の機能とを有するように構成してもよい。
【0106】
・第一実施形態では、パケット判別回路の構成をUSBハードディスクデバイスに適用したが、MOや、DVD,CDなどのATA/ATAPIデバイス、或いはプリンタ,スキャナなどのパソコン周辺装置等、他のデバイスに適用してもよい。
【0107】
・第二実施形態では、エラー訂正回路の構成をUSBハードディスクデバイスに適用したが、MOや、DVD,CDなどのATA/ATAPIデバイス、或いはプリンタ,スキャナなどのパソコン周辺装置等、他のデバイスに適用してもよい。
【0108】
【発明の効果】
以上詳述したように、本発明によれば、転送効率を向上させることのできるデータ処理装置及びパケット判別方法を提供することができる。
【図面の簡単な説明】
【図1】 パケット判別回路の構成を示すブロック図である。
【図2】 パケット判別処理を説明するフローチャートである。
【図3】 パケット判別回路をハードディスクデバイスに適用した例を示すブロック図である。
【図4】 データトグルビットエラー訂正回路の構成を示すブロック図である。
【図5】 データトグルビットエラー訂正処理を説明するフローチャートである。
【図6】 データトグルビットエラー訂正処理の具体例を示すフローチャートである。
【図7】 データトグルビットエラー訂正回路をハードディスクデバイスに適用した例を示すブロック図である。
【図8】 パケットのフォーマットを示す説明図である。
【図9】 PIDのフォーマットを示す説明図である。
【図10】 トランザクションの処理の流れを示すフローチャートである。
【図11】 従来のパケット判別処理を説明するフローチャートである。
【図12】 従来のデータトグルビットエラー訂正回路の概略構成を示すブロック図である。
【図13】 パケットの誤判定が生じる場合を示す説明図である。
【図14】 従来のデータトグルビットエラー訂正処理を示すフローチャートである。
【符号の説明】
11 ホストコンピュータとしてのUSBホスト
12,51 データ処理装置としてのUSBデバイス
22 パケット判別手段としてのPIDデコーダ
23 パケット長測定回路
27,28,55〜57 複数のエンドポイント
54 トグルビット切り替え回路
54a 記憶領域

Claims (4)

  1. USBインタフェースを介してホストコンピュータとデータ通信を行うデータ処理装置であって、
    前記ホストコンピュータから受信したパケットの種類を該パケットに含まれるパケットIDに基づいて判別するパケット判別手段と、
    前記ホストコンピュータから受信したパケットのパケット長を測定し、該測定したパケット長が前記パケット判別手段により判別されたパケットの種類に適合するか否かを判定するパケット長測定回路と、
    を備えたことを特徴とするデータ処理装置。
  2. 前記パケット長測定回路は、前記測定したパケット長が前記パケット判別手段により判別されたパケットの種類に適合しないとき、転送処理を中止させる信号を出力することを特徴とする請求項1記載のデータ処理装置。
  3. USBインタフェースを介してホストコンピュータから受信したパケットの種類を判別するパケット判別方法であって、
    前記パケットの種類を該パケットに含まれるパケットIDに基づいて判別した後、該パケットのパケット長を測定し、該測定したパケット長が前記パケットIDにより判別されたパケットの種類に適合するか否かを判定するようにしたことを特徴とするパケット判別方法。
  4. 前記測定したパケット長が前記パケットIDにより判別されたパケットの種類に適合しない場合には、転送処理を中止することを特徴とする請求項3記載のパケット判別方法。
JP2002247060A 2002-08-27 2002-08-27 データ処理装置及びパケット判別方法 Expired - Fee Related JP3955512B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2002247060A JP3955512B2 (ja) 2002-08-27 2002-08-27 データ処理装置及びパケット判別方法
US10/647,446 US20040095929A1 (en) 2002-08-27 2003-08-26 Data processor, packet recognition method, and error correction method
EP03255301A EP1394685A3 (en) 2002-08-27 2003-08-27 Data processor, packet recognition method, and error correction method
CNA2005100843785A CN1722125A (zh) 2002-08-27 2003-08-27 纠错方法
CNA2005100843770A CN1722124A (zh) 2002-08-27 2003-08-27 数据处理器
CNA200510084379XA CN1722126A (zh) 2002-08-27 2003-08-27 数据处理器的控制方法
CNB031559611A CN1242340C (zh) 2002-08-27 2003-08-27 数据处理器和分组识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002247060A JP3955512B2 (ja) 2002-08-27 2002-08-27 データ処理装置及びパケット判別方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007031985A Division JP4616292B2 (ja) 2007-02-13 2007-02-13 データ処理装置及びエラー訂正方法

Publications (2)

Publication Number Publication Date
JP2004088445A JP2004088445A (ja) 2004-03-18
JP3955512B2 true JP3955512B2 (ja) 2007-08-08

Family

ID=31492548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002247060A Expired - Fee Related JP3955512B2 (ja) 2002-08-27 2002-08-27 データ処理装置及びパケット判別方法

Country Status (4)

Country Link
US (1) US20040095929A1 (ja)
EP (1) EP1394685A3 (ja)
JP (1) JP3955512B2 (ja)
CN (4) CN1722125A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668107B2 (en) * 2006-03-22 2010-02-23 Marvell Israel (M.I.S.L.) Ltd. Hardware implementation of network testing and performance monitoring in a network device
US7707349B1 (en) 2006-06-26 2010-04-27 Marvell International Ltd. USB isochronous data transfer for a host based laser printer
CN101001241B (zh) * 2006-12-31 2011-04-20 华为技术有限公司 实现cpe工作模式自适应的方法、***和接入设备
CN101159861B (zh) * 2007-11-14 2011-02-16 北京中星微电子有限公司 一种图像数据的批量传输方法
US8321604B2 (en) * 2010-08-27 2012-11-27 Total Phase, Inc. Real-time USB class level decoding
US8918550B2 (en) 2010-08-27 2014-12-23 Total Phase, Inc. Real-time USB class level decoding
CN102123441B (zh) * 2011-02-22 2016-02-10 中兴通讯股份有限公司 一种进行数据发送和接收的方法及设备
DE102011015966B4 (de) * 2011-04-04 2017-07-06 Wago Verwaltungsgesellschaft Mbh Automatisierungssystem
TWI467473B (zh) * 2012-12-25 2015-01-01 Asustek Comp Inc 影像顯示系統以及影像顯示方法
US10437763B2 (en) * 2017-04-07 2019-10-08 Nxp B.V. Method and device for universal serial bus (USB) communication
US10366039B2 (en) 2017-04-13 2019-07-30 Nxp B.V. USB link bridge
CN110609802A (zh) * 2019-09-06 2019-12-24 广州扬名信息科技有限公司 一种基于车载usb设备的数据传输***
CN114116577B (zh) * 2022-01-29 2022-05-03 南京沁恒微电子股份有限公司 Usb虚拟串口实时上传数据的方法及***、usb主机

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621772A (en) * 1995-01-20 1997-04-15 Lsi Logic Corporation Hysteretic synchronization system for MPEG audio frame decoder
WO1996034374A2 (en) * 1995-04-28 1996-10-31 Philips Electronics N.V. Wireless communication system for reliable communication between a group of apparatuses
US6742076B2 (en) * 2000-01-03 2004-05-25 Transdimension, Inc. USB host controller for systems employing batched data transfer
JP3415567B2 (ja) * 2000-06-21 2003-06-09 エヌイーシーマイクロシステム株式会社 Usb転送制御方法およびusbコントローラ
US6760772B2 (en) * 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
GB2382899B (en) * 2000-12-29 2003-12-17 Zarlink Semiconductor Ltd A data queue system
JP3680762B2 (ja) * 2001-05-14 2005-08-10 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7269186B2 (en) * 2001-08-06 2007-09-11 Qualcomm Incorporated Protocol for framing a payload
KR100450080B1 (ko) * 2001-11-13 2004-10-06 (주)지에스텔레텍 유에스비기반의 이동형 저장장치 및 그 제어방법

Also Published As

Publication number Publication date
EP1394685A2 (en) 2004-03-03
CN1242340C (zh) 2006-02-15
EP1394685A3 (en) 2006-10-04
CN1722126A (zh) 2006-01-18
CN1722124A (zh) 2006-01-18
CN1487431A (zh) 2004-04-07
JP2004088445A (ja) 2004-03-18
US20040095929A1 (en) 2004-05-20
CN1722125A (zh) 2006-01-18

Similar Documents

Publication Publication Date Title
JP3955512B2 (ja) データ処理装置及びパケット判別方法
US7343545B2 (en) Method for processing noise interference
KR101099471B1 (ko) PCI.Express 통신 시스템, 및 그 통신 방법
US6954807B2 (en) DMA controller and method for checking address of data to be transferred with DMA
US20040059965A1 (en) Synchronous serial data communication bus
JP4925659B2 (ja) アクセス時間が減少したフラッシュメモリ装置
JP4391954B2 (ja) ファイル制御システムおよびファイル制御装置
US8281189B2 (en) SATA primitive prediction and correction
US20070061681A1 (en) Mechanism for error handling of corrupted repeating primitives during frame reception
JP2007300619A (ja) 異なるデータ保護方法間で切換えにおいてデータの完全性を維持する方法、装置及びプログラム
US7430619B2 (en) Communication device, host apparatus, and communication method
JPH10133962A (ja) 外部記録装置を備えたデータ処理装置における転送データ検証方法および装置
US20090003228A1 (en) Bad data packet capture device
JP4616292B2 (ja) データ処理装置及びエラー訂正方法
US6286125B1 (en) Method and system for generating and transferring error detection information over a bus
EP2075943B1 (en) Methods and systems for error detection of data transmission
JP4455393B2 (ja) プログラマブルロジックコントローラ
US6332010B1 (en) Synchronizing signal detecting circuit
JP4431768B2 (ja) 携帯型電子装置、読み出し方法及び書き込み方法
JPH0816483A (ja) メモリ装置の制御方式
JP4649304B2 (ja) 通信制御装置およびその制御方法
US7596742B1 (en) Error detection in a communication link
JP4449332B2 (ja) Icカード接続装置
US20070121496A1 (en) System and method for amplitude optimization in high-speed serial transmissions
JPH1165943A (ja) データ転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070502

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees