08 March 2013

DMX & LOR Protocols and RS-485

I'm a firm believer in understanding "why" something does what it does and what effect those systems have on performance and reliability.  It is only when a person understands the underlying systems and processes that the "mystery" of why issues occur can be understood.  One area of confusion I see with customers comes up over and over and that is the relationship that the DMX and LOR protocols have with RS-485.  First, lets start with some basics:
  • Both DMX and the LOR controllers use a protocol for communicating between a PC (usually) and a controller (AC or DC) to make lights turn on or off at a specific time.  A protocol is nothing more than a definition of how two systems talk with each other - another example of a protocol would be TCP/IP or even the English language - it is nothing more than a set of rules that both parties/controllers agree on.
    • DMX Protocol:  The DMX protocol was defined in the early 1990's by the theatrical lighting community and is codified in a specific standard usually called DMX512 or E1.11.
    • LOR Protocol:  The LOR protocol was designed by Dan at Light-o-Rama in the late 1990's.  This protocol is unique to LOR and for the most part is not publicly used by other controller vendors.  The reason this protocol was created instead of using the existing DMX protocol was because of it's need to run very slowly (19,200 kb/s) compared to DMX's 250,000 kb/s as a result of a need to run on cheap, poor quality flat telephone cable (this is why you have a phone jack on an LOR controller.)
  • Both DMX and the LOR protocols run "over" RS-485.  RS-485 is a signalling protocol that defines the physical and electrical nature of the way each system will talk with each other.  Examples of this would be the Ethernet standard or how the letters of the English language are written.  RS-485 doesn't concern itself with what protocol is running over RS-485 but simply how the controllers interact at the physical and electrical levels.  This is why you can use a LOR "dongle" and output either the LOR or DMX protocols because the dongle is nothing more than a RS-485 output device - it is the software (LOR S3) that defines the protocol that is going out over the RS-485 connection.
