Neural network adaptive control for source measurement units
By introducing neural network adaptive control, predictor and adaptive control neural network to the source measurement unit to learn user load dynamics and automatically adjust control signals, the problem that traditional SMUs cannot adapt to different loads is solved, and optimized performance without the need for user manual input information.
Patent Information
- Application Number
- CN202510076452.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-12-16
- Filing Date
- 2025-01-17
- Publication Date
- 2025-07-18
Smart Images

Figure CN120335978A_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This disclosure is a non - provisional application of U.S. Provisional Application No. 63 / 622,221, entitled "NEURAL NETWORK ADAPTIVE CONTROL FOR SOURCE MEASURE UNITS", filed on January 18, 2024, and claims the benefit of this U.S. Provisional Application No. 63 / 622,221. The disclosure of this application is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure relates to source measure units (SMUs), and more particularly, to source measure units using neural networks. Background Art
[0004] A source measure unit (SMU) instrument precisely provides a voltage or current to a device under test (DUT) and simultaneously measures the voltage and / or current. In a single - output - stage design, the output stage passes voltage across a load and a sense resistor R S In many cases, the load includes the device under test (DUT), and the size (including resistance) of the load is unknown. The sense resistor allows the SMU to be used to measure or enforce current.
[0005] One problem with traditional analog - based control loops in SMU products is that since the controller is built into the hardware, the user cannot make changes to the controller at runtime. This problem of not being able to make changes has been solved by the digital implementation of the SMU control loop 10, as shown in the simplified version in Figure 1 The digital control loop allows changes to the controller at runtime. The digital control loop generally involves some type of programmable control circuit 12 and sets the voltage or current to a target setpoint. The analog - to - digital converter (ADC) measures the output voltage and current, and the digital control loop drives the digital - to - analog converter (DAC) until the output voltage and / or current reaches the corresponding desired level. The digital control loop receives the desired target value and adjusts the voltage provided by the DAC. Generally, these digital - type controllers require the user to manually enter information about their device under test (DUT) through a user interface (such as user interface 14). Brief Description of the Drawings
[0006] Figure 1 An embodiment of a source measure unit (SMU) is shown.
[0007] Figure 2 A block diagram of an SMU controller in an SMU embodiment including a reference model and at least one neural network is shown.
[0008] Figure 3 A block diagram illustrating an embodiment of a predictor neural network.
[0009] Figure 4 An example of a series of control signals used to train a predictor network is shown.
[0010] Figure 5 A block diagram illustrating an embodiment of an SMU controller having a predictor neural network and an adaptive control network.
[0011] Figure 6 A flowchart illustrating an embodiment of a method for adjusting control signals from a source measurement unit.
[0012] Figure 7 A block diagram illustrating an embodiment of an adaptive control network. DETAILED DESCRIPTION
[0013] The embodiments herein utilize the presence of a programmable circuit loop that allows the controller to be changed at runtime. Changing the controller at runtime allows the possibility of optimizing the control loop for a particular user load. The embodiments herein relate to test and measurement instruments, typically source measurement units (SMUs), and methods of using neural networks to learn about the system dynamics of a user load. The instrument adjusts control signals to compensate for the unique user load at runtime. As used herein, the term "control signal" means a signal generated by a programmable circuit that causes the SMU to generate a voltage or current to be sent to the user load. The term "user load" means the device under test (DUT) of the user.
[0014] The term "processor" as used herein refers to a programmable circuit. This discussion refers to the programmable circuit as a processor or a controller, which may include a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or any other type of controller that can perform these functions.
[0015] The embodiments herein provide the benefit that the SMU has the ability to learn how to optimize its own performance on any user load without the user having to manually input any information about the user load. The user may need to inform the input range of the SMU for the user load and allow the SMU to briefly output a signal for a moment, thus allowing the SMU to learn the system dynamics of the user load. After completing this learning process, the SMU continuously attempts to optimize its performance for the user load.
[0016] "Optimal performance" as used herein means matching the performance of the reference model that the SMU controller is designed to control. The type of controller used is not related to neural network adaptive control. The controller is designed to optimally control the reference model. However, due to the non - linearities and errors in the reference model, there are inevitable differences between the reference model and the user load. Generally, the neural network looks at the control signal from the SMU controller, the output of the reference model, and the current output of the user load to create an additional part of the control signal, aiming to force the user load to behave like the reference model.
[0017] Figure 2 Illustrated is the SMU controller, reference model, neural network, and user load. The SMU controller 26 is Figure 1 an embodiment of the digital control loop 12 of the SMU. The controller 12 operates to generate a control signal for the voltage source 16.
[0018] This discussion separates the SMU control function from the neural network 22, referring to the SMU controller 26 and the neural network 22 as separate components. Physically, the SMU controller 26 and the neural network 22 can be located on the same device (such as an FPGA), or within the same digital signal processor (DSP) or ASIC. As described above, similar to Figure 1 the digital control loop 12, the SMU controller 26 is designed to control the reference model 20. The reference model 20 corresponds to an "ideal" load, and the discussion herein can refer to the response of the reference model 20 as the "desired" output or response. The control signal from the SMU controller 26 goes to the reference model 20 and the user load 24. The neural network(s) 22 receive the outputs of the reference model 20 and the user load 24, as well as the control signal, and provide an output to adjust the control signal so that the user load 24 behaves like the reference model 20.
[0019] As discussed in more detail later, the neural network that generates the adjustment output includes an adaptive control neural network. The adaptive control neural network is continuously trained by back - propagating the error in its output through the network to update its adjustable parameters. However, one typically cannot know the error in the neural network output by directly observing the output of the control signal. While there is the possibility of waiting for the user load response, waiting for the response may make the system run much slower than desired. The problem of not being able to wait leads to the need for a second neural network that can accurately predict the output of the user load based on the input control signal, although the second predictor neural network is technically optional.
[0020] As Figure 3As shown, the second neural network (herein referred to as the predictor neural network 30) receives the last N inputs of the user load and the last M outputs from the user load corresponding to the N inputs. The discussion herein may also refer to the N inputs and M outputs as the state of the user load. The predictor neural network 30 has been trained to predict the next output of the user load based on the current signal and the current state of the user load.
[0021] More specifically, regarding the training of the predictor neural network, the predictor neural network 30 is trained once for any given user load. The SMU controller generates a randomized control signal to input to the user load. During the training process, the previous N inputs and the M outputs corresponding to the N inputs are paired with the control signal and the resulting output from the user load. The inputs, outputs, control signal, and resulting output create a training data set for the predictor neural network. Training the predictor neural network causes the predictor neural network to predict the next output of the user load by looking at the previous N inputs and M outputs.
[0022] The randomized control signal has the properties of the actual control signal. Thus, if the actual control signal may consist of functions such as step functions, ramp functions, exponential functions, quadratic functions, or other functions, the training signal must also have these function properties. The randomized training control signal can be generated by combining randomized basis functions in the following manner: (1) generate functions that are periodically and randomly scaled for each function type (step, ramp, exponential, etc.); (2) periodically and randomly select one of the basis functions in a multiple-to-one multiplexer; and (3) periodically and randomly scale the output such that the output is within a predefined range that is safe for the DUT. The randomized training control signal can also be generated using other means. Figure 4 An example randomized control signal as described herein is illustrated.
[0023] Once the predictor neural network has been trained for a specific user load, without further training, the system can be used to predict how any control signal will affect the user load by feeding the current state of the user load (in the form of previous inputs and outputs) and the input into the predictor neural network.
[0024] Figure 5 A more detailed embodiment of the SMU controller, neural network, and user load is shown. Regarding signal annotations, the letter "u" indicates the variable control signal, and "y" indicates the output. The SMU controller 26 generates the control signal u c . The adjusted output "y a " from the adaptive control neural network 32 adjusts the control signal u c to produce the control signal "u l”. This adjustment typically includes an additional part of the control signal. The user load output “y l ” is also stored in the memory 38. The predictor neural network 34 receives a predetermined number of user load control signals and user load outputs from the memory 38. Then, the predictor neural network 34 generates a predicted output “y p ” and provides the predicted output to the adaptive control neural network 32. The adaptive control neural network 32 also receives a set of reference model outputs from the reference model 20 and a set of control signals generated by the controller stored in the memory 36. Then, the adaptive control neural network 32 generates an adjustment output “y a ” to be added to the control signals generated by the controller. This adjustment allows the SMU to adjust its performance based on the user load 24 so that the user load 24 behaves like the reference model 20 for which the SMU controller 26 is designed.
[0025] The adaptive control neural network is continuously trained during the operation of the SMU. Continuous training means that at each time step, the system backpropagates the error in its output through the neural network to update the adjustable parameters of the adaptive control neural network. The error in the output of the adaptive control neural network cannot be known by directly observing the output of the control signal. When the entire system is put together, the predictor neural network can be used to evaluate the loss function for training the adaptive control neural network.
[0026] Figure 6 A flowchart showing an embodiment of the control signal adjustment process is shown. The SMU controller generates a control signal at 40 and sends the control signal to the adaptive control neural network at 42. Also at 42, the controller causes the predictor neural network to send the output from the user load and the output from the reference model to the adaptive control neural network. The adaptive control network generates an output adjustment received by the controller at 44. The controller adjusts the control signal at 46. This process is repeated as needed until the user disconnects the load or otherwise ends the process.
[0027] Figure 7 An embodiment of the adaptive control neural network 32 is illustrated. The adaptive control neural network 32 adjusts the control signal, such as adding it to the control signal generated by the controller, so that the combined control signal makes the user load behave the same as the reference model. The input to the adaptive control neural network 32 is similar to attaching a window of size P with the output of the reference model 20 from Figure 5 to the predictor neural network. The output of the adaptive control neural network includes an addition / adjustment to the control signal generated by the controller.
[0028] The adaptive control neural network is "online" trained, which means that each time the adaptive control neural network produces an output, the error between the actual output and the desired output is used to train the adaptive control neural network through backpropagation error to adjust the adjustable parameters of the adaptive control network. Using the predictor neural network, the system can predict how the control signal affects the user load. Therefore, the output of the adaptive control neural network is added to the output of the controller and the combined signal is forwarded through the predictor neural network. Thus, the system has a prediction of how the combined signal affects the user load. As described above, the goal of the adaptive control neural network is to make the user load act in the same way as the reference model. Therefore, the error in the adaptive control neural network can be calculated as the absolute value of the difference between the predicted output and the output of the reference model. The result of the training is an adaptive control neural network that attempts to add to the control signal in such a way that the user load behaves the same as the reference model.
[0029] Error = |y p - y r |
[0030] In this way, an SMU with digital control capabilities can use a neural network to adjust the control signal from the SMU controller so that the user load acts like the reference model. The SMU optimizes its performance for each user load, and the user only needs to provide an input range that results in a safe output range for the user load.
[0031] Aspects of the present disclosure can operate on specially created hardware, firmware, a digital signal processor, or a specially programmed general-purpose computer including a processor operating according to programming instructions. As used herein, the term controller or processor is intended to include a microprocessor, a microcomputer, an application specific integrated circuit (ASIC), and a dedicated hardware controller. One or more aspects of the present disclosure can be embodied in computer-usable data and computer-executable instructions, such as embodied in one or more program modules executed by one or more computers (including a monitoring module) or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc., which perform specific tasks or implement specific abstract data types when executed by a processor in a computer or other device. The computer-executable instructions can be stored on a non-transitory computer-readable medium, such as a hard disk, an optical disk, a removable storage medium, a solid state memory, a random access memory (RAM), etc. As will be appreciated by those skilled in the art, the functionality of the program modules can be combined or distributed according to the desired aspects. Additionally, the functionality can be embodied in whole or in part in firmware or hardware equivalents, such as integrated circuits, field programmable gate arrays (FPGAs), etc. Specific data structures can be used to more effectively implement one or more aspects of the present disclosure, and such data structures are considered to be within the scope of the computer-executable instructions and computer-usable data described herein.
[0032] In some cases, the disclosed aspects may be implemented in hardware, firmware, software, or any combination thereof. The disclosed aspects may also be implemented as instructions carried by or stored on one or more non-transitory computer-readable media, which may be read and executed by one or more processors. Such instructions may be referred to as a computer program product. As discussed herein, a computer-readable medium means any medium that can be accessed by a computing device. By way of example and not limitation, a computer-readable medium may include computer storage media and communication media.
[0033] Computer storage media means any medium that can be used to store computer-readable information. By way of example and not limitation, computer storage media may include RAM, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other storage technologies, compact disc read-only memory (CD-ROM), digital video disc (DVD) or other optical disc storage devices, magnetic tape cartridges, magnetic tape, magnetic disk storage devices or other magnetic storage devices, and any other volatile or non-volatile, removable or non-removable medium implemented in any technology. Computer storage media does not include signals themselves and transient forms of signal transmission.
[0034] Communication media means any medium that can be used to convey computer-readable information. By way of example and not limitation, communication media may include coaxial cable, fiber optic cable, air, or any other medium suitable for conveying electrical, optical, radio frequency (RF), infrared, acoustic, or other types of signals.
[0035] Examples
[0036] Illustrative examples of the disclosed technology are provided below. Embodiments of the technology may include one or more of the examples described below and any combination of the examples.
[0037] Example 1 is a test and measurement instrument, including: a voltage source and a sensing resistor; one or more neural networks; and one or more processors configured to execute code that causes the one or more processors to: generate a control signal for controlling voltage or current to be sent to a user load and a reference model as a device under test (DUT); send the control signal, the output from the user load, and the output from the reference model based on the control signal to the one or more neural networks and receive an output adjustment; and use the output adjustment to adjust the control signal so that the user load performs like the reference model.
[0038] Example 2 is the test and measurement instrument of Example 1, wherein the one or more neural networks at least include an adaptive control neural network.
[0039] Example 3 is a test and measurement instrument of Example 2, where one or more neural networks include a predictor neural network.
[0040] Example 4 is a test and measurement instrument of Example 3, where the predictor neural network is configured to receive a control signal as an input and at least one output from a user load, and generate a predicted output from the user load based on the control signal, which will be used as the output from the user load for an adaptive control neural network.
[0041] Example 5 is a test and measurement instrument of Example 3, where at least one control signal includes a predetermined number of previous control signals and a corresponding number of previous outputs from the user load.
[0042] Example 6 is a test and measurement instrument of Example 4, where the adaptive control neural network is continuously trained using the difference between the predicted output and the output of a reference model.
[0043] Example 7 is a test and measurement instrument of Example 3, where one or more processors are further configured to execute code that causes the one or more processors to train the predictor neural network.
[0044] Example 8 is a test and measurement instrument of Example 7, where the code that causes the one or more processors to train the predictor neural network includes code that causes the one or more processors to: access a predetermined number of previous inputs to the user load and the outputs from the user load corresponding to the predetermined number of previous inputs; generate a randomized control signal; input the randomized control signal to the user load; pair the output from the user load in response to the randomized control signal with the predetermined number of previous inputs and the corresponding number of previous outputs to create a training set; and use the training set to train the predictor neural network.
[0045] Example 9 is a test and measurement instrument of Example 8, where the code that causes the one or more processors to generate a randomized control signal includes scaling the randomized control signal so that the output from the user load is within a safe range for the user load.
[0046] Example 10 is a test and measurement instrument of any one of Examples 1 to 9, further including one or more memories for storing one or more of the output of the reference model, the control signal, the user load, and the predicted output.
[0047] Example 11 is a test and measurement instrument of any one of Examples 1 to 10, where one or more neural networks include code executed by one or more processors.
[0048] Example 12 is a method for automatically adjusting a control signal from a source measurement unit to a user load, including: generating a control signal for controlling voltage or current to be sent to a user load and a reference model that is a device under test (DUT); sending the control signal, the output from the user load, and the output from the reference model based on the control signal to an adaptive control neural network and receiving an output adjustment; and using the output adjustment to adjust the control signal so that the user load performs like the reference model.
[0049] Example 13 is the method of Example 12, further including generating the output from the user load by sending at least one control signal as an input and at least one output from the user load to a predictor neural network, and receiving a predicted output from the user load based on the control signal to be used as the output from the user load sent to the adaptive control neural network.
[0050] Example 14 is the method of Example 13, where at least one control signal includes a predetermined number of previous control signals and a corresponding number of previous outputs from the user load.
[0051] Example 15 is the method of Example 13, further including continuously training the adaptive control neural network using the difference between the predicted output and the output of the reference model.
[0052] Example 16 is the method of Example 13, further including training the predictor neural network.
[0053] Example 17 is the method of Example 16, where training the predictor neural network includes: accessing a predetermined number of previous inputs to the user load and a corresponding number of previous outputs; generating a randomized control signal; inputting the randomized control signal into the user load; pairing the output from the user load in response to the randomized control signal with the predetermined number of previous inputs and the corresponding number of previous outputs to create a training set; and using the training set to train the predictor neural network.
[0054] Example 18 is the method of Example 17, where generating the randomized control signal includes scaling the randomized control signal so that the output from the user load is within a safe range for the user load.
[0055] Example 19 is the method of any one of Examples 12 to 18, further including storing one or more of the output of the reference model, the control signal, the output from the user load, and any predicted output.
[0056] Additionally, this written description refers to specific features. It should be understood that the disclosure in this specification includes all possible combinations of these specific features. Where a particular feature is disclosed in the context of a particular aspect or example, that feature can also be used, to the extent possible, in the context of other aspects and examples.
[0057] Furthermore, when a method having two or more defined steps or operations is referenced in this application, the defined steps or operations can be performed in any order or simultaneously, unless the context excludes such possibilities.
[0058] All features disclosed in the specification (including the claims, abstract, and drawings), and all steps in any method or process disclosed, can be combined in any combination, except combinations where at least some of such features and / or steps are mutually exclusive. Each feature disclosed in the specification (including the claims, abstract, and drawings) can be replaced by an alternative feature serving the same, equivalent, or similar purpose, unless expressly stated otherwise.
[0059] Although specific examples of the invention have been illustrated and described for purposes of illustration, it will be understood that various modifications can be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited except as by the appended claims.
Claims
1. A test and measurement instrument, comprising: a voltage source and a sense resistor; one or more neural networks; and one or more processors configured to execute code that causes the one or more processors to: generate control signals for controlling voltage or current to be sent to a user load and a reference model that are devices under test (DUTs); send the control signals, the output from the user load, and the output from the reference model based on the control signals to the one or more neural networks and receive output adjustments; and utilize the output adjustments to adjust the control signals so that the user load performs like the reference model.
2. The test and measurement instrument according to claim 1, wherein the one or more neural networks at least include an adaptive control neural network.
3. The test and measurement instrument according to claim 2, wherein the one or more neural networks include a predictor neural network.
4. The test and measurement instrument according to claim 3, wherein the predictor neural network is configured to receive the control signal as an input and at least one output from the user load and generate a predicted output from the user load based on the control signal, and the predicted output will be used as the output from the user load for the adaptive control neural network.
5. The test and measurement instrument according to claim 3, wherein at least one control signal includes a predetermined number of previous control signals and a corresponding number of previous outputs from the user load.
6. The test and measurement instrument according to claim 4, wherein the adaptive control neural network is continuously trained using the difference between the predicted output and the output of the reference model.
7. The test and measurement instrument according to claim 3, wherein the one or more processors are further configured to execute code that causes the one or more processors to train the predictor neural network.
8. The test and measurement instrument according to claim 7, wherein the code that causes the one or more processors to train the predictor neural network includes code that causes the one or more processors to: access a predetermined number of previous inputs to the user load and the outputs from the user load corresponding to the predetermined number of previous inputs; generate randomized control signals; input the randomized control signals into the user load; pair the outputs from the user load in response to the randomized control signals with the predetermined number of previous inputs and the corresponding number of previous outputs to create a training set; and use the training set to train the predictor neural network.
9. The test and measurement instrument according to claim 8, wherein the code that causes the one or more processors to generate randomized control signals includes scaling the randomized control signals so that the outputs from the user load are within a safe range for the user load.
10. The test and measurement instrument according to claim 1, further comprising one or more memories for storing one or more of the output of the reference model, control signals, user load, and predicted output.
11. The test and measurement instrument according to claim 1, wherein the one or more neural networks comprise code executed by the one or more processors.
12. A method for automatically adjusting control signals from a source measurement unit to a user load, comprising: generating control signals for controlling voltage or current to be sent to a user load and a reference model that are devices under test (DUTs); sending the control signals, the output from the user load, and the output from the reference model based on the control signals to an adaptive control neural network and receiving output adjustments; and using the output adjustments to adjust the control signals so that the user load performs like the reference model.
13. The method according to claim 12, further comprising generating the output from the user load by sending at least one control signal as an input and at least one output from the user load to a predictor neural network, and receiving a predicted output from the user load based on the control signal for use as the output from the user load sent to the adaptive control neural network.
14. The method according to claim 13, wherein the at least one control signal comprises a predetermined number of previous control signals and a corresponding number of previous outputs from the user load.
15. The method according to claim 13, further comprising continuously training the adaptive control neural network using the difference between the predicted output and the output of the reference model.
16. The method according to claim 13, further comprising training the predictor neural network.
17. The method according to claim 16, wherein training the predictor neural network comprises: accessing a predetermined number of previous inputs to the user load and a corresponding number of previous outputs; generating randomized control signals; inputting the randomized control signals to the user load; pairing the output from the user load in response to the randomized control signals with the predetermined number of previous inputs and the corresponding number of previous outputs to create a training set; and using the training set to train the predictor neural network.
18. The method according to claim 17, wherein generating the randomized control signals comprises scaling the randomized control signals so that the output from the user load is within a safe range for the user load.
19. The method according to claim 12, further comprising storing one or more of the output of the reference model, control signals, output from the user load, and any predicted output.