Adaptive control method and system for offset between channels of oscilloscope and oscilloscope

By obtaining the target offset value input by the user and the current time base gear in the oscilloscope, calculating and decomposing the target points, and generating an adaptive control amount, the problem that the offset input value in the prior art cannot accurately correspond to the actual data movement amount, and the precise adaptive adjustment of the oscilloscope channel offset is achieved, and the use efficiency is improved.

CN119738598AActive Publication Date: 2025-04-01成都玖锦科技有限公司
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
CN202510060284.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-15
Publication Date
2025-04-01
Estimated Expiration
2045-01-15

AI Technical Summary

Technical Problem

In the prior art, when users adjust the offset position of the oscilloscope channel, due to different time base gears, the same offset input value cannot accurately correspond to the actual data movement amount, which affects the user experience and measurement efficiency.

Method used

By obtaining the target offset value input by the user and the current time base gear, determining the current sampling interval and clock period points, calculating the target points and decomposing them into clock period numbers and remaining points, generating first- and second-level adaptive control quantities to achieve accurate adaptive adjustment of channel offsets.

Benefits of technology

Under different base gears, the same offset value is ensured to be converted into a suitable number of moving points, achieving accurate control of data movement, and improving the use efficiency and user experience of the oscilloscope.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119738598A_ABST
    Figure CN119738598A_ABST
Patent Text Reader

Abstract

The invention discloses a self-adaptive control method and system for offset between channels of an oscilloscope and the oscilloscope. The method comprises the following steps: acquiring a target offset value input to a target channel by a user and a current time base gear of the target channel; determining a current sampling interval and a current clock cycle point number according to the current time base gear; obtaining a target point number according to the target offset value; and obtaining the clock cycle number and the remaining point number according to the target point number, generating a first-level self-adaptive control quantity and a second-level self-adaptive control quantity, and executing user offset self-adaptive adjustment of the target channel. The technical problem that in the prior art, when a user adjusts the offset position of a certain channel of an oscilloscope, due to different time base gears, the offset value input by the user cannot accurately correspond to the actual data movement amount is solved. The technical effects that the channel deviation value input by the user can be accurately converted into the corresponding data movement amount under each time base gear, and accurate control over the channel deviation is achieved are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of digital oscilloscopes, and in particular to an adaptive control method and system for offset between oscilloscope channels, and an oscilloscope. Background Art

[0002] As an important electronic measuring instrument, the oscilloscope has one of its basic functions, channel offset adjustment. Users can adjust the display position of a specified channel by inputting an offset value. When using an oscilloscope, in order to observe different signal details, users often need to switch the time base gear. Different time base gears correspond to different sampling intervals.

[0003] In the prior art, due to the different sampling intervals under different time base gears, the same offset input value will result in different actual data movement. For example, under certain time base gears, even if the user inputs offset values ​​such as 100us, 200us, 300us, etc., the actual position change cannot be seen, and a larger value such as 500us must be input to observe the movement effect. This is because the sampling intervals under different time base gears are different, and the same offset input value will result in different actual data movement. This situation seriously affects the user experience of the oscilloscope. The user needs to repeatedly adjust the offset value under different time base gears to obtain the desired display effect, which reduces the measurement efficiency. Summary of the invention

[0004] The main purpose of the present application is to provide an adaptive control method, system and oscilloscope for the offset between oscilloscope channels, aiming to solve the technical problem in the prior art that when a user adjusts the offset position of a channel of an oscilloscope, the offset value input by the user cannot accurately correspond to the actual data movement amount due to different time base gears.

[0005] To achieve the above-mentioned purpose, the present application provides an adaptive control method for the offset between channels of an oscilloscope, comprising: obtaining a target offset value input by a user for a target channel and a current time base gear of the target channel, wherein the target channel is any one of multiple channels in an oscilloscope; determining a current sampling interval and a current number of clock cycle points according to the current time base gear; obtaining a target number of points based on the target offset value and the current sampling interval; decomposing the target number of points according to the current number of clock cycle points to obtain a number of clock cycles and a number of remaining points; generating a first-level adaptive control amount based on the number of clock cycles, and generating a second-level adaptive control amount based on the remaining number of points; and adaptively adjusting the user offset of the target channel according to the first-level adaptive control amount and the second-level adaptive control amount.

