File transmission method and system, automobile and storage medium

By interacting with the controller to complete the packet configuration and transmission, and using CAN/CANFD application messages for file transmission, the problem of disabling CAN application messages during OTA upgrade is solved, real-time file transfer and improved user experience.

CN119155292APending Publication Date: 2024-12-17GUANGZHOU XIAOPENG MOTORS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411411853.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-10
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing OTA upgrade technology will disable CAN application packets when downloading files, resulting in the normal use of vehicle functions and poor user experience.

Method used

By interacting with the controller, the pre-arranged message configuration is completed, the control message is generated and transmitted, and the file transmission is carried out using CAN/CANFD application messages to avoid disabling CAN application messages and real-time transmission is achieved.

Benefits of technology

Without increasing the transmission link, feedback messages are generated by multiplexing the control messages, reducing the message load during file download, increasing the file transfer rate, and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155292A_ABST
    Figure CN119155292A_ABST
Patent Text Reader

Abstract

The invention relates to a file transmission method and system, an automobile and a storage medium. The method comprises the steps that after pre-agreed message configuration is completed through interaction with a controller, a first control message is generated, a first preset position of the first control message is set as a first control identifier, and a second preset position of the first control message carries file data; and transmitting the generated first control message to a controller. According to the scheme, when the file is transmitted in real time, other application messages can be prevented from being forbidden, meanwhile, in the file transmission process, the CAN load is reduced, and the internet surfing experience of a user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of electric vehicles, and in particular to a file transmission method, system, vehicle and storage medium. Background Art

[0002] As vehicle technology continues to develop, vehicle intelligence is also constantly improving. At present, it is common for cars to use OTA (Over The Air) to download remote network files. When a software version needs to be updated, the cloud pushes the upgrade package to the car computer, and the car computer can remotely upgrade the software.

[0003] However, the OTA upgrade rhythm is generally fixed and is usually carried out according to the manufacturer's upgrade plan. If the user temporarily triggers and wants to download new functions to a certain ECU (Electronic Control Unit), it can also be updated through OTA upgrade. However, the OTA process uses CAN (Controller Area Network) diagnostic message upgrades, resulting in the prohibition of CAN application messages, thus affecting the normal function of the vehicle and causing a poor user experience. Summary of the invention

[0004] In order to solve or partially solve the problems existing in the related technology, the present application provides a file transfer method, system, automobile and storage medium, which can transmit network files in real time without disabling CAN application messages, thereby avoiding affecting the normal use of the vehicle and improving the user experience.

[0005] The first aspect of the present application provides a file transmission method, the method comprising:

[0006] After completing the pre-agreed message configuration through interaction with the controller, a first control message is generated, wherein the first preset position of the first control message is set to the first control identifier, and the second preset position of the first control message carries the file data;

[0007] The generated first control message is transmitted to the controller.

[0008] Optionally, the pre-agreed message configuration is completed by interacting with the controller, including:

[0009] In response to a user's request to download a file, a second control message is generated, wherein a first preset position of the second control message is set to a second control identifier, and a third preset position of the second control message is set to a third control identifier;

[0010] Sending a second control message to the controller;

[0011] The receiving controller returns a first feedback message according to the second control message, wherein a first preset position of the first feedback message is set to a first feedback identifier.

[0012] Optionally, after transmitting the generated first control message to the controller, the method further includes:

[0013] Generate a third control message, wherein the first preset position of the third control message is set to the second control identifier, and the third preset position of the third control message is set to the fourth control identifier;

[0014] Sending a third control message to the controller;

[0015] The receiving controller returns a second feedback message according to the third control message, wherein the first preset position of the second feedback message is set to the second feedback identifier.

[0016] Optionally, the first preset position of the first control message includes a Byte 0 field of the first control message, and the second preset position of the first control message includes a Byte field that can be used to transmit data.

[0017] Optionally, when the first control message is a CAN message, the second preset position includes the Byte 2 field to the Byte 7 field; when the first control message is a CAN FD message, the second preset position includes the Byte 2 field to the Byte 63 field.

[0018] A second aspect of the present application provides a file transmission method, comprising:

