这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ARM7,ISP1581 ARM7+ISP1581高速检测时列举始终不成功

共2条 1/1 1 跳转至

ARM7,ISP1581 ARM7+ISP1581高速检测时列举始终不成功

院士
2006-09-17 18:14:16     打赏
ARM7,ISP1581 ARM7+ISP1581高速检测时列举始终不成功



关键词: ISP1581     ARM7+ISP1581     高速         

院士
2006-12-22 22:43:00     打赏
2楼
问      我用ARM7+ISP1581,全速模式下已经跑通,列举成功,能正确收发数据。接入设备总线复位后,便有主机发来的高速检测请求中断,但列举不能成功。
  FS模式下列举时主机发送的请求按顺序如下:
    80 06 01 00 00 00 00 40      00 05 00 01 00 00 00 00
      80 06 01 00 00 00 00 12      80 06 02 00 00 00 00 09
      80 06 02 00 00 00 00 FF      80 06 03 00 00 00 00 FF
      80 06 03 02 04 09 00 FF      80 06 03 00 00 00 00 FF
      80 06 03 02 04 09 00 FF      80 06 02 00 00 00 03 E8
      00 09 00 01 00 00 00 00    80 06 01 00 00 00 00 12
  收到主机发来的高速检测请求中断后的列举过程少FS时的最后三个请求,即在取得string描述符后便不再发送setup请求包。主机这样重复几次后仍然如此,便进入全速列举过程。
  我的PCB中D+,D-两根线布得不好,直接飞线后才在全速模式下列举成功的,不知道这对高速的列举有没有影响(高速的列举也是在全速下进行的,所以觉得不太可能是这个问题)。
    在全速的成功列举中,我用BusHound仅抓到80 06 02 00 00 00 00 FF,其他都是get status,clear feature,set feature. 用USB Monitor也只能抓到最后三个请求信息get configuration descriptor,set configuration,get device descriptor.
    望那位高人指教!多谢! 1: 以前做过,很久了 2: 小弟入行不久,能给些建议吗? 3: 叫列举不大习惯,大家一般都用枚举。get status,clear feature,set feature 这些应该是对根集线器的操作。

你再仔细检查一下枚举过程以及数据,对照协议好好分析一下,看哪里错了没有。我还没搞过USB的HS,所以这个问题也不大清楚。估计是返回的数据错误了。 4: 哈哈 是应该叫枚举!    我是参照一个别人的MSP430+ISP1581进行移植的,在他的固件程序中FS和HS只有bulksize设置的不同,FS是64字节,HS是512字节,其他的在固件程序上都一样。我也觉得问题可能有两个:硬件布线的干扰(D+、D-线已经飞线了)、RREF管教的接法(现在接12K电阻后接AGND);固件程序中HS返回值不对,但我用了几个工具都不能完全抓到枚举的信息(用优盘试的时候好象可以抓到大多数信息)。 5: :)我用BusHound抓全速枚举成功的时候,就是在那些对根集线器的操作后有个Get Configuration (80 06 02 00 00 00 00 FF),其他的设备描述符都没有抓到。BusHound的Set Command我也感觉用的不太好,没有起到什么分析作用,可能还是自己不太会用吧。 6: 枚举都一样的吧最好还是在中断中完成枚举,如果你用os,且如果不是在中断中传输应该要关中断 7: :)我用了os,但USB目前是在单任务下跑的,应该没有中断的问题吧
而且我已经在FS下跑通了

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]