XEM6310 sometimes stuck


(The Questions are at the end )

I am using the XEM6310 to transfer data from the PC to the FPGA and then towards I/O pins as well as data from I/O pins towards the FPGA, towards the PC.
(Windows 7 PC)
Using BT pipes in both direction. The SDRAM is used as (4 separate) FiFo’s
Speed varies between 5 Mbytes/second up to 80 Mbytes/second.
Sometimes it is needed to place the xem6310 in an electrically shielded box with a usb3.0 feed through connector through the box wall.
When using a setup with two high quality usb3 cables (1 meter and 20 cm) sometimes USB communication errors occur. After a few minutes or a few hours.
(I do use the latest Opal-kelly xem6310 drivers, libraties etc. )
When this occurs the XEM6310 does NOT react to USB anymore. The FPGA still seems to run.
A USB analyzer indicates unexpected transactions before communcation stops. It looks like the FX3 is getting ‘confused’ and stops responding.

Disconnecting and connecting the cable results in an enumaration request that is not seen by the FX3. Disconnecting the power is the only option.
(I also tested with only the XEM6310 attached, no other devices)

In older FX3 Cypress forums, the FX3 USB was sensitive to noise generated on the FX3-FPGA interface during data transfers and other noise sources.
I assume the cable-extension does result in higher susceptibility to noise for the (weaker?) USB3 signals.


  1. Assuming the setup mentioned what things can be done to minimize 'digita; noise.
    Longer block pipe-transfers, shorter block pipe-transfers,
    short delays between block pipe-transfers ?
  2. Force usb2.0 by software ?
    For some uses it would be enough to force the device towards high-speed, instead of superspeed. One way to force this is to use an usb2.0 cable in between. Is there a way using the frontpanel API to force a device to use high-speed when using a usb3.0 cable ?
    (I did notice that on one or two PC’s when connecting the XEM6310 you sometimes (once or twice a month) get a powersurge message after which the XEM6310 presents itself at high speed)

I would be glad with any comments


Yes, it is true that the FX3 does have (what we would call) some noise immunity issues. Our products have generally been immune to these issues due to our familiarity with the part and a number of design steps we take to assure clean power to the FX3. The only product affected was an earlier version of the XEM7350 under certain circumstances. We resolved these issues on this product and also developed some tests to look for this issue with new products. In our test setup, we’re able to recreate this specific issue in a few seconds where it would normally be seen in the field in 20-60 minutes. Repeatability is key to resolving such issues.

In our tests, the XEM6310 has not had any issues related to noise immunity. However, there are a lot of things that affect this including…

  • Cable quality and length
  • Power supply quality
  • EMC environment
  • Host controller and connector quality

We have also observed that once the FX3 fails in this situation that it is unrecoverable except by power supply reset.

Unfortunately, we do not have an API to force the USB rate to High Speed instead of SuperSpeed.


Thanks for the clarification.
With the USB cable supplied with the XEM6310 we do not see these problems
Using two cables connected through a feedthrough connector in the wall of a metal box we see them.
We tried various high quality cables and connectors but none of these seems to prevent the problem during duration tests.
In the FX3 forums I did read something about getting a quality (BER) indication of the connection.
Is it possible to get these quality figures from the FX3 device ?
It would make comparing various cable and connector configuration measurements so much easier.