Side-scan sonar data receiving system and method based on MOSOC + Ultracall platform

By adopting the MOSOC+Ultrascale platform and zero-copy technology in the sonar data processing system, combined with the dual DMA channel asynchronous transmission of data, the problem of excessive PS-side resource occupation in sonar data processing is solved, and high bandwidth and real-time data transmission is achieved.

CN119883974APending Publication Date: 2025-04-25CHINA SHIPBUILDING MARINE EXPLORATION TECH RES INST CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411898970.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In the existing sonar data processing technology, data reception and storage procedures occupy a lot of PS-side resources, affecting the real-time performance of signal algorithm processing.

Method used

The side-scan sonar data reception system based on the MOSOC+Ultrascale platform is adopted. By using the zero-copy technology of mmap() on the PS side and using dual DMA channels to transmit data asynchronously, the resource usage of PS side is reduced and the bandwidth of data transmission is increased.

Benefits of technology

It effectively reduces the use of resources on the PS side, improves the bandwidth and real-time nature of data transmission, and solves the problem of high sampling rate and slow multi-channel sonar data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883974A_ABST
    Figure CN119883974A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of sonar data processing, in particular to a side-scan sonar data receiving system and method based on an MOSOC + Ultracall platform. Comprising a PS end and a PL end, the PL end is connected with an upper computer through the PS end, the PS end comprises a binding parameter information module, an initialization module, a sonar data processing module and a sonar data formatting module, the PL end comprises an ADC module, a TVG module and a DDC module, the ADC module is connected with the initialization module and receives data, and the TVG module is connected with the DDC module. Two AXI DMA + datafifo pipelines are established between the DDC module and the sonar data processing module and used for communication of array element domain data of a PS end and a PL end, a scheme of an Ultra + MPSOC platform is adopted by a system chip, and array element domain data of sonar are asynchronously transmitted to a memory space of the PS end in a framing mode in an embedded Linux system at the PS end in an mmap () zero-copy mode. According to the invention, the original DMA single-channel synchronous transmission at the PL end is changed into asynchronous data transmission by using two DMA modules, and the data transmission method changes the original direct copy into memory mapping to reduce the problem of resource occupation at the PS end.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of sonar data processing, and in particular to a side-scan sonar data receiving system and method based on a MOSOC+Ultrascale platform. Background Art

[0002] like Figure 1 The figure is a schematic diagram of the sonar data processing and transmission process in the prior art. The functional modules are as follows: PS side (Processing System), the chip is divided into arm part and FPGA part, PS side is the processing system part of the whole system; PL side (Programmable logic) is programmable logic, which is the FPGA part of the whole system; DMA (direct memory Access) is direct memory access, which provides high-speed data transmission between peripherals and memory or memory and memory.

[0003] The sonar data processing process is as follows:

[0004] 1. Analog-to-digital conversion: Data digitization, the transducer collects the filtered analog signal and converts it into a digital signal by the analog-to-digital converter (ADC)

[0005] 2. Signal preprocessing: 2.1 Time Variable Gain (TVG), dynamically adjust the strength of the collected signal to improve the signal-to-noise ratio; 2.2 Digital Down Converter (DDC), convert high-frequency digital signals into lower-frequency signals;

[0006] 3. Data transmission: Data is transmitted to the PS side via DMA;

[0007] 4. Direct copy: data is copied directly from a fixed address to the application's memory space;

[0008] 5. Signal algorithm processing: The data is processed by algorithms such as beamforming and matched filtering at the PS end to convert the array element domain into beam domain data;

[0009] 6. Data formatting: converting sonar data into the format used by the host computer for analysis;

[0010] 7. Network sending: Send data to the host computer via UDP.

[0011] The existing technology mainly uses the PL side to call the AXI-DMA IP core to transfer data from the PL side to a fixed address, and the PS side copies the data to the memory. The direct data copy process is more common, but it consumes a lot of resources and has low efficiency. The above processing method occupies too many PS resources, affecting the real-time performance of the PS side's signal algorithm processing.

[0012] In summary, in the process of sonar data processing, a data receiving and storage solution that occupies less PS-side resources is urgently needed to ensure the real-time performance of PS-side algorithm processing. Summary of the invention

[0013] The problem to be solved by the present invention is to provide a data receiving and storing solution which occupies less PS end resources.

[0014] In view of the deficiencies of the prior art, the technical solution adopted by the present invention to solve the technical problems is: a side-scan sonar data receiving system based on a MOSOC+Ultrascale platform, comprising a PS end and a PL end, the PL end is connected to a host computer through the PS end, the PS end comprises a binding parameter information module, an initialization module, a sonar data processing module and a sonar data formatting module, the PL end comprises an ADC module, a TVG module and a DDC module connected in sequence, the ADC module is connected to the initialization module and receives data, two AXIDMA+datafifo pipelines are established between the DDC module and the sonar data processing module for communication of array element domain data between the PS end and the PL end, the system chip adopts the solution of the Ultrascale+MPSOC platform, and at the PS end, in an embedded Linux system, the array element domain data of the sonar is asynchronously transmitted in frames to the memory space of the PS end using the zero-copy method of mmap().

