Monday, March 26, 2012

Fine Tuning the FPGA Power-on Process

Powering on an FPGA can be careful balancing act of proper sequencing and slew rate timing on multiple power supply inputs. Some of the reasons for this balancing act is to ensure the power-on-reset circuit is not tripped, to ensure proper operation of the PLL, and to minimize in-rush current which is especially important in low power applications. In this post we will look at how modern multiple output power supplies can be used for fine tuning the FPGA turn-on process with an emphasis on minimizing in-rush current.

Modern multiple output power supplies have three features that make them a valuable tool for tuning the FPGA turn-on process, they are:
  • Adjustable output sequencing feature that allows the users to setup the turn-on time for each of the power supply's outputs.
  • Slew rate adjustment to specify the rise time at turn-on for each power supply output.
  • Output current and voltage digitizers for capturing the in-rush current, spotting voltage sags, etc.
The modern multiple output power supply comes into the FPGA circuit design process before implementing the power distribution system for the circuit. Use the modern multiple output power supply to tune the sequencing turn-on timing and slew rate to find the ideal turn-on conditions for the FPGA circuit. While tuning the turn on timing, the power supply measurement digitizers are used to measure the resulting voltage and the resulting in-rush current at turn-on. After the tuning process, the power distribution system can be designed and setup to achieve the ideal sequence and slew rate timing established earlier with the modern multiple output power supply.

Let's look at a quick example using a low power FPGA circuit that is going into a portable battery powered device. The engineer designing the power distribution system for the FPGA circuit wants to keep power usage to a minimum, which includes tuning the power turn-on conditions such that in-rush current is kept to a minimum amount while ensuring proper turn-on of the circuit. To tune the power turn-on conditions the engineer is using Agilent's N6705B DC Power Analyzer as the modern multiple output power supply. The N6705B is a modular power supply that supports up to 4 outputs. The N6705B has output sequencing, slew rate control, and output measurement digitizers along with a scope like display to analyze the digitized measurements. 

The FPGA circuit under test has four supply inputs. The engineer sets each of the N6705B outputs according to the specified ranges of the FPGA. A test run was done to verify the sequencing and slew rate of the power supply outputs. The result was captured on the N6705B's display and it can be seen in the below figure.

V1, V2, and V3 were all used for powering the FPGA. V4 was used for other components in the circuit. V1 is the FPGA's core supply and that is where we want to measure the in-rush current. Using the timing parameters shown in the above figure, the in-rush current on the core supply was captured and is shown in the figure below. 

As you can see in the figure the in-rush current consists of two spikes. The first is just over 1 ms with a flat top and the second is a higher current shorter duration spike. After the in-rush current, the low power FPGA's standby static current settles to about 15 mA. The engineer then did a number of tuning iterations of the same test. At each iteration the sequencing or the slew rate time was adjusted with the goal of minimizing the in-rush current. After tuning the engineer was able to get the in-rush current down to essentially zero (see figure below) while still maintaining a proper turn-on of the circuit.

In this post we looked at how a modern power supply with features such as output sequencing, slew rate control, and measurement digitizers can be used to tune the power input turn-on characteristics of an FPGA or any other embedded circuit for designing the power distribution. This is valuable when trying to ensure proper turn-on every time and to minimize in-rush current for power optimization. Below is a link to get more information on Agilent's N6705B DC Power Analyzer and also a link to a good TI app note that discusses properly powering on an FPGA. If you have any questions just email me and if you have any comments use the "Comments" section below.

Monday, March 19, 2012

Tutorials Using VBA and Excel for Instrument Control

This post provides two video examples on using Visual Basic for Applications (VBA) and Excel for instrument control. The first video is meant to get you started. The second video shows a quick example on reading measurement data into Excel from an instrument. Excel provides an easy way to post process and analyze measurement data with its built-in math functions and plotting capability. It is also low cost since just about everyone has Excel on their work computers. To get the instrument's address the video uses a free software program called Agilent Connection Expert. The link for downloading Connection Expert can be found at the end of this post.

For more details on using VBA just go to YouTube and search on "VBA" there is a ton of videos out there showing various features. If you know of any good VBA examples or tutorials out there please share in the "Comments" section below.

Click here to get Agilent IO Libraries (Connection Expert is part of IO Libraries)

Monday, March 5, 2012

Building an Electronic Load with General Purpose Test Equipment

In this post we will look at how to build a low cost DC electronic load (eload) using general purpose test equipment found on every engineer's test bench and some simple circuit components. The eload we build can be used for testing and validating power supplies and other power sources.

