Method for CAN ID distribution

CN122952013APending Publication Date: 2026-10-20ANALOG DEVICES INT UNLTD CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610458909.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2025-04-10
Filing Date
2026-04-09
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

特别地,为车辆环境(例如,汽车、电动车辆、飞机、火车、船等)配置合适的网络架构存在独特的困难

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

This disclosure relates to methods for CAN ID distribution. Example implementations include methods, apparatus, and computer-readable media for distributing network identifiers (IDs) by devices in a network (which may be host devices or other devices). Example methods include transmitting a host ID on a communication bus (such as a Controller Area Network (CAN) bus), receiving a first device ID from a first node of a plurality of nodes on the CAN bus, distributing a first unique network ID value to the first node of the plurality of nodes on the CAN bus, confirming that the first node of the plurality of nodes has received the first unique network ID value, and repeating the method until each of the plurality of nodes has been assigned a corresponding unique network ID value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application is a continuation-in-part of International Application No. PCT / CN2022 / 132516, filed on November 17, 2022, and claims priority thereto, which is incorporated herein by reference in its entirety. Technical Field

[0003] The aspects described relate to bus network architecture, and specifically to Controller Area Network (CAN) identifier (ID) distribution. Background Technology

[0004] Network architectures have become increasingly complex and have been designed for use in a wide variety of communication environments. However, the demand for network access across different network environments continues to rise, based on the number of end-user subscribers. In particular, configuring a suitable network architecture for vehicular environments (e.g., cars, electric vehicles, airplanes, trains, ships, etc.) presents unique challenges. Vehicles can move across large geographical areas, travel at variable speeds, have internal networks associated with the vehicle itself, and may include more than one end-user at a time. Providing the ability to conduct transactions in an optimized manner within vehicular network environments and offering a secure and flexible communication framework for the various agents conducting the transactions presents significant challenges for system designers, automakers, and others. Network architectures are also used in energy storage systems where multiple batteries are coupled together, and the voltage and current of each battery cell are managed by one or more processors.

[0005] Electric vehicles have unique requirements because the battery power needs to be monitored and determined regularly, otherwise battery power availability issues could lead to vehicle breakdowns. Summary of the Invention

[0006] The following is a simplified outline of one or more aspects to provide a basic understanding of such aspects. This outline is not a comprehensive overview of all anticipated aspects, nor is it intended to identify key or essential elements of all aspects, nor to define the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed descriptions that follow.

[0007] One example aspect includes a method for distributing network identifiers (IDs) by host devices in a network, the method comprising transmitting a host ID on a communication bus. The method further includes receiving a device ID from a first node among a plurality of nodes on the communication bus. Furthermore, the method further includes distributing a first unique network ID value to the first node among the plurality of nodes on the communication bus. Additionally, the method further includes repeating the following operations: transmitting the host ID on the communication bus, receiving a corresponding device ID from each of the remaining nodes among the plurality of nodes, and distributing a unique network ID value to each of the remaining nodes among the plurality of nodes, until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0008] Another example includes an apparatus for distributing network identifiers (IDs) by host devices in a network. The apparatus includes a memory and a processor communicatively coupled to the memory. The processor is configured to transmit a host ID on a communication bus. The processor is further configured to receive a device ID from a first node among a plurality of nodes on the communication bus. Furthermore, the processor is further configured to distribute a first unique network ID value to the first node among the plurality of nodes on the communication bus. Additionally, the processor is further configured to repeat the following operations: transmitting the host ID on the communication bus, receiving a corresponding device ID from each of the remaining nodes among the plurality of nodes, and distributing a unique network ID value to each of the remaining nodes among the plurality of nodes, until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0009] Another example includes an apparatus for distributing network identifiers (IDs) by host devices in a network, the apparatus including means for transmitting host IDs on a communication bus. The apparatus further includes means for receiving device IDs from a first node among a plurality of nodes on the communication bus. Furthermore, the apparatus further includes means for distributing a first unique network ID value to the first node among the plurality of nodes on the communication bus. Additionally, the apparatus further includes means for repeating the following operations: transmitting host IDs on the communication bus, receiving corresponding device IDs from each of the remaining nodes among the plurality of nodes, and distributing unique network ID values ​​to each of the remaining nodes among the plurality of nodes, until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0010] Another example includes a computer-readable medium having instructions stored thereon for distributing network identifiers (IDs) by host devices in a network, wherein the instructions are executable by a processor to transmit a host ID on a communication bus. The instructions are further executable to receive a device ID from a first node among a plurality of nodes on the communication bus. Furthermore, the instructions are further executable to distribute a first unique network ID value to the first node among the plurality of nodes on the communication bus. Additionally, the instructions are further executable to repeat the operations of transmitting a host ID on the communication bus, receiving a corresponding device ID from each of the remaining nodes among the plurality of nodes, and distributing a unique network ID value to each of the remaining nodes among the plurality of nodes until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0011] One example aspect includes a method for distributing a network identifier (ID) by one of a plurality of client devices in a network. The method includes receiving a first message on a communication bus including a host ID and a generic ID value associated with the client device. The method further includes transmitting a device ID on the communication bus. Additionally, the method further includes receiving a unique network ID value on the communication bus.

[0012] Another example includes an apparatus for distributing a network identifier (ID) by one of a plurality of client devices in a network, the apparatus including a state machine. The state machine may also be embodied in a processor and memory, if desired. The state machine is configured to receive a first message on a communication bus including a host ID and a generic ID value associated with the client device. The state machine is further configured to transmit a device ID on the communication bus. Furthermore, the state machine may be further configured to receive a unique network ID value on the communication bus.

[0013] Another example includes an apparatus for distributing a network identifier (ID) by one of a plurality of client devices in a network. The apparatus includes components for receiving a first message on a communication bus, comprising a host ID and a generic ID value associated with the client device. The apparatus further includes components for transmitting a device ID on the communication bus. Additionally, the apparatus further includes components for receiving a unique network ID value on the communication bus.

[0014] Another example includes a computer-readable medium having instructions stored thereon for network identification (ID) distribution by one of a plurality of client devices in a network, wherein the instructions are executable by a processor to receive a first message on a communication bus including a host ID and a generic ID value associated with the client device. The instructions are further executable to transmit a device ID on the communication bus. Furthermore, the instructions are further executable to receive a unique network ID value on the communication bus.

[0015] Another example aspect includes a method for distributing Controller Area Network (CAN) identifiers (IDs) by a host device in a network according to one aspect of this disclosure, comprising transmitting a host ID on a CAN bus, receiving a first device ID from a first node among a plurality of nodes on the CAN bus, distributing a first unique network ID value to the first node among the plurality of nodes on the CAN bus, confirming that the first node among the plurality of nodes has received the first unique network ID value, and repeating the following operations: transmitting a host ID on the CAN bus, receiving a corresponding device ID from each of the remaining nodes among the plurality of nodes, distributing a corresponding unique network ID value to each of the remaining nodes among the plurality of nodes, and confirming that each of the remaining nodes has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0016] Such a method may further optionally include: receiving a device ID in a frame ID field, wherein the first node is the highest priority node on the CAN bus; receiving the device ID from each of the remaining nodes in the order of priority of each of the remaining nodes; and receiving a predetermined response from the first node and each of the remaining nodes.

[0017] Such a method may optionally further include, when distributing a first unique network ID value to a first node among a plurality of nodes on a CAN bus: transmitting a broadcast ID allocation value assigned to the first node among a plurality of nodes on the CAN bus, and transmitting the first unique network ID value in a data field associated with the broadcast ID allocation value assigned to the first node among a plurality of nodes on the CAN bus; and when confirming that the first node among a plurality of nodes has received the first unique network ID value, may further include: receiving a response message from the first node among a plurality of nodes, transmitting a separate read frame ID having the first unique network ID value on the CAN bus, and associating the first unique network ID value with the first node.

[0018] Such a method may further optionally include: receiving a device ID in a data field, sending a message addressing a generic device ID, wherein the generic device ID is common to each of the multiple nodes, and the first node is the first node in response to sending a host ID on the CAN bus.

[0019] Such a method may further include, when distributing a first unique network ID value to a first node among multiple nodes on a CAN bus: transmitting an extended frame having a first device ID in the frame ID field and a first unique network ID in the data field; and when confirming that the first node among multiple nodes has received the first unique network ID value, it may further include: transmitting a data request message to the first node having a first unique network ID value in the frame ID field, receiving a response message having a host ID in the frame ID field and predetermined data in the data field, and recording the first unique network ID associated with the first node in an address mapping list.

