Ferrites in power supply good or bad? How to reduce noise on VCC? - Page 1
Forum section: electronics / projects

author: jmaja
author_rank: Frequent Contributor
timestamp: October 26, 2013, 01:42:34 am
content: I have a noise problem in my desing and I'm trying to find out where it comes from. I have 8-30 V input (now 15.6 V from my lab power) + ferrite + buck converter to 5.6 V + ferrite + LDO to 5 V + ferrite + LDO to 3.3. Both LDO's are low noise (20 uV RMS). Current through the 5 V LDO is about 120 mA and from that about half goes also through 3.3 V LDO.There is a microcontrollor etc. in 3.3 V (with ferrite), but it is a shutdown mode now. And there are a few sensor chips (5 V and 3.3 V and both) that are internally active (they have an internal CPU/ADC), but there are no communications inside or outside. The sensors take 90% of the current and one even has a high voltage generator from 3.3 V using an external inductor.I have measured the noises with a good quality multimeter and 100 MHz digital scope. They show quite the same RMS noise:1. Input to the PCB (15.6 V) 82 mV (shows buck wayform of ~125 kHz burst at 25 kHz intervals, FFT has clear spikes at N*25kHz)2. After Schottky diode 154 mV (wavefrorm as before)3. After ferrite (buck input) 167 mV (waveform as before)4. Buck output 48 mV (shows buck wayform of 25 kHz a bit clumpy but spike free triangle, FFT shows clear spikes at N*25 kHz + a bump around 80 kHz)5. After ferrite (5 V LDO input) 60 mV (shows buck wayform of 25 kHz superimposed with higher frequency noise, FFT is identical to 4 except clearly higher level ~100-600 kHz)6. 5 V LDO output (feedback and filter cap connected to 7) 5 mV (no signs of 25 nor 125 kHz, something small and irregular at ~80 kHz)7. After ferrite (3 V LDO input and 5 V power line) 24 mV (Something clearer at 80 kHz, FFT showns not a sharp speak, elevated region, other frequencies like in 6).8. 3.3 LDO output (3.3 V power line) 8 mV (FFT shows smaller 80 kHz region and 50 kHz and 300 kHz are a bit elevated compared to 7)9. After ferrite (to CPU in shutdown and RS485 chips inactive not connected outside) 13 mV (FFT showa almost nothing at 80 and 300kHz, but 50 kHz shows a wide peak)10. No differences in noise level or measurable differential noise in ground plane or power trace.So the noise increses (and changes) after each ferrite, while their idea was to filter out noise from the buck converter.How can I find the source of the noise without removing sensor chips? Doesn't look like it is related to lab power or buck converter? Would it be a good idea to replace some of the ferrites with zero ohm resistors? Which ones?I tried to shortcut the ferrites one by one and only one had a clear effect. That was the one after 5V LDO. When that was shorted the RMS noise on 5V power line dropped to 10 mV thus to less than half. Other measurement points showed very small changes.I also tried to feed 5.6-10 V from lab power to both sides of buck converter (thus shortcuting the buck converter), but that had no effect on noise after the 5V LDO. Thus noise definetely has nothing to do with thw buck converter.Is the noise on the 5V power line coming from the 3.3V LDO or one of the sensors? What is the easiest way to find out?

author: c4757p
author_rank: Super Contributor
timestamp: October 26, 2013, 01:51:18 am
content: Probing technique is critical here. Are you absolutely certain the noise is what you think it is?Especially: Do not use the ground clip. Instead, use a ground spring (many probe kits, even cheap ones, include one of these, otherwise make one) to ground the probe very close to the site of measurement. Ideally, measure directly across VCC and GND of the chip whose power input noise you want to see.

author: SeanB
author_rank: Super Contributor
timestamp: October 26, 2013, 05:07:16 am
content: Can you not place extra 3V3 LDO regulators fed direct from the 5V6 line to supply the high current load? As well you probably want a toroidal inductor (22 or 47uH or higher) in the supply lines along with extra low ESR capacitors ( use 22uF ceramic units here, small and easy to place both before and after the inductor) for each line. You need a large ground plane as well to provide a low impedance path back to the supply, along with