[0019] After completing the pre-agreed message configuration through interaction with the screen terminal, a first control message transmitted by the screen terminal is received, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data.

[0020] A third aspect of the present application provides a file transmission system, including:

[0021] The screen terminal is used to generate a first control message after completing a pre-agreed message configuration through interaction with the controller, wherein the first preset position of the first control message is set to the first control identifier, and the second preset position of the first control message carries the file data; and transmit the generated first control message to the controller;

[0022] The controller is used to receive a first control message transmitted by the screen terminal after completing a pre-agreed message configuration through interaction with the screen terminal.

[0023] Optionally, the screen terminal includes: a first sub-control unit and a second sub-control unit; the first sub-control unit is used to generate a first control message after completing a pre-agreed message configuration through interaction with the controller, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data; the second sub-control unit is used to transmit the generated control message to the controller.

[0024] A fourth aspect of the present application provides a vehicle, comprising:

[0025] Processor; and

[0026] The memory stores executable codes, and when the executable codes are executed by the processor, the processor executes the above method.

[0027] A fifth aspect of the present application provides a computer-readable storage medium having executable code stored thereon. When the executable code is executed by a processor of a vehicle, the processor executes the above method.

[0028] The technical solution provided by this application may have the following beneficial effects:

[0029] This application generates a first control message after completing a pre-agreed message configuration through interaction with the controller, wherein the first preset position of the first control message is set to the first control identifier, and the second preset position of the first control message carries file data; and transmits the generated first control message to the controller. This application uses a private protocol and control messages such as CAN / CANFD application messages to transmit files, achieving the effect of real-time file transmission, which can meet the user experience of real-time upgrade of car functions.

[0030] Furthermore, before generating the first control message, the present application generates a second control message according to the user's file downloading requirement; after the first message completes data transmission, the second control message is generated. The controller generates a first feedback message according to the second control message, and the controller generates a second feedback message according to the third control message. Both the first feedback message and the second feedback message are structures that respectively reuse the second control message and the third control message. Without increasing the transmission link, the present application generates feedback messages by multiplexing control messages, which can avoid the impact of disabling CAN / CANFD due to the use of diagnostic messages, thereby reducing the message load during file download and increasing the file transfer rate.

[0031] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] The above and other objects, features and advantages of the present application will become more apparent by describing in more detail exemplary embodiments of the present application in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments of the present application.

[0033] Figure 1 It is a schematic diagram of an application scenario of the file transmission method shown in an embodiment of the present application;

[0034] Figure 2 It is a flowchart of a file transmission method shown in an embodiment of the present application;

[0035] Figure 3 It is another flowchart of the file transmission method shown in the embodiment of the present application;

[0036] Figure 4 It is another flowchart of the file transmission method shown in the embodiment of the present application;

[0037] Figure 5 It is another flowchart of the file transmission method shown in the embodiment of the present application;

[0038] Figure 6 This is a schematic diagram of the structure of the file transmission system shown in the embodiment of the present application.

[0039] Figure 7 It is a schematic diagram of the interaction process of the file transmission method shown in the embodiment of the present application;

[0040] Figure 8 It is a schematic diagram of the structure of a car shown in an embodiment of the present application. DETAILED DESCRIPTION

[0041] The embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.

[0042] The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms of "a", "a", "an" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in this article refers to and includes any or all possible combinations of one or more associated listed items.

[0043] It should be understood that although the terms "first", "second", "third", etc. may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.

[0044] As vehicle technology continues to develop, vehicle intelligence is also constantly improving. At present, it is common for cars to use OTA (Over The Air) to download remote network files. When a software version needs to be updated, the cloud pushes the upgrade package to the car computer, and the car computer can remotely upgrade the software.

[0045] However, the OTA upgrade rhythm is generally fixed and is usually carried out according to the manufacturer's upgrade plan. If the user temporarily triggers and wants to download new functions to a certain ECU, it can also be updated through OTA upgrade. However, the OTA process uses CAN diagnostic messages to upgrade, resulting in the prohibition of CAN application messages, thus affecting the normal function of the vehicle and causing a poor user experience.

[0046] In response to the above problems, an embodiment of the present application provides a file transfer method, which can transmit network files in real time and reduce CAN load without disabling CAN application messages.

