System and method for automatic networking and efficient data communication based on domestic DDS and SRIO

By replacing the underlying transmission medium of DDS middleware with SRIO technology, efficient data transmission of DDS middleware is achieved, solving the problem of inefficiency of traditional Ethernet in large-capacity data transmission, and significantly improving the real-time and throughput of data transmission.

CN119728800AActive Publication Date: 2025-03-28BEIJING INST OF COMP TECH & APPL
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411620627.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-14
Publication Date
2025-03-28
Estimated Expiration
2044-11-14

AI Technical Summary

Technical Problem

Traditional DDS middleware uses Ethernet for data interaction, resulting in limited transmission efficiency and reliability, especially inefficient when large-capacity data transmission.

Method used

Replace the underlying transmission medium of DDS middleware with efficient SRIO technology, and use SRIO's automatic networking and DMA data transmission methods to achieve real-time and efficient large-capacity data transmission.

Benefits of technology

Through SRIO technology, the real-time and throughput of DDS data transmission are significantly improved, and the problem of inefficiency of traditional Ethernet in large-capacity data transmission is solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728800A_ABST
    Figure CN119728800A_ABST
Patent Text Reader

Abstract

The invention relates to an automatic networking and efficient data communication system and method based on domestic DDS and SRIO, and belongs to the field of distributed communication. According to the method, on the basis of a DDS protocol and an SRIO serial data bus, network communication middleware of a domestic DDS publishing / subscribing mode of an OMG specification standard is provided, automatic discovery and networking connection are achieved between devices, and real-time, efficient and large-capacity data transmission is achieved. According to the method, the characteristic of real-time efficient data transmission of the SRIO is utilized, an SRIO high-speed data bus is replaced by a traditional communication mode, and the real-time performance and the data throughput of data transmission of the DDS in a traditional network are greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of distributed communication, and in particular relates to a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. Background Art

[0002] DDS (Data Distribution Service) is a data-centric publish-subscribe (DCPS) middleware model for distributed application communication and integration. It provides a rich set of QoS quality of service strategies to ensure real-time, efficient, and flexible data distribution, and can meet the needs of various distributed real-time communication applications. DDS defines a publish-subscribe model for distributing high-speed data over the network, and can handle multiple aspects of data transmission, such as reliability, transmission priority, and security. It is a standard developed by the Object Management Group (OMG).

[0003] RTPS is a protocol used by DDS, which constitutes the network layer of DDS. The RTPS protocol ensures that DDS can communicate in real time. RTPS is responsible for defining how to exchange data effectively and reliably between different participants.

[0004] SRIO technology is mainly aimed at the interconnection communication of high-performance embedded systems. It uses high-performance LVDS technology to achieve an effective transmission rate of 10Gbps on 4 pairs of differential lines, and has higher transmission efficiency than 10 Gigabit Ethernet. SRIO (Serial RapidIO) protocol is a protocol for high-speed serial communication. SRIO protocol has the characteristics of low latency, high bandwidth, high reliability, etc., and is commonly used in data centers, communication equipment, wireless base stations, radars, avionics and other fields.

[0005] DDS and SRIO are consistent in their requirements for real-time, high reliability, and low latency in interactive data, and are both committed to improving the real-time, reliability, and low latency of data. In the process of conventional DDS use, data interaction is generally based on 100M / 1000M Ethernet, and the DDS middleware is located in the application layer of the OSI network model, which is limited by the performance requirements of the network transmission medium of the physical layer. In terms of data transmission, SRIO's transmission efficiency is better than 10 Gigabit Ethernet, especially in the transmission of large-capacity data, which is much higher than ordinary 100M / 1000M Ethernet.

[0006] The present invention aims to make DDS have higher transmission efficiency and reliability in data transmission, solve the problem of limited transmission efficiency of Ethernet used by conventional DDS, and replace the underlying transmission medium of DDS without changing the use mode of DDS middleware developers, so that DDS developers can use the efficient transmission function of SRIO without changing any program code. Summary of the invention

[0007] 1. Technical issues to be resolved

[0008] The technical problem to be solved by the present invention is how to provide a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO, so as to solve the problem that in traditional Ethernet equipment, the QoS configuration of DDS itself cannot break through the transmission real-time and throughput limitations of hardware equipment, especially the efficiency problem of large-capacity data transmission.

[0009] (II) Technical solution

[0010] In order to solve the above technical problems, the present invention proposes

[0011] (III) Beneficial effects

