Sender and Receiver Buffers for CAN Message Loss Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In controller area network (CAN) systems, messages may be lost due to contention on the communication bus, delays, and finite bus controller buffer sizes, with no central computer to ensure message integrity.
Innovation Solution
Implementing sender and receiver buffers in each node to temporarily store messages when the bus controller is unavailable, allowing messages to be prioritized and transferred when the bus controller is ready or the application component is available to process them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the bus controller uses a finite buffer size to store messages, then the memory usage is controlled, but messages may be lost when the buffer is full and contention occurs on the communication bus
Solution Approach 1:
The system divides the buffering function into two separate buffers: a sender buffer in the electronic control unit and a receiver buffer in the bus controller. This segmentation allows the sender buffer to hold messages locally when the bus controller buffer is full, preventing message loss while maintaining controlled memory usage in each component.
Solution Approach 2:
The sender buffer stores messages in advance before they are transferred to the bus controller. This preliminary action ensures that messages are not lost due to buffer full conditions or bus contention, as they are already safely stored in the sender buffer and will be transferred when the bus controller becomes available.
2Speed
If messages are transmitted immediately when generated, then the response time is reduced, but messages may be overwritten or lost due to asynchronous clocks and processing delays
Solution Approach 1:
The sender buffer stores messages as soon as they are generated, performing the preliminary action of safe storage before transmission. This allows immediate capture of messages without loss, while the actual transmission to the bus controller occurs at appropriate times when resources are available, balancing speed and reliability.
Solution Approach 2:
The sender buffer acts as an intermediary between message generation and bus transmission. It decouples the immediate message generation from the scheduled bus transmission, allowing messages to be captured immediately while transmission occurs at controlled intervals when the bus controller is available.
3Productivity
If the bus controller transfers messages continuously, then the message throughput is increased, but the bus controller buffer may become full and cause message loss during high traffic periods
Solution Approach 1:
By segmenting the buffering into sender and receiver buffers, the system allows the sender buffer to accumulate messages during high traffic periods without losing them. The bus controller can then transfer messages at its own pace from the sender buffer, maintaining high throughput while preventing overflow loss through the segmented buffer architecture.
Data Source
AI summary
A vehicular distributed embedded real-time controller area network system includes ECUs functioning in an event-triggered mode for initiating transmission of a message to a communication bus. Each ECU includes a sending buffer for storing message. A bus controller interfaces with the ECUs and manages the transfer of messages to and from the communication bus. The transfer of messages onto the communication bus is executed by the bus controller on a periodic basis. The bus controller is unavailable to receive a message from an ECU when a previous message stored within a memory of the bus controller is awaiting transmission on the communication bus. The bus controller is available to receive a message from an ECU when the memory is empty. Messages are stored in the sender buffer when the bus controller is unavailable. A respective message within the sender buffer is transferred to the bus controller when the bus controller is available.


