huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2091回复:8

为什么总线供电的USB2.0设备会被系统识别为USB1.1设备?

楼主#
更多 发布于:2004-01-02 10:35
我的系统环境:C800,VIA694,256M,+ USB2.0卡,WinXp

使用的芯片为cy7c68013,如果使用总线供电,则系统会提示说:一个高速设备接入,但是系统没有高速USB控制器,设备会降低工作速度。
而且,经常不能成功识别,系统会说:插入的设备工作不正常。

但是如果使用外部电源供电,则一切正常。


我买了一个USB2.0的硬盘盒,发现,如果先打开USB盒的电源,再联USB线,则设备以USB2.0枚举;反过来,如果先联上USB线,再打开USB盒的电源,则系统会提示没有高速USB控制器。

这是为什么?我刚才看了一张USB2.0开发板的图片,没有发现外接电源插头,应该是使用总线供电,也应该可以正常工作,但为什么我的就不行?是因为我的USB2.0卡问题?

最新喜欢:

worldwarworldw...
好好学习,天天向上,做一个乖宝宝。
nicol
驱动大牛
驱动大牛
  • 注册日期2001-11-28
  • 最后登录2009-07-30
  • 粉丝0
  • 关注0
  • 积分45分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-02 16:44
我很菜。
以下意见只是个人看法。仅供参考。

看上去应该是你的主板不支持USB2.0

USB设备的电源都是先供电后驱动管理。如果主板的USB控制器不支持2。0那应该就不能正确给USB设备供电。设备的驱动自然也要出问题。
如果采用的是外部电源供给,应该就是直接进入驱动状态也就不需要再让USB控制器去分配电源。这样设备就能正常工作。

PS:刚看了一两天USB的资料,没接触过。说错了的话,请见谅
==寂寞骆驼==
xiebintj
驱动牛犊
驱动牛犊
  • 注册日期2003-08-25
  • 最后登录2008-07-16
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-03 09:21
我想你的usb卡应该没问题,是不是你如果不接外接电源,则采用总线供电,但是你的设备(比较多)要求的额定电流超过了usb控制器所能提供的最大电流(好象是100ma),所以枚举无法通过。如果先加电源的话,那采用外部电源供电,则没有电流限制这问题,枚举正常。而usb开发板由于上面器件少,完全可以通过总线供电的方式获得所需电流,而枚举成功。

[编辑 -  1/3/04 by  xiebintj]

[编辑 -  1/3/04 by  xiebintj]
xiebintj
驱动牛犊
驱动牛犊
  • 注册日期2003-08-25
  • 最后登录2008-07-16
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-03 09:25
还有一种可能,如二楼说的有可能是你的主板不支持usb2。0
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-03 15:21
是因为供电问题,刚开始枚举时主机只能提供100mA的电流,此时你不能让所有的器件都工作,只能让68013工作,等枚举完成,申请到500mA电流后其它的器件才能工作,附件讲的是68013使用总线供电的情况,你可以参考一下。
附件名称/大小 下载次数 最后更新
2004-01-03_FX2BusPower.pdf (204KB)  10
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-01-05 08:51
我很菜。
以下意见只是个人看法。仅供参考。

看上去应该是你的主板不支持USB2.0

USB设备的电源都是先供电后驱动管理。如果主板的USB控制器不支持2。0那应该就不能正确给USB设备供电。设备的驱动自然也要出问题。
如果采用的是外部电源供给,应该就是直接进入驱动状态也就不需要再让USB控制器去分配电源。这样设备就能正常工作。

PS:刚看了一两天USB的资料,没接触过。说错了的话,请见谅


我的主板确实不支持2.0,但是我买了一块PCI插槽的USB2.0卡,就可以支持2.0设备了。
好好学习,天天向上,做一个乖宝宝。
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-01-05 09:09
是因为供电问题,刚开始枚举时主机只能提供100mA的电流,此时你不能让所有的器件都工作,只能让68013工作,等枚举完成,申请到500mA电流后其它的器件才能工作,附件讲的是68013使用总线供电的情况,你可以参考一下。


因为我第一次做2.0的设备,所以我是分开做的,68013+3.3V LDO做在一块板子上,测试电路在另一块板子上,可以独立供电。

总线上我只连接了68013,没有其他的电路,您给的资料我简单的看了一下,还有待进一步消化,感觉是在软件上做的处理;但是现在的问题是:我使用的方法是通过总线下在我的固件,在刚把68013连接到总线时,此时我的固件还没有下载到68013,完全是它的固化程序在运行,如果外部供电,则识别为一个2.0设备,如果总线供电则识别为一个1.1设备(总线只给68013一个芯片供电)。
好好学习,天天向上,做一个乖宝宝。
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-01-05 14:35
我给你的那个文档你再仔细看看,在初步枚举时68013需要大约70mA的电流,固化的固件是能够正常工作的,除非你使用了gpif等端口,在没下载你的固件之前枚举成1.1的设备没关系,你要在你的固件里申请大于100mA的电流,在重枚举时就会重新识别成2.0的设备。
之所以会这样是因为刚开始68013需要70mA左右的电流,这是后内部的51以及高速收发器还没有工作,当它们工作时需要的电流就大于100mA了,典型值时200mA,因此在你的固件设置里必须申请大于100mA的电流才行,具体只看实际情况。。
huoxy
驱动小牛
驱动小牛
  • 注册日期2002-03-01
  • 最后登录2014-02-24
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-01-05 14:42
我给你的那个文档你再仔细看看,在初步枚举时68013需要大约70mA的电流,固化的固件是能够正常工作的,除非你使用了gpif等端口,在没下载你的固件之前枚举成1.1的设备没关系,你要在你的固件里申请大于100mA的电流,在重枚举时就会重新识别成2.0的设备。
之所以会这样是因为刚开始68013需要70mA左右的电流,这是后内部的51以及高速收发器还没有工作,当它们工作时需要的电流就大于100mA了,典型值时200mA,因此在你的固件设置里必须申请大于100mA的电流才行,具体只看实际情况。。


谢谢,我再试一下。
好好学习,天天向上,做一个乖宝宝。
游客

返回顶部