Digital Multimeters (DMMs) and Precision DC Sources

cancel
Showing results for 
Search instead for 
Did you mean: 

4132 measurement and aperture time

Solved!
Go to solution

Hello,

 

I am using a 4132 SMU with a 2531 switch to measure different resistances in an electrical chip. I'm using a short ~50ms biphasic pulse to measure the resistance. My problem is that the measurement time is so long - it seems the minimum pulse width I can do is a 30ms pulse in one polarity, and a ~40ms pulse in the other polarity. I have disabled "autozero", which knocked out 20ms on each phase, but I'm still left with a ~70-80ms measurement, but I'd like it to be half that, if possible. The only other way I can see to minimize meaurement time is to lower the aperture window, but no matter if I increase or decrease the aperture time, the measurement takes about 10x as long if the aperture is anything other than 1 PLC.

 

Attached is the subVI I use to measure the a single resistance value. Notice that first I close the relays to address a certain part of the circuit, and then configure the SMU, and then fetch multiple measurements, one for (+)V and one for (-)V. This meaurement will be repeated 15 times in quick succession, albeit with different relays closed, meaning that the SMU gets reconfigured/initialized 15 times to the same settings, so maybe that is my problem. I haven't ventured into handshaking, but I'd like to know if there's anything else I can do since the handshaking deal would take a great deal of programming. In any event, when I run the VI multiple times, there is only 8ms between the biphasic pulses, so the reconfiguring can't take THAT long.

 

I've posted a jpg of the time trace of the pulse that this generates (10,000 samples per second). Notice that the first phase of the pulse is a different length of time that the second phase: there is nothing in the program that would cause that - it would make more sense if the first phase was longer to account for the increased time for configuring the SMU. So I've got a sort of cluster of problems here: 1)cannot reduce aperture time 2) want to avoid a handshaking VI if it means hours and hours of programming, 3) uneven pulses. Hopefully somebody can point me in the right direction!

 

Thanks so much,

GimNPC

Download All
Message 1 of 7
(6,729 Views)

Hey gimNPC,

 

You're definitely on the right track ;). 

 

Yes, reconfiguring the device each time in SW is going to incur a SW time penalty.  Instead of disabling/aborting/reconfiguring the 4132 each time, I recommend unpowering the DUT (by setting supplies to 0V, to increase relay life), then switching the 2531, then setting the 4132 voltage setpoint and testing the next DUT configuration.

 

Lowering the aperture time to 1/2, 1/4, 1/8, 1/16, 1/32, or 1/64 PLCs should decrease overall measurement time; if that's not what you're seeing, something else is going on and we can look into it.  Note the 4132's settling time is fixed at 600us, and with autozero disabled, there's nothing else to wait on in the HW measurement cycle (note the nondeterministic SW calls add a huge additional time penalty).

 

If speed is essential, I strongly encourage handshaking...  it'll also help with your determinism (assuming you're not using a RealTime operating system).  Handshaking isn't hard once you understand the 2531's syntax and the 4132's state model; if test time is relatively expensive and you're testing a ton of components, then spending 30 minutes to learn the ropes is more than worth it.

 

Once you get everything working, if you find that the measurements aren't settled, you can add additional settling time to the 2531 before it sends its scan advance trigger back to the 4132. 

 

Post up if you have any questions.

:handshake:

-John Sullivan
Problem Solver
0 Kudos
Message 2 of 7
(6,727 Views)

Also, kudos to your excellent coding style.  Definitely post up your code handshaking code if you run into any issues and I'll take a look.

-John Sullivan
Problem Solver
0 Kudos
Message 3 of 7
(6,725 Views)

@Knights Who Say NI wrote:

Also, kudos to your excellent coding style.  Definitely post up your code handshaking code if you run into any issues and I'll take a look.



Ah, You've just made my day, John.

 

I should have mentioned that I am using this on a real time controller, although most of the VI heirarchy is using regular old while, for loops without the deterministic stipulations.

 

Thanks for the quick reply!

0 Kudos
Message 4 of 7
(6,722 Views)

I recommend you try out the handshaking option. It's not too difficult to understand and to get up and running. You will be happy with the results.

Marcos Kirsch
Chief Software Engineer
NI Driver Software
0 Kudos
Message 5 of 7
(6,709 Views)
Solution
Accepted by topic author gimNPC

gimNPC,

 

As previously mentioned, you should not need to call Reset every time at the end of the method. Instead, set the output to 0 V. Additionally, any attributes that are not being changed will not need to be reconfigured, which will speed up the loop a little bit (several milliseconds maximum, I would expect).

 

When you call niDCPower Reset, the aperture time is reconfigured. On the 4132, any time the aperture time is reconfigured, we must wait a minimum time to allow any in-progress measurement to be cleared. This is due to the behavior of one of the hardware components we use. If you prevent reconfiguration of your aperture time during each execution, your execution speed should be improved significantly.

 

Please let us know if these suggestions help, or if you have further questions.

 

Thank you,

 

Tobias Gordon

Software Engineer

Precision DC

National Instruments

Tobias
Principal Software Engineer
Driver Software
National Instruments
0 Kudos
Message 6 of 7
(6,701 Views)

@Tobias G wrote:

gimNPC,

 

As previously mentioned, you should not need to call Reset every time at the end of the method. Instead, set the output to 0 V. Additionally, any attributes that are not being changed will not need to be reconfigured, which will speed up the loop a little bit (several milliseconds maximum, I would expect).

 

When you call niDCPower Reset, the aperture time is reconfigured. On the 4132, any time the aperture time is reconfigured, we must wait a minimum time to allow any in-progress measurement to be cleared. This is due to the behavior of one of the hardware components we use. If you prevent reconfiguration of your aperture time during each execution, your execution speed should be improved significantly.

 

Please let us know if these suggestions help, or if you have further questions.

 

Thank you,

 

Tobias Gordon

Software Engineer

Precision DC

National Instruments



This fixed it! I could probably get the measurement time even shorter using the triggering/handshaking, but this worked perfectly, and was an easy fix.

 

Instead of a 'reset' subvi, I put in a "wait until event" (waits until sequence is done) followed by an "abort". Now, I can lower the aperature without trouble. With a 0.5 PLC aperture, and a 0.001ms source delay for measurements, I can get a ~10ms positive pulse, a ~10ms negative pulse, then a reset to 0. When the VI runs a second time, the configure subvis (such as configure voltage range, apterture time) take about 10ms, so 1 measurement cycle is down from ~80ms to ~30ms.

 

Looks like I get to put off learning about triggers a little while longer Smiley Tongue

 

Thanks everybody!

 

 

 

 

0 Kudos
Message 7 of 7
(6,688 Views)