Data transmission method, device and system based on unified management of multiple types of IO interfaces

By adopting a data transmission method of unified management of multiple IO interfaces in unmanned intelligent equipment, the file pool and IO device servers realize unified management of IO devices, which solves the problem that developers need to understand the details of various IO devices, and simplifies the The development process and improves software reusability and integration.

CN114153492BActive Publication Date: 2024-12-173RD GENERAL DESIGN DEPT CHINA AEROSPACE SCI & IND CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111500842.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-09
Publication Date
2024-12-17
Estimated Expiration
2041-12-09

AI Technical Summary

Technical Problem

The separate drivers and APIs of multiple IO devices in the unmanned intelligent equipment control motherboard cause developers to understand the details of the data bus, resulting in too long development cycle, which is not conducive to software hierarchy and multi-application software integration.

Method used

Adopt a data transmission method based on unified management of multi-type IO interfaces, through data publishing and subscription steps, the file pool and IO device servers realize unified management of IO devices, supports RS422, 1553B, SRIO, CAN and CANFD interfaces, simplifying development process.

Benefits of technology

It realizes unified management of multiple types of IO interfaces, shortens the development cycle, facilitates software hierarchy, software reuse and multi-application software integration, and reduces the need to understand the details of multiple IO devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114153492B_ABST
    Figure CN114153492B_ABST
Patent Text Reader

Abstract

The present invention relates to a data transmission method, device and system based on unified management of multiple types of IO interfaces; wherein the method comprises: initializing a published subject and a corresponding IO device; using the published subject to write published data to a file in a file pool, parsing the written published data in the file and storing it in a data pool of a corresponding IO device; sending the published data using a corresponding IO device according to the data in the data pool; initializing a subscribed subject and a corresponding IO device; after the IO device receives the subscribed data, it writes the corresponding data pool, parses the data in the data pool and writes it into a file corresponding to the subject in the file pool, periodically finds the corresponding file through the subject, and reads the subscribed data from the file. The present invention realizes data transmission with unified management of multiple types of IO interfaces, is conducive to software layer division, software reuse and multi-application software integration, so that developers do not need to fully understand the details of the use of multiple IO devices during the development process, and shortens the development cycle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of intelligent equipment, and specifically relates to a data transmission method, device and system based on unified management of multiple types of IO interfaces. Background Art

[0002] Intelligent equipment refers to industrial equipment with perception, analysis, reasoning, decision-making and control functions. It is an integration and deep fusion of advanced manufacturing technology, information technology and intelligent technology.

[0003] Unmanned intelligent equipment refers to industrial equipment that has a certain degree of intelligent decision-making and autonomous action capabilities, enabled by the extensive use of autonomous control and artificial intelligence technologies, thereby producing equipment technology that can autonomously and collaboratively complete specific tasks. It mainly includes underwater robots, surface robots, ground robots, unmanned aerial vehicles, etc.

[0004] Unmanned intelligent equipment control motherboards usually integrate a variety of low-speed and high-speed data IO devices. Each IO device has a separate device driver and application algorithm. The traditional message paradigm requires developers to develop directly based on the driver API. Too many designed APIs require developers to fully understand the details of data bus usage, resulting in a long development cycle, which is not conducive to software layer division, software reuse and integration of multiple application software. Summary of the invention

[0005] In view of the above analysis, the present invention aims to disclose a data transmission method, device and system based on unified management of multiple types of IO interfaces, so as to solve the problem that developers currently need to have a full understanding of the details of IO device usage, which leads to a long development cycle and is not conducive to software layer division, software reuse and multi-application software integration.

[0006] The present invention discloses a data transmission method based on unified management of multiple types of IO interfaces, comprising:

[0007] Data publishing steps: Initialize the published topic and the corresponding IO device; use the published topic to write the published data to the file in the file pool, parse the written published data in the file and store it in the data pool of the corresponding IO device; according to the data in the data pool, use the corresponding IO device to send the published data;

[0008] Data subscription steps: initialize the subscribed topic and the corresponding IO device; after the IO device receives the subscription data, it writes it into the corresponding data pool, parses the data in the data pool and writes it into the file corresponding to the topic in the file pool, periodically finds the corresponding file through the topic, and reads the subscription data from the file.

[0009] Furthermore, the data publishing step includes:

[0010] 1) Initialize the published topic and the corresponding IO device. When creating a published topic, create and open a file in the file pool under the corresponding path, and the file corresponds to the IO device;

