Adaptive Control Method, System and Oscilloscope for Offset between Oscilloscope Channels
By obtaining the target offset value and time base gear in the oscilloscope, decomposing it into the clock cycle number and the remaining points number, and generating an adaptive control quantity, it solves the problem of inaccurate offset value at different base gears at the oscilloscope, and realizes precise control of channel offset and improved efficiency of use.
Patent Information
- Application Number
- CN202510060284.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-15
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2045-01-15
AI Technical Summary
In the prior art, the offset value input by the oscilloscope at different base gears cannot accurately correspond to the actual data movement amount, resulting in the user requiring repeated adjustments to obtain the desired display effect, which reduces the measurement efficiency.
By obtaining the target offset value input by the user and the current time base gear, determining the current sampling interval and clock cycle points, decomposing the target points into the clock cycle number and the remaining points, generating first- and second-level adaptive control quantities to achieve precise control of channel offset.
The precise conversion of offset values is achieved under different base gears at different times. Users can achieve precise control of channel positions without repeated adjustments, which improves the efficiency of the oscilloscope.
Smart Images

Figure CN119738598B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of digital oscilloscopes, and particularly to an adaptive control method and system for offset between channels of an oscilloscope, and an oscilloscope. Background Art
[0002] As an important electronic measuring instrument, channel offset adjustment is one of the basic functions of an oscilloscope. Users can adjust the display position of a specified channel by inputting an offset value. During the use of an oscilloscope, in order to observe different signal details, users often need to switch the time base range, and different time base ranges correspond to different sampling intervals.
[0003] In the prior art, due to different sampling intervals under different time base ranges, the same offset input value will result in different actual data movement amounts. For example, in some time base ranges, even if users input offset values such as 100us, 200us, 300us, etc., no actual position change can be seen, and a relatively large value such as 500us must be input to observe the movement effect. This is because the sampling intervals under different time base ranges are different, and the same offset input value will result in different actual data movement amounts. This situation seriously affects the user experience of the oscilloscope. Users need to repeatedly adjust the offset value under different time base ranges to obtain the desired display effect, reducing the measurement efficiency. Summary of the Invention
[0004] The main purpose of this application is to provide an adaptive control method and system for offset between channels of an oscilloscope, and an oscilloscope, aiming to solve the technical problem that in the prior art, when a user adjusts the offset position of a certain 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 ranges.
[0005] To achieve the above purpose, this application provides an adaptive control method for offset between channels of an oscilloscope, including: obtaining a target offset value input by a user for a target channel and the current time base range of the target channel, where the target channel is any one of multiple channels of the oscilloscope; determining a current sampling interval and a current number of clock cycle points according to the current time base range; 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 remaining number of points; generating a first-level adaptive control quantity based on the number of clock cycles, and generating a second-level adaptive control quantity based on the remaining number of points; adaptively adjusting the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity.
[0006] Optionally, 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 the reference time base gear, where the reference time base gear has a reference sampling interval and a reference number of clock cycle points.
[0007] Optionally, when the current time base gear is a time base gear after sampling adjustment relative to the reference time base gear, the determining of the current sampling interval and the current number of 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 the current sampling interval; dividing the reference number of clock cycle points by the sampling multiple to obtain the current number of clock cycle points.
[0008] Optionally, when the current time base gear is a time base gear after interpolation adjustment relative to the reference time base gear, the determining of the current sampling interval and the current number of 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 the current sampling interval; multiplying the reference number of clock cycle points by the interpolation multiple to obtain the current number of clock cycle points.
[0009] Optionally, the decomposing of the target number of points according to the current number of clock cycle points to obtain the number of clock cycles and the remaining number of points includes: dividing the target number of points by the current number of clock cycle points to obtain the number of full cycles and the number of remainder points; taking the number of full cycles as the number of clock cycles; taking the number of remainder points as the remaining number of points.
[0010] Optionally, the generating of a first-level adaptive control quantity based on the number of clock cycles and the generating of a second-level adaptive control quantity based on the remaining number of points includes: determining the number of integer clock cycles to be moved according to the number of clock cycles and generating the first-level adaptive control quantity; determining the amount of point movement less than one clock cycle according to the remaining number of points and generating the second-level adaptive control quantity.
[0011] Optionally, before adaptively adjusting the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity, it further includes: detecting a system state change event, where the system state change event includes 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 each channel; after completing the alignment of each channel, performing channel offset adaptive adjustment according to the first-level adaptive control quantity and the second-level adaptive control quantity.
[0012] Optionally, the alignment of each channel includes: sending a test signal to each channel, and acquiring the 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 the 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 object, the present application further provides an oscilloscope channel offset adaptive control system, including a plurality of FPGA processors, where the FPGA processors are provided with an adaptive adaptation processing module, and the adaptive adaptation processing module is used to implement the above-mentioned adaptive control method for the offset between oscilloscope channels.
[0014] In addition, the present application further provides a digital oscilloscope, including the above-mentioned oscilloscope channel offset adaptive control system.
[0015] The beneficial effects that the present application can achieve are as follows:
[0016] By acquiring the target offset value and the current time base gear input by the user for the target channel, and determining the current sampling interval and the number of clock cycle points according to the current time base gear, a corresponding relationship between the current time base gear and the actual data sampling characteristics is established. Dividing the target offset value by the current sampling interval to obtain the target number of points to be moved under the current sampling characteristics, ensuring that the same offset value can be converted into an appropriate number of moving points under different time base gears. Decomposing the target number of points according to the current number of clock cycle points to obtain the number of clock cycles and the remaining number of points, enabling the oscilloscope to separately process the movement control of the entire cycle and the remaining number of points. Generating a first-level adaptive control quantity and a second-level adaptive control quantity based on the number of clock cycles and the remaining number of points respectively, and realizing precise control of data movement through a hierarchical control method.
[0017] By establishing the corresponding relationship between the time base gear and the sampling characteristics, and converting the user input into a control quantity 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, enabling the user to accurately control the channel position by inputting the offset value at any time base gear without repeatedly trying different input values, realizing the adaptive control of channel offset, and improving the use efficiency of the oscilloscope at the same time. Description of the Drawings
[0018] Figure 1 It is a schematic flowchart of the adaptive control method for the offset between oscilloscope channels provided by the embodiment of the present application;
[0019] Figure 2 It is a schematic flowchart of aligning each channel in the adaptive control method for the offset between oscilloscope channels provided by the embodiment of the present application.
[0020] The realization, functional features, and advantages of the present application will be further described in conjunction with embodiments and with reference to the accompanying drawings. Detailed implementation manners
[0021] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0022] It should be noted that all directional indications (such as up, down, left, right, front, back,...) in the embodiments of the present invention are only used to explain the relative positional relationship and movement conditions between components in a specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indications will also change accordingly.
[0023] In the present invention, unless otherwise clearly defined and limited, terms such as "connection" and "fixation" should be understood in a broad sense. For example, "fixation" can be a fixed connection, a detachable connection, or integrated; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium, and it can be the communication inside two components or the interaction relationship between two components, unless otherwise clearly limited. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific situations.
[0024] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present invention, such descriptions of "first", "second", etc. are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the quantity of the indicated technical features. Thus, the features defined with "first" and "second" can explicitly or implicitly include at least one of such features. In addition, the meaning of "and / or" appearing throughout the text includes three parallel solutions. Taking "A and / or B" as an example, it includes solution A, solution B, or the solution where A and B are satisfied simultaneously. In addition, the technical solutions between various embodiments can be combined with each other, but it must be based on the fact that those of ordinary skill in the art can implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the protection scope required by the present invention.
[0025] The first embodiment of the present application provides an adaptive control method for the offset between oscilloscope channels, including:
[0026] S1: Obtain the target offset value input by the user for the target channel and the current time base gear of the target channel, where the target channel is any one of multiple channels in the oscilloscope;
[0027] S2: Determine the current sampling interval and the current number of clock cycle points according to the current time base gear;
[0028] S3: Based on the target offset value and the current sampling interval, obtain the target number of points;
[0029] S4: Decompose the target number of points according to the current number of clock cycle points to obtain the number of clock cycles and the remaining number of points;
[0030] S5: Generate a first-level adaptive control quantity based on the number of clock cycles, and generate a second-level adaptive control quantity based on the remaining number of points;
[0031] S6: Adaptively adjust the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity.
[0032] Specifically, referring to Figure 1 , first, obtain the target offset value input by the user for the target channel and the current time base gear of this target channel. Among them, 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 multiple channels in the oscilloscope, and the user can select the channel to be adjusted as the target channel according to actual needs.
[0033] Then, determine the current sampling interval and the current number of clock cycle points at this gear based on the current time base gear. Among them, the sampling interval is the time interval between two adjacent sampling points, and the number of clock cycle points is the number of data points included 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). At 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 4 ADC acquisition cards work in parallel, each ADC acquisition card acquires 20 data points within 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 number of clock cycle points, the corresponding relationship between the time base gear and the specific sampling parameters can be established.
[0034] Subsequently, divide the target offset value input by the user by the current sampling interval to obtain the target number of points. For example, at a timebase setting of 50 ns / div, if the user inputs a target offset value of 50 ns, since the sampling interval is 50 ps at this time, the target number of points obtained is 1000 points. Through this conversion, the offset value in the time domain is converted into the actual number of data points to be moved, making the offset control more precise. Then, decompose the calculated target number of points according to the number of points per current clock cycle to obtain the number of clock cycles and the remaining number of points. For example, when one 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 the data movement into two parts: whole-cycle movement and movement less than one cycle, laying the foundation for subsequent hierarchical control.
[0035] Then, generate a first-level adaptive control quantity and a second-level adaptive control quantity based on the number of clock cycles and the remaining number of points respectively. Among them, the first-level adaptive control quantity is used to control the reading movement of parallel data. For example, the first-level adaptive control quantity generated based on 12 clock cycles controls 4 ADC acquisition cards to move 12 clock cycles respectively for parallel data reading; the second-level adaptive control quantity is used to control the precise movement of serial data. For example, the second-level adaptive control quantity 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. After that, adaptively adjust the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity. Control the parallel data reading of the ADC acquisition card through the first-level adaptive control quantity, and then control the precise movement of serial data through the second-level adaptive control quantity, so as to achieve the channel offset effect expected by the user. Through the combination of parallel and serial methods, an adaptive conversion mechanism from user input to actual control quantity is established, enabling the accurate execution of the user's offset control requirements under different timebase settings.
[0036] For example, an oscilloscope has multiple channels, and each channel is configured with 4 ADC acquisition cards to collect data in parallel. The sampling rate of each ADC acquisition card is 20 GSPS (20 billion samples per second). In one clock cycle (4 ns), each ADC acquisition card collects 20 data points. Therefore, when 4 ADC acquisition cards work in parallel, a total of 80 data points are collected in one clock cycle.
[0037] Suppose when the user is using this oscilloscope to observe the signal of an electronic circuit, it is found that the waveform display position of channel 2 needs to be adjusted. The current oscilloscope is working at a timebase setting of 50 ns / div, and the corresponding sampling interval for this setting is 50 ps. The user inputs a target offset value of 50 ns for channel 2 through the oscilloscope interface.
[0038] After the oscilloscope obtains this offset value, it divides 50 ns by the sampling interval of 50 ps and calculates that 1000 data points need to be moved. Then, these 1000 points are decomposed at 80 points per clock cycle, resulting in 12 complete clock cycles (960 points) and 40 remaining points.
[0039] The first-level adaptive control quantity controls the parallel data reading of 4 ADC acquisition cards, and realizes data movement by adjusting the reading timing of 12 complete clock cycles. The parallel-acquired data is converted into serial data after being read. At this time, the second-level adaptive control quantity makes precise 40-point movement adjustments to this serial data. By combining parallel reading control and serial data adjustment, the 50-ns offset adjustment expected by the user is realized.
[0040] As an optional implementation manner, the current time base gear is a time base gear after sampling adjustment relative to the reference time base gear or a time base gear after interpolation adjustment relative to the reference time base gear, where the reference time base gear has a reference sampling interval and a reference clock cycle number of points.
[0041] Specifically, the current time base gear is obtained by sampling adjustment or interpolation adjustment of the reference time base gear. Among them, the reference time base gear has a specific reference sampling interval and a reference clock cycle number of points. Taking the 50-ns / div as the reference time base gear as an example, its reference sampling interval is 50 ps, the reference clock cycle is 4 ns, the reference clock cycle number of points is 80 data points, and each scale contains 1000 sampling points.
[0042] When sampling adjustment is performed, the number of sampling points per scale remains unchanged at 1000 points. At the 100-ns / div time base gear with a 2-fold sampling, 100 ns / 1000 gives a sampling interval of 100 ps, and the clock cycle number of points becomes 40 data points; at the 200-ns / div time base gear with a 4-fold sampling, 200 ns / 1000 gives a sampling interval of 200 ps, and the clock cycle number of points becomes 20 data points.
[0043] When interpolation adjustment is performed, the number of sampling points increases accordingly. At the 20-ns / div time base gear with a 2-fold interpolation, the sampling interval is reduced to 25 ps, and the clock cycle number of points increases to 160 data points; at the 10-ns / div time base gear with a 4-fold interpolation, the sampling interval is reduced to 12.5 ps, and the clock cycle number of points increases to 320 data points.
[0044] Through the mechanism of sampling or interpolation adjustment based on the reference time base gear, the system can flexibly adjust the sampling characteristics at different time base gears.
[0045] As an alternative implementation, when the current time base gear is the time base gear after sampling adjustment relative to the reference time base gear, determining the current sampling interval and the current number of clock cycle points according to the current time base gear includes:
[0046] S21: Obtain the sampling multiple of the current time base gear relative to the reference time base gear;
[0047] S22: Multiply the reference sampling interval by the sampling multiple to obtain the current sampling interval;
[0048] S23: Divide the reference number of clock cycle points by the sampling multiple to obtain the current number of clock cycle points.
[0049] Specifically, when the current time base gear is obtained by sampling adjustment of the reference time base gear, determine its corresponding sampling interval and number of clock cycle points.
[0050] First, 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, in the case where the reference time base gear is 50 ns / div and there are 1000 sampling points per scale, when switching to the 100 ns / div time base gear and keeping 1000 sampling points per scale unchanged, the time base is doubled, that is, the sampling multiple is 2; when switching to the 200 ns / div time base gear, the sampling multiple is 4.
[0051] Then, calculate the current sampling interval based on the obtained 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 2 times the reference sampling interval of 50 ps, that is, 100 ps (100 ns / 1000); when the sampling multiple is 4, the current sampling interval is 4 times the reference sampling interval of 50 ps, that is, 200 ps (200 ns / 1000).
[0052] At the same time, calculate the current number of clock cycle points. Since sampling will reduce the number of sampling points per unit time, divide the reference number of clock cycle points by the sampling multiple to obtain the current number of clock cycle points. For example, when the sampling multiple is 2, the current number of clock cycle points is the reference number of clock cycle points of 80 divided by 2, that is, 40 points; when the sampling multiple is 4, the current number of clock cycle points is the reference number of clock cycle points of 80 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 relative to the reference time base gear according to the current time base gear. For example, when the reference time base gear is 50 ns / div, the sampling multiple is 2 when the current time base gear is 100 ns / div, and the sampling multiple is 4 when the current time base gear is 200 ns / div. Then, calculate the current sampling interval based on the obtained 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 2 times the reference sampling interval of 50 ps, that is, 100 ps; when the sampling multiple is 4, the current sampling interval is 4 times the reference sampling interval of 50 ps, that is, 200 ps.
[0055] At the same time, calculate the current number of clock cycle points. Since sampling reduces the number of sampling points per unit time, divide the reference number of clock cycle points by the sampling multiple to obtain the current number of clock cycle points. For example, when the sampling multiple is 2, the current number of clock cycle points is 80 points (the reference number of clock cycle points) divided by 2, that is, 40 points; when the sampling multiple is 4, the current number of clock cycle points is 80 points (the reference number of clock cycle points) 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 obtained by interpolating and adjusting relative to the reference time base gear, the determining the current sampling interval and the current number of clock cycle points according to the current time base gear includes:
[0058] S24: Obtain the interpolation multiple of the current time base gear relative to the reference time base gear;
[0059] S25: Divide the reference sampling interval by the interpolation multiple to obtain the current sampling interval;
[0060] S26: Multiply the reference number of clock cycle points by the interpolation multiple to obtain the current number of clock cycle points.
[0061] Specifically, if the current time base gear is obtained by interpolating and adjusting the reference time base gear, determine its corresponding sampling interval and number of clock cycle points.
[0062] First, determine the interpolation 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 50 ns / div and there are 1000 sampling points per scale, when switching to the 20 ns / 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 10 ns / div time base gear, the number of sampling points per scale is increased to 4000 points, that is, the interpolation multiple is 4.
[0063] Then, calculate the current sampling interval based on the obtained interpolation multiple. Specifically, divide the reference sampling interval by the interpolation multiple to obtain the current sampling interval. For example, when the interpolation multiple is 2, the current sampling interval is the reference sampling interval of 50 ps divided by 2, which is 25 ps (20 ns / 2000); when the interpolation multiple is 4, the current sampling interval is the reference sampling interval of 50 ps divided by 4, which is 12.5 ps (10 ns / 4000).
[0064] Meanwhile, calculate the number of points per current clock cycle. Since interpolation increases the number of sampling points per unit time, multiply the number of points per reference clock cycle by the interpolation multiple to obtain the number of points per current clock cycle. For example, when the interpolation multiple is 2, the number of points per current clock cycle is the number of points per reference clock cycle of 80 multiplied by 2, which is 160; when the interpolation multiple is 4, the number of points per current clock cycle is the number of points per reference clock cycle of 80 multiplied by 4, which is 320.
[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 decomposing the target number of points according to the number of points per current clock cycle to obtain the number of clock cycles and the remaining number of points includes:
[0067] S41: Divide the target number of points by the number of points per current clock cycle to obtain the number of full cycles and the number of remainder points;
[0068] S42: Use the number of full cycles as the number of clock cycles;
[0069] S43: Use the number of remainder points as the remaining number of points.
[0070] Specifically, the target number of points needs to be decomposed according to the number of points per clock cycle for subsequent parallel read control and serial data adjustment respectively.
[0071] By dividing the target number of points by the number of points per current clock cycle, the number of full cycles and the number of remainder points can be obtained. For example, if the target number of points is 1000 and the number of points per current clock cycle is 80, then 12 full cycles (960 points) and 40 remainder points can be obtained; if the target number of points is 500 and the number of points per current clock cycle is 20, 25 full cycles (500 points) and 0 remainder points can be obtained; if the target number of points is 1280 and the number of points per current clock cycle is 320, 4 full cycles (1280 points) and 0 remainder points can be obtained. Subsequently, use the obtained number of full cycles as the number of clock cycles for subsequent control of parallel data reading; use the obtained number of remainder points as the remaining number of points for subsequent precise adjustment of serial data.
[0072] By decomposing the target number of points, it is possible to improve efficiency by reading data in complete clock cycles and achieve precise adjustment of less than one clock cycle, thereby realizing the adaptive adjustment of the user offset value.
[0073] As an alternative implementation, it is characterized in that generating a first-level adaptive control quantity based on the number of clock cycles and generating a second-level adaptive control quantity based on the remaining number of points includes:
[0074] S51: Determine the integer number of clock cycles to be moved according to the number of clock cycles, and generate the first-level adaptive control quantity;
[0075] S52: Determine the point movement amount of less than one clock cycle according to the remaining number of points, and generate the second-level adaptive control quantity.
[0076] Specifically, two control quantities are generated respectively according to the obtained number of clock cycles and the remaining number of 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, determine the integer number of clock cycles to be moved according to the obtained number of clock cycles. For example, when the number of clock cycles is 4, generate a first-level adaptive control quantity for controlling the movement of data in 4 complete clock cycles. For the second-level adaptive control quantity, determine the number of points to be moved according to the obtained remaining number of points. For example, when the remaining number of points is 20, generate a second-level adaptive control quantity for controlling the precise movement of 20 points. This hierarchical control mechanism ensures the efficiency and accuracy of data movement.
[0077] As an alternative implementation, it is characterized in that before adaptively adjusting the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity, it further includes:
[0078] S7: Detect system state change events, where the system state change events include 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, align each channel;
[0080] S9: After completing the alignment of each channel, perform channel offset adaptive adjustment according to the first-level adaptive control quantity and the second-level adaptive control quantity.
[0081] Specifically, the oscilloscope system state is detected and processed before performing user offset adjustment. First, it is detected in real time whether there are state change events in the oscilloscope system. 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 multiple channels of the oscilloscope to be different. For example, after each time base gear is switched, it is necessary to manually re-adjust the alignment or manually re-adjust to the desired relative offset value. Once these events are detected, the channel alignment operation is first performed 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 channel offset adjustment when the system state changes. By performing adaptive adjustment on the oscilloscope after detecting system state change events, there is no need to manually re-adjust the offset value, and the automatic adjustment of the adapted updated gear can be achieved after automatic conversion.
[0082] As an optional implementation manner, the alignment of each channel includes:
[0083] S81: Send test signals to each channel and obtain the trigger data of each channel;
[0084] S82: Determine the 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, and obtain the relative offset value of each channel relative to the trigger source channel;
[0086] S84: Perform alignment adjustment on the corresponding channels according to the relative offset values of each channel.
[0087] Specifically, referring to Figure 2 , when aligning each channel of the oscilloscope, first, the same test signal is sent to all channels, and the default pre-trigger is sent uniformly to obtain the trigger data of each channel. Then, the trigger source channel is determined by analyzing these trigger data. Next, the trigger time difference of other channels relative to the trigger source channel is calculated to obtain the relative offset value of each channel relative to the trigger source channel. After that, alignment adjustment is performed on each channel separately according to the obtained relative offset value, ensuring the synchronization between multiple channels.
[0088] The second embodiment of the present application provides an oscilloscope channel offset adaptive control system, including a plurality of FPGA processors. The FPGA processors are provided with an adaptive adaptation processing module, and the adaptive adaptation processing module is used to implement the adaptive control method for the offset between oscilloscope channels.
[0089] The third embodiment of the present application provides a digital oscilloscope, including an oscilloscope channel offset adaptive control system.
[0090] The above are only the preferred embodiments of the present application, and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made by using the content of the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, shall be similarly included in the patent protection scope of the present application.
Claims
1. An adaptive control method for the offset between oscilloscope channels, characterized in that, Including: Obtaining a target offset value input by a user for a target channel and a current time base gear of the target channel, where 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 remaining number of points; Generating a first-level adaptive control quantity based on the number of clock cycles and generating a second-level adaptive control quantity based on the remaining number of points; Adaptive adjustment of the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity; Wherein, the decomposing the target number of points according to the current number of clock cycle points to obtain a number of clock cycles and a remaining number of points includes: Dividing the target number of points by the current number of clock cycle points to obtain an integer number of cycles and a remainder number of points; Taking the integer number of cycles as the number of clock cycles; Taking the remainder number of points as the remaining number of points.
2. The method according to claim 1, wherein 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 the reference time base gear, where the reference time base gear has a reference sampling interval and a reference number of clock cycle points.
3. The method according to claim 2, wherein When the current time base gear is a time base gear after sampling adjustment relative to the reference time base gear, the determining a current sampling interval and a current number of 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 the current sampling interval; Dividing the reference number of clock cycle points by the sampling multiple to obtain the current number of clock cycle points.
4. The method according to claim 2, wherein When the current time base gear is a time base gear after interpolation adjustment relative to the reference time base gear, the determining a current sampling interval and a current number of 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 the current sampling interval; Multiplying the reference number of clock cycle points by the interpolation multiple to obtain the current number of clock cycle points.
5. The method according to claim 1, wherein The generating a first-level adaptive control quantity based on the number of clock cycles and generating a second-level adaptive control quantity based on the remaining number of points includes: Determining an integer number of clock cycles to be moved according to the number of clock cycles and generating the first-level adaptive control quantity; Determining a point movement amount less than one clock cycle according to the remaining number of points and generating the second-level adaptive control quantity.
6. The method according to claim 1, wherein Before the adaptive adjustment of the user offset of the target channel according to the first-level adaptive control quantity and the second-level adaptive control quantity, the method further includes: Detecting a system state change event, where the system state change event includes system power-on, bandwidth switching, time base gear switching, signal processing calibration, digital local oscillator or DBI calibration; In response to the system state change event, aligning each channel; After completing the alignment of each channel, perform channel offset adaptive adjustment according to the first-level adaptive control quantity and the second-level adaptive control quantity.
7. The method according to claim 6, wherein The alignment of each channel includes: Send test signals to each channel and obtain the trigger data of each channel; Determine the trigger source channel based on the trigger data of each channel; Calculate the time difference between each channel and the trigger source channel according to the trigger data, and obtain the relative offset value of each channel relative to the trigger source channel; Perform alignment adjustment on the corresponding channels according to the relative offset values of each channel.
8. An oscilloscope channel offset adaptive control system, characterized in that, It includes multiple FPGA processors, and the FPGA processors are provided with adaptive adaptation processing modules, and the adaptive adaptation processing modules are used to implement the adaptive control method for the offset between oscilloscope channels described in any one of claims 1-7.
9. A digital oscilloscope, characterized in that, It includes the oscilloscope channel offset adaptive control system described in claim 8.
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