DVM - Design Verification Module

PulseLoad() Test Objective

The purpose of the PulseLoad() test is to verify that the output voltage is within regulation. This test is similar to the StepLoad() test objective except that the load current is a pulse. The input is configured as a DC Input Source, and the output is configured as a a Single-current Pulse Load.  The initial, pulse, and final current values are passed as arguments to the PulseLoad() function.

Both a POP and transient simulation are used in the PulseLoad() test.

The test report  includes source, load, and frequency graphs as well as the following scalar values which are defined in the Measured Scalar Values section below:

In this Topic Hide

Testplan Syntax

The PulseLoad() function has the following syntax with the arguments described in the table below:

PulseLoad(REF, ISTARTIPULSE, IFINAL)
PulseLoad(REF, ISTARTIPULSE, IFINAL, OPTIONAL_PARAMETER_STRING)  

Argument Range Description

REF

n/a

The actual reference designator of the DVM Load or  the generic syntax of OUTPUT:n where n is an integer indicating a position in the list of managed DVM loads

ISTART

min:0

The starting current for the load. This can be a numeric value or a symbolic value, such as a percentage of full load.

IPULSE

min:0

The  pulse current for the load. The pulse current can be a numeric value or a symbolic value, such as a percentage of full load.

IFINAL

min:0

The final current for the load. This can be a numeric value or a symbolic value, such as a percentage of full load.

OPTIONAL_PARAMETER_STRING

n/a

Parameter string with a combination of one or more timing parameters:

  • TIME_DELAY*
  • RISE_TIME*
  • PULSE_WIDTH*
  • FALL_TIME*
  • CYCLES_TO_RECOVER*

*    If more than one parameter is specified, join the parameter key-value pairs with a space, as shown in the example below. The order of the parameter names does not matter.

Timing

DVM sets the timing parameters for the PulseLoad() test objective based on values that you enter on the following two tabs in the DVM  Full Power Assist control symbol:

The time delay, rise time, pulse width, fall time, and simulation stop time are determined by these calculations:

\[ \text{TIME_DELAY} = \frac{\text{CYCLES_BEFORE_EVENT}}{\text{SWITCHING_FREQUENCY}} \]

\[ \text{RISE_TIME} =  \frac{ abs \left( I_{FINAL}-I_{START} \right)}{\text{SLEW_RATE}} \]

\[ \text{PULSE_WIDTH} = \frac{\text{PULSE_LOAD_DURATION}}{\text{SWITCHING_FREQUENCY}} \]

\[ \text{FALL_TIME} =  \frac{ abs \left( I_{PULSE}-I_{FINAL} \right)}{\text{SLEW_RATE}} \]

\[ \text{STOP_TIME} = \text{TIME_DELAY} + \text{RISE_TIME} + \text{PULSE_WIDTH} + \text{FALL_TIME} +  \frac{\text{CYCLES_TO_RECOVER}}{\text{SWITCHING_FREQUENCY}}\]

Note: The switching frequency and cycles to recover parameters are not the actual measured values from a simulation; they are constant values taken from the DVM control symbol. Also, you can override time delay, rise time, and cycles to recover on a test-by-test basis by using the optional parameter string.

The output current pulse timing is annotated on the graph below:

Annotation Value
X0 TIME_DELAY
X1 TIME_DELAY + RISE_TIME
X2 TIME_DELAY + RISE_TIME + PULSE_WIDTH
X3 TIME_DELAY + RISE_TIME + PULSE_WIDTH + FALL_TIME
Y0

ISTART (see note below)

Y1 IPULSE (see note below)
Y2 IPULSE (see note below)
Y3 IFINAL (see note below)

Note: The actual load current depends on the LOAD_RESISTANCE parameter and the actual time-varying load voltage. The ISTART current is modeled by a resistor defined by the LOAD_RESISTANCE parameter in the pulse load subcircuit. The PWL current source has points defined by the ramp-load START_CURRENT, PULSE_CURRENT, and FINAL_CURRENT parameter values.

Source and Load Subcircuit Configuration

The PulseLoad() test objective sets the source and load subcircuits to the following:

Source Load

DC Input Source

Pulse Load - Single Current Pulse

Loads other than the output under test are set to the Resistive Load. All other sources are set to the DC Input Source.

Measured Scalar Values

The PulseLoad() test objective measures the following scalar values:

Scalar Name

Description

sw_freq

A number which represents the converter switching frequency.

vout{n}_recovery_time

The number {n} in the scalar name is an integer indicating a position in the list of managed DVM loads. The three possible return values are the following:

  • A number which represents the time the converter took to adjust the output voltage to within the regulation tolerance set in the Output tab of the Full Power Assist control symbol.
  • The value "never left regulation" is returned f the output under test never left the regulation window.
  • The value is "left regulation and never recovered" is returned if the output under test leaves the regulation window and does not recover before the end of the simulation.

Measured Specification Values

In the following table, {load_name} is the name assigned to each load. The default value is LOAD. DVM forces each load name to be unique so that the scalar and specification values for each load are unique.

Scalar Name

PASS/FAIL Criteria

Min_V{load_name}

The minimum value of the output voltage during the simulation time is greater that the minimum specification value.

Max_V{load_name}

The maximum value of the output during the simulation time is less than the maximum specification value.

Max_V{load_name}_overshoot

The maximum value of the output during the simulation time is less than the maximum overshoot specification value.

Testplan Example

The PulseLoad() test objective is not used in the built-in testplans. To setup a PulseLoad() test objective, you can start with a built-in testplan and change the StepLoad() tests to PulseLoad() tests. A copy of the built-in testplan is automatically copied to the working schematics directory when you run the testplan for the first time.

Shown below is a single PulseLoad() test created by modifying the DC/DC (1-input/1-output) testplan. This test configures the load to pulse from the Light to the 100% load symbolic values. Both values are defined on the Output tab of the Full Power Assist DVM control symbol. The timing of the pulse load event will be determined by the values on the Pulse Load tab of the Full Power Assist DVM control symbol.

*?@ Analysis Objective Source Load Label
Transient PulseLoad(OUTPUT:1, Light, 100%, Light) Source(INPUT:1, Nominal)   Transient|Pulse Load|Vin Nominal|Light Load to 100% Load

Optional Parameter String

The following PulseLoad() test objective uses the OPTIONAL_PARAMETER_STRING argument to set the output load to pulse between the Light and 100% load symbolic values and sets the pulse time delay to 25us, the rise time to 100us, the pulse duration to 1ms, and the fall time to 100us.

PulseLoad(OUTPUT:1, Light, 100%, Light, TIME_DELAY=25u RISE_TIME=100u PULSE_WIDTH=1m FALL_TIME=100u)

Test Report

You can view the complete test report in a new browser window here: PulseLoad() Test Report. Below is an interactive link to the same test report.

© 2015 simplistechnologies.com | All Rights Reserved