[0012] The present invention proposes a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. The present invention proposes a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. Traditional DDS middleware uses 100M / 1000M Ethernet for data interaction, while DDS middleware is located at the application layer of the OSI network model, which is limited by the performance requirements of the network transmission medium of the physical layer. SRIO technology is mainly oriented to the interconnection communication of high-performance embedded systems. It uses high-performance LVDS technology to achieve an effective transmission rate of 10Gbps on 4 pairs of differential lines, and has a higher transmission efficiency than 10 Gigabit Ethernet. In order to improve the real-time performance and transmission efficiency of DDS, especially for large-capacity data, the DDS underlying transmission is changed to a more efficient SRIO mode to solve the problem that developers only need to consider the business module in the process of using the domestic DDS middleware, and do not need to consider which data transmission mode the physical device adopts, but can communicate data more efficiently. Therefore, the present invention combines the DDS middleware with the SRIO high-speed data bus, greatly improving the real-time performance and throughput of data transmission, especially for the transmission of large-capacity data, solving the shortcomings of traditional Ethernet in the process of large-capacity data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 This is a system and method architecture diagram of the present invention based on domestic DDS and SRIO automatic networking and efficient data communication;

[0014] Figure 2This is the flow chart of TSN data security transmission on the DDS publisher side;

[0015] Figure 3 This is the flow chart of secure TSN data transmission on the DDS subscriber side. DETAILED DESCRIPTION

[0016] In order to make the purpose, content and advantages of the present invention more clear, the specific implementation methods of the present invention are further described in detail below in conjunction with the drawings and examples.

[0017] The technical problem to be solved by the present invention is how to provide a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. Traditional DDS middleware uses 100M / 1000M Ethernet for data interaction, and DDS middleware is located at the application layer of the OSI network model, which is limited by the performance requirements of the network transmission medium of the physical layer. In order to improve the real-time performance and transmission efficiency of DDS, especially for large-capacity data, the DDS underlying transmission is changed to a more efficient SRIO mode to solve the problem that developers only need to consider the business module when using the domestic DDS middleware, and do not need to consider which data transmission mode is used at the bottom layer, but can communicate data more efficiently.

[0018] The present invention is based on the DDS protocol and the SRIO serial data bus, and provides a network communication middleware of the publish / subscribe mode of the domestically produced DDS in accordance with the OMG specification standard, and realizes automatic discovery and networking connection between devices, and realizes a method for real-time, efficient, and large-capacity data transmission. First, in order to adapt to the distributed characteristics of DDS, on the basis of the SRIO communication data bus hardware platform, a DMA data reading and writing communication master-slave relationship method compatible with SRIO is designed by using doorbell and DMA technology. The DDS publishing end program and the subscription end program do not need to consider the master-slave relationship of the SRIO transmission bus, so that the publishing end program and the subscription end program, whichever runs first, can achieve the functions of automatic discovery networking, data publishing, and data subscription of DDS. Secondly, in order to ensure the real-time and efficient SRIO data publishing and subscription functions of DDS publish / subscribe data, the real-time nature of the SRIO doorbell and the efficiency of DMA data transmission are utilized, and a method based on the doorbell and DMA data window for fast positioning and data reading and writing is designed. The DMA data window is divided into an address index area and a data area. The address index area is responsible for storing the data offset first address of the data area, and the data block storage manages the RTPS encoded data published / subscribed by DDS. Then, through real-time and efficient doorbell technology, the DMA index number is notified to the peer end. The peer end finds the storage address of the RTPS encoded data through the doorbell index, and reads the RTPS data through decoding, realizing the real-time and efficient transmission function of DDS data.

[0019] In order to solve the above technical problems, the present invention proposes a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. The method refers to the OSI network model. On the basis of the domestic DDS protocol, in order to improve the transmission efficiency, the underlying transmission mode of data communication of the publisher and the subscriber is changed to the SRIO data bus for data transmission; since DDS is a distributed peer-to-peer network interconnection mode, and the DMA data transmission mode of SRIO is a master-slave mode, a method for solving the DMA master-slave mode is also designed to ensure the normal communication between the DDS publisher and the subscriber.

[0020] The publishing and subscribing devices are connected via SRIO high-speed data bus devices.

[0021] The publisher and subscriber include: DDS-RTPS data communication module, SRIO communication module, SRIO underlying interface module and SRIO physical device. The publisher also includes a publisher, and the subscriber also includes a subscriber. The publisher / subscriber consists of 5 modules in total. Except for the publisher and the subscriber, the other modules are the same, and developers do not need to worry about the underlying differences.

[0022] The publisher and subscriber are mainly programs written by DDS middleware developers. If the SRIO transmission method is to be used, the developer needs to configure QoS in the publisher and enable the SRIO transmission function when using DDS communication.

[0023] The QoS configured by the publisher / subscriber is passed to the DDS-RTPS data communication module. When the DDS-RTPS data communication module is initialized, it registers and initializes the SRIO communication module configured with the QoS.

[0024] After the SRIO communication module is started, it starts to call the startup interface of the SRIO underlying interface module to start the SRIO communication device.

[0025] The SRIO communication module calls the SRIO underlying interface module to initialize the doorbell module and starts the SRIO communication module according to the QoS parameters configured by the publishing program.

[0026] Furthermore, in order to automatically discover the started subscriber program in time, the SRIO communication module starts the automatic networking submodule, and regularly sends networking messages to the subscriber device. The automatic networking module also receives the networking doorbell message in real time. Regardless of whether the publisher or the subscriber runs first, this mechanism is used to solve the master-slave relationship of SRIO in using DMA data communication, and realize the peer discovery networking method consistent with DDS.

