Signal Integrity of PWM Across Boards

In summary: The electrical interference in the operating environment is a potential issue but not too much of a concern at this point.Option 1 would be to use an op-amp buffer on each board, this would add cost, weight and complexity.Option 2 would be to use a data acquisition system to collect the PWM signal and then send that to each board.Option 3 would be to use a voltage controlled oscillator to generate the PWM signal.Option 1 would be the best option for ease of use, lowest cost, and lowest complexity.Option 2 would be better if the PWM signal could be delayed without lag.Option 3 would be better if the PWM signal could
  • #1
A.J.710
53
1
TL;DR Summary
What provisions should be made to use a single PWM signal across multiple daisy chained PCBs?
Hello,

Looking for advice/thoughts on a PWM signal going across multiple PCBs. The signal would be relatively slow (1kHz) but I've really only ever dealt with PWM on a single board or cable. The premise of this effort would be to have a PWM control signal and be able to daisy chain multiple boards of the driver it is controlling. There would essentially be 1 control module outputting the PWM and then each board would have a bus for power and the PWM line so they can be daisy chained up to maybe 8 boards in total.

PWM would be the output of a 3.3V MCU. What would be the best way to successfully implement this? Would the signal be okay traveling over 8 PCBs or should each one have some sort of op-amp buffer? Would delay to the last board then be a concern? Would keeping traces large and using an analog voltage level as control be better?

Thanks!
 
Engineering news on Phys.org
  • #2
Wow, talk about a problem with an unknown number of constraints!
A.J.710 said:
Summary:: What provisions should be made to use a single PWM signal across multiple daisy chained PCBs?

PWM would be the output of a 3.3V MCU.
That is unlikely to work directly from the MCU, the output pins have very low driving power so you will need at least a buffer or line driver to get across multiple boards.

Other things that have an impact:
  • How accurately do the edges of the pulses have to match from the 1st to last board?
  • How much does each board delay the signal?
  • What is the total maximum conductor length from 1st to last board?
  • What is the electrical & capacitive driving capability of the source board?
  • How much does each board load the signal?
  • How much electrical interference is there in the operating environment?
  • How is the system affected if one board fails to pass the signal, is that acceptable?

All of the above, and probably a dozen or so more, impact the possible answers.

Answers could range from 'Sure, just run a trace on each board from IN to OUT and tap off what you need' to 'You better make it a star connection of fiberoptic links of equal lengths and have a loss-of-signal failsafe on each board.'

Is this a one-of-a-kind board for your own use, building many for a commercial product, building one for machine control in a factory, a school assignment, how many prototype iterations can you tolerate?

Details needed.
 
  • Like
Likes berkeman
  • #3
Tom.G said:
Wow, talk about a problem with an unknown number of constraints!

That is unlikely to work directly from the MCU, the output pins have very low driving power so you will need at least a buffer or line driver to get across multiple boards.

Other things that have an impact:
  • How accurately do the edges of the pulses have to match from the 1st to last board?
  • How much does each board delay the signal?
  • What is the total maximum conductor length from 1st to last board?
  • What is the electrical & capacitive driving capability of the source board?
  • How much does each board load the signal?
  • How much electrical interference is there in the operating environment?
  • How is the system affected if one board fails to pass the signal, is that acceptable?

All of the above, and probably a dozen or so more, impact the possible answers.

Answers could range from 'Sure, just run a trace on each board from IN to OUT and tap off what you need' to 'You better make it a star connection of fiberoptic links of equal lengths and have a loss-of-signal failsafe on each board.'

Is this a one-of-a-kind board for your own use, building many for a commercial product, building one for machine control in a factory, a school assignment, how many prototype iterations can you tolerate?

Details needed.
My apologies on the lack of detail.

This is for a new design of an LED fixture. Currently R&D for work but could eventually become a commercial production product. All info is very preliminary at the moment so any suggestions can be incorporated.

I have a prototype made of the LED driver and would like to move onto designing an aluminum clad PCB adding the LEDs and provisioning it to be universal within the chain. The LED driver IC I am using is a LT8391A. These universal boards will need to have the ability to be daisy chained connecting the main power rails and the PWM line. A control board would be connected to the first board in the chain providing a PWM signal. This would have to propagate across each board feeding the PWM pin of all 8 LT8391As. I'd like to daisy chain up to 8 boards, each around 10" in length.

Total maximum conductor length I'd say could get up to about 100"

Being that this will control lighting equipment, the delay has to be minimal so no lag is seen at the end of the chain when dimming. I know there will most likely have to be a line driver from the MCU but I'm contemplating if each board will need a buffer too. I don't have any solid measurements right now since this is very preliminary but the PWM input for the LT8391A I assume is some sort of MOSFET gate/pull resistor which would mean the PWM inputs are sinking little to no current from the source. If I'm correct on this assumption then would the signal remain relatively in tact across 8 boards and inputs without intermediate buffers?