[0006] Optionally, the current time base gear is a time base gear that is sampled and adjusted relative to a reference time base gear or a time base gear that is interpolated and adjusted relative to a reference time base gear, wherein the reference time base gear has a reference sampling interval and a reference clock cycle point number.

[0007] Optionally, when the current time base gear is a time base gear that has been sampled and adjusted relative to a benchmark time base gear, determining the current sampling interval and the current clock cycle points based on the current time base gear includes: obtaining the sampling multiple of the current time base gear relative to the benchmark time base gear; multiplying the benchmark sampling interval by the sampling multiple to obtain the current sampling interval; and dividing the benchmark clock cycle points by the sampling multiple to obtain the current clock cycle points.

[0008] Optionally, when the current time base gear is a time base gear that is interpolated and adjusted relative to a benchmark time base gear, determining the current sampling interval and the current clock cycle points based on the current time base gear includes: obtaining the interpolation multiple of the current time base gear relative to the benchmark time base gear; dividing the benchmark sampling interval by the interpolation multiple to obtain the current sampling interval; and multiplying the benchmark clock cycle points by the interpolation multiple to obtain the current clock cycle points.

[0009] Optionally, decomposing the target number of points according to the current clock cycle number of points to obtain the clock cycle number and the remaining points includes: dividing the target number of points by the current clock cycle number of points to obtain the whole cycle number and the remainder points; using the whole cycle number as the clock cycle number; and using the remainder points as the remaining points.

[0010] Optionally, generating a first-level adaptive control amount based on the number of clock cycles, and generating a second-level adaptive control amount based on the remaining number of points, includes: determining an integer number of clock cycles that need to be moved according to the number of clock cycles, and generating the first-level adaptive control amount; determining a point movement amount that is less than one clock cycle according to the remaining number of points, and generating the second-level adaptive control amount.

[0011] Optionally, before adaptively adjusting the user offset of the target channel according to the first-level adaptive control amount and the second-level adaptive control amount, it also includes: detecting a system state change event, wherein the system state change event includes system power-on, bandwidth switching, time base gear switching, signal processing calibration, digital local oscillator or DBI calibration; aligning each channel in response to the system state change event; after completing the alignment of each channel, performing channel offset adaptive adjustment according to the first-level adaptive control amount and the second-level adaptive control amount.

[0012] Optionally, aligning each channel includes: sending a test signal to each channel to obtain trigger data of each channel; determining a trigger source channel based on the trigger data of each channel; calculating the time difference between each channel and the trigger source channel according to the trigger data to obtain a relative offset value of each channel relative to the trigger source channel; and performing alignment adjustment on the corresponding channel according to the relative offset value of each channel.

[0013] In addition, to achieve the above-mentioned purpose, the present application also provides an oscilloscope channel-to-channel offset adaptive control system, comprising multiple FPGA processors, wherein the FPGA processor is provided with an adaptive adaptation processing module, and the adaptive adaptation processing module is used to implement the oscilloscope channel-to-channel offset adaptive control method described in any one of claims 1-8.

[0014] In addition, the present application also provides a digital oscilloscope, comprising the oscilloscope inter-channel offset adaptive control system as described in claim 9.

[0015] The beneficial effects that this application can achieve are as follows:

[0016] By obtaining the target offset value and the current time base gear input by the user for the target channel, the current sampling interval and the number of clock cycle points are determined according to the current time base gear, and the corresponding relationship between the current time base gear and the actual data sampling characteristics is established. The target offset value is divided by the current sampling interval to obtain the target number of points that need to be moved under the current sampling characteristics, ensuring that the same offset value can be converted into a suitable number of moving points under different time base gears. The target number of points is decomposed according to the current clock cycle number of points to obtain the number of clock cycles and the number of remaining points, so that the oscilloscope can process the movement control of the entire cycle and the remaining number of points respectively. Based on the number of clock cycles and the number of remaining points, the first-level adaptive control amount and the second-level adaptive control amount are generated respectively, and the precise control of data movement is achieved through hierarchical control.