[0015] A method for a side-scan sonar data receiving system based on a MOSOC+Ultrascale platform comprises the following steps:

[0016] 1. The host computer sends down the working parameters, which include sound speed, working mode, working distance, signal type, and signal gain;

[0017] 2. The PS end binds the parameter information. The binding parameter information module calculates the data volume, calculates the data volume collected by all channels and the compensated gain value according to the input sound velocity, and gives the data volume and the compensated gain value to the PL end;

[0018] 3. Initialize the communication pipe and DMA buffer;

[0019] 4. The PS end sends an interrupt signal, the size of the collected data, and the gain value to the PL end;

[0020] 5. The PL end collects data and prepares to transmit data;

[0021] 6. Establish PL-PS end memory mapping relationship;

[0022] 7. The data is asynchronously transferred to the DDR on the PS side through the dual DMA channels and mapped to the user buffer in the process;

[0023] 8. The PS processes the transmitted data and converts the sonar array element domain data into beam domain data;

[0024] 9. Format the sonar data, add frame headers to the data packets, and wait for data transmission;

[0025] 10. Network transmission, sonar data is sent to the host computer through the UDP network.

[0026] Preferably, step 3 specifically includes the following process:

[0027] 3.1 Get the number of DMA channels listed in the device tree;

[0028] 3.2 Establish communication channels between PS and PL, with two DMA nodes and four communication channels. Each DMA node contains one DMA read channel and one DMA write channel.

[0029] 3.3 Verify the properties of the established channel, including channel type (DMA, VDMA), channel direction (read / write) and channel ID (0, 1…);

[0030] 3.4 Allocate DMA buffer to store all structures returned by sonar array element domain for asynchronous transmission;

[0031] 3.5 Exclusively request all channels in a device tree entry.

[0032] Preferably, step 3.3 specifically includes the following process:

[0033] 3.3.1 Check if the specified node has the unique device ID of the read channel and put it into the device tree node structure (struct device_node*dma_chan_node);

[0034] 3.3.2 Use compatible strings to verify each sent / received channel information;

[0035] 3.3.3 Check whether each DMA transfer channel ID is mutually exclusive with other channels;

[0036] 3.3.4 Check the device tree for "dmas" and "dma-names" attributes and get the length.

[0037] Preferably, step 6 specifically includes the following process:

[0038] 6.1 Set the virtual address and size of the user space;

[0039] 6.2 Convert the virtual address of user space to the actual DMA address;

[0040] 6.3 Allocate a structure to store the external buffer information.

[0041] Preferably, step 6.2 specifically includes the following process:

[0042] 6.2.1 Traverse the DMA buffer allocated by the driver;

[0043] 6.2.2 Verify the relationship between the single transmission data size requested by the user and the buffer size to see if it needs to be split again.

[0044] Preferably, step 6.3 specifically includes the following process:

[0045] 6.3.1 Get the DMA buffer corresponding to the anonymous file descriptor;

[0046] 6.3.2 Lock the DMA buffer;

[0047] 6.3.3 Map the DMA buffer during the external buffer usage cycle and remap it if the continuous single buffer requirement is not met.

[0048] The beneficial effects of the present invention are as follows:

[0049] 1. The data transmission bandwidth of the system of the present invention is high. On the PL side, the original DMA single-channel synchronous transmission is changed to asynchronous data transmission using two DMA modules, and the original direct copy is changed to memory mapping to reduce the resource occupation of the PS side;

[0050] Allocate contiguous DMA buffers in physical memory, allowing high-bandwidth data transfers through the kernel's contiguous memory allocator (CMA);

[0051] 3. Solved the problem of high sampling rate, slow transmission of multi-channel sonar data and excessive occupation of PS resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 It is a schematic diagram of the sonar data processing and transmission process in the prior art;

[0053] Figure 2 It is a schematic diagram of the connection of the system of the present invention;

[0054] Figure 3 It is a workflow diagram of step 3 involved in the present invention;

[0055] Figure 4 It is a workflow diagram of step 5 involved in the present invention. DETAILED DESCRIPTION

[0056] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. The embodiments of the present invention are provided for the purpose of illustration and description, and are not intended to be exhaustive or to limit the present invention to the disclosed forms. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments are selected and described in order to better illustrate the principles and practical applications of the present invention, and to enable those of ordinary skill in the art to understand the present invention and thereby design various embodiments with various modifications suitable for specific uses.

