174
sA Agilent N490X Serial BERT Measurement Programming Guide

smartbert mui progrefs-pdf - d3fdwrtpsinh7j.cloudfront.net · † “Developing Your First Program” on page 39 describes the steps necessary for starting, setting up, and running

Embed Size (px)

Citation preview

Agilent N490X Serial BERT

Measurement Programming Guide

sA

Important Notice

© Agilent Technologies, Inc. 2009

Manual Part Number

N4901-91020

Revision

January 2009

Printed in Germany

Agilent Technologies Herrenberger Straße 130 D-71034 Böblingen Germany

Warranty

The material contained in this document is provided "as is," and is subject to being changed, without notice, in future editions. Further, to the maximum extent permitted by applicable law, Agilent disclaims all warranties, either express or implied, with regard to this manual and any information contained herein, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Agilent shall not be liable for errors or for incidental or consequential damages in connection with the furnishing, use, or performance of this document or of any information contained herein. Should Agilent and the user have a separate written agreement with warranty terms covering the material in this document that conflict with these terms, the warranty terms in the separate agreement shall control.

Technology Licenses

The hardware and/or software described in this document are furnished under a license and may be used or copied only in accordance with the terms of such license.

Restricted Rights Legend

If software is for use in the performance of a U.S. Government prime contract or subcontract, Software is delivered and licensed as "Commercial computer software" as defined in DFAR 252.227-7014 (June 1995), or as a "commercial item" as defined in FAR 2.101(a) or as "Restricted computer software" as defined in FAR 52.227-19 (June 1987) or any equivalent agency regulation or contract clause. Use, duplication or disclosure of Software is subject to Agilent Technologies' standard commercial license terms, and non-DOD Departments and Agencies of the U.S. Government will receive no greater than Restricted Rights as defined in FAR 52.227-19(c)(1-2) (June 1987). U.S. Government users will receive no greater than Limited Rights as defined in FAR 52.227-14 (June 1987) or DFAR 252.227-7015 (b)(2) (November 1995), as applicable in any technical data.

Safety Notices

CAUTION

A CAUTION notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in damage to the product or loss of important data. Do not proceed beyond a CAUTION notice until the indicated conditions are fully understood and met.

WARNING

A WARNING notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in personal injury or death. Do not proceed beyond a WARNING notice until the indicated conditions are fully understood and met.

Trademarks

Windows NT ® and MS Windows ® are U.S. registered trademarks of Microsoft Corporation.

2 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Contents

Contents

Agilent N490X Serial BERT 1

Introduction to Measurement Software Remote Programming 7

Remote Programming with ActiveX 9

ActiveX Control with MS Visual Studio 2005 10

ActiveX Control with MS Visual C++ 15

ActiveX Control with MS Visual Basic 6.0 20

ActiveX Control with Agilent VEE Pro 7.5 23

ActiveX Control with LabVIEW 8.2 28

ActiveX Control with MS Excel or MS Word 33

ActiveX Control with Matlab 35

Developing Your First Program 39

Setting Up the Measurement 40

Setting Measurement Parameters 41

Using Pass/Fail 42

Set the Pass/Fail Criteria 42

Evaluate Pass/Fail Results 43

Setting the View 44

Running the Measurement 44

Run a Measurement Asynchronously 45

Run a Measurement Synchronously 46

Handling Events 47

Error Handling 48

Handling Measurement Results 49

Query for Raw Data 50

Query for the Results 51

Using Copy and Paste 52

Saving Measurements and Results 54

Load and Save Measurements 54

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 3

Contents

Export Data 54

Creating a User Interface 55

Measurement Reference 57

Methods for Setting Up Measurements 58

Methods for Setting Parameters 59

Output Timing – Setting Parameters 59

Output Level – Setting Parameters 60

Eye Opening – Setting Parameters 60

Fast Eye – Setting Parameters 61

Spectral Jitter – Setting Parameters 61

List of Methods for Setting Parameters 61

Methods for Pass/Fail 75

Output Timing – Pass/Fail Methods 75

Output Levels – Pass/Fail Methods 76

Eye Opening – Pass/Fail Methods 76

Fast Eye Mask – Pass/Fail Methods 77

Spectral Jitter – Pass/Fail Methods 78

List of Pass/Fail Methods 78

Methods for Setting the View 95

Output Timing – View Methods 95

Output Levels – View Methods 96

Eye Opening – View Methods 97

Fast Eye – View Methods 97

Spectral Jitter – View Methods 98

List of Methods for Setting the View 99

Methods for Running the Measurement 115

Methods for Handling Events 117

Methods for Handling Errors 119

Methods for Getting Results 120

Output Timing – Measurement Results 120

Output Level – Measurement Results 120

Eye Opening – Measurement Results 121

Fast Eye – Measurement Results 121

Spectral Jitter – Measurement Results 122

List of Methods for Getting Results 122

4 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Contents

Copy/Paste Methods 147

Persistence Methods 152

User Interface Methods 156

Measurement Enums 158

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 5

Contents

6 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Introduction to Measurement Software Remote Programming

Features for Remote Programming All measurements within the N490X Serial BERT software come with a remote interface that provides access to the complete measurement functionality, from a great variety of programming environments. While using the remote interface is not as convenient as using the graphical user interface, it has some benefits:

• Easy automation and test sequencing

• Easy pass/fail testing for manufacturing

• Automated post processing and report generation

Measurement files (.mcp) can be exchanged between the graphical and the remote interface, which allows you to develop tests using the measurement’s Graphical User Interface and to later reuse them in an automated test environment.

Programming Guide Sections This Programming Guide provides a brief introduction to the basic concepts of the measurement's remote interface and detailed description of all methods available for all measurements. This Guide is divided into the following sections:

• “Remote Programming with ActiveX” on page 9 gives an overview on remote programming accesses and shows how to get started in various environments.

• “Developing Your First Program” on page 39 describes the steps necessary for starting, setting up, and running measurements and evaluating the results.

• “Measurement Reference” on page 57 provides a detailed description of all methods and enums.

NOTE Basic knowledge of the N490X Serial BERT software is required for remote programming. See the Serial BERT Online Help or User’s Guide for details about working with the measurements.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 7

Introduction to Measurement Software Remote Programming

8 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

All measurements are implemented as standard ActiveX controls and can be easily integrated into each environment that allows you to use ActiveX controls (MS Visual Studio, Visual C++, Visual Basic, Agilent VEE Pro, LabVIEW, VEE, MS Word, MS Excel and Matlab).

NOTE The measurements must be added as ActiveX controls to projects for full functionality.

If you are using the measurements in a console application, not all functionality will be available (for example, the status events will not be thrown). It is therefore recommended that you use the measurements only as ActiveX controls.

The following sections describe how to get started with different remote applications using the DUT Output Timing Measurement as an example. Other measurements can be used in a similar fashion:

• “ActiveX Control with MS Visual Studio 2005” on page 10

• “ActiveX Control with MS Visual C++” on page 15

• “ActiveX Control with MS Visual Basic 6.0” on page 20

• “ActiveX Control with Agilent VEE Pro 7.5” on page 23

• “ActiveX Control with LabVIEW 8.2” on page 28

• “ActiveX Control with MS Excel or MS Word” on page 33

• “ActiveX Control with Matlab” on page 35

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 9

Remote Programming with ActiveX

ActiveX Control with MS Visual Studio 2005To use the ActiveX Control with MS Visual Studio 2005, follow the instructions below that show you how to:

• Create a new project.

• Add the DUT output timing measurement to the Toolbox.

• View the Toolbox.

Creating a New Project1 Start MS Visual Studio 2005 and select File – New – Project

from the main menu.

2 Choose the project type, provide a name to the project and click OK.

Adding the DUT Output Timing Measurement to the "Toolbox"1 From the menu bar, choose View – Toolbox.

2 Move the mouse pointer to the Toolbox, press the right button and select Choose Items from the context menu.

10 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

3 In the dialog window, choose DUT Output Timing – Jitter and Eye Opening and click OK.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 11

Remote Programming with ActiveX

Viewing the Toolbox

• From the menu bar, choose View – Toolbox.

• Two additional icons are shown in the Toolbox, an eye icon and a bath tub icon.

NOTE Place the mouse pointer on the new icons and a tool tip appears: [TM Output Timing – Jitter SB] or [TM Eye Opening SB].

• With the left mouse button, click one icon and place the mouse pointer on the Project Form sheet. The cursor changes to a cross.

• Click again and drag the black rectangle to the appropriate size.

• Release the left mouse button and the graphical representation of the ActiveX control is filled in.

• Now, from the Toolbox, expand the All Window Forms option.

• Drag the button icon on the graphical representation.

• Change the property text of the button to “Start Measurement” through the Properties Window.

• Similarly, create another button and change the property text of the button to “Stop Measurement” through the Properties Window.

12 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

• Click View – Code from the main menu or double click on the graphical representation to view the code.

• In the code section, enter the following code that creates a new measurement when the buttons are clicked.

namespace MyProjects

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

this.axMeasureDUTOutputSB1.Server = "10.0.0.207";

//IP Address of the instrument

this.axMeasureDUTOutputSB1.CreateMeasEx();

}

private void button1_Click(object sender, EventArgs e)

{

this.axMeasureDUTOutputSB1.SynchronousRun();

}

private void button2_Click(object sender, EventArgs e)

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 13

Remote Programming with ActiveX

{

Application.Exit();

}

}

}

• Start the Serial BERT.

• Compile and run the program.

• Click Start Measurement button to run the measurement.

NOTE The above explained instructions can also be followed to use the ActiveX Control with MS Visual Basic.

14 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

ActiveX Control with MS Visual C++To use the ActiveX control with MS Visual C++, follow the instructions below. They show you how to:

• Create a new project.

• Add the DUT output timing ActiveX control to the project.

Creating a New Project1 Start MS Developer Studio and select File – New from the main

menu.

2 In the New dialog, select the Projects tab.

3 On the Projects page, select MFC AppWizard (exe). Enter the project name and the location and click OK to start the MFC Application Wizard.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 15

Remote Programming with ActiveX

4 In the MFC AppWizard - Step 1 dialog, select Dialog based and click Next.

5 In the MFC AppWizard - Step 2 of 4 dialog, select ActiveX Controls, the title of the new dialog and the other options and click Next.

16 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

6 Enter the required information on the following pages and click Finish on the last page of the wizard.

This generates a skeleton of a dialog- based application.

Adding the DUT Output Timing ActiveX Control to the Project1 From the Project menu, choose Add to Project – Components

and Controls.

2 In the Components and Controls Gallery dialog, double- click Registered ActiveX Controls.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 17

Remote Programming with ActiveX

3 From the list of ActiveX controls, select DUT Output Timing - Jitter and click Insert.

18 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

4 In the Confirm Classes dialog, click OK to create the new dialog.

5 In the resource/dialog view, select the DUT Output Timing - Jitter control from the Controls toolbox and place the control on the application dialog.

6 Drag the control to the size you want.

Microsoft Developer Studio created an ActiveX wrapper class named tmmeasuredutoutput that you can use to access the ActiveX methods.

To access the control from C++, use the ClassWizard to add a variable:

– Right click the control and select ClassWizard from the context menu.

– In the Member Variables tab, click "Add variable", category "Control", variable type "CtmMeasureDUTOutput", and enter a variable name (for example, m_OutputCtrl).

This variable can be used to access the control from your program using the Object.Function syntax, where Object is the name of the member variable you just created, for example:

m_OutputCtrl.Server = "10.0.0.207";

//IP Address of the instrument.

m_OutputCtrl.CreateMeasEx()

7 Compile and run the test project.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 19

Remote Programming with ActiveX

ActiveX Control with MS Visual Basic 6.0To use the ActiveX control with MS Visual Basic 6.0 follow the instructions below that show you how to:

• Create a new project.

• Add the DUT output timing measurement to the ToolBox.

• View the Toolbox.

Creating a New Project1 Start the MS Visual Basic 6.0 Developer Studio and create a

new project.

2 From the New Project selection window, choose <Standard EXE>.

Adding the DUT Output Timing Measurement to the "Toolbox"1 From the menu bar, choose Project – Components.

2 In the Components dialog, select the Controls page and enable the check boxes for TM DUT Output 1.0 Type Library and TmEyeOpening 1.0 Type Library.

3 In the Components dialog, click OK.

20 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

Viewing the Toolbox1 From the menu bar, choose View – Toolbox.

Two additional icons are shown in the Toolbox, an eye icon and a bath tub icon.

NOTE Place the mouse pointer on the new icons and a tool tip appears: [MeasureEyeOpening] or [MeasureDutOutput].

2 With the left mouse button, click one icon and place the mouse pointer on the Project Form sheet.

The cursor changes to a cross.

3 Click again and drag the black rectangle to the appropriate size.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 21

Remote Programming with ActiveX

4 Release the left mouse button and the graphical representation of the ActiveX control is filled in.

Now you are ready to program the ActiveX control via the Properties window or using the Visual Basic language.

22 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

ActiveX Control with Agilent VEE Pro 7.5To use the ActiveX control with Agilent VEE Pro 7.5 follow the instructions below that show you how to:

• Add the measurement controls to Agilent VEE Pro 7.5.

• Insert a measurement into a VEE Pro program.

• Program the ActiveX control.

To Add the Measurement Controls to Agilent VEE Pro 7.51 Start Agilent VEE Pro 7.5.

2 From the menu bar, choose Device – ActiveX Control References.

3 Add the DUT output timing and the eye diagram measurement to the menu.

4 In the ActiveX Control References selection window, enable the check boxes for TM DUT Output SB Type Library and TM Eye Opening SB Type Library.

5 In the ActiveX Control References window, click OK.

NOTE In the menu bar’s Device fall down menu, a new item is inserted named ActiveX Controls.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 23

Remote Programming with ActiveX

Inserting a Measurement into a VEE Pro Program1 From the menu bar, choose Device – ActiveX Controls –

MeasureEyeOpening or MeasureDutOutputSB.

2 Place the box on the work place by clicking the left mouse button.

3 Stretch the box to the required size.

24 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

Programming the ActiveX Control1 From the menu bar, choose Device – Function & Object

Browser.

2 In the Function & Object Browser window, choose the following entries:

3 In the Function & Object Browser window, click Create Set Formula button.

4 Place the text box on the work space.

5 From the menu bar, choose Data – Constant – Text.

6 Enter the IP address of the instrument in the textbox. For example: 192.168.0.222.

Type: ActiveX Objects

Library: TMDUTOUTPUTLib or TMEYEOPENINGLib

Class: MeasureDUToutput or MeasureEyeOpening

Members: Server

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 25

Remote Programming with ActiveX

7 Again from the Function & Object Browser window, create the text boxes for the following entries:

8 Place these text boxes on the work space.

9 Use the Connect Wire tool to establish the connection within the boxes.

10 Click Run to start the measurement. You can view the measurement output anytime by clicking on the Pause button while the measurment is running.

Type: ActiveX Objects

Library: TMDUTOUTPUTLib or TMEYEOPENINGLib

Class: MeasureDUToutput or MeasureEyeOpening

Members: for example, CreateMeasEx

Type: ActiveX Objects

Library: TMDUTOUTPUTLib or TMEYEOPENINGLib

Class: MeasureDUToutput or MeasureEyeOpening

Members: SynchronousRun

26 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 27

Remote Programming with ActiveX

ActiveX Control with LabVIEW 8.2To use the ActiveX control with LabVIEW 8.2, follow the instructions below that show you how to:

• Add the measurement controls to LabVIEW 8.2.

• Insert a measurement into a LabVIEW program.

• Program the ActiveX control.

To Add the Measurement Controls to LabVIEW 8.21 Start LabVIEW 8.2 and click the Blank VI link on the Getting

Started window.

2 From the menu bar, choose Window – Show Front Panel.

3 Use the right mouse button (on the grey work place) to pop up the Controls panel.

28 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

Inserting a Measurement into a LabView Program1 From the Controls panel, select ActiveX – Container and place

the empty container (or frame) on the work place.

2 Stretch the empty container to the desired size.

3 Move the mouse pointer to the empty container, press the right button and select Insert ActiveX Object from the context menu.

4 In the dialog window, choose DUT Output Timing - Jitter or Eye Opening and click OK.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 29

Remote Programming with ActiveX

The empty container is filled with the selected ActiveX control.

Programming the ActiveX Control1 From the menu bar, choose Windows – Show Block Diagram.

2 Place the mouse pointer on the graphical representation of the measurement.

3 Press the right mouse button and choose Create – Method for TM_EYE_OPENING_SN_Lib.ItmMeasureEyeOpeningSB Class – CreateMeasEx from the context menu.

4 Use the Connect wire tool to establish the connection.

30 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

5 Again, press the right mouse button and choose Create – Property for TM_EYE_OPENING_SN_Lib.ItmMeasureEyeOpeningSB Class – Server from the context menu.

6 Move the mouse pointer to the textbox, press the right mouse button and choose Change To Write.

7 Again, press the right mouse button and choose Create – Constant.

8 Enter the IP address of the instrument in the textbox. For example: 192.168.01.222.

9 Use the Connect wire tool to establish the connection.

10 Again, press the right mouse button and choose Create – Method for TM_EYE_OPENING_SN_Lib.ItmMeasureEyeOpeningSB Class – SynchronousRun from the context menu.

11 Use the Connect Wire tool to establish the connection.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 31

Remote Programming with ActiveX

12 Click Run icon to start the measurement.

32 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

ActiveX Control with MS Excel or MS WordTo use the ActiveX control with MS Excel follow the instructions below:

1 From the main menu, choose View – Toolbars – Control Toolbox to display the ActiveX control toolbar.

2 Click More Controls to display the selection list and select one of the measurements to insert the control.

3 In the Properties dialog (available by right- clicking the object), rename the measurement to myMeas.

4 In the Controls selection dialog, add a command button to the control.

5 From the context menu of the control, choose View Code.

6 In the code section for Sub CommandButton1_Click(), enter the following code to create the new measurement when the button is clicked:

Sub CommandButton1_Click() With Me.myMeas

.Server = "10.0.0.207"

.CreateMeasEx

.Run End Sub

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 33

Remote Programming with ActiveX

7 Close MS Visual Basic and return to MS Excel.

8 Start the Serial BERT.

9 In MS Excel, click the command button to run the measurement.

34 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

ActiveX Control with MatlabThe following example shows you how to use the Output Timing Measurement ActiveX control in Matlab.

Use the Measurement with

Graphical Interface

Create a new m- file with the following code:

% create ActiveX control and graphics figure (1); wpos = get(gcf,'Position'); h = actxcontrol('tmMeasure.DUTOutputSB.1', ... [0 0 wpos(3) wpos(4)], gcf);

% create and run measurement %set(h,'Server','localhost'); set(h,'Server','10.0.0.207'); invoke(h, 'CreateMeasEx'); invoke(h,'SynchronousRun');

% get data, calculate and plot bathtub curve temp=[]; data = invoke(h, 'GetMeasData', 1, 1, 0, 300, temp); delay = [data{:,1}]; ber = [data{:,3}]./[data{:,2}]; figure(2); plot(delay,ber); % The “delete(h)” command deletes the handle of ActiveX control of the graphical representation and leaves behind the measurement results. %delete(h);

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 35

Remote Programming with ActiveX

Use the Measurement without

Graphical Interface

If the graphical ActiveX output is not needed, the (simpler) actxserver call can be used to create an invisible control:

% create ActiveX control and graphics h = actxserver ('tmMeasure.DUTOutputSB.1'); % create and run measurement set(h,'Server','10.0.0.207'); invoke(h, 'CreateMeasEx'); invoke(h,'SynchronousRun'); % get data, calculate and plot bathtub curve temp=[]; data = invoke(h, 'GetMeasData', 1, 1, 0, 300, temp); delay = [data{:,1}]; ber = [data{:,3}]./[data{:,2}]; figure(1); plot(delay,ber); % The “delete(h)” command deletes the handle of ActiveX control of the graphical representation and leaves behind the measurement results. %delete(h);

Available methods, properties, and events can be queried for by using the invoke(h), get(h) and send(h) calls. Please refer to the Matlab online help for more information on how to use ActiveX from Matlab.

36 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Remote Programming with ActiveX

The following table displays the names of all available measurement ActiveX controls that can be used to operate a SerialBERT.

NOTE The OLE/COM Object Viewer (oleview.exe) of a Microsoft Visual Studio installation can also be used to find out the ActiveX reference names of the measurement ActiveX components.

Name Controls...

tmMeasure.DUTOutputSB.1 TM Output Timing –Jitter SB

tmMeasure.EyeOpeningSB.1 TM Eye Opening SB

tmMeasure.FastEyeMaskSB.1 TM Fast Eye Mask SB

tmMeasure.OutputLevelSB.1 TM Output Level SB

tmMeasure.SpectralJitterSB.1 TM Spectral Jitter SB

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 37

Remote Programming with ActiveX

38 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Developing Your First Program

There are various steps required when setting up a measurement. These are divided up as follows:

• “Setting Up the Measurement” on page 40 provides the information you need for connecting to the instrument.

• “Setting Measurement Parameters” on page 41 tells you what you have to do to configure a measurement (how you set the parameters).

• “Using Pass/Fail” on page 42 shows you how to see if the measurement passed the test.

