RE: reliable CAN connection

"Bram Kerkhof" <[email protected]> Sun, 5 Jun 2016 15:27:27 +0200
Newsgroups gmane.comp.hardware.bus.can
Message-ID <[email protected]>
Hi Peter,

There are a couple of assumptions here that are not always valid in
real-life situations. First and foremost, you should consider that
functionally there might not be a difference between losing a single part of
a complex system, or the whole system at once. Any single point of failure
(SPOF) can take the whole system out, and the added complexity of a full
star topology with a store-and-forward gateway keeping it all together will
only add more SPOFs into the design. This will definitely make it more
expensive, but not necessarily more reliable.

As John pointed out, redundancy should be an integral part of the design,
and increasing complexity has the tendency of decreasing the reliability
because every added component has an impact on the system as whole. On top
of that (and there are quite a few designers that forget this step): a
system should be able to detect when it is running in degraded mode (i.e.:
one layer of redundancy has failed) so that it can be fixed as soon as
possible.

CAN, being developed for a very aggressive environment (automotive), has
been designed from the ground up to offer a maximum of reliability with a
minimum of complexity, and the fact that it has become as pervasive as it is
right now is a testament that those design goals have been met.

That being said: any node can fail, any wire or connector can
break/short/corrode. Using CAN for communication does not resolve that, but
neither does any other single communication network. Within the context of
automotive, there are two common approaches to factor in reliability:
- physical layer redundancy (i.e.: use fault-tolerant transceivers that can
survive single conductor open/short scenario)
- network topology with built-in redundancy

Physical layer redundancy is more finicky in design and implementation
because the network (w.r.t. impedance) has to be designed as a whole,
maximum speed is lower and it cannot offer fault tolerance for all
scenarios. On the plus side it will provide an added level of reliability
over a single pair of wires for a limited cost. Consequently, it is used for
non-critical applications (vehicle comfort features such as AC, window
control, seat settings, ...).

Once nodes are deemed to be critical for the safe operation of the vehicle,
one single connection does not cut it. In most cases, a vehicle has multiple
CAN (or other, like J1708 or Flexray) networks that are interconnected at
gateway nodes. On top of that, critical nodes (ECU, ABS/ESP, transmission)
will have individual connections to multiple networks, so that more than one
network has to fail before communication between the critical nodes is out.
(Failsafe design of the nodes does not stop after that; every node should
have a failsafe envelope in which to operate when communication is
completely out).

Going back to the system you described, it makes a lot more sense to design
a proper network topology with built-in redundancy (but still based on a bus
topology instead of point-to-point so you don't lose the advantage of
simplicity in the design). This could be as simple as figuring out which
nodes are critical to the operation of the machine, and connecting them
additionally to a separate bus -- preferably using wires routed on a
different path from the other network. This kind of design will offer
redundancy for the critical components and allows for proper detection of
degraded modes (critical nodes can compare data on both networks for
differences). On top of that it will be cheaper, simpler and offer far more
reliability than a switch to a star-based topology.

Reliability and redundancy (and consequently: security) are integral parts
of the system design. Stating that using a bus topology is less reliable
than a star topology is (in my personal opinion) a bit disingenuous if you
don't take the overall system design goals (and the execution) into account.

cheers,
Bram
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf
Of Peter Lauer
Sent: zaterdag 4 juni 2016 17:05
To: [email protected]
Subject: [CANLIST] reliable CAN connection

Hi,
we recently reviewed a study that showed that the reliability of a system
goes down when you use one CAN bus instead of discrete connections. lets say
you have 3 actuators and 3 sensors on one bus, the bus goes down, you loose
all actuators and all sensors. 

instead of going back to all discrete wiring, what about staying with CAN on
the actuator and sensor side but have a separate CAN channel on the
controller? Basically like the switch from BNC Ethernet to 10BaseT. Than
only one channel can go down at a time, and you still have control over the
rest. 

Peter--
Archives and useful links: http://groups.yahoo.com/group/CANbus
Subscribe and unsubscribe at www.vector.com/canlist/ Report any problems to
<[email protected]>

--
Archives and useful links: http://groups.yahoo.com/group/CANbus
Subscribe and unsubscribe at www.vector.com/canlist/
Report any problems to <[email protected]>