[0011] 2) When data is published, the published subject is linked to the descriptor of the file in a pointer manner, the file is found in the file pool according to the descriptor, and the published data including IO device information is written to the file;

[0012] 3) Parse the published data in the file, find the corresponding IO device according to the IO device information, and store the parsed data in the data pool of the corresponding IO device;

[0013] 4) According to the data in the data pool, use the corresponding IO device to send and publish data;

[0014] 5) After sending the published data, destroy the IO device resources and the published topic.

[0015] Furthermore, the data subscription step includes:

[0016] 1) Initialize the subscribed topic and the corresponding IO device, so that when the subscribed topic is opened, it is automatically linked to the corresponding file descriptor in the form of a pointer, and the file is found and opened in the file pool through the file descriptor to read data from the file;

[0017] 2) When data is subscribed, after the received subscription data is obtained from the IO device, it is written into the data pool corresponding to the IO device;

[0018] 3) parsing the data in the data pool and writing it into the file in the file pool; the written data includes IO device information;

[0019] 4) Periodically, link the subscribed topic to the descriptor of the file corresponding to the topic, find and open the corresponding file in the file pool according to the descriptor, and read the written subscription data from the file;

[0020] 5) After reading the subscription data, close the IO device resources and the subscribed topic.

[0021] Furthermore, when initializing the topic and the corresponding IO device, the topic and IO device resources are customized;

[0022] The customization of the theme includes the user's customization of the relevant data formats including roll, heading, and pitch; the customization of IO device resources includes the customization of the device name and the corresponding device including the baud rate, data bit number and mode.

[0023] The present invention also discloses a data transmission device based on unified management of multiple types of IO interfaces, including: an application layer, an IO device layer and a core architecture layer;

[0024] The application layer is used to control the publishing or subscription requirements of data, initialize topics and corresponding IO devices; send published data to the core architecture layer or read subscription data from the core architecture layer;

[0025] The IO device layer is used to connect multiple types of IO devices; send published data to the IO devices or receive subscribed data from the IO devices;

[0026] The core architecture layer includes a file pool and an IO device server; the IO device server is provided with a data pool corresponding to the IO device;

[0027] When data is published, the application layer writes the published data to the files in the file pool through the published topic; the IO device server parses the published data written in the files in the file pool and stores the published data in the data pool corresponding to the IO device; the IO device layer obtains the published data from the data pool and outputs it to the corresponding IO device;

[0028] When subscribing to data, the IO device server obtains the subscription data received by the IO device layer and writes it into the data pool corresponding to the IO device; the IO device server parses the data in the data pool and writes it into the file corresponding to the subscribed topic in the file pool; the application layer periodically finds the corresponding file in the file pool through the subscribed topic and reads the subscription data from the file.

[0029] Furthermore, when publishing data, the application layer links to the descriptor of the corresponding file in the file pool by means of a pointer through the published topic, finds the corresponding file in the file pool according to the descriptor, and writes the published data containing IO device information to the file.

[0030] Furthermore, when subscribing to data, the application layer periodically opens the subscribed topic, uses a pointer to link to the descriptor of the corresponding file in the file pool, finds the corresponding file in the file pool according to the descriptor, and reads the subscription data from the file.

[0031] Furthermore, the IO devices connected to the IO device layer include RS422, 1553B, SRIO, CAN and CANFD.

[0032] Furthermore, the IO device layer supports operations including opening, closing, reading data and writing data of RS422, 1553B, SRIO, CAN, CANFD and switch quantities.

[0033] The present invention also discloses a data transmission system based on unified management of multiple types of IO interfaces, which is characterized by comprising a data publishing terminal and a data subscription terminal;

[0034] The data publishing terminal and the data subscription terminal are both data transmission devices as described above;

[0035] The data publishing terminal uses the data publishing steps in the data transmission method described above to send data to the data subscription terminal;

[0036] The data subscription terminal receives data from the data publishing terminal by adopting the data subscription step in the data transmission method as described above.

[0037] The present invention can achieve at least the following beneficial effects:

[0038] The present invention realizes data transmission with unified management of multiple types of IO interfaces, and is conducive to software layer division, software reuse and multi-application software integration, so that developers do not need to fully understand the usage details of multiple IO devices during the development process, thereby shortening the development cycle. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The drawings are only for the purpose of illustrating particular embodiments and are not to be considered limiting of the present invention. Like reference symbols denote like components throughout the drawings.