[0020] Another example aspect includes an apparatus for distributing Controller Area Network (CAN) identifiers (IDs) by a host device in a network, according to one aspect of this disclosure. The apparatus may include a memory and a processor communicatively coupled to the memory and configured to: transmit a host ID on a CAN bus; receive a first device ID from a first node among a plurality of nodes on the CAN bus; distribute a first unique network ID value to the first node among the plurality of nodes on the CAN bus; confirm that the first node among the plurality of nodes has received the first unique network ID value; and repeat the following operations: transmit the host ID on the CAN bus, receive a corresponding device ID from each of the remaining nodes among the plurality of nodes, distribute a corresponding unique network ID value to each of the remaining nodes among the plurality of nodes, and confirm that each of the remaining nodes has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0021] Such a device may further optionally include: receiving a device ID in a frame ID field, wherein the first node is the highest priority node on the CAN bus, and the device IDs received from each of the remaining nodes occur in the priority order of each of the remaining nodes.

[0022] Such an apparatus may further optionally include, when it is confirmed that a first node among a plurality of nodes has received a first unique network ID value and that each of the remaining nodes among a plurality of nodes has received a corresponding unique device ID value, the processor is further configured to receive a predetermined response from the first node and each of the remaining nodes among the plurality of nodes.

[0023] In such an apparatus, when a first unique network ID value is distributed to a first node among a plurality of nodes on a CAN bus, the processor may be further configured to: transmit a broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus, and transmit the first unique network ID value in a data field associated with the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; and when it is confirmed that the first node among the plurality of nodes has received the first unique network ID value, the processor may be further configured to receive a response message from the first node among the plurality of nodes, transmit a separate read frame ID having the first unique network ID value on the CAN bus, and associate the first unique network ID value with the first node.

[0024] Such an apparatus may further optionally include receiving a device ID in a data field, and the processor being further configured to send a message addressing a generic device ID when sending a host ID, wherein the generic device ID is common to each of the plurality of nodes.

[0025] Such a device may further optionally include a first node that is responsive to transmitting a host ID on the CAN bus.

[0026] In such a device, when distributing a first unique network ID value to a first node among multiple nodes on a CAN bus, the processor can be further configured to transmit an extended frame having a first device ID in the frame ID field and a first unique network ID in the data field; and when it is confirmed that the first node among multiple nodes has received the first unique network ID value, the processor can be further configured to transmit a data request message to the first node having a first unique network ID value in the frame ID field, receive a response message having a host ID in the frame ID field and predetermined data in the data field, and record the first unique network ID associated with the first node in an address mapping list.

[0027] Another example aspect includes a method for obtaining a Controller Area Network (CAN) identifier (ID) from one of a plurality of nodes in a network according to one aspect of this disclosure, which may include: receiving a first message on the CAN bus including a host ID value, sending a second message on the CAN bus addressing the host ID value and including a device ID, and receiving a unique network ID value on the CAN bus.

[0028] Such methods may further optionally include: sending the device ID in the frame ID field, where the node is the highest priority node on the CAN bus, and sending the device ID in the data field.

[0029] Such a method may further optionally include: receiving an extended frame having a unique network ID value in a data field, and transmitting that unique network ID value in the data field on the CAN bus.

[0030] Such a method, when receiving a host ID, may optionally further include receiving a message addressed to a generic device ID, wherein the generic device ID is common to each client device in the multiple nodes.

[0031] Another example aspect includes an apparatus for distributing Controller Area Network (CAN) identifiers (IDs) to multiple nodes in a network according to one aspect of this disclosure, which may include a state machine configured to: receive a first message including a host ID value on a CAN bus, transmit a device ID from a first node among the multiple nodes on the CAN bus, and receive a unique network ID value on the CAN bus.

[0032] Such a device may further optionally include a state machine that is further configured to send a device ID in the frame ID field.

[0033] Such devices may further optionally include a first node that is the highest priority node on the CAN bus.

[0034] Such a device may further optionally include a state machine that is further configured to receive a device ID in a data field.

[0035] Such devices may further optionally include a state machine further configured to receive an extended frame having a unique network ID value in a data field and to transmit the unique network ID value in the data field on the CAN bus.

[0036] Such a device may further optionally include a state machine further configured to receive a message addressed to a generic device ID, wherein the generic device ID is common to each of the plurality of nodes.

[0037] To achieve the foregoing and related objectives, the one or more aspects include the features fully described below and specifically pointed out in the claims. Certain exemplary features of the one or more aspects are illustrated in detail in the following description and drawings. However, these features indicate only a few of the various ways in which the principles of the aspects can be employed, and this description is intended to include all such aspects and their equivalents. Attached Figure Description

[0038] The disclosed aspects will be described below in conjunction with the accompanying drawings, which are provided to illustrate but not limit the disclosed aspects, wherein like reference numerals denote like elements, dashed lines may indicate optional elements, and wherein:

[0039] Figure 1 A bus architecture according to one aspect of this disclosure is illustrated;

[0040] Figure 2 An example is illustrated of a device coupled to a bus architecture according to one aspect of this disclosure;

[0041] Figure 3 This is a communication flowchart based on one aspect of this disclosure;

[0042] Figure 4 This is a block diagram of an example computer device having components configured to perform a method for distributing network identifiers (IDs) by host devices in a network;

[0043] Figure 5 This is a flowchart illustrating an example of a method for distributing network identifiers (IDs) by host devices within a network;

[0044] Figure 6 yes Figure 5 A flowchart of additional aspects of the method;

[0045] Figure 7 yes Figure 5 A flowchart of additional aspects of the method;

[0046] Figure 8 yes Figure 5 A flowchart of additional aspects of the method;

[0047] Figure 9 yes Figure 5 A flowchart of additional aspects of the method;

[0048] Figure 10 This is a block diagram of an example computer device having components configured to perform a method for distributing a network identifier (ID) by one of a plurality of client devices in a network;

[0049] Figure 11 This is a flowchart illustrating an example of a method for distributing network identifiers (IDs) from one of a plurality of client devices in a network;

[0050] Figure 12 yes Figure 11 A flowchart of additional aspects of the method;

[0051] Figure 13 yes Figure 11 A flowchart of additional aspects of the method;

[0052] Figure 14 This is a communication flowchart based on one aspect of this disclosure;

[0053] Figure 15 This is a flowchart illustrating an example of a method for distributing network identifiers (IDs) by host devices within a network;

[0054] Figure 16 yes Figure 15 A flowchart of additional aspects of the method;

[0055] Figure 17 yes Figure 15 A flowchart of additional aspects of the method;

[0056] Figure 18 yes Figure 15 A flowchart of additional aspects of the method;

[0057] Figure 19 yes Figure 15 A flowchart of additional aspects of the method;

[0058] Figure 20 yes Figure 15 A flowchart of additional aspects of the method;

[0059] Figure 21 yes Figure 15 A flowchart of additional aspects of the method;

[0060] Figure 22 yes Figure 15 A flowchart of additional aspects of the method;

[0061] Figure 23 yes Figure 15 A flowchart of additional aspects of the method;

[0062] Figure 24 yes Figure 15 A flowchart of additional aspects of the method;

[0063] Figure 25 This is a flowchart illustrating an example of a method for distributing network identifiers (IDs) from one of a plurality of nodes in a network;

[0064] Figure 26 yes Figure 24 A flowchart of additional aspects of the method;

[0065] Figure 27 yes Figure 24 A flowchart of additional aspects of the method;

[0066] Figure 28 yes Figure 24 A flowchart of additional aspects of the method;

[0067] Figure 29 yes Figure 24 The flowchart of the additional aspects of the method; and

[0068] Figure 30 yes Figure 24 A flowchart of an additional aspect of the method. Detailed Implementation

[0069] The various aspects will now be described with reference to the accompanying drawings. In the following description, numerous specific details are set forth for illustrative purposes to provide a thorough understanding of one or more aspects. However, it will be apparent that such aspects can be practiced without these specific details.

[0070] This disclosure describes methods and apparatus for distributing identification (ID) values ​​or numbers to nodes or devices in a communication network. In some aspects, the communication network is a Controller Area Network (CAN). In some aspects, the data field of a CAN message (also referred to as a "frame") is used to distribute the ID value. In some aspects, broadcast read frames are used to distribute the ID value. In such aspects, different network configurations and different devices on the network can appropriately respond to one or two distribution techniques. Furthermore, depending on the network, one technique used for distribution may be more efficient or faster than another.