[0057] like Figure 2 The figure shows a connection diagram of the system of the present invention. The system of the present invention includes a PS end and a PL end. The PL end is connected to a host computer through the PS end. The PS end includes a binding parameter information module, an initialization module, a sonar data processing module and a sonar data formatting module. The PL end includes an ADC module, a TVG module and a DDC module connected in sequence. The ADC module is connected to the initialization module and receives data. Two AXIDMA+datafifo pipelines are established between the DDC module and the sonar data processing module for communication of array element domain data between the PS end and the PL end. The system chip adopts the solution of the Ultrascale+MPSOC platform. At the PS end, the zero-copy method of mmap() is adopted in the embedded Linux system to minimize the occupation of CPU resources. The zero-copy technology can reduce the number of data copies and shared bus operations, eliminate unnecessary intermediate copy processes of communication data between memories, and effectively improve communication efficiency. It is one of the key technologies for designing high-speed interface channels and realizing high-speed servers and routers. Zero-copy is a prior art and will not be repeated again. The workflow of the system of the present invention is as follows: the upper computer at the dry end sends the working parameters to the PS end, the lower computer PS end parses the working parameters and performs initialization operations, and the PS end sends the set working parameter information to the PL end again; the zero-copy technology is applied in the system of the present invention, the PL end collects data under given parameters, and transmits the sonar array element domain data in frames asynchronously to the memory space of the PS end through DMA+mmap(). The use of zero-copy method during the transmission process greatly reduces the CPU resource usage and improves the transmission bandwidth. The data is processed at the PS end and then transmitted back to the upper computer to complete a complete sonar data frame transmission. Memory mapping is a way to implement zero copy. The method of the present invention adopts memory mapping, and the specific workflow includes the following steps:

[0058] 1. The host computer sends working parameters

[0059] The host computer provides parameter information such as sound speed, working mode, working distance, signal type, signal gain, etc. according to the needs of the task;

[0060] 2.PS binding parameter information

[0061] 2.1 Calculate the data volume. Calculate the data volume collected by all channels and the compensated gain value according to the input sound velocity, and give the data volume and compensated gain value to the PL end;

[0062] 3. Initialize communication pipes and DMA buffers

[0063] 3.1 Get the number of DMA channels listed in the device tree;

[0064] 3.2. Establish communication channels between PS and PL, with two DMA nodes and four communication channels. Each DMA node contains one DMA read channel and one DMA write channel.

[0065] 3.3 Verify the properties of the established channel;

[0066] There are three main properties: channel type (DMA, VDMA), channel direction (read / write), channel ID (0, 1...). If the given property is not within the above range, the communication channel establishment process is exited, and the channel establishment failure is returned, all ongoing channel DMA transfer processes are stopped, the channel is released, and the opened array space is reclaimed;

[0067] 3.3.1 Check if the specified node has the unique device ID of the read channel and put it into the device tree node structure (struct device_node*dma_chan_node);

[0068] 3.3.2 Use compatible strings to verify each sent / received channel information;

[0069] 3.3.3 Check whether each DMA transfer channel ID is mutually exclusive with other channels;

[0070] 3.3.4 Check that the device tree has "dmas" and "dma-names" attributes and get the length;

[0071] 3.4 Allocate DMA buffer to store all structures returned by sonar array element domain for asynchronous transmission;

[0072] 3.5 Exclusively request all channels in the device tree entry;

[0073] 4. The PS end sends an interrupt signal, the size of the collected data, and the gain value to the PL end;

[0074] 5. The PL end collects data and prepares to transmit data;

[0075] Collect a specified amount of data according to the given single acquisition data size, adjust the received data size in real time according to the calculated gain, perform ADC acquisition, gain adjustment, DDC, and transfer the data through the AXIS-stream bus to the AXI4-stream Data FIFO, and select different DMA channels for transmission according to the parity of the frame number;

[0076] 6. Establish the PL-PS end memory mapping relationship. The specific steps are as follows:

[0077] 6.1 Set the virtual address and size of the user space;

[0078] 6.2 Convert the virtual address of user space to the actual DMA address;

[0079] 6.2.1 Traverse the DMA buffer allocated by the driver;

[0080] 6.2.2 Verify the relationship between the single transmission data size requested by the user and the buffer size to see whether it needs to be split again;

[0081] 6.3 Allocate a structure to store the external buffer information;

[0082] 6.3.1 Get the DMA buffer corresponding to the anonymous file descriptor;

[0083] 6.3.2 Lock the DMA buffer;

[0084] 6.3.3 Map the DMA buffer during the external buffer usage period and remap it if the continuous single buffer requirement is not met;

[0085] 7. The data is asynchronously transferred to the DDR on the PS side through the dual DMA channels and mapped to the user buffer in the process;

[0086] 8. The PS processes the transmitted data and converts the sonar array element domain data into beam domain data;

