阅读:1797回复:12
f2812与isp1581连接,问枚举问题
请问老师
我用DSP连1581,16位通用总线模式(参考的是手头一块51控制1581的开发板,8位复用模式)。 如今 HS_STATE 中断完成后,做什么? 什么时候出现第一个EP0SETUP中断 zhangdeyuan@126.com |
|
|
沙发#
发布于:2007-11-03 12:39
你好,我现在也在做 isp1581+FPGA 开发一个 USB 系统,我和你的问题差不多,我是这样处理的:进入高速状态检测后,我将测试方式寄存器(84H)中的FORCEHS和PRBS都置1,
处之后就进入了EPO SETUP中断,读EPO SETUP缓冲区我发现收到的请求是获取设备描述符的请求,我将我的设备描述符(18个字节)发过去后就没有反应了,一直停在EPO SETUP中断,不知道怎么处理,还望各位大牛指点迷津,谢谢了。 |
|
板凳#
发布于:2007-11-05 16:36
描述符错了吧
|
|
地板#
发布于:2007-11-05 18:27
谢谢 jinghuiren 大哥的指点,谢谢了。
我怎么才能够判断我的描述符是否正确?我将发送的描述符同时输出了,是正确的啊 用 bushound 抓到的只有主机一直发送的 get status 命令,不知道究竟是怎么回事。 我还想请教大哥一个问题,怎样检测我发出的数据是主机没有收到还是发送的描述符错误? |
|
地下室#
发布于:2007-11-06 10:43
如果发送正确bushound应该能收到你发送的描述符
或者是你把数据填到端点里了,但是你没有使端点生效 你可以先将要发送的数据数量写入datacount寄存器,然后再往端点里填充数据,数据够了后 端点会自动生效发送给主机 |
|
5楼#
发布于:2007-11-06 20:50
谢谢jinghuiren大牛的指点
我按照你说的做了,把发送的数据数量写入datacount寄存器,还是没有收到主机的其他命令 而且我在 bus hound 上没有看到我发送的描述符,也没有抓到主机发送的 get descriptor 但我通过 signalTap(在线调试,FPGA 的一种调试方法)看到主机给我的 SETUP 包的内容确实是获取描述符的请求(80 06 00 01 00 00 40 00) 接着我按照 isp1581 的编程指南上的顺序做了以下几步: 1 访问索引端点寄存器(2CH) ,选择控制端点输入 2 将我的设备描述符( 18 个字节) 写入数据端口寄存器, 3 接着使能输入控制端点的缓冲区(这里 STATUS 位需要置 1 吗?) 4 等待 EP0 IN 中断 ,中断来了以后访问索引端点寄存器,选择输出控制端点,置 STATUS 位(这里需要将控制端点输出的缓冲区使能或清除吗?) 5 等待 EP0 OUT 中断,中断来了之后结束。 我按照以上过程做了以后,发现主机发给我的命令还是 80 06 00 01 00 00 40 00 ,而且我发现程序进入过 EP0 IN 中断,之后就又进入了 SETUP 中断 ,始终进不了 SET ADDRESS 或其它请求状态, 我还有一个问题是我在高速状态中断中将 测试方式寄存器(84H)中的FORCEHS和PRBS都置1 了,要是不这样做的话就始终进不了SETUP 中断,请问这正常吗? |
|
6楼#
发布于:2007-11-06 22:25
jinghuiren 大牛 我还有一个问题要请教
为什么我用 bus hound 抓数据时,电脑总是会重启 ,只有当我把 bus hound 切换到 Device 标题栏下 ,当程序运行后再切换到 capture 下才不会重启 我用 bus hound 抓到的数据如下 Bus Hound 5.00 capture. Complements of www.perisoft.net data_bushound Device - Device ID (followed by the endpoint for USB devices) (9) USB Root Hub (14) USB Root Hub (16) USB Root Hub (18) USB Root Hub Phase - Phase Type CTL USB control transfer DI Data in LEN Data length URB USB request block Data - Hex dump of the data transferred Descr - Description of the phase Cmd... - Position in the captured data Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- ------------------------------------------------------------------------------------------------------ ---------------- ------------------ 9.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 1.1.0 9.0 LEN 02 00 00 00 2 1.2.0 9.0 DI 01 00 .. 1.3.0 9.0 URB 50 00 08 00 00 00 00 00 e8 c7 e9 81 22 00 00 00 00 c8 e9 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 1.4.0 14.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 2.1.0 14.0 LEN 02 00 00 00 2 2.2.0 14.0 DI 01 00 .. 2.3.0 14.0 URB 50 00 08 00 00 00 00 00 e8 d7 e3 81 22 00 00 00 00 d8 e3 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 2.4.0 16.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 3.1.0 16.0 LEN 02 00 00 00 2 3.2.0 16.0 DI 01 00 .. 3.3.0 16.0 URB 50 00 08 00 00 00 00 00 e8 77 05 82 22 00 00 00 00 78 05 82 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 3.4.0 18.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 4.1.0 18.0 LEN 02 00 00 00 2 4.2.0 18.0 DI 01 00 .. 4.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 4.4.0 9.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 5.1.0 9.0 LEN 02 00 00 00 2 5.2.0 9.0 DI 01 00 .. 5.3.0 9.0 URB 50 00 08 00 00 00 00 00 e8 c7 e9 81 22 00 00 00 00 c8 e9 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 5.4.0 14.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 6.1.0 14.0 LEN 02 00 00 00 2 6.2.0 14.0 DI 01 00 .. 6.3.0 14.0 URB 50 00 08 00 00 00 00 00 e8 d7 e3 81 22 00 00 00 00 d8 e3 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 6.4.0 16.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 7.1.0 16.0 LEN 02 00 00 00 2 7.2.0 16.0 DI 01 00 .. 7.3.0 16.0 URB 50 00 08 00 00 00 00 00 e8 77 05 82 22 00 00 00 00 78 05 82 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 7.4.0 18.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 8.1.0 18.0 LEN 02 00 00 00 2 8.2.0 18.0 DI 01 00 .. 8.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 8.4.0 9.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 9.1.0 9.0 LEN 02 00 00 00 2 9.2.0 9.0 DI 01 00 .. 9.3.0 9.0 URB 50 00 08 00 00 00 00 00 e8 c7 e9 81 22 00 00 00 00 c8 e9 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 9.4.0 14.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 10.1.0 14.0 LEN 02 00 00 00 2 10.2.0 14.0 DI 01 00 .. 10.3.0 14.0 URB 50 00 08 00 00 00 00 00 e8 d7 e3 81 22 00 00 00 00 d8 e3 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 10.4.0 16.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 11.1.0 16.0 LEN 02 00 00 00 2 11.2.0 16.0 DI 01 00 .. 11.3.0 16.0 URB 50 00 08 00 00 00 00 00 e8 77 05 82 22 00 00 00 00 78 05 82 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 11.4.0 18.0 CTL 80 00 00 00 00 00 02 00 GET STATUS 12.1.0 18.0 LEN 02 00 00 00 2 12.2.0 18.0 DI 01 00 .. 12.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 fb 07 9a 81 02 00 00 00 a4 7b 42 ba CONTROL TRANSFER 12.4.0 18.1 URB 48 00 09 00 00 00 00 00 50 66 f5 81 22 00 00 00 7c 96 38 82 03 00 00 00 00 00 00 00 90 13 23 82 BULK/INT XFER 13.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 14.1.0 18.0 LEN 04 00 00 00 4 14.2.0 18.0 DI 01 05 01 00 .... 14.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 f0 45 0f 82 CONTROL TRANSFER 14.4.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 15.1.0 18.0 LEN 04 00 00 00 4 15.2.0 18.0 DI 01 05 01 00 .... 15.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 15.4.0 18.0 CTL 23 01 10 00 08 00 00 00 CLEAR FEATURE 16.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 16.2.0 18.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 17.1.0 18.0 LEN 04 00 00 00 4 17.2.0 18.0 DI 00 05 00 00 .... 17.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 17.4.0 18.0 CTL a3 00 00 00 02 00 04 00 GET STATUS 18.1.0 18.0 LEN 04 00 00 00 4 18.2.0 18.0 DI 00 05 00 00 .... 18.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 18.4.0 18.0 CTL a3 00 00 00 03 00 04 00 GET STATUS 19.1.0 18.0 LEN 04 00 00 00 4 19.2.0 18.0 DI 00 85 00 00 .... 19.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 19.4.0 18.0 CTL a3 00 00 00 04 00 04 00 GET STATUS 20.1.0 18.0 LEN 04 00 00 00 4 20.2.0 18.0 DI 00 05 00 00 .... 20.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 20.4.0 18.0 CTL a3 00 00 00 05 00 04 00 GET STATUS 21.1.0 18.0 LEN 04 00 00 00 4 21.2.0 18.0 DI 00 05 00 00 .... 21.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 21.4.0 18.0 CTL a3 00 00 00 06 00 04 00 GET STATUS 22.1.0 18.0 LEN 04 00 00 00 4 22.2.0 18.0 DI 00 05 00 00 .... 22.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 22.4.0 18.0 CTL a3 00 00 00 07 00 04 00 GET STATUS 23.1.0 18.0 LEN 04 00 00 00 4 23.2.0 18.0 DI 00 05 00 00 .... 23.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 23.4.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 24.1.0(2) 18.0 LEN 04 00 00 00 4 24.2.0 18.0 DI 01 05 00 00 .... 24.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 24.4.0 18.0 CTL 23 03 04 00 08 00 00 00 SET FEATURE 26.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 26.2.0 18.1 URB 48 00 09 00 00 00 00 00 50 66 f5 81 22 00 00 00 7c 96 38 82 03 00 00 00 00 00 00 00 90 13 23 82 BULK/INT XFER 27.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 28.1.0 18.0 LEN 04 00 00 00 4 28.2.0 18.0 DI 03 05 10 00 .... 28.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 f0 45 0f 82 CONTROL TRANSFER 28.4.0 18.0 CTL 23 01 14 00 08 00 00 00 CLEAR FEATURE 29.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 29.2.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 30.1.0(3) 18.0 LEN 04 00 00 00 4 30.2.0 18.0 DI 03 05 00 00 .... 30.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 30.4.0 18.0 CTL 23 03 04 00 08 00 00 00 SET FEATURE 33.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 33.2.0 18.1 URB 48 00 09 00 00 00 00 00 50 66 f5 81 22 00 00 00 7c 96 38 82 03 00 00 00 00 00 00 00 90 13 23 82 BULK/INT XFER 34.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 35.1.0 18.0 LEN 04 00 00 00 4 35.2.0 18.0 DI 03 05 10 00 .... 35.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 f0 45 0f 82 CONTROL TRANSFER 35.4.0 18.0 CTL 23 01 14 00 08 00 00 00 CLEAR FEATURE 36.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 36.2.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 37.1.0(2) 18.0 LEN 04 00 00 00 4 37.2.0 18.0 DI 03 05 00 00 .... 37.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 37.4.0 18.0 CTL 23 03 04 00 08 00 00 00 SET FEATURE 39.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 39.2.0 18.1 URB 48 00 09 00 00 00 00 00 50 66 f5 81 22 00 00 00 7c 96 38 82 03 00 00 00 00 00 00 00 90 13 23 82 BULK/INT XFER 40.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 41.1.0 18.0 LEN 04 00 00 00 4 41.2.0 18.0 DI 03 05 10 00 .... 41.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 f0 45 0f 82 CONTROL TRANSFER 41.4.0 18.0 CTL 23 01 14 00 08 00 00 00 CLEAR FEATURE 42.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 42.2.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 43.1.0 18.0 LEN 04 00 00 00 4 43.2.0 18.0 DI 03 05 00 00 .... 43.3.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 22 00 00 00 68 66 f5 81 0b 00 00 00 04 00 00 00 10 d2 1b 82 CONTROL TRANSFER 43.4.0 18.0 CTL 23 01 01 00 08 00 00 00 CLEAR FEATURE 44.1.0 18.0 URB 50 00 08 00 00 00 00 00 50 66 f5 81 20 00 00 00 68 66 f5 81 0a 00 00 00 00 00 00 00 00 00 00 00 CONTROL TRANSFER 44.2.0 麻烦大牛帮忙分析一下,为什么只有 get status 命令 |
|
7楼#
发布于:2007-11-08 12:31
第一次先发前八个字节的描述符试施
数量写8 |
|
8楼#
发布于:2007-12-31 11:09
你的设备在(18) USB Root Hub 不支持usb2.0
Device - Device ID (followed by the endpoint for USB devices) (9) USB Root Hub (14) USB Root Hub (16) USB Root Hub (18) USB Root Hub 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 24.1.0(2) 18.0 DI 01 05 00 00 .... 24.3.0 18.0 CTL 23 03 04 00 08 00 00 00 SET FEATURE 26.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 28.1.0 18.0 DI 03 05 10 00 .... 28.3.0 18.0 CTL 23 01 14 00 08 00 00 00 CLEAR FEATURE 29.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 30.1.0(3) 18.0 DI 03 05 00 00 .... 30.3.0 18.0 CTL 23 03 04 00 08 00 00 00 SET FEATURE 33.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 35.1.0 18.0 DI 03 05 10 00 .... 35.3.0 18.0 CTL 23 01 14 00 08 00 00 00 CLEAR FEATURE 36.1.0 18.0 CTL a3 00 00 00 08 00 04 00 GET STATUS 37.1.0(2) 18.0 DI 03 05 00 00 .... 37.3.0 |
|
|
9楼#
发布于:2008-01-03 14:38
你得机器上的USB口是1.1的或者你没有装2.0的驱动
|
|
10楼#
发布于:2008-02-03 18:43
谢谢两位大哥的指点.现在我已经将问题解决了.
原来在windows xp 下只有当枚举完成后才可以看到枚举的前几个步骤,所以我又重装了windows 2000系统,可以看到枚举没有成功时的几个步骤. |
|
11楼#
发布于:2008-02-24 20:26
求助: isp1581 上传数据至主机
各位大牛好,小弟用 isp1581 开发 USB 时遇到这样一个问题: 主机能够正确枚举设备,主机往设备传数据已经 实现了,但是若要将数据上传至主机该如何处理? |
|
12楼#
发布于:2008-02-24 20:28
请各位大哥帮忙解决一下,谢谢!
|
|