Automatic CAN ID Assignment via Daisy-Chain Initialization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for automatically assigning CAN IDs to multiple devices on a CAN bus are inefficient, prone to high error rates, and require complex microcontroller configurations, which increase cost and reduce real-time performance.
Innovation Solution
A method and system that reset all CAN IDs to a same initial value and use a controller to sequentially set the CAN IDs of each device in a chain configuration, eliminating the need for microcontroller chips in device subsystems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual DIP switch configuration is used for CAN ID assignment, then each device can have a unique CAN ID, but the process becomes inefficient and error-prone when there are more than 8 CAN nodes
Solution Approach 1:
The system performs self-assignment of CAN IDs through the daisy-chain connection. Each device automatically receives its CAN ID from the previous device in the chain without requiring manual configuration or slave microcontroller chips, enabling the system to serve itself in the ID assignment process
Solution Approach 2:
The CAN ID assignment is performed during the power-on initialization phase before the system begins normal operation. The master microcontroller sequentially assigns IDs to all devices in the daisy-chain connection during system startup, ensuring IDs are predetermined and configured before operational requirements arise
2Adaptability or versatility
If fixed CAN ID is programmed into devices during production, then each device has a unique CAN ID, but system assembly and maintenance become complicated due to inability to standardize production and change CAN IDs
Solution Approach 1:
The CAN ID assignment system transitions from static fixed IDs programmed during production to dynamic IDs that can be automatically assigned and potentially reconfigured. The system allows CAN IDs to be determined at runtime based on physical connection topology rather than being permanently fixed during manufacturing
Solution Approach 2:
The daisy-chain connection serves multiple functions: it provides both the communication pathway for CAN bus operation and the configuration pathway for automatic CAN ID assignment. This multi-functional approach eliminates the need for separate ID configuration hardware or procedures
3Extent of automation
If automatic CAN ID assignment is implemented using slave microcontroller chips in each device subsystem, then CAN IDs can be automatically assigned, but system complexity and cost increase
Solution Approach 1:
The slave microcontroller chip is extracted and removed from each device subsystem. The automatic CAN ID assignment functionality is achieved without requiring separate control processors in each node, simplifying the hardware architecture while maintaining automation
Solution Approach 2:
The CAN ID assignment function is merged into the main microcontroller that already controls each device subsystem. Rather than adding separate slave microcontroller chips for ID management, the existing microcontroller performs both system control and ID configuration functions through the daisy-chain connection
4Productivity
If existing automatic CAN ID assignment methods are used with arbitration based on message sending speed or random generators, then CAN IDs can be assigned automatically, but initialization time exceeds 1 second which is too long for systems requiring less than 500 ms initialization
Solution Approach 1:
The CAN ID assignment is performed during the power-on initialization phase before the system begins normal operation. The master microcontroller sequentially assigns IDs to all devices in the daisy-chain connection during system startup, ensuring IDs are predetermined and configured before operational requirements arise
Solution Approach 2:
The system uses periodic polling or sequential addressing through the daisy-chain connection to assign CAN IDs in a structured, time-efficient manner. Rather than using random generation or speed-based arbitration that require multiple communication rounds, the system systematically progresses through each device in the chain to assign IDs in a predictable time frame
Data Source
AI summary
A method of assigning a respective controller area network (CAN) ID to each of a plurality of devices, wherein the each of the plurality of devices is coupled with a CAN bus and comprises at least one input and at least one output by which the plurality of devices are connected, in a chain, to a controller of the CAN bus having at least one output, the method comprising: resetting the CAN ID of the each of the plurality of devices to a same initial value; using the at least one output of the controller to set the at least one input of a first device of the plurality of devices to a first value; using the first value to set the CAN ID of the first device; using the at least one output of the first device to set the at least one input of a second device of the plurality of devices to a second value, wherein the second device is connected to the first device; and using the second value to set the CAN ID of the second device. A system of assigning a respective CAN ID to each of a plurality of devices is also presented.


