USB协议自适应方法技术

技术编号:2841266 阅读:183 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种USB协议自适应方法,根据主机当前运行USB协议类型来报告USB设备类型,具体包括以下步骤:USB设备插入USB主机端口,该USB主机发送请求设备描述的命令,通过读取USB设备模式寄存器判断所述USB主机当前运行的USB协议;如果当前运行的协议为低速USB协议时,设备描述符中报告USB设备为低速USB设备;如果USB主机当前运行的USB协议为高速USB协议时,设备描述符中报告USB设备为高速USB设备。本发明专利技术的技术效果在于:用户将高速USB设备连接到低速USB的主机端口时,主机在WinXP的系统下不再出现“如果您将此USB设备连接到高速USB2.0端口,可以提高其性能”的提示,为用户使用带来了方便。

【技术实现步骤摘要】

本专利技术涉及数字数据处理方法,特别是涉及插接到主机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本文档来自技高网
...

【技术保护点】
一种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主机类型相同。...

【技术特征摘要】
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协议类型时,描述符中...

【专利技术属性】
技术研发人员:罗培彬
申请(专利权)人:深圳市朗科科技股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1