Announcements
IMPORTANT: Cypress Developer Community is transitioning on October 20th. To learn more and be prepared for this change, check out our latest announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

GoBN_4706056
New Contributor

We have custom board designed with CYUSB3035-BZXI device & USB3.0 standard Type A connector for interfacing it with the host. We are using Cypress USB control center tool to detect & program the FX3 device.

Below are the brief description of test scenario:

  1. When we connect our board to an USB3.0 port of generation 5 laptop(HP-840), the FX3 device gets detected properly as USB3.1 device.
  2. When we connect our board to an USB3.0 port of generation 7 laptop(DELL Latitude 3590), the FX3 device gets detected properly as USB3.1 device.
  3. When we connect our board to an USB3.0 port of generation 8 laptop(DELL Latitude 3500), the FX3 device doesn’t even get detected. But when we connect the board to USB2.0 port, the device detection happens correctly as USB2.0.

Thanks for the help.

Gowtham

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

I went through your schematics and found that the 0.1uF de-coupling capacitors were missing on the TX lines (pins A5 and A6 0f the U Port). Instead, they are added to pins A4 and A3 of the U Port. Please remove the de-coupling capacitors from A4 and A3 and connect them to A5 and A6. Also, please check if your design passes all the checklists for layout mentioned in Table 11 of the following Application Note:

https://www.cypress.com/file/139936/download

I will again go through your schematics and let you know if I find anymore mistakes.

In addition to this, please do the following tests for me:

1. Connect your custom board to the USB3.0 port of the Gen8 PC and try to program the device with both the firmware images that I shared in my response 21.

2. Connect your custom board to the USB2.0 port of the Gen8 PC and do the same as the first test.

Please let me know which combinations passed and which did not. If you have already tested this, please let me know the result.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

0 Likes
29 Replies
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

Please let me know the following details:

1. Please confirm if the device is enumerating as bootloader device in all the three cases. Specifically when the device is plugged to USB 3.0 port in case 3.

2. Please let me know the firmware that you are using for the test.

3. Does the device comes up in the device manager when connected to the USB 3.0 port in case 3?

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna,

1. The device is enumerating as bootloader in the first 2 cases only. In case 3, enumeration itself doesn't happen when connected to USB3.0 port.

2. We are not even trying to load the firmware. Since the device is not getting detected in the USB control center or device manager as bootloader, we can't load any firmware.

3. No, the device doesn't come up in case 3.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

Please let me know if you have any cypress kits available with you to check for enumeration with the USB 3.0 port of case 3. If you have any, please check and let me know the result.

Also, please share the following:

1. The USB traces when you try connecting the custom board to the USB 3.0 port of case 3.

2. The host controllers for the 3 cases.

Best Regards,

Jayakrishna 

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, Yes we do have Cypress explorer kit CYUSB3KIT-003 EZ-USB. And this gets detected without any issue unlike our custom board.

I didn't get your point 1. Pls elaborate.

And the host controllers, as I mentioned in my first post, they are 5th, 7th & 8th generation laptops.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello,

Please take a USB trace by using wireshark while you connect the device to the host. This is to check if the host is requesting for the descriptors or not.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayashankar, regarding the USB trace info, I couldn't find an option here to attach the PCAP file, hence pasting the snippet here for you reference.

pastedImage_0.png

Regards,

Gowtham

0 Likes
GoBN_4706056
New Contributor

Hello Jayashankar, the above USB trace capture was on working set-up(generation 7 laptop). WIll capture on Gen 8 laptop & share you the details.

Regards,

Gowtham

0 Likes
GoBN_4706056
New Contributor

Hello Jayashankar, below is the USB trace for failure case:

pastedImage_0.png

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello,

Please share the complete .pcap file for the passing and failing case. You can do this by selecting Use advanced editor which can be seen on the top right corner. The snapshot of the same is shown below:

pastedImage_0.png

Once you select this, you can attach the files. Please let me know if you still face any issues.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello,

In addition to my previous response, please confirm that you followed the procedure as follows for taking the traces:

1. Open Wireshark.