[0087] 9. Format the sonar data, add frame headers to the data packets, and wait for data transmission;

[0088] 10. Network transmission. Sonar data is sent to the host computer via the UDP network.

[0089] The system of the present invention has a high data transmission bandwidth. On the PL side, the original DMA single-channel synchronous transmission is changed to asynchronous data transmission using two DMA modules. The data transmission method changes the original direct copy into memory mapping to reduce the resource occupation of the PS side, thereby solving the problems of high sampling rate, slow transmission of multi-channel sonar data and excessive occupation of PS side resources, while ensuring the real-time performance of algorithm processing on the PS side.

Claims

1. A side-scan sonar data receiving system based on the MOSOC+Ultrascale platform, characterized in that: It includes a PS end and a PL end. The PL end is connected to a host computer through the PS end. The PS end includes a binding parameter information module, an initialization module, a sonar data processing module and a sonar data formatting module. The PL end includes an ADC module, a TVG module and a DDC module connected in sequence. The ADC module is connected to the initialization module and receives data. Two AXIDMA+datafifo pipes are established between the DDC module and the sonar data processing module for communication of array element domain data between the PS end and the PL end. The system chip adopts the solution of the Ultrascale+MPSOC platform. At the PS end, the zero-copy method of mmap() is used in the embedded Linux system to asynchronously transmit the array element domain data of the sonar in frames to the memory space of the PS end.

2. A method for a side-scan sonar data receiving system based on the MOSOC+Ultrascale platform, characterized in that: The following steps are included:

1. The host computer sends down the working parameters, which include sound speed, working mode, working distance, signal type, and signal gain; 2. The PS end binds the parameter information. The binding parameter information module calculates the data volume, calculates the data volume collected by all channels and the compensated gain value according to the input sound velocity, and gives the data volume and the compensated gain value to the PL end; 3. Initialize the communication pipe and DMA buffer; 4. The PS end sends an interrupt signal, the size of the collected data, and the gain value to the PL end; 5. The PL end collects data and prepares to transmit data; 6. Establish PL-PS end memory mapping relationship; 7. The data is asynchronously transferred to the DDR on the PS side through the dual DMA channels and mapped to the user buffer in the process; 8. The PS processes the transmitted data and converts the sonar array element domain data into beam domain data; 9. Format the sonar data, add frame headers to the data packets, and wait for data transmission; 10. Network transmission, sonar data is sent to the host computer through the UDP network.

3. The method of the side-scan sonar data receiving system based on the MOSOC+Ultrascale platform as claimed in claim 2, characterized in that: Step 3 specifically includes the following process: 3.1 Get the number of DMA channels listed in the device tree; 3.2 Establish communication channels between PS and PL, with two DMA nodes and four communication channels. Each DMA node contains one DMA read channel and one DMA write channel. 3.3 Verify the properties of the established channel, including channel type (DMA, VDMA), channel direction (read / write) and channel ID (0, 1…); 3.4 Allocate DMA buffer to store all structures returned by sonar array element domain for asynchronous transmission; 3.5 Exclusively request all channels in a device tree entry.

4. The method of the side-scan sonar data receiving system based on the MOSOC+Ultrascale platform as claimed in claim 3, characterized in that: Step 3.3 specifically includes the following process: 3.3.1 Check if the specified node has the unique device ID of the read channel and put it into the device tree node structure (struct device_node*dma_chan_node); 3.3.2 Use compatible strings to verify each sent / received channel information; 3.3.3 Check whether each DMA transfer channel ID is mutually exclusive with other channels; 3.3.4 Check the device tree for "dmas" and "dma-names" attributes and get the length.

5. The method of the side scan sonar data receiving system based on the MOSOC+Ultrascale platform as claimed in claim 4, characterized in that: Step 6 specifically includes the following process: 6.1 Set the virtual address and size of the user space; 6.2 Convert the virtual address of user space to the actual DMA address; 6.3 Allocate a structure to store the external buffer information.

6. The method of the side-scan sonar data receiving system based on the MOSOC+Ultrascale platform as claimed in claim 5, characterized in that: Step 6.2 specifically includes the following process: 6.2.1 Traverse the DMA buffer allocated by the driver; 6.2.2 Verify the relationship between the single transmission data size requested by the user and the buffer size to see if it needs to be split again.

7. The method of the side scan sonar data receiving system based on the MOSOC+Ultrascale platform as claimed in claim 6, characterized in that: Step 6.3 specifically includes the following process: 6.3.1 Get the DMA buffer corresponding to the anonymous file descriptor; 6.3.2 Lock the DMA buffer; 6.3.3 Map the DMA buffer during the external buffer usage cycle and remap it if the continuous single buffer requirement is not met.

Citation Information

Cited By

  • Efficient data recording and playback method in sonar signal processing system

    CN122240038A