[0071] Figure 1 A bus architecture according to one aspect of this disclosure is illustrated.

[0072] Electric vehicles or other networks may include bus architecture 100, which may include a host 102 with memory 103, a bus 104 (or network), and one or more devices 106-112. Without departing from the scope of this disclosure, bus architecture 100 may include more or fewer devices (also referred to as “nodes”) 106-112. As part of this disclosure, host 102 may be described as a device, apparatus, processor, or other network machine.

[0073] In one aspect of this disclosure, the bus architecture 100 may be a Controller Area Network (CAN). CAN networks are used in battery management systems, such as those for electric vehicles or energy storage systems. The host 102 may be a processor or microcontroller that communicates with various other devices via bus 104. In the CAN network, devices 106, 108, 110, and 112 may be battery packs. As part of this disclosure, devices 106, 108, 110, and 112 may be described as apparatuses, devices, sensors, or other networked machines.

[0074] In order to use bus 104 as a common communication path, each device 106-112 connected to bus 104 can have a unique identifier (ID) number.

[0075] Figure 2An example is illustrated of a device coupled to a bus architecture according to one aspect of this disclosure.

[0076] Figure 2 A device 106 coupled to bus 104 is illustrated. Although referred to as device 106, Figure 2 The device shown can be any device coupled to bus 104 without departing from the scope of this disclosure. Within device 106, a microcontroller unit (MCU) 200 is coupled to bus 104, and optionally a battery pack monitor 202 is coupled to MCU 200. Also coupled to MCU 200 are one or more battery cell monitors, which may include analog front-end (AFE) and / or cell monitoring units (CMU) 204, AFE / CMU 206, AFE / CMU 208, and a battery 210 is coupled in series to generate voltage from device 106. Battery cell monitors 204, 206, and / or 208 may also be referred to herein as a battery management system (BMS).

[0077] In one aspect of this disclosure, host 102 may assign an ID number (or value) to each device 106 (e.g., devices 106-112) coupled to bus 104. When multiple devices are coupled to bus 104, host 102 may control the assignment of ID number values ​​to each device 106-112. In such an aspect, MCU 200, battery pack monitor 202, or other parts of device 106 may not contain non-volatile memory (NVM) storing the unique ID number of device 106, which can reduce the cost and complexity of each device 106 coupled to bus 104. Furthermore, MCU 200 may be implemented as a state machine, such as an integrated circuit, rather than a processor, since host 102 can control communication on bus 104. According to one aspect of this disclosure, processing power, non-volatile memory (NVM), and / or other circuitry in MCU 200 may not be necessary or may be substantially reduced. Since host 102 is performing the network ID number assignment, the complexity of devices 106-112 can be reduced and can have a reduced cost.

[0078] Figure 3 This is a communication flowchart based on one aspect of this disclosure.

[0079] Flowchart 300 illustrates the communication flow between host 102 and devices 106-112 on bus 104. Each connection or "node" to bus 104 has a logical number assigned to that connection. In one aspect of this disclosure, bus 104 is a CAN bus, and host 102 is assigned to logical node 0 on bus 104.

[0080] The host 102 may be a processor or other microcontroller that initiates and receives electrical signals (“messages”) via bus 104 to monitor the status of each of the devices 106-112 on bus 104. However, for the purpose of managing the electrical signals on bus 104, each device 106-112 on bus 104 may also be assigned a logical number as a node on bus 104. These nodes or logical number assignments may be referred to as node 1, node 2, etc., and may be referred to as “node 1-n” to indicate “n” nodes on bus 104. These nodes are given specific identifiers in this disclosure.

[0081] The host 102 can be assigned to CAN node 0 and has a bus ID with a specific value (also referred to herein as CANID). For example, and without limitation, the host 102 can be assigned a bus ID of “XX”, although any device ID may be used without departing from the scope of this disclosure.

[0082] Before bus 104 is initialized, each of devices 106-112 may have a public network ID or a generic network ID as a default value. Therefore, the generic network ID used for each device 106-112 may be referred to as "YY" herein. The network ID used for each device 106-112 on a specific bus 104 may be assigned by host 102, as described herein.

[0083] During communication on bus 104, identifiers, such as the device ID of the initiator (sender) of the message recipient, can be referred to as the “data” of the message, and the intended recipient can be referred to as the “frame” of the message being sent.

[0084] In message 302, host 102 sends its host device ID (XX) (which is the CAN bus ID or CAN ID) to devices 106-112 on bus 104. Data (XX) is sent to a frame ID of “YY”, which each device 106-112 on bus 104 uses as a generic frame ID. In some respects, the CAN bus ID of host 102 will not change during the operation of bus architecture 100.

[0085] Although each device 106-112 will receive the host ID in operation 304, only one device 106-112 will be able to control bus 104 to return messages on bus 104 because the frame ID (the generic target or addressed bus node) is the same for each device 106-112. Once one of the devices 106-112 has acquired control of bus 104, for example, the first device 106-112 responds to host 102, other devices on bus 104 will not be allowed to access bus 104; for example, those devices will have "disabled" bus 104 transmission communication. The disabled device on bus 104 can still receive messages from host 102 or other devices 106-112 on bus 104, but the disabled device is in "listening" mode, which means that the disabled device 106-112 can still respond to messages with frame=YY (as device ID).

[0086] Whichever device 106-112 gains control of bus 104, it will be referred to as "Node X". In message 306, Node X will send its device ID to host 102 on bus 104. The device ID used for device 106-112 (Node X) can be any unique identifier for that device. For example, Node X sends a message with a frame ID corresponding to "XX" of the host device ID and a data field that includes the value of Node X's device ID.

[0087] In one aspect of this disclosure, the device ID for a given device 106-112 can be a serial number of that device 106-112, such as a printed circuit board ID. Such a device ID can be transmitted as an 11-bit identifier in a CAN frame in CAN bus message mode. This 11-bit identifier can be set by default or by assignment from host 102.

[0088] In one aspect of this disclosure, the device ID for a given device 106-112 can be the device's Extended ID (EID). In the standard CAN bus message mode, the EID is an ID that serves as a 29-bit identifier in the CAN Extended Message Frame, comprising the 11-bit basic identifier and the 18-bit extended identifier described above. This 29-bit identifier can be generated from the unique ID of an integrated circuit or other component on device 106-112.

[0089] In operation 308, devices 106-112 acquiring bus 104 (at node X) change their ID from a generic, initial "YY" identifier to a unique device ID transmitted to host 102 in message 306. In one aspect of this disclosure, node X may change its ID to a device ID or the device's EID, as described above, although any unique device ID value, such as a unique part number, may be used without departing from the scope of this disclosure.

[0090] In operation 310, host 102 receives a device ID from node X via bus 104. This device ID can be the device ID or EID of any device 106-112 at node X. Host 102 then configures (assigns) a network ID for node X and sends this network ID to node X in operation 312. Operation 312 can use an extended message frame on bus 104 to send the network ID back to node X. For example, the extended message frame can have: an extended frame field with a value for the device ID or EID of node X; and a data field with a value of Z1. For ease of understanding, the network ID can be referred to as "Zn", where n is the node number on bus 104. In operation 312, the network ID will be "Z1" because this is the first network ID assigned by host 102.

[0091] In operation 314, devices 106-112 at node X receive a network ID (Z1) from host 102 on bus 104. After receiving the ID, operation 314 changes the ID of node X (e.g., device ID or EID) to network ID Z1.

[0092] Operation 316 initiates the acknowledgment process between host 102 and node X. In operation 316, host 102 requests data from device 106-112 at node X by sending frame ID Z1 to bus 104. Device 106-112 at node X has the address of bus 104, therefore only this device will respond to host 102. If operations 308-316 have been performed correctly for node X, node X will receive the data request in operation 318 and will respond to host 102 in operation 320, acknowledging that device 106-112 at node X has completed network ID allocation.

[0093] If one or more of operations 308-314 are not performed correctly, host 102 will not receive a response from node X in operation 320 when host 102 attempts to acknowledge the network ID assignment in operation 316. This may cause devices 106-112 at node X to be reset to the “YY” bus ID, and that particular device may later be assigned a new network ID during the process.