[0027] Furthermore, when the publishing program / subscribing program finds that the networking is complete, the work of the automatic networking module ends and the real-time data communication module is started.

[0028] Furthermore, after the real-time data communication module is started, the DMA data transmission function of SRIO is enabled, and the data read and write cache window of SRIO is created. At the same time, the data cache management module is enabled to perform DMA data read and write management according to the size of the data read and write cache window of SRIO, and realize the initialization of the index area and data cache area.

[0029] Furthermore, when the publisher / subscriber wants to send data, the RTPS data is transferred to the SRIO communication module through the DDS-RTPS data communication module.

[0030] Furthermore, the SRIO communication module obtains the RTPS data to be sent, and finds out the idle index number and the address of the DMA cache data area through the data cache management module.

[0031] Furthermore, the SRIO communication module re-encapsulates the RTPS data according to the free index and the free DMA cache data area address obtained by the data cache management module, and writes it to the subscriber / publisher through DMA.

[0032] Furthermore, after the SRIO communication module writes the encoded RTPS to the subscriber / publisher, it uses the doorbell to send a data doorbell notification message to the subscriber / publisher in real time to tell the subscriber / publisher the index number.

[0033] Furthermore, after the real-time data communication module of the subscriber / publisher SRIO communication module receives the data doorbell notification message from the publisher / subscriber, it locates the DMA data address through the data cache management module according to the index number carried by the doorbell, and decodes it into RTPS data according to the size of the encoded RTPS data.

[0034] Furthermore, the subscriber / publisher real-time data communication module transfers the read RTPS data to the DDS-RTPS data communication module, and then changes the state of the DMA data area and index content to an idle state.

[0035] Furthermore, after the DDS-RTPS data communication module of the subscriber / publisher obtains the RTPS data, it processes the data into the data format required by the subscriber / publisher through the DDS middleware and notifies the subscriber / publisher.

[0036] Furthermore, the publisher and the subscriber complete the data publishing / subscribing function of automatic networking and real-time data communication of DMA.

[0037] Embodiment 1:

[0038] The purpose of the present invention is to propose a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. The present invention is based on the standard DDS framework and does not change the premise that developers use the DDS method. It replaces the DDS data transmission module, greatly improving the data transmission efficiency, especially solving the problem of reduced DDS transmission efficiency when transmitting large capacity.

[0039] like Figure 1 It is a system model architecture diagram of the present invention. The model belongs to network data communication, so the publishing end device and the subscription end device are connected by the SRIO high-speed communication bus. The publishing end device consists of a publishing program, a DDS-RTPS data communication module, an SRIO communication module, an SRIO underlying interface module, and an SRIO physical device, a total of 5 modules. The subscription end device consists of a subscription program, a DDS-RTPS data communication module, an SRIO communication module, an SRIO underlying interface module, and an SRIO physical device, a total of 5 modules. Except for the publishing program and the subscription program, the publishing end and the subscription end are different, and the other modules are the same, which greatly guarantees the versatility.

[0040] The publishing program is written by the developer. The developer uses the DDS data publishing function by calling the OMG standard DDS middleware interface. To use the SRIO high-speed data bus to transmit data, the developer only needs to use the QoS policy of the DDS middleware and configure the SRIO transmission mode. After the configuration is completed, the data can be published by calling the DDS publishing interface, and the matching subscription program will receive the published real-time data.

[0041] The subscription program is similar to the publishing program. The developer writes the code to complete it. The developer uses the DDS data subscription function by calling the OMG standard DDS middleware interface. To use the SRIO high-speed data bus to transmit data, the developer only needs to use the QoS policy of the DDS middleware and configure the SRIO transmission mode. The difference from the publishing program is that the subscription program receives the data of the publishing program.

[0042] The DDS-RTPS data communication module is mainly used to encapsulate the standard DDS middleware protocol. DDS (Data Distribution Service) is a data distribution service, which is defined by OMG (Object Management Group) and is a middleware protocol and API standard based on the DCPS (Data-Centric Publish-Subscribe) model. The publish / subscribe data is finally converted into RTPS data format for communication.

[0043] SRIO communication module, which is the core module of the present invention, realizes the combination of DDS and SRIO high-speed data bus through automatic networking module, real-time data communication module and data cache management module, and completes the functions of automatic networking and high-speed data communication.

[0044] The automatic networking module of the SRIO communication module mainly adapts the SRIO master-slave data communication mode to the distributed communication mode of DDS. In order to adapt to the distributed dynamic discovery and automatic networking of DDS, the automatic networking module uses the doorbell technology of SRIO. The doorbell parameters are configured through the QoS policy of the publisher / subscriber. The automatic networking module starts the doorbell according to the QoS policy, sends networking messages to the devices of the subscriber / publisher at regular intervals, and receives the networking doorbell messages in real time at the same time; regardless of whether the publisher or the subscriber runs first, this mechanism is used to solve the master-slave relationship of SRIO in using DMA data communication, and realize the peer-to-peer automatic networking method consistent with DDS. When the subscriber / publisher automatic networking module receives the doorbell networking message, the automatic networking module function is completed, and then the SRIO communication module is notified to run the real-time data communication module and the data cache management module to transmit DMA data.