[0040] Figure 1 It is a flow chart of a data transmission method based on unified management of multiple types of IO interfaces in an embodiment of the present invention;

[0041] Figure 2 A flowchart of data publishing in an embodiment of the present invention;

[0042] Figure 3 A flowchart of data subscription in an embodiment of the present invention;

[0043] Figure 4 is a block diagram of a data transmission device based on unified management of multiple types of IO interfaces in an embodiment of the present invention;

[0044] Figure 5 It is a block diagram of a data transmission system based on unified management of multiple types of IO interfaces in an embodiment of the present invention. DETAILED DESCRIPTION

[0045] The preferred embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings, wherein the accompanying drawings constitute a part of this application and are used to illustrate the principles of the present invention together with the embodiments of the present invention.

[0046] An embodiment of the present invention discloses a data transmission method based on unified management of multiple types of IO interfaces, such as Figure 1As shown, including:

[0047] Data publishing steps: Initialize the published topic and the corresponding IO device; use the published topic to write the published data to the file in the file pool, parse the written published data in the file and store it in the data pool of the corresponding IO device; according to the data in the data pool, use the corresponding IO device to send the published data;

[0048] Data subscription steps: initialize the subscribed topic and the corresponding IO device; after the IO device receives the subscription data, it writes it into the corresponding data pool, parses the data in the data pool and writes it into the file corresponding to the topic in the file pool, periodically finds the corresponding file through the topic, and reads the subscription data from the file.

[0049] The above method can be used to uniformly manage various types of IO interfaces to achieve data transmission. In addition, the method of this embodiment can be implemented using a software framework, which is conducive to software layer division, software reuse and multi-application software integration, so that developers do not need to fully understand the details of the use of various IO devices during the development process, thereby shortening the development cycle.

[0050] Specifically, Figure 2 As shown, the data publishing step includes:

[0051] 1) Initialize the published topic and the corresponding IO device. When creating a published topic, create and open a file in the file pool under the corresponding path, and the file corresponds to the IO device;

[0052] 2) linking to the descriptor of the file by means of a pointer through the published topic, finding the file in the file pool according to the descriptor, and writing the published data including IO device information to the file;

[0053] 3) Parse the published data in the file, find the corresponding IO device according to the IO device information, and store the parsed data in the data pool of the corresponding IO device;

[0054] 4) According to the data in the data pool, use the corresponding IO device to send and publish data;

[0055] 5) After sending the published data, destroy the IO device resources and the published topic.

[0056] Specifically, Figure 3 As shown, the data subscription step includes:

[0057] 1) Initialize the subscribed topic and the corresponding IO device, so that when the subscribed topic is opened, it is automatically linked to the corresponding file descriptor in the form of a pointer, and the file is found and opened in the file pool through the file descriptor to read data from the file;

[0058] 2) After the received subscription data is obtained from the IO device, it is written into the data pool corresponding to the IO device;

[0059] 3) parsing the data in the data pool and writing it into the file in the file pool; the written data includes IO device information;

[0060] 4) Periodically, through the subscribed topic, link to the descriptor of the file corresponding to the topic, find and open the corresponding file in the file pool according to the descriptor, and read the written subscription data from the file;

[0061] 5) After reading the subscription data, close the IO device resources and the subscribed topic.

[0062] Specifically, when initializing the topic and the corresponding IO device, the topic and IO device resources are customized to achieve the correspondence and matching between the topic and the IO device resources. And by customizing the published topic and the subscribed topic, data publishing and subscription are realized.

[0063] Preferably, when implementing unified management of IO devices of unmanned intelligent equipment, customization of the theme includes user customization of relevant data formats including roll, heading, and pitch; customization of IO device resources includes customization of the device name and the baud rate, number of data bits and mode corresponding to the device.

[0064] The corresponding IO devices include existing common IO devices such as RS422, 1553B, SRIO, CAN and CANFD. Since the method can be implemented by software, it has good scalability, and the corresponding IO devices can be expanded and added according to subsequent requirements.

[0065] This embodiment also discloses a data transmission device based on unified management of multiple types of IO interfaces, in which unified management of IO devices of unmanned intelligent equipment is achieved through a software framework.

[0066] like Figure 4 As shown, the data transmission device includes: an application layer, an IO device layer and a core architecture layer;