[0047] The technical solution of the embodiment of the present application is described in detail below with reference to the accompanying drawings.

[0048] Figure 1 It is a schematic diagram of an application scenario of the file transfer method shown in an embodiment of the present application.

[0049] like Figure 1 As shown, in Figure 1 In the embodiment, after receiving the user instruction, the screen terminal 100 generates a control message and transmits the control message to the controller 200 . After receiving the control message, the controller 200 generates a feedback message and sends it to the screen terminal 100 .

[0050] On the CAN line, the received message is usually expressed in hexadecimal form. Frame ID usually refers to the identifier of the CAN message, which consists of 29 bits, including priority, reserved bits, data page, message code, destination address and source address, etc. Data segment in the message: It consists of 1 to 8 bytes and is used to indicate the specific meaning in the communication protocol. Communication error: For example, the message is lost, repeated or damaged.

[0051] When the vehicle computer is remotely upgraded through a remote network file, it is usually upgraded on a scheduled basis, and CAN communication space can be reserved in advance. However, if the user needs to download new functions in real time, such as the vehicle will update many kinds of light language effects and the movement effects of the screen folding mechanism, the user can choose the effect he likes and download it locally, and it will take effect immediately. During the real-time download process, the download-related control messages sent by the vehicle computer are prone to occupy CAN space. Too many messages on the CAN bus may cause communication delays or losses. If the controller cannot correctly parse the message, it may cause incorrect message parsing operations. It should be noted that in addition to CAN message transmission, CANFD (CAN with Flexible Data Rate, variable rate controller area network) can also be used. CANFD supports higher transmission rates.

[0052] It should be noted that the vehicle computer may be a large-screen vehicle computer, which stores a user display interface, and the display interface is used to trigger operation instructions to the user.

[0053] Figure 2 It is a flowchart of the file transmission method shown in an embodiment of the present application.

[0054] like Figure 2 As shown, the method is applied to a screen terminal and includes:

[0055] Step 201, after completing the pre-agreed message configuration through interaction with the controller, a first control message is generated, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data.

[0056] The pre-agreed message configuration process includes clarifying the message configuration requirements, including but not limited to the message type, format, transmission protocol, etc., and designing the message format according to the requirements, including designing the structure of the message header, data part and tail. After completing the pre-agreed message configuration through interaction with the controller, configure the message parameters.

[0057] The first control message of this embodiment is represented by a paging message, and the pre-agreed message configuration is to encapsulate valid information in the control message using a preset structure. Each frame of the first control message includes multiple bytes, and the bytes are sorted in a sequence form. At the beginning of each frame, a first control identifier is set at a first preset position. The first control identifier is used by a subsequent controller to determine whether the message is the transmission file data sent by the screen terminal.

[0058] The present application does not limit the specific form of the first control identifier. The first control identifier is usually composed of 15 digits, usually represented by 15 hexadecimal digits, and can also be represented by a plurality of character strings. The first control identifier is also not limited to only one character string. In this embodiment, the first control message is used to transmit file data. Before generating the first control message, it is also necessary to transmit message data between the screen terminal and the controller to complete the pre-agreed message configuration.

[0059] Figure 3 FIG. 1 is another flowchart of a file transmission method shown in an embodiment of the present application. Figure 3 As shown, the pre-agreed message configuration is completed by interacting with the controller, including:

[0060] Step 301, in response to a user's request to download a file, generate a second control message, wherein a first preset position of the second control message is set to a second control identifier, and a third preset position of the second control message is set to a third control identifier.

[0061] After obtaining the user's request to download the file, the user terminal generates a second control message according to the pre-agreed message configuration, and encapsulates the second control message. As shown in Table 1:

[0062]

[0063] Table 1

[0064] According to Table 1, the pre-agreed message configuration process provided by the present application includes: the first preset position is used to distinguish between program instructions and data instructions, and the third preset position is used to indicate the enabling function of file transfer or the disabling function of data transfer. At the first preset position of the second control message, a second control identifier is set, and the second control identifier is used to indicate that the second control message is a program instruction issued by the terminal device; at the third preset position, a third control identifier is set, and the third control identifier is used to indicate that the program instruction of the second control message is a request to download a file, specifically indicating the enabling function of file transfer.