[0094] If host 102 receives the acknowledgment message sent in operation 320, host 102 maps node X (and devices 106-112 at node X) to the ID sent to node X in operation 322. This mapping informs host 102 that devices 106-112 present at the node of bus 104 are assigned by host 102. The mapped network ID can be stored or recorded in memory 103 for use by host 102 on bus 104.

[0095] Operations 324 and 326 illustrate the repetition of steps 302-320 for additional devices 106-112 coupled to bus 104. Each device 106-112 will sequentially acquire the bus, send its device ID to host 102, and undergo these steps to have a network ID assigned by host 102.

[0096] Operation 328 illustrates that host 102 sends a "generic" YY network ID message on bus 104, and each of devices 106-112 (which have all been assigned node and network IDs) receives the message at operation 330. Since all devices 106-112 have already been assigned new network IDs by host 102, devices 106-112 will not respond. In operation 332, no response will occur, or the response on bus 104 will time out, and operation 334 will indicate to host 102 that all network IDs have been distributed to devices 106-112 on bus 104.

[0097] like Figure 3 As shown, host 102 distributes network IDs to devices 106, 108, 110 and 112, and stores the distributed network IDs for use in bus 104 communication purposes.

[0098] In other words, broadly speaking, in communication process 300, CAN node 0, such as the host including the processor, has a different CAN ID compared to other CAN nodes set by default through hardware configuration, and its CAN ID (XX) remains unchanged throughout the operation. The host will be responsible for managing and distributing CAN node IDs in the CAN network.

[0099] Furthermore, CAN nodes 1 to n are generic CAN nodes with the same CAN ID (YY) by default through hardware settings. Their CAN IDs will be assigned by CAN node 0 (the host) during the initial phase of the CAN network.

[0100] Additionally, each of CAN nodes 1 to n will have a unique identifier in the hardware, such as a unique ID (UID), which can come from a unique identifier on the corresponding IC on the board. In some cases, each of CAN nodes 1 to n will generate an extended CAN node ID (29 bits) from the unique identifier, which can be regarded as the unique ID of the CAN node.

[0101] In the initial stage of the CAN network, CAN node 0 (the host) knows the default IDs of CAN nodes 1 to n, which is ID=YY in this example, but CAN nodes 1 to n do not know the host's ID.

[0102] Then, the host distributes the CAN ID as Z1 to Zn to CAN nodes 1 to n.

[0103] Figure 4 This is a block diagram of an example computer device having components configured to perform a method for distributing network identifiers (IDs) by host devices in a network. Figure 5 This is a flowchart illustrating an example of a method for distributing network identifiers (IDs) by host devices within a network.

[0104] refer to Figure 4 and Figure 5 In operation, the host 102 device in the bus architecture 100 (or other network) can perform a method 500 for network identifier (ID) distribution, such as by execution via the host 102, processor 105, or memory 103.

[0105] At block 502, method 500 includes transmitting a host ID on a communication bus. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or transmitting component 420 may be configured to or may include components for transmitting a host ID on a communication bus.

[0106] For example, the transmission at block 502 may include sending an electrical signal from host 102 to devices 106-112 on bus 104 to initiate the allocation of a network ID.

[0107] Furthermore, for example, the transmission at box 502 can be performed by host 102 to notify devices 106-112 of host 102's network ID.

[0108] At block 504, method 500 includes receiving a device ID from a first node of a plurality of nodes on a communication bus. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or receiving component 425 may be configured to, or may include, components for receiving a device ID from a first node of a plurality of nodes on a communication bus.

[0109] For example, receiving at block 504 may include receiving an electrical signal from one of the devices 106-112 on bus 104 at host 102.

[0110] Furthermore, for example, the reception at block 504 can be performed to inform host 102 that one of devices 106-112 is capable of communicating on bus 104.

[0111] At block 506, method 500 includes distributing a first unique network ID value to a first node among a plurality of nodes on a communication bus. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or distribution component 430 may be configured to or may include components for distributing the first unique network ID value to the first node among a plurality of nodes on the communication bus.

[0112] For example, distribution at box 506 may include determining a unique network ID at host 102 and assigning it to a responding node on bus 104.

[0113] Furthermore, for example, the distribution at box 506 can be performed to initiate communication with one of devices 106-112.

[0114] At block 508, method 500 includes repeating the following operations: transmitting a host ID on a communication bus, receiving a corresponding device ID from each of the remaining nodes in the plurality of nodes, and distributing a unique network ID value to each of the remaining nodes in the plurality of nodes until each of the plurality of nodes has been assigned a corresponding unique network ID value. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or repeating component 435 may be configured to or may include components for repeating the following operations: transmitting a host ID on a communication bus, receiving a corresponding device ID from each of the remaining nodes in the plurality of nodes, and distributing a unique network ID value to each of the remaining nodes in the plurality of nodes until each of the plurality of nodes has been assigned a corresponding unique network ID value.

[0115] For example, repetition at box 508 may include assigning a unique network ID to each of the devices 106-112 on bus 104.

[0116] In terms of alternatives or additions, the network is a Controller Area Network (CAN).

[0117] In terms of replacement or addition, the device ID is based on the Extended ID (EID).

[0118] Figure 6 yes Figure 5 A flowchart of an additional aspect of the method.

[0119] refer to Figure 6 In an alternative or additional manner, at box 602, sending the host ID at box 502 includes sending a message addressing a generic device ID, wherein the generic device ID is common to each of the multiple nodes.

[0120] Figure 7 yes Figure 5 A flowchart of an additional aspect of the method.

[0121] refer to Figure 7 In an alternative or additional aspect, at box 702, method 500 may further include receiving confirmation of receipt of a first unique device ID value and each corresponding unique network ID value from each of the plurality of nodes.

[0122] Figure 8 yes Figure 5 A flowchart of an additional aspect of the method.

[0123] refer to Figure 8 In an alternative or additional aspect, at box 802, method 500 may further include assigning a first unique network ID value as a new device ID value for the first node based on the EID.

[0124] Figure 9 yes Figure 5 A flowchart of an additional aspect of the method.

[0125] refer to Figure 9 In terms of substitution or addition, at box 902, method 500 may further include determining that each of the plurality of nodes has been assigned a corresponding unique device ID value.

[0126] In this optional aspect, at box 904 and at box 902, it is determined that each of the plurality of nodes has been assigned a corresponding unique device ID value, including receiving an empty response from each of the plurality of nodes.

[0127] For example, no response will be received, or a certain amount of time will elapse before a response is received at host 102, indicating that no other devices 106-112 have the original or generic device ID.

[0128] Figure 10 This is a block diagram of an example computer device having components configured to perform a method for distributing a network identifier (ID) by one of a plurality of client devices in a network. Figure 11 This is a flowchart illustrating an example of a method for distributing network identifiers (IDs) among multiple client devices in a network. The client device may also be referred to herein as a "node" on bus 104.

[0129] refer to Figure 10 and Figure 11 In operation, devices 106-112, such as client devices in a network, can perform network identifier (ID) distribution method 1100, such as through execution by devices 106-112.

[0130] At block 1102, method 1100 includes receiving a first message on a communication bus including a host ID and a generic ID value, wherein the generic ID value is associated with a client device. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or receiving component 1020 may be configured to, or may include, components for receiving the first message on the communication bus including a host ID and a generic ID value, wherein the generic ID value is associated with a client device.

[0131] For example, receiving at block 1102 may include receiving an electrical signal indicating a generic ID from host 102.

[0132] Furthermore, for example, the reception at block 1102 can be performed by devices 106-112, and one of devices 106-112 is allowed to acquire control of bus 104 in response to host 102.

[0133] At block 1104, method 1100 includes transmitting a device ID on a communication bus. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or transmitting component 1025 may be configured to or may include components for transmitting the device ID on the communication bus.

[0134] For example, transmission at box 1104 may include sending an electrical signal to host 102 indicating the EID of device 106-112.

[0135] At block 1106, method 1100 includes receiving a unique network ID value on a communication bus. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or receiving component 1030 may be configured to or may include components for receiving a unique network ID value on a communication bus.

[0136] In terms of alternatives or additions, the network is a Controller Area Network (CAN).

[0137] In terms of substitution or addition, the device ID is based on the extended ID (EID), where the unique network ID value is based on the device ID.

[0138] Figure 12 yes Figure 11 A flowchart of an additional aspect of the method.

[0139] refer to Figure 12 In an alternative or additional aspect, at block 1202, method 1100 may further include changing a generic ID value to a device ID at each of the multiple nodes. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or change component 1035 may be configured to or may include components for changing a generic ID value to a device ID at each of the multiple nodes.

