renyy
驱动牛犊
驱动牛犊
  • 注册日期2002-02-20
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1911回复:5

请熟悉D12枚举过程的朋友帮忙,万分感谢

楼主#
更多 发布于:2003-08-14 09:04
我开发的项目只剩下了D12的USB部分了,可这部分偏偏把我难住了,请各位大虾指教下小弟,先谢谢了。

我的症状是,
1、加电初始化softconnect之后,收到Get Device Descriptor,返回18字节的descriptor
2、主机发出bus reset
3、主机发送set address,我返回0字节的确认信息
4、主机发送Get Device Descriptor,返回18字节的descriptor
5、主机发送Get Config Descriptor,返回9字节的Descriptor
6、主机送Get Usb String Descriptor(0),返回4字节StringLANDUD
7、主机送Get Usb String Descriptor(3),返回22字节szSerialNumber
8、主机送Get Config Descriptor(??再发一次),返回9字节。
此后稍暂停,然后重复上述过程三次,最后主机发送休眠,不再发数据,主机找到未知USB设备。

我是错在哪里呢?哪位能发给我一份单片机端的调试输出信息对照下(zboard的或者D12 smart的都行),谢谢了。
期待各位的回复,renyy@21cn.com
我是猪
renyy
驱动牛犊
驱动牛犊
  • 注册日期2002-02-20
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-14 09:07
列出我的调试信息供参考
Usb Isr Code:1
ep0_rxdone ,Transaction status is21,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 01 00 00 40 00

Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x100, wLengt
h = 0x40, wIndex = 0x0.

Enter Control_hander Proc req:6 type:0
Entering get_descriptor, Descriptor CODE is:1
code_transmit Len:18
Last Transform Request: endp = 0x01, len:0x10 Data: 12 01 00 01 dc 00 00 10 71 0
4 66 06 00 01 01 02

Usb Isr Code:2
ep0_txdone . Transaction status is0,EndPoint status is 0
Last Transform Request: endp = 0x01, len:0x 2 Data: 03 01

Usb Isr Code:41
ep0_rxdone ,Transaction status is21,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 00 05 03 00 00 00 00 00

Last Device Request: bmRequestType = 0x0, bRequest= 0x5, wValue = 0x3, wLength =
 0x0, wIndex = 0x0.

Enter Control_hander Proc req:5 type:0
Entering set_address
Set Address is :3
Last Transform Request: endp = 0x01, len:0x 0 Data:

Usb Isr Code:2
ep0_txdone . Transaction status is41,EndPoint status is 1c
Usb Isr Code:1
ep0_rxdone ,Transaction status is21,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 01 00 00 12 00

Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x100, wLengt
h = 0x12, wIndex = 0x0.

Enter Control_hander Proc req:6 type:0
Entering get_descriptor, Descriptor CODE is:1
code_transmit Len:18
Last Transform Request: endp = 0x01, len:0x10 Data: 12 01 00 01 dc 00 00 10 71 0
4 66 06 00 01 01 02

Usb Isr Code:2
ep0_txdone . Transaction status is41,EndPoint status is 8
Last Transform Request: endp = 0x01, len:0x 2 Data: 03 01

Usb Isr Code:2
ep0_txdone . Transaction status is1,EndPoint status is 1c
Usb Isr Code:1
ep0_rxdone ,Transaction status isa1,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 02 00 00 09 00

Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x200, wLengt
h = 0x9, wIndex = 0x0.

Enter Control_hander Proc req:6 type:0
Entering get_descriptor, Descriptor CODE is:2
code_transmit Len:9
Last Transform Request: endp = 0x01, len:0x 9 Data: 09 02 2e 00 01 01 00 60 64

Usb Isr Code:2
ep0_txdone . Transaction status is41,EndPoint status is 1c
Usb Isr Code:1
ep0_rxdone ,Transaction status isa1,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 03 00 00 ff 00

Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x300, wLengt
h = 0xff, wIndex = 0x0.

Enter Control_hander Proc req:6 type:0
Entering get_descriptor, Descriptor CODE is:3
code_transmit Len:4
Last Transform Request: endp = 0x01, len:0x 4 Data: 04 03 09 04

Usb Isr Code:2
ep0_txdone . Transaction status is41,EndPoint status is 1c
Usb Isr Code:1
ep0_rxdone ,Transaction status isa1,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 03 03 09 04 ff 00

Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x303, wLengt
h = 0xff, wIndex = 0x409.

Enter Control_hander Proc req:6 type:0
Entering get_descriptor, Descriptor CODE is:3
code_transmit Len:22
Last Transform Request: endp = 0x01, len:0x10 Data: 16 03 30 00 30 00 30 00 30 0
0 2d 00 30 00 30 00

Usb Isr Code:2
ep0_txdone . Transaction status is41,EndPoint status is 8
Last Transform Request: endp = 0x01, len:0x 6 Data: 30 00 30 00 30 00

Usb Isr Code:2
ep0_txdone . Transaction status is1,EndPoint status is 1c
Usb Isr Code:1
ep0_rxdone ,Transaction status isa1,EndPoint status is 34
Last Recieve Request: endp:0x00, len:0x08 Data: 80 06 00 02 00 00 ff 00

Last Device Request: bmRequestType = 0x80, bRequest= 0x6, wValue = 0x200, wLengt
h = 0xff, wIndex = 0x0.

Enter Control_hander Proc req:6 type:0
Entering get_descriptor, Descriptor CODE is:2
code_transmit Len:9
Last Transform Request: endp = 0x01, len:0x 9 Data: 09 02 2e 00 01 01 00 60 64

Usb Isr Code:2
ep0_txdone . Transaction status is41,EndPoint status is 8
Usb Isr Code:1
ep0_rxdone ,Transaction status is41,EndPoint status is 20
我是猪
yifanwu
驱动牛犊
驱动牛犊
  • 注册日期2003-08-16
  • 最后登录2005-07-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-17 13:01
你用的是什么单片机?

去philips的网站下载一个编写好的固件程序,直接调用你们的函数就可以了。

http://www.semiconductors.philips.com/buses/usb/products/device/pdiusbd12/smart_eval
renyy
驱动牛犊
驱动牛犊
  • 注册日期2002-02-20
  • 最后登录2005-06-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-18 09:40
我的是44bO来做的,smart那套源程序我已经移植过去了,就是不知道错误出在哪里,所以希望看一看正确的调试信息
我是猪
r_wind
驱动牛犊
驱动牛犊
  • 注册日期2003-03-21
  • 最后登录2005-04-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-23 14:12
hardware maybe have problem
please tell me your hardware.
                     r_wind  
sky412
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2013-03-07
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-17 10:33
固件中描述符可能有问题。
虽然我比较烦,但是我真不懂!
游客

返回顶部