[0067] The application layer is used to control the publishing or subscription requirements of data, initialize topics and corresponding IO devices; send published data to the core architecture layer or read subscription data from the core architecture layer;

[0068] The core architecture layer includes a file pool and an IO device server; the IO device server is provided with a data pool corresponding to the IO device;

[0069] When data is published, the application layer writes the published data to the files in the file pool through the published topic; the IO device server parses the published data written in the files in the file pool and stores the published data in the data pool corresponding to the IO device; the IO device layer obtains the published data from the data pool and outputs it to the corresponding IO device;

[0070] When subscribing to data, the IO device server obtains the subscription data received by the IO device layer and writes it into the data pool corresponding to the IO device; the IO device server parses the data in the data pool and writes it into the file corresponding to the subscribed topic in the file pool; the application layer periodically finds the corresponding file in the file pool through the subscribed topic and reads the subscription data from the file.

[0071] Specifically, when publishing data, the application layer uses a pointer to link to the descriptor of the corresponding file in the file pool through the published topic, finds the corresponding file in the file pool according to the descriptor, and writes the published data containing IO device information to the file.

[0072] Specifically, when subscribing to data, the IO device server uses RS422, 1553B, SRIO, CAN, CANFD and other related interfaces to receive the subscription data from the IO device layer and write it into the data pool corresponding to the IO device. The IO device server parses the data in the data pool and writes it into the file corresponding to the subscribed topic in the file pool. The application layer periodically opens the subscribed topic, links to the descriptor of the corresponding file in the file pool using a pointer, finds the corresponding file in the file pool according to the descriptor, and reads the subscription data from the file.

[0073] The IO device layer is used to connect multiple types of IO devices; send published data to the IO devices or receive subscribed data from the IO devices;

[0074] Specifically, the IO device layer connects IO devices including RS422, 1553B, SRIO, CAN and CANFD.

[0075] In addition, the IO device layer supports operations including opening, closing, reading data and writing data of RS422, 1553B, SRIO, CAN, CANFD and switch quantities.

[0076] This embodiment also discloses a data transmission system based on unified management of multiple types of IO interfaces, such as Figure 5 As shown, it includes a data publishing terminal and a data subscription terminal;

[0077] The included data publishing terminal and data subscription terminal are both data transmission devices as described above;

[0078] The data publishing terminal adopts the data publishing steps in the data transmission method described above, executes the published subject, and sends data to the data subscription terminal;

[0079] The data subscription terminal adopts the data subscription steps in the data transmission method described above, executes the subscribed subject, and receives data from the data publishing terminal.

[0080] Through the cooperation of data publishing terminals and data subscription terminals, unified management of multiple types of IO interfaces can be achieved, and data transmission of multiple types of IO interfaces can be realized. In addition, when implementing this system, developers do not need to fully understand the details of the use of multiple IO devices during the development process, shortening the development cycle. Both data publishing terminals and data subscription terminals can be implemented using a software framework, which is conducive to software layer division, software reuse, and multi-application software integration.

[0081] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by any technician familiar with the technical field within the technical scope disclosed by the present invention should be covered within the protection scope of the present invention.

Claims

1. A data transmission method based on unified management of multiple types of IO interfaces, characterized in that: include: Data publishing steps: Initialize the published topics and corresponding IO devices; Use the published topic to write the published data to the file in the file pool, parse the written published data in the file and store it in the data pool of the corresponding IO device; according to the data in the data pool, use the corresponding IO device to send the published data; Data subscription step: Initialize the subscribed topic and the corresponding IO device; after receiving the subscription data, the IO device writes it into the corresponding data pool, parses the data in the data pool and writes it into the file corresponding to the topic in the file pool, periodically finds the corresponding file through the topic, and reads the subscription data from the file; When publishing data, the published topic is linked to the descriptor of the file by means of a pointer, the file is found in the file pool according to the descriptor, and the published data including IO device information is written to the file. When subscribing to data, the subscribed topic is periodically linked to the descriptor of the file corresponding to the topic, the corresponding file is found and opened in the file pool according to the descriptor, and the written subscription data is read from the file.

