MULTIPLE VEHICLE DEVICES BRANDING AND CONFIGURATION SYSTEM

DE102023136008B3Active Publication Date: 2025-03-06GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102023136008
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-12-20
Publication Date
2025-03-06
Estimated Expiration
2043-12-20

Smart Images

  • Figure 00000017_0000
    Figure 00000017_0000
  • Figure 00000018_0000
    Figure 00000018_0000
  • Figure 00000019_0000
    Figure 00000019_0000
Patent Text Reader

Abstract

A branding and configuration system for the devices of a vehicle that are to be branded includes: an Ethernet switch containing ports; a branding module connected to the Ethernet switch that generates new identification information for each of the devices and sends the new identification information to that device via one of the respective ports; and the devices, each connected to the ports and containing a RAM and an NVM.Each of the devices is configured to: store in RAM the relevant new identification information received from the brand identification module for that device, or to replace the identification information stored in the RAM of that device with the relevant new identification information in RAM, and, based on the new identification information, to receive programming from a test device outside the vehicle in order to reprogram that device for a dedicated functional role inside the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

INTRODUCTION

[0001] The information provided in this section serves the purpose of providing a general overview of the context of the disclosure. Neither the work of the inventors currently named, to the extent described in this section, nor those aspects of the description that could not otherwise qualify as prior art at the time of filing, are expressly or implicitly recognized as prior art in relation to the present disclosure.

[0002] The present disclosure relates to devices within a vehicle's communication network and, in particular, to the branding and configuration of the devices for respective applications.

[0003] A vehicle can contain various systems, such as: a body control system; a chassis control system including a drive system, a braking system, and a steering system; an infotainment system; a navigation system; etc. Each of these systems can contain its own sensors, actuators, and controllers (electronic control units (ECUs)). Each controller has the appropriate hardware and software for its application. For example, a chassis controller contains i) hardware for receiving input from chassis-related sensors and ii) drivers for controlling one or more actuators, such as motors, pumps, etc., based on the sensor outputs. Each system containing the appropriate controllers, sensors, and actuators has a dedicated function, with the controllers located in a specific location within the vehicle.

[0004] DE 10 2017 212 256 A1 discloses a device for configuring similar network components. DE 10 2020 209 221 A1 discloses a method for coupling a sensor for a vehicle with a control unit via a network switch. US 2017 / 0033986 A1 discloses systems and methods for configuring sensory devices in a vehicle. US 2004 / 0254689 A1 discloses wireless systems for programming electronic control units used to control the function of various hardware devices in motor vehicles. SUMMARY

[0005] A brand identification and configuration system for multiple vehicle components that are to be branded is disclosed. The brand identification and configuration system comprises: at least one Ethernet switch comprising multiple ports; a brand identification module connected to the at least one Ethernet switch and configured to generate new identification information for each of the multiple components and to transmit the new identification information to that component via one of the multiple ports; and the multiple components, each connected to the multiple ports and comprising a read / write memory (RAM) and a non-volatile memory (NVM).Each of the multiple devices is configured to: i) store in RAM the relevant new identification information received from the brand identification module for that device and / or replace the identification information stored in the RAM of that device with the relevant new identification information in RAM; ii) receive programming from a test device outside the vehicle based on the new identification information in order to reprogram that device for a dedicated functional role inside the vehicle; and iii) store the relevant new identification information and the programming in the NVM of that device.

[0006] According to other characteristics, the multiple devices include the same hardware and, prior to branding and configuration, the same software.

[0007] According to other features, at least one of the multiple devices comprises different hardware than another of the multiple devices.

[0008] According to other features, the brand identification module sends the new identification information for the multiple devices simultaneously to the multiple devices via the Ethernet switch.

[0009] According to other features, the Ethernet switch is configured, based on ternary content-addressable memory rules, to forward the new identification information and other messages across the multiple ports to the multiple devices.

[0010] According to other features, the Ethernet switch is configured to forward new identification information and other messages across the multiple ports based on the user datagram protocol identifiers of the multiple ports, which are dedicated to the multiple devices as a result of the multiple devices being connected to the multiple ports.

[0011] According to other features, the multiple ports include designated connectors. The multiple devices are connected to the multiple ports via cables. The cables include first connectors and second connectors, with the first connectors of each type being connected to the designated connectors of the multiple ports. Each first connector is compatible with only one designated connector.

[0012] According to other features, the brand identification module is configured to transmit multicast or unicast packets to the multiple devices. At least one Ethernet switch is configured to forward the multicast or unicast packets to the multiple ports based on the user datagram protocol identifiers of the multiple ports.

[0013] According to other features during a discovery phase: the brand identification module sends discovery requests to the multiple devices; each of the multiple devices i) checks, based on a corresponding discovery request, whether there is valid identity information stored in that device's NVM, ii) if there is valid identity information, the device configures itself using the information stored in that device's NVM, and iii) if there is no valid identity information, the device loads a hardware identifier into that device's NVM and selects a media access control address, an Internet Protocol address, and a diagnostic identifier from a table stored in that device's NVM.

[0014] According to other features, the brand identification module is configured to send brand identification configuration requests to the devices after the detection requests are sent, in order to provide the devices with the new device identification information. The devices are configured to update their device identification information with the new identification information based on these brand identification configuration requests.

[0015] According to other features, the brand identification module is configured to receive a brand identification status request from the test device and respond to the test device with the status of each device. The multiple devices are configured to reprogram themselves based on the signals received from the test device in response to the status of each device.

[0016] According to other features, the devices receive signals from the test device according to a uniform diagnostic service protocol in order to reprogram the devices.

