breeze_wang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-17
  • 最后登录2006-03-01
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望10点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1757回复:11

usb总线信号

楼主#
更多 发布于:2004-09-27 11:41
是否如果硬件电路设计没有问题,数据就应该发送到usb总线上,超时错误只是如果发送的有错误不回复而已。usb总线上都该有信号产生。
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-28 08:37
硬件要和固件搭配起来才行.
新手上路,请多关照.
breeze_wang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-17
  • 最后登录2006-03-01
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望10点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-28 09:05
就是说我如果发送的数据不正确(当然是在电源稳定,初始化、复位正确之后),usb总线上都不会有信号变化??
我想应该是有变化知识不回而已吧
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-28 14:37
应该有变化的,就算你不发送数据,每ms都会有一个桢起始信号的
用示波器看是一个脉冲
如果你发送的数据不正确,要看情况而定
如果设备不能接收数据,那么会有nak信号返回,这种信号用一般的示波器是看不到的
需要用协议分析仪才能看到,如果设备能接收数据,那你就能在d+线上看到方波,电压大约500mV左右,不管数据正不正确。

补充一下基本概念:
主机发送下传数据请求后,数据不会立即传到设备,而是host controller首先发送out令牌来查询设备是否能接收数据,如果不能就持续发in令牌,直到超时退出;如果设备可以接收数据,那么数据会跟在下一个out令牌之后发送到设备上。
breeze_wang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-17
  • 最后登录2006-03-01
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望10点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-28 15:07
楼上的高手,还是请问,我现在用分析仪得不到任何数据,最可能的原因是什么呢??
另外,像u盘那种全速设备是可以捕获到sof包的,但鼠标低速设备什么信号都没有得到.
最可能的原因是什么呢?setup包错误?但这样也应该有信号啊?硬件电路设计问题?会是这样吗?急等!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-28 16:40
那怎么可能呢?
枚举过程也没有吗?
是不是你的设备根本就没认出来啊!
breeze_wang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-17
  • 最后登录2006-03-01
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望10点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-28 16:44
枚举过程也没有,roothub信息获得正确,已经检测到有设备插入,并且是低速设备,但是在发送获取设备描述符的第一个setup包时即超时,usb总线上无任何数据。不知到底是软件还是硬件的原因
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-28 16:47
固件的问题.
新手上路,请多关照.
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-29 01:21
你用什么接口芯片?

因为USB使用半双工差动信号传输,要求slave方除了发送数据时,其他时间应该处于接收状态,只有这样,总线信号才会变化,否则会造成总线冲突。

如果你的接口芯片包含了大部分协议解析功能,那么也就自然包括了总线管理,不会出现上述问题(片子坏了例外)。如果是自己做协议解析吗....
呵呵
A strong man can save himself. A great man can save another.
breeze_wang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-17
  • 最后登录2006-03-01
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望10点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-09-29 09:23
就是说更大的可能还是软件上的处理出现问题了?
metalwing
驱动中牛
驱动中牛
  • 注册日期2003-10-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分178分
  • 威望58点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-09-29 09:36
对.
因为HOST能检测到设备,说明芯片一般没什么问题.而发送第一个命令
包超时,说明你的HOST第一个包发下去了,但设备没响应,那一般可能
是你的固件在命令解析上的问题.
新手上路,请多关照.
breeze_wang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-17
  • 最后登录2006-03-01
  • 粉丝0
  • 关注0
  • 积分66分
  • 威望10点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-09-29 14:49
楼上的兄台,固件没响应总线上会没有任何信号变化吗?
游客

返回顶部