[0017] By establishing a corresponding relationship between the time base gear and the sampling characteristics and converting the user input into a control value based on the current sampling characteristics, the problem that the offset value input by the user cannot accurately correspond to the actual data movement amount under different time base gears is solved. This allows the user to accurately control the channel position by entering the offset value under any time base gear, without repeatedly trying different input values. This realizes adaptive control of the channel offset and improves the use efficiency of the oscilloscope. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 A schematic flow chart of an oscilloscope channel-to-channel offset adaptive control method provided in an embodiment of the present application;

[0019] Figure 2A schematic diagram of a flow chart of aligning channels in an adaptive control method for inter-channel offset of an oscilloscope provided in an embodiment of the present application.

[0020] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0021] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0022] It should be noted that all directional indications in the embodiments of the present invention (such as up, down, left, right, front, back, etc.) are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.

[0023] In the present invention, unless otherwise clearly specified and limited, the terms "connection", "fixation", etc. should be understood in a broad sense. For example, "fixation" can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements, unless otherwise clearly defined. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0024] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present invention, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the meaning of "and / or" appearing in the full text includes three parallel schemes. Taking "A and / or B" as an example, it includes scheme A, or scheme B, or a scheme that satisfies both A and B. In addition, the technical solutions between the various embodiments can be combined with each other, but it must be based on the ability of ordinary technicians in the field to implement. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such a combination of technical solutions does not exist and is not within the scope of protection required by the present invention.

[0025] The first embodiment of the present application provides an adaptive control method for oscilloscope channel offset, including:

[0026] S1: Acquire a target offset value input by a user for a target channel and a current time base position of the target channel, wherein the target channel is any one of multiple channels in an oscilloscope;

[0027] S2: Determine the current sampling interval and the current clock cycle points according to the current time base gear;

[0028] S3: obtaining a target number of points based on the target offset value and the current sampling interval;

[0029] S4: Decomposing the target points according to the current clock cycle points to obtain the clock cycle number and the remaining points;

[0030] S5: generating a primary adaptive control amount based on the number of clock cycles, and generating a secondary adaptive control amount based on the number of remaining points;

[0031] S6: Adaptively adjust the user offset of the target channel according to the primary adaptive control amount and the secondary adaptive control amount.

[0032] Specifically, refer to Figure 1 First, obtain the target offset value input by the user for the target channel and the current time base gear of the target channel. The time base gear is a parameter used by the oscilloscope to represent the horizontal time unit scale, such as 1ms / div, 100ns / div, etc. Different time base gears correspond to different time resolutions. The target channel can be any one of the multiple channels in the oscilloscope. The user can select the channel to be adjusted as the target channel according to actual needs.

[0033] Then, the current sampling interval and the current clock cycle points under the current time base gear are determined based on the current time base gear. Among them, the sampling interval refers to the time interval between two adjacent sampling points, and the clock cycle points refer to the number of data points contained in one clock cycle. For example, each channel is configured with 4 ADC acquisition cards for parallel acquisition, and the sampling rate of each ADC acquisition card is 20GSPS (20 billion sampling points per second). Under the time base gear of 50ns / div, one clock cycle is 4ns, each scale contains 1000 sampling points, and the time interval between adjacent sampling points is 50ps; when the four ADC acquisition cards work in parallel, each ADC acquisition card collects 20 data points in one clock cycle, and one clock cycle contains a total of 80 data points. Since different time base gears correspond to different sampling characteristics, by determining the current sampling interval and the current clock cycle points, the corresponding relationship between the time base gear and the specific sampling parameters can be established.