[0065] In this embodiment, as shown in Table 1, the second control flag is represented by a page value of 0, and the third control flag is represented by a data_trans_en value of 1.

[0066] Step 302: Send the second control message to the controller.

[0067] Among them, the second control message is used to instruct the screen terminal to start transferring files to the controller. After receiving the second control message, the controller generates a first feedback message. After receiving the first feedback message, the screen terminal confirms that it can start transferring data files and transfers the network files to the controller through the first control message.

[0068] Step 303: receiving a first feedback message returned by the controller according to the second control message, wherein a first preset position of the first feedback message is set as a first feedback identifier.

[0069] After reading the second control message, the controller generates a first feedback message according to the second control message. Since the first control identifier at the first preset position is used to indicate the sending end of the message, and the second control identifier at the third preset position is used to indicate the data transmission status. When the controller receives the second control message and generates a feedback message, the original encapsulation structure of the second control message is retained, and only the first feedback identifier is changed, indicating that the controller generates the first feedback message after receiving and confirming the second control message. For the second control identifier, the controller retains the original message structure, indicating the request status of receiving the second control identifier.

[0070] For example, as shown in Table 2, which is an example of a second control message, the first preset position of the second control message is set to the second control identifier Page0, and the third preset position is set to the third control identifier data_trans_en1.

[0071]

[0072] Table 2

[0073] The message structure of the first feedback message and the second control message is the same. The first feedback message is set to the first control identifier Page0 at the first preset position, and the first feedback message is set to the second feedback identifier data_trans_st1 at the second preset position. According to the pre-agreed message configuration, the second feedback identifier and the third control identifier are assigned the same value. Therefore, the message structure of the first feedback message is the same as the message structure of the second control message, and the first feedback identifier of the first feedback message and the first control identifier of the second control message are the same, both of which are Page0. The first feedback identifier of the first feedback message and the second control identifier of the second control message are different, but the second feedback identifier and the second control identifier are assigned the same value.

[0074] In one embodiment, the first preset position of the first control message includes the Byte0 field of the first control message, and the second preset position of the first control message includes the Byte field that can be used to transmit data.

[0075] After receiving the first feedback message of the second control message, the first control message starts to transmit the file data. As shown in Table 3, Table 3 is an example of a CAN message.

[0076]

[0077] Table 3

[0078] As shown in Table 3, the first control identifier of the first preset position Byte0 is page1, wherein apge indicates paging, is fixed to 1, and indicates data transmission, and the second preset position is used for data transmission.

[0079] In one embodiment, when the first control message is a CAN message, the second preset position includes the Byte 2 field to the Byte 7 field; when the first control message is a CAN FD message, the second preset position includes the Byte 2 field to the Byte 63 field.

[0080] Among them, CAN (Controller Area Network) and CANFD (CAN with Flexible Data-rate) are two communication protocols used in automobiles and industrial automation. The transmission efficiency between the two is different. For CAN messages, each frame of data is up to 8 bytes; for CANFD messages, each frame of data can be up to 64 bytes.

[0081] In Table 3, for CAN messages, Byte0 stores the first control flag, which is assigned a value of 1. Byte1-Byte4 store special characters, which are used to indicate the start of packet transmission. Byte5-Byte6 store the data length, which is used to display the file length. Byte7 stores the data for frame numbering. To improve the efficiency of file transmission, only 1 byte is used for frame numbering, and the frame number range is 0-255. When the frame number exceeds 255, the frame number is rolled back to 0. Byte8-Byte63 starts to transmit file data.

[0082] The second frame message of the first control message is shown in Table 4. Byte0: indicates paging, fixed to 1. Byte1: frame number. To improve the efficiency of file transmission, only 1 byte is used for frame numbering 0-255. If it exceeds 255, it will roll back to 0. Byte2-Byte7: start transmitting file data.

[0083]

[0084] Table 4

[0085] In one embodiment, when using a CAN FD link for transmission, in the first frame message transmission, that is, in Table 2, file data transmission starts at Byte 2-Byte 63. The format of subsequent frames is the same as that of the second frame Table 3 until the file is transmitted and the transmission is completed.

