1
\$\begingroup\$

I want to transmit three 5V 32kHz PWM signals, with fast rise and fall times (approx. 10ns), over a 2m long, 4 wire telephone cable (RJ11), with one of the middle two wires as common ground. The signals will be generated by an ATmega328P.

On the receiving end, there will be a high input impedance mosfet driver for each of the three signals (UCC27517A).

Should I be worried about the reflections and subsequent ringing that may occur? If so, how to combat them?

While researching this, I came across two different solutions:

  1. An RC snubber network (taken from Can I send PWM through 1 meter cable?): RC snubber

  2. An RC low pass filter (taken from https://www.ti.com/lit/ds/symlink/ucc5390.pdf, section 9.2.2.1): RC low pass filter

From my understanding, both solutions will limit the ringing, but which one should I use and why?

\$\endgroup\$
1
  • 3
    \$\begingroup\$ Why not use a controlled impedance cable with proper terminations? Such as 50Ω coax or (for differential signals) CAT 5 twisted pairs? What kind of resolution are you shooting for with your 32kHz PWM cycle time? If it's 10 bits that's ~30ns resolution. \$\endgroup\$ Feb 2 at 1:17

3 Answers 3

2
\$\begingroup\$

I want to transmit three 5V 32kHz PWM signals, with fast rise and fall times (approx. 10ns), over a 2m long, 4 wire telephone cable

At a rise time of 10 ns, we're talking of a bandwidth of at least 100 MHz, probably more like the 5- to sevenfold of that, if you want to reproduce the sharp edge at the output with low ringing. You can never completely eliminate ringing; math and physics will never allow that on any system. You'll want to research Gibbs Phenomenon if this is news to you!

Should I be worried about the reflections and subsequent ringing that may occur? If so, how to combat them?

The ringing is not primarily a result of the reflection, but the result of your system being much more band-limited than your signal.

Yes, that band-limitation is somewhat caused by reflections (but these should be small in magnitude- after all, you're certainly using a resistive termination at the receiver!), but also simply due to the fact that you're losing high-frequency signal energy to ohmic losses exacerbated by the skin effect, to dielectric losses in the insulation material, and worse, because causing RF EMI and thus problems with your other devices, as well as expensive visits by your national radio regulatory body, simply radiation. Your telephone cable is not a coax wire - you're building a random antenna for energy at 100 MHz upwards, and that is a very bad idea from start to finish.

(Note that your source for your first image already tells you how bad this is. You just ignored that!)

The only solution to that is to make your signal use less bandwidth on the wire, i.e., to make it rise slower, and then to recreate the sharp pulses with a receiver at the end

For comparison: 1Gb/s Ethernet does 8 ns pulse intervals, and it needs very extensive electronics at the receiving end to equalize and thus "deringify" the signal inside the receiver, to give the value of the original pulses. Your pulse shape is probably much more rectangular, so it needs more work to recover sharply, but you want to do this over telephone wire instead of cat5e twisted pair cabling with controlled impedance. That won't do.

So, forget about sending things with nanoseconds in rise time over loosely defined cabling. Instead, send the slowest signal that still defines what you want the receiving end to do well enough, and then use a receiver (in the easiest case, a Schmitt trigger) to create your edges close to the mosfet driver.

Your solutions are in fact not really helpful for that - you need to be slower at the transmitter! So, reduce the slew rate of the pulse generation, if possible. Drive an RC low pass, into a line driver, if necessary. Check your drive and termination impedances, and use something better controlled than telephone wire.

\$\endgroup\$
12
  • \$\begingroup\$ A 10 ns rise time does not have a 100 MHz bandwidth. \$\endgroup\$
    – SteveSh
    Feb 2 at 14:43
  • \$\begingroup\$ And I don't think a lot of the effects you mentioned - resistive losses, skin effect, dielectric losses - are much in play at the frequencies involved here - 30 KHz and 10 ns edge times. \$\endgroup\$
    – SteveSh
    Feb 2 at 14:45
  • \$\begingroup\$ You really can't have a 10 ns edge without a 100 MHz bandwidth, SteveSh. The argument is simple: if you need to go from low to high in that time, by adding up sinusoidals of increasing frequency, you need at least one that had 10 ns between its minimum and maximum, which is half the period. Inverse of 20 ns is 50 MHz. \$\endgroup\$
    – sina bala
    Feb 2 at 22:00
  • \$\begingroup\$ Now, you need an edge, not a periodic function. So, you need to add something twice as fast oscillating as the first tone to convert the previous high and the following lows to something somewhat constant. (If you are following this from an approximation theory perspective, you will have recognized the Chebychev polynomial approach there.) \$\endgroup\$
    – sina bala
    Feb 2 at 22:02
  • \$\begingroup\$ sina bala - All you really need to get a good 10 ns edge (10%-90%) is 35 MHz BW. \$\endgroup\$
    – SteveSh
    Feb 3 at 1:11
1
\$\begingroup\$

Of the two examples you gave, I would use the latter. The resistor in that case can be sized to dissipate a lot less power.

However, as alluded to by sina bala, the a filter or RC termination at the end of the cable probably won't solve all your problems. A better approach would be to slow down the rise/fall times with the RC filter at the transmitter and then place a buffer with Schmitt trigger inputs at the receiver to clean it up. This protects your MOSFET gate driver from getting into weird states during long transitions.

What should your cutoff frequency for the termination be? Your ringing is a function of your cable capacitance and inductance which determines the ringing frequency. I would stick to about 20 times the PWM frequency to get a usable signal and at least 50 times less than your rise time frequency to eliminate ringing, so between 640 kHz and 2 MHz. And why 50 times less? In general, you want your last harmonic to be at least 10 times shorter than your cable to make transmission line effects mostly negligible. In this case, a 2 MHz rise time has harmonics out to about 14 MHz which is a wavelength of 21.4 m, about 10 times longer than your cable.

Using a rough estimate for your cable inductance and capacitance, here's what it would look like at your receiver with no RC filter: enter image description here

And this is with the RC filter: enter image description here

Notice you still need to sharpen the edges at the receiver, but you've at least taken care of the ringing. Now why put the filter at the transmitter instead of the receiver? The answer is two-fold. First, the cable acts as an amplifier for high-frequency harmonics, and the filter will be more efficient if it kills those harmonics before they get amplified. Second, if you put the filter at the receiver, you'll get all sorts of high-frequency junk radiated out the cable/connectors before getting filtered at the receiver. This is bad for EMC, especially if you want to sell this thing or use it in an environment around other electronics.

\$\endgroup\$
1
\$\begingroup\$

I want to transmit three 5V 32kHz PWM signals, with fast rise and fall times (approx. 10ns)

That's a bit of a "doctor, it hurts when I do that" situation. There's no good reason to send this stuff with such fast edges. The slew rates have to be controlled, otherwise it won't work. You'd need a slew-rate controlled cable driver.

EMI will also be a problem, and the receiving end will be susceptible to noise pickup. Not good. You'd want the mosfets to be shut down when the cable is unplugged. So you really need an off-the-shelf solution that provides that.

with one of the middle two wires as common ground

There will be crosstalk between those signals because of that, and it'll be hard to manage unless the edge rates are controlled.

On the receiving end, there will be a high input impedance mosfet driver

That's not going to work well, as you have noticed.

Telephone cable is a bit weird, since it really complicates things, and it's on its way out. It'll be cheaper to use Cat-5 cable. At least when it breaks in the field, they'll have decent replacements available.

With a telephone cable, most likely it'd get unplugged out of some crusty old phone (in industrial settings - I've seen that happen).

With Cat-5, three RS-485 transceivers will do the job very well, one channel per twisted pair. Moreover, there is a variety of fail-safe transceivers that output idle state (logic high) when either conductor of the differential pair is disconnected, or when the differential pair is shorted together. That way the gate drivers will be in a deterministic state with cable unplugged or faulty. You may need an inverter between the receiver and the gate driver - depending on what's the "gate off" input level of the driver.

The fourth pair can be ground+power. Ensure termination on the receiving end, just in case someone was to use a cable longer than 2m. Then, with termination, the cable could be 1000ft long and the signal fidelity would be still usable on the receiving end.

The transceivers are specified for various data rates, and you'll do just fine with those that are rated for 0.5..1Mbit/s.

You could also use LVDS transceivers, but in an industrial/power application, RS-422 levels are more reasonable, and the transceivers are available in various levels of ESD hardening.

If you go for LVDS, then Cat-5(and higher), HDMI and USB-C 3.1 or better cables will all work well, since they have impedance-controlled differential pairs. I have no idea to what extent LVDS receivers deal with cable failures. LVDS is used for clocked data, often with error protection, so a "stuck low" or "stuck high" failure would be inconsequential, but when used for power device control, this would be bad news.

\$\endgroup\$

Your Answer

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

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