[0034] Then, the target offset value entered by the user is divided by the current sampling interval to obtain the target number of points. For example, at the 50ns / div time base, if the user enters a target offset value of 50ns, the target number of points is 1000 because the sampling interval is 50ps at this time. Through this conversion, the offset value in the time domain is converted into the actual number of data points that need to be moved, making the offset control more accurate. Next, the calculated target number of points is decomposed according to the current clock cycle number of points to obtain the number of clock cycles and the remaining number of points. For example, when a clock cycle contains 80 data points, the target number of 1000 points can be decomposed into 12 complete clock cycles (960 points) and 40 remaining points. This decomposition method divides data movement into two parts: full cycle movement and less than one cycle movement, laying the foundation for subsequent hierarchical control.

[0035] Then, the first-level adaptive control amount and the second-level adaptive control amount are generated based on the number of clock cycles and the number of remaining points. Among them, the first-level adaptive control amount is used to control the reading and movement of parallel data. For example, the first-level adaptive control amount generated based on 12 clock cycles controls 4 ADC acquisition cards to move 12 clock cycles for parallel data reading; the second-level adaptive control amount is used to control the precise movement of serial data. For example, the second-level adaptive control amount generated based on 40 remaining points controls the precise movement of serial data. Through the control mechanism combining parallel movement reading and serial movement reading, fine adjustment of data movement can be achieved. Afterwards, the user offset of the target channel is adaptively adjusted according to the first-level adaptive control amount and the second-level adaptive control amount. The parallel data reading of the ADC acquisition card is controlled by the first-level adaptive control amount, and the precise movement of the serial data is controlled by the second-level adaptive control amount, so as to achieve the channel offset effect expected by the user. By combining parallel and serial, an adaptive conversion mechanism from user input to actual control amount is established, so that the user's offset control requirements can be accurately executed under different time base gears.

[0036] For example, an oscilloscope has multiple channels, each channel is configured with 4 ADC acquisition cards to collect data in parallel, and the sampling rate of each ADC acquisition card is 20GSPS (20 billion sampling points per second). In one clock cycle (4ns), each ADC acquisition card collects 20 data points, so when the four ADC acquisition cards work in parallel, a total of 80 data points are collected in one clock cycle.

[0037] Assume that when the user uses the oscilloscope to observe the signal of an electronic circuit, he finds that the waveform display position of channel 2 needs to be adjusted. The current oscilloscope works at the time base position of 50ns / div, and the sampling interval corresponding to this position is 50ps. The user enters a target offset value of 50ns for channel 2 through the oscilloscope interface.

[0038] After the oscilloscope obtains this offset value, it divides 50ns by the sampling interval of 50ps and calculates that 1000 data points need to be moved. Then these 1000 points are decomposed into 80 points per clock cycle, resulting in 12 complete clock cycles (960 points) and 40 remaining points.

[0039] The first-level adaptive control controls the parallel data reading of the four ADC acquisition cards, and realizes data movement by adjusting the reading timing of 12 complete clock cycles. After the parallel data is read, it is converted into serial data. At this time, the second-level adaptive control makes precise 40-point movement adjustment on the serial data. By combining parallel reading control and serial data adjustment, the user's expected 50ns offset adjustment is achieved.

[0040] As an optional implementation, the current time base gear is a time base gear after sampling adjustment relative to a reference time base gear or a time base gear after interpolation adjustment relative to a reference time base gear, wherein the reference time base gear has a reference sampling interval and a reference clock cycle point number.

[0041] Specifically, the current time base position is obtained by sampling or interpolating the reference time base position. The reference time base position has a specific reference sampling interval and reference clock cycle point number. Taking 50ns / div as the reference time base position as an example, its reference sampling interval is 50ps, the reference clock cycle is 4ns, the reference clock cycle point number is 80 data points, and each scale contains 1000 sampling points.

[0042] When the sampling adjustment is performed, the number of sampling points per scale remains unchanged at 1000 points. Under the 100ns / div time base gear with a sampling of 2 times, 100ns / 1000 obtains a sampling interval of 100ps, and the number of clock cycle points becomes 40 data points; under the 200ns / div time base gear with a sampling of 4 times, 200ns / 1000 obtains a sampling interval of 200ps, and the number of clock cycle points becomes 20 data points.