[0086] Step 202: Transmit the generated first control message to the controller.

[0087] After receiving the second control message, the controller generates a first feedback message and sends the first feedback message to the screen terminal. After receiving the first feedback message, the screen terminal confirms that the controller can receive the file data and starts to use the first control message to transmit the file data to the controller.

[0088] After the first control message completes the file data transmission, the screen terminal further generates a third control message, which is used to indicate that the screen terminal has completed the data transmission of the file through the first control message.

[0089] Figure 4 FIG. 1 is another flowchart of a file transmission method shown in an embodiment of the present application. Figure 4 As shown, in one embodiment, after transmitting the generated first control message to the controller, the method further includes:

[0090] Step 401: Generate a third control message, wherein the first preset position of the third control message is set to the second control identifier, and the third preset position of the third control message is set to the fourth control identifier.

[0091] Among them, the third control message and the second control message are both used to indicate user request related messages, and the message structures of the third control message and the second control message are the same. The third control message and the second control message are both set with a second control identifier at the first preset position. Since the requests of the second control message and the third control message are different, the second control message is used to indicate that the user initiates a file download request, and the third control message is used to indicate that the screen terminal completes file data transmission. The second control message uses a third control identifier at the third preset position, and the third control message uses a fourth control identifier at the third preset position.

[0092] For example, the third control identifier of the second control message uses the character string "data_trans_en" and is assigned a value of 1; the fourth control identifier of the third control message uses the character string "data_trans_en" and is assigned a value of 0.

[0093] Step 402: Send the third control message to the controller.

[0094] The third control message is used to indicate that the file transfer is complete. After the file transfer is complete, the controller is notified of the completion of the file transfer, allowing the controller to confirm whether the file has been successfully received in its entirety, and allowing the controller to confirm whether the file is lost or damaged.

[0095] Step 403: receiving a second feedback message returned by the controller according to the third control message, wherein the first preset position of the second feedback message is set to a second feedback identifier.

[0096] After receiving the file download, the controller verifies the reliability and integrity of the file and generates a second feedback message. At the same time, the controller releases related resources or allocates new tasks according to the completion status of the file download.

[0097] Wherein, after receiving and confirming the third control message, the controller generates a second feedback message. When generating the second feedback message, the controller retains the message structure of the third control message and only changes part of the identifier of the third control message. Since the second control identifier of the third control message indicates the service request of the message, the fourth control identifier indicates that the service request is completed for data transmission. When the controller receives the third control message and generates the second feedback message, the controller retains the original encapsulation structure of the third control message, and only changes the fourth control identifier on the basis of the original third control message to generate the second feedback message, wherein the third preset position of the third control message corresponds to the first preset position of the second control message.

[0098] For example, the second feedback message retains the message structure and part of the message identifier of the second control message, and the second control identifier Page0 is used for the first preset position of the third control message, and the fourth control identifier data_trans_en0 is used for the third preset position. For example, the second feedback message retains the first control identifier Page0 of the third control message at the first preset position. The second feedback message generates a second feedback identifier data_trans_st0 at the third preset position of the third control message, that is, at the first preset position of the second feedback message, and the second feedback identifier and the third control identifier have the same value.

[0099] Therefore, the message structure of the second feedback message is the same as the message structure of the third control message, the second feedback message includes the second control identifier of the third control message, the second feedback identifier of the second feedback message is different from the third control identifier of the third control message, but the values ​​of the second feedback identifier and the third control identifier are the same.

[0100] In this embodiment, page0 of the second feedback message indicates that the control message is used to indicate a network file download start request or a network file download completion request, and the second feedback identifier uses the character data_trans_st to indicate that data transmission is complete. Further, the feedback message is judged to be one of a network file verification download start request or a network file download completion request based on the second feedback identifier. When the first feedback identifier is data_trans_st1, it indicates that the first feedback message is for verifying the second control message and agreeing that the controller receives the transmission data. When the second feedback identifier is data_trans_st0, it indicates that the second feedback message is for verifying the third control message and indicating that the controller has completed receiving the file data.

[0101] like Figure 5As shown, the present application provides a file transmission method, which is applied on the controller side, including:

