The PulseLine() test objective uses a Pulse Input Source - Single Pulse and configures the output as a Resistive Load. The input source is configured with the starting, pulse and final voltage values that are passed as arguments to the PulseLine() test objective function.
The PulseLine() test objective runs both a POP and transient simulation on the converter.
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 PulseLine() function has the following syntax with the arguments described in the table below:
PulseLine(REF, START_VOLTAGE, PULSE_VOLTAGE, FINAL_VOLTAGE) PulseLine(REF, START_VOLTAGE, FINAL_VOLTAGE, FINAL_VOLTAGE, OPTIONAL_PARAMETER_STRING)
Argument | Range | Description |
REF | n/a | The actual reference designator of the DVM Source or the generic syntax of INPUT:n where n is an integer indicating a position in the list of DVM sources. |
START_VOLTAGE | The starting source voltage. The starting voltage can be a numeric value or a symbolic value, such as "Maximum." | |
PULSE_VOLTAGE | The pulse voltage. The pulse voltage can be a numeric value or a symbolic value, such as "Maximum." | |
FINAL_VOLTAGE | The final source voltage,.The final voltage can be a numeric value or a symbolic value, such as "Maximum." | |
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 StepLoad() 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( \text{FINAL_VOLTAGE}-\text{START_VOLTAGE} \right)}{\text{SLEW_RATE}} \]
\[ \text{PULSE_WIDTH} = \frac{\text{PULSE_LINE_DURATION}}{\text{SWITCHING_FREQUENCY}} \]
\[ \text{FALL_TIME} = \frac{ abs \left( \text{PULSE_VOLTAGE}-\text{FINAL_VOLTAGE} \right)}{\text{SLEW_RATE}} \]
DVM then calculates the simulation stop time as follows:
\[ \text{STOP_TIME} = \text{TIME_DELAY} + \text{RISE_TIME} + \text{PULSE_WIDTH} + \text{FALL_TIME} + \frac{\text{CYCLES_TO_RECOVER}}{\text{SWITCHING_FREQUENCY}}\]
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 | START_VOLTAGE |
Y1 | PULSE_VOLTAGE |
Y2 | PULSE_VOLTAGE |
Y3 | FINAL_VOLTAGE |
The PulseLine() test objective sets the source and load subcircuits to the following:
Source | Load |
Pulse Input Source | Resistive Load |
Loads other than the output under test are set to the Resistive Load. All other sources are set to the DC Input Source.
The PulseLine() 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 Managed Sources and 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 PulseLine() test objective is not used in the built-in testplans. To setup a PulseLine() test objective, you can start with a built-in testplan, and change the StepLine() tests to PulseLine() 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 PulseLine() test created by modifying the DC/DC (1-input/1-output) testplan. This test configures the line to pulse from the Minimum to Maximum symbolic values. Both values are defined on the DC Input page of the Full Power Assist DVM control symbol. The timing of the pulse line event will be determined by the values on the Step/Pulse Line page of the Full Power Assist DVM control symbol. The load is set to 50% of the full load maximum value with a Load function.
*?@ Analysis | Objective | Source | Load | Label |
Transient | PulseLine(INPUT:1, Minimum, Maximum, Minimum) | Load(OUTPUT:1, 50%) | Transient|Pulse Line|50% Load|Vin Minimum to Vin Maximum |
The following PulseLine() test objective uses the OPTIONAL_PARAMETER_STRING argument to set the output load to pulse between the Minimum to Maximum 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.
PulseLine(INPUT:1, Minimum, Maximum, Minimum, 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: PulseLine() Test Report. Below is an interactive link to the same test report.
>