2. The data transmission method according to claim 1, characterized in that: The data publishing step comprises: 1) Initialize the published topic and the corresponding IO device. When creating a published topic, create and open a file in the file pool under the corresponding path, and the file corresponds to the IO device; 2) When data is published, the published subject is linked to the descriptor of the file in a pointer manner, the file is found in the file pool according to the descriptor, and the published data including IO device information is written to the file; 3) Parse the published data in the file, find the corresponding IO device according to the IO device information, and store the parsed data in the data pool of the corresponding IO device; 4) According to the data in the data pool, use the corresponding IO device to send and publish data; 5) After sending the published data, destroy the IO device resources and the published topic.

3. The data transmission method according to claim 1, characterized in that: The data subscription step includes: 1) Initialize the subscribed topic and the corresponding IO device, so that when the subscribed topic is opened, it is automatically linked to the corresponding file descriptor in the form of a pointer, and the file is found and opened in the file pool through the file descriptor to read data from the file; 2) When data is subscribed, after the received subscription data is obtained from the IO device, it is written into the data pool corresponding to the IO device; 3) parsing the data in the data pool and writing it into the file in the file pool; the written data includes IO device information; 4) Periodically, link the subscribed topic to the descriptor of the file corresponding to the topic, find and open the corresponding file in the file pool according to the descriptor, and read the written subscription data from the file; 5) After reading the subscription data, close the IO device resources and the subscribed topic.

4. The data transmission method according to claim 2 or 3, characterized in that: When initializing the topic and the corresponding IO device, customize the topic and IO device resources; The customization of the theme includes the user's customization of the relevant data formats including roll, heading, and pitch; the customization of IO device resources includes the customization of the device name and the corresponding device including the baud rate, data bit number and mode.

5. A data transmission device based on unified management of multiple types of IO interfaces, characterized in that: include: Application layer, IO device layer and core architecture layer; The application layer is used to control the publishing or subscription requirements of data, initialize topics and corresponding IO devices; Send published data to the core architecture layer or read subscribed data from the core architecture layer; The IO device layer is used to connect multiple types of IO devices; send published data to the IO devices or receive subscribed data from the IO devices; The core architecture layer includes a file pool and an IO device server; the IO device server is provided with a data pool corresponding to the IO device; When data is published, the application layer writes the published data to the files in the file pool through the published topic; the IO device server parses the published data written in the files in the file pool and stores the published data in the data pool corresponding to the IO device; The IO device layer obtains the published data from the data pool and outputs it to the corresponding IO device; When subscribing to data, the IO device server obtains the subscription data received by the IO device layer and writes it into the data pool corresponding to the IO device; The IO device server parses the data in the data pool and writes it into the file in the file pool corresponding to the subscribed topic; the application layer periodically finds the corresponding file in the file pool through the subscribed topic and reads the subscription data from the file; When publishing data, the application layer uses a pointer to link to the descriptor of the corresponding file in the file pool through the published topic, finds the corresponding file in the file pool according to the descriptor, and writes the published data containing IO device information to the file. When subscribing to data, the application layer periodically opens the subscribed topic and uses a pointer to link to the descriptor of the corresponding file in the file pool, finds the corresponding file in the file pool according to the descriptor, and reads the subscription data from the file.

6. The data transmission device according to claim 5, characterized in that: When publishing data, the application layer links to the descriptor of the corresponding file in the file pool by means of a pointer through the published topic, finds the corresponding file in the file pool according to the descriptor, and writes the published data containing IO device information to the file.

7. The data transmission device according to claim 5, characterized in that: When subscribing to data, the application layer periodically opens the subscribed topic, uses a pointer to link to the descriptor of the corresponding file in the file pool, finds the corresponding file in the file pool according to the descriptor, and reads the subscription data from the file.

8. The data transmission method according to claim 5, characterized in that: The IO devices connected to the IO device layer include RS422, 1553B, SRIO, CAN and CANFD.

9. The data transmission device according to claim 8, characterized in that: The IO device layer supports operations including opening, closing, reading data and writing data for RS422, 1553B, SRIO, CAN, CANFD and switch quantities.

10. A data transmission system based on unified management of multiple types of IO interfaces, characterized in that: Including data publishing terminal and data subscription terminal; The data publishing terminal and the data subscription terminal are both the data transmission device as claimed in claim 5; The data publishing terminal sends data to the data subscription terminal by adopting the data publishing step in the data transmission method according to any one of claims 1 to 4; The data subscription terminal receives data from the data publishing terminal by adopting the data subscription step in the data transmission method according to any one of claims 1 to 4.