qiuhua
驱动牛犊
驱动牛犊
  • 注册日期2004-04-19
  • 最后登录2007-11-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2004-08-19 09:43
to jimduan
你的情况我觉得会是硬件连接的问题。因为我soft connect之后完全没有做任何动作,就可以轻易收到get descriptor。我的硬件连接是DMACK_N、EOT_N接Vcc,SUSPEND接GND,D+、D-和ZLG的板子接得是一样的,D12_INT有10K上拉。注意D12_INT是open drain,必须上拉。其他没有什么特别。建议检查D12_INT脚。还有,我测试的时候这样做:先关掉任何中断,单片机初始化之后,单步运行1、soft connect;2、马上读中断寄存器,读出来的是0xC1;3、连续读控制输出缓冲的N个字节,读出来的就是C0 08 80 06 00 01 00 00 40 00。我建议,你看看按照这样做能不能成功。

to metalwing
我肯定数据没有被发送出去,正在找原因。还有,对于D12来说,总线复位的确可以不作任何处理,读中断寄存器之后返回就可以了。soft connect不会改变,读中断寄存器后INT会自动变高。


[编辑 -  8/17/04 by  LikeDDK]



To LikeDDK;

我觉得你板子的问题和我一样。总是有get descriptor 命令过来,我的程序也进入中断读过。并且转到chap-9程序中执行get-decriptor的程序,发送相关的描述符。可奇怪的是,我用示波器检查,只发现主机给我的信号,却没有d12往主机回的数据。
LikeDDK
驱动牛犊
驱动牛犊
  • 注册日期2001-09-30
  • 最后登录2004-11-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2004-08-19 13:19
To LikeDDK;

我觉得你板子的问题和我一样。总是有get descriptor 命令过来,我的程序也进入中断读过。并且转到chap-9程序中执行get-decriptor的程序,发送相关的描述符。可奇怪的是,我用示波器检查,只发现主机给我的信号,却没有d12往主机回的数据。


相同问题,望多交流!那你解决了吗?我已经好几天没有进展了。说说我的操作:接收到Get Descriptor之后,1、ACK EP0;ACK EP1;2、写EP1缓冲16Bytes;3、向EP1发0xFA,使能EP1。我觉得,如果成功的话应该可以收到一个EP1发送成功的中断,以便发送剩余的描述符,但是此中断没有到达。

[编辑 -  8/19/04 by  LikeDDK]
qiuhua
驱动牛犊
驱动牛犊
  • 注册日期2004-04-19
  • 最后登录2007-11-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2004-08-19 15:14
to likeddk


我都快被炒鱿鱼了。

你觉得你的硬件有问题吗?

我觉得硬件设计可能出现阻抗不匹配的情况,由于我仅仅是做固件的,不能说程序调不出来就是硬件的问题,但我始终有这样的猜测。因为我们的程序都是样板程序,有很多人用过,应该没问题的。

我芯片是菲利普的764


lhaih
驱动小牛
驱动小牛
  • 注册日期2004-04-28
  • 最后登录2007-10-19
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2004-08-20 10:41
我以前一插上设备,主机就会送get descriptor,可是现在,只有一堆class,  device里面只有root hub可以选。怎么回事呢。急!!
谢谢!
lhaih
驱动小牛
驱动小牛
  • 注册日期2004-04-28
  • 最后登录2007-10-19
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2004-08-20 11:03
关于clementzhao说的,设备没有接收到数据。会是什么原因呢。应该怎么解决。



jimduan
驱动牛犊
驱动牛犊
  • 注册日期2004-05-05
  • 最后登录2005-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2004-08-20 13:08
我放弃使用D12了,找到一个更好的方案。
www.ftdichip.com
egrias
驱动牛犊
驱动牛犊
  • 注册日期2004-06-23
  • 最后登录2009-02-26
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2004-08-23 17:03
有谁解决掉这个问题了吗?
我现在的硬件,读取chip id的时候能够正确返回0x1210;soft connect以后clock out是12M,应该说对d12的操作是正常的。但是使用bus hound看,主机GET DESCRIPTOR时就没有得到回应,我在isr中保存中断寄存器的值,前面的是0x40,最后是0x80,没有端点0的中断信号,下位机当然不会回应。我的PCB中,D+、D-分别有1M的上拉和下拉,然后经过18欧姆的电阻接到d12的D+、D-。该不会是线拉长的点信号不好吧?
leafage
驱动牛犊
驱动牛犊
  • 注册日期2004-06-07
  • 最后登录2010-03-04
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2004-08-23 18:19
D12成本不高,作USB1.1不错的阿
jimduan
驱动牛犊
驱动牛犊
  • 注册日期2004-05-05
  • 最后登录2005-03-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2004-08-24 05:12
找到我的第一个错误了,其实是编译器的毛病,我改成汇编后,成功通过。。。。
上一页 下一页
游客

返回顶部