cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1890回复:18

还是描述符问题!

楼主#
更多 发布于:2003-06-02 17:02
Device Descriptor:
bcdUSB: 0x0110
bDeviceClass: 0xDC
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x10 (16)
idVendor: 0x0471 (Philips)
idProduct: 0x0666
bcdDevice: 0x0100
iManufacturer: 0x00
iProduct: 0x00
iSerialNumber: 0x00
bNumConfigurations: 0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed: Full
Device Address: 0x02
Open Pipes: 4

Endpoint Descriptor:
bEndpointAddress: 0x81 ;;???
Transfer Type: Interrupt ;;???
wMaxPacketSize: 0x0010 (16) ;;???
bInterval: 0x10 ;;???

Endpoint Descriptor: ;;???
bEndpointAddress: 0x00 ;;???
Transfer Type: Control ;;???
wMaxPacketSize: 0x0507 (1287) ;;???
wInterval: 0x0301 ;;???
bSyncAddress: 0x10 ;;???

Endpoint Descriptor: ;;???
bEndpointAddress: 0x00 ;;???
Transfer Type: Bulk ;;???
wMaxPacketSize: 0x0001 (1) ;;???
wInterval: 0x0000 ;;???
bSyncAddress: 0x07 ;;???

Endpoint Descriptor: ;;???
bEndpointAddress: 0x05 ;;???
Transfer Type: Bulk ;;???
wMaxPacketSize: 0x4002 (16386) ;;???
wInterval: 0x0A00 ;;???
bSyncAddress: 0x00 ;;???

Configuration Descriptor:
wTotalLength: 0x002E
bNumInterfaces: 0x01
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0xA0 (Bus Powered Remote Wakeup)
MaxPower: 0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x04
bInterfaceClass: 0xDC
bInterfaceSubClass: 0xA0
bInterfaceProtocol: 0xB0
iInterface: 0x00

Endpoint Descriptor:
bEndpointAddress: 0x81
Transfer Type: Interrupt
wMaxPacketSize: 0x0010 (16)
bInterval: 0x10

Endpoint Descriptor:
bEndpointAddress: 0x01
Transfer Type: Interrupt
wMaxPacketSize: 0x0010 (16)
bInterval: 0x0A

Endpoint Descriptor:
bEndpointAddress: 0x82
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x0A

Endpoint Descriptor:
bEndpointAddress: 0x02
Transfer Type: Bulk
wMaxPacketSize: 0x0040 (64)
bInterval: 0x0A

我不理解我标;;???地方的意思帮我解释一下!!

cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-02 17:08
今天再问一个稳定性问题。有的时候应用程序可以通过端点发送数据成功。但是的时候又不行??
cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-06-02 17:13
今天收到的描述符如下:
6-1

Device: Device ID (followed by the endpoint for USB devices)
(14) Fzu CCD USB of PDIUSBD12 Board
Phase: Phase Type:
CTL USB control transfer
Data: Hex dump of the data transferred
Info: Description of the phase
Time: Elapsed time leading up to the Phase
Cmd: Unique identifier of the line


Device Phase Data Description Time Cmd.Phase.Ofs(rep)
------ ----- ----------- ---------------- ----- ------------------
14.0 CTL 80 06 00 01 GET DESCRIPTOR 4.3mn 1.1.0
00 00 12 00 1.1.4
14.0 CTL 80 06 00 02 GET DESCRIPTOR 6.7ms 2.1.0
00 00 09 00 2.1.4
14.0 CTL 80 06 00 02 GET DESCRIPTOR 3.8ms 3.1.0
00 00 2e 00 3.1.4
14.0 CTL 80 06 00 01 GET DESCRIPTOR 1.1mn 4.1.0
00 00 12 00 4.1.4
14.0 CTL 80 06 00 02 GET DESCRIPTOR 4.9ms 5.1.0
00 00 09 00 5.1.4
14.0 CTL 80 06 00 02 GET DESCRIPTOR 5.1ms 6.1.0
00 00 2e 00 6.1.4
14.0 CTL 00 09 01 00 SET CONFIG 8.0ms 7.1.0
00 00 00 00 7.1.4

为什么我的第二步不是SET ADDRESS ??????这会不会影响到后面的工作啊。我的情况是有的时候可以正常工作,而有的时候不可以。

为什么现在不能实现枚举的两步:
7.主机读取配置值
单片机接收到的8个字节分别为:
0x80 0x08 0x00 0x00 0x00 0x00 0x01 0x00
8.主机发出Get―Interface请求
单片机接收到的8个字节分别为:
0x81 0x0a 0x00 0x00 0x00 0x00 0x01 0x00

WHY?HOW TO INTERPRET?THANK YOU!
不好意思,太久没办法来了,实在很多问题!
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-06-02 17:25
Endpoint Descriptor:
bEndpointAddress: 0x81 ;;???//bit 7是方向,0:输出;1:输入;bit0-3:endpoint号(从1-F)。此处是第一端点作为输入
Transfer Type: Interrupt ;;???//不该写成Interrupt吧,要数字,这是一种传输类型
wMaxPacketSize: 0x0010 (16) ;;???//输入数据的最大FIFO
bInterval: 0x10 ;;???//查询间隔,一ms为单位

Endpoint Descriptor: ;;???//每一个端口都有一个descriptor
bEndpointAddress: 0x00 ;;???//此处错误,端口0是默认的控制端口,输入、输出都可以,后面的设置更是错误,端口的最大FIFO是64字节
Transfer Type: Control ;;???
wMaxPacketSize: 0x0507 (1287) ;;???
wInterval: 0x0301 ;;???
bSyncAddress: 0x10 ;;???//在endpoint descriptor中,没有此项