• “Setting the View” on page 44 tells you how you can change the measurement’s graphical appearance.

• “Running the Measurement” on page 44 shows you how to run a configured measurement.

• “Handling Events” on page 47 gives you information for handling the events that the measurements provide.

• “Error Handling” on page 48 shows you how to handle errors.

• “Handling Measurement Results” on page 49 explains how to get the results during and after a measurement.

• “Using Copy and Paste” on page 52 tells you how to use the standard Windows copy- and- paste functions for your measurements.

• “Saving Measurements and Results” on page 54 describes how you can save measurements, load measurements, and export the results.

• “Creating a User Interface” on page 55 informs you about the methods available for helping you to create your own user interface.

Not all available methods are described in this guide. It is highly recommended that you do not use any of the methods that are not described here. Any use of these methods may prevent your program from executing.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 39

Developing Your First Program Setting Up the Measurement

Used ConventionsEach of the subsections provides example code that leads you through the various steps in setting up, carrying out, and evaluating a measurement. The code is valid for all measurements (unless explicitly stated otherwise).

The code was developed using Visual Basic 6.0. It demonstrates how to perform some basic functions with the measurements and can be ported to other languages, such as VEE, LabView, or C#. Some differences in the syntax exist for the Visual C (VC) user. The VC syntax is denoted in each of the properties and methods.

The code examples are based on a single- form, standard application that was set up with a single measurement. The code examples can be used “as is” for all measurements. For these examples, a measurement object has been added to the user form and named “myMeas”.

Setting Up the Measurement

The first step in working with a measurement is to connect to the firmware server.

Connect to the Firmware Server To establish a connection to the firmware server:

1 Set the Server property (firmware server name or IP address).

2 Call CreateMeasEx. This creates the connection to the server.

3 After the CreateMeasEx call, you can check for the firmware connection with IsFWServerConnected.

Example The following example shows how you would connect to a firmware server on a machine with the IP address 10.0.1.127.

Private Sub ConnectToServer() On Error GoTo ErrHand

' Default IP address is "LOCALHOST" myMeas.Server = "10.0.0.207"

myMeas.CreateMeasEx

' Verify the connection

40 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Setting Measurement Parameters Developing Your First Program

If myMeas.IsFWSConnected Then MsgBox "Connection Successful!"

Else MsgBox "Connection Failed!"

End If Exit Sub

ErrHand: ' Only error should be a failed connection MsgBox "Could not connect to server " & _

myMeas.Server On Error GoTo 0 End Sub

Setting Measurement Parameters

Once you have connected to the firmware server, you can set the properties required for the measurement.

The methods for setting properties correspond to the changing of the values on the Parameters tab of a measurement’s Properties dialog box.

NOTE Changes to values from the Parameters tab only take effect for measurements run with these values. You have to rerun the measurement after changes. The values on the other tabs (Pass/Fail, View, Graph, and Color) take effect immediately.

Setting any of these parameters is straightforward: you simply have to identify the parameter and pass an appropriate value (subject to the same limitations as in the user interface).

To set, for example, the maximum number of bits to be compared and the maximum number of errors allowed at one measurement point:

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 41

Developing Your First Program Using Pass/Fail

Private Sub SetMaxBitsAndErrors() ' Measurement proceeds to next point after 100,000 sampled bits myMeas.MaxComparedBits = 100000 ' Or 100 erred bits myMeas.MaxError = 100 myMeas.UseMaxError = True End Sub

Using Pass/Fail

The measurements allow you to define the criteria to determine if the DUT has passed or failed. The steps in using the pass/fail feature are as follows:

• Set the Pass/Fail Criteria

• Evaluate Pass/Fail Results

Set the Pass/Fail CriteriaTo set pass/fail criteria for a measurement, you must set and enable the pass/fail criteria values of interest and also enable any “parent” pass/fail criterium.

The following code shows you how you would set the deterministic jitter and to be pass/fail criteria of the Output Timing measurement:

Private Sub SetDeterministicJitter() ' Enable the jitter pass/fail myMeas.SetPassFailUse PFE_JitterPassFail, True ' Enable the deterministic jitter and est. total jitter myMeas.SetPassFailUse PFE_DeterministicJitter, True myMeas.SetPassFailUse PFE_EstTotalJitter, True ' Set the desired values myMeas.SetPassFailValueTiming PFV_DeterministicJitterMax, _

UnitInterval, 0.05 myMeas.SetPassFailValueTiming PFV_EstTotalJitterMax, _

UnitInterval, 0.05 End Sub

42 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Using Pass/Fail Developing Your First Program

Evaluate Pass/Fail ResultsAfter a measurement is completed, you can query for pass/fail results if you have set up pass/fail properties (see “Set the Pass/Fail Criteria” on page 42).

Typically, you would first check if the measurement passed using GetMeasPassFail. If the measurement did not pass, you have to check the evaluated parameters to find out for which criterium it did not pass.

Example As an example, the following code shows you how you would check if the measurement was passed for deterministic jitter for a DUT Output measurement (this code is valid only for the DUT Output measurement):

Private Sub CheckMeasPassFail() Dim bMeasPassed As Boolean Dim bMeasCritPassed As Boolean bMeasPassed = myMeas.GetMeasPassValue(AT_AllAnalysis) If bMeasPassed Then

MsgBox "Measurement passed" Else

' Now check all evaluated parameters bCritPassed = myMeas.GetMeasPassValue(AT_DeterministicJitter) If Not bCritPassed Then

MsgBox "Measurement failed deterministic jitter" End If bCritPassed = myMeas.GetMeasPassValue(AT_EstTotalJitter) If Not bCritPassed Then

MsgBox "Measurement failed est. total jitter" End If

End If

End Sub

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 43

Developing Your First Program Setting the View

Setting the View

Each measurement has various methods for defining the appearance of the graphical results.

Example The methods for setting the view are straightforward to use. The following code shows you how you could set some typical view and color parameters.

Private Sub SetView() With myMeas

.BERMarkerColor = vbBlue

.DisplayPoints = True

.Scale = Logarithmic

.BackColor = vbWhite

.ForeColor = vbBlack End With End Sub

Running the Measurement

Once you have set up the measurement, you can run it. There are two ways of running a measurement:

• Run a Measurement Asynchronously

The measurement is triggered, and your program continues. You have to implement a program that waits until the measurement has finished.

• Run a Measurement Synchronously

In the case of synchronous runs, your program stops and waits for completion of the measurement before continuing.

44 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Running the Measurement Developing Your First Program

Run a Measurement AsynchronouslyAsynchronous measurement runs return immediately after the measurement has been triggered. This allows you to go on with your program.

While the measurement is running, you can:

• Catch the events thrown by the measurement (see “Handling Events” on page 47 for details).

• Query for the measurement state: Programming, Synchronizing, Halted and Running.

Use MeasState.

• Abort the measurement.

Use Stop.

Example The following code examples show you how to run a measurement asynchronously and then catch the numbers of data items available.

Private bStop as Boolean ' ... Private Sub RunMeasurementAsync()

' Download the settings to the firmware server: myMeas.Download bStop = False myMeas.Run

Do Until bStop

DoEvents Loop

' Catch the events accordingly (see next sub)

End Sub

Private Sub myMeas_OnMeasDataAvailable(ByVal lItemCount As Long) ' Handle the available data as necessary, for example, ' by writing to log file, or stopping the measurement

If lItemCount > 5000 Then ' Switch the flag to stop the measurement

bStop = True End If

End Sub

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 45

Developing Your First Program Running the Measurement

Run a Measurement SynchronouslySynchronous runs return only after the measurement is complete. This is convenient for small simple programs that do not control more than one instrument.

The following code shows you how you would run a measurement and then display the pass/fail results.

Example Private Sub SyncRun() With myMeas

.Download

.SynchronousRun MsgBox .GetMeasPassValue(AT_AllAnalysis)

End With End Sub

46 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Handling Events Developing Your First Program

Handling Events

ActiveX Event Mechanism The ActiveX control provides the following events that a remote application can respond to while a measurement is running:

• OnMeasureState

This event gets fired whenever the state of the measurement changes, and returns the new state. The measurement states Programming, Synchronizing, Halted, Running, Abort, Complete and Error are self- explanatory, the additional Pulse state gets fired regularly.

• OnMeasDataAvailable

This event gets fired when measured data is available. Use this if you require a live update (refresh while the measurement is running) of the result display.

• OnMeasurementComplete

This event gets fired when the measurement is complete. This can be used to notify you that a measurement has finished. For example, it can play a sound, pop up a message box, or even send an eMail with the results.

For details on how to respond to events, please refer to the documentation of your programming language or development environment.

Example Private Sub myMeas_OnMeasDataAvailable(ByVal lItemCount As Long) Debug.Print lItemCount & " points measured." End Sub

Private Sub myMeas_OnMeasurementComplete(ByVal lStatus As Long) Debug.Print "Measurement complete." End Sub

Private Sub myMeas_OnMeasurementState(ByVal eMeasState As Long) Dim sMeasState As String Select Case eMeasState

Case 1 sMeasState = "Measurement data is transferred."

Case 2 sMeasState = "The measurement is running."

Case 3 sMeasState = "The measurement run has been completed."

Case 4 sMeasState = "The measurement run has been aborted."

Case 5 sMeasState = "An error occurred."

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 47

Developing Your First Program Error Handling

Case 6 sMeasState = "The system is synchronizing."

Case 7 sMeasState = "The system is in halted state, waiting " & _

"for external start." Case 8

sMeasState = "Heartbeat state." End Select Debug.Print "State changed to: " & sMeasState End Sub

Error Handling

The measurements provide the following functions to handle errors:

• GetLastMeasError

Any error that occurs while a measurement is active is logged into a buffer that can be queried using the GetLastMeasError method.

NOTE This is not a queue, so a new error will overwrite the old one. Therefore, check the error state after each method call.

• ResetLastMeasError

Resets the last measurement error. After a measurement error has occured, querying for errors will always return true, until ResetLastMeasError is called.

• SilentMode

In ActiveX environments, popup windows prompt you if anything has gone wrong. These warning/error messages can be switched off by using the SilentMode property.

Example The following example shows a modified example of the previous ConnectToServer method:

Private Sub ConnectToServer() On Error GoTo ErrHand Dim myError as Long Dim myErrorDesc as String

48 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Handling Measurement Results Developing Your First Program

' Default IP address is "LOCALHOST" myMeas.Server = "10.0.0.207" myMeas.CreateMeasEx

ErrHand: ' Verify the error against a list of known errors ' The following list is for example only! myErrorDesc = myMeas.GetLastMeasError(myError)

Select Case myError Case 123

' Example of an ignorable error, switch to SilentMode myMeas.SilentMode = True

Case 456 ' Critical error MsgBox myErrorDesc Unload Me

End Select On Error GoTo 0 End Sub

Handling Measurement Results

Once you have run (or started) a measurement, you can query the results:

• Query for Raw Data

This allows you to continually get the raw data from the firmware server.

• Query for the Results

Once the measurement has finished, you can query the calculated results.

NOTE For a description of how to check the pass/fail results of a measurement, see “Using Pass/Fail” on page 42.

NOTE The way you have to query for data or results of a measurement is highly dependent on the measurement. The descriptions provide only a general starting point for getting measurement results.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 49

Developing Your First Program Handling Measurement Results

Query for Raw DataYou can query for available data and get raw data using the following methods:

• DataAvailable

Gets the number of data points available.

• GetMeasData

Gets the data.

• MeasPeriod

Returns the length of the measurement period.

TIP You can use the OnDataAvailable event to capture data when it is available instead of continually querying to see if data is available.

Example The following example shows you how to get the raw data from a measurement using the OnDataAvailable event.

Private Sub myMeas_OnMeasDataAvailable(ByVal lItemCount As Long) Dim lNumPoints As Long Dim lItemsRet As Long Dim iPort, iTerm as Integer Dim dDelay, dCompBits, dErrBits, dErrZeros, dErrOnes As Double Dim bExtrapolated as Boolean iPort = 1 iTerm = 1 ' Get the new data point for a Output Timing measurement myMeas.GetDUTDataPoint 1, 1, lItemCount - 1, dDelay, dCompBits, _

dErrBits, dErrZeros, dErrOnes, bExtrapolated End Sub

50 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Handling Measurement Results Developing Your First Program

Query for the ResultsYou can query for the results of a measurement either during the measurement or after it has completed. This loads the raw data from the firmware server to the local machine; the data is evaluated on the local machine.

Example The following code shows as an example of how the results can be queried for the Output Level measurement. It is only valid for the Output Level measurement. The code does the following:

• Initialize_Click() initializes a measurement when the Initialize button in a user form is clicked.

• RunButton_Click() causes the measurement to be run.

• GetData_Click() extracts and evaluates the measurement results using the GetDerivativeBERDataArray and GetDerivativeBERDataPointCount methods.

• End_Click() closes the form.

Initialize_Click() Private Sub Initialize_Click() ' Creates the connection to the server myMeas.Server = "localhost" myMeas.CreateMeasEx

' Sets the upper/lower and the resolution of the ' threshold of the measurement myMeas.SetSampleHighLevelThreshold 1.2, Volts myMeas.SetSampleLowLevelThreshold 0, Volts myMeas.SetThresholdResolution 0.1, Volts End Sub

RunButton_Click() Private Sub RunButton_Click() ' Starts the measurement but does not return until ' the measurement has been completed myMeas.SynchronousRun End Sub

myMeas_OnMeasurementComplete() Private Sub myMeas_OnMeasurementComplete(ByVal lStatus As Long) Dim lDataPointCount As Long Dim lStartItemIdx As Long Dim lItemsReturned As Long Dim dTHreshold, dBERdt, dBERdtZeros, DBERdtOnes As Double Dim bExtFlag As Boolean Dim Idx As Integer Dim vData As Variant

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 51

Developing Your First Program Using Copy and Paste

lStartItemIdx = 0 ' Returns the number of measured points lDataPointCount = myMeas.GetDerivativeBERDataPointCount

(1, 1) ' Returns a variant that contains the raw data from ' the measurement vData = myMeas.GetDerivativeBERDataArray

(1, 1, lStartItemIdx, lDataPointCount, lItemsReturned)

' Walk through the array For Idx = 0 To lItemsReturned - 1 Step 1

' Threshold of the specified measurement point dThreshold = vData(Idx, 0) 'Number of errors of the specified measurement point dBERdt = vData(Idx, 1) 'Erroneous zero's at the specified measurement point dBERdtZeros = vData(Idx, 2) ' Erroneous one's at the specified measurement point dBERdtOnes = vData(Idx, 3) ' Not applicable bExtFlag = vData(Idx, 4) ' Print dThreashold, .....

Next Idx End Sub

End_Click() Private Sub End_Click() Unload Me End Sub

Using Copy and Paste

Standard Copy/Paste Functionality ActiveX exports standard copy, cut and paste functionality. These methods can be used to implement a standard window such as the edit menu. Use the following functions:

• CopyToClipboard

• CutToClipboard

52 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Using Copy and Paste Developing Your First Program

• EditDelete

• PasteFromClipboard

NOTE A method for remotely selecting items for copy/paste or cut/delete has not been provided, so you still have to interact with the control.

You can also use the GetPicture method to copy the current display into the clipboard, where you can then export it to other applications.

Query for Available Operations The following methods can be used to query if the respective operation is available.

• IsCopyAvailable

• IsCutAvailable

• IsEditDeleteAvailable

• IsPasteAvailable

This is useful if you want to gray out menu items that are currently not available (for example, edit- cut if nothing is selected, or edit- paste if the clipboard is empty).

Example The following example shows you how you can copy the graphical results into a new Word document.

Private Sub SyncRun() Dim pResults As IPictureDisp Dim Word As Word.Application Dim WordDoc As Document

myMeas.SynchronousRun Set pResults = myMeas.GetPicture(640, 480)

Clipboard.Clear Clipboard.SetData pResults, vbCFBitmap

Set Word = New Word.Application Set WordDoc = Word.Documents.Add Word.Visible = True WordDoc.Range.Paste

End Sub

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 53

Developing Your First Program Saving Measurements and Results

Saving Measurements and Results

The methods for saving measurements and results are used to:

• Load and Save Measurements

• Export Data

Load and Save MeasurementsYou can load and save measurement (.mcp) files from the remote interface similarly to the user interface by using:

• SaveMeasurement

• LoadMeasurement

These functions are useful as they allow you to prototype a measurement using the user interface, and then run it over and over again automatically from the remote interface.

Example The following examples show you how you save the current measurement and reload a saved measurement.

Private Sub SaveMeasurementToDefault() myMeas.SaveMeasurement "C:\DefaultMeasurement.mcp" End Sub

Private Sub RestoreMeasurement() myMeas.LoadMeasurement "C:\DefaultMeasurement.mcp" End Sub

Export DataThe remote interface provides full export capability. To export data to a file, use the following methods:

• ExportFileName (to set the path)

• ExecuteExport (to do the actual saving)

Using these methods, you can automatically export raw measurement data for post- processing or documentation.

Example The following example shows you how you can export the measurement results to a comma- separated file, for example, for later import into Excel.

54 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Creating a User Interface Developing Your First Program

Private Sub ExportToFile(FilePath As String) With myMeas

.ExportDataType = All

.ExportDelimiter = ","

.ExportUseAll1s0s = True

.ExportFileName = FilePath

.ExecuteExport End Sub

Creating a User Interface

The measurements provide the capability to create and manipulate your own user interface. They allow you to start and configure the Properties dialog box, enable or disable redrawing (to speed up the measurement), and to select your own help file.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 55

Developing Your First Program Creating a User Interface

56 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Reference

All methods available for all measurements are listed in the following topics. These are divided into the different types of functions available:

• “Methods for Setting Up Measurements” on page 58

• “Methods for Setting Parameters” on page 59

• “Methods for Running the Measurement” on page 115

• “Methods for Handling Events” on page 117

• “Methods for Handling Errors” on page 119

• “Methods for Pass/Fail” on page 75

• “Methods for Getting Results” on page 120

• “Copy/Paste Methods” on page 147

• “Persistence Methods” on page 152

• “User Interface Methods” on page 156

Additionally, all enums are described in “Measurement Enums” on page 158.

Not all methods can be used with the Serial BERT. These are labelled accordingly. It is highly recommended that you do not use these methods because any changes may prevent your program from executing.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 57

Measurement Reference Methods for Setting Up Measurements

Methods for Setting Up Measurements

The methods for the measurement basics provide the functionality you need for connecting to the instrument’s firmware server. See “Setting Up the Measurement” on page 40 for details on using these methods.

Functions to Establish the Firmware ConnectionThe following table gives an overview on the methods, events and properties available to control measurements:

CreateMeasEx

ActiveX syntax Object.CreateMeasEx

Description Creates the connection to the firmware server, based on the IP address of Server.

IsFWSConnected

ActiveX syntax bConnect = Object.IsFWSConnected

Description Returns whether there is a connection to the firmware server.

Output parameter bConnect State of the connection (TRUE: connected, FALSE: not connected).

Example See the example under “Setting Up the Measurement” on page 40.

Server

ActiveX syntax Object.Server = sServer

Description Sets/returns the instrument’s IP address.

Purpose Refer to...

To set the connection to the firmware server. “Server” on page 58

To create a new measurement. “CreateMeasEx” on page 58

To check whether the connection to the firmware server is valid. “IsFWSConnected” on page 58

58 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

Parameters sServer IP address (or network name) of the server (data type: String).

Example See the example under “Setting Up the Measurement” on page 40.

Methods for Setting Parameters

The methods for setting up measurements provide the functionality you need for configure the measurements. See “Setting Measurement Parameters” on page 41 for details on using these methods.

The availability of these methods varies from measurement to measurement. See the following topics for the measurement-specific listings:

• “Output Timing – Setting Parameters” on page 59

• “Output Level – Setting Parameters” on page 60

• “Eye Opening – Setting Parameters” on page 60

• “Fast Eye – Setting Parameters” on page 61

• “Spectral Jitter – Setting Parameters” on page 61

Output Timing – Setting ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Parameters page:

Purpose Refer to...

To set the number of bits to be compared before the measurement moves to the next sample point.

“MaxComparedBits” on page 66

To activate the property MaxError. “UseMaxError” on page 74

To set the number of errors to be compared before the measurement moves to the next sample point.

“MaxError” on page 67

To set the sampling delay. “SamplingDelay” on page 68

To set/get the resolution for the sample points to be taken. “GetTimingResolution” on page 66 “SetTimingResolution” on page 71

To activate edge resolution optimization or Fast Total Jitter measurement. “UseTResOptimization” on page 73

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 59

Measurement Reference Methods for Setting Parameters

Output Level – Setting ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Parameters page:

Eye Opening – Setting ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Parameters page:

To set/get the BER threshold for Fast Total Jitter measurement. “UseTResOptimizationFtjBer” on page 73

To activate edge resolution optimization (obsolete with release 2.20). “UseEdgeResOptimization” on page 72

Purpose Refer to...

Purpose Refer to...

To set the number of bits to be compared before the measurement moves to the next sample point threshold.

“MaxComparedBits” on page 66

To activate the property MaxError. “UseMaxError” on page 74

To set the number of errors to be compared before the measurement moves to the next sample point threshold.

“MaxError” on page 67

To activate edge resolution optimization. “UseEdgeResOptimization” on page 72

