Programming PPMU
- Updated2025-10-09
- 7 minute(s) read
You can use the pin parametric measurement unit (PPMU) to make DC parametric measurements on DUT pins and force voltage or current.
The PPMU supports the following operations:
- Force voltage, no measure
- Force voltage, measure voltage
- Force voltage, measure current
- Force current, no measure
- Force current, measure voltage
- Force current, measure current
- Measure voltage, no force
Force Voltage
- Force voltage, measure current
- Force voltage, measure voltage
- Force voltage, no measure
When you program or interactively set the PPMU to force voltage to the DUT, you must specify the following values associated with the voltage level. Refer to Digital Pattern User Manual for more information about PPMU DC voltage API.
Selecting the smallest range that includes the maximum current expected to be required by the DUT provides a degree of current limiting for force voltage operations. This current limiting functionality uses a range setting rather than a current clamp, and therefore you should not rely solely on it to limit current for sensitive DUTs or test setups. If the selected current range is smaller than the actual current consumption of the DUT pin, the voltage output may not reach the specified voltage level due to the sourced current being limited.
Force Current
You can perform the following operations while forcing current to the DUT with the PPMU:
- Force current, measure voltage
- Force current, measure current
- Force current, no measure
When you program or interactively set the PPMU to force current to the DUT, you must specify the following pin levels. Refer to Digital Pattern User Manual for more information about PPMU DC current API.
Measure Voltage
- Force voltage, measure voltage
- Force current, measure voltage
- Measure voltage, no force
You can perform measurement operations at any time, even if you are not forcing current or voltage with the PPMU.
In the Digital Pattern Editor, navigate to the PPMU section of the Pin View pane to view voltage measurements. To programmatically make PPMU voltage measurements, use the following:
- niDigital PPMU Measure VI
- DigitalPpmu.Measure .NET method
- niDigital_PPMU_Measure C function
Measure Current
- Force voltage, measure current
- Force current, measure current
You can only measure current while forcing voltage or current with the PPMU.
In the Digital Pattern Editor, navigate to the PPMU section of the Pin View pane to view current measurements. To programmatically make PPMU current measurements, use the following:
- niDigital PPMU Measure VI
- DigitalPpmu.Measure .NET method
- niDigital_PPMU_Measure C function
Aperture Time
The PXIe-6570 supports discrete aperture times that are based on the sample rate of the ADC. You can configure aperture time on the PXIe-6570 to achieve a desired accuracy and/or speed.
When you use the NI-Digital Pattern Driver API or the Digital Pattern Editor Pin View pane to measure voltages and currents, the PXIe-6570 begins acquiring measurements immediately. The PXIe-6570 uses sampling ADCs to sample voltage and current. These ADCs also allow for the hardware averaging of acquired measurements using the aperture time. The number of hardware averages is represented by this equation:
Number of Averages = (Aperture Time/4 μs)
Refer to PXIe-6570 Specifications for more information about the relationship between measurement noise and selected aperture times.
To set the aperture time for your measurement, use the following:
- niDigital PPMU Configure Aperture Time VI
- DigitalPpmu.ConfigureApertureTime .NET method
- niDigital_PPMU_ConfigureApertureTime C function
Optimizing PPMU Measurement Time
Each digital pattern instrument channel has dedicated per-pin PMU circuitry, but analog-to-digital conversion of the PPMU circuits is split into banks to increase operational efficiency: DIO<0..7>, DIO<8..15>, DIO<16..23>, and DIO<24..31>. An independent ADC is connected to each of these four banks of eight channels, meaning that PPMU current and voltage measurements can be run in parallel by taking measurements on channels in different banks.
When taking a measurement on two or more channels within a given bank, the connected ADC must be multiplexed between the selected channels. This results in an increase in measurement execution time that is dependent on the following characteristics:
- The number of PPMU measurement channels being multiplexed
- Whether the measurement channel is configured to make a voltage or current measurement
- Current measurement range
The effect of measurement multiplexing on measurement execution time can be calculated using the following system of equations:
where
where
- TV—Voltage Channel Settling Time Impact
- NVC—Number of Voltage Channels
- STV—Voltage Channel Settling Time
where
- THA—High Current Channel Settling Time Impact
- NHCC—Number of High Current Channels
- STHC—High Current Channel Settling Time
where
- TLA—Low Current Channel Settling Time Impact
- NLCC—Number of Low Current Channels
- STLC—Low Current Channel Settling Time
Refer to the following table for the settling time constants of different measurements.
| Measurement Settling Time | Constants | Note |
|---|---|---|
| Voltage Settling Time | 40 μs | — |
| High Current Settling Time | 130 μs | Applies to measurements in the 32 μA, 128 μA, and 2 mA ranges. |
| Low Current Settling Time | 250 μs | Applies to measurements in the 2 μA range |
The settling time for multiplexing between two channels is determined by the channel being switched to, not the channel being switched from. Because of this, you do not have to factor in the channel you take your initial measurement on in a bank when calculating the impact of settling time on measurement execution time for that bank.
Measurement multiplexing has the highest impact on banks filled with low current measurement channels. For example, the highest possible multiplexing time impact for measurements taken with an aperture time of 1 μs is 1.76 ms:
(8 ✕ 1 μs) + (7 ✕ 250 μs) = 1.76 ms
The software overhead related to measurement multiplexing is the largest factor in measurement execution time for measurements with short aperture times. As aperture time increases, software overhead will have a progressively lower impact as measurement execution time comes to be dictated by the aperture time itself. Additionally, longer aperture times have a larger impact on measurement time if the measurements are taken on channels banked together and routed to the same ADC. Channels banked together share an ADC and need to be multiplexed, while channels routed to different banks are able to use unique ADCs and run in parallel. The following graphs demonstrate these relationships and show the improvement in execution time that running measurements in parallel on separate banks can provide.