Kvaser CAN Protocol Course: Addressing, Arbitration and Identification (Part 3)
Summary
TLDRThis video script explains key concepts of CAN (Controller Area Network) communication, focusing on bus arbitration, message priority, and the absence of explicit addressing in CAN messages. It discusses how CAN controllers manage arbitration through bit-wise conflict resolution and the importance of message identifiers for determining bus priority. The script highlights differences between Basic CAN and Full CAN programming models, as well as the evolution of CAN to CAN FD (Flexible Data Rate) since 2011. Additionally, it addresses the limitations on identifier values due to legacy compatibility and concludes with a note on the foundations of CAN FD.
Takeaways
- π Message Arbitration ensures that only one CAN controller gets access to the bus at a time, preventing conflicts during simultaneous transmissions.
- π If a node detects a dominant bit while transmitting a recessive bit, it will immediately stop and become a receiver, leaving the bus to the other node.
- π The arbitration process is bit-wise and occurs over the arbitration field; the node with the lowest numerical identifier wins the arbitration.
- π If a node is alone on the bus and tries to transmit, it will initially fail to acknowledge and keep retransmitting until the error counter reaches a threshold, causing it to become error passive.
- π In the event of an ACK error, the transmitter increases its error counter by eight and attempts retransmission, repeating up to 16 times before going into error passive mode.
- π The CAN bus does not use explicit addresses. Instead, it uses identifiers to prioritize messages, with nodes deciding if a message is relevant based on the content and identifier.
- π The arbitration field in CAN messages is commonly used to determine priority, with the identifier playing a key role in message filtering by CAN controllers.
- π Basic CAN and Full CAN refer to two different programming models for CAN controllers, but both can communicate seamlessly without compatibility issues.
- π The course primarily focuses on Classical CAN, which was developed in 1986, but also touches upon CAN FD (Flexible Data Rate) as the next-generation iteration that started development in 2011.
- π CAN messages are 'content-address' rather than 'address-based,' meaning they are identified by their content and not by a node-specific address.
- π The identifier field in CAN messages is either 11 bits (for CAN 2.0A) or 29 bits (for CAN 2.0B), though certain controllers limit the use of the seven most significant bits, leaving specific identifier ranges available for use.
Q & A
What is the process of Message Arbitration in CAN?
-Message Arbitration in CAN is the process where multiple CAN controllers agree on who gets to use the bus when there is a potential conflict. If two or more controllers start transmitting at the same time, they monitor the bus. If a node detects a dominant bit while transmitting a recessive bit, it quits the arbitration and becomes a receiver. The process continues until only one transmitter is left on the bus.
How is the conflict resolved in Message Arbitration in CAN?
-The conflict is resolved bit by bit during transmission. Nodes that transmit recessive bits and detect a dominant bit immediately stop transmitting and become receivers. This ensures that the message with the numerically lowest arbitration field wins the bus access, and the transmission continues without delay.
What happens when a node is alone on the bus and tries to transmit?
-If a node is alone on the bus, it wins the arbitration and starts transmitting. However, when it reaches the acknowledgment phase, no other node sends a dominant bit in the ACK slot, leading to an ACK error. The node retries transmission up to 16 times, after which it enters an error passive state and continues transmitting without further increments to its error counter until acknowledged.
What does the arbitration field in a CAN message determine?
-The arbitration field in a CAN message determines the message's priority on the bus. It helps to identify the message's content and decide which node has higher priority during arbitration. The message with the numerically lowest arbitration field wins access to the bus.
Why is there no explicit address in CAN messages?
-In CAN, messages are identified by the contents of the message, not by an explicit address. Each controller picks up all traffic and uses hardware filters and software to determine whether a message is relevant. This is called 'contents-addressing,' where the message's identifier, not the destination address, is key.
What is the difference between Basic CAN and Full CAN?
-Basic CAN and Full CAN refer to different programming models for CAN controllers. Basic CAN uses a FIFO-oriented programming model with limited filtering capabilities, while Full CAN, which was used with earlier Intel controllers, offers a DPRAM-style interface. Today, most CAN controllers support both models, and the terms 'Basic CAN' and 'Full CAN' are less commonly used.
What is the Classical CAN standard?
-Classical CAN refers to the original CAN specification adopted in 1986 and used until 2011. This standard focuses on the arbitration process, message handling, and addressing, and serves as the foundation for the later CAN FD standard, which introduces a flexible data rate for improved performance.
What is the significance of the CAN FD (Flexible Data Rate) standard?
-CAN FD is an evolution of the original CAN standard, introduced in 2011. It allows for a flexible data rate, improving the efficiency and performance of CAN networks. The new iteration was developed to address limitations in the Classical CAN and is being refined for future use in various applications.
What is the range of valid identifiers in CAN 2.0A and CAN 2.0B?
-In CAN 2.0A (11-bit identifiers), the valid range is from 0 to 2031 due to compatibility issues with older controllers. In CAN 2.0B (29-bit identifiers), up to 532,676,608 different identifiers can be used. These restrictions exist for compatibility with older systems but are no longer an issue in modern CAN controllers.
What happens if two nodes transmit the same arbitration field in CAN?
-If two nodes transmit the same arbitration field, the CAN bus will not work properly, as it is required that no two nodes transmit the same arbitration field. However, if the message contains no data (e.g., a special type of message), any node can transmit it. This is an exception to the rule.
Outlines

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowMindmap

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowKeywords

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowHighlights

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowTranscripts

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowBrowse More Related Video

Kvaser CAN Protocol Course: Introduction to CAN Bus (Part 1)

Kvaser CAN Protocol Course: CAN Message Types (Part 2)

CAN Frame structure Understanding | CAN communication Explained

How does CAN data flow? CAN data flow explained

CAN Bus: Serial Communication - How It Works?

CAN Bus Explained - A Simple Intro [v2.0 | 2021] π
5.0 / 5 (0 votes)