[0043] When interpolation adjustment is performed, the number of sampling points increases accordingly. At the 20ns / div time base with interpolation of 2 times, the sampling interval is reduced to 25ps, and the number of clock cycle points increases to 160 data points; at the 10ns / div time base with interpolation of 4 times, the sampling interval is reduced to 12.5ps, and the number of clock cycle points increases to 320 data points.

[0044] By adopting a mechanism of sampling or interpolation adjustment based on the reference time base gear, the system can flexibly adjust the sampling characteristics under different time base gears.

[0045] As an optional implementation manner, when the current time base gear is a time base gear that is sampled and adjusted relative to a reference time base gear, determining the current sampling interval and the current clock cycle points according to the current time base gear includes:

[0046] S21: Obtaining a sampling multiple of the current time base gear relative to the reference time base gear;

[0047] S22: multiplying the reference sampling interval by the sampling multiple to obtain a current sampling interval;

[0048] S23: Divide the reference clock cycle point number by the sampling multiple to obtain the current clock cycle point number.

[0049] Specifically, if the current time base gear is obtained by sampling and adjusting the reference time base gear, the corresponding sampling interval and clock cycle points are determined.

[0050] First, determine the sampling multiple of the current time base gear relative to the reference time base gear. For example, when the reference time base gear is 50ns / div and each scale has 1000 sampling points, when switching to the 100ns / div time base gear, keep 1000 sampling points per scale unchanged, the time base is expanded by 2 times, that is, the sampling multiple is 2; when switching to the 200ns / div time base gear, the sampling multiple is 4.

[0051] Then, the current sampling interval is calculated based on the obtained sampling multiple. Specifically, the current sampling interval is obtained by multiplying the reference sampling interval by the sampling multiple. For example, when the sampling multiple is 2, the current sampling interval is twice the reference sampling interval of 50ps, that is, 100ps (100ns / 1000); when the sampling multiple is 4, the current sampling interval is four times the reference sampling interval of 50ps, that is, 200ps (200ns / 1000).

[0052] At the same time, calculate the number of points in the current clock cycle. Since sampling will reduce the number of sampling points per unit time, the number of points in the base clock cycle is divided by the sampling multiple to get the number of points in the current clock cycle. For example, when the sampling multiple is 2, the number of points in the current clock cycle is 80 points in the base clock cycle divided by 2, that is, 40 points; when the sampling multiple is 4, the number of points in the current clock cycle is 80 points in the base clock cycle divided by 4, that is, 20 points.

[0053] Through the above calculation method, the sampling characteristic parameters under the current time base gear can be accurately determined according to the sampling multiple.

[0054] Determine the sampling multiple of the current time base gear relative to the reference time base gear according to the current time base gear. For example, when the reference time base gear is 50ns / div, the sampling multiple is 2 when the current time base gear is 100ns / div, and the sampling multiple is 4 when the current time base gear is 200ns / div. Then, calculate the current sampling interval based on the acquired sampling multiple. Specifically, multiply the reference sampling interval by the sampling multiple to obtain the current sampling interval. For example, when the sampling multiple is 2, the current sampling interval is twice the reference sampling interval of 50ps, that is, 100ps; when the sampling multiple is 4, the current sampling interval is four times the reference sampling interval of 50ps, that is, 200ps.

[0055] At the same time, calculate the number of points in the current clock cycle. Since sampling will reduce the number of sampling points per unit time, the number of points in the base clock cycle is divided by the sampling multiple to get the number of points in the current clock cycle. For example, when the sampling multiple is 2, the number of points in the current clock cycle is 80 points in the base clock cycle divided by 2, that is, 40 points; when the sampling multiple is 4, the number of points in the current clock cycle is 80 points in the base clock cycle divided by 4, that is, 20 points.

[0056] Through the above calculation method, the sampling characteristic parameters under the current time base gear can be accurately determined according to the sampling multiple.

