Design considerations for (2m) long signal lines

I'm working on a microcontrolled LED lighting setup in which breakout boards with eight outputs each would be connected to the microcontroller board by cables (CAT-5 is what's on hand) at a length of somewhere between 1m and 3m. The breakout boards would contain some sort of D-type flip-flop or latched parallel-out shift register with outputs connected to transistors that then drive the LEDs. Using a shift register would have three signal lines (signal, shift clock, latch clock) and two supply lines.

I need sort of a run-down of the design considerations I need to account for, and I'm not sure where to look. Are decoupling capacitors (say, .1uF) going to be enough to keep the ground stable? Will putting Schmitt triggers on all the input signal lines of the breakout boards help? Without resorting to differential signaling, what limits will I run into for the data rate? Will a long cable make a significant addition to propagation delay?

Thanks in advance for any insight... PSM

Reply to
Peter S. May
Loading thread data ...

Sounds like a job for RS485 drivers and receivers. Look for MAX485 and equivalents.

--
John B
Reply to
John B

Is there anyway to do this without overcomplicating things? It seems like too simplistic an application to bother with any but the TX line, which I'm guessing _could_ be done, but then how would I clock the latch?

Reply to
Peter S. May

Yes, it is way to complicated and not likely to be needed. For modest speeds and modest lengths of cable you can use the following:

The drivers are HC buffers with a resistor between its output and the cable. The resistance of this resistor should be something like 1/3 the characteristic impedance of the line.

The receiver end has a pair of Schottky diodes clamping the signal to the rails and then perhaps a small resistor (50R) to the input of a

74HC14.

For a lossless line with correct matching, the swing on the two ends are equal. The 1/3 Z0 resistance would make the swing at the cable end 3/4 of the Vcc if the far end was correctly terminated. The far end is in fact allowed to swing by Vcc making the line appear to be mismatched at the far end. You get some reflections on the cable as a result but they are not enought to cross the boundary of the 74HC14.

Reply to
MooseFET

Sorry, I think you misunderstood me. I just meant translate to RS485 levels for the long cables as below. OK, so it's not a cost effective solution, but will be totally reliable and noise immune. It really depends if the OP is just making a one-off.

|\\ RS485 levels |\\ Clock In | \\------------------------| \\ Clock Out ----------| \\ | \\---------- | / | / | /------------------------| / |/ |/

|\\ RS485 levels |\\ Data In | \\------------------------| \\ Data Out ----------| \\ | \\---------- | / | / | /------------------------| / |/ |/

|\\ RS485 levels |\\ Latch In | \\------------------------| \\ Latch Out ----------| \\ | \\---------- | / | / | /------------------------| / |/ |/

(created by AACircuit v1.28.6 beta 04/19/05

formatting link

--
John B
Reply to
John B

Probably.

Absolutely. Even better if you put an r-c lowpass filter at the input of each schmitt, to nuke any cable ringing. Use HC-type schmitts.

If you run single-ended, unterminated, and use maybe 1 us tau r-c's in front of schmitts, figure 200 kbps is safe, 2.5 us high/low levels. A hundred feet of cable would be OK, if you don't have ground loop problems.

If you need to go faster, more care will be required, preferably terminated differential levels.

John

Reply to
John Larkin

I think cat5 is around 5ns/m so that shouldn't be a problem and all signals will be delayed the same anyway.

if have fast edges and the cable isn't terminated correctly you will get reflections that might result in the receiver seeing multiple clocks for every clock edge.

if you slow down the edges noise right as it goes through the threshold. might result in the receiver seeing multiple clocks for every clock edge. using Schmitt triggers on the clock inputs should help on that

the data signal shouldn't matter, the value should have settled before the clock edges

-Lasse

Reply to
langwadt

I'm with you on this. I don't see that the other methods suggested so far offer a substantial savings at all, and I think they may be considerably underestimating the data rate (which seems to be at least

100kbps based on the description). And once you double everything (cable length, data rate) for the inevitable future expansions the case gets even better.
Reply to
Mike Silva

Well, if you're going full-goose bozo, you might as well use twisted-pair ribbon cable:

[Mind the wrap: I've put the brackets but it still might not be clickable; just copy/paste if that's the case.]

But it still seems like overkill for 6 feet. I'd be happy to drive 6'(2M) of ribbon cable with HC logic, interleaving signals and ground, albeit it takes the same number of conductors, but they don't have to be twisted. (and all the standard goesinta-goesoutta interfacing schtuff.)

Cheers! Rich

Reply to
Rich Grise

I understand what you're saying. I would only say that once he adds the HC drivers on the PIC side and the Schmitt trigger (and maybe some RC) on the shift-register/LED side, it's hard to see that as _much_ simpler. On top of that I did automatically double the specified length and assumed a fairly high data rate (figuring he didn't want to spend all of his time just outputting bits, but rather wanted to squirt them out pretty quickly and get on to other processing tasks). But it's only to the good to have the different suggestions all spelled out, and he can decide which one he wants to try.

Like I said, I am genuinely interested in other people's suggestions as well.

Reply to
Mike Silva

No, I didn't misunderstand. Note that the OP has 3 meters of cable, and signals from a micro. The cable is short.

Reply to
MooseFET

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.