[0140] In this optional aspect, the received unique network ID value at box 1204 and box 1106 is included in the second message addressed to the device ID.

[0141] Figure 13 yes Figure 11 A flowchart of an additional aspect of the method.

[0142] refer to Figure 13 In an alternative or additional aspect, at block 1302, method 1100 may further include sending an acknowledgment of receipt of the unique network ID value to the host node. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or transmitting component 1040 may be configured to or may include components for sending an acknowledgment of receipt of the unique network ID value to the host node.

[0143] Figure 14 A communication flowchart according to one aspect of this disclosure is illustrated.

[0144] Flowchart 1400 illustrates the communication flow between host 102 and devices 106-112 on bus 104. Each connection or "node" to bus 104 has a logical number assigned to that connection. In one aspect of this disclosure, bus 104 is a CAN bus, and host 102 is assigned to logical node 0 on bus 104.

[0145] The host 102 may be a processor or other microcontroller that initiates and receives electrical signals (“messages”) via bus 104 to monitor the status of each of the devices 106-112 on bus 104. However, in order to manage the electrical signals on bus 104 and to be able to identify the corresponding devices, each device 106-112 on bus 104 may also be assigned a different logical number as a node on bus 104. These nodes or logical number assignments may be referred to as node 1, node 2, etc., and may be referred to as “node 1-n” to indicate “n” nodes on bus 104. These nodes are given specific identifiers in this disclosure.

[0146] The host 102 can be assigned to CAN node 0 and has a specific, unique bus ID (also referred to herein as CAN ID). For example, and without limitation, the host 102 can be assigned a bus ID of “XX”, although any device ID may be used without departing from the scope of this disclosure.

[0147] Initially, prior to bus 104 initialization, each of devices 106-112 (also referred to herein as nodes 106-112) may have a public or generic network ID as a default value. Therefore, the generic network ID for each device 106-112 may be referred to herein as "YY" or "YY1, YY2, ..., YYn". The network ID for each device 106-112 on a specific bus 104 may be assigned by host 102, as described herein.

[0148] During communication on bus 104, identifiers, such as the device ID of the initiator (sender) of the message recipient, can be referred to as the “data” of the message, and the intended recipient can be referred to as the “frame” of the message being sent.

[0149] exist Figure 3 In this process, the data field transmitted by host 102 includes the ID of a given node, which responds with the ID or EID of a node from the CAN bus 104. Figure 14 In the aforementioned aspect, the broadcast read frame is used by host 102 to initiate ID distribution to devices 106-112.

[0150] In operation 1402, host 102 sends a broadcast read frame to devices 106-112, which includes the identifier (ID) of YY0 of devices 106-112 on bus 104.

[0151] Although each device 106-112 will receive a broadcast read frame in operation 1404, only one device 106-112 will be able to control bus 104 to return messages on bus 104. In one aspect of this disclosure, the device 106-112 with the highest priority on bus 104 will "win" control of bus 104 and be able to respond to operation 1404 received by all devices 106-112.

[0152] On bus 104, which serves as the CAN bus, data transmission is distinguished by a unique message identifier, which can be 11 or 29 bits. This identifier represents several things, including the ID of the transmitting device and the message priority on bus 104. A lower message ID indicates a higher priority. CAN nodes or devices can send or receive any number of messages, which contributes to a high level of flexibility.

[0153] Message priority is defined by a field in the message identifier called the arbitration field and the Remote Transmission Request (RTR) bit. Bus 104 arbitration can be performed by the host 102 and devices 106-112 by monitoring bus 104. If device 106-112 detects a dominant level in the arbitration field of a message that was not sent by that device, the device will stop transmitting and become a receiver, or enter a "listening" state after determining that another device 106-112 has a higher priority.

[0154] The device with the highest priority, 106-112, such as device 106, will acquire control of bus 104, and the remaining devices 108-112 on bus 104 will not be allowed to access bus 104; for example, those devices will "disable" their bus 104 transmission communication. The disabled device on bus 104 can still receive messages from host 102 or other devices 106-112 on bus 104, but the disabled device is in "listening" mode. For ease of understanding, the remainder of this example will use device 106 (also referred to herein as "node 1") as the device with the highest priority on bus 104, although it should be understood that any device 106-112 can be the device with the highest priority on bus 104.

[0155] In operation 1406, device 106 (i.e., the device with the highest priority on bus 104) responds to host 102 with a broadcast frame ID equal to one of AA1 to AAn, where the corresponding values ​​from 1 to n correspond to different response ID values ​​for each of nodes 1 to n, and the corresponding values ​​from AA1 to AAn can correspond to the default unique ID (UID) of the respective device. In this example, node 1 has the highest priority value AA1, and the other nodes switch to idle mode.

[0156] In operation 1408, host 102 receives a response frame with ID AA1, and in response, in operation 1410, sends a broadcast ID allocation frame having the ID of one of YY1 to YYn, including data of Z1, and the host ID of XX. In this case, each value of YY1 to YYn is a specific device ID corresponding to one of the corresponding devices 106-112, where each value of YY1 to YYn corresponds to the UID of each corresponding device. In this example, the broadcast ID allocation frame has the ID YY1, which corresponds to device 106, such as node 1.

[0157] Because device 106 has control over bus 104, device 106 will act according to operation 1410 in operation 1412, where device 106 (node ​​1) receives a broadcast ID allocation frame with ID=YY1 and data including Z1 and host ID XX. As part of operation 1412, device 106 (node ​​1) changes its ID to Z1, changes its host ID to XX, and disables its broadcast ID.

[0158] In operation 1414, after operation 1412 is completed, device 106 (node ​​1) then responds to host 102 with an ID assigned with an ID having an ID of XX on bus 104.

[0159] In operation 1416, after host 102 receives an ID allocation complete frame message from device 106 (node ​​1), host 102 maps device 106 (node ​​1) to ID Z1. This mapping informs host 102 which of the devices 106-112 present on bus 104 will be assigned as node 1 by host 102. The mapped network ID can be stored in memory 103 for host 102 to use on bus 104.

[0160] To confirm that device 106 (node ​​1) has been correctly assigned on bus 104, host 102 then sends a separate read frame with ID=Z1 to device 106 (node ​​1) in operation 1418. In operation 1420, device 106 (node ​​1) receives the separate read frame with ID Z1, and in operation 1422 responds with a separate read response on bus 104 with ID XX (host 102 bus ID).

[0161] In operation 1424, host 102 confirms that the bus identifier for device 106 (node ​​1) has been completed.

[0162] Once this occurs, in operation 1426, control returns to host 102, which repeatedly broadcasts read frames to devices 106-112, as described in operation 1402. Since device 106 (node ​​1) already has an allocation on bus 104, device 106 (node ​​1) will not respond to the broadcast read frames in operation 1402, and devices 108-112 with the second-highest priority in operation 1406 will gain control of bus 104. This process continues as shown in operations 1426 and 1428 until operation 1430. Operations 1426 and 1428 show operations 1402-1424 repeated for additional devices 106-112 coupled to bus 104. Each device 106-112 will sequentially acquire the bus, send its ID to host 102, and undergo the process of being assigned a network ID by host 102.

[0163] In operation 1430, host 102 sends broadcast read frames to devices 106-112 on bus 104, similar to the case where host 102 sends broadcast read frames in operation 1402. However, once all devices 106-112 have the identifiers assigned on bus 104, host 102 will not receive a response (e.g., host 102 will not receive a response as in operation 1406). Instead, a no-response occurs in operation 1432. Once host 102 determines that there is a "no-response" in operation 1432, or a sufficient amount of time has elapsed without receiving a response from any device 106-112 on bus 104, host 102 will have assigned all identifiers on bus 104, and the distribution of identifiers will be considered complete.

[0164] like Figure 14 As shown, host 102 distributes network IDs to devices 106, 108, 110 and 112, and stores the distributed network IDs for use in bus 104 communication purposes.

