[LAD] Invitation - Control Chain interface and communication protocol

karl at aspodata.se karl at aspodata.se
Thu Nov 6 12:56:10 UTC 2014

Gianfranco (The MOD Team):
> The physical interface of the Control Chain devices is an RS-485
> full-duplex serial line running at 1Mbit/sec.  Currently up to eight
> devices can be daisy chained and by use of the RJ-45 cable we also
> power the devices ( 1 pair for input,1 for output and 1 for power supply).

How are you handling "collisions" and idle bus (rs485 does not
specify that kind of things) ?

Idle bus can be taken care of with a resistor devider (as described
in e.g. [1]), but that solution draws power when the bus is idle.
Why not a "active" kind of termination by connecting "A" to +2, 3.3,
or 5V and "B" to GND (or vice versa), both throught 60 Ohm resistors ?

"Collision" handling can be avoided by using a one master and letting
the other nodes to be slaves, and polling the slaves.
 Or one can use something similar to J1708 [2] and CAN by driving the
device enable pin instead of the transmit pin and let the bus "float"
(by setting the output driver to hi-z) up/down to the "recessive" state
by a "idle bus"/failstate circuit. You have to have some software to
detect any collisions then.

I drafted some thoughts in [3], but havn't implemented it "yet".

Ideas ?

/Karl Hammar

[1] http://www.ti.com/lit/an/slyt324/slyt324.pdf
[2] http://www.ti.com/lit/an/snla038b/snla038b.pdf
[3] http://turkos.aspodata.se/git/openhw/serial_bus/Readme

Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
+46 173 140 57

More information about the Linux-audio-dev mailing list