leadphone
驱动牛犊
驱动牛犊
  • 注册日期2002-11-28
  • 最后登录2008-09-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1013回复:2

求救:为什么我的usb芯片所有寄存器配置好之后却一直收不到中断???

楼主#
更多 发布于:2002-12-13 11:33
usb芯片为自供电,attach node以后使其进入suspend状态,以等待usb bus上的信号来唤醒(唤醒后开始枚举)。各个寄存器应该都设对了,但是不管是接上usb电缆还是host端刷新硬件,usb这边都收不到任何中断!!!!
已经卡在这里好久了,哪位能帮帮我呀?我用的是usbn9603。
leadphone
驱动牛犊
驱动牛犊
  • 注册日期2002-11-28
  • 最后登录2008-09-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-13 16:39
以现在的情况分析,系统应该是没有发现设备,因为host连着三次get descriptor以后就停止了(没收到数据)。

硬件设计是希望通过插进usb电缆来使usb device接受到host发出的中断,然后usb device进入operate state(否则处于suspend state)。

执行的顺序是外设开机,usb执行usb_init(),对各个寄存器进行设置(实在找不出这里面哪里出错了),执行attach node这一步的时候会收到host的alt event,此alt event为reset或者sd3,sd5,执行后进入operate state或者suspend state,到这里usb_init()执行完毕。外设继续运行系统。
接下来在需要使用usb的时候插入usb电缆,这时按道理应该接受到host触发的中断以接受其发出的setup包,然后进行get descriptor等枚举步骤。。。握手。。。进入工作状态。。。

但是现在的现象是usb_init()执行完毕,attach node时收到alt event,usb_init()执行完毕后进入operate或者suspend state,这时插入usb电缆,外设接收不到任何中断、不做任何处理,在我的电脑设备属性中usb项中显示:unknown usb device,删除掉它刷新,外设也收不到中断。bus hound中显示host发了三个get descriptor,然后停止了。

以上说的大家明白了吗???

另外我想问一下,bus hound里host发的class是什么意思??

大侠们快来帮帮我吧!!!!!
 :( :( :( :( :(
Jkw_Dev
驱动中牛
驱动中牛
  • 注册日期2002-11-03
  • 最后登录2014-11-28
  • 粉丝0
  • 关注0
  • 积分82分
  • 威望28点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-13 16:07
你说一下具体问题在那里,比如系统发现USB没有等等情况。大家才好分析呀!
游客

返回顶部