[0102] Step 501, after completing the pre-agreed message configuration through interaction with the screen terminal, receiving a first control message transmitted by the screen terminal, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data.

[0103] The pre-agreed message configuration includes setting the message structure and message encapsulation. The control message sent by the screen terminal is divided into a second control message responding to the user's download request, a first control message for transmitting the file, and a third control message indicating that the file download is complete, according to the service request. The first preset position of the first control message sets the first control identifier, and the second preset position carries the transmission file.

[0104] In one embodiment, before receiving the first control message, the controller may further include:

[0105] Step 502, receive a second control message generated by the screen terminal, and generate a first feedback message based on the second control message; wherein the first preset position of the second control message is set to the second control identifier, the third preset position of the second control message is set to the third control identifier, and the first preset position of the first feedback message is set to the first feedback identifier.

[0106] Among them, the screen terminal generates a second control message in response to the user's request to download the file, and the first feedback message is used to confirm the request of the second control message and verify whether the controller can receive the file data. The message structure of the first feedback message and the second control message is the same, the first feedback message is set to the first control identifier Page0 at the first preset position, and the first feedback message is set to the second feedback identifier data_trans_st1 at the second preset position. According to the pre-agreed message configuration, the second feedback identifier and the third control identifier are assigned the same value. Therefore, the message structure of the first feedback message is the same as the message structure of the second control message, and the first feedback identifier of the first feedback message and the first control identifier of the second control message are the same, both of which are Page0. The first feedback identifier of the first feedback message and the second control identifier of the second control message are different, but the second feedback identifier and the second control identifier are assigned the same value.

[0107] In one embodiment, after receiving the first control message, the controller may further include:

[0108] Step 503, receive a third control message generated by the screen terminal, and generate a second feedback message based on the third control message; wherein the first preset position of the third control message is set to the second control identifier, the third preset position of the third control message is set to the fourth control identifier, and the first preset position of the second feedback message is set to the second feedback identifier.

[0109] Wherein, after receiving and confirming the third control message, the controller generates a second feedback message, and the second feedback message is used to indicate the status of the controller receiving the file. When generating the second feedback message, the controller retains the message structure of the third control message and only changes part of the identifier of the third control message. Since the second control identifier of the third control message indicates the service request of the message, the fourth control identifier indicates that the service request is completed for data transmission. When the controller receives the third control message and generates the second feedback message, the controller retains the original encapsulation structure of the third control message, and only changes the fourth control identifier on the basis of the original third control message to generate the second feedback message, wherein the third preset position of the third control message corresponds to the first preset position of the second control message.

[0110] For example, the second feedback message retains the message structure and part of the message identifier of the second control message, and the second control identifier Page0 is used for the first preset position of the third control message, and the fourth control identifier data_trans_en0 is used for the third preset position. For example, the second feedback message retains the first control identifier Page0 of the third control message at the first preset position. The second feedback message generates a second feedback identifier data_trans_st0 at the third preset position of the third control message, that is, at the first preset position of the second feedback message, and the second feedback identifier and the third control identifier have the same value.

[0111] like Figure 6 It is a structural diagram of a file transmission system provided by this application, such as Figure 6 As shown, the file transfer system 600 includes:

[0112] The screen terminal 610 is used to generate a first control message after completing a pre-agreed message configuration through interaction with the controller 620, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data; and transmit the generated first control message to the controller 620.

[0113] The controller 620 is used to receive a first control message generated by the screen terminal 610 according to the message configuration.

[0114] In one embodiment, the screen terminal 610 includes: a first sub-control unit 611 and a second sub-control unit 612 .

[0115] The first sub-control unit 611 is used to generate a first control message after completing a pre-agreed message configuration through interaction with the controller 620, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data;

[0116] The second sub-control unit 612 is used to transmit the generated first control message to the controller 620 .

[0117] In one embodiment, the screen terminal 610 and the controller 620 complete a pre-agreed message configuration through interaction, including: generating a second control message in response to a user's request to download a file, wherein the first preset position of the second control message is set to a second control identifier, and the third preset position of the second control message is set to a third control identifier; sending the second control message to the controller; and receiving a first feedback message returned by the controller based on the second control message, wherein the first preset position of the first feedback message is set to the first feedback identifier.