The below figure shows the eload circuit. The only piece missing from the figure is the measurement instrument(s) which are used to measure the voltage across the eload and the current through the eload. To measure voltage or current a scope, DMM, or digitizer could be used. The measurement points for the voltage and current measurements are mark in the figure as "Vmeas" and "Imeas" respectively.

Circuit Diagram of the eload
 The following list explains each part of the eload circuit and its function:

  • The device under test (DUT) is the DC power source we are testing with our eload circuit.
  • The N-Type MOSFET serves as a variable resistor and is the main component making up the load that the DUT is connected to. Its resistance is dynamically controlled by the op amp. The MOSFET will be dissipating the majority of the DUT's output power so power handling is a critical spec when choosing a MOSFET. You also want to ensure the MOSFET has proper heat sinking.
  • R1 serves as a sense resistor. The voltage drop across R1 is used by the op amp to control the current output of the DUT. R1 is also used to measure the output current from the DUT.
  • The op amp dynamically controls the resistance of the eload. It works by taking a control voltage level into its non-inverting input. It will then drive the gate of the MOSFET so that the same voltage value is at its inverting input, which is connected to the R1 node. This means the op amp allows us to control the voltage drop across R1 regardless if there is a change in the DUT's output. Since we know the value of R1 we can control the amount of current through R1. Since R1 is in series with the load, this means we can control the output current of the DUT.
  • The function / arbitrary waveform generator (FG / AWG) provides the control voltage to the op amp, which means it determines the output current of the DUT. The FG / AWG can be used as a simple DC bias to create a static output power from the DUT or a waveform could be used to create a dynamic load change (we look at an example of this later).
  • A basic bench top power supply can be used to power the op amp. You can use a bipolar supply to provide both the positive and negative supply voltages for the op amp.
  • To measure the voltage across the eload or the current through it a scope, DMM, or digitizer can be used. To measure both simultaneously you will need two channels. The voltage is measured from the drain of the MOSFET to ground. The current is measured by measuring the voltage drop across R1 and using the value of R1 and Ohm's Law to calculate current. The DMM is only good for static measurements. The scope or digitizer should be used when trying to capture dynamic voltage and current measurements.
Now that we know how the eload circuit works lets look at an example implementation of it measuring the transient response on a 10 V power supply. For this example we want to measure the supply's transient response time (within 3% of 10 V) to a load change from 0.5 A to 2.5 A. The following instruments and components were used for the implementation of the eload circuit:
  • 33521A function / arbitrary waveform generator
  • E3630A DC power supply
  • MSO7054A scope (4 analog channels)
  • NE5534A op amp. Chosen for high output bandwidth and low noise output.
  • IRFP150N power MOSFET. Chosen for its high power handling and low "on" resistance. Used with a metal heat sink.
  • 1 ohm 30 W power resistor
To create a sharp repeating load transient that ranged from 0.5 A to 2.5 A, the 33521A was setup to output a pulse signal that ranged from 0.5 V (0.5 V * 1 Ohm = 0.5 A) to 2.5 V (2.5 V * 1 Ohm = 2.5 A). Below is a screen capture from the scope showing the voltage across the eload (yellow) which is the power supply's output voltage and the voltage drop across the eload's sense resistor (green) which is the power supply's output current since the sense resistor is 1 Ohm. The blue trace is the pulsed output of the 33521A FG / AWG.

Notice from the green trace the load toggles between drawing 0.5 A and 2.5 A. This is equivalent to the eload toggling between 20 Ohms and 4 Ohms. Notice the positive and negative spikes on the yellow voltage trace, they are power supply transients caused by the sharp load changes, this is what we want to measure.

In the below figure, using the scope cursors, the power supply's transient response time was measured to within 3% of 10 V.

As you can see in the above figure the transient response time of the supply was < 1.4 us. We can also see the max deviation of the supply's voltage level due to the sudden load change, which is about 1.25 V or 12.5% of the nominal voltage level.

One thing you have to watch out for when building the eload circuit is oscillations. To prevent oscillations be sure to keep all wiring, connections, and traces as short as possible. Use a large ground plane and be careful to avoid ground loops. You can also add coupling capacitors as needed. 

In this post we looked at how to build a simple bench top DC electronic load for testing power supplies and other DC power sources. The eload design employs some general purpose test equipment and basic circuit components. The best part about the eload design that was presented in this post is it is essentially free since it uses common benchtop instruments and basic components that can be found in lab stock. If you have any questions on this post email me. If you have any comments or personal insights to add use the "Comments" section below.