Vehicle ECU including vehicle electronic circuit
By using a hardware component with hardwired logic to manage software updates in vehicle electronic circuits, the processing load on the CPU is reduced, ensuring normal operation during updates and enhancing the reliability of the update process.
Patent Information
- Application Number
- JP2023092856
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-06-07
- Filing Date
- 2023-06-06
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2043-06-06
AI Technical Summary
Existing vehicle electronic circuits face increased processing loads when receiving software updates, which can adversely affect normal CPU operation, especially when executing older software versions.
Incorporating a hardware component with hardwired logic in vehicle electronic circuits to encode communication protocols for receiving software updates, thereby reducing the processing load on the CPU and outsourcing update functions from the processing unit to the hardware component.
This solution allows the CPU to maintain normal operation during software updates, including OTA updates, by reducing processing loads and enhancing the robustness and determinism of the update process.
Smart Images

Figure 0007662706000001 
Figure 0007662706000002
Abstract
Description
[Technical field]
[0001] The present invention is directed to a vehicle electronic circuit, a vehicle electronic control unit, and a method of operating a vehicle electronic circuit. [Background technology]
[0002] Some in-vehicle electronic circuits, particularly those in automobiles, are contained within the vehicle's Electronic Control Unit (ECU) and may contain a processing unit, e.g., a Central Processing Unit (CPU), that executes specific software programs stored on the non-volatile memory of the vehicle or electronic circuit.
[0003] To fix software bugs or to introduce improvements to the software, it may be necessary to update the software stored on the non-volatile memory. Such software updates may be performed, for example, at a service point, via the vehicle's diagnostic interface, or by an over-the-air (OTA) update. Software may also be replaced or new software may be stored for other reasons.
[0004] In a conventional ECU, the software in the non-volatile memory can be updated by using a software module of the CPU, such as a boot loader. However, when the boot loader or other components of the CPU receive individual data packets for updating a software program, the overall processing load on the CPU increases, which may adversely affect the normal operation of the CPU, especially if the CPU is running an old version of the software program while receiving the data packets for the software update. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] European Patent Application Publication No. 3961380 (A1) Summary of the Invention [Problem to be solved by the invention]
[0006] The object of the present invention is to provide an improved concept in connection with the storage of a software program to be executed by a processing unit provided in the electronic circuit of a vehicle, in which the processing load of the processing unit during reception of data corresponding to the software program is reduced.
[0007] This object is achieved by the subject matter of the independent claims. Further realisations and preferred embodiments are the subject matter of the dependent claims. [Means for solving the problem]
[0008] The idea underlying the present invention is to provide a hardware component having a hardwired logic in addition to a processing unit of the vehicle electronics, the hardwired logic circuit, hereinafter also referred to as hardwired logic, encoding a predetermined communication protocol for receiving data packets representing the software program from a communication network.
[0009] In one aspect of the invention, an electronic circuit for a vehicle is provided. The electronic circuit comprises a network interface for connecting the electronic circuit to a communication network. The electronic circuit comprises a hardware component having hardwired logic adapted to receive at least one data packet representing a software program from the communication network via the network interface according to a predetermined communication protocol, the communication protocol being inter alia encoded by the hardwired logic. The electronic circuit comprises a memory interface connected to or provided on the hardware component, the hardware component adapted to store the software program in a non-volatile memory, in particular a non-volatile memory of the vehicle or the electronic circuit, via the memory interface. The electronic circuit comprises a processing unit configured to read and execute the software program from the non-volatile memory.
[0010] The communication network may be a wireless communication network or a wireless communication network. In that case, the at least one data packet may be sent to the electronic circuitry, for example, from a server computer via the communication network and a network interface. Alternatively, the communication network may be a wire-based or wired communication network, for example, a communication bus of the vehicle, such as a CAN bus or an Ethernet network. In that case, the at least one data packet may be sent to the electronic circuitry from an information processing device outside the vehicle, via the communication network and a network interface. The information processing device may be connected to the communication network or vehicle bus on a wired or wireless connection basis.
[0011] The non-volatile memory can be read by the processing unit via the memory interface or via a further memory interface of the electronic circuit. The hardware components are not part of the processing unit and the processing unit is not part of the hardware components. Nevertheless, the hardware components and the processing unit can be realized on a common platform. For example, the electronic circuit can comprise a microcontroller or a system-on-chip (SoC) containing the processing unit, the hardware components, the memory interface and the network interface.
[0012] According to certain implementations, the processing units and hardware components may be interconnected via further interfaces of the electronic circuitry.
[0013] In preparation for the execution of the software program, the software program can for example be loaded by the processing unit into further memory devices of the electronic circuit, for example volatile memory and / or random access memory provided in the electronic circuit.
[0014] The communication protocol can, for example, define one or more types of services for data exchange, in particular for receiving at least one data packet via the communication network. The communication protocol can, for example, define which types of services are available and how they are executed. Such a communication protocol can be known or standardized. For example, the communication protocol can be the Unified Diagnostic Services (UDS) communication protocol defined in the industry standard ISO 14229. However, other communication protocols can also be used.
[0015] Due to the hardwired logic, a software module is not required in the hardware component to receive the at least one data packet. However, the hardware component may be equipped with one or more software modules to realize other functions. For example, the hardware component may be equipped with a software module adapted or programmed to store the software program in the non-volatile memory via the memory interface. Alternatively, the functionality of the hardware component, which is to store the software program in the non-volatile memory, may be encoded in the hardwired logic.
[0016] In the electronic circuit according to the invention, the function of storing the software program in the non-volatile memory, for example for updating an old software program present in the non-volatile memory, in other words for flashing a new software version into the non-volatile memory, is outsourced from the processing unit, for example the CPU of the electronic circuit, to the hardware component. Thus, the processing load on the processing unit is reduced. As a result, the processing unit can receive the at least one data packet from the communication network while using its full capabilities to execute a further software program, in particular an old version of the software program. Thus, the normal operation of the electronic circuit can be maintained without significant constraints while receiving the at least one data packet, for example through an OTA update.
[0017] Since the function of receiving at least one data packet is coded by the hardwired logic and not by software, the robustness of the function can be significantly increased and the whole update process can be made more deterministic. In particular, the effort of programming software can be reduced when developing a new generation or version of the electronic circuit, since hardware components having such a hardware configuration can be used as standard components for various purposes, making use of the fact that communication protocols are usually standardized among various applications and vehicle manufacturers or suppliers.
[0018] Advantageously, since the hardware component has the hardwired logic, it can inherit the functionality of the boot loader software of the processing unit, as well as other functionality of the software modules of the processing unit relating to updating of the software program, for example in an over the air or wired based manner.
[0019] It is noted that although the hardware component has the hardwired logic and corresponds to the communication protocol, the hardware component may still be additionally configurable, i.e. tunable, i.e., one or more building blocks of the hardware component may incorporate individual updatable configuration information, i.e. tunable parameters. The updatable configuration information or tunable parameters may be stored, for example, in one or more configuration registers of the hardware component.
[0020] In this way, for example, an identifier or ID of the electronic circuit or of a higher-level unit of the vehicle in which the electronic circuit resides, such as the vehicle's Electronic Control Unit (ECU), can be stored in conjunction with their updatable configuration information or adjustable parameters. Further identifiers or IDs can then be stored for individual hardware components of different electronic circuits. As a result, for example, it is possible to identify messages intended for a particular electronic circuit or ECU and to ignore other messages.
[0021] Thus, the hardwired logic may be represented by hardwired configuration information corresponding to the communication protocol, but the updatable configuration information or adjustable parameters are not excluded for further purposes.
[0022] In some implementations, the electronic circuitry comprises the non-volatile memory.
[0023] In certain implementations, the electronic circuitry is implemented as a microcontroller and / or as a SoC.
[0024] In implementations in which the electronic circuit comprises said non-volatile memory, the microcontroller or SoC may thus comprise the non-volatile memory.
[0025] In an alternative implementation, the electronic circuit includes a microcontroller or SoC and includes the non-volatile memory, but the non-volatile memory is not part of the microcontroller or SoC, which may still include at least the hardware components, the processing unit, the memory interface, and the network interface.
[0026] In some implementations, the processing unit is implemented as a central processing unit (CPU), particularly a CPU residing in the microcontroller or SoC.
[0027] In some implementations, the hardware components are implemented as or comprise hardware peripherals or hardware IP blocks, particularly those that reside in the microcontroller or SoC.
[0028] The hardware components may include, for example, a graphics processing unit (GPU), a co-processor, and a field programmable gate array (FPGA).
[0029] In some implementations, the hardware component is adapted to store the software program in the non-volatile memory via the memory interface by the hardwired logic.
[0030] In other words, the hardwired logic may also encode the functionality of the hardware component, including storing the software program in the non-volatile memory via the memory interface.
[0031] In some implementations, the hardware configuration provides one or more services according to the communications protocol.
[0032] The one or more types of services may include, for example, a download request service, a file transfer request service, a data transfer service, and / or a transfer skip request service. These services are defined, for example, according to the UDS communication protocol. Their corresponding service IDs (SIDs) are 0x34, 0x38, 0x36, and 0x37, respectively, according to the UDS communication protocol.
[0033] This allows for a widely accepted standardized communications protocol and allows for great flexibility in the use of the electronic circuitry.
[0034] In some implementations, the electronic circuitry comprises a Hardware Security Module (HSM), the hardware component comprises an HSM interface connected to the HSM, and the HSM is configured to validate the at least one data packet, in particular to validate authenticity (trustworthiness) of the at least one data packet.
[0035] The HSM may use verification methods known per se. However, the hardware component may also be adapted to request verification of the at least one data packet by the HSM and to store the software program in the non-volatile memory depending on the result of the verification. In particular, the software program may be stored in the non-volatile memory by the hardware component only if the verification is successful.
[0036] Functions of the hardware components that require validation by the HSM can also be encoded in the hardwired logic, improving security.
[0037] In some implementations, the network interface is designed as a network interface for wireless data communication.
[0038] In an alternative realisation, the network interface is designed as a bus interface for a communication bus of the vehicle, for example a CAN or CAN FD interface or an Ethernet interface.
[0039] In a further aspect of the invention, there is provided an electronic control unit (ECU) for a vehicle, comprising an electronic circuit according to an embodiment of the invention.
[0040] In a further aspect of the invention, there is provided a method of operating an electronic circuit of a vehicle, in particular an electronic circuit according to the invention, comprising receiving at least one data packet representing a software program from a communication network by a hardware component of the electronic circuit, in particular via a network interface of the electronic circuit, the hardwired logic of the hardware component encoding a predefined communication protocol for receiving the at least one data packet, storing the software program by the hardware component, in particular via a memory interface of the electronic circuit, in a non-volatile memory of the electronic circuit or of the vehicle, and reading and executing the software program from the non-volatile memory by a processing unit of the electronic circuit.
[0041] In some implementations of the method, a further software program is executed by the processing unit while the at least one data packet is being received by the hardware component.
[0042] The further software program may for example be an older version of the software program, in order to maintain normal operation of the processing unit whilst updating its software.
[0043] In some implementations, the at least one data packet is received from a server computer over the communications network in a wireless manner, especially during an OTA update process.
[0044] In some implementations of the method, the at least one data packet is received from an information processing device external to the vehicle via a communication bus of the vehicle.
[0045] Further implementations of the method according to the invention are natural consequences of the various embodiments of the electronic circuit according to the invention and vice versa. In particular, the individual features and corresponding descriptions and advantages related to the various implementations of the electronic circuit according to the invention can be analogously copied to the corresponding implementations of the method according to the invention. In particular, the electronic circuit according to the invention is designed or programmed to carry out the method according to the invention. In particular, the method according to the invention is carried out by the electronic circuit according to the invention.
[0046] Further features of the invention are evident from the claims, the drawings and the illustrated description. The features and feature combinations described herein above and those described below in the illustrated description and / or shown in the drawings may be included in the invention not only in the specific combinations mentioned but also in other combinations. In particular, embodiments and feature combinations that do not have all the features of the claims originally drawn may also be included in the invention. Moreover, embodiments and feature combinations that go beyond or deviate from the feature combinations described in the enumeration of the claims may also be included in the invention.
[0047] The present invention will now be described in detail with reference to specific exemplary implementations and respective schematic drawings. In the drawings, identical or functionally identical elements may be represented by the same reference numerals. When referring to different drawings, the description of the identical or functionally identical elements will not necessarily be repeated. The drawings are as follows: [Brief description of the drawings]
[0048] [Figure 1] FIG. 1 shows a schematic diagram of a vehicle equipped with one exemplary implementation of an electronic circuit according to the invention; [Diagram 2] FIG. 4 shows a schematic block diagram of a further exemplary implementation of an electronic circuit according to the invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0049] 1 diagrammatically shows a vehicle 1, e.g. a passenger car, equipped with one exemplary implementation of an electronic circuit 3 according to the invention. For example, the electronic circuit 3 may be part of an electronic control unit (ECU) 2 of the vehicle 1.
[0050] The electronic circuitry 3 may for example be implemented as a microcontroller or SoC residing in the ECU 2. Depending on the actual implementation, the ECU 2 and thus the electronic circuitry 3 may be used for various purposes, for example as part of an electronic vehicle guidance system such as an Advanced Driver Assistance System (ADAS), an Autonomous Driving System (ADS), etc., and / or may be used to control sensor devices 4, actuators, prime movers, etc. of the vehicle 1.
[0051] FIG. 2 shows a schematic block diagram of one exemplary implementation of the electronic circuit 3 used in the vehicle 1 described in relation to FIG.
[0052] The electronic circuitry 3 is provided with a network interface 7 for connecting the electronic circuitry 3 to a communication network, for example a wireless or radio network or a wire-based communication bus of the vehicle 1 .
[0053] The electronic circuit 3 comprises a hardware component 6, e.g. a hardware peripheral or a hardware IP block of a microcontroller or an SoC, which contains a hardwired logic circuit or logic that encodes the functionality of the hardware component 6 to receive at least one data packet representing a software program from the communication network via a network interface 7 according to a predefined communication protocol, e.g. the UDS communication protocol.
[0054] The electronic circuit 3, in particular the hardware component 6, further comprises a memory interface 13 which is connected or connectable to a non-volatile memory 8 of the electronic circuit 3 and / or is connected or connectable to a non-volatile memory 17 of the ECU 2 via a further memory interface 18 of the electronic circuit 3. The hardware component 6, in particular its hardwired logic, is adapted to store software programs in the non-volatile memory 8 via the network interface 13.
[0055] The electronic circuit 3 further comprises a processing unit 5, e.g. a CPU, which is configured to read the software program from a non-volatile memory 8, e.g. via the memory interface 13 or via a further memory interface (not shown), and execute it accordingly.
[0056] For example, the hardwired logic present in the hardware component 6 may be realized in a protocol processing logic block 10 of the hardware component 6. Furthermore, according to certain implementations, a buffer 11 present in the hardware component 6 may intermediately store portions of the at least one data packet after it is received from the communication network and before it is stored in the non-volatile memory 8.
[0057] According to certain implementations, the hardware component 6 may further comprise a packet filter module 12 through which the protocol processing logic block 10 may be connected to the network interface 7 .
[0058] According to certain implementations, the hardware component 6 may be equipped with a CPU interface 15, by means of which the hardware component 6 is connected to a processing unit 5, which may then, for example, additionally configure the hardware component 6, for example by providing a storage location in the non-volatile memory 8, in which the software program is stored by the hardware component 6.
[0059] In certain implementations, the electronic circuit comprises a Hardware Security Module (HSM) 9 and the hardware component 6 comprises an HSM interface 14 by which the HSM 9 is connected to the protocol processing logic block 10. Thus, after a data packet included in the at least one data packet is received, the protocol processing logic block 10 can request validation of the data packet by the HSM 9. Alternatively, the validation may be requested only after a data packet included in the at least one data packet is received.
[0060] It is noted that besides the protocol processing logic block 10, other building blocks of the hardware component 6, such as the additional memory interface 13, the HSM interface 14, the CPU interface 15 and / or the packet filter module 12, may also contain individual further hardware logic circuits adapted to perform their own individual tasks.
[0061] However, the hardware component 6 is configurable or adjustable in the sense that in addition to the hardwired logic corresponding to its communication protocol, configurable configuration or individually adjustable parameters may be provided, for example, in one or more configuration registers 16 within the hardware component 6.
[0062] As described above, particularly in relation to the drawings, in accordance with certain implementations of the present invention, the boot loader functionality of a microcontroller, SoC, or ECU for updating existing software programs can be replaced by hardwired logic in a hardware component separate from the CPU, and thus standard UDS flashing sequences over CAN, CAN FD, or Ethernet can be implemented in a general manner.
[0063] Hardwired logic in the hardware component can automatically receive an associated diagnostic identifier (DID) and / or response identifier (RID) carrying the flashing sequence and write the received image representing the software program to an assigned location in the non-volatile memory, e.g., flash memory, e.g., after verifying it.
[0064] Therefore, development costs and efforts can be reduced. By implementing the boot loader function by hardware, it can be made highly standardized and error-free.
[0065] Furthermore, according to the implementations of the present invention, normal operations can continue to be performed on the processing unit or CPU while receiving the OTA image by the at least one data packet, thus avoiding a decrease in the performance of the CPU. In other words, the OTA update function can be moved from the CPU to a hardware component, thus making the OTA function more deterministic.
[0066] According to certain implementations, the hardware component can be directly coupled to the network interface or network controller and the memory interface or memory controller, such that an image relating to the at least one data packet is received and written into a redundant partition of the non-volatile memory.
[0067] Implementations of the invention may also be used to provide eSync-compatible OTA software updates, where eSync compliance may be specified, for example, by UNECE WP.29 UN-R156 regulations, and the corresponding eSync messages may be received at the hardware component, for example directly via the network interface.
[0068] A packet filter can be provided and configured, for example, to route only the eSync messages to the hardware component and route the rest of the data traffic to the CPU, where the eSync messages are received and can be processed therein and a new image can be delivered to the non-volatile memory via the memory interface.
Claims
1. An ECU (2) that is an electronic control unit for a vehicle (1) including an electronic circuit (3) for the vehicle (1), a network interface (7) for connecting said electronic circuit (3) to a communication network; a hardware component (6) having hardwired logic for receiving at least one data packet representing a software program from said communications network via said network interface (7) according to a predetermined communications protocol; a memory interface (13) connected to or provided on said hardware component (6), said hardware component (6) being adapted to store said software program in a non-volatile memory (8) via said memory interface (13); a processing unit (5) configured to read and execute said software program from said non-volatile memory (8); Equipped with the hardware component performs a boot loader function for updating the software program through the hardwired logic; An ECU (2).
2. 2. The ECU (2) according to claim 1, wherein the processing unit (5) is realized as a central processing unit or CPU.
3. 2. The ECU (2) according to claim 1, wherein the hardware component (6) comprises: A graphics processing unit or GPU, A coprocessor? Field Programmable Gate Array (FPGA) An ECU (2).
4. 2. The ECU (2) of claim 1, wherein the hardware component (6) is adapted to store the software program in the non-volatile memory (8) via the memory interface (13) by the hardwired logic.
5. 2. An ECU (2) according to claim 1, wherein one or more types of services are realized according to the communication protocol by a hardware configuration of the ECU (2).
6. 2. An ECU (2) according to claim 1, comprising an electronic circuit (3) comprising a Hardware Security Module or HSM (9), the hardware component (6) comprising an HSM interface (14) connected to the HSM (9), the HSM (9) being configured to validate the at least one data packet.
7. 2. The ECU (2) according to claim 1, wherein the network interface (7) is designed as a network interface (7) for wireless data communication.
8. 2. The ECU (2) according to claim 1, wherein the network interface (7) is designed as a bus interface for a communication bus of the vehicle (1).
9. 2. The ECU (2) according to claim 1, wherein the electronic circuit (3) is realized as a microcontroller and / or as a system on chip or SoC.
10. 2. The ECU (2) according to claim 1, wherein the electronic circuit (3) comprises the non-volatile memory (8).
11. A method for operating an ECU (2) including an electronic circuit (3) of a vehicle (1), comprising the steps of: receiving at least one data packet representing a software program from a communications network by a hardware component (6) of said electronic circuit (3), said hardwired logic encoding a predetermined communications protocol for receiving said at least one data packet; storing said software program in a non-volatile memory (8) by said hardware component (6); reading and executing said software program from said non-volatile memory (8) by a processing unit (5) of said electronic circuit (3); the hardware component performs a boot loader function for updating the software program through the hardwired logic; A method comprising:
12. The method according to claim 11, wherein the processing unit (5) executes a further software program while the at least one data packet is being received by the hardware component (6).
13. 13. A method according to claim 11 or 12, wherein said at least one data packet is received from a server computer over said communications network in a wireless manner.
14. 13. The method according to claim 11 or 12, wherein said at least one data packet is received from an information processing device external to said vehicle (1) via a communication bus of said vehicle (1).
Citation Information
Patent Citations
Onboard device, information generating method, non-transitory storage medium, and vehicle
EP3961380A1
Generation of checksum on trusted storage device for accelerating authentication
JP2019071053A
Software update device and software update method
JP2020201986A
Building Software Delta Updates and Toolchain-Based Anomaly Detection for Vehicle ECU Software
JP2020528629A
System and method for updating software in an electronic device
US20190265965A1