author: awallin
author_rank: Frequent Contributor
timestamp: October 26, 2013, 07:06:10 am
content: create pi-filters by adding caps to ground before and after each ferrite?what bypass caps are you using? For precision parts the datasheets usually spec 10u and 0.1u in parallel on ALL powersupply pins, placed close to the chip.

author: JuKu
author_rank: Frequent Contributor
timestamp: October 26, 2013, 07:34:05 am
content: You didn't tell us about the capacitances, so maybe you didn't pay enough attention? The ferrites limit peak currents trough them. When a part (like a switching regulator) needs current and there isn't enough local reserve, voltage is going to give and you might end up worse off. The ferrites don't eat the noise, they isolate it.

author: codeboy2k
author_rank: Super Contributor
timestamp: October 26, 2013, 12:05:06 pm
content: Ferrites aren't magic, and are usually best for suppressing RF noise , i.e. noise above 1Mhz. At your low switching frequencies of 125Khz, I think a good LC low pass filter is going to do the most benefit for you, just at the output of the buck regulator. This will do wonders. How did you even pick a bead for that low frequency? datasheets that I've seen for ferrite beads don't usually show anything below 1Mhz, and only tend to show impedance peaking at around 100Mhz or so. Ferrite beads look like resistors at high frequencies and dissipate noise in the form of heat. Below 1Mhz they look like a milliohm resistor, and really offer no benefit at 125khz.option (1) Put a diode after your filter cap, then an LC filter after that . The diode clips any negative excursions and isolates the filter somewhat from the ripple filter cap you will have already at the buck output (otherwise you get a pi filter, see option 2). The diode can be a Schottky. Just make sure the diode and inductor is rated for the current you need. The 1.5uH and 150uF gives about 10Khz center frequency. I picked those values since they are relatively small components and that center frequency gives enough attenuation for your noise levels. Since it rolls off at 20db per decade, this means it will be -23db at 100khz. -23db is a ratio of 1:0.07 so your 48mV at the buck output would be reduced by this much or so.. down to 3 to 4mv. If you have the room, it's much better to lower the center frequency even more, down to around 1kHz or less, by increasing the value of the inductor or the capacitor. I favor increasing the inductor if you have the room and can afford the cost on the BOM, only because it doesn't add any time constant to your voltage startup. But if you can bear the slower startup, then by all means use a larger capacitor and a smaller inductor for the cost savings.or (2) the second image is a pi filter, using your existing buck filter cap C1 as the first dipole and a small value LC for the second and 3rd elements. This odd, unequal value pi has a slow roll-off, but its 3db point is around 500hz and it is about 40db down at 10khz, so it has much greater attenuation than the first LC filter with the diode. I chose 1000uF for the buck output filter cap C1, but really any value output filter cap here is fine too, it doesn't affect it much.Which one you might choose depends on which space and cost trade offs you can make.cheers!

author: jmaja
author_rank: Frequent Contributor
timestamp: October 26, 2013, 01:28:49 pm
content: I have tried using the spring method for scope probing, but I didn't seen any difference on the power lines. I use only X7R/X5R ceramic caps. There is a 1210 47 uF at the buck outlet and then 4.7uF 0805 at every LDO input and output (the 5V output one was after the ferrite, which is now shorted, there is also one at the 3.3V input). Beside every component there is a 100n 0805 + at some components also a 4.7uF 0805 one.The PCB is double sided, with the back side almost a complete gnd plane, with just a few short traces stiched on the front side. Also there is a lot of ground pour on the front side with quite a few vias to back.The idea of ferrites was to filter out switching spikes, not the switching frequency, which the LDO can handle quite well. According to LTspice simulation (with taking into account DC bias of caps and cables from lab power, but just a constant current load) I should be getting ~300 uV RMS, which is much less than I need. Comparing scope and spice the wave forms are identical from DC input to the buck input at each component. A bit more peak to peak in the buck output, but still identical wave form. Still not very much different at the 5V LDO input, but then then at the LDO output completeley different. Unfortunately I didn't compare/measure before I put all the components on.I have used the buck, one sensor and one ADC before and I have gotten ~15 bits from the sensor from 19-23 bits from the ADC with shorted sensor outputs. Now I only get less than 12 bits from the sensor and less than 15 bits from the ADC.I know I need to add filters or even a new LDO, but I would like to find out where. All the sensors need stable VCC, I don't want to put separate LDO's/filters for all of them, just the one causing the noise.