[0057] As an optional implementation manner, when the current time base gear is a time base gear that is interpolated and adjusted relative to a reference time base gear, determining the current sampling interval and the current clock cycle points according to the current time base gear includes:

[0058] S24: Obtaining an interpolation multiple of the current time base gear relative to the reference time base gear;

[0059] S25: Dividing the reference sampling interval by the interpolation multiple to obtain a current sampling interval;

[0060] S26: Multiply the reference clock cycle point number by the interpolation multiple to obtain the current clock cycle point number.

[0061] Specifically, if the current time base gear is obtained by interpolating and adjusting the reference time base gear, the corresponding sampling interval and clock cycle points are determined.

[0062] First, determine the interpolation multiple of the current time base gear relative to the reference time base gear. For example, when the reference time base gear is 50ns / div and each scale has 1000 sampling points, when switching to the 20ns / div time base gear, in order to maintain the display effect, the number of sampling points per scale needs to be increased to 2000 points, that is, the interpolation multiple is 2; when switching to the 10ns / div time base gear, the number of sampling points per scale needs to be increased to 4000 points, that is, the interpolation multiple is 4.

[0063] Then, the current sampling interval is calculated based on the obtained interpolation multiple. Specifically, the base sampling interval is divided by the interpolation multiple to obtain the current sampling interval. For example, when the interpolation multiple is 2, the current sampling interval is the base sampling interval 50ps divided by 2, that is, 25ps (20ns / 2000); when the interpolation multiple is 4, the current sampling interval is the base sampling interval 50ps divided by 4, that is, 12.5ps (10ns / 4000).

[0064] At the same time, the number of points in the current clock cycle is calculated. Since interpolation increases the number of sampling points per unit time, the number of points in the base clock cycle is multiplied by the interpolation multiple to obtain the number of points in the current clock cycle. For example, when the interpolation multiple is 2, the number of points in the current clock cycle is 80 points in the base clock cycle multiplied by 2, that is, 160 points; when the interpolation multiple is 4, the number of points in the current clock cycle is 80 points in the base clock cycle multiplied by 4, that is, 320 points.

[0065] Through the above calculation method, the sampling characteristic parameters under the current time base gear can be accurately determined according to the interpolation multiple.

[0066] As an optional implementation manner, it is characterized in that the step of decomposing the target points according to the current clock cycle points to obtain the clock cycle number and the remaining points includes:

[0067] S41: Divide the target number of points by the current clock cycle number of points to obtain a whole cycle number and a remainder number of points;

[0068] S42: taking the whole cycle number as the clock cycle number;

[0069] S43: Taking the remainder points as the remaining points.

[0070] Specifically, the target points need to be decomposed according to the clock cycle points so that parallel read control and serial data adjustment can be performed separately later.

[0071] By dividing the target number of points by the current number of clock cycle points, the number of whole cycles and remainder points can be obtained. For example, if the target number of points is 1000 points and the current number of clock cycle points is 80 points, 12 whole cycles (960 points) and 40 remainder points can be obtained; if the target number of points is 500 points and the current number of clock cycle points is 20 points, 25 whole cycles (500 points) and 0 remainder points can be obtained; if the target number of points is 1280 points and the current number of clock cycle points is 320 points, 4 whole cycles (1280 points) and 0 remainder points can be obtained. Subsequently, the obtained whole cycle number is used as the clock cycle number for subsequent control of parallel data reading; the obtained remainder points are used as the remainder points for subsequent precise adjustment of serial data.

[0072] By decomposing the target points, efficiency can be improved by reading data in a complete clock cycle, and precise adjustment in less than one clock cycle can be achieved, thereby realizing adaptive adjustment of the user offset value.

[0073] As an optional implementation manner, it is characterized in that the generating of the primary adaptive control amount based on the number of clock cycles and the generating of the secondary adaptive control amount based on the number of remaining points include:

[0074] S51: determining an integer number of clock cycles to be moved according to the number of clock cycles, and generating the first-level adaptive control amount;

[0075] S52: Determine the point movement amount less than one clock cycle according to the remaining points, and generate the secondary adaptive control amount.

[0076] Specifically, two types of control quantities are generated according to the obtained number of clock cycles and the number of remaining points, namely, the first-level adaptive control quantity and the second-level adaptive control quantity. Among them, the first-level adaptive control quantity is used to control parallel data reading, and the second-level adaptive control quantity is used to control serial data adjustment. For the first-level adaptive control quantity, the integer number of clock cycles that need to be moved is determined according to the obtained number of clock cycles. For example, when the number of clock cycles is 4, a first-level adaptive control quantity is generated to control the data movement of 4 complete clock cycles. For the second-level adaptive control quantity, the number of points that need to be moved is determined according to the obtained number of remaining points. For example, when the number of remaining points is 20 points, a second-level adaptive control quantity is generated to control the precise movement of 20 points. This hierarchical control mechanism ensures the efficiency and accuracy of data movement.

[0077] As an optional implementation manner, it is characterized in that before the user offset of the target channel is adaptively adjusted according to the primary adaptive control amount and the secondary adaptive control amount, it also includes:

[0078] S7: Detecting a system state change event, wherein the system state change event includes system startup, bandwidth switching, time base gear switching, signal processing calibration, digital local oscillator or DBI calibration;

[0079] S8: In response to the system state change event, aligning each channel;

[0080] S9: After completing the alignment of each channel, performing channel offset adaptive adjustment according to the primary adaptive control amount and the secondary adaptive control amount.

[0081] Specifically, the oscilloscope system state is detected and processed before the user offset adjustment is performed. First, it is detected in real time whether the oscilloscope system has a state change event. These events include system power-on, bandwidth switching, time base gear switching, signal processing calibration, digital local oscillator or DBI calibration, etc., which will cause the phase time difference between the multiple channels of the oscilloscope to be different. For example, after each time base gear is switched, it is necessary to manually adjust the alignment or manually readjust to the desired relative offset value. Once these events are detected, the channel alignment operation is performed first to ensure that each channel is in the correct alignment state. Only after the channel alignment is completed, the user's offset adjustment requirements are executed. This mechanism ensures the accuracy of the channel offset adjustment when the system state changes. By adaptively adjusting the oscilloscope after detecting the system state change event, there is no need to manually readjust the offset value, and the automatic conversion can be automatically realized to adapt to the updated gear. Automatic adjustment.

[0082] As an optional implementation, aligning the channels includes:

[0083] S81: Send a test signal to each channel to obtain trigger data of each channel;

[0084] S82: determining a trigger source channel based on the trigger data of each channel;

[0085] S83: Calculate the time difference between each channel and the trigger source channel according to the trigger data to obtain a relative offset value of each channel relative to the trigger source channel;

[0086] S84: performing alignment adjustment of corresponding channels according to the relative offset values ​​of the channels.

[0087] Specifically, refer to Figure 2 When aligning the channels of the oscilloscope, first, send the same test signal to all channels, and uniformly send the default pre-trigger to obtain the trigger data of each channel. Then, determine the trigger source channel by analyzing these trigger data. Next, calculate the trigger time difference of other channels relative to the trigger source channel to obtain the relative offset value of each channel relative to the trigger source channel. After that, align and adjust each channel separately according to the relative offset value obtained to ensure the synchronization between multiple channels.

[0088] A second embodiment of the present application provides an oscilloscope channel-to-channel offset adaptive control system, comprising a plurality of FPGA processors, wherein the FPGA processors are provided with adaptive adaptation processing modules, and the adaptive adaptation processing modules are used to implement an oscilloscope channel-to-channel offset adaptive control method.

[0089] A third embodiment of the present application provides a digital oscilloscope, including an oscilloscope inter-channel offset adaptive control system.

