CAN Device Bus Idle Detection and Priority Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Controller Area Network (CAN) devices face challenges in efficiently determining the bus idle state and prioritizing message transmission due to the lack of consideration for message priority and the need for precise timing in CAN bus access arbitration.
Innovation Solution
A CAN device with an input interface, processing unit, and CAN controller that detects a bus idle state by identifying consecutive recessive bits and determines a release state based on the absence of dominant bits within a predefined waiting time, allowing for priority-based transmission by adjusting the waiting time based on the priority of the input message.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a CAN device waits for the bus idle state by detecting termination bits before transmitting, then transmission conflicts are reduced, but transmission delay increases due to waiting for the release state
Solution Approach 1:
The CAN device performs preliminary actions by detecting the bus idle state (termination bits) and determining the release state in advance before actually transmitting the frame. This allows the device to be ready to transmit immediately when the release state is confirmed, reducing unnecessary waiting time while maintaining reliable conflict-free transmission.
Solution Approach 2:
The waiting time for determining the release state is made dynamic and adjustable based on message priority. High priority messages can use shorter waiting times to reduce delay, while low priority messages use longer waiting times to ensure bus idle state, thus dynamically balancing between transmission delay and conflict reduction.
2Device complexity
If the CAN device uses a fixed waiting time before transmission, then implementation is simple, but message priority cannot be considered leading to inefficient bus utilization
Solution Approach 1:
The waiting time parameter is transformed from a fixed value to a dynamic, adjustable parameter based on message priority. The CAN device can select different waiting time values according to the priority level of the message being transmitted, enabling high priority messages to access the bus faster while low priority messages wait longer, thus improving overall bus utilization efficiency.
Solution Approach 2:
The waiting time parameter is changed adaptively based on message priority characteristics. By modifying this temporal parameter according to the priority field in the message, the system achieves flexible bus access control without requiring complex structural changes, balancing implementation simplicity with improved productivity.
3Speed
If the CAN device starts transmission immediately after detecting bus idle state, then transmission speed is maximized, but transmission conflicts may occur with other nodes
Solution Approach 1:
The device performs preliminary detection of the bus idle state and determination of the release state before initiating transmission. This preliminary action ensures that the bus is truly idle and no other node is about to transmit, allowing the device to start transmission at maximum speed without risking conflicts.
Solution Approach 2:
By detecting termination bits and determining the release state in advance, the device takes preliminary anti-action to prevent potential transmission conflicts. This proactive approach ensures that transmission only begins when the bus is guaranteed to be idle, eliminating conflicts while maintaining high transmission speed.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
The present disclosure relates to a controller area network, CAN, device, comprising: an input interface, a processing unit, and a CAN controller, wherein the CAN controller comprising a transmit data, TXD, interface and a receive data, RXD, interface; wherein the CAN device is configured to a) receive an input message via the input interface, b) generate a TXD frame based on the input message such that the TXD frame represents the input message, c) determine a bus idle state of a CAN Bus by detecting a predetermined number of at least eleven consecutive recessive bits, referred to as termination bits, received via the RXD interface, d) determine a release state by detecting that no dominant bit is received via the RXD interface within a predefined or predetermined waiting time directly after the bus idle state, and e) start sending the TXD frame via the TXD interface at or after the release state. The present disclosure also relates to a method for the CAN device.