DVM - Design Verification Module
|
The PulseLine() test objective uses a pulse input source 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 Hide
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 managed 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:
|
* 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. This optional parameter string sets the time delay to 25us, and the rise time to 100us.
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}}\]
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.
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 |
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:
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:
|
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. |
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 Input tab of the Full Power Assist DVM control symbol. The timing of the pulse line event will be determined by the values on the Pulse Line tab 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.
© 2015 simplistechnologies.com | All Rights Reserved