I posted a few days about ago how our product failed ESD testing. Well, it also failed radiated emissions testing so I thought I'd make a separate post.
The product is a 5V USB powered, non-radio, 3v3 LDO regulated, 2 layer PCB inside a plastic enclosure. Here's the test report:
Also attached the results when we disabled USB data transmission. Clearly the USB module is the cause of failure.
The technician who performed the test also used those portable E-field probes to pinpoint the source of emissions in the area around the USB connector. Truthfully I couldn't tell how he got that looking at the same monitor but I trust that from his experience he could interpret the noisy graphs of the field probe’s monitor.
He said that the USB data lines may not be properly terminated, to which I responded that had I used different R and C values the victim frequencies would just be different and the product would still have failed but at different frequencies. He agreed and said that’s a common issue when trying to filter out harmonics so he then suggested that I should consider either shielding more (?) or find a better connector. (currently using the one below - pretty standard)
I would like to have your feedback on hardware and firmware interventions that will help us pass next time.
Hardware
Do you have any suggestions for a "better" cable/connector USB solution? Alternatively, do you think it's possible to custom order thousands of the current 2mm pitch cables but with extended shielding such that the data lines are unshielded for a shorter length? Most examples of cables terminated this way (by stranding out the 4 lines and the shield to a 5th line) have a similar length of opening from the isolation of the shield to the connector.
Here’s the schematic of the current termination. The MCU pins are only 2cm away from the connector and we’ve placed several ground vias around the termination connecting to the bottom ground plane, much like explained in "In a 2 layer PCB with a top layer densely populated, from an EMI & EMC point of view should the ground plane be on top, bottom or both and why?".
Are there any suggestions for improvement? I believe our problem is similar to "Radiated Emissions", to which an off the shelf filter is suggested as a solution. Would that be an external ferrite bead around the cable cord? Ideally we wish to get away with not using that.
Firmware
The USB is configured as a FS composite device and the system is running at a frequency of 100Mhz.
- Can one please explain how the USB data transmission rate and system frequency contribute to the excess emissions respectively?
- Is my intuition correct that reducing the system frequency would limit emissions although according to the technician it's “a USB issue”?
The way we are thinking of tackling this is to have a test plan for the firmware at our next lab visit, which unlike hardware, can be very quickly updated on the spot until we get emissions under the limits. We need advice on how to specify these firmware tests.
EDIT - Updated Layout and test plan
Thank you all for the answers. I've taken everything into account and here's what I'll do:
Have a couple of ferrite clamps at the next lab visit and find a way to prototype a custom shaped shielding can to be placed around the USB connector and be tied/shorted well to ground.
Remove the FB from shield to ground and tie the shield to the ground plane through a 0 ohm resistor with less thermal relief on the pads. On the Vbus line I will change the FB to one with a 500mA current limit and 1k resistance @100Mhz. On the data lines I'll introduce ESD protection + common mode choke with the ECMF02-4CMX8. It has a 90 Ohm attenuation at 100MHz which I figure won't do much to reduce noise at 37 MHz, so I'll keep the RC filter that follows and increase the resistance to 100 Ohms for a ~33Mhz cutoff frequency. By probing the data lines on the oscilloscope I see a D+ and D- frequency of 6Mhz (I was expecting to see 12MHz given it's USB_FS), so I believe a cut-off of 5 times the data line frequency won't affect the eye diagram really badly.
and 4) From what I gather, the system clock frequency in itself doesn't cause emissions, but rather contributes to emissions if noise is coupled to whatever can act as an antenna in the circuit. In my case the cable can act as an antenna, especially it being splayed unshielded for 1 cm prior to the USB connector. However there doesn't seem to be any obvious noise coupling from nearby traces so it is still not clear to me what to blame for the 50dBuV/m noise at 37MHz and 49MHz. I will assume it is the data transmission rate and ask my firmware colleagues to prepare a test code with a slower transmision rate for our next visit.
As for the answers I'll accept Tim's by popular demand although each answer really contributed to forming my next course of action.
updated layout: