A Two-Dimensional Turntable Scanning Control Method and System Based on RAM Core Segmented Reading

By using segmented reading of RAM IP cores and priority management of arbitrators, the imaging offset problem caused by non-real-time operation in traditional two-dimensional turntable control methods is solved, achieving high precision and flexibility in underwater scanning detection and meeting the high-resolution imaging requirements of seabed topography.

CN121348285BActive Publication Date: 2026-03-10QILU UNIVERSITY OF TECHNOLOGY (SHANDONG ACADEMY OF SCIENCES) +1
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-22
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Traditional two-dimensional turntable control methods suffer from non-real-time issues in underwater scanning and detection, leading to imaging shifts and failing to meet the requirements for high-resolution imaging.

Method used

A segmented reading method using RAM IP cores is adopted. The host computer instructions are obtained through the serial port module and written into RAM. An arbitrator module is designed for priority management to realize the synchronous and periodic scanning of the two-dimensional turntable, ensuring fast and accurate indexing and scheduling of instructions.

Benefits of technology

It achieves real-time performance and accuracy during the scanning process, meets the high precision and flexibility requirements of underwater scanning and detection, and ensures high-resolution imaging of seabed topography.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121348285B_ABST
    Figure CN121348285B_ABST
Patent Text Reader

Abstract

This application belongs to the field of underwater topographic mapping using photon counting scanning lidar, specifically involving a two-dimensional turntable scanning control method and system based on segmented RAM core reading. It proposes using a segmented RAM core reading method to achieve flexible underwater topographic scanning and detection. By parsing the instructions sent by the host computer, the two-dimensional turntable control instructions are written into the corresponding RAM address, obtaining the angle counting threshold and initialization instructions. The initialization instructions and segment frame control instructions are then sequentially sent to the two-dimensional turntable via a serial port transmission module, achieving real-time adaptive control of the turntable's scanning speed and angle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of underwater detection using photon counting scanning lidar, specifically relating to a two-dimensional turntable scanning control method and system based on segmented reading of RAM cores. Background Technology

[0002] With the continuous development of the ocean, the detailed exploration of seabed topography has become one of the most fundamental research areas in oceanography. Currently, the mainstream exploration method is to use a two-dimensional turntable equipped with a lidar to achieve high-resolution imaging of the target seabed topography through controlled elevation and azimuth scanning. Traditional methods for controlling the two-dimensional turntable usually rely on host computer software to send control commands such as angle and speed to the turntable via serial port protocol to achieve scanning path planning and execution. Another common method is to use a microcontroller for local control, sending speed, angle, and other commands set internally by the microcontroller to the turntable to achieve angle adjustment, speed control, and scanning strategy management. However, while controlling the turntable through host computer software offers greater flexibility, the non-real-time nature of the operating system results in significant random time jitter during control, causing the detection imaging to deviate and failing to meet the requirements of underwater scanning exploration. Summary of the Invention

[0003] To address the aforementioned issues, this application utilizes a serial port module to acquire speed and angle control commands sent by the host computer and write them into RAM. The commands are parsed to extract speed and angle parameters, which are then converted into angle counting thresholds by a floating-point calculation module. A serial port sending module is used to send initialization commands and pitch and azimuth control commands. An arbitrator module determines the serial port sending control, with the initialization command having the highest priority. After initialization, the 2D turntable begins synchronous and periodic scanning of the pitch and azimuth axes. The RAM's total address is divided into six base address segments to store pitch and azimuth speeds and positive and negative angle frame control commands, respectively. An external high-level signal is used as a trigger signal. When an external trigger signal is detected, pitch and azimuth speeds are sent first, followed by alternating transmission of pitch and azimuth angle frame control commands. During this alternating transmission, negative angle frame control commands are sent first. When the counter reaches the angle counting threshold, the system periodically switches and sends angle frame control commands in the opposite direction. This process repeats to achieve synchronous and periodic scanning of the 2D turntable's pitch and azimuth axes.

[0004] To achieve the above objectives, the technical solution of the present invention is as follows:

[0005] A two-dimensional turntable scanning control method based on segmented RAM core reading includes the following steps:

[0006] S1. The host computer sends two-dimensional turntable control commands to the FPGA via the serial port module;

[0007] S2. The FPGA receives the turntable control instructions and increments the write address after each byte is received, writing the two-dimensional turntable control instructions into RAM in sequence.

[0008] S3.FPGA parses the control instructions written to RAM, determines a complete control instruction message frame through the frame header, obtains the pitch and azimuth speed and angle parameters through the function code address, and latches the pitch and azimuth positive direction angle control instructions.

[0009] S4. Perform floating-point calculations on the pitch and azimuth speed and angle parameters to determine the threshold value for the alternating sending counting interval of the two-dimensional turntable angle control command;

[0010] S5. Configure the RAM read module to segment the RAM address according to the number of bytes in the frame message, and determine the frame instruction that the state machine needs to send at the moment based on the counting interval threshold;

[0011] S6. Using latched frame control instructions, initialize the speed, pitch, and azimuth positions of the two-dimensional turntable; use the RAM reading module to perform alternating scanning of the pitch and azimuth axes.

[0012] Furthermore, for each byte of data received by the FPGA serial port, a byte reception completion flag signal rx_done is generated.

[0013] Furthermore, each time the FPGA detects a byte reception completion flag signal rx_done, it generates a write enable signal, writes the current byte data to the corresponding address in RAM, and increments the write address by 1.

[0014] Furthermore, an N-byte shift register is used to capture speed and angle frame command messages by judging the frame header and function code address, so as to extract the speed and angle parameters of pitch and azimuth. When the positive pitch angle and positive azimuth angle are captured, the current whole frame command message is latched as the two-dimensional turntable initialization control command.

[0015] Furthermore, the acquired pitch and azimuth velocity and angle values ​​are converted into integers that can be processed by the FPGA through floating-point operations, and the azimuth and pitch angle counting thresholds are obtained respectively.

[0016] Angle counting threshold , for:

[0017] ;

[0018] Pitch speed, positive angle, and negative angle are respectively: 、 、 ;

[0019] The azimuth velocity, positive direction angle, and negative direction angle are as follows: 、 、 ;

[0020] Pitch acceleration and azimuth acceleration are respectively , , A floating-point number representing the system clock.

[0021] Furthermore, the RAM address is divided into 6 segments according to the number of frame bytes, which respectively store the control instructions for the frame of pitch speed, azimuth speed, positive pitch angle, negative pitch angle, positive azimuth angle, and negative azimuth angle. The RAM read logic is designed using a state machine, with an external high level as the trigger signal. When the external trigger signal is detected, the state machine transitions from the idle state to the execution state. The execution state jumps in the order of pitch speed, azimuth speed, negative pitch angle, positive pitch angle, negative azimuth angle, and positive pitch angle.

[0022] When reading the angle frame control command, an angle enable signal is generated. Based on the angle count threshold obtained by parsing, a two-to-one selector is used to invert the direction enable signal each time an angle enable signal appears. When the direction enable signal is high, the positive direction angle control command is read, and when it is low, the negative direction control command is read.

[0023] Furthermore, the captured frame control commands and the pre-set pitch and azimuth speed commands are used as the initialization control commands for the two-dimensional turntable. An arbitrator is used to arbitrate the priority between the RAM reading module and the initialization command sending module. The arbitrator enables the state machine to send the initialization command first, and sends the corresponding control commands in the order of pitch speed, azimuth speed, pitch positive angle, and azimuth positive angle. After the initialization command is sent, the serial port transmission control is released, and the system waits for an external level signal to trigger the reading of frame control commands in each segment of RAM.

[0024] Furthermore, the alternating transmission of positive and negative angle control commands utilizes two time interval counters, pit_counter and yaw_counter, and two directional enable signals, PIT_DIR and YAW_DIR, for logical control; when reading pitch and azimuth angle frame control commands, pitch and azimuth angle enable signals, PIT_ANGLE_EN and YAW_ANGLE_EN, are generated respectively.

[0025] Furthermore, when sending the pitch angle frame control command, the pitch angle enable signal PIT_ANGLE_EN is set to high. After the frame control command is sent, the pitch angle enable signal PIT_ANGLE_EN is set to low, the pitch direction enable signal PIT_DIR is inverted, and the pitch time interval counter pit_counter starts counting. When pit_counter = pit_int m At this time, the turntable completes the pitch direction rotation, the counter is cleared to 0, the pitch angle enable signal PIT_ANGLE_EN is set to high level, and a pitch angle frame control command in the opposite direction is sent. This cycle is repeated to realize the reciprocating rotation of the turntable's pitch axis.

[0026] When sending an azimuth angle frame control command, the azimuth angle enable signal YAW_ANGLE_EN is set to high. After the frame control command is sent, the azimuth angle enable signal YAW_ANGLE_EN is set to low, the azimuth direction enable signal YAW_DIR is inverted, and the azimuth time interval counter yaw_counter starts counting. When yaw_counter = yaw_int m At this time, the turntable completes the azimuth rotation, the counter is cleared to 0, the azimuth angle enable signal YAW_ANGLE_EN is set to high level, and the azimuth angle frame control command in the opposite direction is sent. This cycle is repeated to realize the reciprocating rotation of the turntable's azimuth axis.

[0027] A two-dimensional turntable scanning control system based on segmented RAM core reading includes a host computer, a parsing module, a floating-point arithmetic module, an initialization command sending module, an arbiter module, and a serial port sending module. After the FPGA receives the two-dimensional turntable control commands sent by the host computer, the parsing module writes the commands into the corresponding RAM addresses and extracts the pitch, azimuth speed and angle parameters and the initialization command message. The floating-point arithmetic module calculates the angle counting threshold in real time based on these parameters. The arbiter module is responsible for allocating serial port sending control rights. The initialization command sending module has the highest priority. After it completes its sending, it releases control rights and waits for an external trigger signal to activate before reading each segment of control commands from the RAM. The serial port sending module is responsible for sending the initial command and each segment of frame control commands sequentially to the two-dimensional scanning turntable to achieve real-time adaptive control of the turntable scanning speed and angle.

[0028] Compared with the prior art, the beneficial effects of this application are as follows:

[0029] This invention presents a scanning control method for an underwater lidar 2D turntable based on segmented reading of RAM IP cores. Leveraging the advantages of RAM's high-speed caching and stable access to complex instructions, RAM IP cores are used as the instruction cache. To address the need for flexible real-time adjustment of scanning speed and angle, a segmented reading mechanism is constructed, dividing the RAM address into multiple independent segments according to function. This enables segmented reading of pitch, azimuth, velocity, and positive / negative angle commands, ensuring that various commands are quickly and accurately indexed and scheduled during the scanning process. Furthermore, the angle alternation transmission logic is adaptively adjusted based on the parsed parameters. On this basis, an arbiter is designed to manage the priority of command transmission, constructing an "initialize first, then scan" execution logic to ensure the orderly transmission of initialization commands, speed, and angle scanning commands. This method, without sacrificing accuracy, meets the requirements for flexible real-time adjustment of scanning speed and angle, achieving high-precision and flexible scanning and detection of seabed topography. Attached Figure Description

[0030] Figure 1 This is a system block diagram of this application;

[0031] Figure 2 This is a graph showing the relationship between the speed and time of a two-dimensional turntable.

[0032] Figure 3 A logic diagram for alternately sending pitch and azimuth angle control commands. Detailed Implementation

[0033] The technical solution of this application will be described in detail below with reference to specific embodiments and accompanying drawings. It should be understood that the embodiments and specific features in the embodiments are detailed descriptions of the technical solution of this application, rather than limitations thereof. Specific technical features can be combined with each other.

[0034] This design provides an underwater lidar 2D turntable scanning control system based on RAM core segmented reading, including a host computer, a command parsing module, a floating-point arithmetic module, an initialization command sending module, an arbitrator module, and a serial port sending module. After the FPGA receives the 2D turntable control commands sent by the host computer, the parsing module writes the commands into the corresponding RAM addresses and extracts the pitch, azimuth speed and angle parameters and the initialization command message. The floating-point arithmetic module calculates the angle counting threshold in real time based on these parameters. The arbitrator is responsible for allocating serial port sending control rights. The initialization command sending module has the highest priority. After it completes its sending, it releases control rights and is activated by an external trigger signal to read each segment of control commands from RAM. The serial port sending module is responsible for sending the initial command and each segment of frame control commands sequentially to the 2D scanning turntable, realizing real-time adaptive control of the turntable scanning speed and angle.

[0035] A two-dimensional turntable scanning control method based on segmented RAM core reading includes the following steps:

[0036] S1. The host computer sends two-dimensional turntable control commands to the FPGA via the serial port module.

[0037] The host computer sends pitch, azimuth speed, and angle control commands to the FPGA. The two-dimensional turntable control commands are written into the corresponding addresses in RAM in sequence. Using an N-byte shift register, the pitch, azimuth speed, and angle parameters are extracted by judging the frame header and function code address. The pitch and azimuth positive direction angle control commands are latched as turntable initialization commands.

[0038] S2. The FPGA receives the turntable control instructions and increments the write address after each byte is received, writing the two-dimensional turntable control instructions into RAM in sequence.

[0039] When the FPGA detects a byte reception completion flag signal rx_done, it generates a write enable signal, writes the current byte data to the corresponding address in RAM, and increments the write address by 1.

[0040] S3.FPGA parses the control instructions written to RAM, determines a complete control instruction message frame through the frame header, obtains the pitch and azimuth speed and angle parameters through the function code address, and latches the pitch and azimuth positive direction angle control instructions.

[0041] S4. Perform floating-point calculations on the pitch and azimuth speed and angle parameters to determine the threshold value for the alternating sending counting interval of the two-dimensional turntable angle control command;

[0042] The acquired pitch and azimuth velocity and angle values ​​are converted into integers that can be processed by the FPGA through floating-point arithmetic, and the azimuth and pitch angle counting thresholds are obtained respectively.

[0043] The two-dimensional turntable scanning control method based on RAM core segmented reading has the following steps: The host computer sends pitch, azimuth speed, and angle control commands to the FPGA. These commands are all composed of N bytes. The FPGA generates a receive completion signal rx_done for each byte of data received, and generates a write enable signal after detecting the signal to write the current byte of data to the corresponding address in RAM. The write address is incremented by 1. This process is repeated until the two-dimensional turntable control commands are completely written to the corresponding addresses in RAM in sequence. While writing the received control commands to RAM, an N-byte shift register is used to extract the valid speed and angle control commands by judging the frame header. Then, the pitch and azimuth speed and angle parameters are extracted by identifying different function code addresses. The identified pitch and azimuth positive direction angle commands are latched as turntable initialization commands.

[0044] To achieve the reciprocating motion of the turntable in pitch and azimuth, the time interval for alternating azimuth and pitch axis scans is determined based on the turntable's scanning speed and angle, and a counter is used to accurately time this time interval. The counter uses the system clock as its counting reference; given the clock frequency, the required interval delay is determined by setting the maximum counter value. A floating-point IP core is used to convert the time interval for alternating pitch and azimuth axis scans into an angle counting threshold using floating-point arithmetic. Assume the pitch speed, positive angle, and negative angle are as follows: 、 、 The azimuth velocity, positive direction angle, and negative direction angle are as follows: 、 、 Since the turntable accelerates and decelerates during rotation, acceleration must also be considered. The required parameters are calculated using relevant acceleration formulas. Assume the pitch acceleration and azimuth acceleration are respectively... , The formula related to acceleration is:

[0045] ;

[0046] ;

[0047] In the formula, The final velocity, Let the initial velocity be , For acceleration time, If it is displacement, then the angle counting threshold is... 、 for:

[0048] ;

[0049] in, The system clock is a 32-bit floating-point number. CLK_FREQ f =32'h4C3EBC20 .

[0050] Pitch speed, positive angle, and negative angle are respectively: 、 、 The azimuth velocity, positive direction angle, and negative direction angle are as follows: 、 、 Pitch acceleration and azimuth acceleration are respectively , , A floating-point number representing the system clock.

[0051] S5. Configure the RAM read module to segment the RAM address according to the number of bytes in the frame message, and determine the frame instruction that the state machine needs to send at the moment based on the counting interval threshold.

[0052] S6. Using latched frame control instructions, initialize the speed, pitch, and azimuth positions of the two-dimensional turntable; use the RAM reading module to perform alternating scanning of the pitch and azimuth axes.

[0053] The logic for sending control commands is defined, including the logic for sending initialization commands and the logic for alternately sending pitch and azimuth control commands. The initialization command sending module initializes the pitch and azimuth positions of the 2D turntable, controlling the turntable to rotate to the starting point of this scan. Based on the pitch and azimuth positive direction angle control commands latched and extracted by the command parsing module, as well as the pre-set pitch and azimuth velocity control commands, the initialization command sending logic is designed using a state machine. According to different states of the state machine, corresponding control commands are sent to achieve the sequential sending of pitch velocity, azimuth velocity, pitch positive direction angle, and azimuth positive direction angle commands.

[0054] The design incorporates alternating transmission logic for pitch and azimuth control commands. The RAM read module divides the RAM address into six segments based on the number of bytes in the frame message, storing the pitch and azimuth speeds and positive and negative direction angle frame control commands respectively. Corresponding control commands are sent according to the different states of the state machine. To achieve alternating transmission of angle commands, based on the angle enable signal generated from reading the angle frame control command and the parsed angle count threshold, a 2-to-1 selector is used. Whenever an angle enable signal appears, the direction enable signal is inverted. When the direction enable signal is high, the state machine jumps to the positive direction angle control command transmission state; when it is low, it jumps to the negative direction control command transmission state.

[0055] To prevent control command transmission conflicts, an arbitrator module is introduced. The arbitrator arbitrates the priority between the RAM read module and the initial command sending module, with the initialization command sending having the highest priority. Once the initialization command trigger signal init_trigger generated when the command parsing module completes latching the corresponding pitch and azimuth positive direction angle command is detected, the system immediately preempts the serial port transmission control and sends the pitch and azimuth control commands.

[0056] In the initialization command sending process, a frame byte counter Frame_cnt1 is used. A sending completion signal tx_done is generated for each byte of data sent. When a tx_done signal is detected, the frame byte counter Frame_cnt1 increments by 1. When Frame_cnt1 = N-1 and a tx_done signal is detected, the frame byte counter is cleared to 0, the current frame command has been sent, the state machine jumps to the next state, and the loop continues until the last frame command has been sent. Then the state machine jumps to the idle state to wait for the next trigger signal. The pitch speed, azimuth speed, pitch positive direction angle, and azimuth positive direction angle commands are sent sequentially. The 2D turntable rotates to the scanning start point to complete the initialization of the pitch and azimuth positions.

[0057] After the initialization command is sent, the serial port transmission control is released. An external high-level signal is used as the trigger signal. Upon detecting the external trigger signal, the RAM read module reads the frame control command at the corresponding address according to the set logic and sends it through the serial port transmission module. In the frame control command transmission process of each RAM segment, a frame byte counter Frame_cnt2 is used. A transmission completion signal tx_done is generated for each byte of data sent. Upon detecting a tx_done signal, the frame byte counter Frame_cnt2 increments by 1. When Frame_cnt2 = N-1 and a tx_done signal is detected, the frame byte counter is cleared to 0, the current frame command has been sent, and the state machine jumps to the next state to send the next frame control command. This continues until the pitch speed, azimuth speed, pitch negative angle, and azimuth negative angle frame control commands have been sent sequentially. Then, the machine jumps to the state of alternating pitch positive and negative angle and azimuth positive and negative angle transmission.

[0058] The alternating transmission of positive and negative angle commands is controlled by two time interval counters, pit_counter and yaw_counter, and two directional enable signals, PIT_DIR and YAW_DIR. When reading pitch and azimuth angle frame control commands, pitch and azimuth angle enable signals, PIT_ANGLE_EN and YAW_ANGLE_EN, are generated respectively.

[0059] When sending a pitch angle frame control command, the pitch angle enable signal PIT_ANGLE_EN is set to high. After the frame control command is sent, the pitch angle enable signal PIT_ANGLE_EN is set to low, the pitch direction enable signal PIT_DIR is inverted, and the pitch time interval counter pit_counter starts counting. When pit_counter = pit_int mAt this time, the turntable completes the pitch rotation, the counter is cleared to 0, the pitch angle enable signal PIT_ANGLE_EN is set to high, and a pitch angle frame control command in the opposite direction is sent. This cycle is repeated to achieve the reciprocating rotation of the turntable's pitch axis. Similarly, when sending the azimuth angle frame control command, the azimuth angle enable signal YAW_ANGLE_EN is set to high. After the frame control command is sent, the azimuth angle enable signal YAW_ANGLE_EN is set to low, the azimuth direction enable signal YAW_DIR is inverted, and the azimuth time interval counter yaw_counter starts counting. When yaw_counter = yaw_int m At this time, the turntable completes the azimuth rotation, the counter is cleared to 0, the azimuth angle enable signal YAW_ANGLE_EN is set to high level, and the azimuth angle frame control command in the opposite direction is sent. This cycle is repeated to realize the reciprocating rotation of the turntable's azimuth axis.

[0060] from Figure 3 As can be seen, the angle direction signal is initially low. A negative angle control command is sent, and an angle enable signal is generated. After the current angle command is sent, the angle enable signal is set to low, and the angle direction signal is flipped. The counter starts counting. When the count reaches the angle counting threshold, an angle control command in the opposite direction is sent and the counter is cleared to 0. This cycle is repeated to achieve the alternating sending of angle control commands.

[0061] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A two-dimensional rotary table scanning control method based on RAM core segmentation reading, characterized in that, The method comprises the following steps: S1. The host computer sends two-dimensional turntable control instructions to the FPGA through a serial module; S2. The FPGA receives the turntable control instructions and increments the write address after the reception of each byte is completed, and writes the two-dimensional turntable control instructions into the RAM in sequence; S3. The FPGA analyzes the control instructions written into the RAM, determines a complete control instruction message through the frame header, obtains the speed and angle parameters of the elevation and azimuth through the function code address, and latches the positive direction angle control instructions of the elevation and azimuth; S4. The speed and angle parameters of the elevation and azimuth are subjected to floating point number operation to determine the threshold of the alternating sending interval of the two-dimensional turntable angle control instructions; The speed and angle values of the elevation and azimuth obtained are converted into integers that can be processed by the FPGA through floating point number operation to obtain the azimuth and elevation angle count thresholds, respectively; Angle count threshold , is: Pitch velocity, positive direction angle, negative direction angle are respectively: , , Azimuth velocity, positive direction angle, negative direction angle are respectively: , , Pitch acceleration, azimuth acceleration are respectively , , Floating point number of system clock; S5. The RAM reading module is configured, the RAM address is segmented according to the frame byte number, and the frame instructions required to be sent by the state machine at present are determined according to the count interval threshold; The RAM address is segmented according to the frame byte number, and the elevation speed, azimuth speed, elevation positive direction angle, elevation negative direction angle, azimuth positive direction angle and azimuth negative direction angle frame control instructions are stored, respectively, the RAM reading logic is designed by using the state machine, an external high level is used as a trigger signal, when the external trigger signal is detected, the state machine migrates from the idle state to the execution state, and the execution state performs state jumping in the order of the elevation speed, azimuth speed, elevation negative direction angle, elevation positive direction angle, azimuth negative direction angle and azimuth positive direction angle; When the angle frame control instruction is read, an angle enable signal is generated, based on the angle count threshold obtained by analysis, a two-way selector is used, every time an angle enable signal appears, the direction enable signal is inverted, when the direction enable signal is at a high level, the positive direction angle control instruction is read, and when the direction enable signal is at a low level, the negative direction control instruction is read; The captured frame control instructions and the pre-set elevation and azimuth speed instructions are used as two-dimensional turntable initialization control instructions, the priority arbitration of the RAM reading module and the initialization instruction sending module is performed by using an arbitrator, the initialization instruction is preferentially sent by using the arbitrator, and the corresponding control instructions are sent in the order of the elevation speed, azimuth speed, elevation positive direction angle and azimuth positive direction angle; after the initialization instruction is sent, the serial sending control right is released, and the reading of the frame control instructions of the segments of the RAM is waited for the triggering of the external level signal; S6. The latched frame control instructions are used to complete the initialization setting of the speed, elevation and azimuth position of the two-dimensional turntable; The RAM reading module is used to complete the alternate scanning of the elevation and azimuth axes.

