Re: reliable CAN connection
heikki saha <[email protected]> Sun, 5 Jun 2016 21:11:13 +0300 (EEST)
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Message-ID | <[email protected]> |
Hello, Let's take a little bit more accurate approach: There are numerous fault modes in the cabling and same fault modes apply for both CAN and discrete. Functional safety standards, such as ISO 13849, define preferred fault modes to be covered and typical modes are wire breaks and shortcuts to other wires, one by one. However, from the practice we know that the "most exciting" failures are the ones between break and short circuits -- resistance or conductance. First, we need to gather information, how probable the failures are and what are their consequences and in which probability it is possible to detect the failures and perform fault reactions. In that sense, we result 6-0 for networks, because analog discrete communication has so low diagnostics coverage, due to the fact that there does not exist packet format for distinguishing between normal signal value and failure. So, if dependability is an issue, don't even think about using any discrete communication. Second, if you cannot implement cabling so, that MTTFd is low enough with single channel, then you have to implement redundant communication. Again it depends on your requirements, which is preferred approach. We have analyzed that it is possible to reach SIL3 with 2-way redundant CANopen instrumentation, where both heartbeat and RPDO timeout monitoring is used together with managed network startup with consistency checks. Third, even dependability may not be enough. There may also exist requirements, according which your system shall tolerate 1 or more simultaneous errors. Such availability requirements are typically leading into higher redundancy. Fourth, practice has shown that most common failures are coming from humidity getting into connectors and various human mistakes in component logistics and assembly. So, importance of standardized design and manufacturing process defined e.g. by CANopen should not be underestimated. It is clearly stated in the safety standards, that analyses shall cover all known threats over the entire life cycle of the system under development. Those threats, which do not apply, shall be defined based on the analysis. Just as an example of diagnostics coverage: Categorical and spatial accuracy of error detection is more accurate in single channel CANopen than 3-way redundant analog sensor connection. All the differences come from extremely unreliable analog signalling, which quite often either causes extra failure indications and sometimes failures have been hidden the failure indications sent by the sensors. Even with single CANopen network you can quite efficiently distinguish between sensor and interconnection failures, and perform full consistency check, thanks to the device type and identity objects in each device. If all of the sensor/actuator pairs exist for different function, there is no redundancy and just using single CANopen channel is far more reliable than any comparable analog instrumentation. If they are redundant, based on typical MTTFd values of sensors and actuators, 2-way redundant communication is enough, if there do not exist special threats from the operating environment. Best regards, -H Heikki Saha, CTO M.Sc. Automation Dr.Tech. Electronics TK Engineering Oy Mail address: P.O. box 810, FIN-65101 VAASA Visit address: Yrittäjänkatu 17, FIN-65380 VAASA +358 (0)50 588 6894 [email protected] http://www.tke.fi/ http://www.canopen.fi/ ----- Original Message ----- From: "Bram Kerkhof" <[email protected]> To: [email protected] Sent: Sunday, June 5, 2016 4:27:27 PM Subject: RE: [CANLIST] reliable CAN connection 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]> -- Archives and useful links: http://groups.yahoo.com/group/CANbus Subscribe and unsubscribe at www.vector.com/canlist/ Report any problems to <[email protected]>