2. Ensure that the PMODE pins are set to USB Boot mode (Z11)

3. Connect the device.

Also, please check if the device is enumerated under Human Interface Devices.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, pfa the usb trace files of both working & non working conditions.

Have taken care of all the points suggested by you.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

Thank you for sharing the traces with me. Please share the following information so that I can have more information to debug this issue:

1. Do you have another USB 3.0 port for the Gen8 PC? If you have, is the enumeration failing on all of the USB 3.0 ports?

2. Can you please try plugging in the custom board to a USB 3.0 port of another PC having the same specifications and let me know if you are seeing the issue in that PC also?

3. Please share the wireshark traces when you connect the explorer kit to USB 3.0 port of Gen8 PC.

4. Also, please let me know if the Jumper J2 is shorted or not when you connect the explorer kit to the Gen8 PC. Please try connecting the explorer kit with J2 shorted and open. Please let me know if the device enumerates in both the cases or not.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, below are my answere:

1. We already tried this & the behavious is same on all the available ports of Gen 8 laptops. Although the same works fine on USB2.0 ports of the same machine.

2. We tried on multiple gen 8 systems & the observation is same on all of them.

3. Have attached the same for your reference.

4. Yes, we already tried this couple of days back. The explorer kit enumerates with or without J2. So either of the voltages, 1.8V or 3.3V IO voltage should work fine.

Also pls note another important point which I missed to mention earlier:

Our custom board gets detected as bootloader device initially when plugged into the Gen 8 laptop's USB3.0 port. But we try to flash the binary, the device either vanishes from the control center or it says program succeeded without getting programmed. But after getting the message of program succeeded in the control center, it fails to enumerate as bulkloop.

Hope this gives some clue.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

All the logs that you shared with me indicates that the enumeration process is happening properly.

Also, your previous response and response 2 seems conflicting. In your previous response, you mentioned that the Bootloader device is being enumerated fine for the Gen8 PC. But in your response 2, you mentioned that the Bootloader device is not enumerated properly. Please confirm if the bootloader device is enumerated properly or not in USb 3.0 port of Gen8 PC.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, sorry for the confusion created. Our custom board enumerating as bootloader is very inconsistent. May be out of some 10 times, only once it gets detected as bootloader and we saw this only yesterday. But once it gets enumerated as bootloader, we try programming the binary, and the device becomes invisible or fails getting enumerated as bulkloop.

Meanwhile we found another thread in cypress community where the issue looks somewhat similar to the one we are facing.

FX2LP communication problem under Windows 10

We will try this out as well

Regards,

Gowtham

0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, we updated the driver as suggested in the other thread I shared with you yesterday. There is no change in behaviour. This is FYI pls.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

It should not be a driver issue as Explorer kit was enumerating fine on the Gen8 PC. Please install the latest version of FX3 SDK from the following link.

https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit

After installing the SDK, please bind the device to the driver that comes along with the FX3 SDK.

Please let me know  the following:

1. if the enumeration of your custom board as bootloader device is still random or not.

2. if the VBUS from the PC is stable or not.

3. Share the schematics of the design so that we can review it on our end.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, as suggested by you, we installed the latest version of the SDK from the link shared by you.

Pls note that I didn't find any driver as part of the SDK kit & hence I downloaded the driver ver. 1.2.3.20 from Cypress & updated the same.

Also I noted that the following point in the link shared by you. Since I am using Windows 10 OS, the below statement looked confusing

//USB Suite Zip - A zip archive containing windows host driver, C++ & C# API libraries, and the control center, bulkloop and streamer applications for 32 bit platforms (Windows XP, Vista, Windows 7, Windows 8 and Windows 8.1) and 64 bit platforms (Windows Vista, Windows 7, Windows 8 and Windows 8.1)//

1. After this, the enumeration of the device as bootloader is consistent. But when I try to flash the binary, the device disappears from control center with the message as either "device failed to enumerate" or "no device found" or "program succeeded". This behaviour is very consistent. I also see the message "USB device not recognized" once in a while.

2. All the while I monitored the VBUS supply on the CRO & it is constant at 5V all the time. No fluctuation/drop seen.