[0118] In one embodiment, after the screen terminal 610 transmits the generated first control message to the controller, it also includes: generating a third control message, wherein the first preset position of the third control message is set to the second control identifier, and the third preset position of the third control message is set to the fourth control identifier; sending the third control message to the controller; receiving a second feedback message returned by the controller based on the third control message, wherein the first preset position of the second feedback message is set to the second feedback identifier.

[0119] In one embodiment, the first preset position of the first control message includes the Byte 0 field of the first control message, and the second preset position of the first control message includes the Byte field that can be used to transmit data.

[0120] In one embodiment, when the first control message is a CAN message, the second preset position includes the Byte 2 field to the Byte 7 field; when the first control message is a CAN FD message, the second preset position includes the Byte 2 field to the Byte 63 field.

[0121] Figure 7 It is a schematic diagram of the interactive process of the file transmission method shown in the embodiment of the present application.

[0122] After completing the pre-agreed message configuration, the screen terminal 100 receives the user's instruction to download the file through the screen terminal in step S1, and then performs step S2: generating a second control message, the second control message includes a second control identifier of page0 and a third control identifier of data_trans_en1. Among them, the second control message is a control message generated according to a preset definition format. After the second control message is generated, it is sent to the controller 200, and the controller 200 verifies whether the second control message is in response to the user's download start request through step S3, specifically including: verifying the identifier of the second control message, that is, verifying whether the second control identifier is page0 and whether the third control identifier is data_trans_en1. After confirming the second control message, the controller 200 performs step S4: monitoring the control message, starting to prepare to receive the file, and at the same time, according to the format of the second control message, replacing the third control identifier data_trans_en1 with the first feedback identifier data_trans_st1, generating a first feedback message, and sending the first feedback message to the screen terminal 100. After receiving the second feedback message, the screen terminal 100 generates a first control message based on the first control identifier being page1 through step S6, and continues to transmit files to the controller 200 through the first control message. After the screen terminal 100 confirms that the file transfer is completed through step S7, it generates a third control message through step S8, and the third control message is used to indicate a request for the completion of the file transfer, wherein the third control message includes: a second control identifier page0 and a fourth control identifier data_trans_en0. The controller 200 confirms the third control message after step S9: checking whether the second control identifier of the third message is page0 and whether the fourth control identifier is data_trans_en0, and stops receiving the file transmitted by the first control message through step S10. After step S11, the third control message is multiplexed, and the fourth control identifier of the third control message is replaced with the second feedback identifier data_trans_st0, and a second feedback message is generated according to the second feedback identifier data_trans_st0.

[0123] The technical solution provided by this application may have the following beneficial effects:

[0124] After the pre-agreed message configuration is completed through interaction between the screen terminal and the controller, the first control message is generated, wherein the first preset position of the first control message is set to the first control identifier, and the second preset position of the first control message carries the file data; the generated first control message is transmitted to the controller. The application uses a private protocol and a control message such as a CAN / CANFD application message to transmit files, thereby achieving the effect of real-time file transmission, which can meet the user experience of users upgrading car functions in real time.

[0125] Furthermore, before generating the first control message, the present application generates a second control message according to the user's file downloading requirement; after the first message completes data transmission, the second control message is generated. The controller generates a first feedback message according to the second control message, and the controller generates a second feedback message according to the third control message. Both the first feedback message and the second feedback message are structures that respectively reuse the second control message and the third control message. Without increasing the transmission link, the present application generates feedback messages by multiplexing control messages, which can avoid the impact of disabling CAN / CANFD due to the use of diagnostic messages, thereby reducing the message load during file download and increasing the file transfer rate.

[0126] Figure 8 It is a schematic diagram of the structure of a car shown in an embodiment of the present application.

[0127] See also Figure 8 , the car 800 includes a memory 801 and a processor 802 .

[0128] The processor 802 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.