2. The RAM core based segmented read 2D rotary table scan control method of claim 1, wherein, The FPGA generates a byte reception completion flag signal rx_done for every byte data received.

3. The RAM core based segmented read two-dimensional rotary table scan control method of claim 1, wherein, The FPGA generates a write enable signal for every byte reception completion flag signal rx_done detected, and writes the current byte data into the corresponding address of the RAM, and the write address is incremented by 1.

4. The RAM core based segmented read 2D rotary table scan control method of claim 1, wherein, The speed and angle parameters of the pitch and azimuth are extracted by judging the frame header and function code address to capture the speed, angle frame instruction message with an N-byte shift register. When the positive direction angle of the pitch and azimuth is captured, the current frame instruction message is latched as the two-dimensional turntable initialization control instruction.

5. The RAM core based segmented read 2D rotary table scan control method of claim 1, wherein, The positive and negative angle control instructions are alternately sent by using two time interval counters pit_counter and yaw_counter and two direction enable signals PIT_DIR and YAW_DIR for logical control. When the pitch and azimuth angle frame control instructions are read, the pitch and azimuth angle enable signals PIT_ANGLE_EN and YAW_ANGLE_EN are generated respectively.

6. The RAM core based segmented read two-dimensional rotary table scan control method of claim 1, wherein, When sending the frame control command of the pitch angle, the pitch angle enable signal PIT_ANGLE_EN is set to high level. After the frame control command is sent, the pitch angle enable signal PIT_ANGLE_EN is set to low level, the pitch direction enable signal PIT_DIR is inverted, and the pitch time interval counter pit_counter starts counting. When pit_counter=pit_int m , the rotary table completes the pitch direction rotation. The counter is cleared, the pitch angle enable signal PIT_ANGLE_EN is set to high level, and the frame control command of the pitch angle in the opposite direction is sent. The above process is repeated to realize the reciprocating rotation of the pitch axis of the rotary table. When the frame control instruction of the azimuth angle is sent, the azimuth angle enable signal YAW_ANGLE_EN is set to high level. After the frame control instruction is sent, the azimuth angle enable signal YAW_ANGLE_EN is set to low level, the azimuth direction enable signal YAW_DIR is inverted, and the azimuth time interval counter yaw_counter starts counting. When yaw_counter=yaw_int m , the turntable completes the azimuth direction rotation, the counter is cleared to 0, the azimuth angle enable signal YAW_ANGLE_EN is set to high level, and the frame control instruction of the azimuth angle in the opposite direction is sent. The above process is repeated to realize the reciprocating rotation of the azimuth axis of the turntable.

7. A RAM core segmented read based two-dimensional rotary table scanning control system adapted to the method of any of claims 1-6, characterized by, The system includes a host computer, an analysis module, a floating point operation module, an initialization instruction sending module, an arbiter module and a serial port sending module. After the FPGA receives the two-dimensional turntable control instruction sent by the host computer, the analysis module writes the instruction into the corresponding address of the RAM and extracts the speed and angle parameters of the pitch and azimuth and the initialization instruction message. The floating point operation module calculates the angle count threshold in real time according to these parameters. The arbiter module is responsible for distributing the serial port sending control right. The initialization instruction sending module has the highest priority. After its sending is completed, the control right is released. After the external trigger signal is activated, the control instructions in the RAM are read again. The serial port sending module is responsible for sending the initial instruction and the frame control instructions to the two-dimensional scanning turntable in sequence to realize the real-time adaptive control of the scanning speed and angle of the turntable.

Citation Information

Patent Citations

  • FPGA-based laser radar two-dimensional scanning control method and system

    CN117647792A

  • Unattended turntable servo control system

    CN120255584A