Dynamic Buffer Allocation for Robot CAN Bus Data Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The CAN bus protocol faces challenges in reliability and efficiency due to increased complexity and harsh application environments in communication systems, particularly in robot applications, where conventional data frames are inadequate for handling diverse application scenarios and node identities.
Innovation Solution
The proposed solution enhances the CAN bus protocol by introducing a data transmission method and device that utilize extended data frames with a 29-bit ID sub-field and additional fields like frame-mode indication, channel identification, and a flag field, allowing for improved node identification and data transmission efficiency through broadcast channels and block data handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional CAN bus data frames are used, then the system structure is simple, but the node identification capability and adaptability to diverse application scenarios are insufficient
Solution Approach 1:
The patent extends the traditional 11-bit ID field to a 29-bit ID field in the extended data frame format, adding a dimensional expansion to the identification capability. This allows for significantly more node identities and application scenarios to be addressed while maintaining backward compatibility through dual support of standard and extended frames.
Solution Approach 2:
The extended data frame is segmented into multiple functional fields including ID sub-field, frame-mode indication sub-field, channel identification sub-field, and flag sub-field. Each segment serves a specific function, allowing the system to handle diverse application scenarios through structured field combinations rather than monolithic frame redesign.
2Reliability
If buffer size is increased to handle all attribute data, then data transmission completeness is improved, but system resource consumption increases
Solution Approach 1:
The buffer size is made dynamic rather than static, allowing it to be adjusted according to the actual length of attribute data. The main controller receives the attribute length from the node, allocates buffer space accordingly, and releases it after data reception, optimizing memory resource utilization while ensuring complete data transmission.
Solution Approach 2:
The node transmits the attribute length information before the actual attribute data. This preliminary action allows the main controller to pre-allocate the exact buffer size needed, avoiding both memory waste from over-allocation and transmission failures from under-allocation.
3Productivity
If multiple nodes transmit data simultaneously on the same channel, then communication efficiency is improved, but data transmission reliability deteriorates due to conflicts
Solution Approach 1:
The channel identification sub-field acts as an intermediary mechanism that enables multiple logical channels to share the same physical bus. By assigning different channel IDs to different data streams, the system allows simultaneous transmissions without conflicts, as each node can identify and process only the data intended for its assigned channel.
Solution Approach 2:
The same physical communication bus serves multiple functions by supporting both standard and extended data frames, and by enabling multiple logical channels to coexist. This multi-functionality allows the system to maintain high communication efficiency while ensuring reliability through channel differentiation.
Data Source
AI summary
The present disclosure relates to a data transmission method for robot, including: transmitting an attribute reporting request to at least one node via an attribute request frame, receiving an attribute reporting response transmitted from the node, updating the length of a buffer according to the attribute reporting response when a length of at least one attribute to be reported being determined to be greater than the length of the buffer. The attribute reporting response carries the length of the attribute data, and receiving the attribute data reported from the node via at least one block data, when the length of the attribute to be reported being determined to be less than or equals to the length of the buffer.