[0017] According to unclaimed features, a method for branding and configuring vehicle components intended to be branded is disclosed. The components include a RAM and an NVM. The method comprises: generating new identification information on a branding module for each component and sending the new identification information to that component via one of the ports of at least one Ethernet switch, the components being connected to the respective ports;and for each of the devices, i) storing the corresponding new identification information received from the brand identification module for that device in the RAM and / or replacing the identification information stored in the RAM of that device with the corresponding new identification information in the RAM, ii) based on the new identification information, receiving a program from a test device outside the vehicle to reprogram that device for a dedicated functional role within the vehicle, and iii) performing a verification process and, based on the results of the verification process, storing the corresponding new identification information and the program in the NVM of that device.

[0018] According to other features, the method also includes the simultaneous sending of the new identification information for the devices to the devices via the Ethernet switch.

[0019] According to other features, the method further includes, based on ternary content-addressable memory rules, forwarding the new identification information and other messages via the ports to the devices.

[0020] According to other features, the method further includes forwarding the new identification information and other messages via the ports based on the user datagram protocol identifiers of the ports, which are dedicated to the devices as a result of the devices being connected to the ports, to the devices.

[0021] According to other specifications, the ports contain primary connectors. The devices are connected to the ports via cables. The cables contain secondary connectors, each of which is connected to a primary connector. Each secondary connector is compatible with only one of the primary connectors.

[0022] According to other features, the method further includes: transmitting multicast packets or unicast packets to the devices; and forwarding the multicast packets or unicast packets via the at least one Ethernet switch based on the user datagram protocol identifiers of the ports to the ports.

[0023] According to other features, the procedure further includes, during a discovery phase: sending discovery requests to the devices; checking whether there is valid identity information stored in the NVM of that device for each of the devices and, based on a corresponding discovery request, if valid identity information exists, configuring that device using the information stored in the NVM of that device; if there is no valid identity information, loading a hardware identifier into the NVM of that device and selecting a media access control address, an Internet Protocol address, and a diagnostic identifier from a table stored in the NVM of that device;Following the sending of the discovery requests, brand identification configuration requests are sent to the devices to provide the devices with the new identification information of the devices; and the identification information of the devices is changed via the devices and based on the brand identification configuration requests with the new identification information.

[0024] According to other features, the method further includes: receiving a brand identification status request from the test device at the brand identification module and responses from the test device with the status of each of the devices; and reprogramming the devices based on signals received from the test device in response to the status of each of the devices.

[0025] Further applications of the present disclosure will become apparent from the detailed description, the claims, and the drawings. The detailed description and the specific examples serve only for illustration and are not intended to limit the scope of protection of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The present revelation is more fully understood from the detailed description and the accompanying drawings; they show: Fig. 1 a functional block diagram illustrating an exemplary branding and configuration process for devices within a vehicle with an Ethernet network topology according to the present disclosure; Fig. 2 a functional block diagram of an exemplary device to be marked and configured according to the present disclosure; Fig. 3 a functional block diagram of a brand identification module, an Ethernet switch and of non-branded devices of an exemplary Ethernet network topology according to the present disclosure; Fig. 4 a graphical representation of the signal flow illustrating an exemplary brand identification and configuration process according to the present disclosure; Fig. 5 an exemplary trademark identification method in accordance with the present disclosure; Fig. 6 an exemplary method for operating a device that is to be branded and configured according to the present disclosure; and Fig. 7 a graphic representation of an exemplary trademark identification message format according to the present disclosure.

[0027] Reference symbols can be used multiple times in the drawings to identify similar and / or identical elements. DETAILED DESCRIPTION

[0028] Manufacturing a vehicle with multiple controllers (or ECUs), each with its own hardware and software, is expensive. This is due to the number of different controllers, the various types of software involved, and the complexities of integrating them into a single vehicle. Connecting these different controllers to each other, to the sensors and actuators within the vehicle as part of a local area network (LAN), and configuring the controllers to communicate with each other, the sensors, the actuators, and a test setup outside the vehicle is complex.

[0029] The examples presented here include branding and configuration systems and procedures for branding and configuring devices, such as controllers and other electronic devices. Devices that are branded are referred to as unbranded devices, while devices that have been branded are referred to as branded devices. Branding involves determining an intended application for each unbranded device and providing that device with the correct identification information, such as the correct Media Access Control (MAC) address, the correct Internet Protocol (IP) address, the correct diagnostic identifier (Diagnostic ID), etc. The correct identification information replaces the default identification information stored in the unbranded device during manufacturing.According to one embodiment, a vehicle is equipped with multiple controllers that share the same part number and consequently the same hardware and software. The controllers are branded and configured for their respective intended applications. Once configured, they are programmed for these applications. For example, a body controller is programmed with body code, a chassis controller is programmed with chassis code, and so on. This is done inside the vehicle after the controllers have been installed.The problem of configuring multiple devices with the same or similar hardware design, which are re-instantiated in the same vehicle, is solved by a disclosed trademark method for dynamic device configuration after the devices have been connected to the vehicle's Ethernet network. This involves configuring a device with a device-specific and dedicated identity, such as a MAC address, an IP address, and a diagnostic identifier, and with device-specific and dedicated software content (or programming) based on the specific functional role of that device within the vehicle. The examples are also applicable to vehicles that have two or more controllers with different part numbers, different calibrations, hardware, and / or software.

[0030] Dynamic branding and the dynamic configuration of multiple devices (e.g., controllers) is a complex problem. At a high level, the examples disclosed here provide: 1) a vehicle Ethernet network topology and the specific use of one or more Ethernet switches to support the branding and configuration processes; 2) an overall branding and configuration strategy; and 3) software algorithms and detailed communication data to execute the branding and configuration processes. With respect to point 1, a topology is disclosed that includes i) a branding module, ii) an Ethernet switch, iii) the devices to be branded, which may be referred to as branding clients, and iv) an external test device.The test device is connected to the vehicle network and is used to provide the specified programming when the devices are configured. Each port of the Ethernet switch defines the role of the branding client connected to the Ethernet switch, as further described below. The branding process can be triggered by the test device or initiated automatically by the branding module. The branding and configuration process includes discovery, reprogramming, and confirmation phases. In one embodiment, the devices are reprogrammed simultaneously to reduce manufacturing time.

