Tuesday, July 31, 2012

New Firmware Available for the N6700B, N6701A, and N6702A Modular Power System Frames.

Hello everybody!

I recently posted a new firmware file for the N6700B, N6701A, and N6702A mainframes to the Agilent website.  You can access the new firmware at: http://www.agilent.com/find/N6700firmware.  The latest firmware revision is D.01.09.  There are two new measurement features that I wanted to highlight.  These two new features are External Datalogging and Power Measurements. 

External Datalogging (ELOG for short) is a feature that we have had in the N6705 DC Power Analyzer for some time now that we have just added to the modular power mainframes.  This feature allows you to take averaged measurements at a specified time interval for however long you want (be careful though, you can fill your hard drive).  The time interval can be anywhere from 102.4 us to 60 s depending on the number of parameters being logged.  You can take those measurements and store them in whatever format you want (I usually store everything in a CSV file).  You can only access ELOG using a SCPI program (you cannot ELOG from the front panel).  I plan on writing more about ELOG in the future but here is a quick peek of what the SCPI commands to set up and execute an ELOG look like:

SENS:ELOG:FUNC:CURR ON,(@2)                     !Turn current logging on
SENS:ELOG:FUNC:CURR:MINM ON,(@2)        !Turn current min/max logging on
SENS:ELOG:FUNC:VOLT ON,(@2)                     !Turn voltage logging on
SENS:ELOG:FUNC:VOLT:MINM ON,(@2)        !Turn voltage min/max logging on
SENS:ELOG:PER 0.0007,(@2)                            !Sets an integration time of 700 us
TRIG:ELOG:SOUR BUS,(@2)                              !The ELOG will start when there is a bus trigger
INIT:ELOG (@2)                                                   !Tell the unit to wait for a trigger
*TRG                                                                      !Trigger

This is an example of how you would read back the logged data:
while current time<the time you want to log for
FETC:ELOG? 4096 ,(@2)                                    !Read back a maximum of 4096 ELOG records
store into a file

This command kills the ELOG:
ABOR:ELOG (@2)                                              !Return the unit to its normal state

Stay tuned to this blog for more information.

The other feature that we added to a few of our modules was the ability to measure power.  We can now measure power on the N676xA, N6781A, N6782A, and N6784A modules.  Why is it only on these few modules you ask?  That is because these modules have two measurement digitizers that allow it to measure both voltage and current at the same time.  Since power = voltage * current, you need to have a simultaneous voltage and current measurement to get an accurate power measurement. 