I realize this will probably have to be prototyped and tested to really see if it works. Just looking for general advice in minimizing the amount of iterations that need to be done.
 
  • #4
Please do not invent another serial communication bus! Several standard busses already exist, such as:
  • I2C
  • SPI
  • CAN / Devicenet
  • PROFIBUS
Read up on these and decide which one solves your problem.
 
  • Like
Likes Averagesupernova
  • #5
Svein said:
Please do not invent another serial communication bus! Several standard busses already exist, such as:
  • I2C
  • SPI
  • CAN / Devicenet
  • PROFIBUS
Read up on these and decide which one solves your problem.
I thought of these but I was hoping to not have to put an MCU on each board to control. The PWM signal would control a MOSFET to the string of LEDs directly controlling the visible luminance.
 
  • #6
As a rule of thumb signal propagation is similar to that of light, around 1 ft/ns, at 100" distance lag is non existing compared with human senses physiology.
 
  • Like
Likes Tom.G
  • #7
A.J.710 said:
The signal would be relatively slow (1kHz)
That makes it easier; the main thing you will need to be careful with is the slew rate of the edges of the PWM digital waveform, and maintaining a reasonably smooth ##Z_0## through the PCBs, connectors and interconnecting cables.

You might be able to use a single-ended driver for this signal (VHC244-type), but an even better choice IMO would be to use a slew-rate limited differential driver/receiver IC like this RS-485 transceiver from Maxim:

https://www.maximintegrated.com/en/products/interface/transceivers/MAX1483.html

You would configure the driver IC on your main board as Transmit-Only, and each of the receiver ICs on the PWM boards in Receive-Only mode. You would put your termination resistors on the main board at the TX IC and on the last PWM board at the last receive IC. You would need to figure out a reliable way to ensure that there was a termination resistor on that last board, even if it were replaced or moved. You could just have a 100 Ohm resistor thing that plugs into the daisy-chain output of that last board, and require that the service folks be sure to place it on the last PWM board in the daisy-chain.

You then want to look at the interconnect wires and connectors to figure out approximately what the ##Z_0## is for them. You can use twisted pair wire like CAT4/5/6 and 0.1" spaced connectors, and be careful about what signals are in the connector nearby to the twisted pair connections. The ##Z_0## of CAT4/5/6 cable is around 100 Ohms, so when you lay out your traces on the PCB for the differential pair, run them close to each other with a bit of ground guarding around them. You can use online PCB trace calculators to look at your options for spacings for a balanced 100 Ohm TL.

Also, observe the polarity of the two differential signals, so that when the single-ended input signal from your uC to the TX IC is low, all of the single-ended outputs of the RX ICs are low as well. That will ensure that 0% PWM at the uC output does not turn into 100% output to the PWM ICs.

You can do all of this single-ended instead, but it would be best to find a line drive IC that has slew-rate limiting as a feature. Also, you would use "back-termination" in such a configuration, since the line drive IC (like a 244) is not designed to drive a forward-terminated TL. Back-termination means putting a resistor in series with the output of the drive IC (right at its output, not a distance away), and tuning that resistance to be equal to the TL ##Z_0## minus the output impedance of the line driver. This ensures that the reflection off of the open end of the TL that comes back to the driver does not re-reflect back down the TL and cause ringing in the edges.

One advantage of using a single-ended slew-rate-limited drive and back termination is that you don't need to worry about how to ensure that there is a termination placed on the last PWM board. That might be enough to push you in that direction, depending on how your systems are configured, installed and serviced.

Hope that help. You can Google search on some of the terms I used to get more information, or post follow-up questions here. :smile:
 
  • Like
Likes Tom.G and Svein
  • #8
berkeman said:
Back-termination means putting a resistor in series with the output of the drive IC (right at its output, not a distance away), and tuning that resistance to be equal to the TL minus the output impedance of the line driver.
A resistor of about 33Ω seems to be a standard value (I have used it myself with good results).
 
  • Like
Likes berkeman
  • #9
Svein said:
A resistor of about 33Ω seems to be a standard value (I have used it myself with good results).
Yeah, I usually have a pretty good idea of what it should be based on the ##Z_{OUT}## value of the driver that I calculate from the datasheet, and the value of ##Z_0## of the PCB trace TL (based on a PCB calculator), but I've found it useful to actually use a potentiometer to test and fine tune that value on the final PCBA prototypes. At the OP's low fundamental frequency of 1kHz, you don't even have to use a Z-lead probe on your oscilloscope to probe the drive signal at the TX IC's output.

It's also instructive to see how much the ringing changes as you change the potentiometer away from the ideal value.
 
  • Like
