CAN Node Synchronization via Master-Slave Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Controller Area Network (CAN) nodes lack synchronization due to the absence of an accurate global time service, leading to message overwrites and absences, which are critical issues in mission-critical applications like aerospace.
Innovation Solution
A system where a sync master node sends a synchronization message with the lowest message ID to synchronize message bursts across CAN nodes, ensuring even time spacing and minimizing message contention by adjusting task cycles on slave nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If each CAN node transmits messages periodically based on its own local clock, then each node can operate independently without requiring global time service, but the message bursts from different nodes will drift away from each other over time causing overwritten messages and absent messages
Solution Approach 1:
A sync master node is introduced as an intermediary to distribute synchronization messages to all slave nodes. This mediator coordinates the timing across the network, allowing nodes to operate independently while maintaining synchronized message bursts, thus preventing message overwrites and absences.
Solution Approach 2:
Slave nodes receive synchronization messages from the master node and adjust their local timing based on this feedback. The continuous synchronization feedback loop ensures that all nodes maintain aligned task cycles despite operating with local clocks, preventing message timing drift.
2Productivity
If multiple CAN nodes transmit messages at the same time on the CAN bus, then bandwidth utilization increases, but CAN bus contention occurs requiring nodes to wait until the bus is free which worsens message timing jitter
Solution Approach 1:
The system implements periodic synchronization where the master node sends sync messages at regular intervals and slave nodes adjust their task cycles to match these periodic events. This creates predictable, evenly-spaced message bursts that utilize bus bandwidth efficiently while minimizing contention and timing jitter.
3Device complexity
If CAN nodes do not synchronize their task cycles, then the system complexity is reduced as no synchronization protocol is needed, but message bursts from different nodes drift away from each other causing lost messages in mission critical applications
Solution Approach 1:
Each slave node autonomously adjusts its own task cycle timing based on received synchronization messages without requiring complex centralized control. The nodes self-correct their timing drift independently, maintaining reliability while keeping the synchronization mechanism relatively simple.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer-implemented method for synchronizing nodes on a controller area network includes identifying, via a processor, a node from a plurality of nodes as a sync master node; designating, via the processor, each of the remaining nodes as a sync slave node; designating, via the processor, the first message from the sync master node as a sync message; assigning, via the processor, the lowest number, among all the message IDs in the network system, to the message ID of the sync message; determining a sync message target receiving time on a sync slave node; and triggering an interrupt to the processor responsive to receiving the sync message on a sync slave node in the controller area network to perform time adjustment on the sync slave node.