阅读:1786回复:13
USBN9604开发请教!
1、枚举和中断处理是两个先后的过程还是并行的过程?我理解的枚举过程是通过中断处理来进行的,pc通过endpoint0的各种中断来完成对usb设备的枚举过程。但是我参考着NS的FW demo程序做完初始化进入中断处理部分之后,收到的中断全部都是ALT事件中断,将ALT事件中断写完之后,仍然收到很多ALT中断,并且在处理ALT中断的程序中,我参考着demo程序的样子只写了处理RESET RESUME SD3 SD5的事件处理部分(DMA我不用),其他的事件就直接跳过不处理,这样有没有问题?
2、看了前面的帖子,里面说枚举过程中不断收到ALT中断是由于set address没有做好,还要发送一个空数据包。我的程序里只在初始化的时候给9604的FAR寄存器设了一个默认地址也就是00,demo里set address请求是在rx_event_handler里处理的,但是我的ALT中断没有处理完就收不到RX中断,这样岂不就是一个死循环了? 请高手们指教! |
|
沙发#
发布于:2004-05-27 10:32
我做出来的9604也是不停的进行ALT-RESET中断,我觉得应该是正常的。
PHILIPS的芯片好像就不存在这个问题。 建议你参考USBN9603Demo_Software包里的源程序,不要参考USBeval9602的那个源程序 |
|
板凳#
发布于:2004-05-27 11:11
我看的就是这个USBN9603Demo_Software.V.01包里的代码。
但是至于不停地ALT中断怎么办啊,枚举过程不就不能继续下去了? |
|
地板#
发布于:2004-05-27 14:50
现在搞得更清楚了,我的板子(我写的接口是放在FPGA里跟9604通信的)加电之后就一直来ALT中断,根本没有TX和RX中断来,而ALT中断的处理部分完全是按照demo程序里改过来的,这样我的枚举过程该怎么进行下去啊?
|
|
地下室#
发布于:2004-05-27 15:40
那就是你的 程序可能有问题了。
一般进行几次ALT中断后,就会进入RX中断的。 在USBN9604中ALT中断主要处理系统的reset,wakeup,SD3,RESUME,SD5等事件。 既然你的程序已经进入了ALT中断,那么说明中断是正常的,仔细看看alt中断的处理程序,最好能把中断寄存器,ALTEV寄存器的值,以及相关的一些内容打印出来看看。 |
|
5楼#
发布于:2004-05-27 16:09
多谢回复。
我对ALT中断的处理完全是按照demo程序里来的,收到的ALT事件也就是RESET和WKUP这两个,但是程序里对WKUP事件没有响应的处理,datasheet上说要对WKUP寄存器做些操作,我再试试看好了。 |
|
6楼#
发布于:2004-05-27 22:01
还是不行....我把ALT中断都处理过了,但是还是不断地收到ALT中断,根本没有RX和TX,枚举进行不下去...
|
|
7楼#
发布于:2004-05-28 10:31
因为不知道你的其他的详细的设计情况,所以也很难进行分析。
给你些测试的建议看看吧: 1。用示波器测试确实是不停的在发中断。 2。有时ALT中断会很多的,要等的足够耐心。 3。rx tx的中断的是不是已经打开了,查看一下usbn9604的中断屏蔽寄存器和各种事件寄存器的设置是不是正确。 我只能建议这么多了。 如果还不行,把你的详细的代码发给我看看。 当时我调USBN9604的时候,在ALT这个地方,也堵了一下。在耐心些吧。 |
|
8楼#
发布于:2004-05-28 10:43
1、中断来的频率是70k
2、一直是ALT,没有其他的;而且ALT事件里都是RESET和WKUP事件 3、寄存器设置完全是按照NS的demo程序来的 我是在FPGA上做一个和9604的接口,代码是用verilog写的,发到你信箱里了,多谢! |
|
9楼#
发布于:2004-05-28 14:44
标准设备请求都是要通过RX、TX事件才能完成的吧?我现在只收到ALT事件,枚举就没办法进行下去了,是不是?
|
|
10楼#
发布于:2004-05-28 15:29
是啊。
|
|
11楼#
发布于:2004-05-28 15:40
这里看不到你的邮箱,没法给你贴我的代码,能把邮箱告诉我吗?我的是 dongbi_lei@yahoo.com
|
|
12楼#
发布于:2004-05-30 14:11
赶紧自己顶顶,不要沉了
一直来ALT事件,枚举进行不下去,这可怎么办? |
|
13楼#
发布于:2009-09-28 11:46
USBN9603Demo_Software.V.01 的代码 从哪可以弄到啊 那位大虾有 可以给我发发看看吗 66041967@qq.com
|
|
|