Configurable biasing and termination for RS485 (DMX512) device

Thread Starter

Quadrox

Joined Mar 2, 2020
2
Hello everyone!

Long time lurker, first time poster on the forums, so lovely to meet you all.

I am currently working on a relatively simple "adapter" circuit to incorporate Lumen Radio's TimoTwo DMX module. It's an integrated device that facilitates a wireless DMX512 link and a TTL level, serial DMX output. It handles all of the 2.4GHz magic within itself and doesn't require much intervention beyond being a bit careful about the PCB layout.

The only thing left to the user is the circuitry for driving, biasing and terminating the actual differential signal.

BACKGROUND
The device can be configured to act as a RF_receiver (2.4GHz wireless -> wired DMX) or a RF_transmitter (wired DMX -> 2.4GHz wireless). From the bus signal perspective, the device must be based on ANSI E1.11 - 2008 (R2018) and ANSI E1.20 - 2010 (for use of Remote Device Management or RDM).

Unlike just DMX (simplex), RDM uses a half duplex RS485 communication, with specific timings. Because the command port (in our case the RF_receiver) needs to switch between driving and receiving data on the bus, a bias circuit must be implemented to leave the bus in a known default state:
The command port shall provide a means to bias the termination of the data link to a value of at least 245 mV [...] If the line biasing network is enabled, the differential input impedance shall be 120ohms +/- 10% [...].
ANSI E1.20 - 2010, 2.4.1

This is done simply enough with a resistor network.
1665232353276.png

When the device is operating as an RF Transmitter, it is on the receiving end of the bus, and likely at the end of it. Therefore, it requires a means of termination, most commonly, a 120Ω resistor.

The mode selection on the TimoTwo device, in a way I'm planning to implement it, depends on a single I/O line being high or floating (RF Receiver) or pulled to GND (RF Transmitter). To avoid a misconfiguration of the biasing circuitry and the current mode, I would like to have both Mode and Bias/termination defined by the state of a single switch.

Basically switch between this
1665234075292.pngThe only implementation I could find online was based on Maxim's app note AN212, using SSR's for connecting and disconnecting a terminator resistor.
 

Thread Starter

Quadrox

Joined Mar 2, 2020
2
Hello everyone!

Long time lurker, first time poster on the forums, so lovely to meet you all.

I am currently working on a relatively simple "adapter" circuit to incorporate Lumen Radio's TimoTwo DMX module. It's an integrated device that facilitates a wireless DMX512 link and a TTL level, serial DMX output. It handles all of the 2.4GHz magic within itself and doesn't require much intervention beyond being a bit careful about the PCB layout.

The only thing left to the user is the circuitry for driving, biasing and terminating the actual differential signal.

BACKGROUND
The device can be configured to act as a RF_receiver (2.4GHz wireless -> wired DMX) or a RF_transmitter (wired DMX -> 2.4GHz wireless). From the bus signal perspective, the device must be based on ANSI E1.11 - 2008 (R2018) and ANSI E1.20 - 2010 (for use of Remote Device Management or RDM).

Unlike just DMX (simplex), RDM uses a half duplex RS485 communication, with specific timings. Because the command port (in our case the RF_receiver) needs to switch between driving and receiving data on the bus, a bias circuit must be implemented to leave the bus in a known default state:
The command port shall provide a means to bias the termination of the data link to a value of at least 245 mV [...] If the line biasing network is enabled, the differential input impedance shall be 120ohms +/- 10% [...].
ANSI E1.20 - 2010, 2.4.1

This is done simply enough with a resistor network.

When the device is operating as an RF Transmitter, it is on the receiving end of the bus, and likely at the end of it. Therefore, it requires a means of termination, most commonly, a 120Ω resistor.


THE PROBLEM
The mode selection on the TimoTwo device, in a way I'm planning to implement it, depends on a single I/O line being high or floating (RF Receiver) or pulled to GND (RF Transmitter). To avoid a misconfiguration of the biasing circuitry and the current mode, I would like to have both Mode and Bias/termination defined by the state of a single switch.

Basically switch between this
View attachment 277962and this
View attachment 277965

Using a single I/O line going high/low.

INITIAL SOLUTION
The only implementation I could find online was based on Maxim's app note AN212, using SSR's for connecting and disconnecting a terminator resistor. Applying the same principle to the bias resistors and determining the state of the device using a single switch, I came up with this:

Schematic

View attachment 277966


ROOM FOR IMPROVEMENT
I don't see a reason why this wouldn't work, but that's part of why I'm posting. However, this doesn't feel like a particularly elegant solution to the problem. The SSR's are expensive and bulky, so I can't help but think there must be a simpler solution.

I considered whether just using MOSFETS (P-Channel for the positive bias, N channel for the negative bias, N for termination) could work. Another option would be to swap the Solid State Relays with Analog switch IC's, since the entire device is not optoisolated from the bus (intended to be floating).
However, I'm not sure weather the current flow through the resistors is strictly unidirectional, and I cant wrap my head around what state the bus *could* be in under all possible conditions. Furthermore, the presence of common mode voltages of +12 / -7 VDC between AorB and Bus Common is allowed within the ANSI E1.11 - 2008 (R2018).
Therefore, I am having trouble with coming up with specification for what alternative, cheaper solutions need to fulfil.

The main questions I would love to ask the hivemind are:
1)What specifications would the bias/termination switching device need to fulfil to be realistically resilient to damage?
2) If the device will always be powered by battery or floating SMPS is it sufficient to leave the device as "floating", or should I keep the SSR's and look at adding an isolated RS485 Transceiver to fully isolate the bus?
3)What would the consequences be of accidentally leaving 2 bias networks connected to the same DMX bus?

P.S.
I apologise if any of the stuff I'm asking is painfully obvious for anyone more with solid electronics background. I certainly do not qualify as experienced so many basic analog concepts might elude me here. Thank you for understanding!
 
Top