[0031] Software algorithms executed by the brand identification module and brand identification clients are disclosed. Specific rules for utilizing ternary content-addressable memory (TCAM) are defined, including rules for virtual local area network (VLAN) membership and the transmission of communication data payloads over user datagram protocol (UDP) sockets (or connectors) to dynamically assign MAC addresses, IP addresses, UDP port numbers, and diagnostic identifiers using multicast and / or unicast Ethernet frames. The request / response acknowledgment operation between the brand identification module and the brand identification clients is also defined.

[0032] Fig. Figure 1 shows a brand identification and configuration process for devices in a vehicle 100 with an Ethernet network topology. The vehicle 100 contains a brand identification module (which can be referred to as a brand identification manager) 102, an Ethernet switch 104, and devices 106, 108, 110, and 112. Device 106 is connected to sensors and / or actuators 114. Device 108 is connected to sensors and / or actuators 116. Device 110 is connected to sensors and / or actuators 118. Device 112 is connected to sensors and / or actuators 120. The Ethernet switch 104 has a first port 130 connected to the brand identification module 102, a second port 132 connected to a test device (or diagnostic tester) 134, and ports AD, each connected to devices 106, 108, 110, 112.According to one embodiment, devices 106, 108, 110, and 112 are controllers with the same part number, hardware, and initial software. The vehicle may contain any number of devices connected to a respective port of the Ethernet switch, which, as disclosed herein, are branded and configured. According to one embodiment, one or more of the devices have a different part number, hardware, and / or initial software than one or more of the other branded and configured devices. According to one embodiment, the vehicle contains more than one Ethernet switch. Each Ethernet switch may be connected to the branding module, the test device, another Ethernet switch, and / or one or more branded and configured devices.

[0033] The branding and configuration process includes an initial stage 140, in which the devices to be branded and configured are installed and are in initial default states, possessing initial default identification information, initial default software, and initial default programming. A discovery branding stage is then performed, in which the devices are branded, referred to as stage 142. The branded devices are then configured, referred to as stage 144.

[0034] The vehicle's Ethernet network topology supports the branding and configuration process. Devices to be branded act as branding clients, connected to the branding module 102 via one or more Ethernet switches (one Ethernet switch 104 is shown). Multiple Ethernet switches can be cascaded in the Ethernet network topology, as long as the branding module 102, the branding clients 106, 108, 110, 112, and the test device 134 are connected. In one embodiment, the one or more Ethernet switches are integrated as part of the branding module 102 or as part of one of the branding clients 106, 108, 110, 112. The one or more Ethernet switches can be one or more independent switches in the vehicle's Ethernet network.The test device 134 is connected to the same Ethernet network and communicates with the brand identification module 102 and the brand identification clients 106, 108, 110, 112 using a standard diagnostic protocol, such as the Unified Diagnostic Service (UDS). According to one embodiment, the test device 134 knows the identification information for each of the devices 106, 108, 110, 112 based on at least one of the ports to which the devices 106, 108, 110, 112 are connected. According to another embodiment, the test device 134 does not necessarily know where a particular device is connected. According to one embodiment, the test device 134 does not know where the devices 106, 108, etc., are connected, but it does know whether the devices 106, 108, etc., are present in the vehicle. The brand identification module 102 ensures that the devices 106, 108, etc.with the correct IDs and a brand so that the test device 134 can communicate with and program devices 106, 108, etc.

[0035] The functional role of each of the branding clients 106, 108, 110, 112 is determined by the switch port to which the branding client is connected. Once this device is connected to one of the switch ports (e.g., one of ports AD), it is branded and programmed for the functional role assigned to that port. In other words, the port of Ethernet switch 104 dictates the functional role of the branding client connected to that port. For example, port A might be dedicated as a body control port, port B as a chassis control port, port C as an infotainment port, port D as a navigation system port, and so on. The devices connected to these ports perform the functional role assigned to that port.As an example, device 106 performs the functional role of a body control module, device 108 performs the functional role of the chassis control module, device 110 performs the functional role of the infotainment control module, and device 112 performs the functional role of the navigation control module. According to one embodiment, the functional roles of devices 106, 108, 110, and 112 span different domains. According to another embodiment, the functional roles of devices 106, 108, 110, and 112 are domain-agnostic, meaning they are designed to optimize specific vehicle zones while maintaining unique physical and functional partitioning and allocation strategies that differentiate them from one another.The devices can be rebranded and reconfigured if they are removed from one port and connected to another port of the Ethernet switch 104.

[0036] Fig. Figure 2 shows a device 200, which is a representative example of any of the devices 106, 108, 110, 112 according to Fig. 1. The device 200 can contain a control module 202 and a memory 204. The control module 202 can contain various circuits and components 206, drivers 207, inputs 208, and reference terminals 209, such as: high-side drivers, low-side drivers, discrete inputs, analog inputs, pulse-width modulation (PWM) inputs, half-bridge rectifiers, return, reference, battery, and ground terminals, serial data devices, specialty terminals (e.g., audio terminals, antenna terminals, or other terminals), etc. The control module 202 can receive analog and / or discrete inputs. The memory 204 can contain a read / write memory (RAM) 210 and non-volatile memory (e.g., flash memory) 212. The RAM 210 can be contained within the control module 202. The control module 202 can contain and / or be connected to any number of ports 220.One of the ports 220 can be connected to the first port 130 of the Ethernet switch 104. Fig. 1. The other ports 220 can be connected to the respective sensors and / or actuators. The other ports can include standard mechanical ports, controller area network bus ports (CAN bus ports), local interconnection network bus ports (LIN bus ports), etc. The other ports can include Ethernet ports or non-Ethernet ports. According to one embodiment, the other ports include one or more Ethernet ports connected to one or more sensors or actuators. The sensors and actuators can be connected to, controlled by, and / or driven by corresponding circuits and components 206, drivers 207, inputs 208, and / or terminals 209. As an example, a discrete switch can be connected to a discrete input of the control module 202. An analog switch (e.g., a resistive ladder) can be connected to an analog input of the control module 202.The device 200 can be reprogrammed during the branding and configuration processes disclosed herein for loads such as sensors and actuators.

[0037] Fig. Figure 3 shows an Ethernet network topology 300, which includes the brand identification module 102, an Ethernet switch 302, and the unbranded devices 106, 108, 110, and 112. The brand identification module 102 contains a port 304, which is connected to a first port 306 of the Ethernet switch 302. The Ethernet switch 302 further contains a second port 308 and ports 310, 312, 314, and 316 (which are also labeled AD), which are connected via cables 326, 328, 330, and 332 to the respective connectors of ports 318, 320, 322, and 324 of the devices 106, 108, 110, and 112. The ports AD after Fig. Ports 1 can be configured similarly to ports 318, 320, 322, and 324. Cables 326, 328, 330, and 332 contain the first connectors 334, 336, 338, and 340, and the second connectors 342, 344, 346, and 348. The brand identification module 102 also contains a manufacturer's release counter (MEC) 349, which is described in more detail below.

[0038] The examples provided here also include a physical, system-defined configuration safeguard that effectively uses error prevention and connector polarity to prevent device and port locations from being swapped. Each port is assigned to a specific device location within the vehicle. For example, Port A is assigned to the first location of a device connected to Port A, Port B is assigned to the second location of a device connected to Port B, Port C is assigned to the third location of a device connected to Port C, and Port D is assigned to the fourth location of a device connected to Port D. Whatever device is located at the location assigned to Port A is connected to Port A.This is ensured by a cable that has a connector compatible with a connector of Port A, with the cable located in a dedicated location within the vehicle. The cables for the other devices connected to Ports B, C, and D do not have connectors compatible with Port A. This applies to each of the Ports AD that have designated connectors. As in . Fig. As shown in Figure 3, each of the first connectors 334, 336, 338, 340 is compatible with one of the connectors of one of the ports 310, 312, 314, 316 and is not compatible with any of the other connectors of the other ports 310, 312, 314, 316.

[0039] The second connectors 342, 344, 346, 348 are identical and can be connected to any of the devices 106, 108, 110, 112. Although each of the devices 106, 108, 110, 112 can be connected to any of the connectors 342, 344, 346, 348, the device 106, 108, 110, 112 located at the designated position of one of the connectors of one of the ports 318, 320, 322, 324 is connected to that connector, assuming the functional role assigned to one of the ports 310, 312, 314, 316 that is connected to that connector via a corresponding cable 326, 328, 330, 332. In other words, the functional roles of the devices 106, 108, 110, 112 depend on the arranged locations of the devices 106, 108, 110, 112 within the vehicle, and consequently depend on which of the cables 326, 328, 330, 332 the devices 106, 108, 110, 112 are connected to.

[0040] In a conventional system, there is a high probability that the connections between the device cables and the ports of an Ethernet switch will be reversed during manufacturing. To prevent this, ports 310, 312, 314, and 316 have different connector designs, each matching and compatible with the designs of connectors 334, 336, 338, and 340, respectively, to minimize the risk of device connection errors during and / or after vehicle manufacturing. Due to the specific locations of the devices within the vehicle, there is a low probability of device and cable connector swapping.

[0041] The Ethernet switches revealed here implement the TCAM rules for determining the destination ports of the received frames. Fig. For example, Ethernet switch 302 sends the frames received from the brand identification module 102, based on the TCAM rules, via port 306 to ports 310, 312, 314, and 316. The frames can be multicast or unicast.

[0042] In one embodiment, the TCAM rules route multicast and unicast frames only to a selected port (310, 312, 314, 316). This can be done based on the UDP destinations specified by the frames. For example, frames intended to tag the device connected to port 310 are sent only to port 310. In another embodiment, the TCAM rules route multicast or unicast frames to ports 310, 312, 314, and 316. Each port receives multicast or unicast frames for that port. In this example, each device (106, 108, 110, 112) accepts only frames addressed to that device's port.Each of the devices 106, 108, 110, 112 can listen for all frames (or packets) transmitted by the brand identification module 102, but can only receive the frames (or packets) for the port to which the device is connected.

[0043] According to the examples following the Fig. 1 and Fig. Figure 3 shows how the brand identification module 102 sends two multicast frames (or signals) to two UDP ports. Fig. The signals are designated as 150 and 152. Fig. The signals are labeled 350 and 352. The UDP ports can, for example, have the UDP identifiers '101' and '104'. The signals for UDP port 101 and UDP port 104 are sent to Ethernet switches 104 and 302, which then forward them to the respective ports AD assigned to UDP ports 101 and 104 (e.g., ports A and D), as shown.

[0044] Fig. Figure 4 shows a graphical representation of the signal flow, illustrating an exemplary brand identification and configuration process that includes a self-identification stage (400), a discovery stage (402), a reprogramming stage (404), and an acknowledgment stage (406). Although the process is mainly related to the examples following the Fig. As described in Figures 1-3, the process is applicable to other in-vehicle Ethernet network topologies. The branding module 102 is factory-programmed with software and calibrations that provide knowledge of how to brand the devices (e.g., devices 106, 108, 110, 112). Each of the devices can be a microcontroller unit (MCU).

[0045] During the self-identification phase 400, each of the devices (e.g., devices 106, 108, 110, 112) connected to the Ethernet switch (e.g., Ethernet switch 104, 302) verifies the device's hardware part number and / or NVM partition, which specifies the device's initial default addresses and identifiers, including its MAC and IP addresses and diagnostic identifier. For illustrative purposes, the branding and configuration process for a single device 407, which could be any of the devices 106, 108, 110, 112, or any other device, is described. This is referred to as 410.

[0046] During the discovery phase 402, the brand identification module 102 applies the following: Fig. 1 and Fig. 3. Devices with unique hardware IDs, with the same hardware ID, or a combination of both, with a brand. The discovery phase runs automatically if the MEC 349 of the brand identification module is greater than 0. The MEC 349 can be greater than zero if, for example, the vehicle is not with a customer and is being manufactured, is en route to a dealer, or is at a dealer. If the MEC 349 is zero, the brand identification module 102 is triggered only by a routine ID (RID) from the test device 134, which is referred to as a signal 412.

[0047] The brand identification module 102 sends multicast discovery requests to each of the devices, one of which is designated 414. Brand identification module 102 sends these discovery requests to verify the presence of the devices and to retrieve their current identifiers. Each multicast request includes a unique UDP port number and is forwarded only to a specific Ethernet output switch port based on the TCAM rules defined in the Ethernet switch and / or the Ethernet output switch port. Because each request has a corresponding unique UDP port number, device 407 knows, when the request reaches device 407, which UDP port to use to respond to brand identification module 102 in response to the received request. A discovery response from device 407 is designated 416.

[0048] Device 407 checks if valid identity information (such as a MAC address, IP address, and diagnostic ID) exists in Device 407's NVM. If valid identity information is stored in the NVM, Device 407 configures itself using this information. If no valid identity information is stored in the NVM, Device 407 loads its hardware ID from the NVM and then selects its MAC address, IP address, and diagnostic ID from a lookup table stored in Device 407's NVM. Device 407 responds to the brand identification module's discovery request 414 with its self-selected brand identification identity, using the UDP port number received from the discovery request. The UDP port number is included in discovery response 416.The discovery response 416 can contain the MAC address, IP address, diagnostic ID, status bits, and hardware ID. The status bits indicate whether the device is programmed or unprogrammed. During the discovery phase 402, the device 407 operates in a boot mode and runs in an application mode when the vehicle is at a customer's location and powered on.

[0049] The brand identification module 102 receives responses from the devices and then sends multicast brand identification configuration requests to the devices to inform them of their expected identities (e.g., MAC address, IP address, diagnostic ID, and / or other identification information). Each multicast brand identification configuration request is forwarded to only one specific switch port based on the TCAM rules defined in the Ethernet switch. Configuration request 418 is shown, which may contain the MAC address, IP address, diagnostic ID, and status bits. The status bit can indicate that the device is unprogrammed. Each device receives the multicast brand identification configuration request and changes its identities (e.g., MAC address, IP address, diagnostic ID, and / or other identification information).the MAC address, IP address, diagnostic ID, and / or other identification information) accordingly, but the new identity information is initially stored in RAM and not in the device's NVM. This is because if the reprogramming phase later fails for one of the devices, that device reverts to its initial unbranded state or its previous branded state. After matching its identity with the new configuration request, each device sends a configuration response back to the brand identification module 102 to confirm completion of the brand identification discovery phase. A configuration response is designated 420 and can contain the MAC address, IP address, diagnostic ID, and status bits. The status bit can indicate that the device is unprogrammed.

[0050] During the reprogramming phase 404, the test device 134 sends a branding status request, designated 422, to the branding module 102. The branding module 102 responds to the test device 134 with the status of all devices (i.e., all devices that can be branded or devices that are to be branded). A branding status response is designated 424. The branding status response 424 indicates which devices are ready to be programmed. If any of the devices are invalid, meaning that the device should not be programmed, then the branding status response 424 indicates this information. The status information was previously gathered during the discovery phase 402.

[0051] Based on the device branding status reported by the brand identification module, the test device 134 simultaneously initiates a device flash reprogramming operation for each of the devices that have not been programmed, in order to configure (or program) the devices. This may include, for example, storing the identity information and software, including a program for that device's functional role, in that device's NVM for each device. The program will later be executed by that device when it implements that functional role. This programming is represented by signal 426 and may include diagnostic programming and calibration, and switch binaries. Because the devices are configured with the appropriate identity information (e.g.,Since the MAC address, IP address, diagnostic ID, and / or other identification information have already been configured in the devices' RAM, the test device 134 can communicate with each device using the UDS via a statically defined socket (or connector) to perform flash reprogramming. After flash reprogramming, the devices are tagged with the identification information stored in their flash memory (i.e., NVM). At the end of the flash reprogramming phase, the test device 134 issues a reset request to each device. A reset request is designated as 428. A reset may include powering off and securing the device.

[0052] During acknowledgment phase 406, test device 134 re-issues the brand identification detection RID, with brand identification module 102 again collecting the brand identification statuses of the devices. A RID request signal is shown and labeled 430. Another discovery request signal is sent by brand identification module 102 to the devices, one of which is labeled 432. The devices respond with discovery response signals, one of which is labeled 434. The discovery response signals may contain the MAC address, IP address, diagnostic ID, and status bits of the devices. The status bits of the programmed device indicate that the devices are programmed. Then, test device 134 sends a brand status request 436 to brand identification module 102, with brand identification module 102 reporting the collected brand identification statuses to test device 134.A branding status response signal 438 is shown. The test device 134 determines whether all devices have been successfully branded and programmed, and whether any of the devices should be reprogrammed. If any of the devices should be reprogrammed, the branding, reprogramming, and acknowledgment phases 402, 404, and 406 can be repeated for the devices that have not been successfully branded and programmed. ADDITIONAL DETAILS OF THE DISCOVERY PHASE

[0053] In the Fig. 1 and Fig. The Brand Identification Module 102, the Test Device 134, and the devices to be branded contain software algorithms to perform the brand identification and configuration process. The Brand Identification Module 102 and the devices to be branded communicate over a dedicated Brand Identification VLAN (e.g., VLAN 2). The Brand Identification Module 102 sends multicast IP UDP messages, such as discovery and configuration requests, to the devices to be branded. The destination UDP port number for a Brand Identification message is selected by the Brand Identification Module 102 based on the physical location of the device to be branded (e.g., 01:00:5e:40:00:00 - 239.192.0.0 - 101).Devices to be branded open a set of IP UDP sockets (or connectors) to listen for discovery and configuration requests sent by the Brand Identification Module 102 (e.g., 239.192.0.0 - 101 / 102 / 103 / 104 / etc.). The discovery request is used to verify the device's presence and obtain information about its current configuration. The configuration request is used to specify the correct MAC address, IP address, diagnostic ID, and brand identification and configuration status.

[0054] The Ethernet switch forwards each multicast request from the brand identification module 102, based on the destination address and UDP port number for that request, only to the designated Ethernet switch port. This is achieved according to the TCAM rules stored within the Ethernet switch. Based on the TCAM rules, the Ethernet switch checks and determines the brand identification multicast and UDP port number of a received frame and forwards the frame to the corresponding output port of the Ethernet switch. Upon receiving a discovery request, the device sends a discovery response to the brand identification module 102, specifying the currently configured MAC address, IP address, diagnostic ID, and brand identification status.After receiving a configuration request from the Brand Identification Module 102, the device modifies and confirms its configuration as instructed, and then sends a configuration response to the Brand Identification Module 102 specifying the newly configured / confirmed MAC address, IP address, diagnostic ID, and brand identification status. ADDITIONAL DETAILS OF THE TRADEMARK STATUS

[0055] The statuses of the branding and configuration process are indicated throughout the entire process. For example, while a device is being branded, it maintains a branding status tag in that device's NVM. A branding status of "brand-free" indicates that the device has never been modified from its initial default configuration. A branding status of "temporary / ready for programming" indicates that the device has temporarily modified its configuration as instructed by a received branding configuration request, but the configuration is not stored in the device's NVM and will not be used in subsequent performance cycles until diagnostic programming and calibration occur.

[0056] A brand tag status of "confirmed / ready for programming" indicates that the device's configuration already matches the configuration specified by the brand tag configuration request, but no diagnostic programming and calibration have yet taken place. A brand tag status of "programmed" indicates that the device has undergone diagnostic programming and calibration to store a new configuration in the device's NVM. The device can contain a list of possible, valid IDs from which the device can be tagged. If a brand tag request specifies an unknown / invalid ID, the device detects that the unknown / invalid ID is not in the list of possible IDs and responds to the brand tag module 102 with the status "invalid request".The Brand Identification Module 102 collects and maintains a list of brand identification status responses from all devices and stores them in the memory of the Brand Identification Module 102. ADDITIONAL DETAILS OF THE REPROGRAMMING PHASE

[0057] The test device 134 requests the brand identification module 102 to report the brand identification status of the devices to be branded. The test device initiates the reprogramming of the devices that still need to be branded, using the specified sockets (or connectors) that contain the correct MAC and IP addresses and diagnostic IDs for those devices. The test device 134 reprograms the devices simultaneously because each communication with one of the devices uses a separate, different, and labeled socket (or connector). The test device 134 reprograms the device's software and calibration values. According to one embodiment, if the device has its own firmware and configuration, it is reprogrammed after the device's software and calibration updates.After reprogramming, the device also updates its brand identification tag in the device's NVM. ADDITIONAL DETAILS OF THE VERIFICATION PHASE

[0058] Once the reprogramming is complete, test device 134 issues a device reset command to the reprogrammed devices. After the reset, test device 134 and branding module 102 again collect the branding status to confirm that the branding process for the devices was successful, i.e., that all branded identities and functional roles correspond to the expected identities and functional roles of the Ethernet switch ports to which the devices are connected.

[0059] Fig. Figure 5 shows a brand identification procedure that can be implemented by the brand identification module 102 during the brand identification phase. At 500, the brand identification module 102 determines whether the MEC is greater than 0. If not, operation 502 is executed; otherwise, operation 504 is executed.

[0060] At operation 502, the brand identification module 102 determines whether a RID has been received from test device 502. If so, operation 504 is executed. At operation 504, the brand identification module 102 generates brand identification discovery requests (multicast or unicast requests), sending the requests to the devices to be branded using various UDP ports. The requests are routed to the appropriate ports based on TCAM rules.

[0061] On operation 506, the brand identification module 102 determines whether a discovery period has elapsed since the start of the discovery phase. If so, operation 508 is executed. On operation 508, the brand identification module 102 creates or updates an existing table of information about the devices connected to the Ethernet switch that have either already been tagged or are about to be tagged, including creating or updating the identity information for each of the devices. On operation 510, the brand identification module 102 issues brand identification configuration requirements to the devices to be tagged, based on the static information in the devices' NVMs and / or the NVM of the brand identification module 102.

[0062] In operation 512, the brand identification module 102 determines whether the brand identification configuration period has expired. If so, operation 514 is executed. In operation 514, the brand identification module 102 creates or updates a brand identification status table, responding to a RID if necessary. The process can terminate after operation 514.

[0063] Fig. Figure 6 shows a method for operating a device that is to be branded and configured. The following operation can be performed by any device being branded. The following operations can be performed by the control module of the device being branded during the branding phase.

[0064] At operation 600, the control module determines whether valid brand identification IDs (e.g., a MAC address, an IP address, a diagnostic ID) were provided for the device during calibration. If not, operation 602 is executed; otherwise, operation 606 is executed.

[0065] In case 602, the control module receives the device's local hardware ID from the device's NVM. In case 604, the control module selects the brand identification IDs itself from a lookup table based on the hardware ID. The lookup table may have been provided by the brand identification module 102 and / or stored in the device's NVM.

[0066] At operation 606, the control module stores the brand identification IDs in a memory stack of the device's RAM. At operation 608, the control module determines whether a brand identification discovery request has been received. If so, operation 610 is executed. At operation 610, the control module selects the connector (or socket) of the Ethernet switch with the UDP port identified in the brand identification discovery request. At operation 612, the control module responds to the brand identification discovery request with the brand identification IDs via the selected connector.

[0067] At operation 614, the control module determines whether a brand identification configuration request has been received. If so, operation 616 is executed. At operation 616, the control module reconfigures the memory stack with new brand identification IDs that can be stored in the device's RAM. This involves replacing the previously stored brand identification IDs with the new brand identification IDs received from the brand identification module. At operation 618, the control module responds to the brand identification configuration request with the new brand identification IDs.

[0068] Fig. Figure 7 shows a graphical representation 700 of a trademark identification message format, illustrating an exemplary format of a trademark identification message that is sent between the trademark identification module 102 and one of the devices that are to be marked with a trademark. The branding message can contain a Layer 2 Ethernet frame header 702, a destination MAC address 704, a source MAC address 706, a VLAN ID 708, a Layer 3 Internet Protocol (IPv4) header 710, a source IP address 712, a destination IP address 714, a Layer 4 UDP datagram header 716, a source port ID 718, a destination port ID 720, a branding message 722, a message type 724, a MAC address 726, an IP address 728, a diagnostic ID 730, and a branding status 732. The message type indicates whether the message is a discovery request, a discovery response, a configuration request, or a configuration response.The trademark status indicates whether the corresponding device is "trademark-free," in a temporary state ready for programming, in an acknowledged state ready for programming, programmed, or has received an invalid request. This format can be used for any of the frames, packets, and signals described above that are exchanged between the trademark identification module 102 and the devices according to the [relevant standard / regulation]. Fig. 1-3. This format can also be used for messages exchanged between test device 134 and the devices according to the Fig. 1-3 will be sent.

[0069] The examples described above allow multiple devices (e.g., ECUs) to have the same or similar hardware and be dynamically configured—that is, branded, configured, and programmed—when connected to a vehicle architecture. Branding, configuration, and programming enable the devices to perform different, respective functional roles. This process significantly reduces hardware design and manufacturing costs and minimizes software variants and complexity. The disclosed examples also allow multiple devices to be branded simultaneously to reduce manufacturing time. Furthermore, the examples provide robust troubleshooting in case any malfunction occurs during reprogramming.

[0070] The described process can be used during vehicle manufacturing or when the vehicle undergoes maintenance. During vehicle maintenance, a device may be replaced with a new one, and / or two devices may be swapped. The process described above can be performed to label and reprogram the new device and / or to label and reprogram the swapped devices. The process can be implemented when a new device with pre-installed standard software content is connected to a vehicle for the first time. As an example, this process can be performed when a short-range radar module is connected to a vehicle's Ethernet network and is intended to function as a left-side front radar device for a collision avoidance application.In such a case, this radar module is branded as the "left front position radar device" with specific identification information, specific calibrations, and specific software content. The process can also be implemented when an already configured, i.e., branded, device is exchanged from one functional role to another and consequently rebranded with a different identity and different functional software content.

[0071] The preceding description is merely illustrative and is in no way intended to limit the disclosure, its application, or uses. The comprehensive teachings of the disclosure can be implemented in various forms. While this disclosure contains specific examples, the true scope of protection of the disclosure should therefore not be so limited as to reveal other modifications upon study of the drawings, the patent specification, and the following claims. It should be recognized that one or more steps within a process may be carried out in a different order (or simultaneously) without altering the principles of the present disclosure.Although each of the embodiments described above has been described with specific features, one or more of these features described with respect to any embodiment of the disclosure may also be implemented in any other embodiment and / or combined with the features of any other embodiment, even if this combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with each other remain within the scope of protection of this disclosure.

[0072] Spatial and functional relationships between elements (e.g., between modules, circuit elements, semiconductor layers, etc.) are described using various terms including "connected," "interlocking," "coupled," "adjacent," "next to," "on top of," "above," "below," and "arranged." When a relationship between a first and a second element is described in the above disclosure, this relationship may be a direct relationship, in which no other intervening elements exist between the first and the second element, or it may be an indirect relationship, in which one or more intervening elements (either spatial or functional) exist between the first and the second element, unless it is expressly described as "direct."As the phrase "at least one of A, B and C" is used here, it should be interpreted as meaning a logical (A OR B OR C) using a non-exclusive logical OR, and not as meaning "at least one of A, at least one of B and at least one of C".

[0073] In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is relevant for the illustration. For example, if element A and element B exchange various pieces of information, but the information transferred from element A to element B is relevant for the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transferred from element B to element A. Furthermore, element B may send requests for, or acknowledgments of, the information sent from element A to element B.

[0074] In this application, including the definitions below, the term "module" or the term "controller" may be replaced by the term "circuit".

[0075] The term "module" may refer to, be part of, or include: an application-specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field-programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores the code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-a-chip.

[0076] The module may contain one or more interface circuits. According to some examples, the interface circuits may include wired or wireless interfaces connected to a local area network (LAN), the internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among several modules connected via interface circuits. For example, multiple modules may enable load balancing. According to another example, a server module (also known as a remote or cloud module) may perform some functionality on behalf of a client module.

[0077] The term "code," as used above, can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, data structures, and / or objects. The term "shared processor circuit" refers to a single processor circuit that executes some or all of the code from multiple modules. The term "group processor circuit" refers to a processor circuit that, in combination with additional processor circuits, executes some or all of the code from one or more modules. References to multiple processor circuits include multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above.The term shared memory circuit refers to a single memory circuit that stores some or all of the code from multiple modules. The term group memory circuit refers to a memory circuit that, in combination with additional memory, stores some or all of the code from one or more modules.

[0078] The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used here, does not include transitory electrical or electromagnetic signals that propagate through a medium (such as on a carrier wave); the term computer-readable medium can therefore be considered tangible and non-transient. Non-restrictive examples of a non-transient, tangible computer-readable medium are non-volatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static read / write memory circuit or a dynamic read / write memory circuit), magnetic storage media (such as analog or digital magnetic tape or a hard disk drive), and optical storage media (such as...a CD, a DVD or a Blu-ray Disc).

