I have 13 identical devices which communicate with a host via RS422. None of them are addressable (they assume point-to-point connection).

I would like to string them in a RS422 bus. I thought of using relays and Chip Select signals to switch the TX+/- lines of the devices, however I am still facing the "maximum 10 nodes" limitation of the RS422 standard.

I read the limitation to 10 nodes may be extended on a case-by-case basis, but what does this limit depend on and how can I check my 13 devices may comply to the RS422 standard?

I need the full reliability of the standard, so I cannot "just test and see if it works".

P.S: For your information, the devices used are Maxon ENX EASY quadrature encoders with RS422 tranceivers implementing the SSI2 protocol.

  • 2
    \$\begingroup\$ Pick an RS422 chip and see what it says it can deliver in terms of nodes. Or use RS485. \$\endgroup\$ – Andy aka Apr 30 at 16:18
  • \$\begingroup\$ Although this certainly works (can any RS485 transceiver drive these RS422 chips right out of the box?), could you answer the question? I would like to understand this limitation. \$\endgroup\$ – Mister Mystère Apr 30 at 16:40
  • \$\begingroup\$ One limitation: The differential receivers usually have a weak pull-up and pull-down on each input. The voltage divider is slightly different on the plus and minus inputs to guarantee a specific logic level on the output when the inputs are disconnected. Too many receivers in parallel will eventually load down the bus. \$\endgroup\$ – Mattman944 Apr 30 at 16:41
  • \$\begingroup\$ Make them all RS485 was my suggestion but I guess you can't modify the master. \$\endgroup\$ – Andy aka Apr 30 at 16:44
  • \$\begingroup\$ I may be able to modify the master for a RS485 master (though the question still stands). @Mattman944: could you expand with a schematic in an answer? \$\endgroup\$ – Mister Mystère Apr 30 at 16:53

Basically the standard defines it, by specifying how much a single receiving unit can load the bus (with resistance and capacitance), and how much load on a singly-terminated bus a single driving unit must be able to drive. The numbers are just selected so that a standard driver can drive a singly-terminated bus with ten standard receivers. Sometimes modern receivers do not load down the bus so much so if it presents half a load then you can have 20 half-loading receivers.

Also the wiring capacitance and resistance loads the bus, so long wires limit the number of receivers too. To calculate this you need to know the capacitance of the wire.

But that only applies to the RS-422 drivers drivers and buses. Not to SSI encoder devices, that utilize RS-422 standard, and further define how they use the RS-422 signaling. As devices, they are meant to be connected so that there is one bus master, and one encoder, and you can't change that.

Your encoder already incorporates a RS-422 receiver for the clock bus, and since the encoder is meant to be the single receiver at the end of a bus, it provides a termination resistor. So you cannot have multiple encoders connected to the clock bus, and no matter how you multiplex the bus to many encoders, the encoder has to be at the end of the bus wire.

Also the encoders have RS-422 transmitters for the data. They are always active, driving the bus - at least no SSI bus application note says otherwise. With RS-422, only one transmitter can be active at one time, and the transmitter must also be at the start of the bus to avoid signal reflections from stubs.

So clearly, the SSI encoders are point-to-point devices meant to be on the end of the bus, not in the middle.

If you do use for example relays to mux between encoders, either you have to have the relays at the master end, and from each relay you run a cable to each encoder. If you want to have one chain of encoders, you have to have a relay at each encoder to select if the bus goes to this encoder or if the bus continues to the next relay.

| improve this answer | |
  • \$\begingroup\$ Very interesting answer, many thanks (+1). I just do not get why you say I cannot exploit multi drop for the clock signal, at least - all receivers have to be terminated by a resistance corresponding to the transmission line to avoid reflections (due to high input impedance differential amplifiers), right? So in theory I could get the RS422 clock to 10 of these encoders and deal differently with the DATA out, correct? \$\endgroup\$ – Mister Mystère May 2 at 15:14
  • \$\begingroup\$ A transmitter can drive ten devices with one termination. It can't drive more than one termination, so it can't drive more than one encoder. \$\endgroup\$ – Justme May 2 at 16:38
  • \$\begingroup\$ What I am saying is how come it is expected that several receivers can be connected to one transmitter, with only one termination resistor? All the receivers which do not have termination resistors will generate reflections from the high impedance of the differential stage? \$\endgroup\$ – Mister Mystère May 2 at 16:44
  • \$\begingroup\$ The termination must be at the end of the bus. Encoders are along the bus, without stubs, so there are no reflections. \$\endgroup\$ – Justme May 2 at 16:53
  • \$\begingroup\$ Ah, right, that makes sense. Thanks! \$\endgroup\$ – Mister Mystère May 3 at 13:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.