0
\$\begingroup\$

I'm having issues but first of all I need to verify the other end of the communication line… there is a Moxa TCC-100 RS232-RS485 converter attached to the bus and I see this weird signal on the bus when it transmits:

waveforms

C1 and C2 are the D+/D- lines, M1 is the difference and below is the protocol decode.

For test I'm transmitting a 55h with even parity.

The converter has inside standard 485 transceivers and a CPLD for doing the job. They say it's an "autodirection" converter and that should explain what I'm seeing.

My guess is this: they keep prebiased the line to keep a definite value (C1 is slightly higher) and actively draw it to send a zero (like the start bit).

When it's time to go back to one they only use a pulse to discharge the line and then go back to prebiased state. Same technique used by some pseudo-bidirectional I2C expanders.

Moxa is a well renowned equipment manufacturer but this seems high irregular to me. They stop driving during mark (most probably to avoid issues with collisions and bus contention) and rely on failsafe bias for that. It seems more a CAN signal than a 485 one (it only differs for the transition accelerator pulse)

Wouldn't this influence the noise immunity of the line? I guess that the differential input would do all the work but it seems more an hack than good transmission practice. I fear some transceiver wouldn't take it correctly.

Anyone had experiences with this kind of signalling?

\$\endgroup\$
2
  • \$\begingroup\$ Doesn't autodirection just mean that the transceiver is automatically enabled when transmitting? See this post \$\endgroup\$
    – jayben
    May 26 at 9:06
  • \$\begingroup\$ In theory yes but probably for robustness they opted for this scheme… it doesn't use the RTS signal as drive enable like most of the other converter. It enables the transceiver only for spaces and a small pulse for marks, otherwise it stays disabled. \$\endgroup\$ May 26 at 9:12

1 Answer 1

1
\$\begingroup\$

Yes, technically that is correct, and you have most likely determined the way it operates correctly.

So, to recap, the transmitter is enabled on logic 0 (active state), and change to logic 1 (idle state) only keeps the trasmitter enabled for short period of time, to make a sharp rise to logic 1 state. After a while the transmitter is disabled, and only the fail-safe bias resistors keep the bus voltage biased with the logic 1 voltage, as the differential is only required to be more than 200mV.

This method allows the transmitter to work without using RTS pin as the RS485 transmitter enable signal. The autodirection likely means that the RTS is ignored.

Sure it may not be compatible with every piece of equipment, it is just something you have to remember when it does not work with some piece of equiment.

The noise immunity should not be largely affected. On a half duplex bus, the bus will anyway float when no device is transmitting, with the same 200mV bias voltage, before some device starts transmission. A proper bus will also be properly terminated with the characterisric impedance around 120 ohms, and the bus wiring should anyway be shielded twisted pair, so there is very low impedance and normally very little noise gets coupled onto the bus.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks exactly what I was thinking. The RTS is only used on 422 since it has additional pairs for RTS/CTR (four pair RS422). \$\endgroup\$ May 26 at 11:36

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.