阅读:2091回复:8
为什么总线供电的USB2.0设备会被系统识别为USB1.1设备?
我的系统环境:C800,VIA694,256M,+ USB2.0卡,WinXp
使用的芯片为cy7c68013,如果使用总线供电,则系统会提示说:一个高速设备接入,但是系统没有高速USB控制器,设备会降低工作速度。 而且,经常不能成功识别,系统会说:插入的设备工作不正常。 但是如果使用外部电源供电,则一切正常。 我买了一个USB2.0的硬盘盒,发现,如果先打开USB盒的电源,再联USB线,则设备以USB2.0枚举;反过来,如果先联上USB线,再打开USB盒的电源,则系统会提示没有高速USB控制器。 这是为什么?我刚才看了一张USB2.0开发板的图片,没有发现外接电源插头,应该是使用总线供电,也应该可以正常工作,但为什么我的就不行?是因为我的USB2.0卡问题? |
|
最新喜欢:worldw...
|
沙发#
发布于:2004-01-02 16:44
我很菜。
以下意见只是个人看法。仅供参考。 看上去应该是你的主板不支持USB2.0 USB设备的电源都是先供电后驱动管理。如果主板的USB控制器不支持2。0那应该就不能正确给USB设备供电。设备的驱动自然也要出问题。 如果采用的是外部电源供给,应该就是直接进入驱动状态也就不需要再让USB控制器去分配电源。这样设备就能正常工作。 PS:刚看了一两天USB的资料,没接触过。说错了的话,请见谅 |
|
|
板凳#
发布于:2004-01-03 09:21
我想你的usb卡应该没问题,是不是你如果不接外接电源,则采用总线供电,但是你的设备(比较多)要求的额定电流超过了usb控制器所能提供的最大电流(好象是100ma),所以枚举无法通过。如果先加电源的话,那采用外部电源供电,则没有电流限制这问题,枚举正常。而usb开发板由于上面器件少,完全可以通过总线供电的方式获得所需电流,而枚举成功。
[编辑 - 1/3/04 by xiebintj] [编辑 - 1/3/04 by xiebintj] |
|
地板#
发布于:2004-01-03 09:25
还有一种可能,如二楼说的有可能是你的主板不支持usb2。0
|
|
地下室#
发布于:2004-01-03 15:21
是因为供电问题,刚开始枚举时主机只能提供100mA的电流,此时你不能让所有的器件都工作,只能让68013工作,等枚举完成,申请到500mA电流后其它的器件才能工作,附件讲的是68013使用总线供电的情况,你可以参考一下。
|
|
|
5楼#
发布于:2004-01-05 08:51
我很菜。 我的主板确实不支持2.0,但是我买了一块PCI插槽的USB2.0卡,就可以支持2.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一个芯片供电)。 |
|
|
7楼#
发布于:2004-01-05 14:35
我给你的那个文档你再仔细看看,在初步枚举时68013需要大约70mA的电流,固化的固件是能够正常工作的,除非你使用了gpif等端口,在没下载你的固件之前枚举成1.1的设备没关系,你要在你的固件里申请大于100mA的电流,在重枚举时就会重新识别成2.0的设备。
之所以会这样是因为刚开始68013需要70mA左右的电流,这是后内部的51以及高速收发器还没有工作,当它们工作时需要的电流就大于100mA了,典型值时200mA,因此在你的固件设置里必须申请大于100mA的电流才行,具体只看实际情况。。 |
|
8楼#
发布于:2004-01-05 14:42
我给你的那个文档你再仔细看看,在初步枚举时68013需要大约70mA的电流,固化的固件是能够正常工作的,除非你使用了gpif等端口,在没下载你的固件之前枚举成1.1的设备没关系,你要在你的固件里申请大于100mA的电流,在重枚举时就会重新识别成2.0的设备。 谢谢,我再试一下。 |
|
|