That is all I have for today.  If you have any questions, please just let us know.


  1. Hi Matt, I have been trying to use the coupling-enabled turn-on delay sequencing on my N6700B which I have been working with for 5 years.
    My system has four N6751A power supplies in it.

    I have been using the rev C.01.04 firmware in the system.

    While the user documentation does not appear to give any resolution spec for the Output Delay times, I found via SCPI that if I program
    very small delay offsets between channels then I can read those back via SCPI and say the values are programmed to be different by nanoseconds or picoseconds, those settings are stored as such.
    This is additive to the max delay common offset of 25 milliseconds for my power supply type.

    I have tried programming a range of output slew rates, so as to view the actual turn-on delay on the force and sense points.
    Judging by waveforms seen on the oscilloscope, the resolution of the programmed turn-on delay appears to be only effectively programmable in increments of 1 millisecond. For example, program two coupled outputs to turn on within 200 microseconds of each other, and they do not. Occasionally one of them will jump to another time slot, i.e. the uncertainty appears to be +/- 100 microseconds but the programmed resolution appears to be in units of milliseconds.

    Today I upgraded my N6700B firmware from C.01.04 to the latest available, which is D.02.01. Do you believe I should see any improvement i.e. reduction in the minimum time delay resolution of programmed output turn-on time values ?

    Thanks; Larry

  2. No, still cannot get delay offsets closer than 1 millisecond of each other.

    So the right way to have precision channel-to-channel time sequencing is to program a multi-output AWG (or multiple delay lines) to drive timed trigger pulses in to individual trigger pins, right ?

    Then I need to program VOLT:MODE STEP, (@1:4)
    and program VOLT:TRIG 3.30, (@1:4)
    and program TRIG:TRAN:SOUR PINy, (@x) for each triggered output
    and then INIT:TRAN (@1:4)

    Upon a triggered transient output voltage step, say it was at 0.0V and it's programmed to step up to 3.30V ... will the output still follow its programmed slew rate ? ( I hope so )

    Thanks; Larry

  3. Hi Larry,

    We publish a table of the resolutions of the sequencing times in our programming help file located on our website.

    For your convenience, here it is:
    Range in seconds Resolution
    0 to 1.023E-4 100 nanoseconds
    1.03E-4 to 1.023E-3 1 microsecond
    1.03E-3 to 1.023E-2 10 microseconds
    1.03E-2 to 1.023E-1 100 microseconds
    1.03E-1 to 1.023E+0 1 millisecond
    1.03E+0 to 1.023E+1 10 milliseconds
    1.03E+1 to 1.023E+2 100 milliseconds
    1.03E+2 to 1.023E+3 1 second

    but this is just for programming purposes and does not actually tell you what the accuracy is. I need to set up a test to see what I get on my units here. Stay tuned.

  4. Matthew, what is the input impedance of the trigger input pins of the digital port ?
    What is the Vih and Vil of those trigger inputs ?
    Thanks; Larry

  5. The worst issue for me with the N6700B (and N6751A supplies)
    has been the unpredictable turn-on behavior when outputs are programmed to be coupled.
    Using Channel1 and Channel4 as an example ...
    Much of the time, they enable (ramp up) together, when 0.000 (seconds) time offset is programmed between them.
    Then sometimes, the power-on delay relationship between the two jumps by 100 microseconds.
    So 0.0000 seconds delay can mean 0.0000, or 0.0001 .
    This has been a big issue for me, and for this reason I've had to change my approach to use an AWG or AFG, programming pulses using those as external digital trigger inputs for the different supply channels, transient voltage level mode.

  6. Hi I am using n6702A power supply and tried configuring channel sequencing. I can able to give max of 1.023 seconds as rise time.

    My question is how to change the resolution to 1 second and rise time delay to 1023 second?

  7. I think that you might need to update your firmware. Please check the latest firmware at http://www.keysight.com/find/N6700firmware.

    1. Hi Matthew,

      I found one more issue, I am not able to set the fall time for channel 1.
      otherthan channel 1, other channels fall time is working, but channel one is disabling as soon as I close the session.
      Please help if you have any idea to solve this.

    2. Are you talking about the output sequencing feature? Can you give me the exact sequence of events as well as the modules that you have in your mainframe?

    3. Yes I am using channel sequencing feature, I am using N6702A with 4 channels.
      I want sequence the fall time i.e channels should disable the outpult after defined time.
      This feaure is working for all other channels except channel 1.
      For example if I set fall time for channel 1 as 5 secomds and channel 2 as 10seconds, channel 1 is disabling power immediatly after output disabling while channel 2 is disabling after 10 seconds.

  8. Thanks a Lot Matthew!!! I upgraded the firmware and now I am able to configure rise time from 0 to 1023 seconds.
    Once again thank you very much for your quick response:)

  9. Hi,

    Thanks for your post about ELOG. I am following below sequence.I don't have a bus to trigger, So i use immediate trigger.

    scope.instr.write('SENS:ELOG:FUNC:CURR ON,(@2)')
    scope.instr.write('SENS:ELOG:FUNC:CURR:MINM ON,(@2)')
    scope.instr.write('SENS:ELOG:PER 0.0006, (@)')
    scope.instr.write('TRIG:ELOG:SOUR IMM,(@2)')
    scope.instr.query('FETC:ELOG? 1000,(@2)')

    Unfortunately FETC is not returning anything. Its getting timed out.

    ANy help is much appreciated.
    What i want is-
    1. start current measuremnet
    2. stop measurement after say a3 secs
    3. get the measured instantaneous current values.
    I can do this by calling MEAS:CUR? query in loop in background. But ELOG looks cool for my requirement. But not working with above sequence. Do you have any clue ?



Note: Only a member of this blog may post a comment.