[0165] In one aspect of this disclosure, device 106-112 places its device ID in the frame ID field ( Figure 14 ) or data field ( Figure 3 If the device ID is placed in the data field, device 106-112 may be in a passive error state. If the device ID is placed in the frame ID field, device 106-112 may not be in a passive error state.

[0166] The passive error state can be used by devices 106-112 because if devices 106-112 are not in a passive error state, an arbitration failure in the frame ID field will not disrupt current communication. If an arbitration failure exists in the data field, such an error may not prevent communication on bus 104 when devices 106-112 are in a passive error state.

[0167] In other words, in general, in communication flow 1400, CAN node 0 is the host, which may include a processor, and its target ID will be XX (after ID distribution, the target host ID is XX, but in the initial state, the host can receive all frames from CAN nodes 1 to n). The host will be responsible for the management and distribution of CAN node IDs in the CAN network.

[0168] Furthermore, CAN nodes 1 through n are generic CAN nodes, which by default have the same broadcast CAN ID (YY0), specific IDs from YY1 to YYn corresponding to their UIDs, and different response IDs from AA1 to AAn corresponding to their UIDs. The mapping strategy from YYx (x can be 1 through N) to their UIDs is similar, allowing the host to determine YYx based on the received AAx.

[0169] Furthermore, in the initial phase of the CAN network, the host will broadcast a read frame with ID==YY0, and nodes 1 through n will receive the frame and respond with different response IDs. Assuming that the frame with ID=AA1 from node 1 has the highest transmission priority and wins the bus, all other nodes will fail to transmit the frame and enter an idle state.

[0170] Then, based on the received ID (AA1), the host will determine the specific ID (YY1) of node 1 and assign the ID of node 1 to the expected ID (Z1) with host ID XX using a broadcast ID allocation frame with ID=YY1. Node 1 will disable broadcast ID and then respond with an ID allocation completion frame with host ID XX.

[0171] Subsequently, the domain controller (e.g., the host) can issue a separate read frame with the assigned ID Z1, and Node 1 will send a separate read response frame with the host ID XX, indicating that both the CAN ID and host ID of Node 1 are as expected.

[0172] Following a similar process, the host can distribute the CAN IDs as Z1 to Zn and the host ID as XX to the remaining CAN nodes in CAN node 1 to n.

[0173] Then the ID distribution process for CAN node 0 is completed.

[0174] Figure 15 This is a flowchart illustrating an example of a method 1500 for distributing network identifiers (IDs) by host devices in a network.

[0175] For example, in operation, such as regarding Figure 3 and / or Figure 14 The host device 102 in the bus architecture 100 (or other network) can execute all or at least a portion of the Controller Area Network (CAN) Identifier (ID) distribution method 1500 through the host 102, processor 105, or memory 103. Additionally, in this example, devices 106-112 on bus 104 can respond to the host device 102.

[0176] At block 1502, method 1500 includes transmitting a host ID on the CAN bus. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or transmitting component 420 may be configured to, or may include, components for transmitting a host ID on the CAN bus. For example, the transmission at block 1502 may include sending an electrical signal from host 102 to devices 106-112 on bus 104 to initiate network ID allocation. Further, for example, the transmission at block 1502 may be performed by host 102 to notify devices 106-112 of host 102's network ID.

[0177] At block 1504, method 1500 includes receiving a first device ID from a first node of a plurality of nodes on the CAN bus. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or receiving component 425 may be configured to, or may include, components for receiving the first device ID from the first node of a plurality of nodes on the CAN bus. For example, receiving at block 1504 may include receiving an electrical signal at host 102 from one of devices 106-112 on bus 104. Further, for example, receiving at block 1504 may be performed to inform host 102 that one of devices 106-112 is capable of communicating on bus 104.

[0178] At block 1506, method 1500 includes distributing a first unique network ID value to a first node among a plurality of nodes on a CAN bus. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or distribution component 430 may be configured to, or may include, components for distributing the first unique network ID value to the first node among a plurality of nodes on a CAN bus. For example, the distribution at block 1506 may include determining a unique network ID at host 102 and assigning it to a responding node on bus 104. Further, for example, the distribution at block 1506 may be performed to initiate communication with one of devices 106-112.

[0179] At block 1508, method 1500 includes confirming that a first node among a plurality of nodes has received a first unique network ID value. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or repeater component 435 may be configured to, or may include, components for confirming that the first node among a plurality of nodes has received the first unique network ID value. For example, confirmation at block 1508 may include sending a separate read frame to each of devices 106-112 on bus 104.

[0180] At block 1510, method 1500 includes repeating the following operations: transmitting a host ID on the CAN bus, receiving a corresponding device ID from each of the remaining nodes in the plurality of nodes, distributing a corresponding unique network ID value to each of the remaining nodes in the plurality of nodes, and confirming that each of the remaining nodes has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned a corresponding unique network ID value. For example, in one aspect, host 102, memory 103, processor 105, communication component 115, and / or repeating component 435 may be configured to or may include components for repeating the following operations: transmitting a host ID on the CAN bus, receiving a corresponding device ID from each of the remaining nodes in the plurality of nodes, distributing a corresponding unique network ID value to each of the remaining nodes in the plurality of nodes, and confirming that each of the remaining nodes has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned a corresponding unique network ID value. For example, the repeating at block 1508 may include assigning a unique network ID to each of devices 106-112 on bus 104.

[0181] Figure 16 yes Figure 15 A flowchart of an additional aspect of the method.

[0182] refer to Figure 16 In alternative or additional respects, at box 1600, the receiving first device ID at box 1504 includes the receiving first device ID in the frame ID field.

[0183] Figure 17 yes Figure 15 A flowchart of an additional aspect of the method.

[0184] refer to Figure 17 In alternative or additional respects, receiving the first device ID at block 1700 and at block 1504 includes receiving the first device ID from the highest priority node on the CAN bus.

[0185] Figure 18 yes Figure 15 A flowchart of an additional aspect of the method.

[0186] refer to Figure 18 In terms of substitution or addition, at box 1800, the receiving of device IDs from each of the remaining nodes in box 1510 occurs in the priority order of each of the remaining nodes in the multiple nodes.

[0187] Figure 19 yes Figure 15 A flowchart of an additional aspect of the method.

[0188] refer to Figure 19 In terms of substitution or addition, at box 1900, the confirmation at box 1508 that the first node of the plurality of nodes has received the first unique network ID value and that each of the remaining nodes of the plurality of nodes has received the corresponding unique device ID value further includes receiving a predetermined response from the first node and each of the remaining nodes of the plurality of nodes.

[0189] Figure 20 yes Figure 15 A flowchart of an additional aspect of the method.

[0190] refer to Figure 20 In an alternative or additional aspect, distributing the first unique network ID value to the first node among the plurality of nodes on the CAN bus at block 1506 further includes, at block 2000, transmitting a broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus, and at block 2002, transmitting the first unique network ID value in a data field associated with the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus.

[0191] Further reference Figure 20In an alternative or additional aspect, the confirmation at block 1508 that the first node among the plurality of nodes has received the first unique network ID value further includes, at block 2004, receiving a response message from the first node among the plurality of nodes, at block 2006, transmitting a separate read frame ID having the first unique network ID value on the CAN bus, and at block 2008, associating the first unique network ID value with the first node.

[0192] Figure 21 yes Figure 15 A flowchart of an additional aspect of the method.

[0193] refer to Figure 21 In terms of alternatives or additions, receiving the first device ID at box 1504 includes receiving the first device ID in a data field at box 2100.

[0194] Figure 22 yes Figure 15 A flowchart of an additional aspect of the method.

[0195] refer to Figure 22 In an alternative or additional aspect, the sending host ID at box 1502 includes, at box 2200, a message addressed to a generic device ID, wherein the generic device ID is common to each of the multiple nodes.

[0196] Figure 23 yes Figure 15 A flowchart of an additional aspect of the method.

[0197] refer to Figure 23 In alternative or additional respects, receiving the first device ID at block 1504 includes, at block 2300, the first node being the first node in response to transmitting the host ID on the CAN bus.

[0198] Figure 24 yes Figure 15 A flowchart of an additional aspect of the method.

[0199] refer to Figure 24In an alternative or additional manner, distributing the first unique network ID value to the first node among multiple nodes on the CAN bus at block 1506 further includes, at block 2400, transmitting an extended frame having a first device ID in the frame ID field and a first unique network ID in the data field. Acknowledging that the first node among multiple nodes has received the first unique network ID value at block 1508 further includes, at block 2402, transmitting a data request message to the first node having the first unique network ID value in the frame ID field; at block 2404, receiving a response message having a host ID in the frame ID field and predetermined data in the data field; and at block 2406, recording the first unique network ID associated with the first node in an address mapping list.

[0200] Figure 25 This is a flowchart illustrating an example of a method 2500 for distributing network identifiers (IDs) from one of a plurality of nodes in a network.

[0201] For example, in operation, equipment 106-112, such as... Figure 3 and / or Figure 14 The devices in the network may perform all or at least a portion of method 2500, such as by executing via devices 106-112, to obtain a Controller Area Network (CAN) identifier (ID) from one of a plurality of nodes in the network.

[0202] At block 2502, method 2500 includes receiving a first message including a host ID value on the CAN bus. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or receiving component 1020 may be configured to or may include components for receiving the first message including a host ID value on the CAN bus. For example, receiving at block 2502 may include receiving an electrical signal from host 102. Furthermore, for example, receiving at block 1102 may be performed by devices 106-112 and allow one of devices 106-112 to acquire control of bus 104 in response to host 102.

[0203] At block 2504, method 2500 includes transmitting a second message on the CAN bus addressing a host ID value and including a device ID. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or transmitting component 1025 may be configured to, or may include, components for transmitting the second message on the CAN bus addressing a host ID value and including a device ID. For example, the transmission at block 2504 may include sending an electrical signal to host 102 indicating the ID of device 106-112.

[0204] At block 2506, method 2500 includes receiving a unique network ID value on the CAN bus. For example, in one aspect, devices 106-112, state machine 107 (which may be embodied as optional memory 111 and processor 113), communication component 116, and / or transmitting component 1025 may be configured to or may include components for receiving a unique network ID value on the CAN bus.

[0205] Figure 26 yes Figure 25 A flowchart of an additional aspect of the method.

[0206] refer to Figure 26 In terms of substitution or addition, at box 2600, transmitting the first device ID at box 2504 includes transmitting the first device ID in the frame ID field.

[0207] Figure 27 yes Figure 25 A flowchart of an additional aspect of the method.

[0208] refer to Figure 27 In alternative or additional terms, transmitting the first device ID at block 2700 and at block 2504 includes transmitting the first device ID from the highest priority node on the CAN bus.

[0209] Figure 28 yes Figure 25 A flowchart of an additional aspect of the method.

[0210] refer to Figure 28 In terms of substitution or addition, sending the first device ID at box 2800 and box 2504 includes sending the first device ID in the data field.

[0211] Figure 29 yes Figure 25 A flowchart of an additional aspect of the method.

[0212] refer to Figure 29In an alternative or additional aspect, receiving a unique network ID value on the CAN bus at block 2508 further includes, at block 2900, receiving an extended frame having a unique network ID value in a data field, and at block 2902, transmitting the unique network ID value in a data field on the CAN bus.

[0213] Figure 30 yes Figure 25 A flowchart of an additional aspect of the method.

[0214] refer to Figure 30 In an alternative or additional aspect, receiving a first message including a host ID value on the CAN bus in block 2502 further includes, at block 3000, receiving a message addressed to a generic device ID, wherein the generic device ID is common to each client device among multiple nodes.

[0215] In summary, this disclosure may be embodied in one or more of the following provisions.

[0216] Clause 1. A method for distributing Controller Area Network (CAN) identifiers (IDs) by a host device in a network, the method comprising: transmitting a host ID on a CAN bus; receiving a first device ID from a first node of a plurality of nodes on the CAN bus; distributing a first unique network ID value to the first node of the plurality of nodes on the CAN bus; confirming that the first node of the plurality of nodes has received the first unique network ID value; and repeating the following operations: transmitting the host ID on the CAN bus, receiving a corresponding device ID from each of the remaining nodes of the plurality of nodes, distributing a corresponding unique network ID value to each of the remaining nodes of the plurality of nodes, and confirming that each of the remaining nodes has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned the corresponding unique network ID value.

[0217] Clause 2. The method according to Clause 1, wherein the first device ID is received in the frame ID field.

[0218] Clause 3. The method described in Clause 1, wherein the first node is the highest priority node on the CAN bus.

[0219] Clause 4. The method according to Clause 3, wherein receiving the corresponding device ID from each of the plurality of nodes occurs in the priority order of each of the plurality of nodes.

[0220] Clause 5. The method according to Clause 1, wherein confirming that the first node of the plurality of nodes has received the first unique network ID value and confirming that each of the remaining nodes of the plurality of nodes has received the corresponding unique network ID value further includes receiving a predetermined response from the first node and each of the remaining nodes of the plurality of nodes.

[0221] Clause 6. The method according to Clause 1, wherein distributing the first unique network ID value to the first node among the plurality of nodes on the CAN bus further comprises: transmitting a broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; and transmitting the first unique network ID value in a data field associated with the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; and wherein confirming that the first node among the plurality of nodes has received the first unique network ID value further comprises: receiving a response message from the first node among the plurality of nodes; transmitting a separate read frame ID having the first unique network ID value on the CAN bus; and associating the first unique network ID value with the first node.

[0222] Clause 7. The method according to Clause 1, wherein the first device ID is received in the data field.

[0223] Clause 8. The method according to Clause 7, wherein sending the host ID includes sending a message addressing a generic device ID, wherein the generic device ID is public to each of the plurality of nodes.

[0224] Clause 9. The method according to Clause 7, wherein the first node is a first node that responds to transmitting the host ID on the CAN bus.

[0225] Clause 10. The method according to Clause 7, wherein distributing the first unique network ID value to the first node among the plurality of nodes on the CAN bus further comprises: transmitting an extended frame having the first device ID in a frame ID field and the first unique network ID value in a data field; wherein confirming that the first node among the plurality of nodes has received the first unique network ID value further comprises: transmitting a data request message to the first node, the data request message having the first unique network ID value in the frame ID field; receiving a response message having the host ID in the frame ID field and predetermined data in the data field; and recording the first unique network ID value associated with the first node in an address mapping list.

[0226] Clause 11. An apparatus for distributing Controller Area Network (CAN) identifiers (IDs) by a host device in a network, the apparatus comprising: a memory; and a processor communicatively coupled to the memory and configured to: transmit a host ID on a CAN bus; receive a first device ID from a first node of a plurality of nodes on the CAN bus; distribute a first unique network ID value to the first node of the plurality of nodes on the CAN bus; confirm that the first node of the plurality of nodes has received the first unique network ID value; and repeat the following operations: transmitting the host ID on the CAN bus, receiving a corresponding device ID from each of the remaining nodes of the plurality of nodes, distributing a corresponding unique network ID value to each of the remaining nodes of the plurality of nodes, and confirming that each remaining node has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned the corresponding unique network ID value.

[0227] Clause 12. The apparatus of Clause 11, wherein the processor is further configured to receive the first device ID in a frame ID field.

[0228] Clause 13. The apparatus according to Clause 11, wherein the first node is the highest priority node on the CAN bus.

[0229] Clause 14. The apparatus according to Clause 13, wherein the corresponding device ID received from each of the plurality of nodes occurs in priority order of each of the plurality of nodes.

[0230] Clause 15. The apparatus according to Clause 11, wherein when it is confirmed that the first node of the plurality of nodes has received the first unique network ID value and that each of the remaining nodes of the plurality of nodes has received the corresponding unique network ID value, the processor is further configured to receive a predetermined response from the first node and each of the remaining nodes of the plurality of nodes.

[0231] Clause 16. The apparatus according to Clause 11, wherein when the first unique network ID value is distributed to the first node among the plurality of nodes on the CAN bus, the processor is further configured to: transmit a broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; and transmit the first unique network ID value in a data field associated with the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; and wherein when it is confirmed that the first node among the plurality of nodes has received the first unique network ID value, the processor is further configured to: receive a response message from the first node among the plurality of nodes; transmit a separate read frame ID having the first unique network ID value on the CAN bus; and associate the first unique network ID value with the first node.

[0232] Clause 17. The apparatus of Clause 11, wherein the processor is further configured to receive the first device ID in a data field.

[0233] Clause 18. The apparatus of Clause 17, wherein when the host ID is sent, the processor is further configured to send a message addressing a generic device ID, wherein the generic device ID is common to each of the plurality of nodes.

[0234] Clause 19. The apparatus according to Clause 17, wherein the first node is a first node that responds to transmitting the host ID on the CAN bus.

[0235] Clause 20. The apparatus according to Clause 17, wherein when distributing a first unique network ID value to the first node among the plurality of nodes on the CAN bus, the processor is further configured to: transmit an extended frame having the first device ID in a frame ID field and the first unique network ID value in a data field; wherein when confirming that the first node among the plurality of nodes has received the first unique network ID value, the processor is further configured to: transmit a data request message to the first node, the data request message having the first unique network ID value in the frame ID field; receive a response message having the host ID in the frame ID field and predetermined data in the data field; and record the first unique network ID value associated with the first node in an address mapping list.

[0236] Clause 21. A method for obtaining a Controller Area Network (CAN) identifier (ID) from one of a plurality of nodes in a network, the method comprising: receiving a first message including a host ID value on a CAN bus; transmitting a second message on the CAN bus addressing the host ID value and including a device ID; and receiving a unique network ID value on the CAN bus.

[0237] Clause 22. The method according to Clause 21, wherein the device ID is sent in the frame ID field.

[0238] Clause 23. The method described in Clause 21, wherein the node is the highest priority node on the CAN bus.

[0239] Clause 24. The method according to Clause 21, wherein the device ID is sent in the data field.

[0240] Clause 25. The method according to Clause 24, the method further comprising: receiving an extended frame having the unique network ID value in the data field; and transmitting the unique network ID value in the data field on the CAN bus.

[0241] Clause 26. The method according to Clause 24, wherein receiving the host ID value includes receiving a message addressed to a generic device ID, wherein the generic device ID is common to each of the plurality of nodes.

[0242] Clause 27. An apparatus for distributing Controller Area Network (CAN) identifiers (IDs) to a plurality of nodes in a network, the apparatus comprising: a state machine configured to: receive a first message including a host ID value on a CAN bus; transmit a device ID from a first node of the plurality of nodes on the CAN bus; and receive a unique network ID value on the CAN bus.

[0243] Clause 28. The apparatus according to Clause 27, wherein the state machine is further configured to send the device ID in the frame ID field.

[0244] Clause 29. The apparatus according to Clause 27, wherein the first node is the highest priority node on the CAN bus.

[0245] Clause 30. The apparatus according to Clause 27, wherein the state machine is further configured to receive the device ID in a data field.

[0246] Clause 31. The apparatus according to Clause 30, wherein the state machine is further configured to: receive an extended frame having the unique network ID value in the data field; and transmit the unique network ID value in the data field on the CAN bus.

[0247] Clause 32. The apparatus according to Clause 30, wherein the state machine is further configured to: receive a message addressed to a generic device ID, wherein the generic device ID is common to each of the plurality of nodes.

[0248] While exemplary aspects and / or embodiments have been discussed above, it should be noted that various changes and modifications may be made herein without departing from the scope of the described aspects and / or embodiments as defined by the appended claims. Furthermore, although elements of the described aspects and / or embodiments may be described or claimed in the singular, the plural is contemplated unless expressly stated to be limited to the singular. Moreover, unless otherwise stated, all or part of any aspect and / or embodiment may be used in conjunction with all or part of any other aspect and / or embodiment.

Claims

1. A method for distributing Controller Area Network (CAN) identifiers (IDs) by host devices in a network, the method comprising: Transmit the host ID on the CAN bus; Receive the first device ID from the first node among the multiple nodes on the CAN bus; Distribute a first unique network ID value to the first node among the plurality of nodes on the CAN bus; Confirm that the first node among the plurality of nodes has received the first unique network ID value; as well as Repeat the following operations: send the host ID on the CAN bus, receive the corresponding device ID from each of the remaining nodes in the plurality of nodes, distribute the corresponding unique network ID value to each of the remaining nodes in the plurality of nodes, and confirm that each remaining node has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned the corresponding unique network ID value.

2. The method of claim 1, wherein the first device ID is received in the frame ID field.

3. The method according to claim 1, wherein the first node is the highest priority node on the CAN bus.

4. The method of claim 3, wherein receiving the corresponding device ID from each of the plurality of nodes occurs in priority order of each of the plurality of nodes.

5. The method of claim 1, wherein confirming that the first node of the plurality of nodes has received the first unique network ID value and confirming that each remaining node of the plurality of nodes has received the corresponding unique network ID value further comprises receiving a predetermined response from the first node and each remaining node of the plurality of nodes.

6. The method of claim 1, wherein distributing the first unique network ID value to the first node among the plurality of nodes on the CAN bus further comprises: Transmit the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; as well as The first unique network ID value is transmitted in a data field associated with the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; Furthermore, confirming that the first node among the plurality of nodes has received the first unique network ID value further includes: Receive a response message from the first node among the plurality of nodes; Transmit a separate read frame ID with the first unique network ID value on the CAN bus; and Associate the first unique network ID value with the first node.

7. The method of claim 1, wherein the first device ID is received in the data field.

8. The method of claim 7, wherein sending the host ID includes sending a message addressing a generic device ID, wherein the generic device ID is common to each of the plurality of nodes, or the first node is a first node in response to sending the host ID on the CAN bus.

9. The method of claim 7, wherein distributing the first unique network ID value to the first node among the plurality of nodes on the CAN bus further comprises: Transmit an extended frame that has the first device ID in the frame ID field and the first unique network ID value in the data field; Confirming that the first node among the plurality of nodes has received the first unique network ID value further includes: A data request message is transmitted to the first node, wherein the data request message has the first unique network ID value in the frame ID field; Receive a response message that has the host ID in the frame ID field and predetermined data in the data field; and Record the first unique network ID value associated with the first node in the address mapping list.

10. An apparatus for distributing Controller Area Network (CAN) identifiers (IDs) by a host device in a network, the apparatus comprising: Memory; and A processor, which is communicatively coupled to the memory and configured to: Transmit the host ID on the CAN bus; Receive the first device ID from the first node among the multiple nodes on the CAN bus; Distribute a first unique network ID value to the first node among the plurality of nodes on the CAN bus; Confirm that the first node among the plurality of nodes has received the first unique network ID value; as well as Repeat the following operations: send the host ID on the CAN bus, receive the corresponding device ID from each of the remaining nodes in the plurality of nodes, distribute the corresponding unique network ID value to each of the remaining nodes in the plurality of nodes, and confirm that each remaining node has received the corresponding unique network ID value, until each of the plurality of nodes has been assigned the corresponding unique network ID value.

11. The apparatus of claim 10, wherein the processor is further configured to receive the first device ID in a frame ID field.

12. The apparatus of claim 10, wherein the first node is the highest priority node on the CAN bus.

13. The apparatus of claim 12, wherein the corresponding device ID received from each of the plurality of nodes occurs in priority order of each of the plurality of nodes.

14. The apparatus of claim 10, wherein when it is confirmed that the first node of the plurality of nodes has received the first unique network ID value and that each of the remaining nodes of the plurality of nodes has received the corresponding unique network ID value, the processor is further configured to receive a predetermined response from the first node and each of the remaining nodes of the plurality of nodes.

15. The apparatus of claim 10, wherein when the first unique network ID value is distributed to the first node of the plurality of nodes on the CAN bus, the processor is further configured to: Transmit the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; as well as The first unique network ID value is transmitted in a data field associated with the broadcast ID allocation value assigned to the first node among the plurality of nodes on the CAN bus; Furthermore, when it is confirmed that the first node among the plurality of nodes has received the first unique network ID value, the processor is further configured to: Receive a response message from the first node among the plurality of nodes; Transmit a separate read frame ID with the first unique network ID value on the CAN bus; as well as Associate the first unique network ID value with the first node.

16. The apparatus of claim 10, wherein the processor is further configured to receive the first device ID in a data field.

17. The apparatus of claim 16, wherein when the host ID is sent, the processor is further configured to send a message addressing a generic device ID, wherein the generic device ID is common to each of the plurality of nodes.

18. The apparatus of claim 16, wherein the first node is a first node responsive to transmitting the host ID on the CAN bus.

19. The apparatus of claim 16, wherein when distributing a first unique network ID value to the first node of the plurality of nodes on the CAN bus, the processor is further configured to: Transmit an extended frame that has the first device ID in the frame ID field and the first unique network ID value in the data field; When it is confirmed that the first node among the plurality of nodes has received the first unique network ID value, the processor is further configured to: A data request message is transmitted to the first node, wherein the data request message has the first unique network ID value in the frame ID field; Receive a response message that has the host ID in the frame ID field and predetermined data in the data field; and Record the first unique network ID value associated with the first node in the address mapping list.

20. A method for obtaining a Controller Area Network (CAN) identifier (ID) from one of a plurality of nodes in a network, the method comprising: Receive the first message, including the host ID value, on the CAN bus; A second message addressing the host ID value and including the device ID is sent on the CAN bus; as well as Receive a unique network ID value on the CAN bus.