Atmospheric detection laser radar data acquisition and processing method and system based on ZYNQ
By integrating the data acquisition and processing functions of the atmospheric detection lidar system into the ZYNQ board, the complexity and reliability problems of the existing system are solved, and efficient and portable data acquisition and processing are achieved.
Patent Information
- Application Number
- CN202510010813.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-03
- Publication Date
- 2025-04-04
AI Technical Summary
The existing atmospheric detection lidar system requires two independent equipment, data collector and industrial control machine, resulting in increased system complexity, reduced reliability and poor portability.
The data acquisition and processing method based on ZYNQ is adopted to integrate the data acquisition and processing functions into a ZYNQ board, and the PL end of the ZYNQ chip is used for data acquisition and preprocessing, and the CPU0 on the PS end performs secondary accumulation processing, and high-speed data transmission between the PL end and the PS end is realized through the AXI interface.
It realizes efficient integration of the atmospheric detection lidar system, improves the portability and reliability of the system, reduces hardware volume and cost, and adapts to different atmospheric detection lidar application scenarios through multi-channel data acquisition and processing.
Smart Images

Figure CN119758293A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of laser radar, and in particular to a ZYNQ-based atmospheric detection laser radar data acquisition and processing method and system. Background Art
[0002] Atmospheric detection lidar is widely used in atmospheric detection scenarios such as clouds, aerosols, temperature, humidity, wind field and atmospheric composition. The collection and processing of echo signals received by the atmospheric detection lidar system is an important part of atmospheric detection.
[0003] At present, the existing atmospheric detection laser radar data collection and processing scheme is completed by a combination of data acquisition device and industrial computer. For example, the data collection and processing of a portable atmospheric monitoring laser radar system invented by Lanzhou University is completed by a high-speed data acquisition device and a mini industrial computer. The data acquisition device completes the collection of atmospheric detection laser radar echo signals. Some data acquisition devices will complete data preprocessing such as accumulation and filtering. For example, Hangzhou Hikvision Digital Technology Co., Ltd. invented a Raman spectrum signal processing system based on ZYNQ, which can collect and preprocess Raman spectrum signals. The industrial computer completes the processing of the signals collected by the data acquisition device to obtain the required atmospheric related parameter information. For example, Qingdao Rayce Chuangxin Technology Co., Ltd. invented a scanning laser radar system based on Raman temperature measurement, in which the detection and acquisition module is used to convert the processed optical signal into a digital signal. The industrial computer obtains the profile information of the rotation Raman signal at different positions based on the digital signal obtained by the detection and acquisition module, and fits the shape of the profile to invert the atmospheric temperature information.
[0004] Since the existing technology requires two independent devices, the data collector and the industrial computer, it has the following disadvantages:
[0005] 1. Increased complexity: Multiple hardware devices are required to work together, which increases the size, cost and complexity of the system and is not conducive to the portability of the device;
[0006] 2. Reduced reliability: Data transmission and processing between different hardware may cause data delays and loss. Summary of the invention
[0007] In order to solve the problem that the collection and processing of echo signals received by the atmospheric detection laser radar system requires two independent devices, a data collector and an industrial computer, which increases the complexity of the system, reduces the reliability of data, and is not conducive to the portability of the equipment, the present invention proposes a data collection and processing method and system for atmospheric detection laser radar based on ZYNQ, and the specific technical scheme is as follows:
[0008] The atmospheric detection lidar data acquisition and processing method based on ZYNQ includes:
[0009] Power on, initialize the PL and PS ends in the ZYNQ chip, and configure acquisition parameters;
[0010] The PL end in the ZYNQ chip performs data acquisition and preprocessing, wherein the preprocessing includes: accumulating the acquired digital signal to the set number of accumulation times according to the accumulation times set by the acquisition parameters, and averaging the last accumulated data to obtain the first accumulated data;
[0011] The CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data.
[0012] Furthermore, the PL end in the ZYNQ chip performs data acquisition and preprocessing, including:
[0013] The PL end in the ZYNQ chip receives multi-channel ADC data, and for each channel, the data stored in the BRAM of the PL end is accumulated with the data already stored in the BRAM to realize data collection and accumulation;
[0014] According to the accumulation times set by the acquisition parameters, the collected digital signals are accumulated to the set times, and the last accumulated data is averaged to obtain accumulated data.
[0015] Furthermore, the data stored in the BRAM of the PL end each time is accumulated with the data already stored in the BRAM and stored alternately, including:
[0016] The BRAM in the PL end includes BRAM0 and BRAM1, and the data of each channel is alternately accumulated and stored in BRAM0 and BRAM1 in a ping-pong mode.
[0017] Furthermore, the CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data, including:
[0018] Dividing the accumulated data into a short-distance portion and a long-distance portion according to a signal-to-noise ratio threshold;
[0019] Keep the near distance part unchanged and perform secondary accumulation processing on the far distance part;
[0020] The near-distance part that remains unchanged is spliced with the far-distance part after the secondary accumulation processing.
[0021] Furthermore, the performing secondary accumulation processing on the long-distance part includes:
[0022] CPU0 performs secondary accumulation of the long-distance data stored in the DDR of the PS end through software, averages the data reaching the specified accumulation points, and splices the averaged long-distance data with the unchanged short-distance data. The spliced data is the secondary accumulation data.
[0023] Furthermore, after the CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data, the following steps are performed:
[0024] CPU0 stores the data after the secondary accumulation processing in OCM, and triggers the CPU1 interrupt on the PS side at the same time; CPU1 processes the data after the secondary accumulation processing stored in the OCM on the PS side, and stores the processing results in the designated OCM area after completion, triggering the CPU0 interrupt, and CPU0 outputs the data after receiving the interrupt.
[0025] Furthermore, the CPU 1 processes the data after the secondary accumulation process stored in the OCM of the PS end, including:
[0026] The CPU 1 processes the data after the secondary accumulation process stored in the OCM of the PS end to obtain target data, and the obtained target data includes one or more of the extinction coefficient, the backscattering coefficient or the wind speed.
[0027] Furthermore, it also includes:
[0028] Store the target data into the specified OCM area;
[0029] The CPU0 interrupt is triggered, and after receiving the interrupt, the CPU0 uploads the target data in the OCM area to an external host computer or an external storage device via Ethernet.
[0030] A ZYNQ-based atmospheric detection laser radar data acquisition and processing system includes a control circuit using a ZYNQ chip as a processing chip, and the control circuit includes:
[0031] A data acquisition module, located in the PL end of the ZYNQ chip, is used for high-speed acquisition and preprocessing of signals. The preprocessing includes accumulating the acquired digital signal to a set number of accumulation times according to a set number of accumulation times, and averaging the last accumulated data to obtain a first accumulation data;
[0032] The data processing module is located in the PS end of the ZYNQ chip. The PS end includes CPU0 and CPU1. The CPU0 is used to communicate with the PL end, perform secondary accumulation of accumulated data and data transmission of an external host computer, as well as scheduling and coordination with the CPU1; the CPU1 is used for real-time processing of secondary accumulated data.
[0033] Further, the data acquisition module includes a sampling unit, a data accumulation unit, a data cache unit and an AXI interface unit;
[0034] The sampling unit receives the multi-channel digital signals converted by the multi-channel ADC unit and sends them to the PL terminal;
[0035] The data accumulation unit performs a preprocessing operation on signals of different channels, wherein the preprocessing operation includes accumulation and averaging;
[0036] The data cache unit temporarily stores the sampled and pre-processed data in different BRAMs to prepare for subsequent data transmission with the PS end;
[0037] The AXI interface unit is used to realize data transmission between the PL end and the PS end.
[0038] The advantages of the present invention are:
[0039] (1) The present invention integrates the acquisition and processing of multi-channel echo signals received by the atmospheric detection laser radar system into the ZYNQ board, without the need for an industrial computer, so that the board directly outputs the atmospheric information obtained by the target. This solution is highly integrated, which improves the portability and reliability of the system, and only requires modifying the program burned in the board to be applicable to a variety of atmospheric detection laser radar application scenarios, such as aerosol laser radar, temperature and humidity laser radar, etc. Compared with the previous atmospheric detection laser radar, which used a data collector and an industrial computer to complete the two functions of data acquisition and data processing respectively, the integration here refers to integrating the two functions of acquisition and inversion into one board, so there is no need for an industrial computer to implement the inversion function, achieving a high degree of integration and improving the portability and reliability of the system.
[0040] (2) The present application can realize multi-channel data collection and processing. For the data collection of each channel, a ping-pong mode is used to collect and accumulate data at the same time, which greatly saves resources on the PL side.
[0041] (3) The present application can change the number of accumulation times according to the requirements of different laser radar acquisition time resolutions. By combining the primary accumulation of hardware with the secondary accumulation of software, the present application can adapt to different atmospheric detection laser radar system requirements while ensuring the efficient operation of the system to obtain a complete signal with a higher signal-to-noise ratio. The present application can adopt different optimization strategies for different signal qualities through segmented processing, while speeding up the data processing speed. By combining the primary accumulation with the secondary accumulation, the present application can improve the unique characteristics of the atmospheric detection laser radar signal, optimize the processing method according to the signal strength and signal-to-noise ratio characteristics, and finally obtain a complete signal with a higher signal-to-noise ratio.
[0042] (4) This application makes full use of ZYNQ's dual-core architecture, performs bare-metal applications on CPU0 and CPU1, rationally schedules interrupts and memory, fully utilizes the functions of CPU0 and CPU1, meets the real-time processing requirements of LiDAR signals, and enables the system to have better application effects and a wider range of applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 This is a flow chart of an atmospheric detection lidar data acquisition and processing method based on ZYNQ.
[0044] Figure 2 This is a schematic diagram of an atmospheric detection lidar data acquisition and processing system based on ZYNQ in VIVADO software.
[0045] Figure 3 This is a structural diagram of an atmospheric detection lidar data acquisition and processing system based on ZYNQ.
[0046] In the figure:
[0047] 1. Clock module; 2. Reset module; 3. Data processing module; 4. Interface module; 5. Data acquisition module DETAILED DESCRIPTION
[0048] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application. In the description of the embodiments of the present application, it should be understood that the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, the features defined as "first" and "second" can explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.
[0049] Glossary:
[0050] ZYNQ: It is an Extensible Processing Platform (EPP) launched by Xilinx. It closely combines the software programmability of the processor with the hardware programmability of the PL side (field programmable gate array). Its architecture features dual-core architecture and high-speed interconnection interface. It consists of two main parts: the Processing System (PS side) formed around the dual-core ARMCortex-A9 processor and the Programmable Logic (PL side) equivalent to the PL side.
[0051] BRAM: BRAM stands for Block RAM and is an important storage resource in ZYNQ.
[0052] OCM: The abbreviation of On-Chip Memory, which is a high-speed memory integrated in the ZYNQ chip.
[0053] FSBL: It is the abbreviation of First Stage Boot Loader, which is the first stage boot loader and is an important part of the ZYNQ startup process.
[0054] MMCM: refers to Mixed-Mode Clock Manager. MMCM is an advanced clock management unit.
[0055] In the traditional data acquisition and processing architecture, the data collector and industrial computer are two independent hardware devices, responsible for the following tasks:
[0056] Data collector: connects to sensors or other external devices (mainly PMT or APD in atmospheric detection lidar) to collect raw signal data.
[0057] Industrial computer: Receives data transmitted by the data collector, performs data processing, analysis, storage or transmission to other devices.
[0058] Since the existing technology requires two independent devices, the data collector and the industrial computer, there are the following problems:
[0059] 1. Data transmission delay: Data transmission from the collector to the industrial computer needs to go through a physical communication interface, and the transmission bandwidth and rate are limited by the performance of the interface (such as the low rate of UART and the possible frame delay of Ethernet). If the data volume is large or the transmission rate is insufficient (such as in high-speed sampling scenarios), the transmission process may cause significant delays.
[0060] 2. Data loss risk: In high-frequency data collection, insufficient communication bandwidth or data transmission blockage may result in data loss. The data collector has a limited buffer. When data is not transmitted to the industrial computer in time, new collected data may overwrite unprocessed data. Interference during transmission (such as electromagnetic interference or network packet loss) may also result in data loss.
[0061] 3. System complexity: Two independent devices require additional hardware interfaces and protocol support, which is complex to design and easily leads to compatibility issues between devices. The collaborative work of the data logger and the industrial computer requires additional software configuration and debugging, which increases development time and maintenance costs.
[0062] 4. Reduced reliability; the physical connection and communication protocol (such as TCP / IP) between two devices may be interrupted due to hardware failure, network interruption or software error, reducing the reliability of data collection and processing.
[0063] In order to solve the above problems, this application discloses a method for collecting and processing atmospheric detection lidar data based on ZYNQ, such as Figure 1 As shown, including:
[0064] Initialize the system, including powering on, initializing the PL and PS ends, and configuring acquisition parameters;
[0065] The PL end in the ZYNQ chip performs data acquisition and preprocessing, wherein the preprocessing includes: accumulating the acquired digital signal to the set number of accumulation times according to the accumulation times set by the acquisition parameters, and averaging the last accumulated data to obtain the first accumulated data;
[0066] The CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data.
[0067] In one embodiment, the power-on, initialization of the PL end and the PS end, and configuration of acquisition parameters include:
[0068] After the main power supply of the ZYNQ chip is supplied, power is supplied to various parts inside the system, including providing core voltage for the PS and PL ends, providing IO voltage for the peripheral interfaces of the PS and PL ends, and ensuring the stable operation of the external clock source.
[0069] After power-on, it is necessary to check whether the power supply voltage is stable, whether the clock signal is normal, and whether the reset signal has been released correctly. Then complete the initialization of the PS and PL ends, load FSBL from FLASH to initialize the PS end, and load the bit stream of the PL end through the PCAP interface to initialize the PL end. After the initialization is completed, the configured acquisition parameters include the number of acquisition points and the number of accumulations. After verifying that the parameter configuration is correct, start the data acquisition process.
[0070] In one embodiment, the PL end in the ZYNQ chip performs data acquisition and preprocessing, including:
[0071] The PL end in the ZYNQ chip receives multi-channel ADC data, and for each channel, the data stored in the BRAM of the PL end is accumulated with the data already stored in the BRAM to realize data collection and accumulation;
[0072] According to the accumulation times set by the acquisition parameters, the collected digital signals are accumulated to the set times, and the last accumulated data is averaged to obtain accumulated data.
[0073] The signal is accumulated and averaged a specified number of times on the PL side of ZYNQ, thereby improving the signal quality of the entire profile. The echo signal of the lidar is collected in real time by the PL side and accumulated once inside the PL side. The PL side accelerates the accumulation operation through parallel processing, making the real-time processing of the signal very efficient.
[0074] In one embodiment, the data stored in the BRAM of the PL end each time is accumulated with the data already stored in the BRAM and stored alternately, including:
[0075] The BRAM in the PL end includes BRAM0 and BRAM1, and the data of each channel is alternately accumulated and stored in BRAM0 and BRAM1 in a ping-pong mode.
[0076] Specifically, the PL end is responsible for high-speed real-time acquisition and processing, receiving multi-channel ADC data. For each channel, the PL end includes two independent storage areas BRAM0 and BRAM1. The data stored in BRAM0 or BRAM1 and the data already stored in BRAM0 or BRAM1 are alternately accumulated and stored in ping-pong mode to achieve data acquisition and accumulation. After accumulating to the specified number of points, the last accumulated data is averaged to obtain accumulated data, and then an interrupt is initiated to the PS end, and the accumulated data is transmitted from the PL end to the PS end DDR through the AXI interface.
[0077] For a laser radar echo signal profile, the signal-to-noise ratio is high at short distances; since the intensity of the laser radar echo signal is inversely proportional to the square of the distance, the signal intensity of the long-distance signal decreases very quickly with increasing distance, and the signal-to-noise ratio is low. To this end, based on the above-mentioned accumulated data, the CPU0 at the PS end of the ZYNQ chip in this application performs secondary accumulation processing on the accumulated data.
[0078] The CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data, including:
[0079] Dividing the accumulated data into a short-distance portion and a long-distance portion according to a signal-to-noise ratio threshold;
[0080] Keep the near distance part unchanged and perform secondary accumulation processing on the far distance part;
[0081] The near-distance part that remains unchanged is spliced with the far-distance part after the secondary accumulation processing.
[0082] Since the signal-to-noise ratio at close range has met the requirement, for the signal corresponding to the long-distance part, the signal strength decays rapidly, the signal-to-noise ratio is low, the effect of one accumulation is not obvious, and the effect of improving the signal-to-noise ratio is limited. In this application, the data corresponding to the short-distance part remains unchanged, and only performs a second accumulation on the long-distance part, and finally splices the data, thereby improving the data processing speed while maximizing the signal-to-noise ratio of all data.
[0083] In one embodiment, the performing secondary accumulation processing on the long-distance portion includes:
[0084] CPU0 performs secondary accumulation of the long-distance data stored in the DDR of the PS end through software, averages the data reaching the specified accumulation points, and splices the averaged long-distance data with the unchanged short-distance data. The spliced data is the secondary accumulation data.
[0085] Specifically, after receiving the interrupt from the PL, the PS side stores the data in the DDR. The CPU0 at the PS side performs secondary accumulation on the accumulated data stored in the DDR in software, and averages the data that reaches the specified accumulation point, and the averaged data is the secondary accumulation data.
[0086] In another embodiment, the CPU0 stores the secondary accumulated data in the OCM of the PS end, and triggers the interrupt of the CPU1 of the PS end. The CPU1 processes the secondary accumulated data stored in the OCM of the PS end to obtain target data, and stores the target data in a designated OCM area, triggering the interrupt of CPU0, and CPU0 outputs data after receiving the interrupt.
[0087] The CPU 1 processes the data after the secondary accumulation process stored in the OCM of the PS end, including:
[0088] The CPU 1 processes the data after the secondary accumulation process stored in the OCM of the PS end to obtain target data, and the obtained target data includes one or more of the extinction coefficient, the backscattering coefficient or the wind speed.
[0089] For example, in the case of an aerosol laser radar, the target data processed by CPU1 are the extinction coefficient and the backscattering coefficient; in the case of a wind laser radar, the target data processed by CPU1 are the inversion data of wind speed. The data processed by CPU1 will change different processing algorithms according to the type of laser radar, and finally obtain different atmospheric parameter information.
[0090] In one of the embodiments, the method further includes storing and uploading the data.
[0091] Storing and uploading data, including:
[0092] Store the target data into the specified OCM area;
[0093] The CPU0 interrupt is triggered, and after receiving the interrupt, the CPU0 uploads the target data in the OCM area to an external host computer or an external storage device via Ethernet.
[0094] The detailed process of the first accumulation and the second accumulation is as follows:
[0095] 1. Perform accumulation once at the PL end: The laser radar echo signal is collected in real time by the PL end and accumulated once inside the PL end. The PL end accelerates the accumulation operation through parallel processing, making the real-time processing of the signal more efficient.
[0096] 2. Transmit the accumulated results from the PL end to the PS end: The PL end completes an accumulation of the short-distance signal, averages the accumulated data, initiates an interrupt to the PS end, and transmits the accumulated results to the PS end through a high-speed bus (such as the AXI interface).
[0097] 3. Perform secondary accumulation in the PS end: After the PS end receives the accumulated data from the PL end, it first divides the signal into two parts: the short-distance part (the first half) and the long-distance part (the second half). The data corresponding to the short-distance part remains unchanged, while the data corresponding to the long-distance part needs to be accumulated twice. This process can effectively improve the signal-to-noise ratio of the long-distance signal.
[0098] 4. Splicing processing results: Once the secondary accumulation processing is completed, the PS end splices the signal data of the first half and the second half. The first half of the data has been accumulated once, and the second half of the data has been accumulated twice, and the final secondary accumulation data is obtained. In this way, the final accumulated signal will have a better overall signal-to-noise ratio.
[0099] Advantages of quadratic accumulation:
[0100] 1. Improve the quality of long-distance signals: Due to the fast attenuation and high noise of long-distance signals, direct accumulation may not significantly improve their signal-to-noise ratio. Through secondary accumulation, long-distance signals can obtain greater signal enhancement and significant noise suppression effect. The signal-to-noise ratio of long-distance signals can be greatly improved, which is crucial to the accuracy of LiDAR.
[0101] 2. Improve the quality of the overall signal: The first half of the signal and the second half of the signal are accumulated in different ways, and the processing method can be optimized according to the signal strength and signal-to-noise ratio characteristics, and finally a complete signal with a higher signal-to-noise ratio is obtained. This segmented processing method can adopt different optimization strategies for different signal qualities.
[0102] In one of the embodiments, the data processing flow in the PS is described in detail:
[0103] 1. Secondary accumulation and data storage of CPU0 in PS
[0104] CPU0 receives the accumulated data from the PL end and first performs a secondary accumulation operation on the received data. After completing the secondary accumulation, CPU0 stores the processing results in OCM and sends an interrupt to CPU1 to notify CPU1 to start further data processing. (OCM is used to store frequently accessed data and has the characteristics of low latency and high bandwidth to ensure the real-time nature of the data)
[0105] 2. Data processing of CPU1 in PS side
[0106] CPU1 reads the data after secondary accumulation from OCM through the interrupt mechanism. The data is processed by a specific algorithm to obtain the target atmospheric parameter information. After CPU1 processes the data, it notifies CPU0 through an interrupt, indicating that the data processing has been completed. CPU1 stores the processed data in OCM and prepares it for CPU0 to output or further storage.
[0107] 3.CPU0 result storage and transmission
[0108] CPU0 reads the data processed by CPU1 from OCM and stores the result in external memory (such as DDR), or transfers it to external devices through DMA for further processing or display. If the system needs to send data to external devices (such as displays, other computers, etc.), CPU0 can output the data through the network, serial port or other interfaces.
[0109] In one embodiment, in the ZYNQ chip, CPU0 and CPU1 use the interrupt mechanism to achieve efficient coordination and synchronization. The following is the detailed process of scheduling:
[0110] 1. CPU0 secondary accumulation and interrupt triggering
[0111] After CPU0 receives the data transmitted from the PL end, it performs secondary accumulation processing.
[0112] The accumulated data is stored in OCM and is ready to be passed to CPU1 for subsequent processing.
[0113] CPU0 notifies CPU1 by triggering an interrupt, indicating that the data is ready and CPU1 can start processing.
[0114] 2.CPU1 data processing and interrupt feedback
[0115] CPU1 responds to the interrupt of CPU0 and starts to read the secondary accumulated data in OCM and process it.
[0116] After the data processing is completed, CPU1 notifies CPU0 through an interrupt, indicating that the processing task has been completed, and CPU0 can proceed to the next step of result output or storage operation.
[0117] 3.CPU0 result storage and output
[0118] CPU0 reads the data processed by CPU1 and stores the result in an external memory (such as DDR), or transfers it to an external device via DMA for further processing or display.
[0119] In this application, CPU0 and CPU1 efficiently share tasks through the interrupt mechanism to ensure timely and accurate transmission of data during the process of collection, accumulation, processing and output, realize rapid processing and transmission of data, and meet the real-time processing requirements of lidar signals.
[0120] like Figure 2 and Figure 3 As shown, based on the inventive concept of the above-mentioned atmospheric detection laser radar data acquisition and processing method based on ZYNQ, the present application also discloses an atmospheric detection laser radar data acquisition and processing system based on ZYNQ, including:
[0121] The data acquisition module 5 is located in the PL end of the ZYNQ chip and is used for high-speed acquisition and preprocessing of signals. The preprocessing includes accumulating the acquired digital signal to a set number of accumulation times according to the set number of accumulation times, and averaging the last accumulated data to obtain a first accumulated data;
[0122] The data processing module 3 is located in the PS end of the ZYNQ chip. The PS end includes CPU0 and CPU1. The CPU0 is used for communicating with the PL end, performing secondary accumulation of accumulated data and data transmission of an external host computer, as well as scheduling and coordination with the CPU1; the CPU1 is used for real-time processing of secondary accumulated data and coordination with the CPU0.
[0123] A clock module 1, used for providing a clock signal, wherein the clock module 1 is connected to the data acquisition module 5 and the data processing module 3 respectively;
[0124] A reset module 2, used for providing a reset signal, wherein the reset module 2 is connected to the data acquisition module 5 and the data processing module 3 respectively;
[0125] The interface module 4 is used to connect the PL and PS ends with external devices, and is responsible for realizing the communication and data exchange between the PS and PL ends of ZYNQ and external devices respectively. Specifically, the data processing module 3 is based on CPU0 as the main core, responsible for the overall control of the system, and is used for communication with the PL end, data transmission with the external host computer, and scheduling and coordination with CPU1. CPU1 implements the algorithm for real-time data processing and coordination with the CPU0, and stores the processing results in the on-chip OCM, and outputs the processing results through the network port.
[0126] Specifically, the data acquisition module 5 includes a sampling unit, a data accumulation unit, a data cache unit and an AXI interface unit. The sampling unit receives the multi-channel digital signals converted by the ADC and sends them to the PL end. The data accumulation unit performs preprocessing operations on the signals of different channels, and the preprocessing operations include accumulation and averaging. For different acquisition channels, the data cache unit temporarily stores the sampled and preprocessed data in different BRAMs to prepare for subsequent data transmission with the PS end. The AXI interface unit is used to realize data transmission between the PL end and the PS end, and the protocols followed include AXI4-Lite or AXI4-Stream protocols.
[0127] The working process of the data acquisition module 5 is as follows:
[0128] Clock and reset; the data acquisition module 5 generates a suitable working clock from the global clock and initializes it using a reset signal;
[0129] Signal acquisition: receiving digital signals converted from multi-channel ADC and sending them to the PL terminal;
[0130] Data accumulation and averaging: After the digital signal converted by the multi-channel ADC is accumulated to the specified number of times according to the set accumulation times, the last accumulated data is averaged to obtain the accumulated data;
[0131] Data caching and transmission; the data during the collection process and the final accumulated data obtained after averaging are stored in the BRAM. After obtaining the accumulated data, the PL end initiates an interrupt to the PS end and transmits the accumulated data to the data processing module 3 in the PS end through the AXI interface.
[0132] Specifically, BRAM includes BRAM0 and BRAM1. During the acquisition process, BRAM0 and BRAM1 store data alternately. For example, the first accumulation result is stored in BRAM0, the second accumulation result is stored in BRAM1, the third accumulation result is stored in BRAM0, and so on. If an even number of accumulations is required, it is stored in BRAM1, and an odd number of accumulations is stored in BRAM0.
[0133] Specifically, the data processing module 3 is implemented in the PS end of ZYNQ, making full use of the two independent ARM Cortex-A9 cores in the PS end system and using the Asymmetric Multiprocessing (AMP) mode. The workflow of this module is as follows:
[0134] Initialization and configuration: Load the user program through FSBL and configure the sampling parameters of the data acquisition unit, including the number of sampling points and the number of accumulation times.
[0135] Data reception and storage; after the PL end completes the accumulation, an interrupt is initiated to the PS end. CPU0 reads the accumulated data from the PL end through the AXI interface and stores the data in the DDR. Due to the different minimum time resolution and signal-to-noise ratio requirements of different atmospheric lidar data, the accumulated data output by the PL end can be accumulated twice according to the time resolution requirements. After reaching the specified number of secondary accumulations, the secondary accumulated data is averaged and the secondary accumulation results are stored in the specified area of the OCM. At the same time, the software interrupt mechanism is used to trigger CPU1 to generate an interrupt;
[0136] Data processing: CPU1 reads data from the instruction area of OCM, executes the required algorithm processing, and uses the powerful computing power of ARM Cortex-A9 on the PS side to quickly complete complex operations. After the algorithm is completed, CPU1 triggers CPU0 interrupt through the software interrupt mechanism.
[0137] Data output: The processed results are output through a network interface, a serial port or a storage device. If real-time feedback is required, the data can be returned to the PL side through an AXI interface. In one embodiment, the network interface is Ethernet.
[0138] In this application, since the amount of secondary accumulated data and data processed by CPU1 is small, the data processing module 3 in the PS side stores the secondary accumulated data and the data processed by CPU1 in ZYNQ's OCM (On-Chip Memory, 256KB). OCM, as a shared memory, can provide higher performance and lower latency access for the two CPUs compared to using DDR memory. The storage area needs to be divided reasonably when in use. The OCM is divided into two areas: the data input area and the data output area. The data input area is used to store data before processing, which is written by CPU0 and read by CPU1. The data output area is used to store processed data, which is written by CPU1 and read by CPU0. The specific memory division is shown in the following table:
[0139] area Starting address Memory size How to use Data entry area 0x00000000 128KB CPU0 writes, CPU1 reads Data output area 0x00020000 128KB CPU1 writes, CPU0 reads
[0140] Specifically, the clock module 1 is responsible for providing a stable clock signal for the entire data acquisition and processing system to ensure synchronization between modules. In this system, ZYNQ is connected to an external crystal oscillator through a pin to obtain an input clock signal from an external clock source. The clock signal source of clock module 1 is an external crystal oscillator. The on-chip clock management module of the ZYQN chip is used to divide, multiply and phase adjust the clock signal provided by the external crystal oscillator. For example, the clock signal of the external crystal oscillator is 100HZ, 0°, and the internal on-chip clock management module can divide the signal into 50HZ, 0°; 200HZ, 30°; 400HZ, 60°; 250HZ, 100°, etc. The specific setting is based on the requirements of the system.
[0141] The on-chip clock management module inside the ZYNQ chip divides, multiplies or adjusts the phase of the clock to meet the timing requirements of different modules. The clock management module includes PLL (phase-locked loop) and MMCM (mixed mode clock manager). MMCM combines the characteristics of PLL and DCM (digital clock manager) to provide flexible and high-performance clock management functions. Both MMCM and PLL can be used to drive the clock of device logic (such as CLB, DSP, RAM, etc.), and PLL is also commonly used to generate the clock signal required for the memory interface. Each clock management unit (CMT) typically contains one MMCM and one or two PLLs, and the specific configuration depends on the device series and model.
[0142] Specifically, the reset module 2 is responsible for the reset control of the system, ensuring that each module can start normally from the initial state according to the correct timing, and avoiding abnormal operation of the system due to abnormal initial state. The reset module 2 receives the global reset signal from the outside of the ZYNQ chip, and generates the local reset signal required by each module according to the clock synchronization inside the ZYNQ chip. The reset logic includes three modes: power-on reset, clock stability monitoring, and manual reset. The main purpose of the power-on reset is that after the system is powered on, when the power supply reaches a stable voltage and the clock input is normal, the power-on reset signal is released, and the system starts to execute the startup process to ensure that both the PS end and the PL end are in the initial state. The main purpose of the clock stability monitoring reset logic is to ensure that the reference clock of the system reaches the expected frequency and stability before starting other modules to avoid abnormal operation of the system due to clock abnormalities. Zynq's on-chip clock management module (such as PLL / MMCM) usually has a clock lock signal. When the input clock frequency and phase are stable, the Lock signal output by the PLL / MMCM will be set high. The reset module 2 can monitor this signal to ensure that the system is kept in a reset state before the clock stabilizes. Manual reset is to add a reset button or switch in the circuit design, and trigger the reset by pulling down the reset signal line through hardware.
[0143] Specifically, the interface module 4 is a key component for connecting the PL end, the PS end and the external device, and is responsible for realizing the communication and data interaction between the PL end and the external device or the PS end. The interface module 4 is generally divided into an internal interface unit and an external interface unit. The internal interface unit is responsible for the communication between the PL end part and the PS end part. During the data acquisition process, the PL end part transmits the collected data to the PS end memory through the AXI4-Stream or AXI4 interface for further processing by the PS end. After the data processing is completed, the PS end part can be transmitted to the external storage device through the AXI interface. The external interface unit is responsible for the data interaction between the PL end part and the external device (such as a sensor, a memory, etc.), and transmits the external collected data to the PL end part of Zynq for processing, including GPIO, SPI, I2C, UART, ETHERNET and other methods. After the data processing is completed, the PS end can send the processing results to the external memory or remote system (such as uploading data through Ethernet) through the external interface unit. The internal interface unit ensures efficient and low-latency data transmission between the PS and PL ends, while the external interface unit connects the ZYNQ platform to the outside world, ensuring that data acquisition and processing results can be transmitted to other devices or networks in real time.
[0144] The external device refers to a device directly connected to the control circuit, which can perform functions such as data transmission and exchange, command control, etc. For example, it can be connected to a PMT, and the electrical signal output by the PMT is input into an acquisition inversion card for acquisition; it can also be connected to a personal PC to realize operations such as data transmission and control.
[0145] This application integrates atmospheric detection lidar data acquisition and data processing into the same board, eliminating the need for industrial computers, PCs and other equipment, thus improving the portability and reliability of the system;
[0146] This application can realize multi-channel data collection and processing. For the data collection of each channel, the ping-pong mode is used to collect and accumulate data at the same time, which greatly saves the resources of the PL end;
[0147] The number of accumulations can be changed according to the requirements of different laser radar acquisition time resolution. By combining the hardware's primary accumulation with the software's secondary accumulation, the system can be adapted to different atmospheric detection laser radar system requirements while ensuring efficient operation, thus expanding the range of time resolution.
[0148] This application makes full use of ZYNQ's dual-core architecture, performs bare-metal applications on CPU0 and CPU1, reasonably schedules interrupts and memory, and gives full play to the functions of CPU0 and CPU1, so that the system has better application effects and a wider range of applications.
[0149] Based on the technical solution of this application, the following technical effects can be achieved:
[0150] 1. Avoid data transmission delays: This application is based on the use of ZYNQ chips. Data is transmitted between the PL end and ARM in the chip through the on-chip high-speed bus (AXI), with extremely low latency, thus avoiding the bottleneck of transmission through the physical interface in traditional solutions. The on-chip high-speed bus (AXI) supports high bandwidth (up to hundreds of MB / s or even higher), which can meet the real-time requirements of high-frequency sampling scenarios.
[0151] 2. Prevent data loss; data collection and processing are completed inside the ZYNQ chip, eliminating the risk of data loss due to insufficient external communication transmission speed.
[0152] 3. System simplification: The integrated design combines the functions of the data logger and industrial computer into one ZYNQ chip, significantly reducing the hardware size and wiring complexity.
[0153] 4. Improved reliability: Since data collection and processing are performed in the same chip, reliability issues caused by interface or communication link failures in traditional solutions are avoided. ZYNQ chip design is reliable, supports ECC (error detection and correction) memory and hardware error monitoring, further improving the overall reliability of the system.
[0154] 5. High integration: For atmospheric detection lidar data collection and inversion functions, the traditional solution requires data collection to be implemented on the data collector, and the collected data is transmitted to the industrial computer, and the software or algorithm program on the industrial computer performs inversion processing on the data. The integration of the present invention is that now there is no need to use an industrial computer, only a board made of the ZYNQ chip is needed, and data collection and inversion processing can be implemented on the board, and the dual-core performance of ZYNQ can be fully utilized in the process.
[0155] In the description of this specification, the description with reference to the terms "some embodiments" or "examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification.
[0156] The above is only a preferred embodiment of the present invention and does not limit the present invention in any way. Any technician in the relevant technical field, without departing from the scope of the technical solution of the present invention, makes any form of equivalent replacement or modification to the technical solution and technical content disclosed in the present invention, which does not depart from the content of the technical solution of the present invention and still falls within the protection scope of the present invention.
Claims
1. The atmospheric detection lidar data acquisition and processing method based on ZYNQ is characterized by: include: Power on, initialize the PL and PS ends in the ZYNQ chip, and configure acquisition parameters; The PL end in the ZYNQ chip performs data acquisition and preprocessing, wherein the preprocessing includes: accumulating the acquired digital signal to the set number of accumulation times according to the accumulation times set by the acquisition parameters, and averaging the last accumulated data to obtain the first accumulated data; The CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data.
2. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 1 is characterized in that: The PL end in the ZYNQ chip performs data acquisition and preprocessing, including: The PL end in the ZYNQ chip receives multi-channel ADC data, and for each channel, the data stored in the BRAM of the PL end is accumulated with the data already stored in the BRAM to realize data collection and accumulation; According to the accumulation times set by the acquisition parameters, the collected digital signals are accumulated to the set times, and the last accumulated data is averaged to obtain accumulated data.
3. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 2 is characterized in that: The data stored in the BRAM of the PL end each time is accumulated with the data already stored in the BRAM and stored alternately, including: The BRAM in the PL end includes BRAM0 and BRAM1, and the data of each channel is alternately accumulated and stored in BRAM0 and BRAM1 in a ping-pong mode.
4. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 1 is characterized in that: The CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data, including: Dividing the accumulated data into a short-distance portion and a long-distance portion according to a signal-to-noise ratio threshold; Keep the near distance part unchanged and perform secondary accumulation processing on the far distance part; The near-distance part that remains unchanged is spliced with the far-distance part after the secondary accumulation processing.
5. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 4 is characterized in that: The second accumulation process for the long-distance part includes: CPU0 performs secondary accumulation of the long-distance data stored in the DDR of the PS end through software, averages the data reaching the specified accumulation points, and splices the averaged long-distance data with the unchanged short-distance data. The spliced data is the secondary accumulation data.
6. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 1 is characterized in that: The CPU0 at the PS end of the ZYNQ chip performs secondary accumulation processing on the accumulated data, including: CPU0 stores the data after the secondary accumulation processing in OCM, and triggers the CPU1 interrupt on the PS side at the same time; CPU1 processes the data after the secondary accumulation processing stored in the OCM on the PS side, and stores the processing results in the designated OCM area after completion, triggering the CPU0 interrupt, and CPU0 outputs the data after receiving the interrupt.
7. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 6 is characterized in that: The CPU 1 processes the data after the secondary accumulation process stored in the OCM of the PS end, including: The CPU 1 processes the data after the secondary accumulation process stored in the OCM of the PS end to obtain target data, and the obtained target data includes one or more of the extinction coefficient, the backscattering coefficient or the wind speed.
8. The atmospheric detection laser radar data acquisition and processing method based on ZYNQ according to claim 7 is characterized in that: Also includes: Store the target data into the specified OCM area; The CPU0 interrupt is triggered, and after receiving the interrupt, the CPU0 uploads the target data in the OCM area to an external host computer or an external storage device via Ethernet.
9. A ZYNQ-based atmospheric detection laser radar data acquisition and processing system, characterized in that: A control circuit using a ZYNQ chip as a processing chip is included, and the control circuit includes: A data acquisition module, located in the PL end of the ZYNQ chip, is used for high-speed acquisition and preprocessing of signals. The preprocessing includes accumulating the acquired digital signal to a set number of accumulation times according to a set number of accumulation times, and averaging the last accumulated data to obtain a first accumulation data; The data processing module is located in the PS end of the ZYNQ chip. The PS end includes CPU0 and CPU1. The CPU0 is used to communicate with the PL end, perform secondary accumulation of accumulated data and data transmission of an external host computer, as well as scheduling and coordination with the CPU1; the CPU1 is used for real-time processing of secondary accumulated data.
10. The atmospheric detection laser radar data acquisition and processing system based on ZYNQ according to claim 9 is characterized in that: The data acquisition module includes a sampling unit, a data accumulation unit, a data cache unit and an AXI interface unit; The sampling unit receives the multi-channel digital signals converted by the multi-channel ADC unit and sends them to the PL terminal; The data accumulation unit performs a preprocessing operation on signals of different channels, wherein the preprocessing operation includes accumulation and averaging; The data cache unit temporarily stores the sampled and pre-processed data in different BRAMs to prepare for subsequent data transmission with the PS end; The AXI interface unit is used to realize data transmission between the PL end and the PS end.
Citation Information
Cited By
Soft and hard heterogeneous data processing system and method for atmospheric detection laser radar
CN122111888A
Soft and hard heterogeneous data processing system and method for atmospheric sounding lidar
CN122111888B