[0045] The real-time data communication module of the SRIO communication module starts running when the automatic networking is completed. It mainly realizes the creation of the DMA data cache window, the transmission data sending and reading functions, and sends a data doorbell message to notify the real-time data communication module of the peer program to receive and subscribe to data in a timely manner.

[0046] The data cache management module of the SRIO communication module uses the cache window created by the real-time data communication module to divide the cache window into an index area and a data area. The main function of the index area is to record the address offset of the sent data in the data area. The main function of the data area is to encode the RTPS data of the DDS--RTPS data communication module. After the encoding is completed, the sending function of the real-time data communication module will be called to write the contents of the index area and the data area to the free data block area of ​​the other end to complete the data sending function, and send a data doorbell message to notify the real-time data communication module of the other end to receive and process the data in a timely manner.

[0047] The SRIO bottom layer interface module is mainly an encapsulation of the SRIO high-speed data bus interface, and is responsible for providing developers with a functional interface of SRIO characteristics, including a doorbell module and a DMA module. The present invention uses the doorbell function and the DMA data transmission function through these two modules to complete the automatic networking function and the high-speed data communication function.

[0048] The doorbell module of the SRIO bottom interface module is a fast notification type of short message, with a short header and carried information. It is used for message notification between master and slave devices and has extremely high timeliness.

[0049] DMA module of SRIO bottom interface module, DMA is a data exchange mode that directly accesses data from memory without going through the CPU. In DMA mode, the CPU only needs to issue instructions to the DMA controller, allowing the DMA controller to handle data transmission, and then feedback the information to the CPU after the data transmission is completed, which greatly reduces the CPU resource occupancy.

[0050] SRIO physical device is the hardware entity module of SRIO communication. The publisher and subscriber devices are connected through the SRIO physical device to complete data transmission.

[0051] Figure 2 This is the SRIO data publishing flow chart of the DDS publishing end, such as Figure 2 As shown in FIG. 1 , in the process of DDS data publishing, the process of DDS using the SRIO high-speed data bus for automatic networking and data communication is described in detail. The specific process is as follows.

[0052] S11. In the publishing program, call the DDS middleware initialization module interface DDS_DomainParticipantFactory_create_participant() to start and initialize the domestic DDS module, and read the SRIO transmission QoS configuration;

[0053] S12, read the configuration of SRIO high-speed data bus from QoS configuration, use CreateSrioTransportPlugin() interface to start SRIO communication module; obtain the device ID of SRIO of the subscriber end and the data cache window address of DMA through the configuration content of QoS; then call SrioDeviceCreate() interface to initialize SRIO device, run automatic networking module, monitor the doorbell message of automatic networking module of subscription program in real time through DmaDbGetEvent() and DmaDbSendEvent() interfaces, and complete automatic networking when the doorbell message of subscription program is received;

[0054] S13. After the DDS middleware is initialized, the DDS publishing program uses the standard interface DDS_DomainParticipant_create_datawriter() to create and enable the data publishing function of the DDS middleware to publish data.

[0055] S14, after the network is successfully established, the DmaBufferAlloc() interface is called to start the real-time data communication module and the data buffer management module, to create the DMA data buffer window, the index area and the data area; then the publishing program can perform the data publishing function;

[0056] S15, when publishing data, determine whether the networking is completed. If it is completed, the publishing program calls the DDS middleware standard interface DataWriter_write() to send the data, and the DDS-RTPS data communication module converts the published data into RTPS format data;

[0057] S16, judging whether the SRIO communication module runs successfully, if it runs successfully, calling the data cache management module, obtaining the free index area index number and data area address, and encoding the RTPS data into data recognized by the data cache management module;

[0058] S17, next call the real-time data communication module, use the DMA sending interface DmaSendData() to write the encoded RTPS data into the DMA data buffer address of the subscription program; then write the offset address of the DMA data buffer address into the index area corresponding to the idle number;

[0059] S18. After the DMA data is written, the real-time data communication module sends a data doorbell message carrying the written index number to the subscriber program to notify the subscriber program to receive the sent data.

[0060] Figure 3 This is the DDS subscriber SRIO data publishing flow chart, such as Figure 3 As shown in FIG. 1 , in the DDS data subscription process, the process of DDS using the SRIO high-speed data bus for automatic networking and data communication is described in detail. The specific process is as follows.

[0061] S21. In the subscription program, call the DDS middleware initialization module interface DDS_DomainParticipantFactory_create_participant() to start and initialize the domestic DDS module and read the SRIO transmission QoS configuration;

