4
\$\begingroup\$

From what I know, CAN at the physical layer in the "recessive" state just lets pull-up/pull-down do the work.

Does that mean the rise time is theoretical slower than a RS-485 transceiver?

And about the noise rejection on RS-485 and CAN? Both uses a differential bus, but again CAN relies just on resistors to provide the "recessive" signal.

Reading some papers, the majority, if not all, states RS-485 as 1200 m at 100 kbit/s, where CAN normally states a maximum of 40 m at slower speeds (I have read just one that talked about CAN networks with longer bus lines). And even that CAN papers seems to be more specific about using shielded pairs where RS-485 seems more "relaxed" with UTP.

Is RS-485 more robust and fast for long buses than CAN?

Yes, I know one is theoretically single-master and the other multi-master, but for me that's not true as TDMA could be used to implement a good multi-master on RS-485, sending a sync signal from a "master" (it could be called a synchronisation source just than a master), from time to time, and the slot is just being used to get access to the bus.


1 Yes, I know CAN is initially designed for the automotive market, so distance is not a big issue, but today it seems to be used in industrial automation too, where RS-485, I think, is "dominant".

2 I have seen notes saying RS-485 being more expansive than CAN. Well, that's really not what I get. Major "popular" micro-controllers have UART, whereas a small portion have CAN controllers, and external CAN controllers are difficult to get or expensive.

\$\endgroup\$
3
  • \$\begingroup\$ RS485 is (or is used for) more unpleasant environments with more noise, but generally lower speed. It's heavily used in CCTV to run control signals hundreds of metres (usually on cheap cables). Single-pair 485 is a bit of a bind as it only allows for simplex comms, if you can go 4-wire (RS422) life gets a lot nicer. \$\endgroup\$
    – John U
    Commented Dec 18, 2013 at 19:47
  • \$\begingroup\$ Yes it only allows half duplex on a single pair (plus a pair for common, or even +V/common), this is not a problem if you have good devices and protocol. Anyway CAN is designed at first for automotive environments that's noise too. \$\endgroup\$ Commented Dec 18, 2013 at 19:58
  • 2
    \$\begingroup\$ Automotive is noisy, but things inside your car very rarely get struck by lightning or have 20kV substations installed in the glovebox. I've worked with both, RS485 is more robust in an external environment, not just by design but also the driver chips are generally designed with end usage in mind so feature good protection. \$\endgroup\$
    – John U
    Commented Dec 19, 2013 at 8:53

1 Answer 1

6
\$\begingroup\$

CAN can go up to 1 Mbit/s on busses up to a few 10s of meters. The passive state doesn't really slow down the signalling. A total of 60 Ω is pulling the lines together, which will make them do so quite fast. I have looked at bits on a CAN bus with a scope, and the edges have been nice and solid in both directions. Think of the fact that the passive state is still driving the bus together as if it were shorted, but the drive impedance is at the characteristic impedance of the cable. A deliberate driver would have the same impedance, so there is really no difference.

What limits the length of a CAN bus in practise is that the signal must do a round trip between the two most distant nodes in a fraction of a bit time. This is necessary for the collision detection mechanism to work.

RS-485 and CAN are really in two different leagues. RS-485 throws you a electrical spec for a multi-drop bus, and that's it. CAN defines whole messages with IDs and data bytes, a checksum, control information, collision detection, some error detection and error handling, and full use of the bandwidth under heavy loading, all on a true peer to peer network. In addition, this plus automatic sending retry is built into hardware on a number of low cost microcontrollers.

You could in theory implement something like this using RS-485 as the underlying bus, but getting all the protocol details right for reliable operation in all the corner cases is nowhere near as easy as some people seem to think.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks. I know about the speed (although CAN FD seems to go to 10Mbits/s in the data part probably by the fact it don't need arbitration in this phase), and the round trip is really the answer. Anyway my question focus is on bus "robustnesses" to EMI or RFI on long unshielded bus, as RS-485 normally don't dictate filters and CAN normally has low-pass filters on the terminations. About the edges I have seem some graphs that shows "slow edges", maybe some driver or incorrect termination. \$\endgroup\$ Commented Dec 18, 2013 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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