File conversion method, device and non-transitory computer readable medium
By using an automated processor to convert CAN DBC files, the time consumption and error risks caused by manually editing CAN DB are eliminated, achieving efficient and flexible data conversion and compatibility, and ensuring data security between the vehicle and external platforms.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HYUNDAI MOTOR CO LTD
- Filing Date
- 2025-12-05
- Publication Date
- 2026-06-09
Smart Images

Figure CN122173446A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority and benefit to Korean Patent Application No. 10-2024-0180515, filed with the Korean Intellectual Property Office on December 12, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates to file conversion methods and apparatus, and more particularly to data related to Controller Area Network (CAN). Background Technology
[0004] The development of private vehicle (PBV) vehicles has brought about significant changes in the automotive industry, with the external platforms of these vehicles designed to perform specific functions for different purposes. At the heart of this technological ecosystem, the Controller Area Network (CAN) bus enables efficient data exchange between the various electronic control units (ECUs) within the vehicle and the external platforms. As PBV vehicles are designed for diverse purposes and the complexity and volume of the required data increase, the gateway role of the CAN bus becomes increasingly important. However, currently, there is no automated database container (DBC) creation system established for the efficient use of gateways.
[0005] Previously, there was no system for automatically converting or generating vehicle CAN DBs, which led to various problems. First, creating the CAN DB required a significant amount of time. Currently, CAN DBs must be manually edited using tools provided by VECTOR, which takes at least 2 hours and up to 8 hours or more. Second, human errors during manual editing of the CAN DB can lead to DB errors, which in turn increases the risk of rework and time loss. Third, there is a lack of data flexibility. Editing and monitoring in the VECTOR tools are limited to a specific format, do not guarantee compatibility with other formats, and have limited flexibility in converting or saving data to the formats required by external platforms. The subjects described in this Background section are intended to facilitate an understanding of the background art of this disclosure and may therefore include subjects unknown to those skilled in the art. The statements in this section are provided only as background information in relation to this disclosure and may not constitute prior art. Summary of the Invention
[0006] This disclosure aims to provide a file conversion method and apparatus that can provide a library for automatically generating gateway DBCs for efficient routing of CAN data between a vehicle and an external platform.
[0007] A file conversion method according to an embodiment, executed by a computing device including a processor, includes the processor receiving a first type of Controller Area Network (CAN) Database Container (DBC) file. The method further includes the processor generating a first data frame from the first type of CAN DBC file, containing a signal name, a message name, and a message identifier as information. The method also includes the processor converting the first data frame into a second data frame by regenerating the message name and message identifier according to predetermined rules. Finally, the method further includes the processor generating a second type of CAN DBC file from the second data frame.
[0008] In some implementations, the process of the processor converting the first data frame into the second data frame may include: the processor sorting the message identifiers in the first data frame in ascending order; and the processor generating different values for the message identifiers in the already sorted state.
[0009] In some implementations, generating a message identifier may include: when a message belonging to the first data frame is of type High Speed CAN (HS CAN), the processor generates and assigns a message identifier for that message.
[0010] In some implementations, generating message identifiers may include: when a message belonging to the first data frame is of type CAN with Flexible Data Rate (CAN FD), the processor generates and assigns multiple sequentially increasing message identifiers for that message.
[0011] In some implementations, the first data frame may further include a start bit. Converting the first data frame into a second data frame by the processor may further include: regenerating the start bit and assigning it a value different from the start bit value in the first data frame.
[0012] In some implementations, converting the first data frame into the second data frame may further include: after generating message names with different values, the processor adds identification characters, which are set differently for each vehicle, to the generated message names.
[0013] In some implementations, when a message is added to a first data frame, converting the first data frame to a second data frame further includes: in the message name of the added message, the identifier character may remain the same, while other values may be changed.
[0014] In some implementations, the message identifier may include letters and hexadecimal numbers.
[0015] In some implementations, the method may further include: the processor transferring a second type of CAN DBC file to an external platform.
[0016] In some implementations, generating a second type of CAN DBC file may include generating multiple second type CAN DBC files by the processor segmenting the second data frame for each receiver recorded in the second data frame.
[0017] The file conversion apparatus according to an embodiment may include: at least one non-transitory computer-readable medium configured to store instructions; and at least one processor. The at least one processor is configured to receive a first type of Controller Area Network (CAN) Database Container (DBC) file by executing these instructions. The at least one processor is also configured to generate a first data frame from the first type of CAN DBC file, containing a signal name, a message name, and a message identifier as information. The at least one processor is further configured to convert the first data frame into a second data frame by regenerating the message name and message identifier according to predetermined rules. The at least one processor is also configured to generate a second type of CAN DBC file from the second data frame.
[0018] In some implementations, at least one processor is further configured to: sort the message identifiers in the first data frame in ascending order; and generate different values for the message identifiers in the already sorted ascending order.
[0019] In some implementations, at least one processor is further configured to generate and assign a message identifier for a message when the type of a message belonging to the first data frame is High Speed CAN (HS CAN).
[0020] In some implementations, at least one processor is further configured to generate and assign a plurality of sequentially incrementing message identifiers for a message when the type of a message belonging to the first data frame is CAN with Flexible Data Rate (CAN FD).
[0021] In some implementations, the first data frame may also include a start bit. At least one processor is further configured to: regenerate the start bit and assign it a value different from the start bit value in the first data frame.
[0022] In some implementations, at least one processor is further configured to add an identifier character, set differently for each vehicle, to the generated message name after generating a message name with a different value.
[0023] In some implementations, when a message is added to a first data frame, converting the first data frame to a second data frame further includes: in the message name of the added message, the identifier character may remain the same, while other values may be changed.
[0024] In some implementations, the message identifier may include letters and hexadecimal numbers.
[0025] In some implementations, at least one processor is further configured to generate a plurality of second-type CAN DBC files by segmenting the second data frame for each receiver recorded in the second data frame.
[0026] This disclosure also provides a non-transitory computer-readable medium configured to store instructions that, when executed by at least one processor of a computing device, cause the computing device to perform operations including: receiving a first type of Controller Area Network (CAN) Database Container (DBC) file; generating a first data frame from the first type of CAN DBC file containing a signal name, a message name, and a message identifier as information; converting the first data frame into a second data frame by regenerating the message name and message identifier according to predetermined rules; and generating a second type of CAN DBC file from the second data frame. Attached Figure Description
[0027] Figure 1 This is a view used to illustrate a file conversion apparatus according to one embodiment.
[0028] Figures 2 to 4 This is a view used to illustrate the operation of a file conversion apparatus according to one embodiment.
[0029] Figure 5 This is a view used to illustrate a file conversion method according to one implementation.
[0030] Figures 6 to 14 This is a view used to illustrate the operation of a file conversion apparatus according to one embodiment.
[0031] Figure 15 This is a view used to illustrate a computing device according to one embodiment.
[0032] The accompanying drawings described herein are for illustrative purposes only and are not intended to limit the scope of this disclosure in any way. Detailed Implementation
[0033] In the following description, the present disclosure will be described more fully with reference to the accompanying drawings, in which embodiments of the present disclosure are illustrated. As will be appreciated by those skilled in the art, the described embodiments can be modified in various ways without departing from the spirit or scope of the present disclosure. Therefore, the drawings and description should be considered illustrative rather than restrictive in nature. Throughout the specification, the same reference numerals denote the same elements.
[0034] Furthermore, unless explicitly stated otherwise, the term "comprising" and its variations such as "including" or "containing" should be understood as including elements, not excluding any other elements. Terms including ordinal numbers such as first, second, etc., are used only to describe various components and should not be construed as limiting those components. These terms are used only to distinguish one component from another.
[0035] The terms “device,” “instrument,” and “module” described in this disclosure refer to a unit for processing at least one function and operation, and can be implemented by hardware components, software components, or combinations of hardware and software components. Furthermore, at least some of the configurations or functions of the file conversion methods and apparatus according to the embodiments described below can be implemented as programs or software, and the programs or software can be stored in a computer-readable recording medium or storage medium. When the controllers, “devices,” “instruments,” modules, components, devices, elements, etc. of this disclosure are described as having a purpose or performing an operation, function, etc., the controllers, “devices,” “instruments,” modules, components, devices, elements, etc., should be considered herein as being “configured” to satisfy that purpose or perform that operation or function. Each controller, “device,” “instrument,” module, component, device, element, etc., can be embodied individually or included as part of a device together with a processor and memory (such as a non-transitory computer-readable medium).
[0036] Figure 1 This is a view used to illustrate a file conversion apparatus according to one embodiment.
[0037] refer to Figure 1 According to one embodiment, the file conversion device 10 can be implemented as a computing device including a processor and memory. For example, a connection device between a vehicle and an external device can be implemented as a computing device 50, as referenced below. Figure 15 As described. In this case, the processor may correspond to the processor 510 of the computing device 50, and the memory may correspond to the memory 520 of the computing device 50. Alternatively, in some embodiments, the file conversion apparatus 10 may include one or more non-transitory computer-readable media containing instructions and one or more processors for executing these instructions to perform operations. Here, operations may include the configuration, functions, steps, etc., of the file conversion method and apparatus according to embodiments described in this disclosure. In this disclosure, the term "module" is used to logically distinguish these operations performed by the file conversion method and apparatus according to embodiments.
[0038] The processing for generating an automatic database container (DBC) performed by the file conversion device 10 can be performed as follows. First, signal information extracted from a conventional DBC can be input in YAML or Excel file format. The signal information extracted from the conventional DBC may include Controller Area Network (CAN) device name, message name, signal name, receiver controller, etc. The file conversion device 10 can read the DBC file as text and extract BO_ (message), SG_ (signal), BA_ (item), VAL_ (signal value), etc., by comparing line by line. For the extracted signal information, the message name, transmitter and receiver, ID, etc., defined in the input are newly assigned or changed. All the changed signal information can be stored in a new DBC file, and signals with the same message name can be reclassified and integrated to reconfigure the start bit to fit the DBC syntax, thereby avoiding data waste and conflicts. All data is framed and can be converted and stored for each receiver to adapt to the needs of external platforms. The details of the file conversion device 10 are described below.
[0039] The file conversion device 10 can receive a first-type CAN DBC file 20 and a configuration file 21 and output a second-type CAN DBC file 22. Here, the first-type CAN DBC file 20 can be, for example, a CAN DBC file that is difficult to leak to the outside, and the second-type CAN DBC file 22 can be, for example, a CAN DBC file that can be leaked to the outside. The configuration file 21 can include information about the CAN device name, the path of the first-type CAN DBC file 20, the message name, the signal name, and the receiver.
[0040] In some implementations, configuration file 21 may include multiple CAN device names.
[0041] In this case, in configuration file 21, information about the path, message name, signal name, and receiver of the first type of CAN DBC file 20 can be stored in a grouped format for each of the multiple CAN device names.
[0042] The file conversion device 10 can extract signal names by parsing the configuration file 21, and can extract the line corresponding to the signal name extracted from the configuration file 21 from the first type of CAN DBC file 20.
[0043] In some implementations, the file conversion device 10 can sequentially read the first type of CAN DBC file 20 in one direction. The file conversion device 10 can determine whether the first line being read includes a signal name. If the first line includes a signal name, the file conversion device 10 can extract the corresponding line. Furthermore, the file conversion device 10 can read the first type of CAN DBC file 20 in one direction. The file conversion device 10 can determine whether a signal name is included in a second line read after the first line. If the second line includes a signal name, the file conversion device 10 can extract the corresponding line.
[0044] In some implementations, the file conversion device 10 can extract the BO, CM, BA, and BAL lines corresponding to the signal names from the first type of CAN DBC file 20 when extracting the lines corresponding to the signal names extracted from the configuration file 21.
[0045] The file conversion device 10 can generate a first data frame by configuring information included in the extracted lines according to a second type format, which is different from the first type. Here, as... Figure 10 As shown, the first data frame can correspond to an existing signal data frame.
[0046] In some embodiments, the file conversion device 10 can load information included in the first line and information included in the second line into a memory. The file conversion device 10 can analyze the information included in the first line and the information included in the second line according to a predetermined message frame and signal format. The file conversion device 10 can extract information about the signal name, start bit, signal size, message type, message name, identifier, message size, period, sender, network name, whether standardization is applied, and receiver. The file conversion device 10 can generate a first data frame containing the extracted information.
[0047] The file conversion device 10 can generate a second data frame by converting the values of some items in the first data frame into different formats. Here, for example... Figure 11 As shown, the second data frame can correspond to the security signal data frame.
[0048] In some embodiments, the file conversion device 10 can read the message size from the first data frame when generating the second data frame and change the message size value to another value according to the protocol to be changed. Furthermore, the file conversion device 10 can consider reallocating the start bit of the signal size. Additionally, the file conversion device 10 can group messages by each cycle and change the message name of the messages grouped for each cycle. Furthermore, the file conversion device 10 can group messages for each identifier, sort them by identifier, and change the identifier of the sorting list.
[0049] The file conversion device 10 can generate a second type of CAN DBC file 22 from the second data frame.
[0050] In some implementations, the file conversion device 10 can generate multiple second-type CAN DBC files by segmenting the second data frame for each receiver.
[0051] Specifically, the file conversion device 10 can: receive a first type of CAN DBC file 20; generate a first data frame containing signal name, message name, and message identifier as information from the first type of CAN DBC file 20; regenerate the message name and message identifier from the first data frame according to a predetermined rule to convert it into a second data frame; and then generate a second type of CAN DBC file from the second data frame.
[0052] In some implementations, the file conversion device 10 can sort the message identifiers in the first data frame in ascending order, and can generate message identifiers with different values when sorted in ascending order. When a message belonging to the first data frame is of type High-Speed CAN (HSCAN), the file conversion device 10 can generate and assign a message identifier for that message. Conversely, if a message belonging to the first data frame is of type CAN with Flexible Data Rate (CANFD), the file conversion device 10 can generate and assign multiple sequentially increasing message identifiers for that message.
[0053] In some implementations, the first data frame also includes a start bit, and the file conversion device 10 can convert the first data frame into a second data frame by regenerating the start bit and assigning the start bit to a value different from the value of the start bit in the first data frame.
[0054] In some implementations, the file conversion device 10 can convert a message name into a second data frame by adding an identifier character, which is set differently for each vehicle, to the generated message name after generating a message name with other values.
[0055] In some implementations, when a message is added, the identifier character in the message name of the added message can remain the same, while other values can be changed.
[0056] In some implementations, the message identifier may include letters and hexadecimal characters.
[0057] In some implementations, the file conversion device 10 can transfer second-type CAN DBC files to an external platform.
[0058] In some implementations, the file conversion device 10 can generate multiple second-type CAN DBC files by splitting the second data frame for each receiver recorded in the second data frame.
[0059] Figures 2 to 4 This is a view used to illustrate the operation of a file conversion apparatus according to one embodiment.
[0060] refer to Figure 2 In the case of message IDs, because of the characteristics of CAN, lower-priority message IDs have higher priority. Therefore, if a priority-based reset is not performed during the conversion of vehicle messages to safety messages, there is a risk of long communication delays between the vehicle and the external platform. To prevent this, the necessary vehicle messages are listed in ID order, and then the safety message IDs are set in that order. Furthermore, a process of changing the start bit for each message is required to enhance security.
[0061] For example, when converting previous vehicle messages (a mixture of CAN FD and HS CAN) into safety messages (HS CAN), message ID encryption can be accomplished through the following process: First, vehicle-side messages are listed in priority order (lower message ID order). Next, security message IDs are changed to 0x10, 0x20, 0x30, etc., using signals in that order. During this process, if a vehicle-side message is a longer FD (Final Message), the last digit of the ID is incremented and set to 0x10, 0x11, 0x12, etc., when converted to a security message HS. On the other hand, if the vehicle-side message is an HS, the length is the same, so the ID remains unchanged. Finally, the security of vehicle messages can be enhanced by randomly rearranging the start bits of each signal within the security message to be different from those in the vehicle-side messages.
[0062] exist Figure 3 and Figure 4 In such cases, the message name includes the original ECU name from the vehicle's database message name. Therefore, there is a risk that OEM vehicle controller-related information may be exposed, necessitating message name encryption. Depending on the communication method of the external platform, the necessary message layout must be configured via message settings of HS CAN (maximum 8 bytes) or CAN FD (maximum 64 bytes). Furthermore, since FD and HS have substantially different message lengths, applying a consistent message naming convention is essential when converting them to security messages.
[0063] For example, the message name encryption process for converting traditional vehicle messages (CAN FD) into safety messages (HS CAN) is as follows. First, the vehicle-side message is converted into a safety message based on the message. For example, in Figure 4In this process, the first message from the top can be changed to A_00, the second message from the top can be changed to A_01, and the third message from the top can be changed to A_02. Then, if another signal within the same vehicle-side message is converted to a safety message due to a change or addition of functionality, the last digit of A_xx can be incremented. When converting messages from other vehicles, names can be generated by sequentially incrementing letters (such as B_xx, C_xx). If a new vehicle-side message is added and, according to priority, should be included between A_xx and B_xx, the name can be adjusted by incrementing the first digit of A_xx.
[0064] As another example, when... Figure 3 As shown, when adding a new message between A_xx and B_xx according to priority, the first digit of A_xx can be increased and adjusted like A_10.
[0065] Figure 5 This is a view used to illustrate a file conversion method according to one implementation.
[0066] refer to Figure 5 The file conversion method according to the embodiment can perform the following steps: receiving a first type of CAN DBC file (S501); generating a first data frame containing signal name, message name and message identifier as information from the first type of CAN DBC file (S502); regenerating the message name and message identifier from the first data frame according to a predetermined rule to convert it into a second data frame (S503); and generating a second type of CAN DBC file from the second data frame (S504).
[0067] For more detailed information about the above methods, please refer to the description of other embodiments included in this disclosure; therefore, redundant descriptions are omitted.
[0068] Below, for reference Figures 6 to 14 Describe the operation of the file conversion device.
[0069] Figures 6 to 14 This is a view used to illustrate the operation of a file conversion apparatus according to one embodiment.
[0070] Let's refer to each other. Figures 6 to 14 , Figure 6 The first type of CAN DBC file is shown. This first CAN DBC file corresponds to a CAN DBC file that is difficult to leak to the outside world.
[0071] The first CAN DBC file can be a database format that defines the structure and information of the vehicle's CAN data, and consists of the following parts: 1. Version and New Symbols: Includes information about the DBC file version and the symbols used, and these values are set to default values and cannot be changed.
[0072] 2. Baud rate definition: Defines the data transmission speed of CAN communication, which is automatically allocated according to the CAN protocol.
[0073] 3. Definition of network nodes: Provide a list of nodes included in the CAN network.
[0074] 4. Definition of message frames and signals: Includes information about message frames and signals, and their structure is as follows: Figure 8 As shown.
[0075] 5. Comments Section: Comments are written in the format CM_SG_(Message ID)(Signal Name)(“Description”), and the comment target is distinguished as a node (“BU_”), message (“BO_”), or signal (“SG_”). The message ID is a decimal number representing the message to which the signal belongs.
[0076] 6. Attribute Definition Section: Define the basic input values and attributes of the signal in the format BA_(item)SG(message ID)(signal name)(input value). The message ID is represented in decimal.
[0077] 7. Value Table Section: Signal values and their descriptions are defined in the format VAL_(Message ID)(Signal Name)(Value)(“Description”). The Message ID represents the ID of the message to which the signal belongs in decimal, and the value following the signal name and the description indicate the contents of the defined value table. This makes it clear what symbols or meanings are used for the valid values of the signals.
[0078] Figure 7 The configuration file is shown. In the configuration file, for each of the multiple CAN device names, the path 30 of the first type of CAN DBC file, the message name 31, the signal name 32, and the information 33 about the receiving device can be stored in a grouped format.
[0079] For example, the configuration file can store the path 30 of the first type of CAN DBC file for the CAN device identified as "EXAMPLE1-DEVICE1" as ". / data / dbc / Example1.dbc". Furthermore, the configuration file can store "Secure1_00_200ms" as the message name 31, "SIG1" as the signal name 32, and "RECEIVER1" as information about the receiving device 33. As shown, this information can be stored in a format grouped for each CAN device name.
[0080] The file conversion device 10 reads a Yaml file, for example, by utilizing the Yaml library. First, it parses the signals sequentially from the topmost position and retrieves the information for "SIG1" from a file called "Example1.dbc". The file conversion device 10 reads sequentially in one direction. Figure 6 The first type of CAN DBC file shown is “Example1.dbc”.
[0081] like Figure 9 As shown, the file conversion device 10 compares line by line the "Secure1_00_200ms" message including "SIG1" in the first type of CAN DBC file "Example1.dbc" with BO_ (message) 34, SG_ (signal) 34, CM_ (content) 35, BA_ (item) 36 and VAL_ (signal value) 37 to extract the necessary information.
[0082] Let's refer to each other. Figure 7 and Figure 9 When the extraction of "SIG1" is complete, the file conversion device 10 compares line by line BO_ (message) 34, SG_ (signal) 34, CM_ (content) 35, BA_ (item) 36, and VAL_ (signal value) (37) to extract "SIG2", "SIG3", "SIG4", ... "SIG8". Information about all signals is stored as strings in memory.
[0083] By utilizing Figure 9 The message frames and signal formats described in DBC, as shown in the diagram, categorize each signal's information into signal name, start bit, signal size, message type, message name, ID, message size, period, sender, network name, whether standardization is applied, receiver, etc., and then... Figure 10 The data is stored in the form of a data frame as shown in the figure. Figure 10 The existing signal data frame is shown.
[0084] The signal information was modified by adapting the gateway design to the CAN data routing between the vehicle and the external platform. Figure 10 The existing signal data frames shown can be converted Figure 11The security signal data frame is shown in the diagram. After checking whether each message is an FD (32 bytes) or HS (8 bytes), bytes are allocated according to the protocol to be changed, and the start bit can be set to 0 starting from the first signal within the same message based on the signal length, and the start bit can be reassigned sequentially according to the signal size. All messages can be grouped for each period (e.g., 10ms, 50ms, 100ms, 200ms, etc.), and new message names can be generated by assigning letters (A, B, C, etc.) to the messages segmented for each period. Then, all messages can be grouped for each ID, these IDs are sorted in ascending order, and these messages are reassigned starting from the smallest ID (e.g., 10, 20, 30, etc.). In this way, the signal position can be changed by reassigning the start bit, and the traceability of existing signals can be reduced by changing the message name and ID for each period, thereby improving message security.
[0085] Based on the data frames processed so far, we can segment the data frames according to the receiver. Figure 12 In this case, it could be a data frame provided to some external company, and Figure 13 In such cases, it could be a data frame provided to some other external company. And as... Figure 14 As shown, DBC files can be generated based on each segmented data frame, and the generated DBC files can be second-type CAN DBC files.
[0086] Figure 15 This is a diagram illustrating a computing device according to one embodiment.
[0087] refer to Figure 15 The file conversion method and apparatus according to the embodiments can be implemented using the computing device 50. The computing device 50 can be implemented as various types of electronic devices, servers or similar devices, and their functions can be implemented through a combination of software and hardware.
[0088] The computing device 50 may include at least one of a processor 510, a memory 530, a user interface input device 540, a user interface output device 550, and a storage device 560 that communicate via a bus 520. The computing device 50 may also include a network interface 570 electrically connected to the network 40. The network interface 570 may send signals to or receive signals from other entities via the network 40.
[0089] Processor 510 can be implemented as various types of computing units, such as microcontroller units (MCUs), application processors (APs), central processing units (CPUs), graphics processing units (GPUs), neural processing units (NPUs), quantum processing units (QPUs), etc. Processor 510 is a semiconductor device that executes instructions stored in memory 530 or storage device 560 and can play a crucial role in the system. The program code and data stored in memory 530 or storage device 560 instruct processor 510 to perform specific tasks, thereby enabling the overall operation of the system. Processor 510 can be configured to implement the above-mentioned references. Figures 1 to 14 The various functions and methods described.
[0090] Memory 530 and storage device 560 may include various forms of volatile or non-volatile storage media for storing and accessing system data. For example, memory 530 may include read-only memory (ROM) 531 and random access memory (RAM) 532. In some embodiments, memory 530 may be integrated into processor 510, in which case data transfer between memory 530 and processor 510 can be very fast. In some other embodiments, memory 530 may be located external to processor 510, in which case memory 530 may be connected to processor 510 via various data buses or interfaces. This connection may be implemented by various known means, such as a Peripheral Component Interconnect High-Speed (PCIe) interface for high-speed data transfer or through a memory controller.
[0091] In some embodiments, at least some of the components or functions of the file conversion method and apparatus according to the embodiments may be implemented as programs or software running on computing device 50, and the programs or software may be stored on a computer-readable recording medium or storage medium. Specifically, the computer-readable recording medium or storage medium according to the embodiments may be a computer having programs recorded thereon, which are used to cause the computer, including processor 510, to perform steps included in the implementation of the file conversion method and apparatus according to the embodiments, wherein processor 510 executes programs or commands stored in memory 530 or storage device 560.
[0092] In some embodiments, at least some of the components or functions of the document conversion method and apparatus according to the embodiments may be implemented using the hardware or circuitry of the computing device 50, or may be implemented as separate hardware or circuitry that can be electrically connected to the computing device 50.
[0093] In some embodiments, the computing device 50 may be provided with one or more non-transitory computer-readable media including executable instructions that, when executed by one or more processors of the computing device 50, cause the computing device 50 to perform operations. Here, operations may include the configuration, functions, steps, etc., of the file conversion method and file conversion apparatus according to embodiments described in this disclosure.
[0094] According to the implementation method, a library can be provided that automatically generates gateway DBCs to efficiently route CAN data between the vehicle and external platforms. Simultaneously, the library, according to the implementation method, can automatically generate DBC files and convert them to various formats upon request or need. For example, it can support the conversion of DBC files to other data formats, such as CSV, making them usable on external platforms. This greatly improves data management and compatibility and provides a flexible data processing environment tailored to user needs.
[0095] Although this disclosure has been described in conjunction with embodiments now regarded as actual implementations, it should be understood that this disclosure is not limited to the disclosed embodiments. Rather, it is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.
Claims
1. A file conversion method performed by a computing device including a processor, the method comprising: The processor receives a first type of controller local area network database container file; The processor generates a first data frame from a controller local area network database container file of the first type, which contains signal name, message name and message identifier as information. The processor converts the first data frame into a second data frame by regenerating the message name and the message identifier according to a predetermined rule; as well as The processor generates a second type of controller LAN database container file from the second data frame.
2. The file conversion method according to claim 1, wherein, Converting the first data frame into the second data frame includes: The processor sorts the message identifiers in the first data frame in ascending order; and The processor generates different values for the message identifier in an ascending sorted state.
3. The file conversion method according to claim 2, wherein, Generating the message identifier includes: When a message belonging to the first data frame is of type High Speed Controller Area Network, the processor generates and assigns a message identifier for the message.
4. The file conversion method according to claim 2, wherein, Generating the message identifier includes: When a message belonging to the first data frame is of type Controller Area Network with Flexible Data Rate, the processor generates and assigns a plurality of sequentially increasing message identifiers for the message.
5. The file conversion method according to claim 1, wherein: The first data frame also includes a start bit. Converting the first data frame into the second data frame also includes: The processor regenerates the start bit and assigns it to a value different from the start bit value in the first data frame.
6. The file conversion method according to claim 1, wherein, Converting the first data frame into the second data frame further includes: After generating the message names with different values, the processor adds identification characters, which are set differently for each vehicle, to the generated message names.
7. The file conversion method according to claim 6, wherein: Converting the first data frame into the second data frame based on a message being added to the first data frame further includes: in the message name of the added message, the identifier character remains unchanged, while other values are changed.
8. The file conversion method according to claim 7, wherein: The message identifier includes letters and hexadecimal numbers.
9. The file conversion method according to claim 1 further includes: The processor transfers the second type of controller LAN database container file to an external platform.
10. The file conversion method according to claim 1, wherein, Generating the second type of controller LAN database container file includes: Multiple second-type controller LAN database container files are generated by segmenting the second data frame for each receiver recorded in the second data frame.
11. A file conversion apparatus, comprising: At least one non-transitory computer-readable medium is configured to store instructions; as well as At least one processor is configured to execute the instructions as follows: Receive the first type of controller LAN database container file. A first data frame containing signal name, message name, and message identifier as information is generated from the controller LAN database container file of the first type. The first data frame is converted into a second data frame by regenerating the message name and the message identifier according to predetermined rules, and Generate a second type of controller LAN database container file from the second data frame.
12. The file conversion apparatus according to claim 11, wherein, The at least one processor is further configured to: The message identifiers in the first data frame are sorted in ascending order, and The message identifier is generated with different values in the already sorted ascending order.
13. The file conversion apparatus according to claim 12, wherein, The at least one processor is further configured to: When a message belonging to the first data frame is of type High Speed Controller Area Network, a message identifier is generated and assigned for the message.
14. The file conversion apparatus according to claim 12, wherein, The at least one processor is further configured to: When a message belonging to the first data frame is of type Controller Area Network with Flexible Data Rate, a plurality of sequentially incrementing message identifiers are generated and assigned for the message.
15. The file conversion apparatus according to claim 11, wherein: The first data frame also includes a start bit, and The at least one processor is further configured to: The start bit is regenerated and assigned to a value different from the start bit value in the first data frame.
16. The file conversion apparatus according to claim 11, wherein, The at least one processor is further configured to: After generating the message names with different values, identification characters set differently for each vehicle are added to the generated message names.
17. The file conversion apparatus according to claim 16, wherein: When a message is added to the first data frame, converting the first data frame to the second data frame further includes: in the message name of the added message, the identifier character remains unchanged, while other values are changed.
18. The file conversion apparatus according to claim 17, wherein: The message identifier includes letters and hexadecimal numbers.
19. The file conversion apparatus according to claim 11, wherein, The at least one processor is further configured to: Multiple second-type controller LAN database container files are generated by segmenting the second data frame for each receiver recorded in the second data frame.
20. A non-transitory computer-readable medium configured to store instructions that, when executed by at least one processor of a computing device, cause the computing device to perform operations, the operations including: Receives a first-type controller LAN database container file; A first data frame containing signal name, message name, and message identifier as information is generated from the controller LAN database container file of the first type; The first data frame is converted into a second data frame by regenerating the message name and the message identifier according to predetermined rules; as well as Generate a second type of controller LAN database container file from the second data frame.