## Power and data on the same line - easy?

8 posts / 0 new
Author
Message

Hi guys!

I'm working on a microcontroller project for university here, kind of a small p2p bus system on AVRs. The problem I'm currently facing is I'd like to use as little wires as possible, so the idea is to use a common GND and double use Vcc for data transmission.

Some ascii art sample circuitry:

```
One module/peer:

vcc --5V--(reg)--24V--  X                    <--
| X
data io --.  .--------------- EX+ ~19-29V    <->
H1  H2         X
gnd ------'--'--------------- EX- 0V         <->
X
INTERNAL      X     EXTERNAL

The power inserting circuit

ac --230V--(reg)--24V-------- EX+ ~24V       -->

gnd ------------------------- EX- 0V         -->
```

(reg) is a voltage regulator
H1 H2 is a trafo (the two coils of the trafo)
X is the device border, defining what's outside
Everything is simplified ;-) (no capacitors, no actual regulator circuit, just the concept)

The first one is one peer (several ones will be connected at the EX+ and EX- ports (EX+ to EX+ and EX- to EX-) and the second one is the power supply for all peers, connected once to the common EX+ and EX- lines.

The basic idea is to provide 24V power for all peers which they regulate to 5V for use. Then, for data transmission, peers add extra voltage to the line with a trafo. Power supply isn't affected as each peer has an own power regulator and the 24V base won't be read through the trafo on the receiver end because it doesn't change...

Voltage should be looking somehow like this over time:

```
27V         --    ----  --
24V --------              -------------
22V           ----    --

0V / GND
```

Does this sound reasonable or is the whole idea horribly wrong? Frequencies will be around 10kHz-200kHz.

Thanks for any comment!

Markus

I think the trick is to feed dc to the nodes using series resistors, then ac couple the signal to the dc bus like modem tones or voice audio. If each node just pulls a few ma, there will only be a few volts drop across a several K resistor, so you can send a nice hot couple volts peak to peak ac waveform riding on the dc.

Imagecraft compiler user

The system my primary client uses at the airports does this same trick!!

What they do is supply +15 to th ered lead. -15 to the black lead and ground the shield of the cable. Then, they use a high impedence transformer to couple the data to the system. A few resistors, and a cap or two to filter the data spikes and it works like a charm!!

The concept is not that difficult, but there is more outboard signal processing circuitry that needs to be taken into account for.

Jim

Edit:

Cannot spell THE in the opening salvo!!

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

"The critical shortage here is not stuff, but time." - Johan Ekdahl

"Step N is required before you can do step N+1!" - ka7ehk

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

If the supplies are low impedance voltage sources, the data signal will simply disappear. You need to increase that source impedance at the frequency of interest, using resistors, inductors, or gyrators.

If you think education is expensive, try ignorance.

You could just have a current loop and simply have the devices short the loop with a transistor to communicate. Just need to make sure that the data is not hanging around long enough to cause problems to the device psu. I use a similar setup on a bootloader and it happily runs at 14.4k. (this setup does depend somewhat on the device current requirements.)

oddbudman

## Attachment(s):

Thanks a lot guys!

So the idea isn't that bad after all. I'll order some parts like small trafos - I definitely have enough resistors at hand, of all sizes.

I'm not afraid of experimenting to find the right solution, but I just wanted to make sure it _is_ possible.

Thanks for your input! I guess the power supply impedance would have been the point to take a lot of time.

I guess the signal will, depending on the source impedance, drop rather fast, so I'll have to build a little circuitry to react on both positive and negative spikes as actual data and to ignore the lowering or rising curves. Like this:

```INPUT SIGNAL

high   -----------                   -----------
norm --
low               -------------------

ACTUAL SIGNAL

high   X-                            X-
---                           ---
norm --     ------     --------------     ------
---
low               X-
```

The X would be the point to react, a high X to switch µC input to logical 1 and keep it and a low X to switch µC input to logical 0 and keep it. Like a flipflop.

Markus

Alarm system manufacturers use signaling over the DC supply lines. I can't remember the details, though.

Leon

Leon Heller G1HSM