CN1987843B - Usb协议自适应方法 - Google Patents
Usb协议自适应方法 Download PDFInfo
- Publication number
- CN1987843B CN1987843B CN2005101212709A CN200510121270A CN1987843B CN 1987843 B CN1987843 B CN 1987843B CN 2005101212709 A CN2005101212709 A CN 2005101212709A CN 200510121270 A CN200510121270 A CN 200510121270A CN 1987843 B CN1987843 B CN 1987843B
- Authority
- CN
- China
- Prior art keywords
- usb
- protocol
- host
- type
- current operation
- 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
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种USB协议自适应方法,根据主机当前运行USB协议类型来报告USB设备类型,具体包括以下步骤:USB设备插入USB主机端口,该USB主机发送请求设备描述的命令,通过读取USB设备模式寄存器判断所述USB主机当前运行的USB协议;如果当前运行的协议为低速USB协议时,设备描述符中报告USB设备为低速USB设备;如果USB主机当前运行的USB协议为高速USB协议时,设备描述符中报告USB设备为高速USB设备。本发明的技术效果在于:用户将高速USB设备连接到低速USB的主机端口时,主机在WinXP的系统下不再出现“如果您将此USB设备连接到高速USB2.0端口,可以提高其性能”的提示,为用户使用带来了方便。
Description
技术领域 本发明涉及数字数据处理方法,特别是涉及插接到主机USB端口的USB设备类型的识别。
背景技术 基于USB2.0外设已经逐渐上替代了USB1.1外设,如USB2.0闪存盘已经逐渐替代了USB1.1的闪存盘,而部分用户的主机端口仍然是USB1.1的。由于USB协议的前向兼容性,基于USB2.0的闪存盘也能够在USB1.1的主机端口上使用,只是不能完全利用其性能。只是在windows xp的系统下,如果高速的USB2.0闪存盘插入USB1.1的主机端口,将出现如下的信息提示框:如果您将此USB设备连接到高速USB2.0端口,可以提高其性能。
在USB协议中,有两项描述符用来表述当前传输所使用的协议:设备描述符和配置描述符。其中配置描述符描述了传输协议中每个包的大小(USB2.0为512B,USB1.1为64B);设备描述符描述了当前设备类型(USB1.1还是USB2.0)。目前基于USB2.0闪存盘的设计都是这样的:在设备硬件中存在一个称为USB模式的寄存器,通过读取该模式寄存器来判断主机为USB1.1时,配置描述符应答为64B;主机为USB2.0时,配置描述符应答为512B。无论主机是USB1.1还是USB2.0,在设备描述符中都是报告本设备为USB2.0的设备。但是,在WinXP的系统里,上层应用软件并不判断实际传输包的大小,而用设备描述符来确认当前所使用的协议。所以,如果USB2.0闪存盘和USB1.1主机连接时,就出现了如上所述的信息提示框。
因而,现有技术中主机所运行的USB协议的识别存在以下不足:在WinXP系统下,用户每次将USB2.0设备连接到USB1.1的主机端口时,都会出现上述信息提示框,只有当该信息提示框消失以后,用户才能使用该设备。这对用户使用带来了不便。
发明内容 本发明要解决的技术问题在于提供一种USB协议自适应方法,该方法既不影响USB设备的使用性能,又能解决原有提示带来不便利的问题。
本发明提供一种USB协议自适应方法,根据主机当前运行USB协议类型来报告USB设备类型,具体包括以下步骤,
①USB设备插入USB主机端口,该USB主机发送请求设备描述的命令,通过读取USB设备模式寄存器来判断所述USB主机当前运行的USB协议;
②无论USB设备是高速类型还是低速类型,如果所述USB主机当前运行的USB协议为低速USB协议类型时,设备描述符中报告所述USB设备为低速USB设备;如果所述USB主机当前运行的USB协议为高速USB协议类型时,设备描述符中报告所述USB设备为高速USB设备;
③所述USB主机发送分配设备地址的命令,所述USB设备接收该地址并设置该唯一地址;
④所述USB主机发送请求配置描述的命令,通过读取所述USB设备模式寄存器来判断所述USB主机当前运行的USB协议;
⑤如果所述USB主机当前运行的USB协议为低速USB协议类型时,描述符中包大小的字段内容为低速USB协议类型传输包的大小;如果所述USB主机当前运行的USB协议为高速USB协议类型时,描述符中包大小的字段内容为高速USB协议类型传输包的大小;
上述高速USB设备定义为:USB设备相对与其连接的USB主机类型为高;上述低速USB设备定义为:USB设备与其连接的USB主机类型相同。
本发明根据主机所运行的协议类型,来报告本设备的类型,同现有技术相比较,本发明的技术效果在于:在没有改变USB设备的使用性能前提下,高速USB设备和低速USB端口的主机连接时,高速USB设备将自身报告为低速的USB设备;高速USB设备和高速USB端口的主机连接时,高速USB设备将自身报告为高速的USB设备。例如,USB2.0设备在USB1.1主机下使用时,USB2.0设备将自身报告为USB1.1的设备,USB2.0设备在USB2.0主机下使用时,则报告为USB2.0的设备。所以,本发明方法由于令USB2.0设备在USB1.1主机下使用时报告为USB1.1的设备,而使得主机在WinXP的系统下不再出现信息提示框,为用户使用带来了方便。
附图说明
图1是本发明方法的工作流程示意图;
具体实施方式以下结合附图所示之最佳实施例作进一步详述。
本发明USB协议自适应方法,根据主机当前运行USB协议类型来报告USB设备类型,以低速USB协议类型是USB1.1协议,高速USB协议类型是USB2.0协议,USB设备为USB闪存盘为例,包括以下步骤:
①USB闪存盘插入USB主机端口,该USB主机发送请求设备描述的命令,通过读取USB闪存盘模式寄存器来判断所述USB主机当前运行的USB协议;
②无论USB设备是USB1.1设备还是USB2.0设备,如果所述USB主机当前运行的USB协议为USB1.1协议时,设备描述符中报告所述USB闪存盘为USB1.1闪存盘;如果所述USB主机当前运行的USB协议为USB2.0协议时,设备描述符中报告所述USB闪存盘为USB2.0闪存盘;
③所述USB主机发送分配设备地址的命令,所述USB闪存盘接收该地址并设置该唯一地址;
④所述USB主机发送请求配置描述的命令,通过读取所述USB闪存盘模式寄存器来判断所述USB主机当前运行的USB协议;
⑤如果所述USB主机当前运行的USB协议为USB1.1协议时,描述符中包大小的字段内容为64B;如果所述USB主机当前运行的USB协议为USB2.0协议时,描述符中包大小的字段内容为512B。
具体实施步骤如图1所示:
(1)设备插入到主机USB端口。
(2)设备硬件与主机之间通信后,分别判断设备和主机的协议类型,并配置USB模式寄存器,此步骤完全为硬件行为,不涉及软件控制。
(3)主机发送请求设备描述符的命令,并等待设备应答。该命令字为:80 06 00 01 00 0028 00。
(4)设备收到命令后,判断USB模式寄存器中的协议类型。
(5)接步骤(4),如果协议类型为USB1.1,应答该命令,报告设备为USB1.1的设备。设备描述符字为:12 01 10 01 00 00 00 40 d8 0d 02 c0 00 01 01 02 03 01。
(6)接步骤(4),如果协议类型为USB2.0,应答该命令,报告设备为USB2.0的设备。设备描述符字为:12 01 00 02 00 00 00 40 d8 0d 02 c0 00 01 01 02 03 01。
(7)主机收到该应答后,发送设置地址命令,为该设备配置唯一的地址。
(8)设备配置地址。
(9)主机发送请求配置描述符的命令,并等待设备应答。该命令字为:80 06 00 02 00 0020 00
(10)设备收到命令后,判断USB模式寄存器中的协议类型。
(11)接步骤(10),如果协议类型为USB1.1,应答该命令,报告传输包的大小为64Bytes。配置描述符字为:09 02 20 00 01 01 00 80 fa 09 04 00 00 02 08 06 50 00 07 05 02 0240 00 07 05 82 02 40 00 00。
(12)接步骤(10),如果协议类型为USB2.0,应答该命令,报告传输包的大小为512Bytes。配置描述符字为:09 02 20 00 01 01 00 80 fa 09 04 00 00 02 08 06 50 00 07 05 02 0200 02 07 05 82 02 00 02 00。
按照以上步骤,在没有改变USB设备的使用性能前提下,可以令USB2.0设备在USB1.1主机下使用时报告为USB1.1的设备,从而使得主机在WinXP的系统下不再出现“如果您将此USB设备连接到高速USB2.0端口,可以提高其性能”信息提示框,为用户使用带来了方便。
Claims (3)
1.一种USB协议自适应方法,其特征在于:根据主机当前运行USB协议类型来报告USB设备类型,包括以下步骤:
①USB设备插入USB主机端口,该USB主机发送请求设备描述的命令,通过读取USB设备模式寄存器来判断所述USB主机当前运行的USB协议;
②无论USB设备是高速类型还是低速类型,如果所述USB主机当前运行的USB协议为低速USB协议类型时,设备描述符中报告所述USB设备为低速USB设备;如果所述USB主机当前运行的USB协议为高速USB协议类型时,设备描述符中报告所述USB设备为高速USB设备;
③所述USB主机发送分配设备地址的命令,所述USB设备接收该地址并设置该唯一地址;
④所述USB主机发送请求配置描述的命令,通过读取所述USB设备模式寄存器来判断所述USB主机当前运行的USB协议;
⑤如果所述USB主机当前运行的USB协议为低速USB协议类型时,设备描述符中包大小的字段内容为低速USB协议类型传输包的大小;如果所述USB主机当前运行的USB协议为高速USB协议类型时,设备描述符中包大小的字段内容为高速USB协议类型传输包的大小;
上述高速USB设备定义为:USB设备相对与其连接的USB主机类型为高;上述低速USB设备定义为:USB设备与其连接的USB主机类型相同。
2.如权利要求1所述的USB协议自适应方法,其特征在于:当所述低速USB协议类型是USB1.1协议,高速USB协议类型是USB2.0协议时,步骤②相应为:
当USB设备是USB2.0设备,如果所述USB主机当前运行的USB协议为USB1.1协议时,设备描述符中报告所述USB设备为USB1.1设备;如果所述USB主机当前运行的USB协议为USB2.0协议时,设备描述符中报告所述USB设备为USB2.0设备;步骤⑤相应为:
当USB设备是USB2.0设备,如果所述USB主机当前运行的USB协议为USB1.1协议时,设备描述符中包大小的字段内容为64B;如果所述USB主机当前运行的USB协议为USB2.0协议时,设备描述符中包大小的字段内容为512B。
3.如权利要求1所述的USB协议自适应方法,其特征在于:所述USB设备为USB闪存盘。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101212709A CN1987843B (zh) | 2005-12-23 | 2005-12-23 | Usb协议自适应方法 |
HK07113975.5A HK1109469A1 (en) | 2005-12-23 | 2007-12-20 | A usb protocol self-adjusting method usb |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101212709A CN1987843B (zh) | 2005-12-23 | 2005-12-23 | Usb协议自适应方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1987843A CN1987843A (zh) | 2007-06-27 |
CN1987843B true CN1987843B (zh) | 2010-08-11 |
Family
ID=38184642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005101212709A Active CN1987843B (zh) | 2005-12-23 | 2005-12-23 | Usb协议自适应方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1987843B (zh) |
HK (1) | HK1109469A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751115B (zh) * | 2008-12-22 | 2011-11-23 | 上海海事大学 | 一种解决dsp与低速输出设备数据传输匹配的方法 |
CN102156680B (zh) * | 2010-02-11 | 2015-09-30 | 爱国者电子科技有限公司 | 多种连接器的主机装置及传输数据方法和协议选择装置 |
CN102654851A (zh) * | 2011-03-03 | 2012-09-05 | 智微科技股份有限公司 | 存取装置与其方法以及usb3.0读卡机与其省电方法 |
CN103019979B (zh) * | 2011-09-27 | 2015-11-25 | 联想(北京)有限公司 | 通用串行总线主机、设备及信息传输方法 |
KR101969726B1 (ko) * | 2012-05-02 | 2019-04-17 | 삼성전자주식회사 | 범용 직렬 버스 호스트 식별 방법 및 그 전자 장치 |
US9081705B2 (en) * | 2013-06-11 | 2015-07-14 | Apple Inc. | Methods and apparatus for reliable detection and enumeration of devices |
TWI530799B (zh) | 2013-11-28 | 2016-04-21 | 慧榮科技股份有限公司 | 應用於通用串列匯流排裝置的頻率校正方法及其相關的通用串列匯流排裝置 |
TWI533136B (zh) | 2013-12-05 | 2016-05-11 | 慧榮科技股份有限公司 | 應用於通用串列匯流排裝置的頻率校正方法及其相關的通用串列匯流排裝置 |
CN106021135A (zh) * | 2016-05-04 | 2016-10-12 | 青岛海信电器股份有限公司 | 智能终端中显示通用串行总线设备的方法及智能终端 |
CN106093961A (zh) * | 2016-05-30 | 2016-11-09 | 天水师范学院 | 一种基于fpga激光测速仪的信号处理系统及方法 |
GB2555899A (en) * | 2016-08-08 | 2018-05-16 | Cirrus Logic Int Semiconductor Ltd | Communication protocol adapter |
US10515025B2 (en) | 2016-08-08 | 2019-12-24 | Cirrus Logic, Inc. | Communication protocol adapter |
CN108132899A (zh) * | 2016-12-01 | 2018-06-08 | 中兴通讯股份有限公司 | 一种传输模式配置方法、装置及系统 |
CN109032831A (zh) * | 2018-08-30 | 2018-12-18 | 中新工程技术研究院有限公司 | 一种usb设备识别错误自动校正的方案 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1542630A (zh) * | 2003-04-30 | 2004-11-03 | 日商.c原科技股份有限公司 | 通用串行总线存储装置和控制装置 |
CN1645853A (zh) * | 2004-01-20 | 2005-07-27 | 三星电子株式会社 | 在移动终端与个人计算机之间进行数据通信的方法 |
-
2005
- 2005-12-23 CN CN2005101212709A patent/CN1987843B/zh active Active
-
2007
- 2007-12-20 HK HK07113975.5A patent/HK1109469A1/xx unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1542630A (zh) * | 2003-04-30 | 2004-11-03 | 日商.c原科技股份有限公司 | 通用串行总线存储装置和控制装置 |
CN1645853A (zh) * | 2004-01-20 | 2005-07-27 | 三星电子株式会社 | 在移动终端与个人计算机之间进行数据通信的方法 |
Also Published As
Publication number | Publication date |
---|---|
HK1109469A1 (en) | 2008-06-06 |
CN1987843A (zh) | 2007-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1987843B (zh) | Usb协议自适应方法 | |
US8977793B2 (en) | Determining extended capability of a channel path | |
CN101350001B (zh) | 数据共享及传输的系统及方法 | |
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
AU2006222461B2 (en) | Method and apparatus for improving the performance of USB mass storage devices in the presence of long transmission delays | |
US20100115200A1 (en) | Method for communication with a multi-function memory card | |
US7568053B2 (en) | USB composite device, USB communication system, and USB communication method | |
KR20070090827A (ko) | 인터페이스 회로, 이 인터페이스 회로를 이용한 시스템장치 및 데이터 인터페이스 방법 | |
US20060095625A1 (en) | Integrated circuit capable of assigning a unique identity to ATA/ATAPI devices | |
US20060064568A1 (en) | Integrated circuit capable of mapping logical block address data across multiple domains | |
US8589607B1 (en) | Methods and structure for hardware management of serial advanced technology attachment (SATA) DMA non-zero offsets in a serial attached SCSI (SAS) expander | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
EP1516261A2 (en) | Bus system, station for use in a bus system, and bus interface | |
KR20060130664A (ko) | Pci 익스프레스 장치, pci 익스프레스 시스템 및정보 통신 방법 | |
CN112347017A (zh) | Lpc总线接口的ps/2键盘双机外挂系统和切换方法 | |
US20120084485A1 (en) | Usb transaction translator and an isochronous-in transaction method | |
US9122806B2 (en) | SATA data appliance for providing SATA hosts with access to a configurable number of SATA drives residing in a SAS topology | |
CN117971135B (zh) | 存储设备的访问方法、装置、存储介质和电子设备 | |
CN109299025A (zh) | 一种后端存储设备的管理方法、装置、设备以及存储介质 | |
CN104156761A (zh) | 身份证数据传输系统及方法 | |
CN103902491B (zh) | 一种基于usb的高速数据传输设备及方法 | |
CN105022705B (zh) | 一种设备间的数据共享的方法及装置 | |
CN115033518A (zh) | 一种基于otg控制器的usb协议数据通信方法 | |
US7549006B2 (en) | Structure of object stacks for driver | |
TWI416133B (zh) | 讀卡器測試治具及讀卡器測試方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1109469 Country of ref document: HK |
|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1109469 Country of ref document: HK |