[0062] S22. After the DDS middleware is initialized, call the DDS_DomainParticipant_create_datareader() interface to start the DDS subscription module and start receiving the RTPS data from the publisher.

[0063] S23, read the configuration of SRIO high-speed data bus from QoS configuration, use CreateSrioTransportPlugin() interface to start SRIO communication module; obtain the device ID of SRIO of subscriber end and data cache window address of DMA through QoS configuration content; then call SrioDeviceCreate() interface to initialize SRIO device, run automatic networking module, monitor the doorbell message of automatic networking module of subscription program in real time through DmaDbGetEvent() and DmaDbSendEvent() interfaces, and complete automatic networking when receiving the doorbell message of subscription program;

[0064] S24, after the automatic networking is completed, the DmaBufferAlloc() interface is called to start the real-time data communication module and the data buffer management module, and to create a DMA data buffer window, an index area, and a data area;

[0065] S25, running the real-time data communication module, dynamically receiving the data doorbell message in real time, and obtaining the index number of the index area of ​​the data cache management module;

[0066] S26, when the real-time data communication module receives the data doorbell message, it uses the data cache management module to read the index content of the DMA data written by the publishing program according to the index number carried by the doorbell, and reads the content of the data area written by the publishing program according to the read address offset;

[0067] S27, the data cache management module decodes the read cache data into the RTPS data format recognized by DDS;

[0068] S28. The DDS subscription module parses the RTPS data into the data content of the publishing program and sends it to the subscription program to complete the data subscription function.

[0069] The present invention is based on domestic DDS middleware and SRIO high-speed data bus, and solves the problem that the QoS configuration of DDS itself cannot break through the transmission real-time and throughput limitations of hardware devices in traditional Ethernet devices, especially the efficiency problem of large-capacity data transmission. Through the present invention, the SRIO high-speed data bus is replaced with a traditional communication method by utilizing the characteristics of SRIO real-time and efficient data transmission, which greatly improves the real-time data transmission and data throughput of DDS in traditional networks. Through the designed automatic networking method, the problem of DDS using a distributed topology architecture and SRIO using a master-slave architecture is solved, allowing developers to avoid using non-OMG standard methods for design and development, resulting in reduced standardization and compatibility. In the SRIO data communication module, a fast index positioning data transmission method is designed, and the RTPS data sent by DDS is quickly written to the peer device using the DMA method, and the peer is notified through an efficient and real-time doorbell message to directly acquire data.

[0070] Embodiment 2:

[0071] A system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. The method utilizes the distributed peer-to-peer communication characteristics of DDS and the real-time and efficient communication characteristics of SRIO. The application uses the domestic DDS protocol middleware module that complies with the OMG specification to realize the functions of automatic discovery of interconnection and communication. In the process of data transmission interaction, the doorbell and DMA technical characteristics of SRIO are used, and a method for fast data positioning, reading and writing is designed, so that the communication efficiency and real-time performance are greatly improved.

[0072] The publishing end device / subscribing end device comprises five modules, namely, a publishing program / subscribing program, a DDS-RTPS data communication module, an SRIO communication module, an SRIO bottom layer interface module, and an SRIO physical device.

[0073] The DDS uses the SRIO automatic networking method. After the publishing program of the publishing end device or the subscription program of the subscription end device is started, the SRIO communication module is called through the DDS-RTPS data communication module. Since the SRIO has not yet started, the SRIO communication module will call the SRIO underlying interface module to start the SRIO module, and then use the SRIO doorbell function to realize the automatic discovery and establishment of SRIO communication functions of the publishing program and the subscription program, thereby completing the DDS-RTPS automatic networking method.

[0074] When the DDS publishes data, the publishing program of the publishing end device converts the data of the publishing program and the DDS communication data into RTPS data of the OMG standard through the DDS-RTPS data communication module, and then calls the doorbell module and DMA module of the SRIO underlying interface module through the automatic networking module, the real-time data communication module, and the data cache management module of the SRIO communication module to start the SRIO bus function, and sends and receives the SRIO doorbell message and DMA data in real time and efficiently. The published data uses the DMA module of the SRIO underlying interface through the real-time data communication module to write the published data to the specified address of the subscriber data cache module, and writes the published data address offset to the idle index area of ​​the subscriber data cache module, and notifies the subscriber of the written index number through the SRIO physical device to receive and subscribe to the data in real time and efficiently.

[0075] When the DDS subscribes to data, after the SRIO physical device of the subscription-end device receives the data doorbell message of the publisher, it notifies the SRIO communication module through the SRIO underlying interface module. The SRIO communication module reads the relative address offset of the index number through the data cache management module according to the index number passed by the doorbell, locates the data address of the published data, and then reads the published data. Through the DDS-RTPS data communication module, the data is parsed and passed to the subscription program to complete the reception and subscription of the published data.

[0076] Furthermore, based on the domestically produced DDS distributed middleware framework, the SRIO high-speed bus characteristics are utilized to realize the functions of the automatic networking module and the real-time data communication module in the SRIO communication module.

[0077] Furthermore, the default UDP, TCP, and shared memory communication modes of DDS are not used. When the DDS middleware is started, the SRIO high-speed data bus is started to transmit data of the DDS middleware.

[0078] Furthermore, the DDS middleware communication module uses SRIO's doorbell technology to solve the compatibility between the DDS middleware distributed mode and the master-slave mode of SRIO data communication. The publishing program and the subscribing program can also use the DMA method to publish and subscribe data normally even if there is no master-slave relationship between the publishing program and the subscribing program.

[0079] Furthermore, the automatic networking process is as follows:

[0080] S1. After the publishing program / subscribing program is running, the SRIO communication module is called through the initialization interface of the DDS-RTPS data communication module, and the SRIO communication module starts the SRIO doorbell module;

[0081] S2. After the SRIO doorbell module of the publisher / subscriber is started, a doorbell start message is sent to the subscriber / publisher at the other end, and the doorbell receiving response function is started at the same time;

[0082] S3. After the subscription program / publishing program is started, the operations of S1 and S2 are also performed;

[0083] S4. After receiving the doorbell message from the subscriber / publisher, the publisher / subscriber confirms that both the publisher and the subscriber are running normally, thus completing the automatic networking function of DDS.

[0084] Furthermore, the publishing program and the subscribing program interact with the SRIO communication module to publish and subscribe data through the automatic discovery and networking function of the DDS middleware, thereby completing the automatic discovery and networking function of DDS.

[0085] Further,

[0086] The doorbell message module is responsible for sending high-speed real-time notification messages and responding to messages from publish / subscribe devices to the peer end. The doorbell message carries the index number of the index module, which enables the responding publish / subscribe device to quickly locate the DMA data address to be read according to the index number.

[0087] The data communication module is responsible for reading and writing DMA data. After the DMA data is written, a data doorbell message notification is sent.

[0088] The data cache management module is responsible for encoding or decoding RTPS data and calculating the available storage addresses in the DMA data area and index area.

[0089] Furthermore, the real-time data communication module establishes data cache management through the DMA feature, realizes rapid positioning of DMA data, writes the encoded RTPS data storage address and the encoded RTPS data into the publish / subscribe device, and notifies the publish / subscribe device in real time through the doorbell method; the subscribing / publishing device receives the doorbell message notification and quickly finds the RTPS data of the publish / subscribe device according to the index number of the data message.

[0090] Furthermore, the process of DDS publishing data through the SRIO high-speed data bus is as follows:

[0091] S1. The publishing program of the publishing end device publishes data and packages the data into standard RTPS data through the DDS-RTPS data communication module;

[0092] S2, RTPS data is transmitted to the SRIO communication module, and the data cache management module obtains the free data area address and free index number according to the RTPS data size;

[0093] S3, the SRIO letter module calls the real-time data communication module, and uses the DMA module to write the encoded RTPS data of the data cache management module into the subscriber DMA data area. Then the index module calculates the address offset of the data area and writes the address offset data into the subscriber DMA idle index number address.

[0094] S4. After DMA data writing is completed, the data communication module sends a data doorbell message to the subscriber. The message carries the index number of the written data. After receiving the doorbell notification message, the subscriber device restores the data into RTPS data through the real-time data communication module and the data cache management module according to the carried index number, and then passes it to the DDS-RTPS data communication module to be parsed into the publishing data format recognized by the subscriber program.

[0095] Furthermore, the process of DDS data subscription through SRIO high-speed data bus is as follows:

[0096] S1. The subscription program of the subscriber device subscribes to the data. The SRIO physical device receives the published data from the subscriber device and then notifies the SRIO communication module through the SRIO underlying interface module.

[0097] S2, the real-time data communication module of the SRIO communication module, after receiving the data doorbell message sent by the publisher, obtains the index number written by the publisher according to the index parameter carried in the doorbell message, and the data cache management module finds the index module data written by the publisher through DMA from the index area, and obtains the data offset address written by the publisher;

[0098] S3, the data cache management module locates the address of the DMA data area according to the data offset address obtained by the index module, decodes the DMA data, and obtains the RTPS data content released;

[0099] S4, after the SRIO communication module obtains the RTPS data, it passes the data to the DDS-RTPS data communication module;

[0100] S5. The DDS-RTPS data communication module restores the data to the data content of the publishing program and sends it to the subscribing program to realize data subscription.

[0101] Beneficial effects:

[0102] The present invention proposes a system and method for automatic networking and efficient data communication based on domestic DDS and SRIO. Traditional DDS middleware uses 100M / 1000M Ethernet for data interaction, while DDS middleware is located at the application layer of the OSI network model, which is limited by the performance requirements of the network transmission medium of the physical layer. SRIO technology is mainly aimed at the interconnection communication of high-performance embedded systems. It uses high-performance LVDS technology, can achieve an effective transmission rate of 10Gbps on 4 pairs of differential lines, and has a higher transmission efficiency than 10 Gigabit Ethernet. In order to improve the real-time performance and transmission efficiency of DDS, especially for large-capacity data, the DDS underlying transmission is changed to a more efficient SRIO mode to solve the problem that developers only need to consider the business module in the process of using the domestic DDS middleware, and do not need to consider which data transmission mode the physical device adopts, but can communicate data more efficiently. Therefore, the present invention combines the DDS middleware with the SRIO high-speed data bus, greatly improving the real-time performance and throughput of data transmission, especially for the transmission of large-capacity data, and solving the shortcomings of traditional Ethernet in the process of large-capacity data transmission.