3. Do you need the entire design schematic or only the USB part?

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

First of all the driver ver 1.2.3.20 comes along with latest version of FX3 SDK. You can find it in the following path:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver\bin\Win10\x64

Note: This path depends on the installation directory of FX3 SDK.

As the device is enumerating as bootloader device properly now on Gen8 PC, we can debug why the device does not come up after programming the device. For this, please let me know the following details:

1. Are you programming the firmware to RAM?

2. According to my understanding, you are using Bulkloop SDK example. Please let me know if Iam wrong.

3. Please let me know if the firmware is written to enumerate the device as USB3.0 device or USB2.0 device. This can be found from the second parameter of the API CyU3PConnectState() of the application firmware. If the second parameter is CyTrue, then the device should enumerate as USB3.0 device. If the second parameter is CyFalse, then the device will enumerate as USB2.0 device. Please try programming the device by setting the second parameter of this API as CyTrue and CyFalse and let me know if the enumeration is successful in any of the case.

4. After programming the device, make sure that you check the device manager irrespective of the message shown in control center.

5. Please share the full schematics with me.

Please let me know the above details.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, below are my answers:

1. We tried programming the firmware to RAM & EEPROM as well. The result is same.

2. We have been trying to load the firmware which is custom built for our application & given by our software team. Pls note that I am system design engineer & more into hardware. If you need any more sw related details, pls let me know. I can get the answer from the relevant team.

3. Firmware is written to enumerate as USB3.0 only, since the same firmware works fine on the Gen 7 machine.

4. Yes, once the program is done, we checked for device detection on both: on control center as well as device manager. It disappears on both.

5. Is there as way where I can mail you the schematic design file other than sharing it here on the forum?

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

Please try testing the .imgs that Iam attaching along with this response and let me know if you are still not able to see any enumeration. Also, please ensure that you check both device manager and control center programming the firmware.

Also, please share the schematic to my mail ID. I will sent you my mail ID as a message.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Jayakrishna, attachment missing in your previous response?

Also pls note that I have mailed the schematic file of our custom board for your reference.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

I received the schematics that you shared. Please check once again for the attachment in my previous response. Please let me know if it is still missing.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Jayakrishna, I received the img file & tried the USB3.0 binary. The result is same. After flashing the image, we see the msg in the control center as "program succesful" but disappears immediately in control center & device manager as well.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

Please let me know if both the .imgs failed or not.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes
GoBN_4706056
New Contributor

Jayakrishna, USB3.0 image fails. For USB2.0 image, binary flashing to RAM is successful. Once flashed it gets detected as Cypress streamer example device.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

I went through your schematics and found that the 0.1uF de-coupling capacitors were missing on the TX lines (pins A5 and A6 0f the U Port). Instead, they are added to pins A4 and A3 of the U Port. Please remove the de-coupling capacitors from A4 and A3 and connect them to A5 and A6. Also, please check if your design passes all the checklists for layout mentioned in Table 11 of the following Application Note:

https://www.cypress.com/file/139936/download

I will again go through your schematics and let you know if I find anymore mistakes.

In addition to this, please do the following tests for me:

1. Connect your custom board to the USB3.0 port of the Gen8 PC and try to program the device with both the firmware images that I shared in my response 21.

2. Connect your custom board to the USB2.0 port of the Gen8 PC and do the same as the first test.

Please let me know which combinations passed and which did not. If you have already tested this, please let me know the result.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

0 Likes
GoBN_4706056
New Contributor

Hello Jayakrishna, thank you very much for identifying the issue. We moved the series capacitors to A5 & A6 & it is working fine with with Gen 8 laptop now! But still wondering how the capacitor placement will differentiate behavior with Gen 7 & Gen 8 laptops.

Nevertheless since it is working fine now with both Gen 7 & Gen 8, appreciate your commitment & support in resolving this.

Regards,

Gowtham

0 Likes
JayakrishnaT_76
Moderator
Moderator

Hello Gowtham,

Thanks for the update. Glad to hear that the issue is resolved.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes