Program flashing method, program flashing system, storage medium and product
By obtaining and utilizing the software and hardware information of the vehicles on the automobile assembly line, generating adaptive brushing task information, and using OTA modules and 5G networks for program brushing, the problem of time-consuming traditional electrical inspection brushing equipment is solved, and the automation rate and brushing efficiency of the automobile assembly line are improved.
Patent Information
- Application Number
- CN202510085316.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-20
- Publication Date
- 2025-05-13
AI Technical Summary
Due to the long brushing and writing time of traditional electrical inspection and writing equipment, the automation rate of the automobile assembly production line is low, and the equipment curing cannot meet the production needs of high flexibility, high efficiency and high automation.
By obtaining the software and hardware information of any station vehicle on the car assembly line sent by the second server, highly adaptable flash write task information is generated, and the OTA module in the first server is used to send task information to the domain controller to realize movable program flash write. At the same time, the pre-established 5G network channel is used to flash the entire vehicle program.
It improves the efficiency and flexibility of program flashing, improves the automation rate of the automotive assembly line, shortens the program flashing time of domain controllers, and ensures the accuracy and accuracy of flashing tasks.
Smart Images

Figure CN119987797A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle technology, and in particular to a program flashing method, a program flashing system, a storage medium and a product. Background Art
[0002] In the traditional automobile manufacturing process, when the vehicle is at the last station of the final assembly line, workers use electrical inspection equipment to flash the program and calibrate the data of the vehicle's Electronic Control Unit (ECU). However, traditional electrical inspection and flashing equipment has the problem of taking a long time to flash a vehicle. In order to meet the production rhythm of the production line, multiple devices are usually set up at the last station to work simultaneously, and different models need to be adapted separately.
[0003] With the development of the automobile industry, the degree of intelligence of automobile assembly production lines is increasing. Under the production trend of high flexibility, high efficiency and high automation, traditional electric inspection equipment can no longer meet production requirements due to its long writing time and rigid equipment. In related technologies, electric inspection equipment and servers are used to write vehicle programs, but this technology only optimizes the error prevention of ECU writing, and still cannot solve the problem of long writing time of electric inspection equipment. Summary of the invention
[0004] One of the purposes of the present application is to provide a program flashing method, a program flashing system, a storage medium and a product, so as to solve the problems in the related art that the program flashing method is time-consuming, resulting in low program flashing efficiency, poor flexibility, and low automation rate of the final assembly production line.
[0005] In order to achieve the above purpose, the technical solution of the embodiment of the present application is implemented as follows:
[0006] The technical solution of the embodiment of the present application is implemented as follows:
[0007] In a first aspect, the present application provides a program flashing method, applied to a first server, the method comprising:
[0008] Obtaining vehicle software and hardware information corresponding to a vehicle at any workstation on the automobile assembly line sent by the second server;
[0009] When the domain controller to be installed on the vehicle is placed on the flashing bench tool corresponding to the automobile assembly line and the flashing bench tool supplies power to the domain controller, a connection is established with the domain controller, and first flashing task information of the domain controller is generated according to the hardware part number of the domain controller and the vehicle hardware and software information;
[0010] Sending the first flashing task information to the domain controller through the first over-the-air download OTA module in the first server, so that the domain controller calls the second OTA module to complete the flashing and installation based on the first flashing task information;
[0011] When the domain controller is installed in the vehicle, if the vehicle meets the power-on conditions, the vehicle is powered on, the first OTA module is called, and the entire vehicle program is flashed on the vehicle using the pre-established 5G network channel.
[0012] According to the above technical means, by obtaining the vehicle software and hardware information corresponding to any vehicle at any workstation on the automobile assembly line sent by the second server, the current software and hardware information of the vehicle can be fully grasped. On this basis, when the flashing bench tooling places the domain controller to be installed on the vehicle and supplies power to it, the first flashing task information is generated according to the domain controller hardware part number and the vehicle software and hardware information, ensuring that the flashing task is highly adapted to the specific vehicle and domain controller, avoiding incorrect flashing due to unclear information, making the software flashing link on the assembly line more accurate, and thus improving the efficiency of the entire automobile assembly. The first OTA module in the first server is used to send the first flash task information to the domain controller, thereby realizing the program flashing of the mobile domain controller, saving the time of program flashing of the domain controller, and improving the automation rate of the automobile assembly line; further, the domain controller improves the flexibility of vehicle program flashing by calling the second OTA module to download and install the corresponding software package, thereby improving the automation rate of the automobile assembly line; after the domain controller is installed in the vehicle and the vehicle meets the power-on conditions, the pre-established 5G network channel is used to flash the entire vehicle program, which makes full use of the high speed and low latency advantages of the 5G network, and can quickly transmit the entire vehicle program to the vehicle for updating.
[0013] Further, sending the first flashing task information to the corresponding domain controller through the first OTA module in the first server includes: obtaining a first list, wherein the first list includes a software package index list and a peer node list; sending the first flashing task information and the first list to the corresponding domain controller through the first OTA module, so that the domain controller calls the second OTA module to establish a connection with the target peer node in the peer node list based on the first flashing task information, the software package index list and the peer node list, so as to complete the flashing and installation.
[0014] According to the above technical means, the electric inspection server sends task information and the first list through the first OTA module, and then each domain controller interacts with the peer node to flash and install according to this standard, which can ensure that in the entire vehicle system, each related functional module can accurately obtain and install the corresponding correct software version. Furthermore, due to the limited resources of the electric inspection server, the domain controller uses the second OTA module to establish a connection with the target peer node in the peer node set in the software package index list based on the first flash task information, the software package index list and the peer node list. The domain controller establishes a connection with other domain controllers that are being flashed, effectively utilizing the resources of other domain controllers, avoiding the impact of multiple domain controllers downloading at the same time on the electric inspection server, improving the download efficiency, and also improving the utilization efficiency of various resources such as software in the domain controller.
[0015] Furthermore, the method also includes: when the domain controller establishes a connection with the target peer node, receiving connection information sent by the domain controller; wherein the connection information includes a node identifier of the domain controller and a node identifier of the target peer node; based on the node identifier of the domain controller and the node identifier of the target peer node, updating the software package index list and the peer node list.
[0016] According to the above technical means, when the domain controller establishes a connection with the target peer node, the first server can accurately grasp the specific node situation of the actual connection by receiving the connection information containing the domain controller node identifier and the target peer node node identifier. Based on these accurate identifiers, the software package index list and the peer node list are updated, so that the two lists can always reflect the current real and effective node association and the corresponding software package index situation, avoiding the problem of inconsistency between the list information and the actual situation due to changes in the node connection status, ensuring the accuracy and real-time nature of the data, and providing a reliable basis for subsequent related operations of other domain controllers such as software download and flashing.
[0017] Further, the updating of the software package index list and the peer node list based on the node identifier of the domain controller and the node identifier of the target peer node includes: obtaining a pre-stored IP address and port number corresponding to the node identifier of the domain controller; determining that the hotspot value of the domain controller is a first value; adding the node identifier of the domain controller to the peer node identifier set corresponding to each software package identifier, thereby updating the software package index list; adding the node identifier, IP address, port number and hotspot value of the domain controller to the peer node list, and adding 1 to the hotspot value of the target peer node, thereby updating the peer node list.
[0018] According to the above technical means, the node identifier of the domain controller is added to the peer node identifier set corresponding to each software package identifier to update the software package index list, so that other domain controllers newly added to the P2P network can accurately find the corresponding target peer node based on the latest software package index list when downloading the flash software package, so as to achieve scientific management and efficient use of resources; after determining the hotspot value of the domain controller, the node identifier, IP address, port number and hotspot value of the domain controller are added to the peer node list, and the hotspot value of the target peer node is updated at the same time. Such operations can achieve quantitative evaluation and recording of resource usage of each node. Based on information such as hotspot values, other domain controllers newly added to the P2P network can accurately find the corresponding target peer node based on the latest software package index list when downloading the flash software package, so as to achieve scientific management and efficient use of resources.
[0019] Furthermore, the method also includes: if the first list contains other peer node identifiers except the central server identifier, deleting the information of the central server in the first list; or if the domain controller is flashed, deleting the information of the domain controller in the first list.
[0020] According to the above technical means, the resource pressure of the central server in the electronic inspection server is reduced, and each domain controller can avoid retaining unnecessary data in the list, reduce the storage space occupied by redundant information, facilitate subsequent query, analysis and other operations on the list, and improve the overall quality and efficiency of data management.
[0021] Furthermore, the vehicle meeting the power-on condition includes: the electrical link of the vehicle is normal and the vehicle passes the safety inspection.
[0022] According to the above technical means, vehicle safety is ensured by testing the electrical links and checking the safety regulations of the vehicle.
[0023] Furthermore, the calling of the first OTA module and using the pre-established 5G network channel to flash the entire vehicle program of the vehicle includes: generating second flashing task information of the vehicle controller of the vehicle based on the vehicle hardware and software information; wherein the second flashing task information includes a flashing software package; calling the first OTA module, using the 5G network channel to transmit the flashing software package to the vehicle, and using the flashing software package to flash the entire vehicle program.
[0024] According to the above technical means, there is no need to integrate the flash module into the vehicle OS. The built-in flash module can be directly called through the electronic inspection server, and the flash software package can be transmitted through the 5G network channel. Then, the whole vehicle program can be flashed, thus avoiding the need to retest the entire process of the function due to the re-release of the vehicle OS. In order to ensure the normal OTA capability in the factory, this increases the verification and testing work on the R&D and manufacturing ends.
[0025] In a second aspect, the present application provides a program flashing method, which is applied to a domain controller, and the method includes:
[0026] When the domain controller is connected to the first server, receiving first flashing task information and a first list of the domain controller sent by the first server; wherein the first list includes a software package index list and a peer node list;
[0027] Determine a target peer node connected to the domain controller according to the first flashing task information, the software package index list and the peer node list, and establish a connection with the target peer node;
[0028] Calling the second OTA module of the domain controller to parse the first flashing task information to obtain one or more flashing tasks;
[0029] According to the one or more flashing tasks, the corresponding flashing software package is downloaded from the target peer node, and the program of the domain controller is flashed and installed using each flashing software package and the corresponding installation strategy.
[0030] According to the above technical means, the domain controller establishes a connection with the target peer node in the peer node set in the software package index list with the help of the second OTA module according to the first flashing task information, the software package index list and the peer node list. The domain controller establishes a connection with other domain controllers that are being flashed, effectively utilizing the resources of other domain controllers, avoiding the impact of multiple domain controllers downloading at the same time on the electrical inspection server, improving the download efficiency, and also improving the utilization efficiency of various resources such as software in the domain controller; the domain controller downloads the corresponding software package and installs it by calling the second OTA module, thereby improving the flexibility of vehicle program flashing, thereby improving the automation rate of the automobile assembly line; after the domain controller is installed in the vehicle and the vehicle meets the power-on conditions, the pre-established 5G network channel is used to flash the entire vehicle program to the vehicle, making full use of the high speed and low latency advantages of the 5G network, and the entire vehicle program can be quickly transmitted to the vehicle for updating.
[0031] Further, determining a target peer node connected to the domain controller according to the first flashing task information, the software package index list and the peer node list includes:
[0032] Determine a first peer node identifier set corresponding to the first flashing task information from the software package index list;
[0033] According to the hotspot value of each peer node in the peer node list, a peer node with the smallest hotspot value is selected from the first peer node identification set as the target peer node.
[0034] According to the above technical means, tasks are preferentially assigned to peer nodes with relatively light load and less resource usage pressure, avoiding the situation where some nodes are overloaded due to frequent tasks while other nodes are idle, and achieving balanced distribution of resources among different peer nodes in the entire P2P network. At the same time, the time for tasks to queue and wait for processing is reduced, effectively improving the efficiency of each domain controller in completing software flashing.
[0035] In a third aspect, the present application provides a program flashing method, which is applied to a vehicle, and the method comprises:
[0036] When the domain controller on the flashing bench tooling is installed on the vehicle and the vehicle is powered on, a 5G network channel is established with the first server; wherein the domain controller on the flashing bench tooling has completed flashing and installation through the first flashing task information sent by the first OTA module in the first server;
[0037] Using the 5G network channel, receiving second flashing task information of the vehicle sent by the first server, wherein the second flashing task information includes one or more flashing software packages and installation strategies;
[0038] The entire vehicle program of the vehicle is flashed using each flashing software package and the corresponding installation strategy.
[0039] According to the above-mentioned technical means, after the domain controller is installed in the vehicle and the vehicle meets the power-on conditions, the vehicle program is flashed using the pre-established 5G network channel, making full use of the advantages of the 5G network's high speed and low latency, and the vehicle program can be quickly transmitted to the vehicle for updating.
[0040] In a fourth aspect, the present application provides a system for program flashing, the system comprising:
[0041] A second server and a vehicle at any workstation on the automobile assembly line, wherein the second server is used to send vehicle software and hardware information of the vehicle at any workstation on the automobile assembly line to the first server;
[0042] A domain controller on a flashing bench tool, wherein the domain controller is powered by the flashing bench tool;
[0043] The first server establishes a connection with the domain controller, and is used to generate first flashing task information of the domain controller according to the hardware part number of the domain controller and the vehicle hardware and software information; and sends the first flashing task information to the domain controller through a first air download OTA module in the first server;
[0044] The domain controller is further used to call the second OTA module to complete the flashing and installation based on the first flashing task information;
[0045] The first server is further configured to, when the domain controller is installed in the vehicle, power on the vehicle if the vehicle meets a power-on condition, and send a flash software package to the vehicle through the first OTA module using a pre-established 5G network channel;
[0046] The vehicle is used to flash the entire vehicle program of the vehicle using the flashing software package and the corresponding installation strategy.
[0047] In a fifth aspect, the present application provides a computer-readable storage medium, which stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement part or all of the steps in the program flashing method described in any one of the first aspect, any one of the second aspect, or the third aspect.
[0048] In a sixth aspect, the present application provides a computer program product, comprising a computer program or instructions, which, when executed by a processor, implements part or all of the steps in the program flashing method described in any one of the first aspect, any one of the second aspect, or the third aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.
[0050] Figure 1 A schematic diagram of the system architecture of an optional program flashing method provided in an embodiment of the present application Figure 1 ;
[0051] Figure 2 A schematic diagram of an implementation flow of an optional program flashing method provided in an embodiment of the present application;
[0052] Figure 3 A schematic diagram of an implementation flow of an optional program flashing method provided in an embodiment of the present application;
[0053] Figure 4A schematic diagram of an optional P2P network topology provided in an embodiment of the present application;
[0054] Figure 5 A schematic diagram of an implementation flow of an optional program flashing method provided in an embodiment of the present application;
[0055] Figure 6 A schematic diagram of an implementation flow of an optional program flashing method provided in an embodiment of the present application;
[0056] Figure 7 A schematic diagram of the system architecture of an optional program flashing method provided in an embodiment of the present application Figure 2 .
[0057] Figure 8 A schematic diagram of an implementation flow of an optional program flashing method provided in an embodiment of the present application;
[0058] Fig. 9 A schematic diagram of a flow chart of OTA task execution in an electrical inspection server provided in an embodiment of the present application;
[0059] Fig.10 A schematic diagram of a process of file transmission in a peer node provided in an embodiment of the present application;
[0060] Fig.11 A schematic diagram of the structure of an optional first server provided in an embodiment of the present application;
[0061] Fig.12 A schematic diagram of the structure of an optional domain controller provided in an embodiment of the present application;
[0062] Fig.13 A schematic diagram of the structure of an optional vehicle provided in an embodiment of the present application;
[0063] Fig.14 A schematic diagram of the structure of an optional program flashing system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] In order to make the purpose, technical solutions and advantages of the present application clearer, the technical solutions of the present application are further elaborated in detail below in conjunction with the drawings and embodiments. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0065] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict. The terms "first / second / third" involved are merely used to distinguish similar objects and do not represent a specific order for the objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0066] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing this application and are not intended to limit this application.
[0067] A flashing system for an automobile ECU controller is provided in the related art. The system uses an electric inspection device and a server to flash the vehicle program. The system only optimizes the error prevention of ECU flashing. Patent No. CN115835161A provides a vehicle program flashing method, in which the electric inspection server identifies the station information uploaded by any station on the automobile assembly line through the 5G (5th Generation Mobile Communication Technology) network, including the vehicle identification and station number; if the station number is a preset flashing trigger number, the vehicle at the corresponding station is awakened, and a 5G network connection with the vehicle is established; the flashing task information matched according to the vehicle identification is sent to the vehicle, so that the vehicle implements the flashing of the whole vehicle program based on the flashing task information, wherein the vehicle calls the OTA module to download the flashing software package corresponding to the flashing task information, and uses the flashing software package and the corresponding installation strategy to implement the flashing of the whole vehicle program. This method integrates the flashing execution module into the vehicle OS and reuses the capabilities of OTA. However, this method has at least the following problems: 1) The flashing module is integrated into the vehicle operating system (OS). If the vehicle operating system is re-released, in order to ensure that the OTA capability is normal in the factory, the function needs to be retested throughout the entire process, which increases the verification and testing work on the R&D and manufacturing ends; 2) The electronic inspection server automatically wakes up the entire vehicle for flashing. Since there is no corresponding verification mechanism, if the vehicle cannot be powered on at the moment, the vehicle may be mistakenly woken up, which poses a certain safety risk; 3) For related domain controllers, the flashing time is generally long. Due to the process layout of the current final assembly completion line, it is unable to provide sufficient time to flash such controllers.
[0068] In response to the above technical problems, the embodiments of the present application provide a program flashing method and a program flashing system, which can fully grasp the current software and hardware information of the vehicle by obtaining the vehicle software and hardware information corresponding to any vehicle at any workstation on the automobile assembly line sent by the second server. On this basis, when the flashing bench tooling places the domain controller to be installed on the vehicle and supplies power to it, the first flashing task information is generated according to the domain controller hardware part number and the vehicle software and hardware information, ensuring that the flashing task is highly adapted to the specific vehicle and domain controller, avoiding incorrect flashing due to unclear information, making the software flashing link on the assembly line more accurate, and thus improving the efficiency of the entire automobile assembly. The first OTA module in the first server is used to send the first flash task information to the domain controller, thereby realizing the program flashing of the mobile domain controller, saving the time of program flashing of the domain controller, and improving the automation rate of the automobile assembly line; further, the domain controller improves the flexibility of vehicle program flashing by calling the second OTA module to download and install the corresponding software package, thereby improving the automation rate of the automobile assembly line; after the domain controller is installed in the vehicle and the vehicle meets the power-on conditions, the pre-established 5G network channel is used to flash the entire vehicle program, which makes full use of the high speed and low latency advantages of the 5G network, and can quickly transmit the entire vehicle program to the vehicle for updating.
[0069] To facilitate the understanding of the embodiments of the present application, the system architecture of the program flashing method of the embodiments of the present application is described, referring to Figure 1 As shown, the system architecture 100 includes a first server 11, a second server 12, a domain controller 13 and a vehicle 14; the second server 12 is connected to the first server 11, the domain controller 13 and the vehicle 14 respectively through a network, and the first server 11 is connected to the domain controller 13 and the vehicle 14 respectively through a network.
[0070] The second server 12 may be a Manufacturing Execution System (MES) server, which is used to control the vehicles on the automobile assembly line to be sent to the installation stations, and send the vehicle hardware and software information of the vehicle to the first server 11 .
[0071] Among them, the first server 11 can be an electrical inspection server, which is used to generate first flash task information of the domain controller 13 according to the acquired hardware part number of the domain controller 13 and the vehicle hardware and software information, and send the first flash task information to the domain controller through the first OTA module; and when the domain controller 13 is installed on the vehicle 14, if the vehicle 14 meets the power-on conditions, the vehicle 14 is powered on, and one or more flash software packages of the vehicle 14 are sent through the first OTA module using the pre-established 5G network channel.
[0072] The domain controller 13 is used to call the second OTA module to complete the flashing and installation according to the first flashing task information.
[0073] The vehicle 14 is used to flash the entire vehicle program of the vehicle using each flashing software package and the corresponding installation strategy.
[0074] Reference Figure 2 As shown, a flowchart of a program flashing method provided by an embodiment of the present application is shown, and the method is applied to Figure 1 The first server in the method can be implemented by the following steps:
[0075] Step 201: Obtain vehicle hardware and software information corresponding to a vehicle at any workstation on the automobile assembly line sent by a second server.
[0076] In an embodiment of the present application, the vehicle hardware and software information may include one or more of vehicle information, software information and hardware information. The vehicle information includes the vehicle identification number (VIN), the software information includes but is not limited to the software type, software part number, software version number, software package URL, software package size, and one or more of the software package verification code, and the hardware information includes but is not limited to one or more of the hardware version number and the hardware part number.
[0077] In an embodiment of the present application, the second server controls the vehicles on the automobile assembly line to be sent to the installation stations in sequence. The second server pre-stores the vehicle hardware and software information of the vehicles on the installation stations, and sends the vehicle hardware and software information of the vehicles to the second server.
[0078] In some embodiments, after the second server obtains the vehicle's hardware and software information, the second server downloads the flash software package corresponding to the vehicle based on the vehicle's hardware and software information, and stores the flash software package of the vehicle in the software package management module of the first server for the first OTA module in the first server to call and execute.
[0079] Step 202: When the domain controller to be installed on the vehicle is placed on the flashing bench tooling corresponding to the automobile assembly line and the flashing bench tooling supplies power to the domain controller, a connection is established with the domain controller, and the first flashing task information of the domain controller is generated according to the hardware part number of the domain controller and the vehicle hardware and software information.
[0080] In an embodiment of the present application, the first flash task information includes but is not limited to one or more of vehicle VIN, software type, software part number, software version number, software package URL, software package size, software package verification code, hardware version number, hardware part number, download address and installation strategy.
[0081] In actual applications, according to the production plan, the domain controller to be installed is transported to the material storage area of the flashing bench tooling, the operator places the domain controller into the flashing bench tooling, and closes the flashing bench tooling, at which time the flashing bench tooling supplies power to the domain controller; it should be noted that the flashing bench can have multiple flashing bench toolings, each of which is equipped with the same type of domain controllers, so that the same type of domain controllers can download flashing software packages through a point-to-point strategy.
[0082] Furthermore, the electrical inspection server can establish a connection with the domain controller in the flashing station tooling to read the hardware part number of the domain controller. Of course, the electrical inspection server can also store the station number and the hardware part number of the domain controller in a predefined storage area through the programmable logic controller (PLC) on the station.
[0083] Furthermore, the electrical inspection server matches the hardware part number of the domain controller with the hardware part number in the vehicle hardware and software information, and if the match is successful, generates the first flashing task information of the domain controller.
[0084] Step 203: Send the first flashing task information to the domain controller through the first OTA module in the first server, so that the domain controller calls the second OTA module to complete the flashing and installation based on the first flashing task information.
[0085] In an embodiment of the present application, the first server may include a first OTA module, and the first OTA module may be responsible for calling a corresponding diagnostic protocol stack to perform a flashing operation.
[0086] In the embodiment of the present application, the domain controller may include a second OTA module, and the second OTA module may download the flashing software package according to the download address of the flashing software package.
[0087] It can be understood that the embodiment of the present application can determine that the hardware part number of the domain controller successfully matches the hardware part number in the vehicle's hardware and software information, and after generating the first flash task information of the domain controller, the first flash task information can be sent to the domain controller corresponding to the hardware part number through the first OTA module, thereby realizing the program flashing of the mobile domain controller, saving the time of program flashing of the domain controller, and improving the automation rate of the automobile assembly line; further, the domain controller improves the flexibility of vehicle program flashing by calling the second OTA module to download and install the corresponding software package, thereby improving the automation rate of the automobile assembly line.
[0088] It should be noted that although the steps are depicted in a particular order, this should not be understood as requiring that the steps be performed in the particular order shown or in a sequential order. In certain circumstances, multitasking and parallel processing may be advantageous.
[0089] Step 204: When the domain controller is installed in the vehicle, if the vehicle meets the power-on conditions, the vehicle is powered on, the first OTA module is called, and the vehicle program is flashed on the vehicle using the pre-established 5G network channel.
[0090] In the embodiment of the present application, the power-on conditions include that the vehicle's electrical link is normal and the vehicle's safety inspection is qualified.
[0091] In an embodiment of the present application, after the domain controller is flashed, a label is printed on the domain controller and transported to the vehicle installation station, and the domain controller is installed on the vehicle. In this way, the program in the domain controller can be flashed in advance to avoid the situation where the final assembly line is unable to provide sufficient time to flash such controllers due to the process layout. At the same time, during the installation process, the vehicle installation rhythm is avoided to be increased due to the long flashing time, thereby improving the automation rate of the automobile final assembly line.
[0092] In the embodiment of the present application, when the domain controller is installed in the vehicle, if the vehicle meets the power-on conditions, the vehicle is powered on. That is to say, after the domain controller of the vehicle is installed, if there is no abnormality in the electrical link of the vehicle and the safety inspection is passed, indicating that the vehicle has the power-on conditions, at this time, the vehicle is controlled to connect to the battery, thereby powering on the entire vehicle. In this way, by checking the electrical link and safety specifications of the vehicle, it can be ensured that various key components of the vehicle, such as electronic control units, sensors, actuators, etc., can obtain power supply normally, ensure that the entire vehicle system enters the working state in an orderly manner, and avoid safety risks of the vehicle.
[0093] In an embodiment of the present application, the vehicle is installed with a 5G wireless communication device, such as an on-board diagnostic system (OBD) communication device, and a 5G network channel is established between the first server and the vehicle through the 5G wireless communication device.
[0094] In an embodiment of the present application, after the vehicle is powered on, the first server calls the first OTA module and uses the pre-established 5G network channel to flash the entire vehicle program. In this way, the first server and the vehicle are interconnected through 5G devices, and combined with OTA technology, mobile and fixed flashing can be achieved on the final assembly line. The flashing method is flexible, and there is no need to re-adapt and debug after changing the vehicle model or re-issuing the vehicle software, which improves the flexibility of vehicle program flashing and thus improves the automation rate of the automobile final assembly line.
[0095] Reference Figure 3As shown, a flowchart of a program flashing method provided by an embodiment of the present application is shown, and the method is applied to Figure 1 The first server in the method can be implemented by the following steps:
[0096] Step 301, obtaining vehicle software and hardware information corresponding to a vehicle at any workstation on the automobile assembly line sent by a second server;
[0097] Step 302: When a domain controller to be installed on a vehicle is placed on a flashing bench tool corresponding to the automobile assembly line and the flashing bench tool supplies power to the domain controller, a connection is established with the domain controller, and first flashing task information of the domain controller is generated according to the hardware part number of the domain controller and the vehicle hardware and software information;
[0098] Step 303: Obtain a first list, wherein the first list includes a software package index list and a peer node list.
[0099] In the embodiment of the present application, the software package index list includes software package identifiers (also known as software package names) of multiple flash software packages that the domain controller needs to install, and a set of peer node identifiers corresponding to each software package identifier.
[0100] In the embodiment of the present application, the peer node list includes a peer node identifier, an Internet Protocol (IP) address and a port number of a peer node corresponding to the peer node identifier, and a hotspot value of the peer node. The peer node identifier set includes the peer node identifiers in the peer node list, and the peer nodes include a central server deployed in the first server, and other domain controllers of the same type as the domain controller powered by the flashing rack tooling; the hotspot value is the number of connections of the peer node.
[0101] It should be noted that the flashing bench tooling can be powered by N domain controllers, and the types and models of the multiple domain controllers are exactly the same. The multiple domain controllers and the central server deployed on the first server can be connected through a peer-to-peer (P2P) network, that is, the multiple domain controllers and the central server use a centralized P2P network topology. The network topology is shown in Figure 4 As shown, the P2P central server is deployed on the first server, and the peer nodes are the domain controllers.
[0102] In an embodiment of the present application, the first list may be an initial list created by the first server, or the first list may be an updated list obtained by updating the initial list after the first domain controller establishes a connection with the central server of the first server based on the initial list; the first list may also be a list updated again by the nth domain controller after establishing a connection with other peer nodes (i.e., domain controllers) based on the updated list; wherein, 2≤n≤N, N is the number of domain controllers flashed by the flashing stand tooling.
[0103] Exemplarily, if the first list is an initial list, the software package index list and peer node list included in the initial list are as shown in Table 1 and Table 2.
[0104] Package Name Peer node ID collection THU_OS Central Server THU_MCU Central Server IBCU Central Server
[0105] Table 1
[0106] Peer node ID IP port Hotspot value Central Server 192.168.10.10 8080 1
[0107] Table 2
[0108] If the first list is a list obtained by updating the initial list after the first domain controller establishes a connection with the central server, the software package index list and the peer node list included in the updated list are shown in Table 3 and Table 4.
[0109] Package Name Peer node ID collection THU_OS Peer 1 THU_MCU Peer 1 IBCU Peer 1
[0110] Table 3
[0111] Peer node ID IP port Hotspot value Peer 1 192.168.10.11 8080 1
[0112] Table 4
[0113] If the first list is an updated list obtained after the nth domain controller establishes connections with other peer nodes, the updated list includes a software package index list and a peer node list as shown in Table 5 and Table 6;
[0114] Package Name Peer node ID collection THU_OS Peer node 1, peer node 2, ..., peer node N THU_MCU Peer node 1, peer node 2, ..., peer node N IBCU Peer node 1, peer node 2, ..., peer node N
[0115] Table 5
[0116]
[0117]
[0118] Table 6
[0119] Step 304: Send the first flashing task information and the first list to the corresponding domain controller through the first OTA module, so that the domain controller calls the second OTA module to establish a connection with the target peer node in the peer node list based on the first flashing task information, the software package index list and the peer node list to complete the flashing and installation.
[0120] In the embodiment of the present application, the target peer node is any one of the multiple domain controllers on which the flashing stand tooling is performing a flashing operation.
[0121] In an embodiment of the present application, after obtaining a first list including a software package index list and a peer node list, the first server sends the first flash task information and the first list to the corresponding domain controller through the first OTA module, and the domain controller calls the second OTA module to determine the software package identifier of the flash software package to be downloaded from the software package index list based on the first flash task information, and determines the target peer node from the set of peer node identifiers corresponding to the software package identifier based on the peer node list, and then the domain controller establishes a connection with the target peer node to download the flash software package and complete the flashing and installation.
[0122] From the above, it can be seen that the electrical inspection server sends task information and the first list through the first OTA module, and then each domain controller interacts with the peer node to flash and install according to this standard, which can ensure that in the entire vehicle system, each related functional module can accurately obtain and install the corresponding correct software version. Furthermore, due to the limited resources of the electrical inspection server, the domain controller uses the second OTA module to establish a connection with the target peer node in the peer node set in the software package index list based on the first flash task information, the software package index list and the peer node list. The domain controller establishes a connection with other domain controllers that are being flashed, effectively utilizing the resources of other domain controllers, avoiding the impact of multiple domain controllers downloading at the same time on the electrical inspection server, improving download efficiency, and also improving the utilization efficiency of various resources such as software in the domain controller.
[0123] In some embodiments, the method further comprises:
[0124] Step A1: When a domain controller establishes a connection with a target peer node, receiving connection information sent by the domain controller; wherein the connection information includes a node identifier of the domain controller and a node identifier of the target peer node;
[0125] Step A2: based on the node identifier of the domain controller and the node identifier of the target peer node, update the software package index list and the peer node list.
[0126] In the embodiment of the present application, when the domain controller establishes a connection with the target peer node, the first server can accurately grasp the specific node situation of the actual establishment of the connection by receiving the connection information including the domain controller node identifier and the target peer node node identifier. Based on these accurate identifiers, the software package index list and the peer node list are updated, so that the two lists can always reflect the current real and effective node association and the corresponding software package index situation, avoiding the problem that the list information is inconsistent with the actual situation due to the change of the node connection status, ensuring the accuracy and real-time nature of the data, and providing a reliable basis for subsequent related operations of other domain controllers such as software download and flashing.
[0127] In some embodiments, step A2 updates the software package index list and the peer node list based on the node identifier of the domain controller and the node identifier of the target peer node, which can be implemented by the following steps:
[0128] Step B1: obtaining the IP address and port number corresponding to the node identifier of the pre-stored domain controller;
[0129] Step B2, determining that the hotspot value of the domain controller is a first value;
[0130] Step B3: adding the node identifier of the domain controller to the peer node identifier set corresponding to each software package identifier, thereby updating the software package index list;
[0131] Step B4: Add the node identifier, IP address, port number and hotspot value of the domain controller to the peer node list, and increase the hotspot value of the target peer node by 1, thereby updating the peer node list.
[0132] In the embodiment of the present application, the first server obtains the IP address and port number corresponding to the node identifier of the pre-stored domain controller, thereby ensuring that a connection can be accurately established and data can be transmitted between the domain controller and other related nodes.
[0133] In the embodiment of the present application, since the domain controller is a node newly added to the P2P network, and the peer node connected to the domain controller is the target peer node, that is, the hotspot value of the domain controller is the first value, that is, 1.
[0134] In an embodiment of the present application, the node identifier of the domain controller is added to the peer node identifier set corresponding to each software package identifier to update the software package index list, so that other domain controllers that are newly added to the P2P network can accurately find the corresponding target peer node based on the latest software package index list when flashing the software package download, thereby realizing scientific management and efficient utilization of resources.
[0135] In the embodiment of the present application, after determining the hotspot value of the domain controller, the node identifier, IP address, port number and hotspot value of the domain controller are added to the peer node list, and the hotspot value of the target peer node is updated at the same time. Such operation can realize quantitative evaluation and recording of resource usage of each node. Based on the hotspot value and other information, other domain controllers newly added to the P2P network can accurately find the corresponding target peer node based on the latest software package index list when flashing the software package download, so as to realize scientific management and efficient use of resources.
[0136] In some embodiments, the method further includes: if the first list contains other peer node identifiers except the central server identifier, deleting the central server information in the first list; or, if the domain controller is flashed, deleting the domain controller information in the first list.
[0137] In the embodiment of the present application, since the resources of the electrical inspection server are limited, in order to reduce the resource pressure of the central server in the electrical inspection server, if there are other peer node identifiers except the central server identifier in the first list, the central server identifier in the peer node set corresponding to each software package identifier in the software package index list, as well as the node identifier, IP address, port number and hotspot value associated with the peer node identifier in the peer node list are deleted.
[0138] In the embodiment of the present application, during the flashing process, the domain controller can act as a peer node in the P2P network. After the flashing of the domain controller is completed, the domain controller leaves the flashing stand tooling. At this time, the domain controller is no longer a peer node in the P2P network, and it is necessary to delete the node identifier of the domain controller in the peer node set corresponding to each software package identifier in the software package index list, as well as the node identifier, IP address, port number and hotspot value associated with the domain controller in the peer node list. In this way, unnecessary data can be avoided from being retained in the list, the storage space occupied by redundant information can be reduced, and subsequent operations such as querying and analyzing the list can be facilitated, thereby improving the overall quality and efficiency of data management.
[0139] Step 305: When the domain controller is installed in the vehicle, if the vehicle meets the power-on conditions, the vehicle is powered on, and the second flashing task information of the vehicle controller is generated according to the vehicle software and hardware information.
[0140] The second flashing task information includes the flashing software package, and the second flashing task information may further include an installation policy corresponding to the flashing software package.
[0141] In the embodiment of the present application, tools for acquiring information, such as a Radio Frequency Identification (RFID) reader / writer, may be installed at the TBOX assembly station and other necessary stations of the production line.
[0142] In an embodiment of the present application, when the domain controller is installed on the vehicle, if the vehicle meets the power-on conditions, the flash trigger station installs the 5G wireless OBD communication device and powers on the vehicle. The flash trigger station uses an RFID reader to read the vehicle VIN in the vehicle electronic tag, and reads the OBD communication device tag; further, the vehicle VIN and the OBD communication device tag are bound and reported to the second server, namely the MES server. The second server sends the vehicle VIN to the first server, namely the electrical inspection server. The first server matches the vehicle VIN with the VIN in the vehicle's software and hardware information. If the match is successful, a second flash task information carrying a flash software package and an installation strategy is generated for the vehicle controller of the vehicle.
[0143] Step 306: call the first OTA module, use the 5G network channel to transmit the flashing software package to the vehicle, and use the flashing software package to flash the entire vehicle program.
[0144] In the embodiment of the present application, after generating the first flash task information of the domain controller according to the hardware part number of the domain controller and the software and hardware information of the vehicle, the first server calls the first OTA module, uses the pre-established 5G network channel to transmit the flash software package to the vehicle, and uses the flash software package to flash the entire vehicle program. In this way, there is no need to integrate the flash module into the vehicle OS. The built-in flash module can be directly called through the electric inspection server, and the flash software package can be transmitted through the 5G network channel, and the entire vehicle program can be flashed, which avoids the need to re-test the entire process of the function to ensure the normal OTA capability in the factory due to the re-release of the vehicle OS, which increases the problem of verification and testing work at the R&D and manufacturing ends.
[0145] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.
[0146] Reference Figure 5 As shown, a flowchart of a program flashing method provided by an embodiment of the present application is shown, and the method is applied to Figure 1 The method can be implemented by the following steps:
[0147] Step 501: When a domain controller is connected to a first server, first flashing task information and a first list of the domain controller sent by the first server are received; wherein the first list includes a software package index list and a peer node list.
[0148] In an embodiment of the present application, the first flash task information includes but is not limited to one or more of vehicle VIN, software type, software part number, software version number, software package URL, software package size, software package verification code, hardware version number, hardware part number, download address and installation strategy.
[0149] In the embodiment of the present application, the software package index list includes software package identifiers of multiple flash software packages that the domain controller needs to install, and a set of peer node identifiers corresponding to each software package identifier.
[0150] In the embodiment of the present application, the peer node list includes a peer node identifier, an Internet Protocol (IP) address and a port number of a peer node corresponding to the peer node identifier, and a hotspot value of the peer node. The peer node identifier set includes the peer node identifiers in the peer node list, and the peer nodes include a central server deployed in the first server, and other domain controllers of the same type as the domain controller powered by the flashing rack tooling; the hotspot value is the number of connections of the peer node.
[0151] In actual applications, the domain controller is placed in a flashing rack fixture. After the flashing rack fixture is closed, the flashing rack fixture supplies power to the domain controller. Furthermore, the electrical inspection server can establish a connection with the domain controller in the flashing rack fixture. It should be noted that the flashing rack can have multiple flashing rack fixtures, each of which is equipped with the same type of domain controllers. Multiple domain controllers can download flashing software packages through a point-to-point strategy.
[0152] Step 502: Determine a target peer node connected to the domain controller according to the first flashing task information, the software package index list, and the peer node list, and establish a connection with the target peer node.
[0153] It is understandable that the domain controller can determine the software package identifier of the flash software package to be downloaded by itself based on the first flash task information, and then combine the software package index list and the peer node list to accurately locate the corresponding flash software package that can be downloaded from the target peer node. By establishing a connection with the target peer node in this way, it is ensured that the domain controller can accurately download the required flash software package from the target peer node for flashing, reducing the resource pressure of the central server, speeding up the overall advancement of the software flash process, and effectively improving the efficiency of software flashing.
[0154] In some embodiments, determining the target peer node connected to the domain controller according to the first flashing task information, the software package index list and the peer node list in step 502 can be implemented by the following steps:
[0155] Step C1, determining a first peer node identifier set corresponding to the first flashing task information from the software package index list;
[0156] Step C2: According to the hotspot values of each peer node in the peer node list, select the peer node with the smallest hotspot value from the first peer node identifier set as the target peer node.
[0157] It can be understood that the domain controller determines the first peer node identification set corresponding to the first flash task information from the software package index list, and can lock a batch of peer nodes that have corresponding software package resources and are available for selection. Then, based on the hotspot values of each peer node in the peer node list, the peer node with the smallest hotspot value is selected as the target peer node; in this way, tasks are preferentially assigned to peer nodes with relatively light loads and less resource usage pressure, avoiding the situation where some nodes are overburdened due to frequent task acceptance while other nodes are idle, and achieving balanced distribution of resources among different peer nodes in the entire P2P network. At the same time, it reduces the time for tasks to queue and wait for processing, effectively improving the efficiency of each domain controller in completing software flashing.
[0158] Step 503: Call the second OTA module of the domain controller to parse the first flashing task information to obtain one or more flashing tasks.
[0159] It is understandable that, in the embodiment of the present application, after the vehicle receives the first flashing task information sent by the server, the first flashing task information can be parsed by calling the second OTA module to obtain the flashing task.
[0160] Step 504: According to one or more flashing tasks, download the corresponding flashing software package from the target peer node, and use each flashing software package and the corresponding installation policy to flash and install the program of the domain controller.
[0161] In an embodiment of the present application, the domain controller can download the flash software package corresponding to the flash task from the target peer node, and can also perform integrity verification on the flash software package. After the verification, it can identify the actual type of the flash software package, deploy it, and flash the domain controller according to the corresponding installation policy, thereby realizing corresponding program flashing for different domain controllers and improving the flexibility of domain controller program flashing.
[0162] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.
[0163] Reference Figure 6 As shown, a flowchart of a program flashing method provided by an embodiment of the present application is shown, and the method is applied to Figure 1 The method can be implemented by the following steps:
[0164] Step 601: When the domain controller on the flashing stand tooling is installed on the vehicle and the vehicle is powered on, a 5G network channel is established with the first server.
[0165] Among them, the domain controller on the flashing stand tooling has completed flashing and installation through the first flashing task information sent by the first OTA module in the first server.
[0166] In an embodiment of the present application, when the domain controller is installed in a vehicle, if the vehicle meets the power-on conditions, the flash trigger station installs a 5G wireless OBD communication device, and the vehicle is powered on, and a 5G network channel is established between the vehicle and the first server.
[0167] Step 602: Utilize the 5G network channel to receive the second flashing task information of the vehicle sent by the first server; wherein the second flashing task information includes one or more flashing software packages and installation strategies.
[0168] Furthermore, the vehicle VIN in the vehicle electronic tag is read, and the OBD communication device tag is read, the vehicle VIN and the OBD communication device tag are bound, and reported to the second server, namely the MES server. The second server sends the vehicle VIN to the first server, namely the electrical inspection server. The first server matches the vehicle VIN with the VIN in the vehicle software and hardware information. If the match is successful, the second flashing task information carrying the flashing software package and installation strategy of the vehicle controller of the vehicle is generated, and the second flashing task information is sent to the vehicle.
[0169] Step 603: Flash the vehicle program of the vehicle using each flashing software package and the corresponding installation strategy.
[0170] It can be understood that the embodiments of the present application can identify the actual type of the flash software package, deploy it, and flash the vehicle according to the corresponding installation strategy, thereby realizing corresponding program flashing for different vehicles and improving the flexibility of vehicle program flashing.
[0171] In this way, after the domain controller is installed in the vehicle and the vehicle meets the power-on conditions, the pre-established 5G network channel is used to flash the vehicle program, making full use of the high speed and low latency advantages of the 5G network, and the entire vehicle program can be quickly transmitted to the vehicle for updating.
[0172] It should be noted that, for the description of the same steps and the same contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.
[0173] The system architecture and program flashing method of the program flashing method proposed in the embodiment of the present application are further described below through a specific embodiment. Figure 7 As shown, the system architecture of the program flashing method includes: MES server 701, electric inspection server 702, router 703, PLC module 704, vehicle 706 connected to router 703 via 5G wireless OBD communication device 705, and domain controller 707.
[0174] Among them, the MES server includes but is not limited to the vehicle data synchronization module, the vehicle software flash control module, etc. Among them, the vehicle data synchronization module is used to synchronize the software BOM information of the assembled vehicle to the electrical inspection server; the vehicle software flash control module is used to cooperate with the workstation PLC to upload the vehicle VIN and 5G wireless OBD device, and notify the electrical inspection server to execute the flash.
[0175] The electric inspection server includes but is not limited to a task management module, a flash control module, an OTA module, a software package management module, a routing control module, etc. The task management module is responsible for generating flash tasks for the domain controller of the lineside test bench and the whole vehicle controller; the flash control module is responsible for calling the OTA module to perform specific flashing according to the task information.
[0176] Among them, the OTA module is responsible for calling the corresponding diagnostic protocol stack to perform the flashing action; the software package management module is used to download and update the corresponding flashing software package file according to the corresponding software BOM information sent by the MES server, and the electrical inspection server downloads and updates the corresponding flashing software package file according to the BOM information for the OTA flashing module to call and execute.
[0177] Among them, the domain controller is located on a line-side flashing stand (not shown in the figure). The line-side flashing stand is used to display the flashing status and provide power to the domain controller. It should be noted that the line-side flashing stand is used to flash domain controllers that cannot be flashed on the production line.
[0178] Among them, 5G wireless OBD equipment is used for routing and forwarding diagnostic messages.
[0179] Among them, the vehicle provides power for the vehicle controller and the internal controller such as ECU flashing link.
[0180] Based on the above system architecture, refer to Figure 8 As shown, the program flashing method provided in the embodiment of the present application is described below through a specific embodiment.
[0181] Step 801: The MES server sends the vehicle's software BOM information to the electrical inspection server.
[0182] Here, at the final assembly line point, the MES server sends the vehicles that pass through the final assembly line point in sequence, and sends the vehicle's software BOM information (corresponding to the above-mentioned vehicle software and hardware information) to the electrical inspection server. The software BOM information includes vehicle VIN, software type, software part number, software version number, software package URL, software package size, software package verification code, and hardware part number.
[0183] Step 802: Flash the domain controller on the line-side rack.
[0184] Here, the flashing process of the domain controller on the line-side bench includes: the logistics transports the corresponding domain controller to the material storage area of the flashing bench according to the production plan; the operator places the domain controller into the flashing bench tooling and closes the bench tooling; the line-side bench tooling supplies power to the domain controller, the electrical inspection server establishes a connection with the domain controller, and reads the domain controller information (hardware part number, etc.); the electrical inspection server matches the hardware part number with the vehicle software BOM information and generates the flashing task information (corresponding to the first flashing task information mentioned above).
[0185] Furthermore, the electronic inspection server calls the OTA module to perform the flashing task. The OTA execution process is as follows: Fig. 9 As shown,
[0186] Step 901: The electrical inspection server sends the flashing task information to the OTA master control node through the task management module;
[0187] Step 902: The OTA master control node controls the OTA sub-control node in the domain controller to download the software package;
[0188] Step 903: If the OTA master control node controls the OTA sub-control node to complete the software package download, the OTA master control node sends an installation instruction to the OTA sub-control node;
[0189] Step 904: The OTA sub-control node completes the installation of the software package.
[0190] It should be noted that after each domain controller to be flashed completes the software package download, it temporarily stores the software package. When receiving the installation instruction sent by the OTA master control node to the OTA sub-control node, the OTA sub-control node uses it to execute software flashing on all or part of the controllers that need to be flashed, thereby completing the software flashing.
[0191] In step 902 of the OTA execution process, the OTA master control node controls the OTA sub-control node in the domain controller to download the software package. Due to the limited resources of the electronic inspection server, it is necessary to avoid the impact of multiple domain controllers downloading at the same time on the electronic inspection server. The download uses P2P technology. The centralized P2P network topology is as follows: Figure 4As shown in the figure, the P2P central server is deployed on the power inspection server, and the peer nodes are the domain controllers. Fig.10 The specific process is as follows:
[0192] D1. The electronic inspection server creates a software package index list and a peer node list.
[0193] Here, while creating the software package index list and peer node list, all software package peer nodes are initialized as the central server, and the central server is the IP, port, and hotspot value (number of connections of peer nodes) of the electronic inspection server, as shown in Table 1 and Table 2.
[0194] D2. The first domain controller connects to the central server based on the node information sent by the central controller, downloads each software package from the central node server according to the initial value of the software package index and the initial value of the peer node list, and transmits the downloaded software package to the first domain controller.
[0195] D3. The first domain controller completes downloading of each software package, and the central server updates the software package index list and peer node list based on the information of the first domain controller.
[0196] Here, the updated software package index list and peer node list are shown in Table 3 and Table 4.
[0197] D4. The nth domain controller repeats the above steps based on the issued flash task information and the updated software package index list and peer node list, queries the corresponding software package peer node information through the software package index, and then selects the target peer node with the smallest hotspot value according to the peer node information list to download the software package, and increases the hotspot value of the target peer node.
[0198] In some embodiments, if the domain controller is flashed, the domain controller can delete the stored software package index list and peer node list, and the inspection server can also delete the relevant information of the domain controller that has been flashed in the software package index list and peer node list, thereby reducing memory usage.
[0199] Step 803: The domain controller is flashed and the battery is connected.
[0200] Here, the domain controller is flashed, the label is printed and transported to the installation station. If there is no abnormality in the vehicle's electrical link and the safety inspection is passed, the battery is connected.
[0201] Step 804: The electrical inspection server controls the vehicle controller to be flashed.
[0202] Here, the process of the electronic inspection server controlling the flashing of the vehicle controller includes:
[0203] 1) Install 5G wireless OBD communication equipment at the flash trigger station and power on the vehicle;
[0204] 2) The workstation RFID reads the vehicle electronic tag and OBD device tag, binds the vehicle VIN and OBD tag and reports to the MES server;
[0205] 3) The MES server sends the VIN information of the vehicle to be flashed to the electrical inspection server, and the electrical inspection server generates the flashing task information carrying the software package according to the software BOM (corresponding to the second flashing task information mentioned above);
[0206] 4) The electrical inspection task scheduler calls the OTA module to execute the flashing task. The OTA master control node sends the 5G wireless OBD gateway information through the task scheduling module, establishes a connection with the gateway, and uses the software package to flash the FBL.
[0207] Here, the OTA flashing process includes: the electronic inspection task scheduler sends task information to the OTA master control node; the OTA master control node sends installation instructions to the OTA sub-control node, and the OTA sub-control node controls the software package and completes the installation.
[0208] From the above, it can be seen that the embodiment of the present application provides a new program flashing solution for the final assembly workshop. This solution uses the technical advantages of large up / downlink, low latency, and high reliability of the 5G network to interconnect the production line equipment, MES factory servers, and production vehicles through 5G devices, and combines OTA technology to realize mobile and fixed flashing on the final assembly line. This solution has a small fixed investment and a flexible flashing method. At the same time, there is no need to re-adapt and debug after changing the vehicle model or re-issuing the vehicle software.
[0209] The present application embodiment provides a structural diagram of a first server, referring to Fig.11 As shown, the first server 11 includes:
[0210] The first obtaining module 1101 is used to obtain the vehicle hardware and software information corresponding to the vehicle at any workstation on the automobile assembly line sent by the second server;
[0211] The first processing module 1102 is used to establish a connection with the domain controller when a domain controller to be installed on a vehicle is placed on a flashing bench tool corresponding to the automobile assembly line and the flashing bench tool supplies power to the domain controller, and generate first flashing task information of the domain controller according to the hardware part number of the domain controller and the vehicle hardware and software information;
[0212] The first sending module 1103 is used to send the first flashing task information to the domain controller through the first over-the-air download OTA module in the first server, so that the domain controller calls the second OTA module to complete the flashing and installation based on the first flashing task information;
[0213] The second processing module 1104 is used to power on the vehicle when the domain controller is installed in the vehicle and if the vehicle meets the power-on conditions, call the first OTA module and flash the entire vehicle program using the pre-established 5G network channel.
[0214] The present application embodiment provides a schematic diagram of the structure of a domain controller. Fig.12 As shown, the domain controller 12 includes:
[0215] The first receiving module 1201 is used to receive the first flashing task information and the first list of the domain controller sent by the first server when the domain controller is connected to the first server; wherein the first list includes the software package index list and the peer node list;
[0216] The determination module 1202 is used to determine the target peer node connected to the domain controller according to the first flashing task information, the software package index list and the peer node list, and establish a connection with the target peer node;
[0217] The third processing module 1203 is used to call the second OTA module of the domain controller to parse the first flashing task information and obtain one or more flashing tasks;
[0218] The fourth processing module 1204 is used to download the corresponding flashing software package from the target peer node according to one or more flashing tasks, and flash and install the program of the domain controller using each flashing software package and the corresponding installation policy.
[0219] The present application embodiment provides a structural schematic diagram of a vehicle, referring to Fig.13 As shown, the vehicle 13 includes:
[0220] The fifth processing module 1301 is used to establish a 5G network channel with the first server when the domain controller on the flashing bench tooling is installed on the vehicle and the vehicle is powered on; wherein the domain controller on the flashing bench tooling has completed flashing and installation through the first flashing task information sent by the first OTA module in the first server;
[0221] The second receiving module 1302 is used to receive the second flashing task information of the vehicle sent by the first server by using the 5G network channel, wherein the second flashing task information includes one or more flashing software packages and installation strategies;
[0222] The sixth processing module 1303 is used to flash the entire vehicle program of the vehicle using each flashing software package and the corresponding installation strategy.
[0223] The present application embodiment provides a schematic diagram of the structure of a program flashing system. Fig.14As shown, the program flashing system 14 includes:
[0224] The second server 1401 and the vehicle 1402 at any workstation on the automobile assembly line, wherein the second server is used to send the vehicle hardware and software information of the vehicle at any workstation on the automobile assembly line to the first server;
[0225] The domain controller 1403 on the flashing bench tooling is powered by the flashing bench tooling;
[0226] The first server 1404 establishes a connection with the domain controller, and is used to generate first flashing task information of the domain controller according to the hardware part number of the domain controller and the software and hardware information of the vehicle; and sends the first flashing task information to the domain controller through the first air download OTA module in the first server;
[0227] The domain controller 1403 is further used to call the second OTA module to complete the flashing and installation based on the first flashing task information;
[0228] The first server 1404 is further configured to, when the domain controller is installed in the vehicle, power on the vehicle if the vehicle meets the power-on condition, and send the flash software package to the vehicle through the first OTA module using the pre-established 5G network channel;
[0229] Vehicle 1402 is used to flash the entire vehicle program of the vehicle using a flashing software package and a corresponding installation strategy.
[0230] The embodiment of the present application provides a computer-readable storage medium, which stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement some or all of the steps in the above method. The storage medium can be transient or non-transient.
[0231] An embodiment of the present application provides a computer program, including a computer-readable code. When the computer-readable code is run in a computer device, a processor in the computer device executes some or all of the steps for implementing the above method.
[0232] The embodiment of the present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and when the computer program is read and executed by a computer, some or all of the steps in the above method are implemented. The computer program product can be implemented specifically by hardware, software or a combination thereof. In some embodiments, the computer program product is specifically embodied as a computer storage medium, and in other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) and the like.
[0233] It should be noted here that the description of the various embodiments above tends to emphasize the differences between the various embodiments, and the same or similar aspects can be referenced to each other. The description of the above device, storage medium, computer program and computer program product embodiments is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the embodiments of the device, storage medium, computer program and computer program product of this application, please refer to the description of the method embodiment of this application for understanding.
[0234] An embodiment of the present application provides a storage medium, which stores one or more computer programs. The one or more computer programs can be executed by one or more processors to implement the steps of the program flashing method of any of the above embodiments.
[0235] It should be noted here that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0236] The processor may be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understandable that the electronic device that implements the functions of the processor may also be other, and the embodiments of the present application are not specifically limited.
[0237] The above-mentioned computer storage medium / memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and the like; it can also be various terminals including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0238] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the serial number of each step / process mentioned above does not mean the order of execution, and the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. The serial numbers of the embodiments of the present application mentioned above are for description only and do not represent the advantages and disadvantages of the embodiments.
[0239] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0240] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0241] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple convolutional network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0242] In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be a separate unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0243] A person skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, etc., various media that can store program codes.
[0244] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a vehicle-mounted terminal (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0245] The above is only an implementation method of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application.
Claims
1. A program flashing method, characterized in that: Applied to a first server, the method comprises: Obtaining vehicle software and hardware information corresponding to a vehicle at any workstation on the automobile assembly line sent by the second server; When the domain controller to be installed on the vehicle is placed on the flashing bench tool corresponding to the automobile assembly line and the flashing bench tool supplies power to the domain controller, a connection is established with the domain controller, and first flashing task information of the domain controller is generated according to the hardware part number of the domain controller and the vehicle hardware and software information; Sending the first flashing task information to the domain controller through the first over-the-air download OTA module in the first server, so that the domain controller calls the second OTA module to complete the flashing and installation based on the first flashing task information; When the domain controller is installed in the vehicle, if the vehicle meets the power-on conditions, the vehicle is powered on, the first OTA module is called, and the entire vehicle program is flashed on the vehicle using the pre-established 5G network channel.
2. The method according to claim 1, characterized in that The sending the first flashing task information to the corresponding domain controller through the first OTA module in the first server includes: Obtaining a first list, wherein the first list includes a software package index list and a peer node list; Through the first OTA module, the first flashing task information and the first list are sent to the corresponding domain controller, so that the domain controller calls the second OTA module to establish a connection with the target peer node in the peer node list based on the first flashing task information, the software package index list and the peer node list to complete the flashing and installation.
3. The method according to claim 2, characterized in that The method further comprises: In the case where the domain controller establishes a connection with the target peer node, receiving connection information sent by the domain controller; wherein the connection information includes a node identifier of the domain controller and a node identifier of the target peer node; Based on the node identifier of the domain controller and the node identifier of the target peer node, the software package index list and the peer node list are updated.
4. The method according to claim 3, characterized in that The updating of the software package index list and the peer node list based on the node identifier of the domain controller and the node identifier of the target peer node comprises: Obtaining the pre-stored IP address and port number corresponding to the node identifier of the domain controller; Determine that the hotspot value of the domain controller is a first value; Adding the node identifier of the domain controller to the peer node identifier set corresponding to each software package identifier, thereby updating the software package index list; The node identifier, IP address, port number and hotspot value of the domain controller are added to the peer node list, and the hotspot value of the target peer node is increased by 1, thereby updating the peer node list.
5. The method according to claim 4, characterized in that The method further comprises: If the first list contains other peer node identifiers except the central server identifier, delete the information of the central server in the first list; or, If the domain controller is flashed, the information of the domain controller in the first list is deleted.
6. The method according to any one of claims 1 to 5, characterized in that: The vehicle meeting the power-on condition includes: the electrical link of the vehicle is normal and the vehicle passes the safety inspection.
7. The method according to any one of claims 1 to 5, characterized in that: The calling of the first OTA module and flashing the vehicle program on the vehicle using the pre-established 5G network channel includes: Generate second flashing task information of the vehicle controller of the vehicle according to the vehicle hardware and software information; wherein the second flashing task information includes a flashing software package; Call the first OTA module, use the 5G network channel to transmit the flashing software package to the vehicle, and use the flashing software package to flash the entire vehicle program.
8. A program flashing method, characterized in that: Applied to a domain controller, the method comprises: When the domain controller is connected to the first server, receiving first flashing task information and a first list of the domain controller sent by the first server; wherein the first list includes a software package index list and a peer node list; Determine a target peer node connected to the domain controller according to the first flashing task information, the software package index list and the peer node list, and establish a connection with the target peer node; Calling the second OTA module of the domain controller to parse the first flashing task information to obtain one or more flashing tasks; According to the one or more flashing tasks, the corresponding flashing software package is downloaded from the target peer node, and the program of the domain controller is flashed and installed using each flashing software package and the corresponding installation strategy.
9. The method according to claim 8, characterized in that The step of determining a target peer node connected to the domain controller according to the first flashing task information, the software package index list, and the peer node list includes: Determine a first peer node identifier set corresponding to the first flashing task information from the software package index list; According to the hotspot value of each peer node in the peer node list, a peer node with the smallest hotspot value is selected from the first peer node identification set as the target peer node.
10. A program flashing method, applied to a vehicle, characterized in that: The method comprises: When the domain controller on the flashing bench tooling is installed on the vehicle and the vehicle is powered on, a 5G network channel is established with the first server; wherein the domain controller on the flashing bench tooling has completed flashing and installation through the first flashing task information sent by the first OTA module in the first server; Using the 5G network channel, receiving second flashing task information of the vehicle sent by the first server, wherein the second flashing task information includes one or more flashing software packages and installation strategies; The entire vehicle program of the vehicle is flashed using each flashing software package and the corresponding installation strategy.
11. A program flashing system, characterized in that: include: A second server and a vehicle at any workstation on the automobile assembly line, wherein the second server is used to send vehicle software and hardware information of the vehicle at any workstation on the automobile assembly line to the first server; A domain controller on a flashing bench tool, wherein the domain controller is powered by the flashing bench tool; The first server establishes a connection with the domain controller, and is used to generate first flashing task information of the domain controller according to the hardware part number of the domain controller and the vehicle hardware and software information; and sends the first flashing task information to the domain controller through a first air download OTA module in the first server; The domain controller is further used to call the second OTA module to complete the flashing and installation based on the first flashing task information; The first server is further configured to, when the domain controller is installed in the vehicle, power on the vehicle if the vehicle meets a power-on condition, and send a flash software package to the vehicle through the first OTA module using a pre-established 5G network channel; The vehicle is used to flash the entire vehicle program of the vehicle using the flashing software package and the corresponding installation strategy.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement the program flashing method as described in any one of claims 1 to 7, or the program flashing method as described in any one of claims 8 to 9, or the program flashing method as described in claim 10.
13. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the program flashing method according to any one of claims 1 to 7, or the program flashing method according to any one of claims 8 to 9, or the program flashing method according to claim 10 is implemented.
Citation Information
Patent Citations
Vehicle program flashing method, server, vehicle, system and storage medium
CN115835161A