Hi,

multidrop protocol is for serial communication (i.e. RS485) from http://www.bigwebmaster.com/General/Howtos/Serial-HOWTO-21.html

================================

21.3 EIA-485

This is like EIA-422 (balanced = differential). It is half-duplex. It's not just point-to-point but is like ethernet or the USB since all devices (nodes) on it share the same "bus". It may be used for a multidrop LAN (up to 32 nodes or more). Unfortunately, Linux currently doesn't support this and you can only use it under Linux only for point-to-point where it behaves like EIA-232. So read further only if you are curious about how its features would work if only Linux supported them.

Since many nodes share the same twisted pair, there's a need to use the electrical tri-state mode. Thus, besides the 0 and 1 binary states, there is also an open circuit state to permit other nodes to use the twisted pair line. Instead of a transmitter keeping a 1-state voltage on the line during line idle, the line is open circuited and all nodes just listen (receive mode).

The most common architecture is master/slave. The master polls the slaves to see if they have anything to send. A slave can only transmit just after it's been polled. But EIA-485 is just an electrical specification and doesn't specify any protocol for the master/slave interaction. In fact, it doesn't even specify that there must be a master and slaves. So various protocols have been used. Based on a discussion of 485 on the linux-serial mailing list in March 2003, it seems likely that none of these master/slave protocols are currently supported by Linux.

There is an alternative implementation where two pair of wires are used for sending data. One pair is only for the Master to send to the Slaves. Since no one transmits on this line except the master, there is no need for it to be tri-state. Thus the Master may just be EIA-232 but the slaves must still be EIA-485. See http://www.hw.cz/english/docs/rs485/rs485.html for more details.

================================

The multidrop itself doesn't appear too difficult to write but I didn't find any perl modules that support it. There are several Windows and MSDOS dlls that do support it. It would make a fun project and one that many old timers would appreciate. ;-)

hope this helps

Jason L. Froebe

Team Sybase member

No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil, Stargate SG-1


In reply to Re: Multidrop protocol handler? by jfroebe
in thread Multidrop protocol handler? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.