[0129] The memory 801 may include various types of storage units, such as system memory, read-only memory (ROM) and permanent storage devices. Among them, ROM can store static data or instructions required by the processor 802 or other modules of the computer. The permanent storage device can be a readable and writable storage device. The permanent storage device can be a non-volatile storage device that will not lose the stored instructions and data even if the computer is powered off. In some embodiments, the permanent storage device uses a large-capacity storage device (such as a magnetic or optical disk, flash memory) as a permanent storage device. In some other embodiments, the permanent storage device can be a removable storage device (such as a floppy disk, optical drive). The system memory can be a readable and writable storage device or a volatile readable and writable storage device, such as a dynamic random access memory. The system memory can store some or all instructions and data required by the processor at runtime.

[0130] In addition, the memory 801 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (e.g., DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and magnetic disks and / or optical disks may also be used. In some embodiments, the memory 801 may include a removable storage device that can be read and / or written, such as a laser disc (CD), a read-only digital versatile disk (e.g., DVD-ROM, double-layer DVD-ROM), a read-only Blu-ray disk, an ultra-density optical disk, a flash memory card (e.g., SD card, min SD card, Micro-SD card, etc.), a magnetic floppy disk, etc. The computer-readable storage medium does not include carrier waves and instantaneous electronic signals transmitted wirelessly or wired.

[0131] The memory 801 stores executable codes. When the executable codes are processed by the processor 802 , the processor 802 can execute part or all of the above-mentioned methods.

[0132] In addition, the method according to the present application may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing some or all of the steps in the above method of the present application.

[0133] Alternatively, the present application can also be implemented as a computer-readable storage medium (or non-temporary machine-readable storage medium or machine-readable storage medium) on which executable code (or computer program or computer instruction code) is stored. When the executable code (or computer program or computer instruction code) is executed by a processor of a car (or server, etc.), the processor executes part or all of the steps of the above-mentioned method according to the present application.

[0134] The embodiments of the present application have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A file transmission method, characterized in that: include: After completing the pre-agreed message configuration through interaction with the controller, generating a first control message, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data; The generated first control message is transmitted to the controller.

2. The method according to claim 1, characterized in that: The pre-agreed message configuration is completed by interacting with the controller, including: In response to a user's request to download a file, a second control message is generated, wherein a first preset position of the second control message is set to a second control identifier, and a third preset position of the second control message is set to a third control identifier; Sending the second control message to the controller; A first feedback message returned by the controller according to the second control message is received, wherein a first preset position of the first feedback message is set to a first feedback identifier.

3. The method according to claim 2, characterized in that After transmitting the generated first control message to the controller, the method further includes: Generate a third control message, wherein the first preset position of the third control message is set to the second control identifier, and the third preset position of the third control message is set to the fourth control identifier; Sending the third control message to the controller; A second feedback message returned by the controller according to the third control message is received, wherein a first preset position of the second feedback message is set to a second feedback identifier.

4. The method according to claim 1, characterized in that: The first preset position of the first control message includes the Byte0 field of the first control message, and the second preset position of the first control message includes the Byte field that can be used to transmit data.

5. The method according to claim 4, characterized in that When the first control message is a CAN message, the second preset position includes the Byte 2 field to the Byte 7 field; when the first control message is a CANFD message, the second preset position includes the Byte 2 field to the Byte 63 field.

6. A file transmission method, characterized in that: include: After completing the pre-agreed message configuration through interaction with the screen terminal, a first control message transmitted by the screen terminal is received, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data.

7. A file transfer system, characterized in that: include: The screen terminal is used to generate a first control message after completing a pre-agreed message configuration through interaction with the controller, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data; and transmit the generated first control message to the controller; The controller is used to receive a first control message transmitted by the screen terminal after completing a pre-agreed message configuration through interaction with the screen terminal.

8. The system according to claim 7, characterized in that The screen terminal comprises: a first sub-control unit and a second sub-control unit; The first sub-control unit is used to generate a first control message after completing a pre-agreed message configuration through interaction with the controller, wherein the first preset position of the first control message is set to a first control identifier, and the second preset position of the first control message carries file data; The second sub-control unit is used to transmit the generated control message to the controller.

9. A car, characterized in that: include: processor; as well as A memory having executable codes stored thereon, which, when executed by the processor, causes the processor to execute the method according to any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that: An executable code is stored thereon, and when the executable code is executed by a processor of a vehicle, the processor is caused to execute the method according to any one of claims 1 to 6.