author: dr.diesel
author_rank: Super Contributor
timestamp: October 26, 2013, 01:34:12 pm
content: jmaja, can you post your schematic?

author: free_electron
author_rank: Super Contributor
timestamp: October 26, 2013, 02:54:16 pm
content: Ferrites are only to keep out rf noise. They are typically used to block signals when emc problems arise.Look at the specs of ferrites ... Their impedance is speciifed at 100Mhz !You need an lc filter or an rc filter. A few ohms followed by a cap is very effectiveAnd it wont ring like en lc filter

author: qno
author_rank: Frequent Contributor
timestamp: October 26, 2013, 05:10:36 pm
content: Most importand noise reduction is the PCB.Use a 4 layer wit one as GND.Keep switching track short.

author: codeboy2k
author_rank: Super Contributor
timestamp: October 26, 2013, 05:12:36 pm
content: Quote from: AcHmed99 on October 26, 2013, 12:28:33 pmThat's a good app note you found! thanks!Excellent point about the ringing. The values I picked in my example gives the filter a Q of about 4 to 5, which is mediocre, and can be damped with a low value (i.e. 1 ohm) series resistor.@free_electron.. yes an RC filter will be easier to work with and it won't ring, but can be used only if the load current is not too high.At high currents the IR drop and power losses are too much, and the LC filter is a better choice then. At low currents, an easy RC filter is created if you split the output filter cap into two parallel caps and put a < 0.5 ohm resistor between them, making a C-R-C pi filter. I choose a 0.5-ohm resistor because this lowers the voltage drop and power losses, and the C's in the output stage are big anyways. This gives an Fc < 1khz for all C > 330uF . For bigger C values, like 1000uF or more , Fc < 100Hz

author: SArepairman
author_rank: Frequent Contributor
timestamp: October 26, 2013, 06:18:11 pm
content: I thought using RC filters on certain things (like op amp power pins) is a bad idea due to CMRR degradation, especially with any larger R.

author: jmaja
author_rank: Frequent Contributor
timestamp: October 27, 2013, 01:28:12 am
content: The idea to use the ferrites came from this AN:http://cds.linear.com/docs/en/application-note/an101f.pdfAccording to it, they nicely remove the RF spikes, witch LDO doesn't filter.The ferrites also clearly do something, since the wave form changes at the ferrite. In the attached picture (sorry about bad quality) the blue is from the buck side of the ferrite and yellow is from the LDO side of the same ferrite. Thus there is more noise on the LDO side and that noise doesn't seem to be related to the buck converter wave form since the difference of blue and yellow changes "randomly". The ferrite has filtered out the ~100 kHz noise seen in the yellow.I have also considered the ringing of LC filter, since this PCB will be powered by long cables producing a possible ringing problem with buck input ceramic cap.I did some more testing and find out that playing with the lab power voltage changed the noise seen in the sensor outputs (that is values read to PC). Keeping the voltage just below 5 V (3.3V line normal, 5V line ~4.5 V, buck not switching) kept two of the sensor in reset state while the others worked normally and showed very low noise (at or below their specs). Setting voltage to 5-5.6 V started the two remaining sensors, but the buck was still not switching. This increased the noise to the same level as with any higher voltage.So now I know which sensors are causing the noise to the other sensors. The problem is that these sensors have two 3.3V inputs and one 5V input each. Which one to filter?

author: w2aew
author_rank: Super Contributor
timestamp: October 27, 2013, 03:30:52 am
content: FYI - I did a video a while back regarding the basics of ferrite beads - maybe you'd be interested in watching it:

author: codeboy2k
author_rank: Super Contributor
timestamp: October 27, 2013, 04:27:10 am
content: Quote from: jmaja on October 27, 2013, 01:28:12 amThats a good appnote, I've seen it before. He also did a video on that appnote..QuoteI'll give you a tip. You almost always have to build 2, 3, 4 or more revisions of a PCB before you will get it right, that's just a fact. I always budget with this formula (boards I will make = layers * 1.414) , so a 4 layer board might go through 5 or 6 revisions, an 8 layer board maybe 8-12 revisions. That's just the budget so I don't get screwed on the costs, more often it's done in just 2 or 3 revisions. Anyways, here's the tip... and this saves revisions too.. I use 0 ohm resistors judiciously on the first prototype I make, and gradually remove them in later revisions when they are not needed anymore. I put them on pull ups and pull downs on all chip enable lines, so I can selectively disable a chip, especially any chip where you can't get at the leads easily, like a QFN/DFN, BGA, etc. If a chip doesn't have an enable line that is pulled up or down, then I will put a 0 ohm in series with the power pin. This way I can pull the 0-ohm and remove power if I want to take that chip out of circuit (be careful of latch-ups, though). I also sometimes put 0 ohm resistors at strategic power points for whole sections, that can be unsoldered to remove the power from whole sections at a time if needed; then I can easily feed that section externally if there is a problem, and that can help diagnose and track down the culprits. Sometimes a 0 ohm in a power track becomes a bead. I have been known to place and route but not populate pads for RC filters, LC filters, etc. the R can be 0 ohm, the C is DNI; during test and debug it might become a real RC filter. or an LC filter. same thing. I also like to put 0 ohms at the input and output of every power converter, switching or LDO, so that I can measure its input and output current draw and calculate power dissipations. Most of these are gone after a few revisions, but they are extremely helpful at the beginning stages as you try to track down sources of noise.QuoteTry them all.

author: jmaja
author_rank: Frequent Contributor
timestamp: October 27, 2013, 12:34:43 pm
content: Those are good tips and I have done some of them.I can't just depower the problematic sensors, since they are in the same SPI bus and thus would use it as power source. Also I don't really know what would happen, if I depower one of the three power inputs to that sensor. I guess I could just cut the 5 V line, since SPI is 3.3V and there are no 5V in/outputs. I wouldn't like to kill it, since they are quite expensive and difficult to rework. Already killed one while probing it and accidently shortcut two pins.I was prepared to do some PCB revisions. This is the first one and I would like to try some modifications (by cutting traces adding jump wires etc.) with it and then do the next revision (hopefully final).

author: SeanB
author_rank: Super Contributor
timestamp: October 27, 2013, 01:49:11 pm
content: Cut traces and use chokes in them then, and dead bug the caps on the board first to see if it has dropped the noise enough so the next rev will have tried methods in them.

author: jmaja
author_rank: Frequent Contributor
timestamp: October 27, 2013, 06:02:18 pm
content: It seems I have solved the problem! I first put 2*uF at 3.3V line. This reduced the RMS noise all the way from 3.3V line through 5V line and to buck output (on the LDO side of the ferrite) considerably (~50%). Thus it looks like all the noise comes from 3.3V line. Then I cut one 3.3V trace at each problematic sensor. The noise at the 3.3V and 5V lines dropped further (~4->~1 mV RMS) and the sensor output noises were below specs, but on naturally the two sensors stopped working.Then I added 10R resistors to those lines forming a PI-filter, since there are several uF caps on both sides. Noises were the same as with cut traces!

author: Rufus
author_rank: Super Contributor
timestamp: October 27, 2013, 07:00:27 pm
content: Quote from: codeboy2k on October 27, 2013, 04:27:10 amBad tip and not a fact. Just checked directories on my work drive. Of 62 boards26 stopped at issue A25 at issue B6 at issue C4 at issue D1 at issue ESetting out with the assumption that you are going to have to do it again, and again, and maybe again pretty much guarantees that you will. There are thousands and thousands of ways you can screw up a circuit and board layout. Managing to avoid all of them is a bit of a miracle, but, that is no justification for not trying hard to get it right first time.