To get/set the measurement’s threshold resolution. “GetThresholdResolution” on page 65 “SetThresholdResolution” on page 71

To get/set the upper limit of the sample threshold. “GetSampleHighLevelThreshold” on page 64 “SetSampleHighLevelThreshold” on page 70

To get/set the lower limit of the sample threshold. “GetSampleLowLevelThreshold” on page 65 “SetSampleLowLevelThreshold” on page 70

Purpose Refer to...

To set the number of bits to be compared before the measurement moves to the next sample point.

“MaxComparedBits” on page 66

To activate the property MaxError. “UseMaxError” on page 74

To set the number of errors to be compared before the measurement moves to the next sample point.

“MaxError” on page 67

To set/get the resolution for the sample points to be taken. “GetTimingResolution” on page 66 “SetTimingResolution” on page 71

To activate edge resolution optimization. “UseEdgeResOptimization” on page 72

To get/set the threshold resolution for the sample points to be taken. “GetThresholdResolution” on page 65 “SetThresholdResolution” on page 71

60 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

Fast Eye – Setting ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Parameters page:

Spectral Jitter – Setting ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Parameters page:

List of Methods for Setting ParametersSee the following topics for a listing of the methods applicable for each measurement:

• “Output Timing – Setting Parameters” on page 59

• “Output Level – Setting Parameters” on page 60

• “Eye Opening – Setting Parameters” on page 60

To get/set the lower threshold of the sample threshold. “GetSampleLowLevelThreshold” on page 65 “SetSampleLowLevelThreshold” on page 70

To get/set the upper threshold of the sample threshold. “GetSampleHighLevelThreshold” on page 64 “SetSampleHighLevelThreshold” on page 70

Purpose Refer to...

Purpose Refer to...

To set/return the number of bits to be compared before the measurement moves to the next sample point.

“MaxComparedBits” on page 66

To activate the property MaxError. “UseMaxError” on page 74

To set/return the number of errors to be found before the measurement moves to the next sample point.

“MaxError” on page 67

To set/return the timing unit of the sample point. “ResolutionType” on page 67

To set/return how the threshold for the data point is reported. “ThresholdInputType” on page 72

To set/return the number of data points. “NumberOfPoints” on page 67

To set/return the threshold and timing value of data points. “GetPoint” on page 64

Purpose Refer to...

To set the number of bits to be compared and captured. “AcquisitionDepth” on page 62

To set the analyzer sampling point offset. “SamplePointOffset” on page 68

To obtain the list of available FFT windows. “FFTWindowList” on page 62

To enable an FFT window. “FFTWindow” on page 62

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 61

Measurement Reference Methods for Setting Parameters

• “Fast Eye – Setting Parameters” on page 61

• “Spectral Jitter – Setting Parameters” on page 61

AcquisitionDepth

ActiveX syntax Object.AcquisitionDepth = [eAcqDepth] [eAcqDepth] = Object.AcquisitionDepth

Availability Available for the following measurements:

Description Sets/returns the acquisition depth. This is the number of bits to be captured and compared and hence the length of the time record for the FFT. For details see the Serial BERT Online Help or User’s Guide.

Parameters eAcqDepth Specifies the acquisition depth (data type: AcquisitonDepthEnums).

FFTWindow

ActiveX syntax Object.FFTWindow = [sWindow] [sWindow] = Object.FFTWindow

Availability Available for the following measurements:

Description Sets/returns the window used for the FFT. For details see the Serial BERT Online Help or User’s Guide.

Parameters sWindow The name of the window (data type: String).

Example To enable the Hanning window:

myMeas.FFTWindow = "Hanning"

FFTWindowList

ActiveX syntax [sWindowlist] = Object.FFTWindowList

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

62 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

Availability Available for the following measurements:

Description Returns the list of available FFT windows.

Parameters sWindowlist The list of available windows (data type: String).

Example To get the list of available FFT windows:

Dim sWindows as String sWindows = m_SpectralJitterCTRL.FFTWindowList()

The string may return: "Uniform, Hanning, Hamming, Blackman"

FreqAxisRangeType

ActiveX syntax Object.FreqAxisRangeType = [eAxisType]

Availability Available for the following measurements:

Description Sets/gets the type of the graph’s horizontal frequency axis. The frequency axis can show either the whole frequency range of the measurement or a section.

Parameter eAxisType The following constants (data type: AxisFreqRangeTypeEnums) are defined:

GetNoiseThreshold

ActiveX syntax boolean = Object.GetNoiseThreshold(dValue, eUnit)

Available for the following measurements:

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

Constant Description

AFT_EntireRange The graph shows the whole frequency range.

AFT_ZoomMinMax The graph zooms a range defined by a min and max fre-quency.

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 63

Measurement Reference Methods for Setting Parameters

Description Sets/returns the noise threshold. This is the threshold used to sep-arate between total power and noise power.

Parameters dValue The threshold value (data type: VIReal64).

eUnit The power unit: Linear or dB (data type: PowerUnitsEnums).

GetPoint

ActiveX syntax dThreshold = Object.GetPoint(nIndex, dDelay)

Availability Available for the following measurements:

Description Returns the threshold and timing value of a pre- defined number of measurement points (1 … 32). The number of points is set with “NumberOfPoints” on page 67.

Parameters nIndex Index starting at 1. It specifies one data point for the fast eye mask measurement.

Valid values are from 1 … <specified number of data points>. The maximum number of data points can be queried with “NumberOfPoints” on page 67.

dDelay Delay (data type: Double) for the data point reported according to the ResolutionType property.

dThreshold Threshold (data type: Double) for the data point reported according to the ThresholdInputType property.

GetSampleHighLevelThreshold

ActiveX syntax Object.GetSampleHighLevelThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Returns the upper threshold of the measurement.

Measurement Availability

Fast Eye Mask X

Measurement Availability

Eye Opening X

Output Level X

64 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

Output parameter dValue The threshold value (data type: Double).

Input parameter eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

GetSampleLowLevelThreshold

ActiveX syntax Object.GetSampleLowLevelThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Returns the lower threshold of the measurement.

Output parameter dValue The threshold value (data type: Double).

Input parameter eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

GetThresholdResolution

ActiveX syntax Object.GetThresholdResolution(*dValue, *eThresholdUnits)

Availability Available for the following measurements:

Description Sets/returns the measurement’s threshold resolution.

Parameters dValue Value of the threshold resolution (data type: Double).

eThresholdUnits Unit in which the threshold resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

Measurement Availability

Eye Opening X

Output Level X

Measurement Availability

Eye Opening X

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 65

Measurement Reference Methods for Setting Parameters

GetTimingResolution

ActiveX syntax Object.GetTimingResolution(*dValue, *eUnits)

Availability Available for the following measurements:

Description Gets the measurement’s timing resolution.

Input parameters dValue Value of the timing resolution (data type: Double).

eUnits The units for dValue (data type: TimingUnitEnums). The following constants are defined:

Example To get the timing resolution:

Dim dValue as Double Dim eUnits as TimingUnitEnums myMeas.GetTimingResolution dValue, eUnits MsgBox "Timing resolution is: " & dValue & " unit intervals."

To set the distance between two sample points to 0.01 unit intervals:

myMeas.SetTimingResolution 0.01, UnitInterval

MaxComparedBits

ActiveX syntax Object.MaxComparedBits = [dMComparedBits]

Description Sets/returns the maximum number of compared bits. This value is used as a stop criterion for the measurement.

Parameters dMComparedBits Number of compared bits that must be reached before the measurement stops (data type: Double).

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

66 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

MaxError

ActiveX syntax Object.MaxError = [dErrors]

Description Sets/returns the maximum number of errors. This value is used as a stop criterion for the measurement.

Parameters dErrors Maximum number of errors that must be reached before the measurement stops (data type: Double).

NumberOfPoints

ActiveX syntax Object.NumberOfPoints = [nNumber]

Availability Available for the following measurements:

Description Sets/returns the number of data points at which the bit error rate is to be measured.

Parameters nNumber Number of data points. Valid values are from 1 … 32.

ResolutionType

ActiveX syntax Object.ResolutionType = [eUnits]

Availability Available for the following measurements:

Description Sets/returns the timing unit of the sample point. The timing value can be reported either in unit intervals or in seconds.

Parameters eUnits The units for the timing value. The following constants are defined (data type: TIMINGUNITS):

Measurement Availability

Fast Eye Mask X

Measurement Availability

Fast Eye Mask X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 67

Measurement Reference Methods for Setting Parameters

SamplePointOffset

ActiveX syntax Object.SamplePointOffset = [dValue] [dValue] = Object.SamplePointOffset

Availability Available for the following measurements:

Description Sets/returns the offset of the sampling point for the measurement from the current sampling point in Unit Intervals (UI).

Parameters dValue Specifies the offset in UI (data type: ViReal64).

SamplingDelay

ActiveX syntax Object.SamplingDelay = [eSamplingDelay]

Availability Available for the following measurements:

Description Sets/returns the sampling delay, which effects the display of information on the grid and graph. This property controls how the delay value is reported in the GetMeasData and GetDUTDataPoint functions.

This property also controls the units of the analysis parameters reported in GetPortCalculatedValue and GetTermCalculatedValue. Also, this property is used in the application of the pass/fail criteria for the calculated parameters.

bvIf SamplingDelay is set to Relative, the values entered for the pass/fail decision are relative values and the pass/fail criterion is applied to the relative calculated values.

Measurement Availability

Spectral Jitter X

Measurement Availability

DUT Output X

Eye Opening X

68 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

Parameters eSamplingDelay The following constants (data type: SAMPLINGDELAY) are defined:

SetNoiseThreshold

ActiveX syntax Object.SetNoiseThreshold(dValue, eUnit)

Availability Available for the following measurements:

Description Sets the noise threshold. This is the threshold used to separate between total power and noise power.

Parameters dValue The threshold value (data type: VIReal64).

eUnit The power unit: Linear or dB (data type: PowerUnitsEnums).

SetPoint

ActiveX syntax Object.SetPoint(nIndex, dDelay, dThreshold)

dThreshold = Object.GetPoint(nIndex, dDelay)

Availability Available for the following measurements:

Description Sets/returns the threshold and timing value of a pre- defined number of measurement points (1 … 32). The number of points is set with “NumberOfPoints” on page 67.

Parameters nIndex Index starting at 1. It specifies one data point for the fast eye mask measurement.

Constant Description

Relative The data will be displayed in the grid and graph relative to the optimal sample point delay.

Absolute The data will be displayed in the grid and graph in abso-lute time.

Measurement Availability

Spectral Jitter X

Measurement Availability

Fast Eye Mask X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 69

Measurement Reference Methods for Setting Parameters

Valid values are from 1 … <specified number of data points>. The maximum number of data points can be queried with “NumberOfPoints” on page 67.

dDelay Delay (data type: Double) for the data point reported according to the ResolutionType property.

dThreshold Threshold (data type: Double) for the data point reported according to the ThresholdInputType property.

SetSampleHighLevelThreshold

ActiveX syntax Object.SetSampleHighLevelThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Sets the upper threshold of the measurement.

Output parameter dValue The threshold value (data type: Double).

Input parameter eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

SetSampleLowLevelThreshold

ActiveX syntax Object.SetSampleLowLevelThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Sets the lower threshold of the measurement.

Output parameter dValue The threshold value (data type: Double).

Input parameter eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

Measurement Availability

Eye Opening X

Output Level X

Measurement Availability

Eye Opening X

Output Level X

70 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

SetThresholdResolution

ActiveX syntax Object.SetThresholdResolution(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Sets/returns the measurement’s threshold resolution.

Parameters dValue Value of the threshold resolution (data type: Double).

eThresholdUnits Unit in which the threshold resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

SetTimingResolution

ActiveX syntax Object.SetTimingResolution(dValue, eUnits)

Availability Available for the following measurements:

Description Sets the measurement’s timing resolution.

Input parameters dValue Value of the timing resolution (data type: Double).

eUnits The units for dValue (data type: TimingUnitEnums). The following constants are defined:

Measurement Availability

Eye Opening X

Output Level X

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 71

Measurement Reference Methods for Setting Parameters

ThresholdInputType

ActiveX syntax Object.ThresholdInputType = [eAnalysisTerm]

Availability Available for the following measurements:

Description Sets/returns how the threshold for the data point is reported: absolute, as offset to the analyzer threshold, or in percentage.

Parameters eType The following constants (data type: THRESHOLDTYPE) are defined:

UseEdgeResOptimization

ActiveX syntax Object.UseEdgeResOptimization = boolean

Availability Available for the following measurements:

Description If this option is disabled, a fixed step size is used to display the threshold. If this option is enabled, the software uses a lower resolution where the signal has no edges.

Input parameters boolean The following constants (data type: Boolean) are defined:

Measurement Availability

Fast Eye Mask X

Constant Description

ThreshAbsolute Absolute value for the threshold.

ThreshOffset Threshold is reported relative to the analyzer thresh-old.

ThreshPercentage Threshold is reported in percentage:

0 % == Low level of the analyzer threshold. 100 % == High level of the analyzer threshold.

Measurement Availability

DUT Output X (see note)

Eye Opening X

Output Level X

Constant Description

False A fixed step size is used.

True A lower resolution is used where the signal has no edges.

72 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting Parameters Measurement Reference

NOTE This property should no longer be used for DUT Output measurements. It has been replaced by UseTResOptimization with release 2.20 (see “UseTResOptimization” on page 73).

If a program uses UseEdgeResOptimization for reading the property, the value will be converted to one compatible with the old measurement: it returns true, if edge resolution optimization is enabled in the new interface, and false otherwise (if it was either TRO_None or TRO_FTJitter).

UseTResOptimization

ActiveX syntax Object.UseTResOptimization = [newVal]

newVal = Object.UseTResOptimization

Availability Available for the following measurements:

Description Enables or disables the Fast Total Jitter measurement. If you enable this measurement, also enter the desired BER threshold (see “UseTResOptimizationFtjBer” on page 73).

Parameters newVal The following constants (data type: TRES_OPT) are defined:

UseTResOptimizationFtjBer

ActiveX syntax Object.UseTResOptimizationFtjBer = [pVal]

Availability Available for the following measurements:

Measurement Availability

DUT Output X

Constant Description

TRO_None No optimization; a fixed step size is used.

TRO_EdgeRes A lower resolution is used where the signal has no edges.

TRO_FTJitter Fast Total Jitter measurement.

Measurement Availability

DUT Output X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 73

Measurement Reference Methods for Setting Parameters

Description Specifies the desired BER threshold for a Fast Total Jitter measurement as shown on the Parameters tab in the Properties dialog of the user interface.

Input parameters pVal Required BER threshold (data type: double).

UseMaxError

ActiveX syntax Object.UseMaxError = [boolean]

Description Sets/returns whether the measurements stops automatically after a specific number of errors occurred. The number of errors can be set with “MaxError” on page 67.

Parameters boolean The following constants (data type: Boolean) are defined:

Constant Description

True Turn on the checking of max errors to stop the measure-ment.

False Turn off the checking of max errors.

74 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Methods for Pass/Fail

The pass/fail methods allow you to get the pass/fail results of a measurement. See “Using Pass/Fail” on page 42 for details on using these methods.

The availability of these methods varies from measurement to measurement. See the following topics for the measurement-specific listings:

• “Output Timing – Pass/Fail Methods” on page 75

• “Output Levels – Pass/Fail Methods” on page 76

• “Eye Opening – Pass/Fail Methods” on page 76

• “Fast Eye Mask – Pass/Fail Methods” on page 77

• “Spectral Jitter – Pass/Fail Methods” on page 78

Output Timing – Pass/Fail Methods

Getting/Setting the Pass/Fail ParametersThe following table gives an overview on the methods and properties available to handle the values of the Pass/Fail page:

Getting the Pass/Fail ResultsThe following table gives an overview on the methods and properties available to determine if the DUT passed:

Purpose Refer to...

To set/get which pass/fail parameters are considered when testing output levels.

“GetPassFailUse” on page 82 “SetPassFailUse” on page 89

To set/get timing parameters for evaluating measurements for pass/fail. “GetPassFailValueTiming” on page 84 “SetPassFailValueTiming” on page 91

Purpose Refer to...

To check if a parameter has passed for the complete measurement. “GetMeasPassValue” on page 79

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 75

Measurement Reference Methods for Pass/Fail

Output Levels – Pass/Fail Methods

Getting/Setting the Pass/Fail ParametersThe following table gives an overview on the methods and properties available to handle the values of the Pass/Fail page:

Getting the Pass/Fail ResultsThe following table gives an overview on the methods and properties available to determine if the DUT passed:

Eye Opening – Pass/Fail Methods

Getting/Setting the Pass/Fail ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Pass/Fail page:

Purpose Refer to...

To set/get which pass/fail parameters are considered when testing output levels.

“GetPassFailUse” on page 82 “SetPassFailUse” on page 89

To set/get pass/fail ratios. “GetPassFailValueRatio” on page 83 “SetPassFailValueRatio” on page 90

To set/get pass/fail thresholds. “GetPassFailValueThreshold” on page 84 “SetPassFailValueThreshold” on page 90

Purpose Refer to...

To check if a parameter has passed for the complete measurement. “GetMeasPassValue” on page 79

Purpose Refer to...

To activate the pass/fail checks for the measurement. “UseEyeOpeningPassFail” on page 92

To activate the pass/fail check for the parameter Time Eye Opening. “UseMinTimeEyeOpening” on page 93

To set/return the pass/fail value for the parameter Time Eye Opening. “GetMinTimeEyeOpening” on page 81 “SetMinTimeEyeOpening” on page 87

To activate the pass/fail check for the parameter Threshold Eye Opening. “UseMinThresholdEyeOpening” on page 93

To set/return the pass/fail value for the parameter Threshold Eye Opening. “GetMinThresholdEyeOpening” on page 81 “SetMinThresholdEyeOpening” on page 87

To activate the pass/fail check for the parameter Optimal Sample Delay. “UseSampleDelay” on page 93

76 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Getting the Pass/Fail ResultsThe following table gives an overview on the methods and properties available to determine if the DUT passed:

Fast Eye Mask – Pass/Fail Methods

Getting/Setting the Pass/Fail ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Pass/Fail page:

Getting the Pass/Fail ResultsThe following table gives an overview on the methods and properties available to determine if the DUT passed:

To get/set the lower pass/fail threshold for the parameter Optimal Sample Delay. “GetMinSampleDelay” on page 80 “SetMinSampleDelay” on page 86

To get/set the upper pass/fail threshold for the parameter Optimal Sample Delay. “GetMaxSampleDelay” on page 78 “SetMaxSampleDelay” on page 85

To activate the pass/fail check for the parameter Optimal Sample Threshold. “UseSampleThreshold” on page 94

To set the lower pass/fail threshold for the parameter Optimal Sample Threshold. “GetMaxSampleThreshold” on page 79 “SetMaxSampleThreshold” on page 86

Purpose Refer to...

Purpose Refer to...

To check if a parameter has passed for the complete measurement. “GetMeasPassValue” on page 79

Purpose Refer to...

To specify the BER threshold. “BERThreshold” on page 101

To activate the pass/fail check for the BERThreshold. “UseBERThreshold” on page 92

Purpose Refer to...

To check if a parameter has passed for the complete measurement. “GetMeasPassValue” on page 79

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 77

Measurement Reference Methods for Pass/Fail

Spectral Jitter – Pass/Fail Methods

Getting/Setting the Pass/Fail ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the Pass/Fail page:

Getting the Pass/Fail ResultsThe following table gives an overview on the methods and properties available to determine if the DUT passed:

List of Pass/Fail MethodsSee the following topics for the measurement- specific listings:

• “Output Timing – Pass/Fail Methods” on page 75

• “Output Levels – Pass/Fail Methods” on page 76

• “Eye Opening – Pass/Fail Methods” on page 76

• “Fast Eye Mask – Pass/Fail Methods” on page 77

• “Spectral Jitter – Pass/Fail Methods” on page 78

GetMaxSampleDelay

ActiveX syntax Object.GetMaxSampleDelay(dValue, eUnits)

Availability Available for the following measurements:

Purpose Refer to...

To set/get which pass/fail parameters are considered when testing output levels.

“GetPassFailUse” on page 82 “SetPassFailUse” on page 89

To set/get pass/fail ratios. “GetPassFailValue” on page 82 “SetPassFailValue” on page 88

To set/get pass/fail thresholds. “GetPassFailValuePower” on page 83 “SetPassFailValuePower” on page 88

Purpose Refer to...

To check if a parameter has passed for the complete measurement. “GetMeasPassValue” on page 79

Measurement Availability

DUT Output X

Eye Opening X

78 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Description Returns the pass/fail criterion for the measurement parameter Optimal Sample Delay.

Parameters dValue The pass/fail criterion (data type: Double).

eUnits The units for dValue. The following constants are defined (data type: TIMINGUNITS):

Remarks The pass/fail value is entered in the units according to the SamplingDelay property. In addition, the pass/fail criterion is applied according to the SamplingDelay property.

GetMaxSampleThreshold

ActiveX syntax Object.GetMaxSampleThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Returns the pass/fail criterion for the measurement parameter Optimal Sample Threshold.

Parameters dValue The pass/fail criterion (data type: Double).

eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums).Must be Volts.

