PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Flaws in NI DCPower drivers?

Hi, All,

  in electrical measurement, like what we usually practice: output voltage and monitor current. there are two parameters related to current measurement: "current measurement range" and "current compliance".  these two parameters should be separated and not correlated, in other words, if I measure a 1nA signal, I can set the compliance as high as 1000A, the system should still be able to give the same reading as the compliance set at 1uA as long as you set the "current measurement range" as auto. therefore the compliance shouldn't t affect the measurement readings except it is set too small. but in NI's case, I think the NI driver that was supposed to set the system into "auto range" is somehow messed up, it actually  set the current measurement range as  " measurement range >= the compliance". this is what several of us discussed and find out. if you have a NI SMU at hand, and with this example vi from NI-- "NI DCPower hardware-timed voltage sweep", you can check youself. Just measure the background noise with different "compliance" input like 10-8 vs. 10-3, you will notice the change in the readings. one thing to clear, in this vi,  the current compliance is called "current limit". 

  at this moment, it seems NI don't have a functional driver/sub-vi to auto-set the current measurement range. then when users measure device other than a resistor, they will not succeed because you can not use one current measurement range to deal with all the data points, especially when the readings spread over several magnitude. for example if the device's current is 1nA at 1V and 2mA at 2V, then 1nA again at 3V.   if you set the current range as mA, then the system's resolution would not be good enough to tell the nA. if you set the current range as uA, which should have enough resolution to tell nA, then it can not handle the mA readings.  I wonder if other user have encountered the same situation or NI is aware of the situation. 

 

regards,

ted

0 Kudos
Message 1 of 7
(2,657 Views)

The NI DCPower Driver has several flaws that I have seen in my application, with the one you've described being the most limiting.

  1. Measurement Range is linked to the Compliance Range. This is particularly detrimental when sourcing voltage as current may vary across many orders of magnitude.
    • This means that in order to measure a 150mA compliance (requiring the 1A range) you limit the measurement to a 10uA resolution. A simple diode below threshold would measure much less than this.
    • SMUs with auto-ranging functionality should adjust dynamically to obtain the highest resolution measurement.
    • Currently, the auto-range property just sets whichever range covers the source/compliance set point - essentially the same as fixed range.
      • Purpose of a fixed range is to improve measurement speed when the improved resolution is not needed.
      • SMUs sometimes have a 'Limited Auto' range which does not range below the limit value, again to improve measurement speed when some improved resolution is needed.
  2. No stop on compliance functionality exists. Once the SMU reaches the compliance setting, the measurement continues in a fold-back condition. This is wasted measurement time.
  3. No power compliance functionality exists. Power compliance requires the compliance to be calculated dynamically for every source point in the sequence.

Technically, all 3 of these issues can be resolved by moving functionality into the software but this completely eliminates use of deterministic hardware-timed sequence or even software-timed sequences. It becomes non-uniform software-timed single points.

0 Kudos
Message 2 of 7
(2,402 Views)

For future reference, this discussion would be better placed on the DC Power page. This way it is more likely for the correct R&D team to see your feedback.

 

  1. If you are wanting to have different measure range vs. compliance range, that would require extra hardware. But having a measurement auto-range that you talked about is a possibility (discussed later).
    • Setting your range to 1A does effect your resolution, but I think by 10 µA you are referring to is the limits, not the resolution. For example, if you are using a 4135  and you set the range to 1A, than this gives you a resolution of 100nA. However, you do still need to take into account for noise and accuracy. Is there a reason you are having your compliance so far away from what you are hoping to measure?
    • The current auto-range that we have, that you are talking about (current/voltage limit autorange) does just sets the range based off your limit value. So, I do understand a desire for having a measurement auto-range. I do know others have requested this, but I will make sure to bring it back up to the DC Power Software team so they know you are really desiring this.
      1. With that in mind, this would still probably require some time to switch ranges (unless there is a hardware change). You are able to change the ranges/limits on the fly now, although I would recommend aborting, changing the range/limit, and then initializing again.
  2. I also know the Software team is looking to having alternative compliance behaviors (like shutdown on compliance), so I made sure to bump this up for you.
    • Certain SMUs do have programmable over voltage protection (OVP), which can do what you are thinking of. But, we do not have something for current. Like you mentioned, you can do this in software by always monitoring the compliance Boolean and than either shut of the output, or force your own error to the system.
  3. This is also on our radar, but I will make sure they know there is still strong desire for this.

 

I want to thank you for letting us know about these requests as we are always looking to improve our drivers. I also wanted to let you know I have already passed/pumped your requests to our DC Power Software Developer team. Please let me know if you have any other feedback.

 

Thanks!

0 Kudos
Message 3 of 7
(2,385 Views)

Thanks for the DC Power page link. I wasn't finding the correct location and stumbled upon this fairly recent post discussing the same issue.

 

When sweeping a diode from 0V to 1V, I measure less than 100pA at <0.7V and up to 100mA at >0.7V. To get around this, I have to run two sweeps with different compliance ranges based on the anticipated measurement. Then, I have to attempt to concatenate them despite having different noise/resolution in the differing ranges. Finally, not all measurements would have this 'anticipated' range.

 

The auto-range would require additional measurement time (making measurement time less predictable) but is desirable over having to run multiple sweeps or lose resolution altogether. Changing any of these settings on-the-fly or aborting/initializing moves the measurement into software, whereas these high-end SMUs heavily advertise the hardware-sequences.

 

Compliance behavior can also be accomplished in software by trading off the deterministic hardware sequenced performance.

 

Good to know that this is on the team's radar. I have a lot of experience using traditional semiconductor parameter analyzer equipment and I'm happy to help bring these SMU's up to full speed so that I can advance my utilization of them in ATE.

 

Thank you for taking the time to read, respond and forward to the DC Power Software Developer team.

Message 4 of 7
(2,381 Views)

I recently bought a PXIe-4163 SMU module and have the same issue with diode measurement (-2V to +2V range, <0V in nA range and >0V in 100mA range)

the issue with dcpower driver is there's mixed up in source limit/range and measurement range. 

there's no place for me to setup the measurement range. 

there's an option to setup autorange for measurement, however, every time when I try to set it to on state, it gives me error. it defaults at off state and no way to change it.  

 

0 Kudos
Message 5 of 7
(1,805 Views)

Providing the same reply, in NI SMU series, the measurement range and compliance ranges are one and the same because the measurement is used to implement the compliance (probably at the software level in the control system implemented on the FPGA).

 

As seen in the below block diagram of the 4163, the FPGA implements both the voltage and current compliance and hence there are no separate ranges for measurement and compliance.

santo_13_4-1611016538427.png

 

 

This is something different from other vendors where the compliance may be implemented at a hardware layer by analog crowbar circuit.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 6 of 7
(1,790 Views)

Santhosh,

 

thanks for the clarification. 

but then any idea how to setup autorange?

Assuming source voltage and measure current, the current range from nA to mA and I'd like to setup for autorange.(diode IV measurement)

this method doesn't work

dcPowerSession.Outputs[ChannelName].Measurement.Autorange = DCPowerMeasurementAutorange.On

I can only set it to Off state. otherwise receive an error message. 

 

I also tried this

dcPowerSession.Outputs[ChannelName].Source.Voltage.CurrentLimitAutorange = DCPowerSourceCurrentLimitAutorange.On;

although I didn't receive an error message but I think its still not working as long as I set up the current limit afterwards:

dcPowerSession.Outputs[ChannelName].Source.Voltage.CurrentLimit =0.05

 

thanks,

Shawn

 

 

0 Kudos
Message 7 of 7
(1,785 Views)