Friday, January 31, 2014

More Information on the Awesomeness of binary data

Hi everybody!

This month I am going to do a build on one of Ed's posts from this month.  It was titled "Using Binary Data Transfers to Improve Your Test Throughput".  If you have not read it, go ahead and click on the link. I'll be here when you get back.

I wanted to reiterate how drastic the difference is between using these two interfaces when you are reading large amounts of data.   I did some bench-marking a little while ago and I wanted to share it now with everybody.  Please note that these were quick tests that I did and in no way are official numbers.  In fact if you see anything wrong with my methods, please comment.   

The first thing that I will talk about is my method.  I did the test with a N6700B MPS Mainframe and a N6781A SMU module.  I wrote a program that set up the module to source 5 V and then take an array of voltage measurements.  I set it for the maximum number of measurement points (524288 points) with the fastest sample rate (though for this experiment the sample rate does not really matter).  Before I did the reading of the data from the N6700B to my PC I started a programmatic stopwatch and stopped the stopwatch after the reading was complete.  I looped 20 times and took the average.

One thing that I would highly recommend is to use the Agilent VISA-COM IO library.  The VISA-COM library offers a ReadIEEEBlock function that makes reading binary data really easy for you.  

The screenshot below shows the relevant loop and the calculation.  This program was written in VB and I used LAN to communicate with the instrument.

The other important piece that this is not showing is that I am setting the data format to real using FORM REAL command.  When you use ASCII, the command is FORM ASCII (this is also the default setting).

You can see the commented out ReadString command that I swapped in when I used the ASCII data format.  You can also see my extremely professional (and useful) "I am on line" counter that I put in so that I knew my program was looping correctly.

So now for the times.  ASCII format took around 100 s to read back all 524288 measurements into a string.  When I switched to the binary format, it took under 5 seconds. As you can see, that is a very drastic difference and if you are reading back a lot of data from an instrument that supports the binary format, you really need to use it.

I also did a few other experiments.  I changed the total number of points down to 1000.  The binary format took a little under 20 ms to read the data and the ASCII format took about 125 ms.  The last test that I did was 3 data points.  The binary format took a little less than 15 ms and the ASCII format took under 5 ms to make the measurement.  So you can see that as you read less and less data back, the ASCII format does catch up to the binary format and even exceed it.

Moral of the story is that if it is something more than a few points to read back, use binary because it will save you a ton of time.

That's all I have this month and I will be back next month!

Wednesday, January 29, 2014

Using a DC Power Supply to Regulate Energy

In a previous 2-part posting I talked about what power and energy is (part 1 – energy) (part 2 – power).  It is pretty straight-forward thing to do to use a DC power supply for regulating voltage or current. Constant voltage (CV) and constant current (CC) regulation are standard features of most all DC power supplies used in testing. However, what if you have an unusual application calling for applying a fixed amount of energy to your device under test (DUT)? For example, adding a fixed amount of energy to a calorimeter or chemical process, or testing the must (or must not) tripping energy of a fuse, or circuit breaker, or squib or detonator perhaps?

When the resistance of a device remains constant, it is relatively straight-forward to apply a fixed amount of energy to a DUT. By applying a fixed voltage or current, the power in the DUT remains constant. Then the energy is simply:

E = (V2/R)*t = (I2*R)*t

Where E is the energy in watt-seconds or joules, V is voltage in volts, R is resistance in ohms, I is the current in amps, and t is time in seconds. All you now need to do is apply the constant voltage or current for a pre-determined amount of time and you will then be delivering a fixed amount of energy to your DUT.

Many times however, a lot of DUTs do not maintain constant loading. The may have a dynamically varying loading by nature or its resistance dramatically increases as it heats up. How do you regulate a fixed amount of energy to your DUT under these circumstances? One possibility is to use one of a few specialized power supplies on the market can regulate their outputs with constant power. As the DUT’s loading decreases or increases the power supply will adjust its output accordingly in order to maintain a constant output power delivered to the DUT.  Again then, by applying this constant power for a pre-determined amount of time you will then be delivering a fixed amount of energy to your DUT.

Still, for DUTs that do not maintain constant loading, it is very often not desirable, or outright unacceptable, to apply constant power sourcing.. It may be you can only apply a fixed voltage or current to your DUT. What can you do for these circumstances? Time can no longer remain a fixed value when trying to regulate a fixed amount of energy. The solution becomes quite a bit more complex, as depicted in Figure 1.

Figure 1: Regulating a fixed amount of energy to a DUT

Putting the solution depicted in Figure 1 into practice can prove challenging. The watt-hour meter needs to provide a trigger out signal when the desired watt-hour (or watt-second) threshold level is reached. This becomes even more challenging if this response time required needs to be just fractions of a second for this set up. More than likely this may become a piece of customized hardware.

Interestingly this very set up can be programmatically configured within our N6900A and N7900A series Advanced Power System (APS) power supplies. These products have Amp-hour and Watt-hour measurement integrated into their measurement systems. Not only can you measure these parameters, there is a programmable way to act on them in a variety of ways as well, which is the expression signal routing. Logical expressions can be programmed and downloaded into APS, which then acts on them at hardware-level speeds.  Creating and loading the signal routing expression into the APS unit is simplified by using the N7906A Power Assistance software, which let me do it graphically, as shown in Figure 2.

Figure 2: Graphically developing and loading an energy limit setting into an Agilent APS unit

