Custom hardware - FX3 does not re-numerate

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

cross mob
Anonymous
Not applicable

Hi all,

   

up to now we had worked with a FX3 DVK Board connected via Samtec J77 to a FPGA Board without problems.

   

Now with our custom board the FX3 does still successfully enumerate with Cypress 04b4:00f3 id on power up.

   

But then after we upload (any) firmware via USB (without error) at the end FX3 disconnects and never comes back!

   

Any ideas what could be the reason?

   

Best regards

   

Günter

0 Likes
17 Replies
Anonymous
Not applicable

 Hello Gunter,

   

I've a few questions here.

   

When you say upload firmware, Are you programming RAM (SPI Flash?/ EEPROM?)?

   

Are you getting proper voltage on PMODE pins ?

   

What is the error being shown in PC after disconnect ? 

   

Is your board permenantly connected to FPGA? If not, please disconnect it and try programming.

   

Is it possible to share your schematic here? If not, please create a tech support case (MyAccount -> MyCases).

   

-PRJI

0 Likes
Anonymous
Not applicable

Hello PPJI,

   

thank you for your fast reply!

   

Regarding your questions:

   

- I am programming to RAM.

   

- PMODE pins are ok - since FX3 comes up with the correct VID/PID after power on, but I will double check again.

   

Are the PMODE pins relevant also for re-numeration or only on opwer up?

   

 

   

- there is no error shown after disconnect - it just disconnects after programming has finished.

   

- It is a single custom board including FPGA and FX3

   

- Regarding the schematic I will ask and come back to you asap.

   

Best regards

   

Günter

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hello PPJI,

   

please find the schematic in the attachment.

   

Deviations to our board are:

   

- Q1 is a 26 MHz oscillator so FSCL R32 is not populated but R33 is

   

- J1 is not connected at all i.e GPIO51 is not connected

   

PMODE is "F1F"

   

The only difference to the old working solution with the FX3 DVK Board is the 26 MHz oscillator.

   

Hope you can help.

   

Regards

   

Günter

0 Likes
Anonymous
Not applicable

 Hi,

   

 Could you please try with release build of firmware ?

   

Regards

   

Prajith

0 Likes
Anonymous
Not applicable

Hi,

   

we already tried both Debug and Release builds.

   

The result were the same.

   

Regards

   

Günter

0 Likes
Anonymous
Not applicable

Hi Prajith,

   

using the Cypress USB Control Center we at least are able to load the Cypress programmer: ID 04b4:4720 itself.

   

Starting from the silicon boot loader this means at least the re-numeration for this firmware works.

   

So I assume that re-numeration itself works but FX3 hangs on boot.

   

Can you confirm?

   

This here seems to be a similar problem:

   

http://www.cypress.com/?app=forum&id=167&rID=62523

   

Is the project source of the cypress CyBootProgrammer 04b4:4720 available?

   

Best regards

   

Günter

0 Likes
Anonymous
Not applicable

 Hi,

   

Please try with the USBBulkLoopAuto.img.txt file attached in http://www.cypress.com/?app=forum&id=167&rID=70377.

   

Regards

   

Prajith

0 Likes
Anonymous
Not applicable

Hi Günter,

Is there any difference between the DVK board and your custom hardware with regard to GPIO connections?
See here:

   

http://www.cypress.com/?app=forum&id=167&rID=61087

   

 

   

Can you attach with an ARM debugger and see what the firmware is doing?


Steve 

0 Likes
Anonymous
Not applicable

Hi Prajith,

   

we tried the USBBulkLoopAuto.img you posted and it works!

   

(at least it renumerates and comes up ok afterwards)

   

However when we try the sample project USBBulkLoopAuto (Release) which comes with the SDK 1.1 it doesn't.

   

What is the difference?

   

Is it necessary to update our SDK?

   

Regards

   

Günter

0 Likes
Anonymous
Not applicable

Hi Steve,

   

thank you for the hint!

   

We already double checked and compared the GPIO conections between DVK and custom board, but there is no difference.

   

Good idea regarding the ARM debugger. However since it seems to work with the firmware Prajith posted I'll better first try a SDK update.

   

Regards

   

Günter

   
0 Likes
Anonymous
Not applicable

 Hi Günter,

   

the jlink debugger is a really good idea. You may have a problem with the power supply of the SuperSpeed sources (RX TX) of FX3 on your board. That can be possible if USB disconnects or debugger loses connection after the functin call CyU3PUsbConnect(true, true). That just happens if it connect to superspeed. Activating the superspeed phy needs a lot of current.

   

regards

   

lumpi

0 Likes
Anonymous
Not applicable

Hi Lumpi, hi all,

   

thank you for the hint regarding power!

   

This brought us into the right direction. Now we most likely found the root cause of the problem.

   

There is an error in the schematic regarding U3TXVDDQ and U3RXVDDQ. They are connected to the wrong power domain 😞

   

Using the latest SDK 1.2.2 did not help also.

   

 

   

Until the hardware is fixed we want to try to use the board with high speed only.

   

@Prajith, what did you change in your USBBulkLoopAuto firmware?

   

Did you disable superspeed? How did you do it?

   

Did you only call CyU3PConnectState(CyTrue, CyFalse) ?

   

Regards

   

Günter

0 Likes
Anonymous
Not applicable

 Hi,

   

Happy to hear that your problem is solved 

   

Yes, I disabled it. As Lumbi pointed out I wanted to check SS block.

   

   
     You are right,      CyU3PConnectState(CyTrue,      CyFalse     ) should work.   
   
        
   
    -PRJI   
   
        
   
        
0 Likes
Anonymous
Not applicable

Hi PRJI,

   

thank you for your support!

   

FX3 worked without problems with USB2 and "CyU3PConnectState(CyTrue, CyFalse)" with our firmware also.

   

In the meantime our external service provider corrected the bug and the re-worked board now works also with SuperSpeed!

   

Regards

   

Günter

0 Likes
Anonymous
Not applicable

 Gunter,

   

Great news !!! 

0 Likes
Anonymous
Not applicable
        I am having the *exact* same problem. What do I need to do to the hardware to have it work with usb 3.0?   
0 Likes
Anonymous
Not applicable
        Coincidentally, I am using custom hardware I designed per documentation... and the file above executed perfectly.   
0 Likes