[0103] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A system based on domestic DDS and SRIO automatic networking and efficient data communication, characterized in that: The system includes: a publishing end device and a subscription end device, wherein the publishing end device and the subscription end device are connected via an SRIO high-speed communication bus; the publishing end device includes: a publishing program, a DDS-RTPS data communication module, an SRIO communication module, an SRIO bottom interface module and an SRIO physical device, and the subscription end device includes: a subscription program, a DDS-RTPS data communication module, an SRIO communication module, an SRIO bottom interface module and an SRIO physical device; The publishing program is written by the developer. The developer uses the DDS data publishing function by calling the OMG standard DDS middleware interface. To use the SRIO high-speed data bus to transmit data, the developer only needs to use the QoS policy of the DDS middleware and configure the SRIO transmission mode. After the configuration is completed, the data can be published by calling the DDS publishing interface, and the matching subscription program will receive the published real-time data. The subscription program is written by the developer. The developer uses the DDS data subscription function by calling the OMG standard DDS middleware interface. To use the SRIO high-speed data bus to transmit data, the developer only needs to use the QoS policy of the DDS middleware and configure the SRIO transmission mode. The subscription program receives the data of the publishing program. DDS-RTPS data communication module is used to encapsulate the standard DDS middleware protocol, and the published data and subscribed data are finally converted into RTPS data format for communication; SRIO communication module, through the automatic networking module, real-time data communication module, data cache management module to achieve the combination of DDS and SRIO high-speed data bus, complete the automatic networking function and high-speed data communication function; SRIO low-level interface module is used to encapsulate the SRIO high-speed data bus interface and is responsible for providing developers with the functional interface of SRIO features, including the doorbell module and DMA module. Through these two modules, the doorbell function and DMA data transmission function are used to complete the automatic networking function and high-speed data communication function; SRIO physical device is the hardware entity module of SRIO communication. The publisher and subscriber devices are connected through the SRIO physical device to complete data transmission.

2. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 1, characterized in that: The automatic networking module of the SRIO communication module is used to adapt the SRIO master-slave data communication mode to the distributed communication mode of DDS; in order to adapt to the distributed dynamic discovery and automatic networking of DDS, the automatic networking module uses the doorbell technology of SRIO. The doorbell parameters are configured through the QoS policy of the publisher / subscriber. The automatic networking module starts the doorbell according to the QoS policy and sends networking messages to the devices of the subscriber / publisher at regular intervals. At the same time, the automatic networking module receives the networking doorbell messages in real time; no matter whether the publisher or the subscriber runs first, this mechanism is adopted to realize the peer-to-peer automatic networking method consistent with DDS; When the subscriber / publisher automatic networking module receives the doorbell's networking message, the automatic networking module completes its function and then notifies the SRIO communication module to run the real-time data communication module and the data cache management module to perform DMA data transmission.

3. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 1, characterized in that: The real-time data communication module of the SRIO communication module starts running when the automatic networking is completed. It is used to realize the creation of the DMA data cache window, the transmission data sending and reading functions, and send a data doorbell message to notify the real-time data communication module of the peer program to perform data reception and subscription processing in a timely manner.

4. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 1, characterized in that: The data cache management module of the SRIO communication module uses the cache window created by the real-time data communication module to divide the cache window into an index area and a data area. The index area is used to record the address offset of the sent data in the data area, and the data area is used to encode the RTPS data of the DDS--RTPS data communication module. After the encoding is completed, the sending function of the real-time data communication module is called to write the contents of the index area and the data area to the free data block area of ​​the other end to complete the data sending function, and send a data doorbell message to notify the real-time data communication module of the other end to receive and process the data in a timely manner.

5. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 1, characterized in that: The doorbell module of the SRIO bottom interface module is a fast notification type short message with a short header and carried information, and is used for message notification between master and slave devices.

6. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 1, characterized in that: The DMA module of the SRIO bottom-level interface module is a data exchange mode that directly accesses data from the memory without going through the CPU; in DMA mode, the CPU only needs to issue instructions to the DMA controller, allowing the DMA controller to handle the data transmission, and then feedback the information to the CPU after the data transmission is completed.

7. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 1, characterized in that: When the publisher / subscriber wants to send data, the RTPS data is passed to the SRIO communication module through the DDS-RTPS data communication module; the SRIO communication module obtains the RTPS data to be sent, and finds the idle index number and DMA cache data area address through the data cache management module; The SRIO communication module re-encapsulates the RTPS data according to the free index and free DMA cache data area address obtained by the data cache management module, and writes it to the subscriber / publisher through DMA.

