17
\$\begingroup\$

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:

Failed emissions

Also attached the results when we disabled USB data transmission. Clearly the USB module is the cause of failure.

passing without USB module active

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)

USB cable

I would like to have your feedback on hardware and firmware interventions that will help us pass next time.

Hardware

  1. 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.

  2. 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?".
    schematic

And the layout:
enter image description here enter image description here enter image description here

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.

  1. Can one please explain how the USB data transmission rate and system frequency contribute to the excess emissions respectively?
  2. 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:

  1. 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.

  2. 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.

  3. 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:

enter image description here

\$\endgroup\$
6
  • \$\begingroup\$ Comments are not for extended discussion; this conversation has been moved to chat. \$\endgroup\$
    – Voltage Spike
    Nov 16, 2022 at 5:10
  • \$\begingroup\$ Clarify - are you stuck with the plastic case design as-is? A metal case is out of the options? Can you do any post-work like metallic spraypaint inside the case to provide some shielding ? \$\endgroup\$
    – Criggie
    Nov 17, 2022 at 0:29
  • 1
    \$\begingroup\$ @Criggie yep. No mechanical redesign at this point. Just a PCB redesign in the works. Is spraying the inside a manufacturable (in mass) technique? \$\endgroup\$
    – Geo
    Nov 17, 2022 at 9:19
  • \$\begingroup\$ Your usb cable is clearly acting like an antenna. You should revise the shield connection to the GND plane, i think it radiates GND noise from your PCB. 2-layer is always tricky with fastspeed designs. If it was for me, I wouldn’t connect it at all as a non-host, or RC parallel. \$\endgroup\$
    – RemyHx
    Nov 18, 2022 at 5:30
  • 1
    \$\begingroup\$ @geo a 4.7nF 250V according to Cypress. And yes with a 1M Ω \$\endgroup\$
    – RemyHx
    Nov 18, 2022 at 14:21

6 Answers 6

12
\$\begingroup\$

Two glaring errors:

  1. Unshielded cable.

    It might not be fully unshielded, but a few cm of unshielded length is enough to be a problem.

    USB over plain pin headers is generally a bad idea, and only reasonable where the immediate noise environment is quiet and shielded. These assemblies are commonly used inside PCs, where the metal enclosure provides such an environment. The connector shell must be grounded to the enclosure in that case.

  2. Bad ground: ferrite bead in GND/shield return path.

    This very specifically increases the AC voltage drop across the ground-return path. This is almost always bad.

    In particular, USB's J and K symbols are unbalanced, so drive the cable with full logic level high/low together. The displacement current drawn by the cable (Vcc/Zcm) flows through the ground-return impedance, creating a voltage drop, which is exactly the common mode voltage measured externally.

If ferrite beads are needed (say to dampen resonances on the cable, or to choke AC currents between the connector shell's chassis ground, and local circuit ground -- a common mode voltage which probably shouldn't exist in the first place, but may be tolerable given other mitigation), then it should almost certainly be around the whole cable, as a common-mode choke. Note that board-level components aren't very available (you'd need a 4+ line data type choke) so the cable bead is the preferred solution here.


Note that appnotes, and indeed real products, often put a ferrite bead on the ground-return path. This practice is even supported (in the sense just that you can find the schematic..) by the standard itself -- they do indeed suggest such an arrangement -- when suitable. As mentioned, such a case might be helpful with a metal enclosure. That's about it. It is very specifically a poor solution for simple plastic-enclosure devices.

Then, how do they get away with it?

I'd be shocked if they ever do the tests (emissions or immunity). They might not need to either (i.e. if it's not sold as a stand-alone, commercial product: there are exemptions for components, dev tools, and lab equipment). Simple enough: no one complains. Or if they do, it's easily dismissed as excessive noise in their lab, rather than the fault of the device. Or if they do, the complaints don't reach the necessary people -- never underestimate the bureaucratic barriers in a large corporation.

\$\endgroup\$
5
\$\begingroup\$

If it's the cable radiating you might be able to get away with just slapping a ferrite inductor on it. I might be worth just trying that just to see what happens.

But if it's the connector (and splayed cable near the connector ) radiating then you'll have to put inductance on the PCB as suggested. Typically the shielding of USB needs to go to the PCB for these reasons.

You could find out by putting copper tape (with kapton tape underneath it, and ground the copper tape well) around the connector and see if that helps in the meantime if you're still the testing lab just to see if that's the solution. You want to try and come up with ways to fix the problem at the testing lab if possible