[0079] The devices and methods described in this application can be implemented partially or completely by a specialized computer created by configuring a general-purpose computer to perform one or more specific functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications that can be translated into computer programs through the routine work of a trained technician or programmer.

[0080] The computer programs contain processor-executable instructions stored on at least one non-transient, tangible, computer-readable medium. The computer programs may also contain or rely on stored data. The computer programs may include a basic input / output system (BIOS) that interacts with the hardware of the specialized computer, device drivers that interact with specific devices of the specialized computer, one or more operating systems, user applications, background services, background applications, and so on.

[0081] The computer programs may contain: (i) descriptive text to be parsed, such as... B. HTML (Hypertext Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Name), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. For illustrative purposes only, the source code may be written using the syntax of languages ​​including C, C++, C#, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language, 5th Revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.

Claims

[1] Branding and configuration system for a plurality of devices (106, 108, 110, 112) of a vehicle (100) to be branded, the branding and configuration system comprising: at least one Ethernet switch (104) comprising a plurality of ports (130, 132, A, B, C, D); a branding module (102) connected to the at least one Ethernet switch (104) and configured to generate new identification information for each of the plurality of devices (106, 108, 110, 112) and to send the new identification information to that device (106, 108, 110, 112) via a respective one of the plurality of ports (130, 132, A, B, C, D); and the plurality of devices (106, 108, 110, 112) each connected to the plurality of ports (130, 132, A, B, C, D) and comprising a random access memory (RAM) (210) and a non-volatile memory (NVM) (212), wherein each of the plurality of devices (106, 108, 110, 112) is configured to i) store the corresponding new identification information received from the branding module (102) for that device (106, 108, 110, 112) in the RAM (210) and / or replace the identification information stored in the RAM (210) of that device (106, 108, 110, 112) with the corresponding new identification information in the RAM (210), ii) based on the new identification information, programming of a test device (134) outside the vehicle (100) in order to reprogram this device (106, 108, 110, 112) for a dedicated functional role within the vehicle (100),and iii) storing the corresponding new identification information and programming in the NVM (212) of said device (106, 108, 110, 112). [2] The branding and configuration system of claim 1, wherein the plurality of devices (106, 108, 110, 112) comprise the same hardware and, prior to branding and configuration, the same software. [3] The branding and configuration system of claim 1, wherein at least one of the plurality of devices (106, 108, 110, 112) comprises different hardware than another of the plurality of devices (106, 108, 110, 112). [4] The branding and configuration system of claim 1, wherein the branding module (102) sends the new identification information for the plurality of devices (106, 108, 110, 112) to the plurality of devices (106, 108, 110, 112) simultaneously via the Ethernet switch (104). [5] The branding and configuration system of claim 1, wherein the Ethernet switch (104) is configured to forward the new identification information and other messages to the plurality of devices (106, 108, 110, 112) over the plurality of ports (130, 132, A, B, C, D) based on ternary content-addressable storage rules. [6] The branding and configuration system of claim 1, wherein the Ethernet switch (104) is configured to forward the new identification information and other messages to the plurality of devices (106, 108, 110, 112) based on the user datagram protocol identifiers of the plurality of ports (130, 132, A, B, C, D) via the plurality of ports (130, 132, A, B, C, D) that are dedicated to the plurality of devices (106, 108, 110, 112), respectively, as a result of the plurality of devices (106, 108, 110, 112) being connected to the plurality of ports (130, 132, A, B, C, D). [7] Brand identification and configuration system according to claim 1, wherein the plurality of ports (310, 312, 314, 316) comprise designated connectors; the plurality of devices (106, 108, 110, 112) are connected to the plurality of ports (310, 312, 314, 316) via cables (326, 328, 330, 332); the cables (326, 328, 330, 332) comprise first connectors (334, 336, 338, 340) and second connectors (342, 344, 346, 348), wherein the respective first connectors (334, 336, 338, 340) are connected to the respective designated connectors of the plurality of ports (310, 312, 314, 316); and each of the first connectors (334, 336, 338, 340) is compatible with only one respective designated connector. [8] A branding and configuration system according to claim 1, wherein: the branding module (102) is configured to transmit multicast packets or unicast packets to the plurality of devices (106, 108, 110, 112); and the at least one Ethernet switch (104) is configured to forward the multicast packets or the unicast packets to the plurality of ports (130, 132, A, B, C, D) based on the user datagram protocol identifiers of the plurality of ports (130, 132, A, B, C, D). [9] The branding and configuration system of claim 1, wherein during a discovery phase (142): the branding module (102) sends discovery requests (414) to the plurality of devices (106, 108, 110, 112); and each of the plurality of devices (106, 108, 110, 112) i) based on a corresponding one of the discovery requests (414) checks whether there is valid identity information stored in the NVM (212) of that device (106, 108, 110, 112), ii) if there is valid identity information, the device (106, 108, 110, 112) configures itself using the information stored in the NVM (212) of that device (106, 108, 110, 112), and iii) if there is no valid identity information, the device (106, 108, 110, 112) loads a hardware identifier into the NVM (212) of that device (106, 108, 110, 112) and a media access control address, a Internet protocol address and a diagnostic identifier from a table stored in the NVM (212) of this device (106, 108, 110, 112). [10] A branding and configuration system according to claim 1, wherein: the branding module (102) is configured to receive a branding status request (422) from the test device (134) and to respond to the test device (134) with the status of each of the plurality of devices (106, 108, 110, 112); and the plurality of devices (106, 108, 110, 112) are configured to reprogram the devices (106, 108, 110, 112) based on the signals received from the test device (134) in response to the status of each of the plurality of devices (106, 108, 110, 112).

Citation Information

Patent Citations

  • Method and device for configuring similar network components and motor vehicle

    DE102017212256A1

  • Method for coupling and connecting a sensor and communication network

    DE102020209221A1

  • Apparatus and method for programming motor vehicle electronic control units

    US20040254689A1

  • Systems and methods for configuring devices in a network supporting vlans

    US20170033986A1