There are some pros and cons to both the LOR and DMX protocols and we've covered those in previous presentations.  What is more important than the protocol (DMX, LOR) is RS-485 - this is where I see the majority of confusion, misunderstanding and problems.  Here are some common questions and answers to issues surrounding RS-485:
  • You can't "Tee" or split DMX/LOR signals
    • Again, this doesn't have anything to do with DMX or LOR - splitting a signal from an output dongle does have everything to do with RS-485.  On LOR controllers, there are two RJ45 plugs (excluding the one for telephone wire) for CAT5 cable.  You'll notice that there isn't really an "in" and "out" - why?  Because it doesn't matter.  As the signal comes from the output dongle to the first controller, then to the second and so on, all that is happening is that each controller is "tapped" or "tee'd" off a single data line.  Each controller simply listens to all the data on that RS-485 data line and waits for data that indicates that it should do something (dim, shimmer, etc).  This is the exact same with DMX controllers (in most cases) - the difference on DMX controllers being that some of them have XLR plugs which have a different connection for input vs output but in MOST cases, the controller is just connected to the wire.  (Yes there are some repeating/regeneration controllers but that is often the exception than the rule.)
  • Have you seen DMX controllers that only have only an input but no output?  Have you wondered if you need to split the signal to each one or have a separate output dongle for each one? 
    • Since there really isn't an input and output for the signal in most cases, all you need for a controller to work is to "tee" the controller off of the data line.  That could be that each controller is just manually soldered to each input and then the cable continues on to the next controller or by using a passive CAT5 splitter/tee.  So, if you have a controller that only has an input, it's not a problem - just split the signal outside of the controller as opposed to running the signal into the controller and then back out.  This is the same method we use on most HolidayCoro DMX controllers.
  • I hear there is a limit to how many DMX controllers you can hookup to a single DMX output dongle.
    • It depends.  Remember here that what really is at play is RS-485, not DMX.  So DMX doesn't limit you at all to how many controllers you can have hooked up to a single dongle - RS-485 limits you.  What are those limits - well it is a number of factors:
      • Power output of dongle - The RS-485 standard allows up to 19 volts of power for signal (-7 to +12).  So, the more voltage that is used for the signal output, the better.  This is somewhat like the difference between just yelling at someone a long distance away or using a bull horn - clearly the more powerful and amplified signal using the bull horn will go much feature and be much clearer to the recipient and will also be able to more easily overcome any background noise.  While the RS-485 standard allows up to 19 volts, nearly all USB based devices are limited to the USB voltages - about 5v.  Why does this matter?  Two reasons - noise and power loss - see below for more details.
      • Length and gauge of signal cable - Since cable itself induces loss, as your cable length increases or the gauge of the cable rises (see our blog entry on cable sizes and lengths), the overall strength of the signal also drops.  Lower power means there is a lower signal to noise ratio and you start to experience problems.
      • Type of cable - When selecting wiring for RGB elements, you have lots of choices out there.  Excluding the gauge of the cable, the other major factor of cable selection is how the cable is constructed.  There are two basic methods - twisted and non-twisted.  Why does this matter?  Twisted pairs of wires inherently does a much better job of rejecting EMI (noise) - this is the reason that all CAT5 cables are designed with twisted pairs of wires.  If you selected a cable (alarm wire, SPT cable, etc) without a twisted pair for the data signal, you risk greater EMI interference over straight cable.
      • Number of devices - Each controller exerts a "load" on the RS-485 line.  This basically means that as each new controller is added to the RS-485 line, it "sucks" some of the signal off, reducing the overall voltage on the line.  Once you get too many on the line and the voltage drops too much, the controllers are unable to determine the actual signal from any noise on the line.  So, how many can you put on a line?  It depends the the RS-485 chip used in the controller, some less efficient chips might limit you to 30 controllers, some might limit you to 100+ controllers on a single line.  How can you tell if you have too many controllers on the line?  Checkout this video article that shows about 50+ controllers connected to a single DMX output dongle.  You'll see that the only real way to know where you are pushing up against a limit is if you have the proper diagnostic equipment - namely a scope.  This is why we sell our pocket scope - so you can determine exactly what the RS-485 signal quality looks like.  We recommend this article by Maxim, the company that produces 485 chips if you would like in-depth details.
      • Termination - While "technically" all RS-485 connections should be terminated with a resistor, the reality is that it is often not needed and in fact, LOR doesn't even terminate their controllers due to the inherent design of their system (slow speeds and forced bus connections/tapping.)   When and where you need termination mainly varies based on the wiring scheme (serial/bus, long taps, location of output dongle on the line, etc) - the best place for technical details on the do's and dont's of termination is in the Maxim article.  You can also watch our video showing a real world lighting display, over a scope, showing what effects adding or removing a terminator will do to the signal.  Be aware that termination is no free ride and won't fix a bad network design.  Terminators are resistors and as a result, the "suck up" and reduce the level of signal - so while it might clean up the signal, you might end up with too little signal to make a difference.
With all this said, the vast majority of networks are simple and even when improperly constructed with the wrong wire, bad termination, long taps and other errors, RS-485 (and thus DMX and LOR) still continues to work.  Why?  Because RS-485 was designed just for this - to work in environments like factories with bad wiring, lots of EMI and long runs of cable.  When you really need to be concerned about these issues is when you get dozens of controllers, over long lengths of cable and with bad cables or connections.  If you are one of those people, we *highly* recommend getting a scope because without one, you'll only be guessing as to what the quality of your network is or where a problem might exist.

I welcome your feedback or suggestions below.

Thanks,
David
HolidayCoro.com

2 comments:

  1. only one thought ... rs-485 specs are clear on the END OF LINE resistor. Last on the line ... get it. the MASTER usually has two 620 ohm resistors from v+ to the + and another from v- to - ... then a 120 ohm across the network + and - ... creates part of the system. at 800 meters @ 115k ... the O scope shows degradation. that's ringing on the cable used. another issue why there is a 120 ohm at the END of the network.

    as far as taps go ... rs-485 devices (maxim in particular) are sensitive enough to accept 32+ transceivers. I've built taps with 1 meter tails for cat5 and cat6 use ... still can't see much degradation at 200-300 meters. EOL resistors are just a way to ensure clean signals. RS-485 is quite forgiving ... after 25 years using it in an industrial environment, I am confidant in my reply.

    LOR protocol (IMHO) is a joke. It chokes the rs-485 network ability for high speed.

    I still send 115kbs PLUS over 400 meters without error.

    sorry man ... just how the engineer sees it.

    Happy Holidays!

    ReplyDelete

We welcome all feedback