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:
The PulseLoad() function has the following syntax with the arguments described in the table below:
PulseLoad(REF, ISTART, IFINAL) PulseLoad(REF, ISTART, IPULSE, 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 DVM loads. |
I START | 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. |
I PULSE | 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. |
I FINAL | 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:
|
parameter_name1=parameter_value1 parameter_name2=parameter_value2The order of the parameter key-value pairs does not matter.
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}}\]
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 | I START (see note below) |
Y1 | IPULSE (see note below) |
Y2 | IPULSE (see note below) |
Y3 | IFINAL (see note below) |
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.
The PulseLoad() test objective measures the following scalar values,where {load_name} and {src_name} are replaced by the actual load name source name:
Scalar Name | Description | ||||||||||
sw_freq | A number which represents the converter switching frequency. This scalar is generated from a fixed probe with curve label DVM Frequency. For more information, see Measuring the Switching Frequency.. | ||||||||||
vout{n}_recovery_time | The number {n}
in the scalar name is an integer indicating a position in the
list of DVM loads.
The three possible return values are the following:
|
||||||||||
|
The Average, Minimum, Maximum, RMS and Peak-to-Peak values for each load voltage and current taken over the entire simulation time window. | ||||||||||
|
The Average, Minimum, Maximum, RMS and Peak-to-Peak values for each source voltage and current taken over the entire simulation time window. |
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. |
Overshoot_V{load_name} | The maximum value of the output during the simulation time is less than the maximum overshoot specification value. |
Undershoot_V{load_name} | The minimum value of the output during the simulation time is greater than the minimum undershoot specification value. |
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 page 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 page 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 |
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)
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.