阅读:3659回复:22
usbn9604问题,急!
我用的是usbn9604,在初始化完成后主机找到设备,但是板卡并没有收到主机发的setup包,这是什么原因?
有时intr脚始终为低电平,中断程序不能再次响应。 有没有人碰到过类似问题,怎么解决的? 或者能不能提供初始化这一部分的源代码,可以写信给我,有重谢!sunzheng@ri.gdt.com.cn,或直接和我联系,010-64982299-6533(孙) 万分感激!!! |
|
最新喜欢:![]()
|
沙发#
发布于:2001-09-24 08:19
问题终于解决了!
原来在setaddress的时候0x0080写成0x0008了,结果没有了地址。 怎么犯了这样的错误!!!唉,一个多星期的时间都浪费在别的地方了,现在只想睡觉。 |
|
|
板凳#
发布于:2001-09-20 21:51
现在找到一点点规律:
如果在初始化后加一定延时,时间较短则只能收到reset包、较长则只能收到setup包。为什么? reset信号要在2.5us内被识别并在5.5us内解释它是什么意思?是芯片识别给我一个中断,还是我得到中断后要在2.5us(5.5us)内进入reset状态? |
|
|
地板#
发布于:2001-09-20 17:51
而且9604支持5v和3.3v电源,倒是我用的dsp可能会有问题。只是为什么总是第二包发不上去?
|
|
|
地下室#
发布于:2001-09-20 17:44
晶振的波形非常好,读写信号的波形也一样好。
|
|
|
5楼#
发布于:2001-09-20 17:42
我不行了!
有没有人能解决这个问题,在北京最好,可以看看实际情况,我愿意付报酬。在这样下去十一都没法过了。 电话详谈:010-64982299-6533(孙先生) WXDiablo@263.net |
|
|
6楼#
发布于:2001-09-20 17:01
你查看一下9604的晶振幅度对不对。最好用有源的试一下。
|
|
7楼#
发布于:2001-09-20 16:19
是啊!
我一步步的按它的程序走,连中间读过的寄存器都一个也没放过。 |
|
|
8楼#
发布于:2001-09-20 10:28
用DSP的话,你必须将示例读懂后,参照他的步骤格式写,我想应该可以,我没用DSP写过。
|
|
9楼#
发布于:2001-09-19 19:21
现在我焊了两块板,同样的程序包起来效果不一样。
一块不断的收到reset包,收不到setup包。 一块只能收到setup包,没有reset包,而且只能用data1回8bytes!!! |
|
|
10楼#
发布于:2001-09-19 11:10
不是我不想用c,原来用cypress的使用c,现在用dsp没有c的开发包。
我快被n多的判断搞定了!!! |
|
|
11楼#
发布于:2001-09-19 09:53
送完DATA1后,有没有寄存器必须要读,才可以发DATA0?
|
|
|
12楼#
发布于:2001-09-19 09:36
study:
最好用c写,如一定用汇编请参考示例的格式步骤,向你这样写是不行的。 |
|
13楼#
发布于:2001-09-18 22:23
我的9603也收不到setup包,有那位兄弟愿意和我讨论一下?
|
|
|
14楼#
发布于:2001-09-18 15:12
程序我看了,确实是1、0、1、0、1....交替
可是我试了,不行! 我使用汇编,在用data1送完8bytes后检查tcs0寄存器,发现主机已将fifo0中的数据取走,ack位也为1,接着用data0送8bytes后,检查tsc0,主机不取数。why??? 那个c的例子是在rx0的setup事件中送8bytes,送完后产生了tx0事件,进入tx0中断后再发送余下的字节。 这样有什么不同,难道主机每收8bytes都会向设备发请求?收到后再接着发? |
|
|
15楼#
发布于:2001-09-18 14:35
study:
你应看一下NS提供的示例程序(C51),按着示例的格式写。 我记得返回的PID应是101...,望与你共同讨论。 |
|
16楼#
发布于:2001-09-18 14:17
我用的cpu比较快,加了最大的等待周期(可能不需要)和较长的延时(初始化usbn9604后)。
看些一写的是:data1、data0、data1.......可是这样第二包就不取了 我用:data0、data0、data1主机倒是都拿走了,可是不应该这样,谁遇到过。 |
|
|
17楼#
发布于:2001-09-18 13:02
study,问题解决了?第一个字节长度位应该包含本字的。
怎么我还是收不到setup包??你的问题怎么解决的? |
|
18楼#
发布于:2001-09-18 12:25
setup包已经收到
80 06 00 01 00 00 40 00 可是在回信的时候应该先使用data0还是data1? 我先用data0回信8byte,再用data1 8byte,第三包data0 2byte. 可是第三包主机总是不取走,为什么? 第一个字节长度位包含本字节吗? |
|
|
19楼#
发布于:2001-09-18 11:02
[QUOTE]原本由 dahello 发表
[B]主机的第一个包好像是 80060001001200,是不是你处理的顺序不对,总线枚举过程都对吗? [/B][/QUOTE] 请问dahello :80060001001200是什么?为什么我一旦把usb线接上pc总是不断收到reset信号,除此之外什么包也没有,处理顺序不对?正常的顺序是什么?没有收到setup包,枚举过程根本无法开始。 |
|
上一页
下一页