Endpoint Descriptor: ;;???
bEndpointAddress: 0x00 ;;???//错误
Transfer Type: Bulk ;;???
wMaxPacketSize: 0x0001 (1) ;;???
wInterval: 0x0000 ;;???
bSyncAddress: 0x07 ;;???

Endpoint Descriptor: ;;???
bEndpointAddress: 0x05 ;;???//第5端口作为输出
Transfer Type: Bulk ;;???//bulk类型
wMaxPacketSize: 0x4002 (16386) ;;???//错误,不能超过64字节
wInterval: 0x0A00 ;;???//对bulk类型,此字节无意义(注意:是一个字节,不是两字节!!!)
bSyncAddress: 0x00 ;;???

Endpoint Descriptor(一个标准bulk输入endpoint descriptor):
0x07,/*bLength,the length of this descriptor*/
0x05,/*ENDPOINT type*/
0x82,/*bEndpointAddress(IN)*/
0x02,/*bmAttributes(bulk)*/
0x40,0x00, /*wMaxpacketSize*/
0x00,/*interval(ms)*/

你应该看看usb协议
我思,故我在
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-06-02 17:36
在第一个命令:80 06 00 01 00 00 40 00之后就是SET_ADDRESS
有的芯片可以自动处理这个命令,对设计人员来说可以不用考虑这步,在device方也就不能看见这个命令了(实际上硬件已经处理)

你的device descriptor、interface descriptor和endpoint descriptor完全不对,根本就不能枚举通过!
我思,故我在
cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-02 19:26
但是我把每次读取的SETUP包的内容依次存放到60H单元以后,都可以看到SET ADDRESS 以及后面的步骤,都是正确的,只是少了
7.主机读取配置值
单片机接收到的8个字节分别为:
0x80 0x08 0x00 0x00 0x00 0x00 0x01 0x00
8.主机发出Get―Interface请求
单片机接收到的8个字节分别为:
0x81 0x0a 0x00 0x00 0x00 0x00 0x01 0x00

不知道??????帮忙啊
lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-02 21:43
描述符是谁写的??
flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2003-06-03 11:49
我的建议是:
首先让各种descriptor正确

其次,每个命令不是都会使用的
7是得到设备的configuration descriptor
8得到interface descriptor
我思,故我在
cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-06-03 21:17
还是有点小问题!传输的时候不稳定,经常不能发送数据!还是先给分
b5cbb3ac
驱动牛犊
驱动牛犊
  • 注册日期2003-01-23
  • 最后登录2004-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-06-03 21:36
不稳定原因是很多的,请你先找一下硬件原因,
看时序对不对。
lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-06-03 21:48
把改了的东西再贴出来,帮你侃侃
cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-06-04 11:48
Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x10 (16)
idVendor:           0x0471 (Philips)
idProduct:          0x0666
bcdDevice:          0x0100
iManufacturer:        0x01
iProduct:             0x02
0x0409: \"CCD USB\"
iSerialNumber:        0x00
bNumConfigurations:   0x01

ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x02
Open Pipes:              4

Endpoint Descriptor:
bEndpointAddress:     0x81
Transfer Type:   Interrupt
wMaxPacketSize:     0x0010 (16)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x01
Transfer Type:   Interrupt
wMaxPacketSize:     0x0010 (16)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x0A

Configuration Descriptor:
wTotalLength:       0x002E
bNumInterfaces:       0x01
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xA0 (Bus Powered Remote Wakeup)
MaxPower:             0x32 (100 Ma)

Interface Descriptor:
bInterfaceNumber:     0x00
bAlternateSetting:    0x00
bNumEndpoints:        0x04
bInterfaceClass:      0xDC
bInterfaceSubClass:   0x0A
bInterfaceProtocol:   0x0B
iInterface:           0x00

Endpoint Descriptor:
bEndpointAddress:     0x81
Transfer Type:   Interrupt
wMaxPacketSize:     0x0010 (16)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x01
Transfer Type:   Interrupt
wMaxPacketSize:     0x0010 (16)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x0A

Endpoint Descriptor:
bEndpointAddress:     0x02
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x0A
这是今天6-4号得到的自认为正确无误的描述符!还有今天是端午节,祝大家端午节快乐!!一起吃粽子吧,我请哦


lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-06-04 12:29
hehe...
首先,你的描述和我见过的标准的描述符大不相同,每一段都没有描述长度和类型,也许费力扑在某个文件中都定义过了,我假设他是对的,
对于你对那四个端点的描述,我不理解,为什么要描述两便??
你现在还有什么问题 呀
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-06-04 15:45
你现在的问题是什么呢!
cakor
驱动小牛
驱动小牛
  • 注册日期2003-03-18
  • 最后登录2009-06-11
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望22点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-06-05 01:06
谢谢几位!由于这边不能再给分了,我另开帖子!哈哈,端午节没给粽子,我给分哦!
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-06-11 11:17
请教flycat0101,
bInterval: 0x0A 这个值在配置的时候能不能改小,或者改为0?因为我在固件的isr.c中往pc机传数据的时候,发现我的中断间隔是8ms,这样我1s 只能传100次左右,速度慢的让人发疯!
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-06-11 12:36
bulk 端点不存在这个数值的!应该为0!只有control ep才为0x10!
一天到晚游泳的鱼
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2005-04-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-06-11 16:16
Interrupt方式中bInterval: 0x0A 表示什么意思?是不是中断操作间隔为0A(即10ms)?如果是的话,能不能在配置的时候修改它?
lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2003-06-11 19:45
可以
游客

返回顶部