[0090] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. An adaptive control method for oscilloscope channel offset, characterized in that: include: Obtaining a target offset value input by a user for a target channel and a current time base gear of the target channel, wherein the target channel is any one of multiple channels in the oscilloscope; Determine the current sampling interval and the current clock cycle points according to the current time base gear; Based on the target offset value and the current sampling interval, obtaining a target number of points; Decomposing the target points according to the current clock cycle points to obtain the clock cycle number and the remaining points; Generate a primary adaptive control amount based on the number of clock cycles, and generate a secondary adaptive control amount based on the number of remaining points; The user offset of the target channel is adaptively adjusted according to the primary adaptive control amount and the secondary adaptive control amount.

2. The method according to claim 1, characterized in that The current time base gear is a time base gear that is sampled and adjusted relative to a reference time base gear or a time base gear that is interpolated and adjusted relative to a reference time base gear, wherein the reference time base gear has a reference sampling interval and a reference clock cycle point number.

3. The method according to claim 2, characterized in that When the current time base gear is a time base gear that is sampled and adjusted relative to a reference time base gear, determining the current sampling interval and the current clock cycle points according to the current time base gear includes: Obtaining a sampling multiple of the current time base gear relative to the reference time base gear; Multiplying the reference sampling interval by the sampling multiple to obtain a current sampling interval; The reference clock cycle number is divided by the sampling multiple to obtain the current clock cycle number.

4. The method according to claim 2, characterized in that: When the current time base gear is a time base gear that is interpolated and adjusted relative to a reference time base gear, determining the current sampling interval and the current clock cycle points according to the current time base gear includes: Obtaining an interpolation multiple of the current time base gear relative to the reference time base gear; Dividing the reference sampling interval by the interpolation multiple to obtain a current sampling interval; The reference clock cycle point number is multiplied by the interpolation multiple to obtain the current clock cycle point number.

5. The method according to claim 1, characterized in that Decomposing the target points according to the current clock cycle points to obtain the clock cycle number and the remaining points includes: Divide the target number of points by the current clock cycle number of points to obtain the whole cycle number and the remainder number of points; Taking the whole cycle number as the clock cycle number; The remainder points are used as the remaining points.

6. The method according to claim 1, characterized in that The step of generating a primary adaptive control amount based on the number of clock cycles and generating a secondary adaptive control amount based on the number of remaining points includes: Determine the integer number of clock cycles that need to be moved according to the number of clock cycles, and generate the first-level adaptive control amount; The point movement amount less than one clock cycle is determined according to the remaining points to generate the secondary adaptive control amount.

7. The method according to claim 1, characterized in that Before adaptively adjusting the user offset of the target channel according to the primary adaptive control amount and the secondary adaptive control amount, the method further includes: Detecting system state change events, wherein the system state change events include system startup, bandwidth switching, time base gear switching, signal processing calibration, digital local oscillator or DBI calibration; In response to the system state change event, aligning the channels; After the alignment of each channel is completed, the channel offset adaptive adjustment is performed according to the first-level adaptive control amount and the second-level adaptive control amount.

8. The method according to claim 7, characterized in that The aligning of the channels comprises: Send test signals to each channel and obtain trigger data of each channel; Determine the trigger source channel based on the trigger data of each channel; Calculating the time difference between each channel and the trigger source channel according to the trigger data to obtain a relative offset value of each channel relative to the trigger source channel; The alignment of the corresponding channels is adjusted according to the relative offset value of each channel.

9. An oscilloscope channel-to-channel offset adaptive control system, characterized in that: It comprises a plurality of FPGA processors, each of which is provided with an adaptive adaptation processing module, and the adaptive adaptation processing module is used to implement the adaptive control method of the offset between oscilloscope channels as claimed in any one of claims 1 to 8.

10. A digital oscilloscope, characterized in that: The invention comprises the oscilloscope channel-to-channel offset adaptive control system as claimed in claim 9.

Citation Information

Patent Citations

  • Multi-channel digital oscilloscope and signal synchronization method thereof

    CN102435809A

  • Time-domain alternation analog to digital converter mismatch calibration method based on equivalent sampling

    CN105933005A

  • Adjustment method for waveform channel and digital oscilloscope

    CN109085403A

  • Calibration method and system for data sampling

    CN109428598A

  • Sampling oscilloscope, trigger generation method, and sampling method

    CN110068717A