Self powered UVC Firmware based on AN75779 has cable reconnect problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
StFa_289656
Level 2
Level 2

Hello,

I have a self powered board where I have the AN75779 UVC firmware.

When the USB cable is detached and attached, the PC software doesn't recognize the USB peripheral.

It's seem a USB protocol stack problem.

Anyone Could address me to solve this problem?

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Stefano Fante,

Please confirm if you have referred to this KBA FX3™ Self-Powered Design Does Not Enumerate Successfully when Plugged into Bus-Powered Hub - KBA2188...

If this doesn't work you can probe the USB lines and share the traces. You can use wireshark for that.

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
5 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Stefano Fante,

Please confirm if you have referred to this KBA FX3™ Self-Powered Design Does Not Enumerate Successfully when Plugged into Bus-Powered Hub - KBA2188...

If this doesn't work you can probe the USB lines and share the traces. You can use wireshark for that.

Regards,

Rashi

Regards,
Rashi
0 Likes

Hello Rashi,

the configuration descriptor is ok.

my problem was only in replug the usb cable, the first time the device is always well recognized.

In my firmware I changed the API

CyU3PDeviceInit(&clkCfg) to CyU3PDeviceInit(0) as in the appnote and the  replug problem seem to be disappaer.

0 Likes

Hello Stefano Fante,

It doesn't seem that CyU3PDeviceInit API is related to the FX3 enumeration.

I tried programming the RAM with the default AN 75779 example on FX3 DVK board (Self Powered)

    CyU3PSysClockConfig_t clockConfig;

    clockConfig.setSysClk400  = CyFalse;

    clockConfig.cpuClkDiv     = 2;

    clockConfig.dmaClkDiv     = 2;

    clockConfig.mmioClkDiv    = 2;

    clockConfig.useStandbyClk = CyFalse;

    clockConfig.clkSrc         = CY_U3P_SYS_CLK;

    apiRetStatus = CyU3PDeviceInit (&clockConfig);

The FX3 is enumerated as UVC device every time i plug in.

Please refer to the section 2 of Errata  in FX3 datasheet. (Page 47)

Also let me know the clk configuration that you are using.

Regards,

Rashi

Regards,
Rashi
0 Likes

Hi Rashi,

at the moment I'm using

   

      apiRetStatus = CyU3PDeviceInit (0);

as in the appnote.

0 Likes

Hello,

Is you problem solved? I

s the device getting detected when you replug it?

Let me know the boot mode that you are using

Regards,

Rashi

Regards,
Rashi
0 Likes