[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: basic anti-EMI design q



> last time I had to work in a hostile environment, I threw away the
> solid state dumb waiter controller and replaced it with latches and
> a simple state machine made with mechanical relays!  No more
> interaction between the dishwasher and dumb waiter :)

Well, the alternistors end up driving mechanical relays anyway.  It's
a chain - I/O port to FET (1mA), FET to opto (20mA), opto's triac
driver to alternistor (0.8A pulse), alternistor to relay (1-3 amps),
relay to 120VAC motor (1/8-5HP).

It's not the drivers that mess up, it's the octal latch.

> Do you have a way to tell how the interference is getting in?  Is it
> the supplies or the signal lines?

The only thing I've *seen* is a pulse on the latch line from the
computer to the latch.  Remember, I'm just using the parallel port,
and there's a 10 foot ribbon cable connecting it to the board.  It's
one of the things I'm trying to get rid of ;-) However, the pulse
looked digital, not like EMI, except that the software couldn't have
put it there (the timing didn't match the "real" signals).

Occasionally I see the results of glitches on the LCD panels, which
means the 9600 baud line is getting corrupted some too.  But since
it's bit-banged, that could be the latches too.

But my 32Ms/s DSO only goes to about 10MHz or so before the
attenuation is limiting.

> If you do split the planes, the big thing to keep in mind is all
> currents flow in a loop.  So pay attention to the complete current
> loop and make sure it flows where you want.  If you don't pay
> attention to this, you can split the planes in a bad way and do
> worse.

I've figure out that keeping power and ground paths together is one
key thing, and watch where signals go and return.

But the cs8900a has separate digital and analog pins; I assume they
did that for *some* reason.

Amusingly, the M32C is a split power chip too!  One half (physically)
of the chip has one power/ground pair, and all the I/O pins on that
side use that pair, and the other side has its own pair.  Thus, you
can have both 5v GPIO and 3.3v GPIO, or 5v GPIO and 3.3v addr/data
busses (all the I/O which double as CPU interfaces are on one side),
etc.  Not sure I need this, and it complicates the power system
anyway.

> As an example, I helped someone with a board where the 13th harmonic
> (no kidding!) of a clock oscillator was getting into the IF path of
> a receiver via the power supply and then mixing with an LO (or maybe
> it was a harmonic of the LO) and producing an in-band interference.

Just hit something like this a week ago.  Rebecca (my daughter) and
her friend wanted to do a remote beeper for their science fair (she's
13).  They salvaged electronics from an old R/C car, but as soon as
the buzzer got power it messed up the radio and shut it down again.
Ended up using the radio to discharge a capacitor (fast) and let the
buzzer recharge it (slow) so the buzzer and radio didn't have to be on
at the same time.

> The next benefit came from a small series resistor at the output to
> limit the risetimes of the signal at the load.

I have been reading a lot about small series resistors on fast lines.
I don't know if 32MHz signals qualify, though.  None of the app notes
mention them.  The xscale requires them at high clock speeds.

> In your case, I'd look at using opto isolators or transformers where
> possible for driving those off board signals.  That confines the
> currents induced in that loop to a specific spot which doesn't
> include your power supplies.

I was planning on FETs for the same reason; the high impedance on the
gate (inherent and resistors) provides a lot of isolation; I don't
*need* opto isolation just for the electricals; it's all +5 signaling.

One of the first steps when I get serious about it is to design the
I/O blocks, and post them.  There's a couple of stages of filtering in
them, yet they should still be usable as generic three-state
bidirectional ports.

> If the supply into your board is particularly nasty, which is likely
> the case, at a minimum you should put some filtering on it right
> where it comes in.

The switcher's app notes talk about those.

> Be sure and address both differential and common mode signals.  X
> and Y caps in line filtering terms.  In other words, put some C
> between the lines and also to ground.

The switcher only provides +5 and ground.  What's the third line?

> For an AC signal, you can put a common mode choke on the incoming
> line.  By this I mean, take the pair of wires that bring 24 VAC in
> and wrap them around a magnetic core.

This can be done just off the board, yes?  Just a ferrite on those
lines?

> Actually, on this topic, differential signalling for off chip 
> signals and some common mode filtering may give some benefit.

The wires and thermos are already there.  I had 8 conductors installed
to each, but I think one quad got hit by a nail or something, because
it's stone cold dead, so I can only rely on four conductors.  I
suppose I could do PoE style signalling, but there's not a lot of room
in the thermostats.  That's where the 1wire and 9600 baud go; I can
put specific filters on those if needed, although I'm trying to keep
the core board design generic, or at least hackable.

Unless you know of a two-wire bidirectionall differential signalling
that works with a tssop on the thermo end; that's about all the room I
have in there.  Otherwise, I may end up putting a CPU in the thermo
and packetizing those links for fault recovery.

> Also, many regulators don't have stellar rejection of glitches at
> their input so you might look specifically for that when picking
> one.

ACON series CX isolating regulator.

> If you can tolerate it, you might be able to improve things by
> cascading 2 regulators.

Not a lot of room for that, and they're *expensive*.  I did try
replacing one of the three bulk caps with a bulk inductor, but there
wasn't enough room for one that would do any good, and there was a lot
of ringing.  I'll stick with what their app notes call for ;-)

I suppose using a 9v main and a non-isolated 9-5 switcher would be
feasable, but there should be enough inductance in the one stage.  I
suppose I could test it once I start collecting parts.

> Take a look at some of the EMI filters made by companies like
> murata.  Those can be quite effective on supply lines.

Thanks!