author: codeboy2k
author_rank: Super Contributor
timestamp: October 28, 2013, 12:19:17 am
content: Quote from: Rufus on October 27, 2013, 07:00:27 pmAgreed. It's best to take one's time and strive to get a good board the first time out. I agree with that. That's why I also said (A) "for budgetary reasons" and (B) most boards get finished in 2-3 runs anyways.In your case most of your boards are done in 1-2 revs, I've done boards in 1 or 2 revs too. But I still I budget much higher.

author: jmaja
author_rank: Frequent Contributor
timestamp: October 31, 2013, 12:03:28 pm
content: Now that I have cleaner power lines I'm able to see more noise sources. Every byte out of RS422 driver causes ~30 mV p-p noise pulse in 5V line. This doesn't seem to harm the sensor noises, but is rather interesting. The RS422 driver is in the 3.3V line after a ferrite. Attached is a (poor quality) picture from my scope. The blue (above) is measured on the RS422 side of the ferrite, the white (lower, with smaller amplitude) is measured from the LDO side of the same ferrite and yellow (lower, with higher amplitude) is measured from 5V line. The white one is a saved curve, since I only have two channels. Likely a different byte was transmitted, but at least the beginning is very similar.Note how the ferrite changes the amplitude, but also the whole curve form. Actually the second and third low peaks of blue are high peaks in white. Then again the LDO (or maybe the 5V LDO?) adds a delay and amplifies the "signal".I tested to add another 4.7 uF cap in the 3.3V line (on the LDO side of the ferrite). The measurement above is done like that. Before adding the cap there was no difference in the amplitude of 3.3 and 5V lines. The new cap lowered a bit the 3.3V line amplitude, but at the same time it made the 5V amplitude higher.Is it a bad idea to have two LDO's in a row?

author: jmaja
author_rank: Frequent Contributor
timestamp: October 31, 2013, 12:45:01 pm
content: I cuntinued testing by shutting of RS422 transmissions (nothing else changed). That dropped RMS noise on both 3.3V and 5V lines to 20uV. Thus there is virtually no noise from the buck converter nor from the sensor, which caused problems before. All the noise is now from the RS422 trasmitter.

author: codeboy2k
author_rank: Super Contributor
timestamp: October 31, 2013, 10:36:37 pm
content: Good to hear you got the PSU noise under control. Now it seems like simple load transient related ripple to me.Quote from: jmaja on October 31, 2013, 12:03:28 pmAre the drivers properly bypassed at their supply lines? Are they driving long lines? Are they terminated?QuoteSince you said every bit output on the driver causes the 3.3 and 5.5V lines to have ripple noise, then try putting more capacitance nearer to the driver's source pins. i.e. bypass capacitance which provides the current needed to drive the rs422 lines.QuotePutting LDO's in series is safe and often done. The final LDO is usually the cleanest line. But current comes from the source, and if the final 3.3V device needs more current than the 3.3V LDO can supply, it will bring down all the lines all the way back to a source that can supply the needed current. I think this is why you are seeing ripple on both lines, and tells me that you need more bypassing at the device, and perhaps even larger filter caps at the LDOsQuick test.. put 100uF at the 3.3V output. If the RS422 works fine after that, then it's clear that the rs422 drivers are demanding more current than you calculated for your output caps, and you need to size your caps to provide the acceptable rippled at the needed load transients as it drives the rs422 lines.

author: jmaja
author_rank: Frequent Contributor
timestamp: November 01, 2013, 03:56:02 am
content: The RS422 driver is driving now only a 2m cable, which is not terminated. I tryed to put some more load by shortcutting the receiving end with a multimeter on 200 mA (~10 ohm, getting almost 60 mA between bytes), but it had virtually no effect on the noise. There was some change in the wave form, but not in the first part of the wave and not in the p-p value. That test doubles the 3.3V line power consumption. Same is true for disconnecting the cable, which makes the driver only drive 2 cm traces on a PCB + TVS protection diodes (24 V).The driver is a slew-rate limited one, which probably takes more current at bit changes than regular ones. The drivers (there are two, but the other one sends very little) have both their own 100nF ceramic + a common 4.7uF ceramic on their side of the ferrite. The driver datasheet advices just to use 100nF.I have used series LDO's before and with good success on the final one. This is the first time I need to have the middle one also clean of noise. I'm just wondering is LDO actually a quite nasty load, since it's trying to compensate for all the changes after it. So it kind of has gain towards higher voltage side.

