We’ve ran into the problem when we started to use Panda II boards. In the past we used Domino.
It took me some time to get the problem reproduced.
Eventually it’s getting reproduced when I rub the fabric of my chair and touch the table.
Probably some static electricity is discharged and the exception occurs.
Although it does not sound scientific, now it’s no problem to reproduce it and it happens 9 of 10 times I try.
On the Domino the exception also occurs, although not as often as on the Panda II.
Big difference is the Domino will only except one time, the next read will work again.
Once the Panda II gets an exception on the read, every next read will also except. Disconnecting and connecting the USB device again will resolve it and it’s possible to read again.
I’ve been reading about USB protection circuits and looked at some USB PCI cards and those PCI cards include some components (inductor, capacitor and resistor) located directly behind the USB Host.
For example something like this http://www.onsemi.com/pub_link/Collateral/STF202-22T1-D.PDF
As far I can see FEZ boards do not have any protection for ESD or surge on the board?
Is it necessary to use it?
Although rubbing the chair is not a real world situation, the exception occurs frequently on devices used in production environments.
Some more info about the device
Domino or Panda II (With USB Host changes)
FEZ Connect
I2C Display
Input voltage is 9V, total power consumption is about 480mA.
What did I try;
Lower voltage to 7.5 (it will reduce heat)
External 5V power supply
Used Prolific and FTDI serial to USB converters
I’ve been strugling quite some time now with this issue and this issue is a real show stopper for the project the FEZ is used for.
So watchdog is the only solution? FYI i have also expirienced this error on my Domino but never found a way to reproduce it (happens from time to time). I will have ro test my chair tommorow
@ Eric: Without any cables attached at all, that will work…
@ Gus: you have doubts if discharge is the cause of the problem at all?
I cannot think of somehting else that can link the rubbing over the fabric with the exceptions that follow.
With serial communication (232/422/485) an error once in a while is normal and the protocol should have some error detecting (or even correcting) mechanism.
But the issue on the USB is now communication is disturbed, and the device cannot continue without user intervention (disconnect and connect the USB device).
You have to be very careful trying to filter the USB data lines. There are common mode filters made for this purpose but the tact you take is dependant upon if you are using a high speed or full speed link. Take a look at Wurth for USB common mode filters.
@ pas2812: I didn’t check. I will try this tomorrow and let you know. I was using USB Host with prolific based adapter for XBee when i noticed rhis happenning from time to time
I’m glad you also experience this problem, cause I did not find any other posts about this issue or that could be relating.
We use the FEZ to connect to another device. The other device has two versions, an old with a serial DB9 connector, and a new with USB B connector (the device then includes a FTDI chip).
We use the USB-to-Serial converter to connect to the old version. The new version is connected directly with a USB cable. On both connections the exceptions occur, so I conclude it has to do with USB signal transmission.