\$\endgroup\$
2
  • \$\begingroup\$ I'll certainly be more prepared at the lab next time. Maybe bring some foil, a soldering iron and spare resistors to change the cut-offs. When you say inductance on the PCB, do you mean having to add series inductors on the data lines? \$\endgroup\$
    – Geo
    Nov 15, 2022 at 16:51
  • 3
    \$\begingroup\$ Based on the low frequency emissions I would bet money that the cable is radiating. I would definitely try slapping a ferrite on the cable to see if that can solve the problem. It may be possible to keep the ferrite hidden near the JST connector. I would also try replacing L1 with a 0 Ohm jumper to see if that helps. Sometimes that can help and sometimes it can hurt. \$\endgroup\$
    – user57037
    Nov 16, 2022 at 3:57
3
\$\begingroup\$

A common mode choke on D+ and D- is essential along with a 4 layer circuit board to keep any high frequency stuff confined to your PC board.

From reading discussion here I believe that you should drop your R/C type filters. Properly selected ferrite beads are far superior filters for this type of issue.

When you have a plastic enclosure and "ordinary" type USB cables trying to suppress emissions (either radiated or conducted) with special cables and or connectors rarely will work and adds unnecessary expense. Focus entirely on your PC board as I mentioned above.

You also should have transient protection diode arrays on each USB port for ESD clamping and protection.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Unfortunately, USB isn't very amenable to CM filtering. About the most you can get away with is a 100 ohm data-pair bead, which helps a bit for High Speed; the impedance is low enough not to corrupt the J/K symbols. More is acceptable for Full Speed-only operation, but not enough to deal with the full 30-100MHz harmonics shown here. Choking the whole cable, will do the job; but it might not be practical (big core with multiple turns!). Improved shielding is the best strategy here. \$\endgroup\$ Nov 16, 2022 at 20:14
3
\$\begingroup\$

Consider the shield pin to be the 0V reference for EMI purposes.

At low frequency, your GND is 0V and power is 5V.

At high frequency, your GND is -2.5V and power is +2.5V because of L1. Data will move in between them.

But at the other side of the cable (host), the GND pin is still at 0V and power at 5V, even at higher frequency.

That means the common-mode voltage of your board will constantly float around at high frequencies which are blocked effectively by L1. He detected it with an E field probe, not a magnetic probe, so the loop areas are not the main issue here.

I suspect that replacing L1 with a short will make it much much quieter. Only then, will you see potential further issues.

Others said to include common-mode filters. But think what they do: They clamp the common-mode voltage of something to a filter node. If you filter to your GND, then these filters are useless, because your GND is already common-mode infected. If they filter to the shield pin, they bypass L1, which can be had cheaper by just shorting L1.

\$\endgroup\$
2
\$\begingroup\$

1 - I suggest you use an EMC filter. They are designed specifically for this situation (see image below).

2- You should also get the impedance of the capacitor by testing it on a network analyzer, or find the datasheet. You want to know what the resonant frequency. This will help you see if the cap is behaving like a capacitor at the frequency you are failing. Do the same for the inductor and plug those values into spice to see how good your filter is.

3- Changing the frequency should change the frequency of the emission at least. Try testing with low speed mode.

4- When doing Radiated emission, you need to think of your module as an antenna. The way antennas work is by a change in current or voltage.

enter image description here

\$\endgroup\$
4
  • \$\begingroup\$ 1.Isn't the EMC filter just an RC filter in the IC? I copied the valus from this st.com/en/protections-and-emi-filters/emif02-usb01f2.html. TVS diodes won't be required because there's no exposed metal connection. 2. Could you elaborate on what I am looking to find once I find those datasheets. For example the bead specifications are written on the schematic, is that helpful? \$\endgroup\$
    – Geo
    Nov 15, 2022 at 16:48
  • \$\begingroup\$ There are many different types of filters. Low pass, high pass etc. You already know which frequencies are causing problems, you need to design (or tune) the filter to perform better at those frequencies. \$\endgroup\$ Nov 15, 2022 at 20:36
  • 1
    \$\begingroup\$ @Geo you do have an exposed metal connection, it's just at the far end of the captive USB cable. \$\endgroup\$
    – Ben Voigt
    Nov 15, 2022 at 22:47
  • 1
    \$\begingroup\$ @BenVoigt makes an excellent point: because the cable isn't fully shielded, a fraction of the ESD pulse will drop across that unshielded length. This puts, probably on the order of a few hundred volts, into the receiver. If the unshielded section is minimal, at least; it can always be worse of course. \$\endgroup\$ Nov 16, 2022 at 20:05
1
\$\begingroup\$

Your radiation could be coming from VBUS, GND, the USB pair, or all three.

You should try isolate which of these is causing trouble. That said, applying a common-mode filter to the USB pair is a good strategy.

Some other ideas:

  • Keep the USB cable and shell connection separate from your board GND. Connect them only with a resistor or ferrite.

  • Add some bypass caps for GND and your local power supplies, closest to your radiating ICs.

  • Look at your layout for opportunities to reduce the USB pair loop area.

  • Have your USB pair couple to adjacent GND shapes to help get closer to a desired single-ended impedance.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.