DC Parametric Measurement Units (PMU), also known as Source Measure Units (SMU), can be used in one of two modes to perform dc characterization tests on the input and output lines of digital devices:
- Method 1: Force voltage and measure current. With this method the PMU applies a constant voltage and using its on-board measurement capability it measures the current being drawn by the device/pin being tested. The voltage being supplied by the PMU can also be measured.
This article will demonstate how DC parametric measurement units (PMU) can be used to perform DC characterization tests on digital devices. The tests described here can be conducted on a wide variety of digital devices from semiconductor IC's to printed circuit boards and can be performed using the built-in DC Parametric Measurement Unit (PMU) capability of the Geotest GX5295 Dynamic DIO cards. When operating in force voltage mode, the GX5295 PMU can supply a programmable constant voltage between -2V and +7Vdc. The PMU has eight current ranges that can be used for the Force Current or Measure Current modes. These ranges are:More information on the GX5295 can be found on the Geotest website.
- Method 2: Force current and measure voltage. With this method the parametric measurement unit either forces a constant current across a device or sinks a constant current from a device pin and then measures the resultant voltage. The PMU sink/source current also can be measured.
The following terms will explain some of the DUT parameters that can be measured using the PMU:
- VIH: (Voltage Input High) The minimum positive voltage applied to the input which will be accepted by the device as a logic High.
- VIL: (Voltage Input Low) The maximum positive voltage applied to the input which will be accepted by the device as a logic Low.
- VOL: (Voltage Output Low) The maximum positive voltage from an output which the device considers will be accepted as the maximum positive Low level.
- VOH: (Voltage Output High) The maximum positive voltage from an output which the device considers will be accepted as the minimum positive High level.
- IIL: (Low Level Input Leakage) The input leakage current measured when the input is a logic Low.
- IIH: (High Level Input Leakage) The input leakage current measured when the input is a logic High.
- IOS(H): (High-level short-circuit output current) The short-circuit output current when the output is at a logic High
- IOS(L): (Low-level short-circuit output current) The short-circuit output current when the output is at a logic Low
Output Voltage Level Testing (VOH, VOL, IOS)Output Voltage Level tests are used to verify the operation of a digitial output when used under its specified loading conditions. They can also be used to simulate a worst-case loading condition to observe how a DUT will perform when an output is loaded beyond its specified limit, for example when shorted to ground. When performing these types of tests the test current range should be chosen to adaquately test the output without damaging the device-under-test (DUT).
The following example shows how to perform a VOH test on a digital output. The purpose of this test is to ensure that the DUT can maintain an output voltage that is above the logic High threshold while supplying its maximum rated drive current. In this test the PMU will be programmed to sink current from the DUT output, simulating a load condition.
Figure 1 below shows how the DUT and GX5295 are connected. To perform this test the DUT is powered up. One GX5295 channel (Ch1 in this example) is used to apply an input logic level that forces the DUT output to a logic High. As GX5295 channels can be set to either digital or PMU mode on a per-pin basis the type of signal applied to the input (a logic High/Low or a constant voltage value) will depend on the DUT test strategy. A second GX5295 channel (Ch2 in this example) is set to PMU Force Current/Measure Voltage mode with an initial sink current value that will not damage the DUT output pin. The PMU is then used to force a sink current from the minimum to the maximum test values. At each test current value the DUT output voltage is measured to ensure it is within its specified voltage range for a logic High. The actual PMU test current can be measured also. These measured values can be used to generate an I-V Curve trace for possible fault-finding in the event of an output failure. The testing technique shown here can also be used for VOL and IOS testing.
Figure 1: VOH testing using the GX5295
The following GX5295 pseudo code (ATEasy) shows how VOH testing is performed on the circuit in Figure 1 above
! Declare the following variables
short nMasterNumber !The number of the master in the chassis. There may be multiple masters in a chassis
short nMasterHandle !The handle of this master GX5295
short nSlot !The slot where this master is located
short nDensity !The amount of memory in MB on the card
short nBanks !The number of banks on the card
short nStatus !Procedure return value
double dPmuCurrent !PMU Current value
double dMeasV !Voltage measured at the PMU pin
double dMeasI !Current measured at the PMU pin
char sError !Used to store error string
! Initialize variables
nMasterNumber = 1 !GX5295 is Master 1 in the PXI chassis
nSlot = 10 !It is located in slot 10
nDensity = 256 !There is 256MB of memory on the card
nBanks = 1 !One memory bank
!Initialize the GX5295
DioSetupInitialization(0, nMasterNumber, nSlot, nDensity, nBanks, nMasterHandle, nStatus)
DioGetErrorString(nStatus, sError, 255)
error nStatus, sError ! generate exception
DioInitialize(nMasterNumber, nMasterHandle, nStatus)
!Set Logic High to 5.0V and a Low to 0.0V
DioSetupOutputVoltages(nMasterHandle, 1, 1, 5.0, 0.0, nStatus)
! Set channel 1 mode to output a logic High
DioSetupChannelMode(nMasterHandle, 1, 1, 3, nStatus)
! Set channel 2 mode to PMU Forced Current mode
DioSetupChannelMode(nMasterHandle, 2, 2, 4, nStatus)
for i=0 to 16
dPmuCurrent = -0.25*i !Run test in 0.25mA increments
! Set channels to sink dPmuCurrent and the current range to -8mA to +8mA.
DioPmuSetupForcedCurrent(nMasterHandle, 2, 2, dPmuCurrent, 1, nStatus)
!Allow time for the DUT output to settle
! Measure channel 2 output current using a 50rps measurement rate
DioMeasure(nMasterHandle, 2, 4, dMeasI, 50, 0, 0, nStatus)
! Measure voltage at channel 2 using a 50rps measurement rate
DioMeasure(nMasterHandle, 2, 5, dMeasI, 50, 0, 0, nStatus)
print "Ch2 measured output current="+str(dMeasI)+" Measured Voltage = "+str(dMeasV)+"\n"
Input Leakage Testing (IIL, IIH)Leakage current tests are performed by applying a constant voltage, in steps over a specified test voltage range, to the DUT input pin and measuring the input current at each step. As leakage currents are often in the uA range, the PMU should be set to its more sensitive current ranges to achieve more accurate measurements.
To perform an Input Leakage Test the DUT is powered up and the PMU pin is set to Force Voltage/ Measure Current Mode. At each input voltage setting the PMU measures the current being drawn by the input and then verifies the value against the DUT specification. The actual test voltage that the PMU is sourcing can be measured also.
The testing technique shown here can also be used for VIL and VIH testing.
Figure 1: Input Leakage testing using the GX5295 PMU capability