GetMeasPassValue

ActiveX syntax bIsPass = Object.GetMeasPassValue(nAnalysisTerm)

Description Returns whether a measurement parameter has passed or failed the pass/fail criterion. The criteria are set by separate pass/fail methods.

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Measurement Availability

Eye Opening X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 79

Measurement Reference Methods for Pass/Fail

Output parameter bIsPass Returns whether the designated measurement parameter passed or failed. The following constants (data type: Boolean) are defined:

Input parameters nAnalysisTerm See “AnalysisFieldEnums” on page 158 for a list of the possible values.

Remarks The criteria will always pass if the pass/fail criterion has been turned off.

GetMinSampleDelay

ActiveX syntax Object.GetMinSampleDelay(dValue, tUnits)

Availability Available for the following measurements:

Description Gets the pass/fail criterion for the measurement parameter Optimal Sample Delay.

Parameters dValue The pass/fail criterion (data type: Double).

tUnits The units for dValue. See “TimingUnitEnums” on page 169 for the values.

Remarks The pass/fail value is entered in the units according to the SamplingDelay property. In addition, the pass/fail criterion is applied according to the SamplingDelay property.

Constant Description

True Measurement passed.

False Measurement failed.

Measurement Availability

DUT Output X

Eye Opening X

80 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

GetMinSampleThreshold

ActiveX syntax Object.GetMinSampleThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Returns the pass/fail criterion for the measurement parameter Optimal Sample Threshold.

Parameters dValue The pass/fail criterion (data type: Double).

eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

GetMinThresholdEyeOpening

