Simple data bus over DC Power Wires

Hi Guys,
I'm in the process of implementing some simple control nodes (just
switches) and looking for the simplest (cheapest) network protocol to
use. To date, LIN bus seems to be the best candidate. I need very
low speed, high reliability and low off-board distance (a few up to
10s of feet).
Ideally, something that could be two wire with power and data combined
would be ideal, so that the power could be distributed to power the
slave nodes. LIN is good, but it requires a 4 wire (or 3 I suppose)
interface.
I looked at ASI (Acuator Sensor Interface), but not sure how practical
it is.
Anything else on the radar screen?
Paul
Reply to
Paul W.
Loading thread data ...
There just may be:
formatting link

Reply to
Fred Bloggs
You want cheap:
L1 DC source ----))))))))----------------------- To others or load ! ! \ R1 --- C1 / --- \ ! ! R4 / R2 ! -/\/\/--- \ !--------------! ! ! ! / R3 ! Micro TXD!---!!- ! /+!------/\/\/-- Vcc/2 ! ! C2 ! / ! ! RXD!------------ ! U1 !--------------! \ ! \-!---- Vcc/2
C2, R1 and L1 turn the RS232 output of the micro into positive and negitive going glitches.
L1 blocks the AC from going into the supply or load. It is in parallel with all the others. The total inductance interacts with C2 to define the width of the glitches.
R1 damps the L1 C2 combination to make the responce not overshoot.
C1 picks the glitches off the power line and applies them to U1. U1 is configured to have enough positive feedback that it doesn't chatter.
Now all you need is software.
This method has been done over 1000 foot cables.
Reply to
Ken Smith
Just my opinion, but AS-i works great and is easy to set up. I just have one node, my first trial. 12 valves, solenoid operated with open and close proximity switches, one repeater.
Reply to
dummy
You could always go analog. Each switch has a series LC network, and the control circuit just imposes a small AC frequency over the network, and looks at the impedance. The plusses of this are of course you only need one real circuit, the others can practically be built onto a chocolate block.
Reply to
Ian Stirling
I looked there, but couldn't see anything related to multi-channel control over the DC supply wires.
I have a pal who (in later life) is resurrecting his interest in model railways. Apparently there is now some reasonably standardised method of multi-device control via the DC supply through the rails. Trains, points and signals can all be controlled via one DC supply. It is supposed to be popular in the US model engineering market, but he hasn't been able to find out any technical details yet.
Reply to
Tony Williams
I thought someone would mention this eventually. It's called Digital Command Control (DCC) and is maintained by the National Model Railroad Association. The NMRA standards are at
formatting link
are a lot of manufacturers world-wide that make the various mobile and staionary decoders, booster/command stations, hand-held throttles, computer interfaces, etc. Note that the standard only applies to the booster to decoder side, while the booster / throttle / computer network tends to be proprietary to each manufacturer. Most of the modelers I know use Digitrax
formatting link
Mike
Reply to
Mike Lamond
In article , Mike Lam> I thought someone would mention this eventually. It's called
Thanks for the information. I've bounced your reply to my pal.
Reply to
Tony Williams
what would be the disadvantage of removing U1 and all connected parts on receiving side and connecting C1 directly to RXD grounded through input impedance resistor ? Now that's inexpensive :)
As for the protection of RXD from spikes, I would consider the built-in clamp diodes (some microcontrollers have them) together with R2.
Roman
Reply to
Roman Ziak
I don't think that DCC is suitable because it looks they reverse the polarity on the rails or some crazy thing. The Siemens ASI seems to be it. It uses a simple unshielded two wire data+power cable and the network can be up to 64 slaves each of which can be multiple I/O. Noise immunity is achieved by superimposing a narrowband sinewave that is modulated by something called APM= Alternate Pulse Modulation- of just exactly what-phase, amplitude, or something else-I don't know, but the slave receivers require crystal timebases. The ASI has been around for 10 years now so that it is well-developed and supported- you can tie it into almost any other industrial control bus, or PCI, or VME, or whatever- and there are plenty of chipsets available for building a product from scratch too. It has quite a bit of protocol overhead so that custom development would not make sense unless you're building a compatible product for market- an in-house actuator control bus should use readily available off-the-shelf modules from any one of dozens of manufacturers.
Reply to
Fred Bloggs
Yes, I was quite surprised to see that. I had imagined some sort of dc rail, modulated with an mf two-tone (or something). Using a full bipolar switching scheme seems a hard way to go about it.
However it seems that the model railway market is all going DCC, so that's the way my pal will have to go as well.
Reply to
Tony Williams
Try
Paul Burke
Reply to
Paul Burke
Interesting Ken,
When you say, this has been used up to 1000 ft, you actually implemented it?
If so, how reliable was it and what kind of data rates did you get?
Thanks for the feedback,
Paul
Reply to
Paul W.
Interesting Ken,
When you say, this has been used up to 1000 ft, you actually implemented it?
If so, how reliable was it and what kind of data rates did you get?
Thanks for the feedback,
Paul
Reply to
Paul W.
Any idea what it would cost per node to implemented ASI, and how complex is it?
Now sure how much the ASI chips cost. Siemens makes them I think.
Paul
Reply to
Paul W.
If you do that, the micro gets something like this on its input:
!- ! \ ! \ ! \ ---- ------- ------------------------ ! / ! / ! / !-
U1 turns that into:
----------- ! ! -------! !----------------------------
Which is very like the other unit's TXD signal.
If the micro has an ADC you could perhaps do without the U1.
Reply to
Ken Smith
Yes and sold it to someone. The circuit was a little different because we used an LT1081 to make the signal from the micro bigger and stronger and attempted to cancel the self signal (the micro hearing its self).
It was about 100% for one side only transmitting. The self signal cancelation was a bad idea. It is better, if you can, just to only have one side talk.
Reply to
Ken Smith
How about the following circuit
L1 DC source ----))))))))----------o-------------- To others or load ! --- C1 --- ! / \ R2 !--------------! / ! Micro TXD!---! ! ! ! ! ! R3 ! RXD!---o------------o----/\/\/----! GND !--------------!
The high pass filter R2,R3,C should work with reasonable (R2+R3)*C time constant, i.e. should carry over everything from first harmonic, which is BR/N, where N = databits+stopbits+startbits.
Let's consider 2 extreme cases, one with all bits ones and one with all bits zeroes for 8N1.
In case of all zeroes (8N1):
!-! !-! !-! ! ! ! ! ! ! -!-! !-!-!-!-!-!-!-!-!-! !-!-!-!-!-!-!-!-!-! !- x S x S x S
S = Start Bit x = Stop Bit
DC component of 1/10th signallig voltage will be stripped 1st harmonic of BR/10 and everything above will be carried over. Microcontroller will receive correct data. The recessive state will be slightly negative.
In case of all ones:
!-!-!-!-!-!-!-!-!-! !-!-!-!-!-!-!-!-!-! !-!- ! ! ! ! ! -!-! !-! !-! x S x S x S
DC component of 9/10th signallig voltage will be stripped (too bad) 1st harmonic of BR/10 and everything above will be carried over. The recessive state will be negative, the dominant state will be slightly over ground. Microcontroller would not receive correct data unless DC component is restored.
As for restoring DC component, one example I can think of is if R2
Reply to
Roman Ziak
I used a pre-packaged interface card for Fisher Delta-V and field hardware from peperyl-fuchs. The valves didn't cost any more with ASI vs solenoids and limit switches. The other expense was the repeater for long distance ~$500
Reply to
dummy
A reasonable line code is to try injecting frequency division multiplexed signals over 2 MHz to 10 MHz - transmitting at a quiet part of the spectrum. At base level: 1 is a sinewave on, 0 is a sinewave off. A reasonable self-clocking constant rate line code is to use 1011 as 0 and 1010 as 1. Error correction would be performed by repeating packets larger and larger number of times in succession until a successful acknowledgement came back. The baud rate would depend again on the channel capacity - i.e. the SNR and could vary from 1 Mb/s down to 100 b/s. Just scan through the frequencies with a mixer suppressing image response by the phasing method and a suitable IF strip, followed by the final mixer and ADC. Just scan through the frequencies for activity. A packet would be bit reversed and be preceded by a framing preamble and would have a MD5 (or SHA1) checksum. There would be a 64 bit packet sequence number and a 64 bit packet type. Acknowledgement packets would give a list of packet sequence numbers. Acknowledgement packets would be acknowledged. There would be sliding windows.
That's all you need for a reliable point-to-point link over power - DEC or AC connections.
Regards,
A. Hunger
"Buses are bosons."
Reply to
root

PolyTech Forum 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.