In Figure 2 a threshold comparator was set to generate a trigger output at a level of 0.0047 watt-hours. This trigger was then routed to the output transient system, to cause the output to transition to a new output level when triggered. I had entered in zero volts as the triggered output level. Thus when the watt-hour reading reached its trigger point, the output went to zero, cutting off any more power and energy from being delivered to the DUT.

The SCPI command set for this signal routing expression is also generated from this software utility by clicking on “SCPI to clipboard”. This saves on the effort generating the code manually if you are incorporating the expression into a larger test program. For this expression the code generated is:

:SENSe:THReshold1:FUNCtion WHOur
:SENSe:THReshold1:WHOur 0.0047
:SENSe:THReshold1:OPERation GT
:SYSTem:SIGNal:DEFine EXPRession1,"Thr1"
:TRIGger:TRANsient:SOURce EXPRession1

To test things out a 1.18 ohm resistive load was used to draw 84.75 watts for a 10 volt output setting. The output cut back to zero volts at nearly 200 milliseconds, as expected. This is shown in the oscilloscope capture in Figure 3.

Figure 3: APS output for an 84.75 watt load and energy limit set to 0.0047 watt-hours

The load power was then doubled by increasing the output voltage to 14.142 volts. The APS output cut back to zero volts in half the time, delivering the same amount of energy, as expected. This is depicted in the oscilloscope capture in Figure 4.

Figure 4: APS output for a 169.5 watt load and energy limit set to 0.0047 watt-hours

While using a resistor makes it easy to see that a set amount of energy is being delivered to the load. However, being able to act on a real time watt-hour energy measurement makes it very practical to do deliver a fixed amount of energy, regardless of the dynamic nature of the load over time.

Friday, January 24, 2014

Using Binary Data Transfers to Improve Your Test Throughput

From time to time I have shared here on “Watt’s Up?” a number of different ways the system DC power supply in your test set up impacts your test time, and recommendations on how to make significant improvements in the test throughput. Many of these previous posts are based on the first five of ten hints I’ve put together in a compendium entitled “10 Hints on Improving Throughput with your Power Supply” (click here for hints 1-5).

Oscilloscopes, data acquisition, and a variety of other test equipment are often used to capture and digitize waveforms and store large arrays of data during test, the data is then downloaded to a PC. These data arrays can be quite large, from thousands to millions of measurements. For long-term data logging the data files can be many gigabytes in size. These data files can take considerable time to transfer over an instrument bus, greatly impacting your test time.

Advanced system power supplies incorporating digitizing measurement systems to capture waveform measurements like inrush current are no different. This includes a number of system DC and AC power products we provide. Even though you usually have the choice of transferring data in ASCII format, one thing we recommend is instead transfer data in binary format. Binary data transmission requires fewer bytes reducing transfer time by a factor of two or more.

Further details about using binary mode data transfers can be found in hint 7 of another, earlier compendium we did, entitled “10 hints for using your power supply to decrease test time” (click here to access). Between these two compendiums of hints for improving your test throughput I expect you should be able find a few different ideas that will benefit your particular test situation!

Wednesday, January 8, 2014

Keysight Technologies – What’s in a name, anyway?

This is an exciting time for us! Yesterday, January 7, 2014, we learned what our new company name will be: Keysight Technologies. Here is a link to the official press release: 

If you have not heard by now, back in September of 2013, Agilent Technologies announced it would split into two companies by the end of 2014. Since I started in 1980, 33+ years ago, I have worked for and will continue to work for the electronic measurement side of the business. For my first 19 years with the company, we were Hewlett-Packard, a company that formed in 1939 as a test and measurement company and eventually birthed Silicon Valley. It is this electronic measurement side of the business that is getting the new name, just as we did in 1999 when we became Agilent from Hewlett-Packard. The other part of Agilent, the life sciences, diagnostics, and applied markets side will continue to operate under the Agilent name. Note that the electronic measurement side will still have the same great people designing and supporting the same great products and services….just a new name: Keysight Technologies.

So let’s take a closer look at the new name, logo, and tagline for Agilent’s electronic measurement business:

The name combines the words “key”, meaning essential, and “insight” meaning intuitive perception. Essential intuitive perception. Seeing what others cannot. A key can also be used to unlock something; we will continue to unlock measurement insights, as our tagline says. And we have been doing this for 75 years - since the day that Bill Hewlett and Dave Packard released their first electronic test instrument, an audio oscillator, in 1939. By the way, it is purely a coincidence that the Watt’s Up? authors, Ed, Matt, and I have combined experience of more than 75 years as stated in our blog header, although I’d like to think that the three of us have been unlocking measurement insights in the AC and DC power field for a combined total of 75 years! In fact, we now have a total of more than 80 years’ experience between the three of us and I will update the header later this year when we officially begin using the Keysight name. But I digress...

The logo symbol is derived from one of the most fundamental wave shapes there is: a sine wave – a wave shape from which all other wave shapes can be built. This is very appropriate for our 100% focus on electronic measurement, not to mention a tribute to our original founders, Bill and Dave, for their audio oscillator. And the power products and topics that you read about here in Watt’s Up? are equally represented by the logo symbol, especially our AC sources! If you really think about it, Keysight will be doing what Hewlett-Packard originally set out to do and Agilent continued to do for decades: build the world’s leading test and measurement company.

So what’s in a name? Essential intuitive perception is in our name. A clear focus on electronic measurement is in our name. Our strong and deep heritage is in our name. And when we begin to fully operate as Keysight Technologies later this year, what you will find behind our name will be the same high quality products and people that you have come to know. That’s what’s in the name Keysight Technologies!