eCircuit  Center 
Source Measure Unit Series

About SPICE | SPICE Basics | Running SPICE | CIRCUIT COLLECTION
SPICE Commands | SPICE Downloads | About | Contact | Home

SMU - Force Voltage

How It Works


  pic

 
Download SPICE Netlist or LTSPICE Schematic
Right Click on filename, select "Save link as..."


Let's create a Source Measure Unit (SMU) in Force Voltage mode using basic system blocks. Why? Learning these simple blocks helps you develop basic understanding and intuition. Later you can build more complex SMUs on this foundational understanding. With a hands-on SPICE model, you can source voltage and measure current (FVMI) to verify a resistance spec.


Back to SMU Series
 

FORCE VOLTAGE

This mode Forces a Voltage across the Device-Under-Test (DUT) and Measures the Current. Why is this useful?

Consider an Audio Amp's specification of Input Resistance: Rin = 20k ± 10% at 10V. Notice how the spec calls out a condition, in this case 10V. So the SMU's test mission is to

  1. Force the Condition (FV = 10V)
  2. Measure the Parameter (MI = Io)
  3. Calc Rin = FV/MI and Check if passes within Limits (20k ± 10%)
     

BASIC BLOCKS


  pic

How can you implement the Force Voltage mode? SMUs typically implement the classic voltage feedback loop.

 

INTEGRAL CONTROL

The Controller is implemented with an integrator - a simple, yet powerful function. What's its role? The Integrator keeps a continuous running total of the error over time. Note, in the integration equation below, the ∫ represents the letter S for a Summation.

pic

To see how it works intuitively, let's choose set = 5V.

You can choose Kint (the portion of error to be summed) to control the speed of the control loop.
 

SPICE CIRCUIT - HOW IT WORKS

 

SIMULATION

Let's take this SMU out for a test drive. Just two actions are needed:

  1. Set the netname on the feedback net (E_ERR, neg input) to MV.
     
  2. Enable the parameters for FV:
       .param set=10.0 Rs=100 Rdut=20k Kint=100
    Comment out the FI params:
      *.param set=0.001 Rs=100 Rdut=10 Kint=10000

 CIRCUIT INSIGHT   Run a TRAN simulation of SMU-FVFI-basic-0.cir (or *.asc). Add traces v(set) and v(mv). Does MV rise to the set point of 10V? Add v(error) and observe - does v(error) get smaller as v(mv) approaches v(set).

 RESISTANCE MEASURE   Let's perform a resistance test. First, measure the DUT current by opening another plot window and adding trace v(mi). Finally, to calculate resistance, add another plot window and trace v(mv)/v(mi). Does your test verify Rdut = 20k?

 SPEED CONTROL   Now try your hand at speed control! Adjust Kint up or down by 2x and rerun the simulation. Does v(mv) rise faster or slower?

SPICE NETLIST

Download SPICE Netlist or LTSPICE Schematic
Right Click on filename, select "Save link as..."

* SMU-FVFI-basic-1.asc
*
* Set Params
* FV
.param set=10.0 Rs=100 Rdut=20k Kint=100
* FI
*.param set=0.001 Rs=100 Rdut=50 Kint=20000
*
* Set Point
VSET  set  0  PWL(0us 0 1us {set})
*
* Error
* FV Mode: set E_ERR (-) input to MV
* FI Mode: set E_ERR (-) input to MI
E_ERR error 0  set MV  1.0
*
* Controller (Integrator)
G_INT  0 Vctl  error 0  {Kint}
Cint  Vctl  0  1
Rint  Vctl  0  1e6
*
* Output Amp
E_AMP  Va 0  Vctl 0  1.0
*
* Current Sense
Rs  Va  Vo  {Rs}
*
* Device Under Test
Rdut  Vo  0  {Rdut}
*
* Measure Current
E_MI  MI 0  Va Vo  {1/Rs}
*
* Measure Voltage
E_MV  MV 0  Vo 0  1.0
*
* SIMULATION
.tran 100ms
.probe
.end

 

Back to SMU Series