AnsweredAssumed Answered

why USB_LDD cannot work correctly?

Question asked by Jianfeng Zheng on Jul 6, 2017

I use MCU MK22FN256VLL12,  the development tool is KDS3.2.0.

I implement USB device by ProcessorExpert, and  generate USB_LDD.

After USB device(i.e. my PCB) is attached to PC, it begin to 'standard device request', it works well as below:

1. GET_DESCRIPTION (type=DEVICE)                      ------- OK

2. SET_ADDRESS                                                         ------- OK

3. GET_DESCRIPTION (type=DEVICE)                      ------- OK

4. GET_DESCRIPTOR (type = CONFIGURATION)   ------- fail, host closed the USB port

 

I have tried many times, it always failed on the 4th step at each time.

I am sure the previous three steps are successful, because the USB device can be showed by a tool named as 'USB Monitor'. following is the cut picture.

Port5 is my PCB, there Vendor=0x1234, Product ID=0x1122 are correct.

 

My question is:

Why the host quits instead to continue to request CONFIGURATION DESCRIPTOR

What is the problem, I have tried one week to search the BUG, and have to give up today, and need your help now.

The attached file is my KDS project. the drive file is <drive_usb.c>, please help me to check it .

Please note, this <drive_usb.c> worked OK on my another PCB, although, it is designed by different MCU, MKL26Z128VLH4.  It can be correctly detected as following also by USB Monitor

 

THANK YOU !  Wait here Anxiously!

Original Attachment has been moved to: K22NUSB.zip

Outcomes