hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2954回复:16

高速的设备为何被主机识别为全速?(主机为高速)

楼主#
更多 发布于:2004-12-23 16:19
在调试2272的时候已经能够正常的工作与全速模式,但不知道如何进入高速模式?
协议上说实在reset的时候确定设备的速度的,但枚举实在全速模式下进行的呀?枚举完毕后就发送SCSI命令,进行全速模式的BulkOnly传输啦,什么时候进入高速模式????
急呀,请高手指点
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-24 08:54
那位大哥能指点一二?
bengbengsnake
驱动牛犊
驱动牛犊
  • 注册日期2002-05-31
  • 最后登录2005-05-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-24 09:38
reset以前没有枚举的。
reuterk
驱动牛犊
驱动牛犊
  • 注册日期2004-12-24
  • 最后登录2005-02-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-24 10:30
重新安装usb2.0驱动和cypress那个东东,或者其中之一,尤其前者
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-24 12:57
我的主机是用的2000,但我装了usb驱动了,2000能识别高速的移动硬盘呀,
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-24 13:03
对呀,设备插入后,根hub就对它reset这个时候如果是高速设备就会chrip J,如果根hub响应了,说明根hub支持2.0高速模式,如果根hub没有对设备发出的信号作出响应,则设备就工作在全速模式

我的问题是:
1,reset后面的枚举是工作在全速模式的(不管该设备是否被识别为高速模式与否)?
2,什么时候真正进入高速模式运行?
望指点小弟,谢过
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2004-12-24 16:31
我感觉应该是从刚开始,确认有设备插进来就决定它是高速还是低速。应该在枚举之前

reuterk
驱动牛犊
驱动牛犊
  • 注册日期2004-12-24
  • 最后登录2005-02-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-24 17:38
68013在枚举由全速到高速的时候会产生一个中断,在firmware中可以看到描述表在那个中断中被切换到了高速usb的描述处,也就是说,在68013没有转换到高速之前,主机是不知道它的高速配置的,因而主机不会载入高速驱动。

因此,这里有两种可能使得68013没有枚举成高速:
1.68013内部没有产生全速转高速的中断(是usb总线的缘故还是firmware的原因?)
2.主机上usb hub没有产生让68013成为高速设备的条件

如果原因是1,建议将mcu中的源程序重新建立一个项目编译下载。本人碰到几次都是cypress提供的源程序keil c版本原因,重新编译后正常。
如果是原因2,就是重新安装usb2.0驱动(不是cypress的),本人最近的一次是这个原因
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-27 10:38
reuterk:先感谢你的回答!
我的主机好像是能识别2.0高速模式,因为插入的移动硬盘是工作在高速模式的,
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-12-27 10:44
对了,我还有一点不明白:
1,就是如果被根hub识别为高速设备的话,那该设备立即进入高速模式?
2,后面的枚举也是在高速模式下进行的?
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-12-27 13:23
USB HOST识别高速设备的过程是这样的:
首先,当设备插入后,识别到有设备连接,HOST发送一个RESET信号给
HUB,强制设备RESET.
然后,HOST通过D+,D-线上的上下拉电阻识别设备是高速(2.0)设备还
是低速(1.1或1.0)设备.如果是高速设备,HOST发送一个高速信号,通
知设备进入高速环境.(这些你可以通过调试接口芯片,查看中断源得
到)
你可以调试一下你的硬件,看看它在收到高速信号后是否将设备环境
转换到高速了,包括端点缓冲大小,描述符设置等等.
新手上路,请多关照.
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-12-29 09:35
首先谢谢metalwing的回贴,我大概知道了如何识别高速的过程了
1,设备插到hub上,被主机轮询到后,host要求设备reset
2,就是在reset过程中,如果设备支持高速的话会发送一个chrip k信号
3,如果hub也支持高速的话,该hub就会回应6个jk序列,设备收到这序列后,就确认上游的hub是支持高速模式的,所以设备的速度由全速提升为高速.
是这样的吧??
现在的问题是:
1,我测试了,主机和hub确实是支持高速的(因为挂上高速的移动硬盘能识别,传输速率在15mbyte/s).但我的2272插进去后,仍旧工作在全速模式.
说明问题出现在设备端,而且可以确定是硬件电路的毛病(因为复位的时候驱动程序还没有开始工作),但我不知道最有可能是什么地方出了毛病?那位调试过2.0的指点一下?
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-12-29 09:39
我已经把连接到D+D-线上的滤波电容去掉了,
对了还有个问题,插入后D+线上的波形很难捕获,有没有好的调试方法?
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-12-30 09:48
那位搞过2.0的大侠给小弟指点一下迷津吧.随便说说也行!!
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-12-31 12:13
呵呵,搞定啦,
reuterk
驱动牛犊
驱动牛犊
  • 注册日期2004-12-24
  • 最后登录2005-02-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-01-04 09:27
原因呢?说来听听
hooligan686
驱动牛犊
驱动牛犊
  • 注册日期2004-05-06
  • 最后登录2009-11-18
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-01-04 11:17
具体原因正在研究中,
可能是阻抗不匹配,因为我原来的D+D-线上分别串连了1个22欧姆的电阻,但全速模式确实需要这两个电阻,而高速则不然.
游客

返回顶部