author: awallin
author_rank: Frequent Contributor
timestamp: November 01, 2013, 06:03:57 am
content: I found this note by Murata which has some useful pictures (the text isn't that great..)http://www.murata.com/products/emc/knowhow/pdf/26to30.pdfWe just played with a DC2DC converter in the lab, and indeed it seems there is both differential and common mode noise.The differential noise is 'slow' ripple at the switching frequency, in our case ~130 kHz. It can be removed with a pi-filter.The common mode noise is a fast switching transient that repeats at ~130kHz, but the noise itself is much higher in frequency, maybe 10 MHz.It will not go away by any caps/inductors/black-magic you do between the outputs of the DC2DC since the noise is present on *both* COM and +V on the output.The Murata note shows two ways of dealing with this:(1) filtering caps across the isolation barrier (as mentioned before here somewhere) to the input-side GND, which hopefully doesn't contain the noise we want to kill(2) common-mode chokes on both output pins.HTH,A

author: jmaja
author_rank: Frequent Contributor
timestamp: November 01, 2013, 10:47:03 am
content: There is no isolation in this system and the noise clearly comes from the RS422 transmitter in the same system.

author: jmaja
author_rank: Frequent Contributor
timestamp: November 01, 2013, 12:57:06 pm
content: No I removed the shortcut from the ferrite between the 5V line and the 5V LDO output (feedback is still from the 5V line). I then remeausered the noise pulses. The 3.3V line on both sides of it's ferrite were not changed at all and only a very minor change at the 5V line. But at the 5V LDO output side of the ferrite there is a very clear change. The p-p dropped from ~30 mV to 9 mV. Pictures attached so the same as before + the other one showing LDO output pin in yellow. With a multimeter I can get more noise at the 5V line (~4 mV RMS) after this modification and it is showing only 200 uV RMS at the LDO output.Actually this is the same thing I noticed in the very beginning, that the LDO output is quieter than the 5V line after the ferrite, which was put there to make things reversed.There is no capasitance between at the LDO ouput, only on after the ferrite. So I can only imagine, that 5V LDO is not making any part of this noise, it all comes through the 3.3V LDO. So I'm guessing, that connectig 3.3 LDO to the other side of the 5V LDO (5.6 V line) would eliminate all the noise on the 5V line. Also maybe getting 5V line directly from the 5V LDO output and 3.3V LDO input through ferrite might work quite well.Those are a bit more difficult ro rework on the PCB I have, thus I don't know yet will I test them or not. After all I don't really have a noise problem anymore, this is just trying to learn something.

author: jmaja
author_rank: Frequent Contributor
timestamp: November 01, 2013, 02:21:50 pm
content: I did the next change anyway. Now I get 3.3V LDO input from the same spot as 5V LDO intput, thus from the buck output after a ferrite. But the modification moved also 2x4.7uF caps away from the 5V line to the LDO inputs. So now there is no cap near the 5V LDO output, but there still is a few 100nF (closest one ~2 cm away) and one 4.7 uF (~5 cm away).The result is promising. No change at the RS422 side of the 3.3V line ferrite. A bit lower p-p on the 3.3V line and no sign of RS422 traffic on the 5V line, which now has 20 uV RMS while transmitting RS422. And I get even a bit less noise on from the sensorsBut there is some new noise visible at the 5V line. Maybe due to lack of cap?

author: jmaja
author_rank: Frequent Contributor
timestamp: November 01, 2013, 03:04:59 pm
content: Now I even added one 4.7uF cap to 5V. Multimeter shows 0.00 mV RMS and I get no p-p noise from ADC while reading 15 bits inputs shortcut, thus I guess RMS noise level is at 18 bits or below.Here is updated pictute. Note that I changed scale at 5V measurement 10mV->5mV.