ActiveX syntax Object.GetMinThresholdEyeOpening(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Returns the pass/fail criterion for the measurement parameter Threshold Eye Opening.

Parameters dValue The pass/fail criterion (data type: Double).

eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

GetMinTimeEyeOpening

ActiveX syntax Object.GetMinTimeEyeOpening(dValue, tUnits)

Availability Available for the following measurements:

Description Returns the pass/fail criterion for the measurement parameter Time Eye Opening.

Measurement Availability

Eye Opening X

Measurement Availability

Eye Opening X

Measurement Availability

Eye Opening X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 81

Measurement Reference Methods for Pass/Fail

Output parameters dValue The pass/fail criterion (data type: Double).

tUnits The units for dValue (data type: TIMINGUNITS). The following constants are defined:

GetPassFailValue

ActiveX syntax dValue = Object.GetPassFailValue(eTerm)

Availability Available for the following measurements:

Description Sets the pass/fail values for the bit error rate (BER).

eTerm Defines the parameter (data type: PassFailValueEnums). The following table indicates which parameters you can set with this command.

dValue The pass/fail value used (data type: VIReal64).

GetPassFailUse

ActiveX syntax bUsed = Object.GetPassFailUse(eTerm)

Availability Available for the following measurements:

Description Returns which pass/fail parameters are considered for the test.

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Measurement Availability

Spectral Jitter X

Constant Description

PFV_BitErrorRateMin Sets/gets the minimum value.

PFV_BitErrorRateMax Sets/gets the maximum value.

Measurement Availability

DUT Output X

Output Level X

Spectral Jitter X

82 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Parameters eTerm Defines one Pass/Fail criterion for testing the DUT (data type: PassFailUseEnums). See “PassFailUseEnums” on page 164 for a list of the possible values for the measurement.

bUsed The following constants (data type: Boolean) are defined:

GetPassFailValuePower

ActiveX syntax dValue = Object.GetPassFailValuePower(eTerm, eUnits)

Availability Available for the following measurements:

Description Sets the pass/fail power value for Total Power, Noise Power, or a frequency range.

Input parameters eTerm Defines one Pass/Fail power limit (data type: PassFailValueEnums). See “PassFailValueEnums” on page 166 for a list of possible values.

eUnits Unit used for the value (data type: PowerUnitsEnums). The unit can be PowerLinear or PowerDB.

dValue The value used for the parameter (data type: ViReal64).

GetPassFailValueRatio

ActiveX syntax ratVal = Object.GetPassFailValueRatio(eTerm, eUnits)

Availability Available for the following measurements:

Constant Description

True Parameter is considered during the test.

False Parameter is not considered during the test.

Measurement Availability

Spectral Jitter X

Measurement Availability

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 83

Measurement Reference Methods for Pass/Fail

Description Gets the pass/fail ratio. You only use this command to set ratio parameters (for example, RMS signal- to- noise ratio). To get thresholds, use the GetPassFailValueThreshold command.

Input parameters eTerm Defines one pass/fail criterium for testing the DUT (data type: PassFailValueEnums). See “PassFailValueEnums” on page 166.

eUnits Units used (data type: RatioUnitEnums) for the display. The value can be either RatioDB (in dB) or RatioLinear (unitless).

ratVal The pass/fail value used (data type: Long).

GetPassFailValueThreshold

ActiveX syntax thrVal = Object.GetPassFailValueThreshold(eTerm, eUnits)

Availability Available for the following measurements:

Description Sets the pass/fail parameter threshold. You only use this command to set threshold parameters (for example, minimum high level). To get ratios, use the GetPassFailValueRatio command.

Input parameters eTerm Defines one pass/fail criterium for testing the DUT (data type: PassFailValueEnums). See “PassFailValueEnums” on page 166.

eUnits Units used for the parameter (data type: ThresholdUnitEnums). Must be Volts.

thrVal The value used for the parameter (data type: Long).

GetPassFailValueTiming

ActiveX Syntax Object.GetPassFailValueTiming(ePassFail_Value, eUnits)

Availability Available for the following measurements:

Measurement Availability

Output Level X

Measurement Availability

Output Level X

Output Timing X

84 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Description Returns the pass/fail value for the given parameter in the defined units.

Input Parameters ePassFail_Value The parameter to be checked. The possible values are described in “PassFailValueEnums” on page 166.

eUnits The units for the return value. The following constants are defined (data type: TIMINGUNITS):

Output Parameters pValue Value of the parameter in the defined units (data type: ViPReal64).

Example To get the pass/fail value (in seconds) for the the skew:

Dim pSkew as Double pSkew = m_DUTOutputCTRL.GetPassFailValueTiming

(PFV_SkewMax, Seconds)

SetMaxSampleDelay

ActiveX syntax Object.SetMaxSampleDelay(dValue, eUnits)

Availability Available for the following measurements:

Description Sets the pass/fail criterion for the measurement parameter Optimal Sample Delay.

Parameters dValue The pass/fail criterion (data type: Double).

eUnits The units for dValue. The following constants are defined (data type: TIMINGUNITS):

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 85

Measurement Reference Methods for Pass/Fail

Remarks The pass/fail value is entered in the units according to the SamplingDelay property. In addition, the pass/fail criterion is applied according to the SamplingDelay property.

SetMaxSampleThreshold

ActiveX syntax Object.SetMaxSampleThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Sets the pass/fail criterion for the measurement parameter Optimal Sample Threshold.

Parameters dValue The pass/fail criterion (data type: Double).

eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

SetMinSampleDelay

ActiveX syntax Object.SetMinSampleDelay(dValue, tUnits)

Availability Available for the following measurements:

Description Sets the pass/fail criterion for the measurement parameter Optimal Sample Delay.

Parameters dValue The pass/fail criterion (data type: Double).

tUnits The units for dValue (data type: TIMINGUNITS). The following constants are defined:

Measurement Availability

Eye Opening X

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

86 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Remarks The pass/fail value is entered in the units according to the SamplingDelay property. In addition, the pass/fail criterion is applied according to the SamplingDelay property.

SetMinSampleThreshold

ActiveX syntax Object.SetMinSampleThreshold(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Sets the pass/fail criterion for the measurement parameter Optimal Sample Threshold.

Parameters dValue The pass/fail criterion (data type: Double).

eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

SetMinThresholdEyeOpening

ActiveX syntax Object.SetMinThresholdEyeOpening(dValue, eThresholdUnits)

Availability Available for the following measurements:

Description Sets the pass/fail criterion for the measurement parameter Threshold Eye Opening.

Parameters dValue The pass/fail criterion (data type: Double).

eThresholdUnits Unit in which the resolution is calculated (data type: ThresholdUnitEnums). Must be Volts.

SetMinTimeEyeOpening

ActiveX syntax Object.SetMinTimeEyeOpening(dValue, tUnits)

Measurement Availability

Eye Opening X

Measurement Availability

Eye Opening X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 87

Measurement Reference Methods for Pass/Fail

Availability Available for the following measurements:

Description Sets the pass/fail criterion for the measurement parameter Time Eye Opening.

Output parameters dValue The pass/fail criterion (data type: Double).

tUnits The units for dValue (data type: TIMINGUNITS). The following constants are defined:

SetPassFailValue

ActiveX syntax Object.SetPassFailValue(eTerm, dValue)

Availability Available for the following measurements:

Description Sets the pass/fail values for the bit error rate (BER).

Input parameters eTerm Defines the parameter (data type: PassFailValueEnums). The following table indicates which parameters you can set with this command.

dValue The pass/fail value used (data type: VIReal64).

SetPassFailValuePower

ActiveX syntax dValue = Object.GetPassFailValuePower(eTerm, eUnits)

Measurement Availability

Eye Opening X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Measurement Availability

Spectral Jitter X

Constant Description

PFV_BitErrorRateMin Sets/gets the minimum value.

PFV_BitErrorRateMax Sets/gets the maximum value.

88 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Availability Available for the following measurements:

Description Sets the pass/fail power value for Total Power, Noise Power, or a frequency range.

Input parameters eTerm Defines one Pass/Fail power limit (data type: PassFailValueEnums). See “PassFailValueEnums” on page 166 for a list of possible values.

eUnits Unit used for the value (data type: PowerUnitsEnums). The unit can be PowerLinear or PowerDB.

dValue The value used for the parameter (data type: ViReal64).

SetPassFailUse

ActiveX syntax Object.SetPassFailUse(eTerm, bUsed)

Availability Available for the following measurements:

Description Sets which pass/fail parameters are considered for the test.

Parameters eTerm Defines one Pass/Fail criterion for testing the DUT (data type: PassFailUseEnums). See “PassFailUseEnums” on page 164 for a list of the possible values for the measurement.

bUsed The following constants (data type: Boolean) are defined:

Measurement Availability

Spectral Jitter X

Measurement Availability

DUT Output X

Output Level X

Spectral Jitter X

Constant Description

True Parameter is considered during the test.

False Parameter is not considered during the test.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 89

Measurement Reference Methods for Pass/Fail

SetPassFailValueRatio

ActiveX syntax Object.SetPassFailValueRatio(eTerm, eUnits, ratVal)

Availability Available for the following measurements:

Description Sets the pass/fail ratio. You only use this command to set ratio parameters (for example, RMS signal- to- noise ratio). To set thresholds, use the SetPassFailValueThreshold command.

Input parameters eTerm Defines one pass/fail criterium for testing the DUT (data type: PassFailValueEnums). See “PassFailValueEnums” on page 166.

eUnits Units used (data type: RatioUnitEnums) for the display. The value can be either RatioDB (in dB) or RatioLinear (unitless).

ratVal The pass/fail value used (data type: Long).

Example To set the maximum allowed signal/noise ratio to 9.5 dB:

With myMeas .SetPassFailUse PFE_SignalNoisePassFail, True .SetPassFailUse PFE_SignalNoiseRatioPP, True .SetPassFailValueRatio PFV_SignalNoiseRatioPPMin, RatioDB, 9.5

End With

SetPassFailValueThreshold

ActiveX syntax Object.SetPassFailValueThreshold(eTerm, eUnits, thrVal)

Availability Available for the following measurements:

Description Sets the pass/fail parameter threshold. You only use this command to set threshold parameters (for example, minimum high level). To set ratios, use the SetPassFailValueRatio command.

Measurement Availability

Output Level X

Measurement Availability

Output Level X

90 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

Input parameters eTerm Defines one pass/fail criterium for testing the DUT (data type: PassFailValueEnums). See “PassFailValueEnums” on page 166.

eUnits Units used for the parameter (data type: ThresholdUnitEnums). Must be Volts.

thrVal The value used for the parameter (data type: Long).

Example To set the range for the 0 threshold to 150 – 800 mV:

With myMeas .SetPassFailUse PFE_LevelPassFail, TRUE .SetPassFailUse PFE_ZeroLevel, TRUE .SetPassFailValueThreshold PFV_ZeroLevelMin, Volts, 0.15 .SetPassFailValueThreshold PFV_ZeroLevelMax, Volts, 0.8

End With

SetPassFailValueTiming

ActiveX Syntax Object.SetPassFailValueTiming(ePassFail_Value, eUnits, newVal)

Availability Available for the following measurements:

Description Sets a parameter for evaluating measurements for pass/fail.

Input Parameters ePassFail_Value The parameter to be set. The possible values are described in “PassFailValueEnums” on page 166.

eUnits The units for the value. The following constants are defined (data type: TIMINGUNITS):

newVal The desired value in the defined units.

Measurement Availability

Output Level X

Output Timing X

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 91

Measurement Reference Methods for Pass/Fail

Example To set a maximum skew of 0.35 unit intervals:

' Note: DUT Output and skew must both be enabled m_DUTOutputCTRL.SetPassFailValueTiming PFV_SkewMax,

UnitInterval, 0.35

UseBERThreshold

ActiveX syntax Object.UseBERThreshold = [boolean]

Availability Available for the following measurements:

Description Sets/returns whether the threshold as pass/fail criterion for the BER measurement is activated. To specify the value for the threshold, use “BERThreshold” on page 101.

Parameters boolean Returns whether the pass/fail criterion is activated (data type: Boolean).

UseEyeOpeningPassFail

ActiveX syntax Object.UseEyeOpeningPassFail = [boolean]

Availability Available for the following measurements:

Description Sets/returns the turning on and off of all of the pass/fail checks for the measurement parameters.

Parameters boolean Defines whether pass/fail checking for all eye opening parameters is enabled.

Measurement Availability

Fast Eye Mask X

Measurement Availability

Eye Opening X

92 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Pass/Fail Measurement Reference

UseMinThresholdEyeOpening

ActiveX syntax Object.UseMinThresholdEyeOpening = [bBoolean]

Availability Available for the following measurements:

Description Sets/returns the turning on and off of all of the pass/fail check for the parameter Threshold Eye Opening.

Remarks You must set UseEyeOpeningPassFail to True to enable the individual eye opening pass/fail parameters.

Parameters bBoolean Defines whether pass/fail checking for the Threshold Eye Opening is enabled.

UseMinTimeEyeOpening

ActiveX syntax Object.UseMinTimeEyeOpening = [boolean]

Availability Available for the following measurements:

Description Sets/returns the turning on and off of all of the pass/fail checks for the parameter Time Eye Opening.

Remarks You must set UseEyeOpeningPassFail to True to enable the individual eye opening pass/fail parameters.

Parameters boolean Defines whether pass/fail checking for Time Eye Opening is enabled.

UseSampleDelay

ActiveX syntax Object.UseSampleDelay = [boolean]

Availability Available for the following measurements:

Measurement Availability

Eye Opening X

Measurement Availability

Eye Opening X

Measurement Availability

DUT Output X

Eye Opening X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 93

Measurement Reference Methods for Pass/Fail

Description Turns the pass/fail checks for the parameter Optimal Sample Delay on or off.

Input parameters boolean Defines whether pass/fail checking for Optimal Sample Delay is enabled.

UseSampleThreshold

ActiveX syntax Object.UseSampleThreshold = [bBoolean]

VAvailability Available for the following measurements:

Description Turns the pass/fail checks for the parameter Optimal Sample Threshold on or off.

Remarks You must set UseEyeOpeningPassFail to True to enable the individual eye opening pass/fail parameters.

Input parameters bBoolean Defines whether pass/fail checking for Optimal Sample Threshold is enabled.

Measurement Availability

Eye Opening X

94 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Methods for Setting the View

The view methods allows you to set the appearance of the graphical results. See “Setting the View” on page 44 for details on using these methods.

The availability of these methods varies from measurement to measurement. See the following topics for the measurement-specific listings:

• “Output Timing – View Methods” on page 95

• “Output Levels – View Methods” on page 96

• “Eye Opening – View Methods” on page 97

• “Fast Eye – View Methods” on page 97

• “Spectral Jitter – View Methods” on page 98

Output Timing – View Methods

Setting DUT Output Timing/Jitter View ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the View page:

Purpose Refer to...

To specify if the bathtub curve or the jitter graph will be displayed. “ViewType” on page 114

To specify the error type to be displayed. “AnalyzeErrors” on page 99

To set whether the measurement parameters will be calculated for the BER threshold or for "0".

“CalcMeasParams” on page 101

To specify the BER threshold. “BERThreshold” on page 101

To set the timing units to be used. “TimingUnits” on page 113

To set the result display to absolute or relative mode. “SamplingDelay” on page 68

To set the scale of the graphical display to logarithmic or linear. “Scale/CtlScale” on page 109

To show markers in the graphical display. “ShowMarkers” on page 112

To display marker readouts. “ShowMarkerReadout” on page 112

To display the measured points in the graphical view. “DisplayPoints” on page 102

To set the number of decimal places to be displayed in the numerical view. “GridPrecision” on page 107

To get if results can be displayed in absolute mode. “DisplayedAbs” on page 102

To set/get the viewing criterion for Min. BER for RJ/DJ Separation. “MinBERForRJDJ” on page 108

To set/get the viewing criterion for Residual BER for Estimated Total Jitter. “ResBERForTJ” on page 109

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 95

Measurement Reference Methods for Setting the View

Setting the ColorsThe following table gives an overview on the methods, events and properties available to handle the values of the Colors page:

Output Levels – View Methods

Setting Output Level View ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the View page:

Setting the ColorsThe following table gives an overview on the methods, events and properties available to handle the values of the Colors page:

Purpose Refer to...

To set the background color of the graphical view. “BackColor/CtlBackColor” on page 100

To set the text color of the graphical display. “ForeColor/CtlForeColor” on page 105

To set color to the BER marker. “BERMarkerColor” on page 100

Purpose Refer to...

To specify if BER vs. Threshold, dBER vs. Threshold, or QBER vs. Threshold will be displayed.

“ViewType” on page 114

To set/get the BER threshold value. “BERThreshold” on page 101

To set/get the scale of the graphical display to logarithmic or linear. “Scale/CtlScale” on page 109

To display/hide markers in the graphical display. “ShowMarkers” on page 112

To display marker readouts. “ShowMarkerReadout” on page 112

To display/hide the measured points in the graphical view. “DisplayPoints” on page 102

To set/get the number of decimal places to be displayed in the numerical view.

“GridPrecision” on page 107

To set/get the lower threshold for the Q-factor calculations. “MinBERforQ” on page 108

To set/get the units that the measured threshold values are displayed in. “DisplayThresholdUnits” on page 104

Specifies whether the calculated ratios are displayed unitless or in dB. “DisplayRatioUnits” on page 103

Purpose Refer to...

To set the background color of the graphical view. “BackColor/CtlBackColor” on page 100

To set the text color of the graphical display. “ForeColor/CtlForeColor” on page 105

To set color to the BER marker. “BERMarkerColor” on page 100

96 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Eye Opening – View Methods

Setting Eye Opening View ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the View page:

Setting the ColorsThe following table gives an overview on the methods, events and properties available to handle the values of the Colors page:

Fast Eye – View Methods

Setting Fast Eye View ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the View page:

Purpose Refer to...

To specify the BER threshold. “BERThreshold” on page 101

To check if results can be displayed in absolute mode. “DisplayedAbs” on page 102

To display the measured points in the graphical view. “DisplayPoints” on page 102

To set the number of decimal places to be displayed in the numerical view. “GridPrecision” on page 107

To update the graphical view while running the measurement. “RedrawingEnabled” on page 157

To set the result display to absolute or relative mode. “SamplingDelay” on page 68

To show markers in the graphical display. “ShowMarkers” on page 112

To display marker readouts. “ShowMarkerReadout” on page 112

To set the threshold units to be used. “DisplayThresholdUnits” on page 104

To set the timing units to be used. “TimingUnits” on page 113

To specify the graph to be displayed. “ViewType” on page 114

Purpose Refer to...

To set the background color of the graphical view. “BackColor/CtlBackColor” on page 100

To set the text color of the graphical display. “ForeColor/CtlForeColor” on page 105

To set color to the BER marker. “BERMarkerColor” on page 100

Purpose Refer to...

To specify the error type to be displayed. “AnalyzeErrors” on page 99

To specify whether the threshold is displayed in Volts, Watts or dBm. “DisplayThresholdUnits” on page 104

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 97

Measurement Reference Methods for Setting the View

Setting the ColorsThe following table gives an overview on the methods, events and properties available to handle the values of the Colors page:

Spectral Jitter – View Methods

Setting Spectral Jitter View ParametersThe following table gives an overview on the methods, events and properties available to handle the values of the View page:

To specify whether the relative time for the results is displayed in unit inter-vals or in seconds.

“DisplayTimingUnits” on page 104

To set the number of decimal places to be displayed in the numerical view. “GridPrecision” on page 107

Purpose Refer to...

Purpose Refer to...

To set the background color of the graphical view. “BackColor/CtlBackColor” on page 100

To set the text color of the graphical display. “ForeColor/CtlForeColor” on page 105

Purpose Refer to...

To specify if absolute spectral power, true relative, or relative power is dis-played.

“ViewType” on page 114

To set/get the reference frequency for a relative power measurement. “RelativeReferenceFrequency” on page 109

To set/get the noise threshold. “GetNoiseThreshold” on page 63 “SetNoiseThreshold” on page 69

To set/get the number of top frequency/power pairs. “TopFrequencyCount” on page 114

To get a frequency range for analysis. “GetFreqRange” on page 106

To set a frequency range for analysis. “SetFreqRange” on page 110

To enable/disable a frequency range. “SetFreqRangeEnable” on page 111

To set/get the frequency scale of the graph to logarithmic or linear. “Scale/CtlScale” on page 109

To toggle the display of power values between linear and dB. “DisplayPowerUnits” on page 103

To get min/max values for the frequency zoom function. “GetFreqAxisRange” on page 106

To set min/max values for the frequency zoom function. “SetFreqAxisRange” on page 110

To enable/disable the frequency zoom function. “FreqAxisRangeType” on page 63

To display/hide markers in the graphical display. “ShowMarkers” on page 112

To display marker readouts. “ShowMarkerReadout” on page 112

To show or hide the grid of the graph. “ShowGrid” on page 112

To set/get the number of decimal places to be displayed in the numerical view.

“GridPrecision” on page 107

98 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Setting the ColorsThe following table gives an overview on the methods, events and properties available to handle the values of the Colors page:

List of Methods for Setting the ViewSee the following topics for a listing of the methods applicable for each measurement:

• “Output Timing – View Methods” on page 95

• “Output Levels – View Methods” on page 96

• “Eye Opening – View Methods” on page 97

• “Fast Eye – View Methods” on page 97

• “Spectral Jitter – View Methods” on page 98

AnalyzeErrors

ActiveX syntax Object.AnalyzeErrors = [eAnalyzeErrors]

Availability Available for the following measurements:

Description Indicates which data will be shown in the graphical display and which data will be used to calculate the measurement parameters.

Purpose Refer to...

To set the background color of the graphical view. “BackColor/CtlBackColor” on page 100

To set the text color of the graphical display. “ForeColor/CtlForeColor” on page 105

To set the grid color of the graphical display. “GridColor” on page 107

To set the color to Noise Threshold. “PowerMarkerColor” on page 108

To set the color to Frequency Range. “FreqRangesColor” on page 105

Measurement Availability

DUT Output X

Eye Opening X

Fast Eye Mask X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 99

Measurement Reference Methods for Setting the View

Input parameters eAnalyzeErrors Defines the error types to be displayed. The following constants (data type: ANALYZE_ERRORS) are defined:

BackColor/CtlBackColorThe color of the background of the graph can be set/get in the following ways:

• For applications written in managed (.NET) programming language

Syntax Object.CtlBackColor = [nColor]

[nColor] = Object.CtlBackColor

• For applications written in unmanaged (C, C++, etc.) programming language

Syntax Object.BackColor = [nColor]

[nColor] = Object.BackColor

Description Sets/returns the color of the background of the graphical view.

Parameter nColor Sets the background color (data type: integer).

BERMarkerColor

ActiveX syntax Object.BERMarkerColor = [nColor]

Availability Available for the following measurements:

Description Sets/returns the color of the BER threshold marker.

Parameter nColor Sets the marker color (data type: integer).

Constant Description

AllErrors Data will be shown for all errors (default setting).

ErrorsIf1s To display the errors if “1” is expected, but “0” received.

ErrorsIf0s To display the errors if “0” is expected, but “1” received.

Measurement Availability

DUT Output X

Eye Opening X

Output Level X

100 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

BERThreshold

ActiveX syntax Object.BERThreshold = [dBERThreshold]

Availability Available for the following measurements:

Description Sets/returns the BER threshold value. The BER threshold is used for calculating the threshold margin and the peak- to- peak signal noise. The same threshold is used as the upper limit for the Q-factor calculations.

Parameters dBERThreshold The new value for the BER threshold (data type: double).

CalcMeasParams

ActiveX syntax Object.CalcMeasParams = [eMeasure]

Availability Available for the following measurements:

Description Sets whether the measurement parameters will be calculated at the BER threshold or at "0".

Input parameters eMeasure Determines if the measurement parameters will be calculated at the BER threshold or at "0". The following constants (data type: CALCMEAS) are defined:

Measurement Availability

DUT Output X

Eye Opening X

Fast Eye Mask X

Output Level X

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

Errors Measurement parameters will be calculated at a BER thresh-old = 0.

BERThreshold Measurement parameters will be calculated at the BER threshold set by DisplayPoints.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 101

Measurement Reference Methods for Setting the View

DataSetupThresholdUnits

ActiveX syntax Object.DataSetupThresholdUnits = [dThresholdUnits]

Availability Available for the following measurements:

Description Sets/returns the unit of the threshold values of the measurement, depending on the selected type of measurement.

Parameters dThresholdUnits The threshold unit (data type: enum) for the vertical axis of the eye diagram, depending on the selected type of measurement. Must be Volts.

DisplayedAbs

ActiveX syntax boolean = Object.DisplayedAbs

Availability Available for the following measurements:

Description Returns whether data can be displayed in absolute mode.

Output parameter boolean The following values (data type: Boolean) are available:

This parameter is read- only.

DisplayPoints

ActiveX syntax Object.DisplayPoints = [bDisplayPoints]

Measurement Availability

Fast Eye Mask X

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

True The data can be displayed in absolute mode.

False The data can not be displayed in absolute mode.

102 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Availability Available for the following measurements:

Description Sets whether the data points will be displayed on the graph.

Input parameter bDisplayPoints The following values (data type: Boolean) are defined:

DisplayPowerUnits

ActiveX syntax Object.DisplayPowerUnits = [ePowUnit]

Availability Available for the following measurements:

Description Sets the power unit to linear or dB.

Input parameter ePowUnit The following constants (data type: PowerUnitsEnums) are defined:

DisplayRatioUnits

ActiveX syntax Object.DisplayRatioUnits = [eUnits] [eUnits] = Object.DisplayRatioUnits

Availability Available for the following measurements:

Measurement Availability

DUT Output X

Eye Opening X

Output Level X

Constant Description

True Turns on the display of data points on the graph.

False Turns off the display of data points on the graph.

Measurement Availability

Spectral Jitter X

Constant Description

PowerLinear Displays unitless power values (linear).

PowerDB Displays power values in dB (logarithmic).

Measurement Availability

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 103

Measurement Reference Methods for Setting the View

Description Specifies whether the calculated ratios are displayed unitless or in dB.

Input parameters eUnits Specifies how the ratios are displayed (data type: RatioUnitEnums). The available values are RatioDB (display in dB) and RatioLinear (unitless).

DisplayThresholdUnits

ActiveX syntax Object.DisplayThresholdUnits = [eUnits]

Availability Available for the following measurements:

Description Specifies the units that the measured threshold values are displayed in, must be Volts.

Input parameters eUnits Specifies the basic unit for the display (data type: ThresholdUnitEnums). Must be Volts. .

DisplayTimingUnits

ActiveX syntax Object.DisplayTimingUnits = [eUnits]

Availability Available for the following measurements:

Description Sets how the data will be displayed, either in unit intervals or in seconds. This property defines how the delay value is reported in the GetMeasData and GetDUTDataPoint functions. This property also defines what units the analysis parameters are reported in (refer to GetTermCalculatedValue).

Measurement Availability

DUT Output X

Eye Opening X

Fast Eye Mask X

Output Level X

Measurement Availability

Fast Eye Mask X

104 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Input parameters eUnits Specifies the basic unit for the display (data type: TIMINGUNITS). The following constants are defined:

ForeColor/CtlForeColorThe color of the foreground (text) on the graph can be set/get in the following ways:

• For applications written in managed (.NET) programming language

Syntax Object.CtlForeColor = [nColor]

[nColor] = Object.CtlForeColor

• For applications written in unmanaged (C, C++, etc.) programming language

Syntax Object.ForeColor = [nColor]

[nColor] = Object.ForeColor

Description Sets the color of the foreground (text) on the graph.

Input parameter nColor Sets the marker color (data type: integer).

FreqRangesColor

ActiveX syntax Object.FreqRangesColor = [nColor]

Availability Available for the following measurements:

Description Sets the color of the frequency ranges on the graph.

Input parameter nColor Sets the marker color (data type: integer).

Constant Description

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 105

Measurement Reference Methods for Setting the View

GetFreqAxisRange

ActiveX syntax Object.GetFreqAxisRange(dMin As Double, dMax As Double)

Availability Available for the following measurements:

Description Gets the minimum and maximum values on the frequency axis (over all frequency ranges).

Input parameter dMin Minimum value for the frequency axis.

dMax Maximum value for the frequency axis.

GetFreqRange

ActiveX syntax Object.SetFreqRange(sIndex, eFreqRangeType, eFreqRangePower, dVal1, dVal2)

boolean = Object.GetFreqRange(sIndex, *eFreqRangeType, *eFreqRangePower, *dVal1, *dVal2)

Availability Available for the following measurements:

Description Returns the characteristics of a contiguous frequency range.

Parameters sIndex The identifier of the frequency range: 0 to 7 (data type: VInt16).

eFreqRangeType 0 = defined by middle and bandwidth, 1 = defined by min and max frequency (data type: FrequencyRangeTypeEnums).

eFreqRangePower 0 = total power, 1 = peak power (data type: FrequencyRangePowerEnums).

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

106 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

dVal1 First frequency range value – middle or minimum frequency, depending on eFreqRangeType (data type: ViInt64).

dVal2 Second frequency range value – bandwidth or maximum frequency, depending on eFreqRangeType (data type: ViInt64).

GetFreqRangeEnable

ActiveX syntax Object.SetFreqRangeEnable (sIndex, bEnable) boolean = Object.GetFreqRangeEnable (sIndex, bEnable)

Availability Available for the following measurements:

Description Returns the status of the frequency range (if this range will be used in the measurement).

Parameters sIndex The identifier of the frequency range: 0 to 7 (data type: ViInt16).

bEnable True = enable, false = disable (data type: Boolean).

GridColor

ActiveX syntax Object.GridColor = [nColor]

Availability Available for the following measurements:

Description Sets/returns the color of the grid on the graph.

Input parameter nColor Sets the grid color (data type: integer).

GridPrecision

ActiveX syntax Object.GridPrecision = [ePrecision]

Description Sets/returns the number of decimal places shown in the numerical view.

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 107

Measurement Reference Methods for Setting the View

Parameter ePrecision The possible values (data type: PrecisionEnums) used are the integers 0 – 10, written out (Zero, One, ... Ten).

MinBERforQ

ActiveX syntax Object.MinBERforQ = [dMinBerforQ]

Availability Available for the following measurements:

Description Sets/gets the lower threshold for the Q- factor calculations.

Parameters dMinBerforQ Lower threshold for Q- factor calculations. Meaningful values are in the range: 0.0 – 1.0. For the wrapper DLL GET function, this parameter is a pointer.

MinBERForRJDJ

ActiveX syntax Object.MinBERForRJDJ(dValue)

Availability Available for the following measurements:

Description Sets/gets the viewing criterion for the measurement parameter Min. BER for RJ/DJ Separation. If the BER for a timing delay is equal to or greater than this value, the point is considered for separating random jitter and deterministic jitter.

Input Parameters dValue The view criterion (data type: Double).

PowerMarkerColor

ActiveX syntax Object.PowerMarkerColor = [nColor]

Availability Available for the following measurements:

Description Sets/returns the color of the noise threshold marker.

Measurement Availability

Output Level X

Measurement Availability

DUT Output X

Measurement Availability

Spectral Jitter X

108 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Parameter nColor Sets the noise power threshold marker color (data type: integer).

RelativeReferenceFrequency

ActiveX syntax Object.RelativeReferenceFrequency = [dValue] [dValue] = Object.RelativeReferenceFrequency

Availability Available for the following measurements:

Description Sets/returns the reference frequency for relative measurements. This takes effect if you set the View to “Relative”. The measured power at this frequency is considered 0 dB, and all other power values are calibrated to that power. For details see the Serial BERT Online Help or User’s Guide.

Parameters dValue Specifies the reference frequency (data type: ViReal64).

ResBERForTJ

ActiveX syntax Object.ResBERForTJ = eResBER

Availability Available for the following measurements:

Description Sets/gets the viewing criterion for the measurement parameter BER Level for Estimated Total Jitter.

Input Parameters eResBER The value used for the Residual BER for Estimated Total Jitter (data type: TOTAL_JITTER). See “TotalJitterEnums” on page 170 for a list of the possible values.

Scale/CtlScaleThe property of the measument graph scale can be set/get in the following ways:

• For applications written in managed (.NET) programming language

Measurement Availability

Spectral Jitter X

Measurement Availability

DUT Output X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 109

Measurement Reference Methods for Setting the View

Syntax Object.CtlScale = [value]

[value] = Object.CtlScale

• For applications written in unmanaged (C, C++, etc.) programming language

Syntax Object.Scale = [value]

[value] = Object.Scale

Availability Available for the following measurements:

Description Sets/gets the property of graph’s scale.

Parameter eScale The following constants (data type: SCALE) are defined:

SetFreqAxisRange

Syntax Object.SetFreqAxisRange(dMin, dMax)

Availability Available for the following measurements:

Description Sets the range for the frequency zoom function. The zoom function can be enabled/disabled with FreqAxisRangeType.

Parameters dMin Specifies the start frequency (data type: Double).

dMax Specifies the end frequency (data type: Double).

SetFreqRange

ActiveX syntax Object.SetFreqRange(sIndex, eFreqRangeType,

Measurement Availability

DUT Output X

Output Level X

Spectral Jitter X

Constant Description

Logarithmic The graph is displayed in logarithmic mode.

Linear The graph is displayed in linear mode.

Measurement Availability

Spectral Jitter X

110 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

eFreqRangePower, dVal1, dVal2)

boolean = Object.GetFreqRange(sIndex, *eFreqRangeType, *eFreqRangePower, *dVal1, *dVal2)

Availability Available for the following measurements:

Description Sets/returns the characteristics of a contiguous frequency range. For details see the Serial BERT Online Help or User’s Guide.

Parameters sIndex The identifier of the frequency range: 0 to 7 (data type: VInt16).

eFreqRangeType 0 = defined by middle and bandwidth, 1 = defined by min and max frequency (data type: FrequencyRangeTypeEnums).

eFreqRangePower 0 = total power, 1 = peak power (data type: FrequencyRangePowerEnums).

dVal1 First frequency range value – middle or minimum frequency, depending on eFreqRangeType (data type: ViInt64).

dVal2 Second frequency range value – bandwidth or maximum frequency, depending on eFreqRangeType (data type: ViInt64).

SetFreqRangeEnable

ActiveX syntax Object.SetFreqRangeEnable (sIndex, bEnable) boolean = Object.GetFreqRangeEnable (sIndex, bEnable)

Availability Available for the following measurements:

Description Enables/disables a frequency range.

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 111

Measurement Reference Methods for Setting the View

Parameters sIndex The identifier of the frequency range: 0 to 7 (data type: ViInt16).

bEnable True = enable, false = disable (data type: Boolean).

ShowGrid

ActiveX syntax Object.ShowGrid = [boolean]

Availability Available for the following measurements:

Description Switches the display of the graphical grid on or off.

Input parameter boolean The following constants (data type: Boolean) are defined:

ShowMarkers

ActiveX syntax Object.ShowMarkers = [boolean]

Availability Available for the following measurements:

Description Sets the display of markers on or off.

Input parameter boolean Defines whether markers are off or on.

ShowMarkerReadout

ActiveX syntax Object.ShowMarkerReadout = [boolean]

Measurement Availability

Spectral Jitter X

Constant Description

True Turn on the display of the grid.

False Turn off the display of the grid.

Measurement Availability

DUT Output X

Eye Opening X

Output Level X

Spectral Jitter X

112 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Setting the View Measurement Reference

Availability Available for the following measurements:

Description Displays marker readouts.

Input parameter boolean Displays marker readouts.

TimingUnits

ActiveX syntax Object.TimingUnits = eTimingUnits

Availability Available for the following measurements:

Description Sets how the data on the graph and the grid will be displayed, either in Unit Interval or in seconds. This property controls how the delay value is reported. This property also controls what units the analysis parameters are reported.

Input parameters eTimingUnits Specifies the basic unit for the display. The following constants are defined (data type: TimingUnitsEnum):

Measurement Availability

DUT Output X

Eye Opening X

Output Level X

Spectral Jitter X

Measurement Availability

DUT Output X

Eye Opening X

Constant Description

UnitInterval Data on the graph and the calculated measurement values in the grid will be shown in the unit interval (default setting).

Seconds Data on the graph and the calculated measurement values in the grid will be shown in seconds using the appropriate engi-neering unit (for example, ms).

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 113

Measurement Reference Methods for Setting the View

TopFrequencyCount

ActiveX syntax Object.TopFrequencyCount = [nValue] [nValue] = Object.TopFrequencyCount

Availability Available for the following measurements:

Description Sets/returns the number of top frequency/power pairs to be displayed.

Parameters nValue Specifies the number of top frequency/power pairs: 1 to 16 (data type: ViInt16).

ViewType

ActiveX syntax Object.ViewType = [eViewType]

Availability Available for the following measurements:

Description Sets/returns the view type.

Parameter eViewType “ViewTypeEnums” on page 170

Measurement Availability

Spectral Jitter X

Measurement Availability

DUT Output X

Eye Opening X

Output Level X

Spectral Jitter X

114 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Running the Measurement Measurement Reference

Methods for Running the Measurement

These methods provide the functionality you need to run a measurement. See “Running the Measurement” on page 44 for details on using these methods.

The following methods are available for all measurements:

Download

ActiveX syntax myMeas.Download()

Description Ensures that all sequences are downloaded to the firmware server so that a subsequent run has repeatable runtime behavior.

MeasState

ActiveX syntax sState = Object.MeasState

Description Returns the status of the measurement object. This property is read- only.

Output parameter sState The following measurement states (data type: String) are defined:

Purpose Refer to...

Loads the measurement settings to the firmware server. “Download” on page 115

Runs the measurement without returning until completion. “SynchronousRun” on page 116

Starts a measurement run. “Run” on page 116

Returns the status of a measurement. “MeasState” on page 115

Stops a measurement run. “Stop” on page 116

Constant Description

RUNN Measurement is running.

SYNC Measurement is synchronizing.

PROG Measurement is ready.

HALT Measurement is prepared to run but the clocks are not ready and therefore, the measurement is waiting for an external trigger to start.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 115

Measurement Reference Methods for Running the Measurement

Run

ActiveX syntax Object.Run

Description Starts the measurement without waiting for the measurement to complete before proceeding. .

SynchronousRun

ActiveX syntax Object.SynchronousRun

Description Starts the measurement but does not return until the measurement has been completed.

Stop

ActiveX syntax Object.Stop()

Description Stops the measurement.

116 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Handling Events Measurement Reference

Methods for Handling Events

The measurements throw events that you can use to track the progress of a running measurement. See “Handling Events” on page 47 for details on using the events.

The following events are available for all measurements:

OnMeasDataAvailable

ActiveX syntax Private Sub Object_OnMeasDataAvailable(lItemCount as Long)

Description Returns the number of data items that are currently available in the measurement object. The returned number can be used to allocate the required buffer size for requesting measured data or to check whether data is available or not.

Input parameter lItemCount A long value that indicates the number of data points available.

OnMeasurementComplete

ActiveX syntax Private Sub Object_OnMeasurementComplete(lStatus As Long)

Description Returns the measurement status upon completion of the measurement.

Input parameter lStatus A long value that indicates that the measurement run has been completed.

OnMeasurementState

ActiveX syntax Private Sub Object_OnMeasurementState(eMeasState As Long)

Description Returns the measurement status when a transition in the measurement status occurs.

Purpose Refer to...

Thrown when data is available. “OnMeasDataAvailable” on page 117

Thrown at the end of a measurement. “OnMeasurementComplete” on page 117

Thrown upon changes in the measurement state. “OnMeasurementState” on page 117

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 117

Measurement Reference Methods for Handling Events

Input parameter eMeasState Indicates the measurement status. Possible values (data type: Long) are:

For further information on the states, refer to “Handling Events” on page 47.

Example For an example, see “Handling Events” on page 47.

Value Constant Description

1 StateProg Measurement data is transferred.

2 StateRunning The measurement is running.

3 StateComplete The measurement run has been completed.

4 StateAbort The measurement run has been aborted.

5 StateError An error occurred.

6 StateSync The system is synchronizing.

7 StateHalt The system is in halted state, waiting for ex-ternal start.

8 StateRunPulse Heartbeat state.

118 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Handling Errors Measurement Reference

Methods for Handling Errors

The measurements provide methods for handling errors. See “Error Handling” on page 48 for details on using these methods.

The following methods are available for all measurements:

GetLastMeasError

ActiveX syntax sError = Object.GetLastMeasError(lError)

Description Returns the last measurement error description from the firmware server.

Output parameters sError Error description (data type: String).

Input parameters lError Error number (data type: Long).

ResetLastMeasError

ActiveX syntax Object.ResetLastMeasError()

Description Resets the last measurement error. After a measurement error has occured, querying for errors will always return true, until ResetLastMeasError is called.

SilentMode

ActiveX syntax Object.SilentMode = [boolean]

Description Turns the display of error messages on and off.

Input parameter boolean Defines if messages are displayed.

Purpose Refer to...

To get the most recent error number from the firmware server. “GetLastMeasError” on page 119

To reset the last measurement error. “ResetLastMeasError” on page 119

To specify if errors are to be reported when running a measurement. “SilentMode” on page 119

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 119

Measurement Reference Methods for Getting Results

Methods for Getting Results

The measurements provide methods for handling the results. See “Handling Measurement Results” on page 49 for details on using these methods.

The availability of these methods varies from measurement to measurement. See the following topics for the measurement-specific listings:

• “Output Timing – Measurement Results” on page 120

• “Output Level – Measurement Results” on page 120

• “Eye Opening – Measurement Results” on page 121

• “Fast Eye – Measurement Results” on page 121

• “Spectral Jitter – Measurement Results” on page 122

Output Timing – Measurement ResultsThe following table gives an overview on the methods, events and properties available to get and calculate measurement results:

Output Level – Measurement ResultsThe following table gives an overview on the methods, events and properties available to get and calculate measurement results:

Purpose Refer to...

To get the number of data points available. “DataAvailable” on page 122

To get one single data point (result). “GetDUTDataPoint” on page 129

To get the raw measurement results. “GetMeasData” on page 133

To get the calculated results for one terminal. “GetTermCalculatedValue” on page 144

To get the measurement period. “MeasPeriod” on page 146

Purpose Refer to...

To get the number of data points available. “DataAvailable” on page 122

To get the calculated results for one terminal. “GetTermCalculatedValue” on page 144

To return the raw BER data at the specified measurement point. “GetBERDataPoint” on page 124

To return an array of BER data for a series of measurement points. “GetBERDataArray” on page 123

To return the number of available BER measurement points. “GetBERDataPointCount” on page 125

120 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

Eye Opening – Measurement ResultsThe following table gives an overview on the methods, events and properties available to get and calculate measurement results:

Fast Eye – Measurement ResultsThe following table gives an overview on the methods, events and properties available to get and calculate measurement results:

To return the raw dBER (derivative BER) data at the specified measurement point.

“GetDerivativeBERDataPoint” on page 127

To return an array of dBER data for a series of measurement points. “GetDerivativeBERDataArray” on page 126

To return the number of available dBER measurement points. “GetDerivativeBERDataPointCount” on page 128

To return the threshold and Q-factor at the specified measurement point. “GetQFactorDataPoint” on page 143

To return an array of thresholds and Q-factors for a series of measurement points.

“GetQFactorDataArray” on page 142

To return the number of available Q-factor measurement points. “GetQFactorDataPointCount” on page 144

Purpose Refer to...

Purpose Refer to...

To get the number of data points available. “DataAvailable” on page 122

To get one single data point (result). “GetEYEDataPoint” on page 130

To get the raw measurement results. “GetMeasData” on page 133

To get the calculated results for one terminal. “GetTermCalculatedValue” on page 144

To get the measurement period. “MeasPeriod” on page 146

Purpose Refer to...

To get the number of data points available. “DataAvailable” on page 122

To get one single data point (result). “GetFEMDataPoint” on page 131

To get the raw measurement results. “GetMeasData” on page 133

To get the calculated results for one terminal. “GetTermCalculatedValue” on page 144

To get the measurement period. “MeasPeriod” on page 146

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 121

Measurement Reference Methods for Getting Results

Spectral Jitter – Measurement ResultsThe following table gives an overview on the methods, events and properties available to get and calculate measurement results:

List of Methods for Getting Results See the following topics for the measurement- specific listings:

• “Output Timing – Measurement Results” on page 120

• “Output Level – Measurement Results” on page 120

• “Eye Opening – Measurement Results” on page 121

• “Fast Eye – Measurement Results” on page 121

• “Spectral Jitter – Measurement Results” on page 122

DataAvailable

ActiveX syntax Object.DataAvailable(nPortId, nTerminalID, lNumPoints)

Description Returns the number of data points available.

Output parameter lNumPoints The returned value (data type: long) specifies the number of points that are available in the measurement.

Input parameters nPortId A port is addressed by the port number (data type: Integer). This must be 1.

Purpose Refer to...

To get the number of captured and compared data points. “DataAvailable” on page 122

To get the raw measurement results. “GetMeasData” on page 133

To get the number of power values. “GetPowerDataPointCount” on page 141

To get the power values. “GetPowerDataArray” on page 138

To get the frequency resolution. “GetPowerDataArrayFreqRes” on page 139

To get the frequency and power values for one data point. “GetPowerDataPoint” on page 141

To get the measured values of a terminal individually. “GetTermCalculatedValue” on page 144

To get the measured values of a top frequency/power pair. “GetTopFreqPowerValue” on page 145

To get the frequency resolution of the measurement. “GetMeasFreqPrecision” on page 138

To get the power precision of the measurement. “GetMeasPowerPrecision” on page 138

122 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

nTerminalID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

GetBERDataArray

ActiveX syntax vData = Object.GetBERDataArray(nPortID, nTermID, lStartItem, lItemCount, *lItemsRet)

Availability Available for the following measurements:

Description Provides a convenient way of getting any number of BER data points (as described under “GetBERDataPoint” on page 124). It returns an array with the actual data, plus the number of valid data points in the array.

NOTE The calling function has to allocate the memory for the returned data. The number of available data points can be queried with GetBERDataPointCount.

Output parameters vData This is a variant with the following members:

– eThreshold = vData(index, 0)

– dComparedBits = vData(index, 1)

– dErroneousBits = vData(index, 2)

– dErroneousZeros = vData(index, 3)

– dErroneousOnes = vData(index, 4)

– bExtrapolatedFlag = vData(index, 5)

These are explained under “GetBERDataPoint” on page 124.

lItemsRet Number of data points (data type: Long) returned to the variant. It is possible to request more data points then may be available. This value should be checked to see how many data points are actually returned.

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

Measurement Availability

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 123

Measurement Reference Methods for Getting Results

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lStartItem Start index of data points to returned (data type: Long). This is an index starting at 0.

lItemCount Number of data points to be returned (data type: Long).

GetBERDataPoint

ActiveX syntax Object.GetBERDataPoint(nPortID, nTermID, lDataIndex, *dThreshold, *dComparedBits, *dErroneousBits, *dErroneousZeros, *dErroneousOnes, *bExtrapolatedFlag)

Description Returns a variant that contains the raw BER data from the measurement. This data corresponds to the BER vs. Threshold Graph. Use the DataAvailable method to get the number of data points.

Availability Available for the following measurements:

Output parameters dThreshold The sample threshold at the data point (data type: Double).

dComparedBits Number of compared bits (data type: Double).

dErroneousBits Total number of errors (data type: Double).

dErroneousZeros Number of errors from zeros (data type: Double).

dErroneousOnes Number of errors from ones (data type: Double).

Measurement Availability

Output Level X

124 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

bExtrapolatedFlag Flag (data type: Boolean) indicating if the data was calculated or extrapolated by the firmware server. The following constants (data type: Boolean) are defined:

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex Data index of the point (data type: Long) starting at 0. Use the DataAvailable method to get the number of data points.

Remarks For information about BER and the Q- factor, refer to the Serial BERT Online Help or User’s Guide.

Example To get the data needed to calculate the BER of the first data point:

Dim dThreshold, dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes as Double Dim bExtrapolatedFlag as Boolean myMeas.GetBERDataPoint 1, 1, 0, dThreshold,

dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag

GetBERDataPointCount

ActiveX syntax lDataIndex = GetBERDataPointCount(nPortID, nTermID)

Availability Available for the following measurements:

Description Returns the number of available BER data points.

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

Constant Description

True Data point was extrapolated by firmware server.

False Data point was not extrapolated by firmware server.

Measurement Availability

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 125

Measurement Reference Methods for Getting Results

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

Output parameter lDataIndex Number of data points available (data type: Long).

GetDerivativeBERDataArray

ActiveX syntax vData = Object.GetDerivativeBERDataArray(nPortID, nTermID, lStartItem, lItemsCnt, *lItemsRet)

Availability Available for the following measurements:

Description Provides a convenient way of getting any number of derivative BER data points (as described under “GetBERDataPoint” on page 124). It returns an array with the actual data, plus the number of valid data points in the array.

NOTE The calling function has to allocate the memory for the returned data. The number of available data points can be queried with GetDerivativeBERDataPointCount.

Output parameters vData This is a variant with the following members:

– dThreshold = vData(index, 0)

– dErroneousBits = vData(index, 1)

– dErroneousZeros = vData(index, 2)

– dErroneousOnes = vData(index, 3)

– bExtrapolatedFlag = vData(index, 4)

These are explained under “GetDerivativeBERDataPoint” on page 127.

lItemsRet Number of data points (data type: Long) returned to the variant. It is possible to request more data points then may be available. This value should be checked to see how many data points are actually returned.

Measurement Availability

Output Level X

126 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lStartItem Start index of data points to returned (data type: Long). This is an index starting at 0.

lItemsCnt Number of data points to be returned (data type: Long).

GetDerivativeBERDataPoint

ActiveX syntax Object.GetDerivativeBERDataPoint(nPortID, nTermID, lDataIndex, *dThreshold, *dErroneousBits, *dErroneousZeros, *dErroneousOnes, *bExtrapolatedFlag)

Availability Available for the following measurements:

Description Returns a variant that contains the raw data from the measurement. This data corresponds to the dBER vs. Threshold Graph. Use the GetDerivativeBERDataPointCount method to get the number of data points.

Output parameters dThreshold The threshold used to calculate the derivative BER (data type: Double).

dErroneousBits Derivative of the BER of all errors (data type: Double).

dErroneousZeros Derivative of the BER errored zeros (data type: Double) (Zero expected, but One received).

dErroneousOnes Derivative from the BER graph of the errors from ones (data type: Double) (One expected, but Zero received).

Measurement Availability

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 127

Measurement Reference Methods for Getting Results

bExtrapolatedFlag Flag (data type: Boolean) indicating if the data was calculated or extrapolated by the firmware server. The following constants (data type: Boolean) are defined:

Input parameters nPortID A port is addressed by the port number (data type: Integer).This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex Data index (data type: Long) starting at 0.

GetDerivativeBERDataPointCount

ActiveX syntax lDataIndex = GetDerivativeBERDataPointCount(nPortID, nTermID)

Availability Available for the following measurements:

Description Returns the number of available derivative BER data points.

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

Output parameter lDataIndex Number of BER data points available (data type: Long).

Constant Description

True Data point was extrapolated by firmware server.

False Data point was not extrapolated by firmware server.

Measurement Availability

Output Level X

128 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

GetDUTDataPoint

ActiveX syntax Object.GetDUTDataPoint(nPortID, nTermID, lDataIndex, dDelay, dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag)

Description Gets a single data point. Use the DataAvailable method to get the number of data points.

Availability Available for the following measurements:

Output parameters dDelay Delay (data type: Double) reported according to the TimingUnits and SamplingDelay.

dComparedBits Number of compared bits (data type: Double).

dErroneousBits Number of errors (data type: Double).

dErroneousZeros Number of errors from zeros (data type: Double).

dErroneousOnes Number of errors from ones (data type: Double).

bExtrapolatedFlag Flag (data type: Boolean) indicating if the data was calculated (TRUE) or extrapolated (FALSE) by the firmware server.

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex Data index (data type: Long) starting at 0. Use the DataAvailable method to get the number of data points.

Measurement Availability

Output Timing

DUT Output X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 129

Measurement Reference Methods for Getting Results

Remarks Values returned are according to the TimingUnits and SamplingDelay properties. If you wish to have the delay value in relative time, set the SamplingDelay to relative. If you want the delay value reported in seconds then set the TimingUnits to seconds.

Example To get the first data point:

Dim dDelay, dComparedBits, dErroneousBits, dErroneousZeros, _ dErroneousOnes as Double

Dim bExtrapolatedFlag as Boolean m_DUTOutputCTRL.GetDUTDataPoint 1, 1, 0, dDelay, dComparedBits,

dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag

GetEYEDataPoint

ActiveX syntax Object.GetEYEDataPoint(nPortID, nTermID, lDataIndex, dDelay, dThreshold, dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag)

Availability Available for the following measurements:

Description Gets a single data point. Use the DataAvailable method to get the number of data points.

Output parameters dDelay Delay of measurement point (data type: Double) reported according to the TimingUnits and SamplingDelay properties.

dThreshold Threshold value of measurement point (data type: Double).

dComparedBits Number of compared bits (data type: Double).

dErroneousBits Number of errors (data type: Double).

dErroneousZeros Number of errors from zeros (data type: Double).

Measurement Availability

Eye Opening X

130 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

dErroneousOnes Number of errors from ones (data type: Double).

bExtrapolatedFlag Flag (data type: Boolean) indicating whether the data was calculated or extrapolated by the firmware server. The following constants (data type: Boolean) are defined:

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex Data index (data type: Long) starting at 0. Use the DataAvailable method to get the number of data points.

Remarks Values returned are according to the TimingUnits and SamplingDelay properties. If you wish to have the delay value in relative time, set the SamplingDelay to relative. If you want the delay value reported in seconds then set the TimingUnits to seconds.

Example To get the first data point:

Dim dDelay, dThreshold, dComparedBits, dErroneousBits, _ dErroneousZeros, dErroneousOnes as Double

Dim bExtrapolatedFlag as Boolean

myMeas.GetEYEDataPoint 1, 1, 0, dDelay, dThreshold, dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag

GetFEMDataPoint

ActiveX syntax Object.GetFEMDataPoint(nPortID, nTermID, lDataIndex, dDelay, dThreshold, dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag)

Constant Description

True Data point was extrapolated by firmware server.

False Data point was not extrapolated by firmware server.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 131

Measurement Reference Methods for Getting Results

Availability Available for the following measurements:

Description Gets a single data point. Use the DataAvailable method to get the number of data points.

Output parameters dDelay Delay of measurement point (data type: Double).

dThreshold Threshold value of measurement point (data type: Double).

dComparedBits Number of compared bits (data type: Double).

dErroneousBits Number of errors (data type: Double).

dErroneousZeros Number of errors from zeros (data type: Double).

dErroneousOnes Number of errors from ones (data type: Double).

bExtrapolatedFlag Flag (data type: Boolean) indicating if the data was calculated or extrapolated by the firmware server. The following constants (data type: Boolean) are defined:

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex Data index (data type: Long) starting at 0. Use the DataAvailable method to get the number of data points.

Remarks Values returned are according to DisplayTimingUnits. If you want to set the delay value in relative time, set the DisplayTimingUnits to relative. If you want the delay value reported in seconds then set the DisplayTimingUnits to seconds.

Example To get the first data point:

Measurement Availability

Fast Eye Mask X

Constant Description

True Data point was extrapolated by firmware server.

False Data point was not extrapolated by firmware server.

132 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

Dim dDelay, dThreshold, dComparedBits, dErroneousBits, _ dErroneousZeros, dErroneousOnes as Double

Dim bExtrapolatedFlag as Boolean myMeas.GetFEMDataPoint 1, 1, 0, dDelay, dThreshold,

dComparedBits, dErroneousBits, dErroneousZeros, dErroneousOnes, bExtrapolatedFlag

GetMeasData

ActiveX syntax vData = Object.GetMeasData(nPortID, nTermID, lStartItem, lItemCount, lItemsRet)

Description Returns a variant that contains the raw data from the measurement. The method allows you to enter a start index and the number of data points to be returned. It also returns the number of data points found.

Output parameters vData Array (data type: Variant) of data. The index starts at 0.

The array varies by measurement type.

Eye Opening Measurement:

Data Array Description

dDelay = vData(index, 0) Delay of the measurement point (data type: Double) re-ported according to the TimingUnits and SamplingDelay properties.

dThreshold = vData(index, 1) Threshold value of the mea-surement point (data type: Double).

dComparedBits = vData (index, 2) Number of compared bits (da-ta type: Double).

dErroneousBits = vData (index, 3) Number of errors (data type: Double) .

dErroneousZeros = vData(index, 4) Number of errors from zeros (data type: Double).

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 133

Measurement Reference Methods for Getting Results

Output Timing Measurement:

dErroneousOnes = vData(index, 5) Eumber of errors from ones (data type: Double).

bExtrapolatedFlag = vData(index, 6) Flag (data type: Boolean) indi-cating whether the data was calculated or extrapolated by the firmware server. The fol-lowing constants (data type: Boolean) are de-fined:

True: Data point was extrapolated by firmware server

False: Data point was not extrapolat-ed by firmware server.

Data Array Description

dDelay = vData(index, 0) Delay of the measurement point (data type: Double) re-ported according to the TimingUnits and SamplingDelay properties.

dComparedBits = vData (index, 1) Number of compared bits (da-ta type: Double).

dErroneousBits = vData (index, 2) Number of errors (data type: Double) .

dErroneousZeros = vData(index, 3) Number of errors from zeros (data type: Double).

dErroneousOnes = vData(index, 4) Eumber of errors from ones (data type: Double).

bExtrapolatedFlag = vData(index, 5) Flag (data type: Boolean) indi-cating whether the data was calculated or extrapolated by the firmware server. The fol-lowing constants (data type: Boolean) are de-fined:

True: Data point was extrapolated by firmware server

False: Data point was not extrapolat-ed by firmware server.

Data Array Description

134 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

Output Level Measurement:

Spectral Jitter Measurement:

Data Array Description

dThreshold = vData(index, 0) Threshold value of the mea-surement point (data type: Double).

dComparedBits = vData (index, 1) Number of compared bits (da-ta type: Double).

dErroneousBits = vData (index, 2) Number of errors (data type: Double) .

dErroneousZeros = vData(index, 3) Number of errors from zeros (data type: Double).

dErroneousOnes = vData(index, 4) Eumber of errors from ones (data type: Double).

bExtrapolatedFlag = vData(index, 5) Flag (data type: Boolean) indi-cating whether the data was calculated or extrapolated by the firmware server. The fol-lowing constants (data type: Boolean) are de-fined:

True: Data point was extrapolated by firmware server

False: Data point was not extrapolat-ed by firmware server.

Data Array Description

dPowerData = vData(index, 0) Power value of the measure-ment point (data type: Double).

The frequency of the measurement point has to be calculated using the frequency resolution returned by the GetPowerDataArrayFreqRes meth-od. See example under .........

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 135

Measurement Reference Methods for Getting Results

Fast Eye Measurement:

Data Array Description

dDelay = vData(index, 0) Delay of the measurement point (data type: Double) re-ported according to the TimingUnits and SamplingDelay properties.

dThreshold = vData(index, 1) Threshold value of the mea-surement point (data type: Double).

dComparedBits = vData (index, 2) Number of compared bits (da-ta type: Double).

dErroneousBits = vData (index, 3) Number of errors (data type: Double) .

dErroneousZeros = vData(index, 4) Number of errors from zeros (data type: Double).

dErroneousOnes = vData(index, 5) Eumber of errors from ones (data type: Double).

bExtrapolatedFlag = vData(index, 6) Flag (data type: Boolean) indi-cating whether the data was calculated or extrapolated by the firmware server. The fol-lowing constants (data type: Boolean) are de-fined:

True: Data point was extrapolated by firmware server

False: Data point was not extrapolat-ed by firmware server.

Delay = vData(index, 7) Delay of the measurement point (data type: Double) re-ported according to the TimingUnits and SamplingDelay properties.

136 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

lItemsRet Number of data points (data type: Long) returned to the variant. You can request more data points than may be available.

Input parameters nPortId A port is addressed by the port number (data type: Integer). This must be 1.

nTerminalID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lStartItem Index of data points to be returned (data type: Long). The index starts at 0.

lItemCount Number of data points to be returned (data type: Long).

Example To return a variant that contains 5 sets of data if lItemRet returns 5:

Dim vData as Variant Dim lItemRet as Long vData = myMeas.GetMeasData(1, 1, 0, 5, lItemRet)

Threshold = vData(index, 8) Threshold value of the mea-surement point reported as determined by the Threshold-Type field (data type: Double).

ThresholdType = vData(index, 9) Determines how the threshold for the measurement point is reported:

0: Absolute value for the threshold

1: Offset, threshold is reported rela-tive to the analyser threshold

2: Percentage, threshold is reported in percentage value. 0% is the low level of the analyser threshold, 100% is the high level of the analyser threshold.

Data Array Description

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 137

Measurement Reference Methods for Getting Results

GetMeasFreqPrecision

ActiveX syntax dValue = Object.GetMeasFreqPrecision()

Availability Available for the following measurements:

Description Returns the frequency resolution of the measurement. This is calculated as the analyzer data rate divided by the acquisition depth.

Output parameter dValue The returned value (data type: ViReal64) specifies the frequency distance between adjacent power values.

GetMeasPowerPrecision

ActiveX syntax dValue = Object.GetMeasPowerPrecision(eUnit)

Availability Available for the following measurements:

Description Returns the power resolution of the measurement.

Output parameter dValue The returned value (data type: ViReal64) specifies the power precision.

Input parameters eUnit The power unit of dValue (data type: PowerUnitsEnums). Accepted values are PowerLinear and PowerDB.

GetPowerDataArray

ActiveX syntax PowerData = Object.GetPowerDataArray(nPortId, nTerminalID, lStartItem, lItemCount, *lItemsRet)

Availability Available for the following measurements:

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

138 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

Description Returns a selectable number of consecutive power values.

Output parameter lItemsRet The number of returned power values (data type: ViInt32).

PowerData This is a variant with the following members:

– dPowerData = vData(index, 0)

Where index can be from 0 to lItemCount – 1.

The frequency has to be calculated using the frequency resolution returned by GetPowerDataArrayFreqRes. See the example under “GetPowerDataArrayFreqRes” on page 139.

Input parameters nPortId A port is addressed by the port number (data type: Integer). This must be 1.

nTerminalID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lStartItem The start index (data type: ViInt32).

lItemCount The number of requested power values (data type: ViInt32).

GetPowerDataArrayFreqRes

ActiveX syntax dValue = GetPowerDataArrayFreqRes(sPortId, sTermId)

Availability Available for the following measurements:

Description The result of a Spectral Jitter measurement is an array with frequency/power pairs, where the frequency values are a function of the array index and the frequency resolution: f(n) = n * f_resolution. The frequency resolution is a factor of the acquisition depth and data rate.

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 139

Measurement Reference Methods for Getting Results

There are two ways to get the data:

• Use GetPowerDataPoint to get the frequency/power pair for the supplied index.

• Use GetPowerDataArray to get all power values for indices n1 to n2. In this case, you have to calculate the frequency value for each pair using the frequency resolution returned by GetPowerDataArrayFreqRes.

Example The following code compares how you would use the GetPoint and GetArray methods.

Private Sub CompareGetDataMethods() ' myMeas corresponds to the ActiveX measurement object ' Load the delivered example measurement: myMeas.LoadMeasurement "C:\N4901A\Measurements\SpecJittSB.mcp"

' Define the variables for the GetPoint method: Dim dF1 As Double Dim dP1 As Double ' freq/power pair Dim GetPoint As Long

' To compare point 100: GetPoint = 100

' Get the freq/power pair myMeas.GetPowerDataPoint 1, 1, GetPoint, dF1, dP1

' Define the variables for the GetArray method: Dim dF2, dP2 As Double Dim PowerArray As Variant Dim DataPointCount As Long Dim Count As Long

' Load the array myMeas.DataAvailable 1, 1, DataPointCount PowerArray = myMeas.GetPowerDataArray(1, 1, 0, _

DataPointCount, Count)

' Get the power: dP2 = PowerArray(GetPoint, 0)

' Calculate the frequency: dF2 = (GetPoint + 1) * myMeas.GetPowerDataArrayFreqRes(1, 1)

' And now check that the values are the same: If dF2 <> dF1 Then

Debug.Print "Frequencies do not match." End If

If dP2 <> dP1 Then Debug.Print "Powers do not match."

End If End Sub

140 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

GetPowerDataPoint

ActiveX syntax Object.GetPowerDataPoint(nPortId, nTerminalID, lDataIndex, *dFrequency, *dPower)

Availability Available for the following measurements:

Description Returns the frequency and power of a single data point.

Output parameters dFrequency The returned value (data type: ViReal64) specifies the frequency of the data point.

dPower The returned value (data type: ViReal64) specifies the power of the data point.

Input parameters nPortId A port is addressed by the port number (data type: Integer). This must be 1.

nTerminalID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex The index number of the data point (data type: ViInt32).

GetPowerDataPointCount

ActiveX syntax Object.GetPowerDataPointCount(nPortId, nTerminalID, *lNumPoints)

Availability Available for the following measurements:

Description Returns the number of power values that are available.

Output parameter lNumPoints The returned value (data type: long) specifies the number of power values that are available in the measurement.

Measurement Availability

Spectral Jitter X

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 141

Measurement Reference Methods for Getting Results

Input parameters nPortId A port is addressed by the port number (data type: Integer). This must be 1.

nTerminalID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

GetQFactorDataArray

ActiveX syntax vData = Object.GetQFactorDataArray(nPortID, nTermID, lStartItem, lItemCount, *lItemsRet)

Availability Available for the following measurements:

Description Provides a convenient way of getting any number of Q- factor data points (as described under “GetQFactorDataPoint” on page 143). It returns an array with the actual data, plus the number of valid data points in the array.

NOTE The calling function has to allocate the memory for the returned data. The number of available data points can be queried with GetQFactorDataPointCount.

Output parameters vData This is a variant with the following members:

– dThreshold = vData(index, 0)

– dQFactor = vData(index, 1)

These are explained under “GetQFactorDataPoint” on page 143.

lItemsRet Number of data points (data type: Long) returned to the variant. It is possible to request more data points then may be available. This value should be checked to see how many data points are actually returned.

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

Measurement Availability

Output Level X

142 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

lStartItem Start index of data points to returned (data type: Long). This is an index starting at 0.

lItemCount Number of data points to be returned (data type: Long).

lItemsRet Number of data points (data type: Long) returned to the variant. You can request more data points then may be available.

GetQFactorDataPoint

ActiveX syntax Object.GetQFactorDataPoint(nPortID, nTermID, lDataIndex, *dThreshold, *dQFactor)

Availability Available for the following measurements:

Description Returns a variant that contains the Q- factor and threshold at the specified data point. It corresponds to the QBER vs. Threshold Graph. Use the GetQFactorDataPointCount method to get the number of data points.

Output parameters dThreshold The threshold level used to calculate the Q- factor (data type: Double).

dQFactor The Q- factor for the specified data point (data type: Double).

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

lDataIndex Data index (data type: Long) starting at 0. Use the GetQFactorDataPointCount method to return the number of available Q- factor data points.

Measurement Availability

Output Level X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 143

Measurement Reference Methods for Getting Results

GetQFactorDataPointCount

ActiveX syntax lDataIndex = GetQFactorDataPointCount(nPortID, nTermID)

Availability Available for the following measurements:

Description Returns the number of available Q- factor data points.

Input parameters nPortID A port is addressed by the port number (data type: Integer). This must be 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This must be 1.

Output parameter lDataIndex Number of Q- factor data points available (data type: Long).

Example To get the number of Q- factor data points:

Dim lIndex as Long lIndex = m_OutputLevelCTRL.GetQFactorDataPointCount(1, 1)

GetTermCalculatedValue

ActiveX syntax dValue = Object.GetTermCalculatedValue(nPortID, nTermID, eAnalysisTerm, *bValid)

Description Returns the value of the requested analysis term measured at the designated port.

Output parameter dValue Returned measured or calculated value (data type: Double).

Input parameters nPortID A port is addressed by the port number (data type: Integer). This is an index starting at 1.

nTermID A terminal is addressed by the terminal number (data type: Integer). This is an index starting at 1 for each port.

eAnalysisTerm See “AnalysisFieldEnums” on page 158 for a list of the possible values.

Measurement Availability

Output Level X

144 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Methods for Getting Results Measurement Reference

bValid Returns whether the value returned is valid for the measurement. There are several cases where the value may not be valid. The following constants (data type: Boolean) are defined:

Remarks You have to check if bValid = True before reporting or using the returned value.

GetTopFreqPowerValue

ActiveX syntax Object.GetTopFreqPowerValue(nPortID, nTermID, nDataIndex, *dFrequency, *dPower)

Availability Available for the following measurements:

Description Returns the frequency and power for the specified pair of top frequency/power values.

Input parameters nPortID A port is addressed by the port number (data type: ViInt16). This must be 1.

nTermID Terminal ID number (data type: ViInt16) This must be 1..

nDataIndex The number of the pair of frequency/power values: 1 to 16 (data type: ViInt32).

Output parameters dFrequency The center frequency of the frequency bin (data type: ViReal64).

dPower The power of the frequency bin (data type: ViReal64).

Constant Description

True Value is valid for measurement.

False Value is not valid for measurement.

Measurement Availability

Spectral Jitter X

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 145

Measurement Reference Methods for Getting Results

MeasPeriod

ActiveX syntax dPeriod = Object.MeasPeriod

Availability Available for the following measurements:

Description Returns the measurement period for the unit interval. This is needed to convert from unit interval to seconds and vice versa. This property is read- only.

Output parameter dPeriod Measurement period in seconds (data type: Double).

Measurement Availability

DUT Output X

Eye Opening X

Fast Eye X

146 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Copy/Paste Methods Measurement Reference

Copy/Paste Methods

The copy/paste methods allow you to use the standard Windows copy and paste functions for the results. See “Using Copy and Paste” on page 52 for details on using these methods.

The following methods are available for all measurements:

CopyToClipboard

ActiveX syntax Object.CopyToClipboard(boolean)

Description Copies the measurement window and the data of the numerical view to the clipboard.

To get the information from the clipboard, use Paste Special and then select Enhanced Metafile to get the graphics, Unformatted Text to get the data stored in the grid as comma delimited ASCII text, HTML Format to get the grid in HTML format. Paste gets the data displayed in the grid in HTML format.

In addition, data is stored in the clipboard in a format specific to the measurement software that can be returned using the PasteFromClipboard method.

Use the IsCopyAvailable method to determine if a copy operation can be performed before calling CopyToClipboard.

Purpose Refer to...

To copy data to the clipboard. “CopyToClipboard” on page 147

To cut data from the measurement and copy the data to the clipboard. “CutToClipboard” on page 148

To delete data from the numerical view. “EditDelete” on page 149

To insert data previously copied to the clipboard. “PasteFromClipboard” on page 151

To grab the graphics view as object. “GetPicture” on page 149

To determine if a copy function call is possible. “IsCopyAvailable” on page 149

To determine if a cut function call is possible. “IsCutAvailable” on page 150

To determine if a delete function call is possible. “IsEditDeleteAvailable” on page 150

To determine if a paste function call is possible. “IsPasteAvailable” on page 151

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 147

Measurement Reference Copy/Paste Methods

Input parameter boolean The following constants (data type: Boolean) are defined:

CutToClipboard

ActiveX syntax Object.CutToClipboard(boolean)

Description Cuts data from the measurement and copies the data into the clipboard. To get the information from the clipboard, use Paste Special and then select Enhanced Metafile to get the graphics, Unformatted Text to get the data stored in the grid as comma delimited ASCII text, HTML Format to get the grid in HTML format. Paste returns the data displayed in the grid as HTML.

In addition, data is stored in the clipboard in a format specific to the measurement software that can be returned using the PasteFromClipboard method.

Use the IsCutAvailable method to determine if a cut operation can be performed before calling CutToClipboard.

Input parameter boolean The following constants (data type: Boolean) are defined:

Constant Description

True The clipboard is cleared and the measurement window is copied to the clipboard. In addition, the measurement data in the numerical view is copied to the clipboard.

False The clipboard is not cleared. However, the measure-ment window and measurement data are copied to the clipboard. Prior to this call, if there is other data formats in the clipboard, they will remain in the clipboard.

Constant Description

True The clipboard is cleared out and the measurement win-dow is copied to the clipboard. In addition the measure-ment data in the grid is copied into the clipboard.

False The clipboard is not cleared out, however the measure-ment window and measurement data are copied into the clipboard. Prior to this call, if there is other data for-mats in the clipboard, they will remain in the clipboard.

148 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Copy/Paste Methods Measurement Reference

EditDelete

ActiveX syntax Object.EditDelete(boolean)

Description Deletes copied data in the grid. What is deleted depends on where the focus is. If there is no focus then nothing is deleted. If there is focus on the copied data line then this data will be deleted.

Use the IsEditDeleteAvailable method to determine if deleting is possible before calling EditDelete.

Input parameter boolean The following constants (data type: Boolean) are defined:

GetPicture

ActiveX syntax Set IPictureDisp = Object.GetPicture(width, height)

Description Copies the graphical view of the measurement to the clipboard. The copied data can be pasted into almost any application that can handle graphics.

This function returns a screenshot of the current graphical view and tabular results according to the given width and height. Changing the width or height scales the graphic results accordingly.

Output parameter IPictureDisp stdole class for handling graphics.

Input parameters width Desired width of the graphical view in pixels.

height Desired height of the graphical view in pixels.

IsCopyAvailable

ActiveX syntax bCopy = Object.IsCopyAvailable()

Description Returns whether a copy function can be called.

Constant Description

True Deletes copied data.

False Reserved for future use.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 149

Measurement Reference Copy/Paste Methods

Output parameter bCopy The following constants (data type: Boolean) are defined:

IsCutAvailable

ActiveX syntax bCut = Object.IsCutAvailable()

Description Returns whether a cut function can be called.

Output parameter bCut The following constants (data type: Boolean) are defined:

IsEditDeleteAvailable

ActiveX syntax bDelete = Object.IsEditDeleteAvailable()

Description Returns whether a delete function can be called.

Output parameter bDelete The following constants (data type: Boolean) are defined:

Constant Description

True Copy is a valid operation to call

False Copy is not a valid operation to call.

Constant Description

True Cut operation can be called.

False Cut operation can not be called.

Constant Description

True Delete is a valid operation to call.

False Delete is not a valid operation to call.

150 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Copy/Paste Methods Measurement Reference

IsPasteAvailable

ActiveX syntax bPaste = Object.IsPasteAvailable()

Description Returns whether a paste function can be called. If there is anything on the clipboard, this function returns True.

Output parameter bPaste The following constants (data type: Boolean) will be returned:

PasteFromClipboard

ActiveX syntax Object.PasteFromClipboard(boolean)

Description Pastes information into the grid. What is pasted depends on what was selected during the copy operation:

• If there is no focus during the copy operation, the paste will copy all of the rows into the grid.

• If the focus was on the measurement line, the paste will copy all of the rows into the grid.

Before calling PasteFromClipboard, use IsPasteAvailable to determine if a paste operation can be performed.

Input parameter boolean The following constants (data type: Boolean) are defined:

Constant Description

True Paste operation can be called.

False Paste operation can not be called.

Constant Description

True Copies the information from the clipboard and then clears the clipboard.

False Copies the information from the clipboard. The informa-tion remains in the clipboard.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 151

Measurement Reference Persistence Methods

Persistence Methods

The persistence methods allow you to save and load measurements and export the results. See “Saving Measurements and Results” on page 54 for details on using these methods.

Functions to Load/Save Measurements The following methods are available for all measurements:

Export Data from Measurements The following table gives an overview on the methods, events and properties available to export measurement results:

ExecuteExport

ActiveX syntax Object.ExecuteExport()

Description Exports the measurement data to the clipboard or to a file. The format of the export is determined by the other Export properties.

Purpose Refer to...

To load a stored measurement. “LoadMeasurement” on page 155

To save the current measurement. “SaveMeasurement” on page 155

Purpose Refer to...

To export data to the clipboard or to a file. “ExecuteExport” on page 152

To specify if the calculated results or the raw data will be exported. “ExportDataType” on page 153

To set the delimiter for the data export. “ExportDelimiter” on page 153

To set the file name the data will be exported to. “ExportFileName” on page 153

To set the date format for export. “ExportLocale” on page 153

To specify if the results will be exported to file or clipboard. “ExportToClipboard” on page 154

To export only results for expected 0s. “ExportUse0s” on page 154

To export only results for expected 1s. “ExportUse1s” on page 154

To export results for expected 0s and expected 1s. “ExportUseAll1s0s” on page 154

To indicate if the data point was extrapolated. “ExportUseExtrapolatedFlag” on page 155

152 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Persistence Methods Measurement Reference

ExportDataType

ActiveX syntax Object.ExportDataType = eExportData

Description Determines what data will be exported to the clipboard or file.

Input parameters eExportData The following constants are defined:

ExportDelimiter

ActiveX syntax Object.ExportDelimiter = [sDelimiter]

Description Sets the delimiter for export.

Input parameters sDelimiter The delimiter (data type: String) that will be used between data elements in the export. The delimiter can be a space, tab or any writable character, for example, "," or "~".

ExportFileName

ActiveX syntax Object.ExportFileName = [sFileName]

Description Sets the file name and the directory data will be exported to.

Input parameters sFileName Path to the export file (data type: String).

ExportLocale

ActiveX syntax Object.ExportLocale = [sLocale]

Description Sets the language for the export which will define the date format and the default delimiter.

Input parameters sLocale Name of the language that the export format will default to. This will define the date format and the default delimiter (data type: String).

Constant Description

BER Exports only the BER data.

ALL Exports the BER, compared bits and errors data.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 153

Measurement Reference Persistence Methods

ExportToClipboard

ActiveX syntax Object.ExportToClipboard = [boolean]

Description Sets whether the export will go to the clipboard or not.

Input parameters boolean Defines whether data is exported to the clipboard (true) or to a file (false).

ExportUse0s

ActiveX syntax Object.ExportUse0s = [boolean]

Description Sets whether the export will contain data elements for errors from expected 0s.

Input parameters boolean TRUE: Errored 0s are exported, FALSE: Errored 0s are not exported.

ExportUse1s

ActiveX syntax Object.ExportUse1s = [boolean]

Description Sets whether the export will contain data elements for errors from 1s.

Input parameters boolean TRUE: Errored 1s are exported, FALSE: Errored 1s are not exported.

ExportUseAll1s0s

ActiveX syntax Object.ExportUseAll1s0s = [boolean]

Description Sets whether the export will contain data elements for all errors.

Input parameters boolean TRUE: All errored bits are exported, FALSE: Either errored 1s or 0s will be exported (depending on ExportUse1s and ExportUse0s).

154 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Persistence Methods Measurement Reference

ExportUseExtrapolatedFlag

ActiveX syntax Object.ExportUseExtrapolatedFlag = [boolean]

Description Sets whether the export will contain the extrapolated flag indicating that the data point was not calculated but was extrapolated by the firmware server.

NOTE The Extrapolated Flag is for future use. For the moment, it is ignored (always 0).

Input parameters boolean Defines whether the extrapolated flag is included in the export.

LoadMeasurement

ActiveX syntax Object.LoadMeasurement(sFileName)

Description Loads the measurement stored in the designated file into the control.

Input parameters sFileName Full path and name of the stored measurement file (data type: String). The MUI application stores these files with the extension .mcp.

SaveMeasurement

ActiveX syntax Object.SaveMeasurement(sFileName)

Description Saves the measurement into a designated file.

Input parameters sFileName Full path and name of the stored measurement file (data type: String). The MUI application stores these files with an extension of .mcp.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 155

Measurement Reference User Interface Methods

User Interface Methods

The user interface methods allow you to create and manipulate your own user interface for the measurements.

The following methods are available for all measurements:

MeasHelpPath

ActiveX syntax Object.MeasHelpPath = [sHelpPath]

Description Sets/returns the default help file name.

Parameter sHelpPath Full path and name of help file (data type: String).

MeasureWinHelp

ActiveX syntax Object.MeasureWinHelp(lWndHandle, sHelpPath, lCommand, lData)

Input parameters lWndHandle Window handle for the parent window (data type: Long).

sHelpPath Path and name of the controls help file (data type: String). The file must have a ".chm" extension. Can be obtained using the MeasHelpPath property.

lCommand Value should be set to 1 for context help support (data type: Long). Not supporting any other help at this time.

lData Default control help ID, (data type: Long).

Purpose Refer to...

To get/set the path to the help file. “MeasHelpPath” on page 156

To get the Help Hwnd. “MeasureWinHelp” on page 156

To define the title of the Properties dialog box. “PropertiesTitle” on page 157

To enable/disable redrawing of the graph during a measurement. “RedrawingEnabled” on page 157

To show the Export Format Options dialog box. “ShowExportFormatOptions” on page 157

To show the Export Format Options dialog box. “ShowExportOptions” on page 157

To show the Properties dialog box. “ShowProperties” on page 157

156 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

User Interface Methods Measurement Reference

PropertiesTitle

ActiveX syntax Object.PropertiesTitle = [sTitle]

Description Sets/returns the title of the Properties dialog.

Parameter sTitle Specifies the title of the Properties dialog (data type: String).

RedrawingEnabled

ActiveX syntax Object.RedrawingEnabled = [boolean]

Description Allows to update the graphical view while running the measurement.

Parameter boolean Indicates if graphical view should be updated (True) or not (False).

ShowExportFormatOptions

ActiveX syntax Object.ShowExportFormatOptions()

Description Displays the Export/Logfile Format dialog for the control.

Parameter None

ShowExportOptions

ActiveX syntax Object.ShowExportOptions()

Description Displays the Export dialog for the control.

Parameter None

ShowProperties

ActiveX syntax Object.ShowProperties()

Description Displays the Properties dialog for the control.

Parameter None

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 157

Measurement Reference Measurement Enums

Measurement Enums

This section contains descriptions of all enums available for the measurements.

AcquisitionDepthEnums

Spectral Jitter

AnalysisFieldEnumsThere is a variation of this eNum for all measurements.

Output Timing The following values are available for the Output Timing measurement:

Constant Corresponds to:

AD_16_Kbit 16-Kbit acquisition depth

AD_32_Kbit 32-Kbit acquisition depth

AD_64_Kbit 64-Kbit acquisition depth

AD_128_Kbit 128-Kbit acquisition depth

AD_256_Kbit 256-Kbit acquisition depth

AD_512_Kbit 512-Kbit acquisition depth

AD_1_Mbit 1-Mbit acquisition depth

AD_2_Mbit 2-Mbit acquisition depth

AD_4_Mbit 4-Mbit acquisition depth

AD_8_Mbit 8-Mbit acquisition depth

AD_16_Mbit 16-Mbit acquisition depth

AD_32_Mbit 32-Mbit acquisition depth

Constant Corresponds to:

AT_SampleDelay Optimal Sample Point Delay

AT_Skew Skew

AT_PhaseMargin Phase Margin

AT_ClockToDataOutMin Min Clock Out to Data Out

AT_ClockToDataOutMax Max Clock Out to Data Out

AT_TotalJitterRMS Total Jitter RMS

AT_TotalJitterPtoP Total Jitter Peak to Peak

AT_FtjUncertainty Fast Total Jitter Uncertainty

158 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

NOTE AT_AllAnalysis is only a valid argument for GetMeasPassValue, but not for GetTermCalculatedValue.

Output Level The following values are available for the Output Level measurement:

AT_JitterMean Jitter Mean

AT_AllAnalysis All Analysis Fields

AT_LeftRSquared Left Edge R^2

AT_RightRSquared Right Edge R^2

AT_LeftNrPts Left Edge Nr. Points

AT_RightNrPts Right Edge Nr. Points

AT_DeterministicJitter Deterministic Jitter

AT_RandomJitter Random Jitter RMS

AT_EstTotalJitter Estimated Total Jitter

Constant Corresponds to:

Constant Corresponds to:

AT_OneLevel One (high) levels

AT_ZeroLevel Zero (low) levels

AT_MeanLevel Mean value of above two

AT_OpticalModAmp Difference between first two parame-ters

AT_ThresholdMargin Threshold margin

AT_ExtinctionRatio (for optical measurements only): Ex-tinction ratio

AT_OneLevelStdDev Standard deviation for One (high) sig-nals

AT_ZeroLevelStdDev Standard deviation for Zero (low) sig-nals

AT_PeakPeakNoise Peak-to-peak noise

AT_SignalNoiseRatioRMS RMS signal-to-noise ratio

AT_SignalNoiseRatioPP Peak-to-peak signal-to-noise ratio

AT_QFactor Q-factor

AT_QOptimumThreshold Optimum threshold

AT_QResidualBer Residual BER

AT_QOneLevel Q-factor high level

AT_QOneLevelStdDev Q-factor high level standard deviation

AT_QOneLevelNrPts Number of points for the Q-factor high level

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 159

Measurement Reference Measurement Enums

Eye Opening The following values are available for the Eye Opening measurement:

NOTE AllAnalysis is only a valid argument for GetMeasPassValue, but not for GetTermCalculatedValue.

Fast Eye The following values are available for the Fast Eye measurement:

NOTE AllAnalysis is only a valid argument for GetMeasPassValue, but not for GetTermCalculatedValue.

AT_QOneLevelRSquared Returns the Q-factor high level R2 val-ue.

AT_QZeroLevel Returns the Q-factor low level.

AT_QZeroLevelStdDev Returns the Q-factor low level standard deviation.

AT_QZeroLevelNrPts Number of points for the Q-factor low level

AT_QZeroLevelRSquared Q-factor low level R2 value

Constant Corresponds to:

Constant Corresponds to:

SampleDelay The Optimal Sample Delay is the sam-ple delay coordinate of the center of a bounding box around the BER thresh-old contour line.

SampleThreshold The Optimal Sample Threshold is the sample threshold coordinate of the center of a bounding box around the BER threshold contour line.

EyeOpeningTimeSpan The Time Eye Opening is the maximum extension of the BER threshold contour line in sample delay direction.

EyeOpeningThresholdSpan The Threshold Eye Opening is the max-imum extension of the BER threshold contour line in sample threshold direc-tion.

AllAnalysis All the defined values.

Constant Corresponds to:

AllAnalysis All Analysis Fields

Point1 ... Point32 Specifies the 32 columns of data

160 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

Spectral Jitter The following values are available for the Spectral Jitter measurement:

AnalyzeEnums

AxisFreqRangeTypeEnums

Constant Corresponds to:

AT_FreqRange1 Power of frequency range #1

AT_FreqRange2 Power of frequency range #2

AT_FreqRange3 Power of frequency range #3

AT_FreqRange4 Power of frequency range #4

AT_FreqRange5 Power of frequency range #5

AT_FreqRange6 Power of frequency range #6

AT_FreqRange7 Power of frequency range #7

AT_FreqRange8 Power of frequency range #8

AT_BitErrorRate Bit error rate

AT_TotalPower Total power

AT_NoisePower Noise power

Constant Corresponds to:

AllErrors Data will be shown for all errors (de-fault setting).

ErrorsIf1s To display the errors if "1" is expected, but "0" received.

ErrorsIf0s To display the errors if "0" is expected, but "1" received.

Constant Corresponds to:

AFT_EntireRange The graph shows the whole frequency range.

AFT_ZoomMinMax The graph zooms a range defined by a min and max frequency.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 161

Measurement Reference Measurement Enums

CalcMeasEnums

ClockEdgeEnums

ExportDataEnums

Constant Corresponds to:

Errors Measurement parameters will be calcu-lated at a BER threshold = 0.

BERThreshold Measurement parameters will be calcu-lated at the BER threshold set by BER-Threshold.

Constant Corresponds to:

None There is no clock associated and there is no edge (default setting).

EdgeNegative Use negative edge for the clock value in the calculation of the measurement pa-rameters Clock Out to Data Out Min and Max.

EdgePositive Use positive edge for the clock value in the calculation of the measurement pa-rameters Clock Out to Data Out Min and Max.

EdgeBoth Use both the negative and positive edged for the clock value in the calcula-tion of the measurement parameters Clock Out to Data Out Min and Max. The edge closest to the optimal sample point delay is used if there are two clock edges within the bathtub.

Constant Corresponds to:

BER Exports only the BER data.

ALL Exports the BER, compared bits and er-rors data.

162 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

FreqRangePowerEnums

FreqRangeTypeEnums

MeasAnalysisFieldEnums

MeasTypeEnums

Constant Corresponds to:

FRP_PeakPower Peak power evaluated.

FRP_TotalPower Total power evaluated.

Constant Corresponds to:

FRT_MidBandwidth Defined by middle and bandwidth.

FRT_MinMax Defined by min and max frequency.

Constant Corresponds to:

MeasElaspedTime Total Elapsed Measurement Time

MeasResyncs Total Number of Resynchronizations

MeasNbrIntervals Total Number of Measurement Inter-vals

Constant Corresponds to:

MeasTypeAll Electrical and optical measurement.

MeasTypeElectrical Electrical measurement only.

MeasTypeOptical Optical measurement only.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 163

Measurement Reference Measurement Enums

PassFailUseEnumsThere is a variation of this eNum for different measurements.

Output Timing The following values are available for the Output Timing measurement:

Output Level The following values are available for the Output Level measurement:

Constant Corresponds to:

PFE_DUTOutputPassFail DUT Output Pass/Fail

PFE_ClockToDataOut Clock to Data Out (min and max)

PFE_PhaseMargin Phase Margin

PFE_Skew Skew

PFE_SampleDelay Optimal Sample Delay (min)

PFE_JitterPassFail Jitter Pass/Fail

PFE_TotalJitterRMS Total Jitter RMS

PFE_TotalJitterPtoP Total Jitter Peak to Peak

PFE_FtjUncertainty Fast Total Jitter Uncertainty

PFE_JitterMean Jitter Mean (min)

PFE_RandomJitterRMS Random Jitter RMS

PFE_DeterministicJitter Deterministic Jitter

PFE_EstTotalJitter Estimated Total Jitter

Constant Corresponds to:

PFE_LevelPassFail Test passes if the level subtests are passed.

PFE_OneLevel Test passes if the high level stays with-in limits.

PFE_ZeroLevel Test passes if the low level stays with-in limits.

PFE_MeanLevel Test passes if the mean level stays within limits.

PFE_OpticalModeAmp Test passes if the amplitude stays within limits.

PFE_ExtinctionRatio (For optical tests only) Test passes if the measured extinction ratio is higher than the minimum extinction ratio.

PFE_ThresholdMargin Test passes if the threshold margin stays above the limit.

PFE_SignalNoisePassFail Test passes if the signal/noise ratio subtests are passed.

164 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

Spectral Jitter The following values are available for the Spectral Jitter measurement:

PFE_SignalNoiseRatioRMS Test passes if the RMS signal/noise ratio stays above the limit.

PFE_SignalNoiseRatioPP Test passes if the peak-peak sig-nal/noise ratio stays above the limit.

PFE_PeakPeak Test passes if the peak-peak noise is not exceeded.

PFE_QFactorPassFail Test passes if the Q-factor subtests are passed.

PFE_QFactor Test passes if the tested Q-factor is higher than the minimum Q-factor.

PFE_QResidualBER Test passes if the residual BER does not exceed the limit.

PFE_QOptimumThreshold Test passes if the optimum threshold results are within the limits.

Constant Corresponds to:

Constant Corresponds to:

PFE_FreqRange1 Test passes if the measured power is below limit.

PFE_FreqRange2 Test passes if the measured power is below limit.

PFE_FreqRange3 Test passes if the measured power is below limit.

PFE_FreqRange4 Test passes if the measured power is below limit.

PFE_FreqRange5 Test passes if the measured power is below limit.

PFE_FreqRange6 Test passes if the measured power is below limit.

PFE_FreqRange7 Test passes if the measured power is below limit.

PFE_FreqRange8 Test passes if the measured power is below limit.

PFE_BitErrorRate Test passes if the BER stays within the limits.

PFE_TotalPower Test passes if the total power is below limit.

PFE_NoisePower Test passes if the noise power is below limit.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 165

Measurement Reference Measurement Enums

PassFailValueEnumsThere is a variation of this eNum for different measurements.

Output Timing The following values are available for the Output Timing measurement:

Output Level The following values are available for the Output Level measurement:

Constant Corresponds to:

PFV_ClockToDataOutMin Clock Out to Data Out (min)

PFV_ClockToDataOutMax Clock Out to Data Out (max)

PFV_PhaseMarginMin Phase Margin

PFV_SkewMax Skew

PFV_SampleDelayMin Optimal Sample Delay (min)

PFV_SampleDelayMax Optimal Sample Delay (max)

PFV_TotalJitterRMSMax Total Jitter RMS

PFV_TotalJitterPtoPMax Total Jitter Peak to Peak

PFV_FtjUncertaintyMax Fast Total Jitter Uncertainty

PFV_JitterMeanMin Jitter Mean (min)

PFV_JitterMeanMax Jitter Mean (max)

PFV_RandomJitterRMSMax Random Jitter RMS

PFV_DeterministicJitterMax Deterministic Jitter

PFV_EstTotalJitterMax Estimated Total Jitter

Constant Corresponds to:

PFV_OneLevelMin Sets/gets the minimum One level.

PFV_OneLevelMax Sets/gets the maximum One level.

PFV_ZeroLevelMin Sets/gets the minimum Zero level.

PFV_ZeroLevelMax Sets/gets the maximum Zero level.

PFV_MeanLevelMin Sets/gets the minimum mean level.

PFV_MeanLevelMax Sets/gets the maximum mean level.

PFV_OpticalModeAmpMin Sets/gets the minimum amplitude lev-el (for optical tests, the optical modula-tion amplitude).

PFV_OpticalModeAmpMax Sets/gets the maximum amplitude lev-el (for optical tests, the optical modula-tion amplitude).

PFV_ThresholdMarginMin Sets/gets the minimum threshold mar-gin.

166 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

Spectral Jitter The following values are available for the Spectral Jitter measurement:

PFV_ExtinctionRatioMin Sets/gets the minimum extinction ra-tio.

PFV_PeakPeakNoiseMax Sets/gets the maximum peak-peak noise.

PFV_SignalNoiseRatioRMSMin Sets/gets the minimum signal to noise ratio (RMS).

PFV_SignalNoiseRatioPPMin Sets/gets the minimum signal to noise ratio (peak to peak).

PFV_QFactorMin Sets/gets the minimum Q-factor.

PFV_QOptimumThresholdMin Sets/gets the minimum value for the optimal threshold.

PFV_QOptimumThresholdMax Sets/gets the maximum value for the optimal threshold.

PFV_QResidualBERMax Sets/gets the maximum value for the residual BER.

Constant Corresponds to:

Constant Corresponds to:

PFV_FreqRange1 Sets/gets the maximum power value.

PFV_FreqRange2 Sets/gets the maximum power value.

PFV_FreqRange3 Sets/gets the maximum power value.

PFV_FreqRange4 Sets/gets the maximum power value.

PFV_FreqRange5 Sets/gets the maximum power value.

PFV_FreqRange6 Sets/gets the maximum power value.

PFV_FreqRange7 Sets/gets the maximum power value.

PFV_FreqRange8 Sets/gets the maximum power value.

PFV_TotalPowerMax Sets/gets the maximum power value.

PFV_NoisePowerMax Sets/gets the maximum power value.

PFV_BitErrorRateMin Sets/gets the maximum power value.

PFV_BitErrorRateMax Sets/gets the maximum power value.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 167

Measurement Reference Measurement Enums

PowerUnitsEnums

PrecisionEnums

RatioUnitsEnums

SamplingDelayEnums

Constant Corresponds to:

PowerLinear Displays unitless power values (linear).

PowerDB Displays power values in dB (logarith-mic).

Constant Corresponds to:

Zero Grid precision of 0 decimal points used.

One Grid precision of 1 decimal point used.

Two Grid precision of 2 decimal points used.

Three Grid precision of 3 decimal points used.

Four Grid precision of 4 decimal points used.

Five Grid precision of 5 decimal points used.

Six Grid precision of 6 decimal points used.

Seven Grid precision of 7 decimal points used.

Eight Grid precision of 8 decimal points used.

Nine Grid precision of 9 decimal points used.

Ten Grid precision of 10 decimal points used.

Constant Corresponds to:

RatioDB Display in dB.

RatioLinear Display unitless.

Constant Corresponds to:

Absolute Sampling delay is absolute.

Relative Sampling delay is relative.

168 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

ScaleEnums

ThresholdInputEnums

ThresholdUnitEnums

TimingUnitEnums

Constant Corresponds to:

Linear Data is shown on a linear graph.

Logarithmic Data is shown on a logarithmic graph.

Constant Corresponds to:

ThreshAbsolute Absolute value for the threshold.

ThreshOffset Threshold is reported relative to the analyzer threshold.

ThreshPercentage Threshold is reported in percentage: 0% = Low level of the analyzer threshold. 100% = High level of the analyzer threshold.

Constant Corresponds to:

dBm Threshold values are entered as dBm.

Volts Threshold values are entered as Volts.

Watts Threshold values are entered as Watts.

Constant Corresponds to:

UnitInterval To use unit intervals as time base.

Seconds To use seconds as time base.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 169

Measurement Reference Measurement Enums

TotalJitterEnums

ViewTypeEnums

Output Timing The following values are available for the Output Timing measurement:

Output Level The following values are available for the Output Level measurement:

Eye Opening The following values are available for the Eye Opening measurement:

Constant Corresponds to:

TJ_EMinusSix Total jitter shown in units of 10-6

TJ_EMinusSeven Total jitter shown in units of 10-7

TJ_EMinusEight Total jitter shown in units of 10-8

TJ_EMinusNine Total jitter shown in units of 10-9

TJ_EMinusTen Total jitter shown in units of 10-10

TJ_EMinusEleven Total jitter shown in units of 10-11

TJ_EMinusTwelve Total jitter shown in units of 10-12

TJ_EMinusThirdteen Total jitter shown in units of 10-13

TJ_EMinusFourteen Total jitter shown in units of 10-14

TJ_EMinusFifthteen Total jitter shown in units of 10-15

Constant Description

BERvsSampleDelay Displays BER vs. sample delay.

Jitter Displays the Jitter histogram.

Constant Description

BERvsThreshold Shows the relationship between the analyzer decision threshold and the measured BER.

dBERvsThreshold Shows the relationship between the analyzer decision threshold and the absolute values of the derivative of the BER.

qBERvsThreshold Shows the extrapolation of the optimum Q-factor and the optimum threshold level from a limited number of measured points.

170 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Measurement Enums Measurement Reference

Spectral Jitter The following values are available for the Spectral Jitter measurement:

Constant Description

ContourPlot Shows discrete lines of equal bit error rate.

EqualBERatThreshold Shows the contour line at the BER threshold.

PseudoColorPlot Shows the BER by a continuous color gradient.

Constant Description

AbsPowerVsFreq Shows absolute power vs frequency.

RelRefPowerVsFreq Shows relative reference power vs frequency.

TrueRelPowerVsFreq Shows true relative power vs frequency.

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 171

Measurement Reference Measurement Enums

172 Agilent N490X Serial BERT Measurement Programming Guide, January 2009

Index

Index

A

AcquisitionDepth 54

AcquisitionDepthEnums 149

ActiveXEvents 39

Agilent VeePro 6.0How to use the ActiveX control 21

AnalysisFieldEnums 149

AnalyzeEnums 152

AnalyzeErrors 91

Asynchronous Run 37

AxisFreqRangeTypeEnums 152

B

BackColor 92

BERMarkerColor 92

BERThreshold 92

C

CalcMeasEnums 153

CalcMeasParams 93

ClockEdgeEnums 153

Copy/Paste Functionality 44

CreateMeasEx 50

D

Data Export 46

DataAvailable 113

DataSetupThresholdUnits 93

DisplayedAbs 94

DisplayPoints 94

DisplayPowerUnits 95

DisplayRatioUnits 95

DisplayThresholdUnits 96

E

EventsActiveX 39

Export Data 46

ExportDataEnums 153

ExportUseExtrapolatedFlag 146

F

FFTWindow 54

FFTWindowList 54

ForeColor 96

FreqAxisRangeType 55

FreqRange 97, 102

FreqRangeEnable 98, 103

FreqRangePowerEnums 154

FreqRangeTypeEnums 154

G

GetBERDataPoint 115

GetDUTDataPoint 120

GetEYEDataPoint 121

GetFEMDataPoint 122

GetLastMeasError 110

GetMaxSampleDelay 70, 77

GetMeasData 124

GetMinSampleDelay 72, 78

GetMinThresholdEyeOpening 73

GetMinTimeEyeOpening 73, 79

GetNoiseThreshold 55

GetPassFailValueTiming 76

GetSampleHighLevelThreshold 56

GetSampleLowLevelThreshold 57

GetThresholdResolution 57

GetTimingResolution 58

GridPrecision 99

I

IsFWSConnected 50

L

LoadMeasurement 146

M

MaxComparedBits 58

MaxError 59

MaxSampleDelay 70, 77

MaxSampleThreshold 71, 78

MeasAnalysisFieldEnums 154

MeasHelpPath 147

MeasPeriod 137

MeasState 106

MeasTypeEnums 154

MeasurementsLoading 46Saving 46

MeasureWinHelp 147

MinBERforQ 99

MinSampleDelay 72, 78

MS Excel 27

How to use the ActiveX control 27

MS Visual Basic 6.0 17How to use the ActiveX control 17

MS Visual C++ 11How to use the ActiveX control 11

MS Word 27How to use the ActiveX control 27

O

OnMeasurementState 108

P

PassFailUse 74, 81

PassFailUseEnums 155

PassFailValue 74, 80

PassFailValueEnums 157

PassFailValuePower 75, 80

PassFailValueRatio 75, 82

PassFailValueThreshold 76, 82

PowerMarkerColor 100

PowerUnitsEnums 159

PrecisionEnums 159

PropertiesTitle 148

R

RatioUnitsEnums 159

RedrawingEnabled 148

RelativeReferenceFrequency 100

ResBERForTJ 101

ResetLastMeasError 110

Run 107

S

SamplePointOffset 60

SamplingDelay 60

SamplingDelayEnums 159

SaveMeasurement 146

Scale 101

Server 50

SetFreqAxisRange 102

SetMaxSampleDelay 70, 77

SetMinSampleDelay 72, 78

SetMinThresholdEyeOpening 79

SetMinTimeEyeOpening 79

SetNoiseThreshold 61

SetPassFailValueTiming 83

SetPoint 61

Agilent N490X Serial BERT Measurement Programming Guide, January 2009 173

Index

SetSampleHighLevelThreshold 62

SetSampleLowLevelThreshold 62

SetThresholdResolution 63

SetTimingResolution 63

ShowGrid 103

ShowMarkerReadout 104

ShowMarkers 103

ShowProperties 148

SilentMode 110

Stop 107

Synchronous Run 38

SynchronousRun 107

T

ThresholdInputEnums 160

ThresholdUnitEnums 160

TimingUnitEnums 160

TimingUnits 104

TopFrequencyCount 105

TotalJitterEnums 161

U

UseBERThreshold 84

UseEdgeResOptimization 64

UseEyeOpeningPassFail 84

UseMaxError 66

UseMinTimeEyeOpening 85

UseMinVoltsEyeOpening 85

UseSampleDelay 85

UseSampleThreshold 86

UseTResOptimization 65

UseTResOptimizationFtjBer 65

V

VEE Pro 7.5 21

ViewType 105

ViewTypeEnums 161

174 Agilent N490X Serial BERT Measurement Programming Guide, January 2009