smartbert mui progrefs-pdf - d3fdwrtpsinh7j.cloudfront.net · † “Developing Your First...
Transcript of smartbert mui progrefs-pdf - d3fdwrtpsinh7j.cloudfront.net · † “Developing Your First...
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
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