Likes Tom.G
  • #10
Svein said:
A resistor of about 33Ω seems to be a standard value

Roughly the Planck Resistance! Coincidence? I think not!
 
  • Haha
Likes berkeman
  • #11
berkeman said:
You would need to figure out a reliable way to ensure that there was a termination resistor on that last board, even if it were replaced or moved.

This bus is only 2.5meters at 1kHz. Accurate (or any) termination is almost certainly unnecessary. If the provision for termination is added to the board then both with and without can be tried.

BoB
 
  • #12
Thank you everyone for the very insightful advice. This will be an ongoing project with many design changes along the way so I will take into consideration everything said. Hopefully it all works out in terms of signal integrity. At this stage I'm still mainly working on getting the LED driver circuitry itself tuned in. Then I will try the PWM to multiple drivers and try to propagate that across boards.
 
  • Like
Likes berkeman
  • #13
Svein said:
Please do not invent another serial communication bus! Several standard busses already exist, such as:
  • I2C
  • SPI
  • CAN / Devicenet
  • PROFIBUS
Read up on these and decide which one solves your problem.
PWM is an analog link, a completely different beast which predates all of these interfaces. It is by far the simplest low bandwidth way of sending one channel of simplex analog data.
 
  • Like
Likes Tom.G
  • #14
rbelli1 said:
This bus is only 2.5meters at 1kHz. Accurate (or any) termination is almost certainly unnecessary. If the provision for termination is added to the board then both with and without can be tried.

BoB

'Almost certainly' overstates it, in my opinion. As the ultimate result of the PWM is the switching of what may be significant LED currents, radiated noise is possible - 1 Khz is slow, but the edges may not be. Without a terminating load to increase the signal current, it is probable that some of that will show up in the PWM signal. It may (or may not) be enough to matter. Differences in wire routing/bundling/length could make an 'if it works, it must be right' analysis a really bad way to evaluate the design necessity of a load resistor. I would use a properly terminated RS-485 bus (if I were making more than 1 of these).
 
  • Like
Likes Svein, Tom.G and berkeman
  • #15
According to TI the maximum stub length for a SN65HVD3082E transceiver is over 10 meters at 200kbps. So for a properly terminated bus you can just put a termination resistor on the controller device and call the entire chain of lights the stub.

Now we have a properly terminated bus.

I would still put a 'scope on the end of it with extra cabling and splices etc.

BoB
 
  • Like
Likes Dullard
  • #16
For our power electronics we do not distribute the MCU (3v3) signals anywhere, for PWM we have an interface that level shifts to 15V nominal (or even 24), or fiber - often just an opto. The additional benefit here is that the controller is more isolated from the "noise" back from the field.

Then on the "decode" end in our driver PCB ASICS we have filtering, timing and other protections. For leads into the 1M range this tends to be sufficient.

Higher power (noisier) longer runs are fiber.

But it really depends on the environment as well.
 

Related to Signal Integrity of PWM Across Boards

1. What is PWM and how does it affect signal integrity across boards?

PWM (Pulse Width Modulation) is a technique used to encode analog information into a digital signal by varying the width of the pulse. This modulation can cause signal integrity issues across boards due to factors such as reflections, crosstalk, and impedance mismatches.

2. How can reflections impact the signal integrity of PWM across boards?

Reflections occur when a signal encounters a change in impedance, such as at the boundary between two boards. These reflections can cause signal distortions and affect the accuracy of the PWM signal, leading to errors in data transmission.

3. What is crosstalk and how can it affect the signal integrity of PWM?

Crosstalk is the unwanted coupling of signals between adjacent traces on a board. In the case of PWM, crosstalk can cause interference with the signal, leading to errors in data transmission and a decrease in signal integrity.

4. What are some strategies for improving the signal integrity of PWM across boards?

There are several strategies that can be used to improve the signal integrity of PWM across boards, such as minimizing trace lengths, using controlled impedance routing, and implementing proper grounding techniques. It is also important to carefully design the layout of the boards to reduce the effects of reflections and crosstalk.

5. How can impedance mismatches impact the signal integrity of PWM?

Impedance mismatches occur when there is a difference in impedance between two connected components. This can cause signal reflections and distortions, leading to a decrease in signal integrity. It is important to carefully match the impedance of components and traces to ensure proper signal transmission in PWM applications.

Similar threads

  • Electrical Engineering
Replies
2
Views
6K
Replies
4
Views
4K
Replies
2
Views
9K
  • Electrical Engineering
Replies
2
Views
4K
  • Electrical Engineering
Replies
2
Views
2K
  • Electrical Engineering
Replies
13
Views
6K
Replies
2
Views
2K
  • Electrical Engineering
Replies
2
Views
2K
Replies
12
Views
14K
Replies
6
Views
2K
Back
Top