JP5160844B2 - Hidデバイスの通信速度を高める方法 - Google Patents
Hidデバイスの通信速度を高める方法 Download PDFInfo
- Publication number
- JP5160844B2 JP5160844B2 JP2007229004A JP2007229004A JP5160844B2 JP 5160844 B2 JP5160844 B2 JP 5160844B2 JP 2007229004 A JP2007229004 A JP 2007229004A JP 2007229004 A JP2007229004 A JP 2007229004A JP 5160844 B2 JP5160844 B2 JP 5160844B2
- Authority
- JP
- Japan
- Prior art keywords
- endpoint
- data
- usb device
- bulk
- host
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Description
一つのUSBデバイスとホストとの間のインタフェースを定義するためのものであって、このデバイスがHIDデバイスであるか、およびコントロールエンドポイント以外のエンド ポイントがあるかを表すインタフェースディスクリプターと、
デバイスにコントロールエンドポイント以外のエンドポイントがある時にのみ必要であ り、エンドポイントのタイプ、エンドポイントのチップにおけるアドレスなど、エンドポ イントバッファーのサイズ、及びホストがこのエンドポイントをアクセルする時間間隔を表すエンドポイントディスクリプターと、
デバイスがHIDデバイスとして定義された時にのみ必要であり、このデバイスがサポートするUSBプロトコールのバージョン番号、専用ディスクリプターの有無、及び専用ディスクリプターに対する特徴限定を表すHIDディスクリプターと、
デバイスがHIDデバイスとして定義された時にのみ必要であり、ホストとデバイスの間に通信する時のデータの構成方法を定義するためのレポートディスクリプターとを含む。
USBデバイスは、インタフェースディスクリプターにおけるエンドポイント個数を2以 上に設定し、デバイス分類を3に設定するステップと、
USBデバイスは、ホストに少なくても一つの割込み入力エンドポイントと少なくとも一つの割込み出力エンドポイントをレスポンスし、割込み入力エンドポイントのアドレスをUSBデバイス内のバルク入力エンドポイントアドレスに設定し、割込み出力エンドポイン トのアドレスをUSBデバイス内のバルク出力エンドポイントアドレスに設定するステップと、
USBデバイスは、自体に一つのレポートディスプリプタを有することをHIDディスクリプ タに設定するステップと、
USBデバイスは、レポートディスプリプタが、バルクエンドポイントバッファーメモリ の容量以上の長さを有する入力型レポートと出力型レポートをそれぞれ一つ備えるように設定するステップと、
USBデバイスは、バルク出力エンドポイントによりホストからのコマンドを受信し、かつバルク入力エンドポイントによりホストに所要の結果を返し、ホストとインタラクショ ンする1回当たりのデータの長さがレポートの長さと一致するように設定するステップとを含むことを特徴とするHIDデバイスの通信速度を高める方法。
1)USBデバイスは、バルクエンドポイントにデータが送信されたかを判断するステップと、
2)バルクエンドポイントにデータが送信された場合、USBデバイスはデータを再構成 するステップと、
3)USBデバイスはコマンドを実行するステップと、
4)USBデバイスは、バルクエンドポイントにより結果と状態を返すステップとを含むことを特徴とするHIDデバイスの通信速度を高める方法。
(1−1)インタフェースディスクリプター
本発明に係るインタフェースディスクリプターに対する設定は、「エンドポイント個数」を表すバイトを2以上に設定すること、および「デバイス分類」を表すバイトをこのデバイスがHIDデバイスに属することを意味する3に設定することを含む。
本発明は、ホストに二つの割込みエンドポイントの存在を通知しなければならず、本来のディスクリプターをもとに二つの割込みエンドポイントに対応する二つのエンドポイン トディスクリプターを追加する。この二つの割込みエンドポイントは、それぞれ割込み入力エンドポイントと割込み出力エンドポイントであり、「エンドポイントタイプ」を表すバイトを当該エンドポイントが割込みエンドポイントであることを意味する3に設定する 。「エンドポイント番号」を表すバイトをUSBデバイスチップ内のバルク入力エンドポイ ントの番号およびバルク出力エンドポイントの番号とそれぞれ同じように設定する。割込み入力エンドポイントと割込み出力エンドポイントの「バッファエリアのサイズ」を64バイトに設定して、ホストが割込み入力エンドポイントと割込み出力エンドポイントをアクセスする時間間隔をいずれも1ミリ秒に設定する。
本発明に係るHIDディスクリプターに対する設定には、HIDプロトコールバージョン1.10以上をサポートすること、このデバイスが一つの“レポートディスクリプター”を有する こと、および当該レポートディスクリプターの長さが58バイトであることが含まれる。
本発明のレポートディスクリプターに対する設定には、本来製品に対応する部分と、デ バイスからホストへ伝送される入力型レポートに対する定義と、ホストからデバイスへ伝 送される出力型レポートに対する定義とが含まれる。上記の入力型レポートと出力型レポ ートの長さは、バルクエンドポイントのバッファーメモリの容量以上である。
データ伝送は、ホストからUSBデバイスへのデータ伝送であるか、USBデバイスからホストへのデータ伝送であるかを問わず、レポートの長さに従って実現され、即ち一回当たりに64バイトが伝送される。64バイトを超えたデータは、64バイトのサイズの一連のデータブロックに分けられて伝送され、受信側は、全てのデータブロックを完全なデータに再構成する。
Claims (5)
- HIDデバイスの通信速度を高める方法であって、
USBデバイスは、インタフェースディスクリプターにおけるエンドポイント個数を2以上に設定し、デバイス分類を3に設定するステップと、
USBデバイスは、ホストに少なくとも一つの割込み入力エンドポイントと少なくとも一つの割込み出力エンドポイントをレスポンスし、割込み入力エンドポイントのアドレスをUSBデバイス内のバルク入力エンドポイントのアドレスに設定し、割込み出力エンドポイントのアドレスをUSBデバイス内のバルク出力エンドポイントのアドレスに設定するステップと、
USBデバイスは、自体に一つのレポートディスプリプタを有することをHIDディスクリプタに設定するステップと、
USBデバイスは、レポートディスプリプタが、バルクエンドポイントバッファーメモリの容量以上の長さを有する入力型レポートと出力型レポートをそれぞれ一つ備えるように設定するステップと、
USBデバイスは、バルク出力エンドポイントによりホストからのコマンドを受信し、かつバルク入力エンドポイントによりホストに所要の結果を返信し、ホストとインタラクションする1回当たりのデータの長さがレポートの長さと一致するように設定するステップ
とを含むことを特徴とする該方法。 - エンドポイントディスクリプターが、前記割込み入力エンドポイントと割込み出力エンドポイントのバッファエリアのサイズを、64バイトに設定することを特徴とする請求項1記載のHIDデバイスの通信速度を高める方法。
- データの伝送は、ホストからUSBデバイスへの伝送か、USBデバイスからホストへの伝送かを問わず、レポートの長さに基づいて行い、毎回64バイト伝送し、64バイトを超えたデータは、64バイトのサイズのデータブロックに分解されてからそれぞれ伝送され、
受信側は全てのデータブロックを完全なデータに再構成することを特徴とする請求項1記載のHIDデバイスの通信速度を高める方法。 - 前記ホストのコマンドとデータの受信および処理は
1)USBデバイスは、バルクエンドポイントにデータが送信されたかを判断するステップと、
2)バルクエンドポイントにデータが送信された場合、USBデバイスはデータを再構成するステップと、
3)USBデバイスはコマンドを実行するステップと、
4)USBデバイスは、バルクエンドポイントから、バルクエンドポイントにデータが送信されていないという結果と状態、又はコマンドを受信し実行して得られた結果と状態を返信するステップとを含むことを特徴とする請求項1記載のHIDデバイスの通信速度を高める方法。 - 前記バルクエンドポイントにデータが送信されたかを判断するステップは
(a)USBデバイスは、コマンドの再構成と実行の状態に入るステップと、
(b)USBデバイスは、ホストからデータのオフセット量と長さを取得するステップと、
(c)USBデバイスは、データのオフセット量と長さに基づいて、バルクエンドポイントのバッファエリアにデータをコピーするステップと、
(d)USBデバイスは、ホストからデータの全長を取得するステップと、
(e)USBデバイスは、オフセット量にデータの長さを加算したものがデータの全長と等しいかを判断し、等しくない場合はステップ(f)を実行し、等しい場合はステップ(g)を実行するステップと、
(f)USBデバイスは、コマンドの再構成と実行を中断し、次のレポートの処理を行うステップと、
(g)USBデバイスは、バルクエンドポイントのバッファエリア内のデータが正しいかを判断し、正しくない場合は、コマンドエラー状態を設定してからステップ4)を実行し、正しい場合は、ステップ3)を実行するステップとを含むことを特徴とする請求項4記載のHIDデバイスの通信速度を高める方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610113011.6 | 2006-09-07 | ||
CNB2006101130116A CN100409150C (zh) | 2006-09-07 | 2006-09-07 | 一种提高hid设备通讯速度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008065823A JP2008065823A (ja) | 2008-03-21 |
JP5160844B2 true JP5160844B2 (ja) | 2013-03-13 |
Family
ID=38063257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007229004A Active JP5160844B2 (ja) | 2006-09-07 | 2007-09-04 | Hidデバイスの通信速度を高める方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8074232B2 (ja) |
JP (1) | JP5160844B2 (ja) |
CN (1) | CN100409150C (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10878404B2 (en) * | 2010-06-29 | 2020-12-29 | Feitian Technologies Co., Ltd. | Method for operating an e-purse |
CN102012886B (zh) * | 2010-10-14 | 2012-12-05 | 深圳市文鼎创数据科技有限公司 | 基于hid协议的通讯方法、装置及系统 |
CN102638397B (zh) | 2012-03-21 | 2014-12-10 | 华为终端有限公司 | 一种usb设备通信传输方法、设备及系统 |
CN104077252B (zh) * | 2013-03-29 | 2018-08-10 | 联想(北京)有限公司 | Usb设备通信方法、装置及电子设备 |
CN110830168B (zh) | 2019-11-11 | 2021-11-02 | 飞天诚信科技股份有限公司 | 一种usb通讯的实现方法及装置 |
CN111930184B (zh) * | 2020-10-13 | 2021-01-01 | 飞天诚信科技股份有限公司 | 一种外接设备模拟键盘的实现方法、装置及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6311228B1 (en) * | 1997-08-06 | 2001-10-30 | Microsoft Corporation | Method and architecture for simplified communications with HID devices |
US6085265A (en) * | 1998-01-09 | 2000-07-04 | Toshiba America Information Systems, Inc. | System for handling an asynchronous interrupt a universal serial bus device |
US6263392B1 (en) * | 1999-01-04 | 2001-07-17 | Mccauley Jack J. | Method and apparatus for interfacing multiple peripheral devices to a host computer |
US7290072B2 (en) * | 1999-10-06 | 2007-10-30 | Igt | Protocols and standards for USB peripheral communications |
US7886353B2 (en) * | 2005-03-25 | 2011-02-08 | Microsoft Corporation | Accessing a USB host controller security extension using a HCD proxy |
CN1808973A (zh) * | 2006-01-27 | 2006-07-26 | 北京飞天诚信科技有限公司 | 通用串行总线人机交互类的信息安全设备及其控制方法 |
CN100382065C (zh) * | 2006-03-31 | 2008-04-16 | 北京飞天诚信科技有限公司 | 基于usb接口的智能卡读写器及其控制方法 |
-
2006
- 2006-09-07 CN CNB2006101130116A patent/CN100409150C/zh active Active
-
2007
- 2007-09-04 JP JP2007229004A patent/JP5160844B2/ja active Active
- 2007-09-05 US US11/850,200 patent/US8074232B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20080066088A1 (en) | 2008-03-13 |
US8074232B2 (en) | 2011-12-06 |
CN100409150C (zh) | 2008-08-06 |
CN1955890A (zh) | 2007-05-02 |
JP2008065823A (ja) | 2008-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9141571B2 (en) | PCI express switch with logical device capability | |
KR101324844B1 (ko) | 기능 변환 시스템 및 방법과 변환 수행 시스템 | |
US9940123B1 (en) | Updating device code through a bus | |
US10846254B2 (en) | Management controller including virtual USB host controller | |
US9268717B2 (en) | Sharing single root IO virtualization peripheral component interconnect express devices | |
JP4295783B2 (ja) | 計算機、仮想デバイスの制御方法 | |
US20170329625A1 (en) | Method, apparatus, and system for accessing storage device | |
CN100555257C (zh) | 处理页面复制期间的dma操作的存储控制器和方法 | |
JP5160844B2 (ja) | Hidデバイスの通信速度を高める方法 | |
US20070005867A1 (en) | Virtual peripheral device interface and protocol for use in peripheral device redirection communication | |
KR101035832B1 (ko) | 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 | |
US6785760B2 (en) | Performance of a PCI-X to infiniband bridge | |
EP2711845B1 (en) | PCI express switch with logical device capability | |
CN111258930A (zh) | 仿真端点配置 | |
US11995019B2 (en) | PCIe device with changeable function types and operating method thereof | |
CN106796529A (zh) | 通过利用商品型PCI交换机在PCIe结构中的CPU上使用未经修改的PCIe设备驱动程序来使用PCIe设备资源的方法 | |
US11928070B2 (en) | PCIe device | |
US20200379930A1 (en) | System and method for transforming legacy sr-iov devices to appear as siov queue pairs using a management controller | |
Marcus et al. | The MPRACE framework: An open source stack for communication with custom FPGA-based accelerators | |
TW201732633A (zh) | 分散式輸入/輸出虛擬化 | |
US8972624B2 (en) | USB virtualization | |
EP2835743A1 (en) | I/o device sharing system and i/o device sharing method | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
US20230350824A1 (en) | Peripheral component interconnect express device and operating method thereof | |
JPH07334564A (ja) | 微調整自在な接続アダプター生成自動化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070904 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20070928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100720 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101019 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110119 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110622 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20110623 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110623 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110713 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20110729 |
|
RD15 | Notification of revocation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7435 Effective date: 20121010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5160844 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151221 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |