Usb协议自适应方法

文档序号:6650530阅读:375来源:国知局
专利名称:Usb协议自适应方法
技术领域
本发明涉及数字数据处理方法,特别是涉及插接到主机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端口,可以提高其性能”信息提示框,为用户使用带来了方便。
权利要求
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设备是USB1.1设备还是USB2.0设备,如果所述USB主机当前运行的USB协议为USB1.1协议时,设备描述符中报告所述USB设备为USB1.1设备;如果所述USB主机当前运行的USB协议为USB2.0协议时,设备描述符中报告所述USB设备为USB2.0设备;步骤⑤相应为如果所述USB主机当前运行的USB协议为USB1.1协议时,描述符中包大小的字段内容为64B;如果所述USB主机当前运行的USB协议为USB2.0协议时,描述符中包大小的字段内容为512B。
3.如权利要求1所述的USB协议自适应方法,其特征在于所述USB设备为USB闪存盘。
全文摘要
本发明涉及一种USB协议自适应方法,根据主机当前运行USB协议类型来报告USB设备类型,具体包括以下步骤USB设备插入USB主机端口,该USB主机发送请求设备描述的命令,通过读取USB设备模式寄存器判断所述USB主机当前运行的USB协议;如果当前运行的协议为低速USB协议时,设备描述符中报告USB设备为低速USB设备;如果USB主机当前运行的USB协议为高速USB协议时,设备描述符中报告USB设备为高速USB设备。本发明的技术效果在于用户将高速USB设备连接到低速USB的主机端口时,主机在WinXP的系统下不再出现“如果您将此USB设备连接到高速USB2.0端口,可以提高其性能”的提示,为用户使用带来了方便。
文档编号G06F13/42GK1987843SQ200510121270
公开日2007年6月27日 申请日期2005年12月23日 优先权日2005年12月23日
发明者罗培彬 申请人:深圳市朗科科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1