The Controller Area Network (CAN) Bus was introduced in 1983 by Robert Bosch GmbH, a multinational engineering and electronics company headquartered in Germany. CAN Bus was originally designed to let microcontrollers and devices communicate without a host computer. It was primarily intended for automotive applications but is currently used additionally in elevators, video games, human prosthetics and elsewhere, including CERN’s powerful particle accelerator/collider, to collect data following sub-atomic collisions.
A CAN Bus broadcasts uniformly to all nodes. Notwithstanding, individual nodes may incorporate filters to reject unwanted messages. All modules are configured with respect to the bus in accordance with AND logic. What this means is that if any single node drives the bus to logic 0, the entire bus goes to that state despite any other nodes that might attempt to drive the bus to a different logic state.
Of the four different frames that are used in a Can Bus, the dominant type is the data frame. The arbitration field determines message priority when more than one node attempts to take possession of the bus, which may contain an 11-bit identifier or a 29-bit identifier, depending upon the Can Bus version (CAN 2.0A or CAN 2.0B).
The data field may contain anywhere between 0 and 8 bytes (not bits) of data. The CRC (Cyclic Redundancy Check) contains a 15-bit checksum whose purpose is error detection. There is also an acknowledgment bit inserted at the end of each message. If the transmitter determines there is no acknowledgment bit, it retransmits the message.
The CAN Bus is actualized in any of several ways, which are mutually exclusive. They do not generally work with one another.
A common form taken by CAN Bus is the two-wire balanced signaling design, also known as High-Speed CAN. This variant, which is specified in ISO Standard 11898, benefits immensely from differential signaling, which is characterized by a high degree of noise immunity and fault tolerance, exactly what is needed in the noisy automotive environment. Balanced differential signaling over twisted pair cabling, shielded or unshielded, reduces noise by means of common mode rejection. A higher twist rate, as in newer versions of category cable used for Ethernet, promotes RF immunity and reduces inductive and capacitive coupling which always degrades signal integrity.
ISO 11898 specifications for CAN Bus technology are applicable for a maximum signaling rate of 1 Mbps with a bus length of 40 m and with a maximum of 30 nodes. The maximum unterminated stub length is 0.3 m. The cable is shielded or unshielded twisted pair with a characteristic impedance (Z0 ) of 120 Ω. The cable is terminated at both ends with 120-Ω resistors, the purpose of which is to match the characteristic impedance of the line to prevent signal reflections, which would cause data loss.
The two signal lines, when passively biased, measure 2.5 V. When the CANH line becomes dominant, the voltage increases to 3.5 V, and the CANL line drops to 1.2 V, so there is a 2-V differential signal.
In contrast to high-speed CAN Bus transceivers, low-speed CAN transceivers support data rates up to only 125 kbs. The advantage of low-speed CAN Bus, however, is that the bus interface has a fault-tolerant layout. This means a failure of one of the two communications lines does not result in total communication failure.
When Bosch originally developed the ISO 11898 CAN specification, three layers were recognized: object layer, transfer layer and physical layer. The CAN specification fully defined object and transfer layers, but did not explicitly address the physical layer, so voltage levels and transmission media could be customized by individual manufacturers for individual applications.
High-speed CAN Bus is more widely used in the physical layer because it permits simple cable connection between devices. In low-speed CAN, because each device has its own termination, the two types of devices cannot be used in the same network.
CAN Bus was originally developed and promulgated first for automotive, then nautical and aeronautic applications, but its use has continuously broadened into new areas, primarily because of its simplicity, reliability and low cost. A case in point is elevator technology, which continues each decade to write the book on reliability and safety all the while with a view on initial and on-going cost containment.
CAN Bus, because of its serial technology, makes possible significantly reduced wire count in the traveling cable, machine room and throughout the building. Fire loading and troubleshooting difficulties are eased with less wiring and fewer terminations. Phone-style connectors allow easy field expansion.
An essential element in elevators as used in commercial and multifamily occupancies is that humans in large numbers and often including children and disabled or infirm individuals are interacting with powerful machinery that lifts them off the ground. This happens day and night, year round, and in the fullness of time there is the potential for equipment failure and injury to the interacting individuals. This hazard is greatly mitigated by means of the reliability that is built into CAN Bus technology.
CAN Bus is adept at the sort of multi-tasking that is required when there is a group installation of elevators operating in a large high-rise building. A number of cars may be in motion simultaneously, traveling in the same or opposite directions, reducing speed in preparation to stop at given floors or accelerating after completing a stop, all this with doors opening and closing as needed.
The cars respond in a pre-programmed prioritized manner to call buttons pressed on many different floors and other buttons pressed inside the cars. What makes all this possible is a remarkably simple yet highly effective system of arbitration and message management within the CAN Bus. All nodes are connected to each other through a two-wire bus. Each node requires a (local) central processing unit. This host processor determines which messages are to be transmitted.
Sensors, actuators and control devices that are connected to the CAN Bus receive these messages. The CAN controller, which may be part of the microcontroller, stores the received bits that the bus conveys, until the message is complete. Then it becomes available to the host processor.
All nodes are capable of sending and receiving messages, but this cannot happen simultaneously. Data transmission in the CAN Bus proceeds in a manner that accomplishes contention resolution by means of arbitration. Because all nodes receive every bit in real time, the transmission is considered synchronous even though it takes place without regard to a synchronizing clock signal.
CAN Bus realizes real-time prioritization by means of a system of dominant (logic level 0) and recessive (logic level 1) messaging. Arbitration takes place when one node transmits a dominant bit and another node transmits a recessive bit. Following the ensuing collision, the dominant bit wins arbitration and the higher-priority message is transmitted. However, the lower-priority message is not obliterated, as in some other types of serial transmission. Instead, it is retransmitted after an appropriate time interval, and this message also survives and is conveyed. That is why CAN Bus succeeds as a real-time prioritized communication system, making it appropriate in complex automotive, elevator and particle-collider applications, among many others.
Of all serial bus transmission methods, not to mention parallel bus, CAN Bus is the most far-reaching, pervasive and successful. It is highly ambitious, yet its simplicity enables it to accomplish extraordinarily complex tasks where high reliability is required in rugged and electronically noisy operating environments.
CAN Bus is message rather than address-based and for this reason does well when uniform data is to be sent to multiple locations. The full bandwidth is available when it is mandatory that messages get conveyed so critical equipment never goes down. Just think of a high-speed train or jet traveling across the sky! Fault-free operation takes place because problematic nodes are eliminated, ensuring the entire network is never permitted to crash.
Error containment can be accomplished and new nodes can be hot-plugged into the bus, permitting the system to be modified on the fly.
CAN Bus is readily adapted to a broad range of applications and operates reliably in the most challenging environments. For this reason, CAN Bus is suitable for all sorts of moving vehicles, construction equipment, mining and industrial sites and numerous other fast-moving situations when workers’ lives depend upon the machinery operating predictably and where large amounts of power must be controlled.
That said, CAN Bus is not a good choice where the network needs to be secure and resistant to hacking. CAN is designed to be relatively simple and is often implemented between microcontrollers having little processing power and is used to relay messages in real time. There are no facilities for adding encryption or authentication of devices on the network.