Marine Propulsion Controller Auto-Addressing via CAN Bus Daisy Chain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current marine propulsion control systems face challenges in configuration and maintenance due to the complexity of assigning unique CAN addresses to multiple propulsion devices, leading to errors and inefficiencies in configuration and reconfiguration processes, especially in multi-propulsion-device systems.
Innovation Solution
A method and system where controllers in a marine propulsion system automatically receive and execute configuration instructions, including rebooting and silencing CAN traffic, to simplify the assignment of unique CAN addresses and facilitate efficient reflashing, reducing user interaction and error-prone procedures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual configuration procedures are used to assign unique CAN addresses to multiple propulsion devices, then configuration flexibility is maintained, but configuration complexity and error-proneness increase
Solution Approach 1:
The system performs self-identification and self-addressing. Each propulsion device automatically determines its unique CAN address based on its position in the daisy-chain configuration, eliminating the need for manual address assignment by technicians. The devices service themselves by automatically configuring their communication addresses during system initialization.
Solution Approach 2:
The system pre-establishes a daisy-chain physical topology during installation, where devices are connected in sequence. This preliminary physical arrangement is then automatically translated into logical CAN address assignments during system startup, before any operational configuration is needed. The physical connection order predetermined the communication addressing scheme.
2Productivity
If technicians manually configure and reflash controllers during maintenance, then system adaptability is maintained, but time consumption and operational burden increase
Solution Approach 1:
The controller performs self-reflashing during the reboot process. When a reboot is triggered, the controller automatically downloads and installs updated firmware or configuration data from the CAN bus without requiring external intervention. This eliminates the need for technicians to manually flash each controller during maintenance operations.
Solution Approach 2:
The system maintains continuous communication through the CAN bus during the reboot and reflashing process. Other controllers continue to operate and communicate while one controller is being reconfigured, ensuring that the maintenance process does not completely halt system productivity. The useful action of data transmission continues uninterrupted on the bus.
3Adaptability or versatility
If multiple controllers communicate on the same CAN bus, then system integration is improved, but signal interference and message collisions may occur
Solution Approach 1:
The system segments the CAN bus communication by assigning unique address identifiers to each controller based on their physical position in the daisy chain. This segmentation allows multiple controllers to share the same physical bus while maintaining distinct communication channels through address-based routing, preventing message collisions and ensuring reliable targeted communication.
Data Source
AI summary
A controller associated with a propulsion device in a marine propulsion system is configured to send and receive controller area network (CAN) messages on a CAN bus and has computer-executable instructions stored thereon executed by a processor of the controller to perform a method. The method includes receiving a configuration instruction CAN message containing a new configuration value, determining that the configuration instruction CAN message is directed to itself, and then receiving a reboot CAN message. Upon determining that the reboot CAN messages directed to itself, the controller writes the new configuration value to memory and then controls a power relay to power off the controller, ignoring a key switch value associated with the propulsion device being on. The controller then responds to the key switch value to power the controller back on, and then loads the new configuration value into the working memory of the controller.