8. The system for automatic networking and efficient data communication based on domestic DDS and SRIO as claimed in claim 7, characterized in that: After the SRIO communication module writes the encoded RTPS to the subscriber / publisher, it uses the doorbell to send a data doorbell notification message to the subscriber / publisher in real time, telling the subscriber / publisher the index number; After the real-time data communication module of the subscriber / publisher SRIO communication module receives the data doorbell notification message from the publisher / subscriber, it locates the DMA data address through the data cache management module according to the index number carried by the doorbell, and decodes it into RTPS data according to the size of the encoded RTPS data; the subscriber / publisher real-time data communication module passes the read RTPS data to the DDS-RTPS data communication module, and then changes the status of this DMA data area and index content to idle status.

9. A method for automatic networking and efficient data communication based on domestic DDS and SRIO for the system according to any one of claims 1 to 8, characterized in that: The method comprises the following steps: S11. In the publishing program, call the DDS middleware initialization module interface DDS_DomainParticipantFactory_create_participant() to start and initialize the domestic DDS module, and read the SRIO transmission QoS configuration; S12, read the configuration of the SRIO high-speed data bus from the QoS configuration, and use the CreateSrioTransportPlugin() interface to start the SRIO communication module; Through the QoS configuration content, the SRIO device ID and DMA data cache window address of the subscriber are obtained; then the SrioDeviceCreate() interface is called to initialize the SRIO device, the automatic networking module is run, and the doorbell message of the automatic networking module of the subscriber program is monitored in real time through the DmaDbGetEvent() and DmaDbSendEvent() interfaces. When the doorbell message of the subscriber program is received, the automatic networking is completed; S13. After the DDS middleware is initialized, the DDS publishing program uses the standard interface DDS_DomainParticipant_create_datawriter() to create and enable the data publishing function of the DDS middleware to publish data. S14, after the network is successfully established, the DmaBufferAlloc() interface is called to start the real-time data communication module and the data buffer management module, to create the DMA data buffer window, the index area and the data area; then the publishing program can perform the data publishing function; S15, when publishing data, determine whether the networking is completed. If it is completed, the publishing program calls the DDS middleware standard interface DataWriter_write() to send the data, and the DDS-RTPS data communication module converts the published data into RTPS format data; S16, judging whether the SRIO communication module runs successfully, if it runs successfully, calling the data cache management module, obtaining the free index area index number and data area address, and encoding the RTPS data into data recognized by the data cache management module; S17, next call the real-time data communication module, use the DMA sending interface DmaSendData() to write the encoded RTPS data into the DMA data buffer address of the subscription program; then write the offset address of the DMA data buffer address into the index area corresponding to the idle number; S18. After the DMA data is written, the real-time data communication module sends a data doorbell message carrying the written index number to the subscriber program to notify the subscriber program to receive the sent data.

10. A method for automatic networking and efficient data communication based on domestic DDS and SRIO for the system according to any one of claims 1 to 8, characterized in that: The method comprises the following steps: S21. In the subscription program, call the DDS middleware initialization module interface DDS_DomainParticipantFactory_create_participant() to start and initialize the domestic DDS module and read the SRIO transmission QoS configuration; S22. After the DDS middleware is initialized, call the DDS_DomainParticipant_create_datareader() interface to start the DDS subscription module and start receiving the RTPS data from the publisher. S23, read the configuration of the SRIO high-speed data bus from the QoS configuration, and use the CreateSrioTransportPlugin() interface to start the SRIO communication module; Through the QoS configuration content, the SRIO device ID and DMA data cache window address of the subscriber are obtained; then the SrioDeviceCreate() interface is called to initialize the SRIO device, the automatic networking module is run, and the doorbell message of the automatic networking module of the subscriber program is monitored in real time through the DmaDbGetEvent() and DmaDbSendEvent() interfaces. When the doorbell message of the subscriber program is received, the automatic networking is completed; S24, after the automatic networking is completed, the DmaBufferAlloc() interface is called to start the real-time data communication module and the data buffer management module, and to create a DMA data buffer window, an index area, and a data area; S25, running the real-time data communication module, dynamically receiving the data doorbell message in real time, and obtaining the index number of the index area of ​​the data cache management module; S26, when the real-time data communication module receives the data doorbell message, it uses the data cache management module to read the index content of the DMA data written by the publishing program according to the index number carried by the doorbell, and reads the content of the data area written by the publishing program according to the read address offset; S27, the data cache management module decodes the read cache data into the RTPS data format recognized by DDS; S28. The DDS subscription module parses the RTPS data into the data content of the publishing program and sends it to the subscription program to complete the data subscription function.

Citation Information

Patent Citations

  • DDS software and hardware cooperative transmission method based on FPGA and RapidIO

    CN117896241A

  • System, method and computer program product implementing a decentralized avionic channel

    WO2021038558A1