I have been given a device at work to do some testing on. Basically an IC is becoming obsolete so I need to test a replacement part. Upon redoing the ESD checks, the device failed.
I checked the history of the device, and there were problems passing ESD before. There was a note from the testing facility that as the device was entirely metal (Stainless steel housing) only contact discharge up to 4kV was needed to pass (I am in UK). Apparently it failed a few times untill a capacitor/resistor was added between the USB shield and ground, and a small metal tab was introduced to add better contact between PCB ground and the metal case. This then apparently allowed it to pass.
Move on 5 years and I am redoing the tests. Each time I perform the contact discharge test at +4kV, the device loses its memory (this is a datalogging device) and it needs a factory reset and restart logging to work again. I rechecked some old ones using the previous IC and found that this also fails. It seemed that it was an intermittent problem (some devices passed 3 in 10 tests, others failed all 10 etc) so it seems to me like the pass on the ESD test previously was likely a fluke.
I tried a number of things, I put extra capacitors in parallel with the current one connecting the USB shield to ground (different values, high/low), I changed the resistor to different values (higher/lower resistance) and tried ferrite beads in parallel, and ferrite beads instead of the Resistor/capacitor as I had seen some places recommend, but still it failed. The only way I got it to pass was by grounding the USB shield directly.
Looking online I can't seem to find anywhere that says explicitly whether you should or shouldn't ground the USB shield. This discussion HERE has different views, this HERE also has a discussion on it. THIS link mentions the shield should only be connected to ground at the host, but no device should connect the shield to ground.... THIS document says the shield should be connected to the chassis. Yet, in fig 12 it seems to show the USB shield should be tied to GND plane.
There just seems to be a lot of different views on this so I am a bit unsure what to do next. Grounding the shield allows it to pass ESD, but is this something that should be done? Or should I continue to look for a better solution? If so, what is a good solution?
- The PCB is very irregular, and tight on space, making the ground plane near the USB connector very small.
- I am not allowed to change any mechanical design on this. I am just to find a solution which can be easily implemented and does not require a redesign of the PCB or product so those suggestions are pointless to make.
- This is a a work device and as such, I am not allowed to show the schematic, so please do not ask. The USB input circuitry was based on this design:
- The common-mode choke, ferrite and TVS diode protection are all in the design already.
- I am not the original design engineer. They do not work for the company any more so I am unable to find their reasoning for the design choices they made
- The device is USB 2.0
- The unit passes the test at -4kV, it is just the +4kV where it fails
And more info required in comments will be added here.
All I can show of the actual PCB is this:
You can see that the ground plance stops short of the USB socket. The large hole is where the tabs for the USB shield to have a mechanical connection to the PCB. R1 is then connecting the shield to GND, and capacitor C3 is doing the same on the other connection. The shield is connected to ground via the 100k res/100nF cap. There is a metal tab fitted to the PCB which rests on the metal chassis. According to the old ESD report, this was needed or the device failed. As far as I can see, these were the only things added in addition to that example circuit to protect from ESD.
In response to the questions in the comments:
- The failure occurs when doing a contact discharge ESD test on the USB shield (all other areas it is fine, just the USB shield it fails)
- The test occurs while the unit is logging. It is not connected to any device via USB.
- I have tried a 0R link to GND instead of the resistor/capacitor solution, but this still fails. When I add a wire link direct from the USB shield to the chassis (which is connected to PCB GND) then the issue is resolved. I believe this is because of the PCB design. The ground plane near the USB side is very small (about 12mm x 15mm). Yet the chassis is large. This is something I cannot change.
- The location of the Chassis to PCB GND tab is on a sub-PCB, with a 30thou trace to the tab. (yes, I know it sounds strange, but the space constraints were ridiculous and this was not my design!)