The information contained in this document is subject to change without notice.
VXI TECHNOLOGY MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS
MANUAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. VXI Technology shall not
be liable for errors contained herein or direct, indirect, special, incidental or consequential damages in
connection with the furnishing, performance or use of this material.
WARRANTY
A copy of the specific warranty terms applicable to your VXI Technology product and replacement
parts can be obtained from your local Sales and Service Office.
This document contains proprietary information which is protected by copyright. All rights are
reserved. No part of this document may be photocopied, reproduced or translated to another language
without the prior written consent of VXI Technology, Inc. This information contained in this document
is subject to change without notice.
Use of this manual and flexible disk(s) or tape cartridge(s) supplied for this pack is restricted to this
product only. Additional copies of the programs can be made for security and back-up purposes only.
Use, duplication or disclosure by the government is subject to restrictions as set forth in subdivision (c)
(1) (ii) of the Rights in Technical Data and Computer Software clause at 52.227-7013.
VXI Technology, Inc.
2031 Main Street
Irvine, CA 92614-6509
Rights for non-DOD U.S. Government Departments and Agencies are set forth in FAR 52.227-19 (c)
(1,2)
Copyright (c) 2004 VXI Technology, Inc. All rights reserved
ii
VT1433B User's Guide
In This Book
The VT1433B 8-Channel 196 kSamples/s Digitizer plus DSP is a C-size VXI
module. “196 kSamples/s” refers to the maximum sample rate of 196608 samples
per second. The VT1433B may contain either one or two 4-channel input
assemblies so that the module may have a total of up to eight inputs. The
module plugs into a single, C-size slot in a VXI mainframe.
This book documents the VT1433B module, including information on how to use
it. It provides:
Installation information.
q
Examples to expedite getting started, with information on how to use the
q
VXIplug&play Host Interface Library functions. There is also a chapter about the
C-Language version of the Host Interface Library. There are instructions for printing
the Function Reference for the Host Interface Library if desired. The Function
Reference can be accessed by way of online manual pages and online help.
Information on how to use the VT1433B.
q
A descriptions of the module.
q
Descriptions of the Arbitrary Source and Tachometer options.
q
Descriptions of the Break Out Boxes which can be used with the module.
q
Service information (troubleshooting and replacing assemblies).
q
q Details about the module’s VXI registers (as an appendix for those who may want this
additional information).
iii
VT1433B User's Guide
iv
Table of Contents
In This Book ..................................................... iii
Support Resources................................................. ix
Chapter 1. Installing the VT1433B
Installing the VT1433B............................................ 1-2
To inspect the VT1433B...........................................1-2
To install the VT1433B ........................................... 1-3
Install the host interface libraries ....................................1-6
To store the module .............................................. 1-6
To transport the module ...........................................1-7
Visit http://www.vxitech.com for worldwide support sites and service plan information.
ix
x
1
VT1433B User's Guide
Installing the VT1433B
Installing the VT1433B
1-1
VT1433B User's Guide
Installing the VT1433B
Installing the VT1433B
This chapter contains instructions for installing the VT1433B 8-Channel
196 kSamples/s Digitizer plus DSP Module and its drivers. This chapter also
includes instructions for transporting and storing the module.
To inspect the VT1433B
The VT1433B 8-Channel 196 kSamples/s Digitizer plus DSP Module was
carefully inspected both mechanically and electrically before shipment. It should
be free of marks or scratches and it should meet its published specifications upon
receipt.
If the module was damaged in transit, do the following:
Save all packing materials.
q
File a claim with the carrier.
q
Call a VXI Technology sales and service office.
q
1-2
VT1433B User's Guide
Installing the VT1433B
To install the VT1433B
CautionTo protect circuits from static discharge, observe anti-static techniques whenever
handling the VT1433B 8-Channel 196 kSamples/s Digitizer plus DSP Module.
1 Set up the VXI mainframe. See the mainframe's installation guide for assistance.
2 Select a slot in the VXI mainframe for the VT1433B module.
The VT1433B module’s local bus receives ECL-level data from the module
immediately to its left and outputs ECL-level data to the module immediately to
its right. Every module using the local bus is keyed to prevent two modules
from fitting next to each other unless they are compatible. If using the local
bus, select adjacent slots immediately to the left of the data-receiving module.
The local bus can support up to four VT1433B modules at full span at real time
data rates. If the VXI Bus is used, maximum data rates will be reduced but the
module can be placed in any available slot.
3 Using a small screwdriver or similar tool, set the logical address configuration switch
on the VT1433B.
(See the illustration on the next page.) Each module in the system must have a
unique logical address. The factory default setting is 0000 1000 (8). If an
GPIB command module will be controlling the VT1433B module, select an
address that is a multiple of 8. If the VXI system dynamically configures logical
addresses, set the switch to 255.
1-3
VT1433B User's Guide
Installing the VT1433B
4 Check the settings of the Boot Source and ROM Programming switches on the bottom
of the module.
Set switches 1 and 3 (BS1 and BS3) up and all the other switches down.
Logical Address
0
1
1-4
Boot Source
&
Programming
1
0
VT1433B User's Guide
Installing the VT1433B
5 Set the mainframe’s power switch to standby ( O
I
).
CautionInstalling or removing the module with power on may damage components in the
module.
6 Place the module’s card edges (top and bottom) into the module guides in the slot.
7 Slide the module into the mainframe until the module connects firmly with the
backplane connectors. Make sure the module slides in straight.
8 Attach the module’s front panel to the mainframe chassis using the module’s captive
mounting screws.
VXI Mainframe
Power Switch
VT1433B
Slotted
Captive Screws
s
u
b
1-5
VT1433B User's Guide
Installing the VT1433B
Install the host interface libraries
After the hardware has been assembled, the next step in installing the VT1433B
is to install the host interface libraries. Refer to the chapter titled “Getting
Started With the VT1433B” to continue the installation process.
To store the module
Store the module in a clean, dry and static free environment.
For other requirements, see storage and transport restrictions in the chapter titled:
“Specifications.”
1-6
VT1433B User's Guide
Installing the VT1433B
To transport the module
Package the module using the original factory packaging or packaging identical to the
•
factory packaging.
Containers and materials identical to those used in factory packaging are available
through VXI Technology.
If returning the module to VXI Technology for service, attach a tag describing the
•
following:
Type of service required
q
Return address
q
Model number
q
Full serial number
q
In any correspondence, refer to the module by model number and full serial
number.
Mark the container FRAGILE to ensure careful handling.
•
If necessary to package the module in a container other than original packaging,
•
observe the following (use of other packaging is not recommended):
Wrap the module in heavy paper or anti-static plastic.
q
Protect the front panel with cardboard.
q
Use a double-wall carton made of at least 350-pound test material.
q
q Cushion the module to prevent damage.
CautionDo not use styrene pellets in any shape as packing material for the module. The
pellets do not adequately cushion the module and do not prevent the module from
shifting in the carton. In addition, the pellets create static electricity which can
damage electronic components.
1-7
VT1433B User's Guide
Installing the VT1433B
1-8
2
VT1433B User's Guide
Getting Started With the VT1433B
Getting Started With the
VT1433B
2-1
VT1433B User's Guide
Getting Started With the VT1433B
Introduction
This chapter provides assistance in getting the VT1433B running and making
simple measurements. It shows how to install the software libraries and how to
run some of the example programs that are included.
For more information see the other chapters in this book and the on-line function
reference. (See “Where to get more information” in the chapter titled “Using the
VT1433B).”
Two versions of the Host Interface Library are available. One is HP-UX
C-Language Host Interface Library which uses SICL (the Standard Instrument
Interface Library) to communicate to the VT1433B hardware. The other is the
HP-UX, Windows 95 or later and Windows NT VXIplug&play Library which
communicates with the hardware using VISA (Virtual Instrument SoftwareArchitecture). VISA is the input/output standard upon which all the
VXIplug&play software components are based.
This chapter mainly covers the VXIplug&play version and it also includes some
examples using the C-Language version. If using the C-Language version, refer
to the chapter titled “The Host Interface Library” as well.
NOTEThe C-Language Host Interface Library has been provided for the purpose of
backward compatibility and is no longer supported. New users should use the
VXIplug&play Library while older users are encouraged to migrate their applications
to the VXIplug&play library.
2-2
VT1433B User's Guide
Getting Started With the VT1433B
To install the VXIplug&play libraries
System Requirements (Microsoft Windows)
An IBM compatible personal computer with either Microsoft Windows 95 or later or
•
Microsoft Windows NT. (With either Windows OS, use the VXIplug&play library)
Additional hardware and software to connect the IBM compatible computer to a VXI
•
mainframe.
Software is supplied on CD-ROM.
•
System Requirements (HP-UX 10.20)
One of the following workstations:
•
An HP V743 VXI-embedded workstation.
q
A stand-alone HP Series 700 workstation with an Agilent/HP E1489I EISA-to-MXIbus
q
card and an Agilent/HP E1482B VXI-MXI Bus Extender.
Software is supplied on CD-ROM, so a CD-ROM drive is needed
•
HP-UX Version 10.20. This version of HP-UX can use either the C-language library
•
or the VXIplug&play library.
SICL/VISA (product number E2091E, version E.01.01 or later).
•
VT1432A Software Distribution
The VT1432A distribution (software) is shipped on CD-ROM with the VT1433B
module. This software works with the VT1432A, VT1433B and VT1434A
modules. This distribution includes the the VT1432A C-Language Host Interface
Library for HP-UX, the VT1432A VXIplug&play Host Interface library for
HP-UX, Windows 95 or later and Windows NT with associated examples and
manual pages.
2-3
VT1433B User's Guide
Getting Started With the VT1433B
Getting Updates (Windows)
The latest version of the VT1433B instrument drivers can be found on-line at
www.vxitech.com.
Getting Updates (HP-UX)
For the latest HP-UX instrument drivers, please contact VXI Technology
Customer Support Services. Contact information can be found in the Support
section of the manual on page ix.
2-4
VT1433B User's Guide
Getting Started With the VT1433B
To install the Windows VXIplug&play drivers for the VT1433B
(for Windows 95 and Windows NT)
1 Insert the VXIplug&play Drivers and Product Manuals CD into the CD-ROM drive.
2 Run the program: d:\drivers\DAQ Drivers\driver_vxipnp_e1432_a_06_13.exe.
(If the disc is in a driver other than "drive d:," replace "d:\" with the letter of the drive
containing the driver disc.) Note that the driver for the VT1433B are the same as the
driver used by the VT1432A. Also note that the "a_06_13" references the software
revision and will vary. Follow the on-screen instructions to continue.
3 The VISA Installation Information dialogue box will appear. This indicates window
will indicate whether or not the VISA library has been correctly installed previously.
If not installed, an error message will appear as a reminder to install the library. Click
Next to continue.
4 The Choose Program Folder Items dialogue box provides options that can be included
in the Start Menu Program Folder for the VT1432A. Click Next when finished with
selections to continue.
5 The Select Program Folder dialogue box appears providing the opportunity to change
the name of the program folder that will be created in the Start Menu. The default
name is "VXIPNP." Click Next to continue.
6 Setup creates a program group called “Hpe1432” (typically in c:\VXIPNP\WINNT).
It includes:
An icon to run the Soft Front Panel
An icon for HELP text
An icon for UNISTALL the README text can be included optionally.
These icons can also appear in the Startup Menu Program Files (see step 6).
7 After the program files load, the Setup Complete dialogue box will appear. It provides
the opportunity to view the Readme file and to run the Soft Front Panel upon
completion of set up. Click Next after the desired selections are made.
2-5
VT1433B User's Guide
Getting Started With the VT1433B
To install the HP-UX VXIplug&play drivers for the VT1433B
(for HP-UX systems)
1 Log in as root.
2 Insert the VT1432A CD-ROM into the CD-ROM drive or obtain the latest VT1432A
distribution.
3 Type swinstall.
See the HP-UX Reference manual for information on the swinstall command.
The VT1432A distribution is normally installed in the /opt/vxipnp/hpe1432/
directory. The files have extensions such as .h, .fp, .sl and .hlp.
The Resource Manager
The Resource Manager is a program from the hardware interface manufacturer. It
looks at the VXI mainframe to determine what modules are installed. It is
necessary to run it every time the mainframe is powered up. If the “No VT1433B
can be found in this system” is found, then run the Resource Manager.
Before running the VT1432A/33B software make sure that the hardware is
configured correctly and that the Resource Manager runs successfully. Before
using the measurement system, all of its devices must be set up, including setting
their addresses and local bus locations. No two devices can have the same
address. Usually addresses 0 and 1 are taken by the Resource Manager and are
not available.
For more information about the Resource Manager, see the hardware interface’s
documentation.
2-6
VT1433B User's Guide
Getting Started With the VT1433B
The VXIplug&play Soft Front Panel (SFP)
Using the soft front panel
If running the VT1432A/33B software in Microsoft Windows 95 or Windows NT,
the Soft Front Panel (SFP) program can be used to interface with the VT1433B.
The Soft Front Panel can be useful for checking the system to make sure that it
is installed correctly and that all of its parts are working. However, it is not very
useful for making measurements. It cannot be controlled from a program and it
does not access all of the VT1433B’s functionality.
NoteThe software examples provided in this manual contain “E” references (e.g. “E1432")
used by the previous manufacturer. The VXI Technology equivalent can be derived at
by exchanging the ”E" references with “VT” references (e.g. “VT1432").
Figure 2-1: The Soft Front Panel Interface
2-7
VT1433B User's Guide
Getting Started With the VT1433B
The buttons on the right side of the SFP display are defined as follows:
Meas
This button opens the Measurement Control dialog box. It can set:
Measurement single/repeat
q
Mode block/continuous
q
Trigger auto/manual/input/source
q
Frequency span
q
Blocksize
q
Input
This button opens a dialog box where the VT1433B’s inputs can be setup. It can
set:
Channel number
q
Range
q
AC or DC coupling
q
Grounding method
q
Digital anti-alias filter
q
Analog anti-alias filter
q
Trigger on/off
q
Trigger mode level/bound
q
q Trigger level
q
Hysteresis
q
Trigger Slope
There is a checkbox to make all channels identical.
Source
This opens a dialog box for controlling the source output of the VT1433B’s
source. This is only available for VT1433B’s that have the Arbitrary Source
VT1433B-1D4. It can set:
q
Channel number
q
Active on/off
q
Mode sine/burst sine/random/burst random
q
Ramp rate
q
Sine frequency
q
Sine phase
q
Output normal/grounded/open/cal/multi
q
Trigger on/off
q
Cola (Constant Output Level Amplifier) off/on
q
Duty Cycle
q
Sum off/on
q
Seed
q
Range
2-8
VT1433B User's Guide
Getting Started With the VT1433B
Display
This button opens a dialog box which specifies how the data will be displayed.
For each trace, an input channel (or OFF) and an output file can be specified.
VXI
This button opens a dialog box showing the modules installed in the VXI
mainframe and indicating which are active and inactive. The “resource name” for
each module is the interface card name that has been assigned to it.
Go
Use the Go button to start the measurement.
Exit
Use the Exit button to exit the Soft Front Panel.
2-9
VT1433B User's Guide
Getting Started With the VT1433B
VEE example programs
scope.vee
This program displays four channels with time record and FFT for each channel.
For the examples provided below, Agilent
The scope.vee program is located at VXIPNP\Hpe1432\examples\vee\ on a
Microsoft Windows system or at /usr/e1432/vee-examples on an HP-UX system.
To run scope.vee, first type:
veetest
To begin using Agilent VEE.
In Agilent VEE click on File, then Open. In the Open File dialog box select
scope.vee from the list of files. Then click Ok.
The program scope.vee starts, showing four channels, with time record and FFT
for each channel.
Figure 2-3: scope.vee - Panel View
To start a measurement, click the Run button on the toolbar (triangle symbol).
To pause, click on the Pause button (two vertical bars, next to the Run button).
To stop the measurement, click the Stop button (square symbol).
This screen is VEE’s panel view, where interaction with the system can be
performed much as one would with the front panel of a standalone instrument.
The VEE detail view screen allows for configuration of the system and a view
panel which can be used to make measurements.
To look at the scope.vee program “behind the scenes,” click on the View Detail
button on the toolbar (chart symbol). To return to the original (panel) view, click
on the View Panel button (sine wave symbol).
Click on the View Detail button again to look at the detail view screen.
2-11
VT1433B User's Guide
Getting Started With the VT1433B
To use and modify scope.vee, it is necessary to be familiar with using the
Agilent VEE program. Refer to Agilent VEE documentation if necessary. In
View Detail mode, click on Help on the menu bar for assistance in using
Agilent VEE.
2-12
Figure2-4: Agilent VEE Help Text
VT1433B User's Guide
Getting Started With the VT1433B
In detail view there are boxes representing parts of the scope.vee program. For
programs that are too large to be viewed all at one time, use the scroll bars at the
bottom and left side of the screen to scroll the display. To see more detail,
double-click on a box or click on the View Detail (chart symbol) button on the
top bar of the box. Some of the boxes contain a function. Clicking on a
function displays the parameters associated with it.
Figure 2-5: scope.vee - Detail View
To specify a new function, click on the blank space in the box where the
function is to be. A dialog box appears with a list of functions. After selecting
a function, choose Panel to “hard code” constants that the function will use or
choose Parameters to allow a parameter to be input from elsewhere (from the user
or another function).The input appears as a “pin” on the chart diagram. In the
scope.vee program the user can select the blocksize, span and range.
Clicking Add To Panel in the Edit menu makes a box in the detail view visible
on the panel view.This gives the user access to enter parameters or view
results.
2-13
VT1433B User's Guide
Getting Started With the VT1433B
Clicking on Alphnumeric in the Display menu sets up a box that specifies how to
display the output of a function.
Use Agilent VEE to look at the functions that make up the simple “scope.vee”
program. This is an example of how the VT1433B can be programmed using
Agilent VEE.
Click on the Panel View button (sine wave symbol) to go to panel view. Set up
the system to provide input signals to some of the input connectors of the
VT1433B. Then use the scope.vee interface to view the time records and FFTs
of the input signals.
When Agilent VEE is exited, the program will ask if any changes made to
scope.vee are to be made. Click No or, if desired, click Cancel and then use
File/Save As to save the changes with a different filename.
minimum.vee
This program provides a simple example to assist in the learning to use the
VT1432A library, although it is not intended to be a finished “user-friendly”
program. It contains the minimum number of functions needed (nine functions) to
get data from the VT1433B module. It does not even include a “panel” user
interface, so the first screen seen is the VEE View Detail screen. Use the scroll
bar at the bottom of the screen to scroll the display and see all of the detail view.
The minimum.vee program simply takes data for one channel and then stops. It
may be useful to examine this program and use it as a starting point for learning
to write VEE programs for the VT1433B.
2-14
VT1433B User's Guide
Getting Started With the VT1433B
Figure 2-6: minimum.vee (scroll to see entire display)
2-15
VT1433B User's Guide
Getting Started With the VT1433B
Other Agilent VEE example programs
There are several other example programs that can be examined in the same way
as scope.vee. These programs are in the path VXIPNP\Hpe1432\examples\vee\ on
a Microsoft Windows system or /usr/e1432/vee-examples on an HP-UX system.
bsrcsine.vee (Burst SouRCe SINE)
This program is similar to scope.vee. It displays eight (rather than four) channels,
with time record and FFT for each channel. It also turns on the source in burst
sine mode and ramps up the source output. The user can specify the duty cycle,
ramp rate, level of the source and frequency of the source. This program works
with VT1433B’s which are equipped with the source VT1433B-1D4.
bsrcrand.vee (Burst SouRCe RANDom)
This program is like bsrcsine.vee except the source is turned on in burst random
mode.
frf_rand.vee. (Frequency Response Function RANDom)
This program displays the frequency response of four channels. One way to set
up this example is to connect a cable between the channel 1 and channel 2
inputs. Then connect channel 3 to channel 1 through a “black box” containing
the circuit to be tested (using a “T” on channel 1). Channel 4 remains
unconnected. On the display, a response for channel 2 over channel 1 (a flat
response for the bare cable) will be seen and a response for channel 3 over
channel 1 (representing the frequency response of the “unknown” circuit).
Channel 4 will show a random signal since it has no input.
order.vee
This program can be used only with a VT1432A with the tachometer option. It
takes four channels of data and displays two channels. It shows raw time domain
data and resampled data for each rpm value. The raw data can then be processed
with a program such as Matlab to make order ratio maps.
2-16
VT1433B User's Guide
Getting Started With the VT1433B
C-Language Host Interface Library example programs
The VT1432A C-Language Host Interface Library comes with several example
programs, which help demonstrate how to use the library. These example
programs are found in the the VXIPNP\Hpe1432\examples\ directory. The
programs in this directory are all very small, so that they will be easily
understood and easy to copy into a real application.
The files in the examples directory are:
MakefileA UNIX Makefile which can be used to compile all of the programs in the
examples directory.
READMEA file containing the information given here.
detect.cShows how to use SICL calls to find the logical addresses of the VT1433B
modules in a system.
example.cShows the basics of setting up a VT1433B, starting a measurement and
reading a block of data.
intr.cShows how to set up SICL and a VT1433B to use interrupts for data collection.
src_intr.cShows how to set up SICL and a VT1433B to use interrupts with a
VT1433B-1D4 Source board, for overload shutdown and overread.
tachmon.cShows how to monitor a tach channel signal using the other inputs in the
VT1433B module.
throughputA directory containing example programs for throughput to and post-processing
from a VT2216A disk module.
Demo Programs
In addition to example programs, the VT1432A Host Interface library also comes
with demo programs. These programs are found in the
VXIPNP\Hpe1432\examples\ directory.
One of these demo programs, called “semascope”, demonstrates that the VT1433B
hardware and software are working properly. When run, it identifies the
VT1433B modules in the VXI system, runs a measurement using the VT1433B
modules that it finds and plots the results in X11 windows. This program is not
meant to be an example of how to use the VT1432A library, although the source
code is not provided.
Other demo programs include “rpmtrig” and “rpmtrig2” and “semascope3.”
2-17
VT1433B User's Guide
Getting Started With the VT1433B
Running a demo program: semascope.c
To run this program, type:/opt/e1432/demo/semascope. This program displays the
time records for 32 channels (when hooked up to two VT1433B modules with
16 channels each). The channel that is active for changing the display is
highlighted. To exit, double-click the horizontal bar symbol in the upper left
corner of the window.
To see a list of parameters for semascope, type:
semascope -u
To specify a parameter, type its letter code after “semascope” on the command
line.
The source code for this program is at:
/opt/e1432/demo/semascope.c
Use a text viewer or editor (such as the “more” utility in UNIX) to list the source
code for semaphore.c. Examine the code to learn more about how this example
program works.
2-18
VT1433B User's Guide
Getting Started With the VT1433B
Visual Basic example programs
VEE programs and the VXIplug&play Library can be used on both UNIX and PC
systems. In addition, the PC can use Visual Basic. Visual Basic example
programs are at \Hpe1432\examples\vb\ on a Microsoft Windows system.
2-19
VT1433B User's Guide
Getting Started With the VT1433B
2-20
3
Using the VT1432A
3-1
VT1433B User's Guide
Using the VT1433B
Introduction
This chapter shows how to use the VT1433B using the VXIplug&play Host
Interface Library.
The Host Interface Library for the VT1433B is a set of functions that allow the
user to program the register-based VT1433B at a higher level than register reads
and writes. The library allows groups of VT1433Bs to be set up and
programmed as if they were one entity
Two versions of the Host Interface Library are included. One is the HP-UX
C-Language Host Interface Library which uses SICL (the Standard Instrument
Interface Library) to communicate to the VT1433B hardware. It works for
HP-UX 10.20. The other is the VXIplug&play Library for Windows 95 or later,
Windows NT and HP-UX 10.20 which communicates with the hardware using
VISA (Virtual Instrument Software Architecture). VISA is the input/output
standard upon which all the VXIplug&play software components are based.
This chapter covers the VXIplug&play version, but it will also be useful to users
of the C-Language version. If using the C-Language version, refer to the chapter
titled "The Host Interface Library" was well.
The library includes routines to set up and query parameters, start and stop
measurements, read and write data and control interrupts. Routines to aid
debugging and perform low-level I/O are also included.
For information on diagnostics see the chapter titled “Troubleshooting the
VT1433B.”
3-2
VT1433B User's Guide
Using the VT1433B
What is VXIplug&play?
Agilent uses VXIplug&play technology in the VT1433B. This section outlines
some of the details of VXIplug&play technology.
Overview
The fundamental idea behind VXIplug&play is to provide VXI users with a level
of standardization across different vendors well beyond what the VXI standard
specifications spell out. The VXIplug&play Alliance specifies a set of core
technologies centering on a standard instrument driver technology.
Agilent offers VXIplug&play drivers for VEE-Windows. The VXIplug&play
instrument drivers exist relative to so-called “frameworks”. A framework defines
the environment in which a VXIplug&play driver can operate. The VT1433B has
VXIplug&play drivers for the following frameworks: Windows 95 or later,
Windows NT and HP-UX.
VXIplug&play drivers
The VT1433B VXIplug&play driver is based on the following architecture:
User Program (.EXE & .HLP files, such as soft front panel)
Function Panel
(based on .FP file
Instrument Driver
(.KB, .DLL, .C, .H, .LIB, .HLP file)
VTL/VISA
I/O Interface
Figure 3-1: VXI Plug&Play driver architecture
Programmatic Developer's
Interface Library
It is most useful to discuss this architecture from the bottom up.
The VISA/VTL I/O interface allows interoperability of the VXIplug&play driver
technology across interfaces.
3-3
VT1433B User's Guide
Using the VT1433B
The actual instrument driver itself is a DLL (Dynamic Linked Library) created
from:
A set of source (.C) files.
q
A set of header (.H) files, used for compiling the file as well as to describe the
q
driver’s calls to any program using the driver.
A standard driver library (.LIB) file, to provide the standard functionality all the
q
drivers would require.
This DLL is a set of calls to perform instrument actions — at heart, that’s all a
VXIplug&play driver is — a library of instrument calls.
This driver is accessed by Windows applications programs written in languages
such as Visual C++ or Visual BASIC, using programming environments such as
VEE or NI LabView.
A Windows Help (.HLP) file is included which provides descriptive information
and code samples for the functions in the VXIplug&play DLL. This help file can
be viewed in the standard Windows Help viewer. A viewer for HP-UX is
provided in /opt/hyperhelp - see the READ.ME file.
Manufacturer and model codes
If desired, the manufacturer code, model code and name of the VXI instruments
can be read from the file :\hpe1432\lib\vximodel.cf (on PC systems) or
/opt/e1432/lib/vximodel.cf (on UNIX systems).
The following list identifies the VXI models in this file:
The Soft Front Panel is a stand-alone Windows application, built on top of the
VXIplug&play driver DLL; it is used for instrument evaluation and debugging
and as a demo. It is not a programmable interface to the instrument, nor can it
be used to generate code.
The soft front panel also accesses the same Windows Help file as provided with
the DLL.
Figure 3-2: An example of a soft front panel (SFP)
3-5
VT1433B User's Guide
Using the VT1433B
Header and Library Files
In the Windows environment, the following files are in the directory
\Vxipnp\WinXX\Hpe1432
hpe1432.fpThe “FP” file used by VEE and CVI
hpe1432.hlpWindows help file
hpe1432.kbKnowledge base file
hpe1432.basheader for Visual Basic
hpe1432.exeSoft front panel program
Bin\hpe1432_32.dllThe VXIplug&play driver
Include\hpe1432.hHeader for linking to the VXIplug&play driver
Lib\Msc\
hpe1432_32.lib
Lib for linking C programs to VXIplug&play
The following files are in the directory \Hpe1432
Read.meThe latest information for the product
lib\sema.binFirmware program for the VT1433B
lib\sfp.icoIcon for help file
lib\sinewave.icoIcon for Soft Front Panel
source\*Source files for hpe1432_32.dll
examples\vb\*Visual Basic example programs
examples\c\*C example programs
examples\hpvee\*Agilent VEE example programs
In the HP-UX environment, the following files are in the directory
/opt/vxipnp/hpux/hpe1432:
hpe1432.fpThe “FP” file used by VEE
.hHeader file
.hlpHyperhelp file (see /opt/hyperhelp/README for information on how to
This section gives some information about using channels and groups. For more
detailed information see the VT1433B help text.
Channel Groups
In the VT1433B VXIplug&play driver, a channel group is the basic unit of
hardware control. To control any channel, it must first be assigned to a group
with the hpe1432_createChannelGroup function. In addition to creating the group,
this function returns a “handle” that uniquely identifies the group. This handle
can then be used to direct functions to all channels in the group.
When a channel group is created, all input and tach channels in the group are
automatically activated and all source channels are inactivated. But when deleted,
input and tach channels are not automatically inactivated. Any input or tach
channel that remains active after its group is deleted will continue to supply data
to its module’s FIFO buffer during a measurement — consuming module
resources. For this reason, the channels in group should always be explicitly
inactivated before deleting them. Channels can be inactivated with
hpe1432_setActive. Channel groups can be deleted with
hpe1432_deleteChannelGroup and hpe1432_deleteAllChanGroups.
Also when creating a channel group, channels which are not mentioned in the
new group are not turned off. Any channels that are not to be active must be
explicitly inactivated. (An exception is a power-up when only the channels in the
initial channel group are active.)
Initialization
The command used to initialize the system is hpe1432_init. This function
initializes the VXIplug&play library and registers all VT1433B modules. It also
checks the existence of a VT1432A module at each of the logical addresses given
in the resource list and allocates logical channel identifiers for each channel in all
of the VT1432As. Input channels, source channels and tach/trigger channels are
kept logically separated.
Most other functions cannot be used until after hpe1432_init, but there are two
functions which can be used before initialization to get information needed by
hpe1432_init. These are hpe1432_find and hpe1432_getHWConfig. hpe1432_find
searches the VXI mainframe and returns the VXI Logical Address for every
VT1433B found. hpe1432_getHWConfig returns additional information about the
hardware.
After hpe1432_init is run, use hpe1432_getNumChans to get the total count of
inputs, sources and tachometers for all VT1433B modules named in the
hpe1432_init call.
3-7
VT1433B User's Guide
Using the VT1433B
Creating a Channel Group
The function hpe1432_createChannelGroup creates and initializes a channel group.
A channel group allows commands to be issued to several VT1433B channels at
once, simplifying system setup. Channel groups can be overlapped. The state of
an individual VT1433B channel that is in more than one channel group is
determined by the most recent operation performed on any group to which this
channel belongs.
As a side effect, this function makes all input and tach channels in the channel
group active and all source channels in the channel group inactive. This function
does not inactivate other channels within the modules that the channels are in and
does not preset the channels in the new group.
After a channel group has been created, use hpe1432_getGroupInfo to get selected
information about the group. It is possible for hpe1432_getGroupInfo to be set
up to return the number of modules, channels, inputs, sources or tachs in the
group. It can also return a list of the modules, channels, inputs, sources or tachs.
Input, Source and Tach Channels
Channel numbers must fall in particular ranges for different types of channels.
Input channel numbers range from 1 to 4095. Source channel numbers range from
4097 to 8191. Tach channel numbers range from 8193 to 12287.
A mixture of input, source and tach channels can be present in one group.
However it is also important for many functions to be sent only to the appropriate
type of channel. For example, asking for a blocksize from a tach channel can
cause an error. It may be useful to set up several channel groups at the
beginning of the program: one for input channels, one for source channels, one
for tach channels and one that combines all three channel types. The input
handle can then be used for input-only functions, the source for source-only
functions and the tach handle for tach-only functions. The “all-channels” handle
would be used for all other functions.
3-8
VT1433B User's Guide
Using the VT1433B
Multiple-module/mainframe Measurements
Grouping of Channels/Modules
The interface library for the VT1433B is designed to allow programming of
several channels from one or several distinct modules, as if they were one entity.
Each VT1433B module has up to eight channels. The library may control up to
a maximum of 255 VT1433B modules (8160 channels).
The function hpe1432_createChannelGroup can be used to declare any number of
groups of channels, possibly overlapping. Each group can be uniquely identified
by a group ID.
The ‘target’ of a library function is either a channel, a group or (rarely) a
module, depending on the nature of the call. When the same library function
may be called with either a channel or a group identifier, its ‘target’ is shown by
a parameter named ID.
Multiple-module Measurements
A channel group that spans more than one module will need to be configured to
use the TTL trigger lines on the VXI Bus for inter-module communications. This
configuration is automatically performed in the hpe1432_initMeasure call unless
defeated using hpe1432_setAutoGroupMeas.
The following discussion outlines what hpe1432_initMeasure does automatically.
This must be done by the user if hpe1432_setAutoGroupMeas has been used to
defeat auto configuration.
There are eight VXI TTL trigger lines that can be used for multi-module
synchronization. Often, these lines are used in pairs, one for sample clock and
one for Sync/Trigger. The hpe1432_setTtltrgLines function selects which TTL
trigger lines to use; this function always uses the TTL trigger lines in pairs.
Calling hpe1432_setClockSource with the group ID will set all modules to the
same pair.
All modules need to be set to use the shared sync line rather than the default
setting of internal sync. This can be done with the hpe1432_setMultiSync
function, using the group ID.
One module of the set of modules needs to be set to output the sync pulse. The
module with the lowest VXI logical address is called the “system module” and is
assigned this duty. This can be set with the hpe1432_setMultiSync function call,
using the lowest channel ID in the group (NOT the group ID).
3-9
VT1433B User's Guide
Using the VT1433B
All modules except the “system module” need to be set to use the VXI TTL
trigger lines as the clock source. Use hpe1432_setClockSource for this.
Set the “system module” to output the clock. Use hpe1432_setClockMaster for
this. After this is done, all system sync pulses come from the “system module”
and drive the measurement state machines on all boards in the group.
Possible Trigger Line Conflict
The following describes a scenario where VT1433B modules might conflict and
prevent a proper measurement. The conditions allowing the conflict are complex
but must be understood by the user.
After a measurement has completed, the modules are left set up. If a module
(call it module ‘A’) is driving the TTL trigger lines and a different group is
started which also drives the TTL trigger lines (and that different group does not
include module ‘A’), then module ‘A’ will conflict and prevent the other group
from functioning. In this case make a call to hpe1432_finishMeasure (using the
old group ID which includes ‘A’) to turn off module ‘A’ and allow the new
group to function.
Note that if the new group includes all modules of the old group, the conflict will
not occur since hpe1432_initMeasure will reset all modules as needed. Also note
that single-module groups do not drive the TTL trigger lines, so single-module
groups are immune from causing or receiving this conflict.
3-10
VT1433B User's Guide
Using the VT1433B
Managing Multiple-mainframe Measurements
In a single-mainframe measurement, the VT1433B communicates with other
VT1433Bs through the TTLTRG lines. However, when using the VXI-MXI bus
extender modules, the TTLTRG lines, which carry the group synchronization
pulse and sample clock, are extended only in one direction. This unidirectional
signal connection restricts the types of measurements that can be made in a
multiple mainframe environment.
The following types of multiple mainframe measurements cannot be performed:
Unequal pre-trigger delay settings between mainframes
q
Channel triggering by channels in Mainframe B
q
Lower spans or longer blocksizes in Mainframe B
q
Different digital filter settling times between VT1433B modules
q
Ethernet or Firewire
Embedded Controller
S
l
o
t
0
MXI-2
Extender
Interface
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
Cal
ExSamp
ExTrig CalExSamp ExTrig
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
busbus
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
ExTrig CalExSamp ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
8-CHANNEL196
kSa/sDIGITIZER
+DSP
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
Chan
5-8
Chan
1-4
VT1433B
VXI Mainframe A
MXI-2
Extender Interface
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
Cal
ExSamp
ExTrig CalExSamp ExTrig
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
busbus
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
ExTrig CalExSamp ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
8-CHANNEL196
kSa/sDIGITIZER
+DSP
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
Chan
5-8
Chan
1-4
VT1433B
VXI Mainframe A
MXI-2 Extender Interface
Example 1: Slot 0 ControllerExample 2: MXI-2 Daisy Chain
VXI Mainframe B
busbus
VT1433B
MXI-2 Extender Interface
Figure 3-3: Multiple mainframes - two mainframes
busbus
VXI Mainframe B
VT1433B
3-11
VT1433B User's Guide
Using the VT1433B
In the example above, Mainframe A contains the Slot 0 Controller for a multiple
mainframe system. Mainframe A is connected to Mainframe B with a VXI-MXI
interface, Agilent/HP E1482B. To successfully manage this multiple mainframe
environment, use the following guidelines.
Locate modules with logical addresses less than 128 in Mainframe A.
q
Locate modules with logical addresses greater than 127 in Mainframe B.
q
Locate the highest-numbered channels in Mainframe A.
q
Locate the last module in the module list specified in the call to hpe1432_init in
q
Mainframe A.
Locate the module that generates the group synchronization pulse in Mainframe A.
q
Locate the channels performing channel triggering in Mainframe A.
q
Locate the module with the shared sample clock in Mainframe A.
q
If a groupID is not used with the call hpe1432_readRawData or
q
hpe1432_readFloat64Data, empty the VT1433Bs’ FIFOs in Mainframe B before
Mainframe A. In other words, do not empty the FIFOs in Mainframe A unless the
FIFOs in Mainframe B have been emptied. For more information about groupID
see “Grouping of Channels/Modules” in this chapter.
If more than two mainframes are needed, daisy-chain them together. Treat each
q
mainframe after the first as a Mainframe B. See the example on the next page.
Phase Performance in Multiple Mainframe Measurements
Phase specifications are degraded by the delay that the inter-mainframe interface
gives the sample clock. This delay is insignificant for many low-frequency
applications because the phase error is proportional to frequency. A system with
two VXI-MXI modules and a one-meter cable, typically has a 76 nanosecond (ns)
sample clock delay in Mainframe B. This corresponds to an additional
0.007 degree phase error at 256 Hz and an additional 0.55 degree phase error at
20 kHz.
Using a four-meter cable (which adds approximately 18 ns of delay) causes a
total of 94 ns clock delay in Mainframe B. This corresponds to an additional
0.0087 degree phase error at 256 Hz and an additional 0.68 degree phase error at
20 kHz.
The cable adds approximately 6 ns per meter of cable.
Each daisy-chained mainframe adds another increment of delay, but only for the
additional cabling length.
3-12
VT1433B User's Guide
Using the VT1433B
Ethernet/Firewire
Embedded Controller
S
l
o
t
0
MXI-2
Extender
Interface
MXI Bus
Cable
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
VT1433B
VT1433B
VT1433B
Acs Trigger
Fail
Acs Trigger
ExTrig
ExTrig
Cal
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
Chan
5-8
5-8
Chan
Chan
1-4
1-4
bus
VT1433B
Acs Trigger
ExTrig
Cal
Chan
5-8
Chan
1-4
bus
VXI Mainframe A
bus
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
VXI Mainframe B
bus
MXI-2
Extender Interface
MXI Bus
Cable
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
VT1433B
VT1433B
VT1433B
Acs Trigger
Fail
Acs Trigger
ExTrig
ExTrig
Cal
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
Chan
5-8
5-8
Chan
Chan
1-4
1-4
bus
VT1433B
Acs Trigger
ExTrig
Cal
Chan
5-8
Chan
1-4
bus
VXI Mainframe A
bus
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
VXI Mainframe B
bus
MXI-2
Extender
Interface
VT1433B
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
bus
Example 3: Embedded Slot 0 Controller
Figure3-4: Multiple mainframes - three mainframes
VT1433B
VXI Mainframe C
MXI-2
Extender
Interface
VT1433B
VT1433B
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
bus
VXI Mainframe C
Example 4: MXI-2 Daisy Chain
3-13
VT1433B User's Guide
Using the VT1433B
Synchronization in Multiple-mainframe Measurements
A TTL Trigger line between VT1433Bs making group measurements keeps all
modules synchronized. This is an open-collector line where each module holds
the one designated as the SYNC line low until the module is ready to advance to
the next measurement state. Another TTL Trigger line is designated to carry the
sample clock to all modules. This shared sample clock may come from any
VT1433B module in Mainframe A or from an external signal routed through the
Slot 0 Commander in Mainframe A.
One module is responsible for pulling the SYNC line low to start each group’s
state transition. Then, each module holds the line low until it is ready. When all
modules are ready, the SYNC line drifts high. The unidirectional line prevents
modules in Mainframe B from holding-off modules in Mainframe A.
The lowest logical address must be in Mainframe A because of VXI-MXI and
Resource Manager (RM) constraints. Group constraints with the VXIplug&play
Library force modules in Mainframe A to have their FIFOs emptied last. The
VXIplug&play reads data in channel order, so the highest channel is read last. To
get this to work automatically, the call to hpe1432_init must list the logical
addresses in descending order.
Channel triggering must be done only by modules in Mainframe A. A trigger in
any other mainframe would not be communicated back on the SYNC line to
Mainframe A. The VXIplug&play Library itself selects the VT1432A with the
highest channel number for synchronization.
VXI-MXI Module Setup and System Configuration
The VXI-MXI Module setup in Mainframe A needs to be changed from those set
by the factory. The VXI-MXI module is not the Slot 0 Controller for
Mainframe A. See Table 2-1: Configuration Settings in the Agilent/HP E1482B
VXI-MXI Bus Extender User’s Manual. This requires changing several switch
settings.
q
Set the module as not being the Slot 0 Controller.
q
Set the VME timeout to 200 µs.
q
Set the VME BTO chain position to 1 extender, non-slot0.
q
Do not source CLK10.
q
Set the proper logical address.
3-14
VT1433B User's Guide
Using the VT1433B
Module Features
Data Flow Diagram and FIFO Architecture
The illustration on the next page shows data flow in the VT1433B. In this
example there are four 4-channel input assemblies for a total of sixteen input
channels. The data for all channels is sent to the FIFO. The FIFO is divided
into sections, one for each channel. The data moves through a circular buffer
(first-in-first-out) until a trigger causes it to be sent on to the VME Bus. The
data can also be sent to the Local Bus if option UGH is present.
The size of the sections in the FIFO is flexible. The amount of DRAM memory
for each channel is the total DRAM memory divided by the number of channels.
The standard DRAM size is 4 MB; an optional 32 MB DRAM is available.
The trigger can be programmed to trigger on the input or on information from the
software. The following are examples of ways a trigger can be generated.
input level or bound
q
source
q
external trigger
q
RPM level (with tachometer option VT1433B-AYE)
q
q
ttl_trigger (VXI backplane)
q
freerun (automatic)
3-15
VT1433B User's Guide
Using the VT1433B
ch 1
96002
trigger
ch 8
Input 1
Input 2
Static
RAM
circular
buffer
trigger
FIFO
FIFO (DRAM)
ch 1
ch 2
96002
host
port
Local
Bus
FIFO
to VME Bus
or Local Bus
VME Bus
Local Bus
3-16
ch 3
ch 4
ch 5
Figure 3-5: Data flow and FIFO architecture
VT1433B User's Guide
Using the VT1433B
Base Sample Rates
Baseband Measurement Spans
The table on the following page shows the measurement spans available for base
sample rates, for baseband measurements.
“Fs” is the sample frequency or sample rate. The value for zero divide-by-two
steps and no divide-by-five step is the top measurement span corresponding to the
sample rate. This is with no decimation and using 400 lines to avoid alias. The
other values on the table are for this top span decimated by five and/or two.
For a VT1433B which has option 1D4, the Arbitrary Source, the sample rate for
the source is automatically set to be the same as the sample rate selected for the
inputs. When the source is active the sample rate cannot be greater than
65.536 kHz.
Decimation Filter Diagram
The drawing below illustrates the way the spans in the table are generated. In
the case of baseband spans (lower limit of span fixed at zero), the frequency can
(optionally) be divided by five and then (optionally) divided by two up to eight
times.
ADC
÷5
zero or
one time
sixteen times
Figure 3-6: Decimation filter diagram - baseband
÷2
zero or
3-17
VT1433B User's Guide
Using the VT1433B
Table of Baseband Measurement Spans (part 1 of 6)
All values are in Hertz (Hz).
with ÷5without ÷5with ÷5without ÷5with ÷5without ÷5
480005000051200
Notes:
* For the top span, the 3 dB bandwidth is 1.15 times span shown.
To select sample frequency for time domain data, first divide the desired sample
frequency by 2.56 to convert it to a measurement span. Then locate the closest
measurement span on this table and choose the corresponding sample frequency at
the top of the table.
3-18
Table of Baseband Measurement Spans (part 2 of 6)
All values are in Hertz (Hz).
with ÷5without ÷5with ÷5without ÷5with ÷5without ÷5
640006553651200
Notes:
* For the top span, the 3 dB bandwidth is 1.15 times span shown.
To select sample frequency for time domain data, first divide the desired sample
frequency by 2.56 to convert it to a measurement span. Then locate the closest
measurement span on this table and choose the corresponding sample frequency at
the top of the table.
3-19
VT1433B User's Guide
Using the VT1433B
Table of Baseband Measurement Spans (part 3 of 6)
All values are in Hertz (Hz).
with ÷5without ÷5with ÷5without ÷5with ÷5without ÷5
800008192096000
Notes:
* For the top span, the 3 dB bandwidth is 1.15 times span shown.
To select sample frequency for time domain data, first divide the desired sample
frequency by 2.56 to convert it to a measurement span. Then locate the closest
measurement span on this table and choose the corresponding sample frequency at
the top of the table.
3-20
Table of Baseband Measurement Spans (part 4 of 6)
All values are in Hertz (Hz).
with ÷5without ÷5with ÷5without ÷5with ÷5without ÷5
10000102400128000
Notes:
* For the top span, the 3 dB bandwidth is 1.15 times span shown.
To select sample frequency for time domain data, first divide the desired sample
frequency by 2.56 to convert it to a measurement span. Then locate the closest
measurement span on this table and choose the corresponding sample frequency at
the top of the table.
3-21
VT1433B User's Guide
Using the VT1433B
Table of Baseband Measurement Spans (part 5 of 6)
All values are in Hertz (Hz).
with ÷5without ÷5with ÷5without ÷5with ÷5without ÷5
133333153600156250
Notes:
* For the top span, the 3 dB bandwidth is 1.15 times span shown.
To select sample frequency for time domain data, first divide the desired sample
frequency by 2.56 to convert it to a measurement span. Then locate the closest
measurement span on this table and choose the corresponding sample frequency at
the top of the table.
3-22
Table of Baseband Measurement Spans (part 6 of 6)
All values are in Hertz (Hz).
with ÷5without ÷5with ÷5without ÷5with ÷5without ÷5
163840192000196608
Notes:
* For the top span, the 3 dB bandwidth is 1.15 times span shown.
To select sample frequency for time domain data, first divide the desired sample
frequency by 2.56 to convert it to a measurement span. Then locate the closest
measurement span on this table and choose the corresponding sample frequency at
the top of the table.
3-23
VT1433B User's Guide
Using the VT1433B
VT1433B sample frequencies
The following is a list of all sample frequencies (in Hz) available on the
VT1433B, including those not listed in the preceding table.
48000.0
49152.0
50000.0
51200.0
52400.852878
61440.0
62500.0
64000.0
65536.0
66666.666667
76800.0
78125.0
80000.0
81920.0
69000.0
98304.0
10000.0
102400.0
123880.0
125000.0
128000.0
133333.333333
153600.0
156250.0
163840.0
19.200.0
196608.0
3-24
VT1433B User's Guide
Using the VT1433B
Measurement Process
Measurement Setup and Control
When the VT1433B makes a measurement, the measurement itself consists of two
phases: the measurement initialization and the measurement loop. Each of these
phases consists of several states, through which the measurement progresses.
The transition from one state to the next is tied to a transition in the Sync/Trigger
line (one of the TTL trigger lines on the VXI back plane). A state (such as Idle)
begins when the Sync/Trigger line goes low. The Sync/Trigger line then remains
low as long as the state is in effect. When the Sync/Trigger line goes high it
signals the transition to the next state. See the sections “Measurement
Initialization” and “Measurement Loop” below for more details about these
transitions. During all the transitions of the Sync/Trigger line, the clock line
continues with a constant pulse.
The Sync/Trigger line is “wire-OR’d” such that all modules in a multiple-module
system (within one mainframe) must release it for it to go high. Only one
VT1433B is required to pull the Sync/Trigger line low. In a system with only
one VT1433B, the Sync/Trigger line is local to the module and not is routed to a
TTL TRIGGER line on the VXI back plane.
Sync/Trigger Line
Start of
State
Idle
Pre-arm
End of
State
Figure 3-7: Transitions between states
Arm
Trigger
Meas
3-25
VT1433B User's Guide
Using the VT1433B
Parameter Settings
Many parameters are channel-dependent, meaning that each channel can be set
independently of the others in the module. Other parameters are
module-dependent; changing a module-dependent parameter for a channel will
change it for all channels on that module. For example, changing blocksize, a
module-dependent parameter, for input channel 3 will also change the block size
for all other channels in the same VT1433B module as channel 3.
When possible, parameters are written to the hardware as soon as they are
received. Sometimes, the parameter can’t be written to the hardware until the
start of a measurement; in this case the value of the parameter is saved in RAM
in the VT1433B module until the measurement is started with
hpe1432_initMeasure. Some parameters can be changed while a measurement is
running, but many do not take effect until the next start of a measurement.
Measurement Initiation
This section describes the measurement initiation process in the VT1433B.
The measurement initialization states and the corresponding Sync/Trigger line
transitions (with ‘H’ for high, ‘L’ for Low) are:
Tes t e d
Sync/Trigger Line
Booting
H
L
Booted
Figure 3-8: Measurement initialization
Settling
HLHLHL
Pre-armIdle
The module enters the TESTED state after a reset. In this state, all of the
module parameters may be set. The VT1433B stays in the TESTED state until it
sees a high-to-low transition of the Sync/Trigger line.
3-26
VT1433B User's Guide
H
Using the VT1433B
In the BOOTING state, the digital processors of the module load their parameters
and their program. Once done, the module releases the Sync/Trigger line and
moves to the BOOTED state. The VT1433B stays in the BOOTED state until it
sees a high-to-low transition of the Sync/Trigger line (that is, all the VT1433Bs in
the system have booted).
In the SETTLING state, the digital filters are synchronized and the digital filter
output is ‘settled’ (it waits N samples before outputting any data). Once the
module is settled, it advances to the PRE_ARM state.
In the PRE_ARM state, the module waits for a pre-arm condition to take place.
The default is to auto-arm, so the module would not wait at all in this case.
When the pre-arm condition is met, the module releases the Sync/Trigger line and
advances to the IDLE state.
This complete measurement sequence initialization, from TESTED through
BOOTING, BOOTED, SETTLING, PRE-ARM and IDLE, can be performed with
a call to the function hpe1432_initMeasure.
Measurement Loop
This section describes the measurement loop in the VT1433B.
The progression of measurement states and the corresponding Sync/Trigger line
transitions are:
Arm
Trigger
LH
MeasureIdle
LHLH
L
Sync/Trigger Line
Figure 3-9: Measurement loop
In the IDLE state the VT1433B writes no data into the FIFO. The VT1433B
remains in the IDLE state until it sees a high-to-low transition of the Sync/Trigger
line or an RPM arm/trigger point is calculated. If any of the VT1433Bs in the
system is programmed for auto arming (with hpe1432_setArmMode), the
Sync/Trigger line is immediately pulled low by that VT1433B. The VT1433B
may also be moved to the ARM state by an explicit call to the function
hpe1432_armMeasure.
3-27
VT1433B User's Guide
Using the VT1433B
Upon entering the ARM state the VT1433B starts saving new data in its FIFO.
It remains in the ARM state until the Sync/Trigger line goes high. If the
VT1433B is programmed with a pre-trigger delay, it collects enough data samples
to satisfy this pre-trigger delay and then releases the Sync/Trigger line. If no
pre-trigger delay has been programmed, it releases the Sync/Trigger line
immediately. When all modules in a system have released the Sync/Trigger line
(allowing it to go high), a transition to the TRIGGER state occurs.
Upon entering the TRIGGER state the VT1433B continues to collect data into the
FIFO, discarding any data prior to the pre-trigger delay. The VT1433B remains
in the TRIGGER state until it sees a high-to-low transition of the Sync/Trigger
line. The Sync/Trigger line is pulled low by any VT1433B which encounters a
trigger condition and is programmed to pull the Sync/Trigger line. If any
VT1433B is programmed for auto triggering (with hpe1432_setAutoTrigger), the
Sync/Trigger line is pulled low immediately. The Sync/Trigger line may also be
pulled low by an explicit call to the function hpe1432_triggerMeasure.
Upon entering the MEASURE state the VT1433B continues to collect data. The
VT1433B also presents the first data from the FIFO to the selected output port,
making it available to the controller to read. The VT1433B holds the
Sync/Trigger line low as long as it is actively collecting data. In overlap block
mode the VT1433B stops taking data as soon as a block of data has been
collected, including any programmed pre- or post-trigger delays. (It starts again
when another trigger occurs). In continuous mode, the VT1433B stops taking
data only when the FIFO overflows. When data collection stops, the VT1433B
releases the Sync/Trigger line. When all VT1433Bs are finished and the
Sync/Trigger line goes high, the VT1433B goes into the IDLE state again.
The measurement initialization and loop may be interrupted at any time with a
call to hpe1432_resetMeasure, which puts the module in the TESTED state.
Register-based VXI Devices
The VT1433B is a register-based VXI device. Unlike message-based devices
which use higher-level programming using ASCII characters, register-based
devices are programmed at a very low level using binary information. The
greatest advantage of this is speed. Register-based devices communicate at the
level of direct hardware manipulation and this can lead to much greater system
throughput.
Users do not need to access the registers in order to use the VT1433B. The
VT1433B’s functions can be more easily accessed using the VT1433B Host
Interface Library software. However, if more information about the registers are
provided in Appendix A: Register Definitions for reference.
3-28
VT1433B User's Guide
Using the VT1433B
Arm and Trigger
This section explains some terminology relating the the “Arm” and “Trigger”
steps in the measurement loop. As an example a measurement might be set up to
arm at a certain RPM level and then subsequently trigger at an external event
corresponding to top dead center (TDC). The settings would be:
Arm:RPM Step Arm
q
Trigger:External Trigger
q
To begin a throughput session at this same RPM/TDC event, then the first
external trigger after a specified RPM would start a continuous mode
measurement. Now (using overlap block mode) the settings would be:
Pre-Arm:RPM Step Arm
q
Arm:Auto
q
Trigger:Auto
q
In the measurement loop, an arm must take place before a trigger. The number
of triggers that occur before waiting for another arm condition can be
programmed. The default is one trigger for each arm. For each trigger, a
block of data is sent to the host.
The first arm in a measurement is the pre-arm. By default, the pre-arm condition
is the same as the regular arm conditions.
Valid Arm (and Pre-Arm) conditions are:
q
Auto Arm
q
Manual Arm
q
RPM Step Arm
Valid trigger conditions are:
q
Auto Trigger
q
Input Trigger
q
Source Trigger
q
External Trigger
q
Manual Trigger
q
Tachometer Edge Trigger
3-29
VT1433B User's Guide
Using the VT1433B
VT1433B Triggering
The following is a short discussion of triggering for the VT1433B.
Triggering is defined as the transition from the armed state to the triggered state.
This transition is caused by a low going edge on a TTL trigger line. The
function hpe1432_getTtltrgLines selects which of the eight TTL trigger lines is to
be used.
The low-going transition of the TTL trig line can be caused by any of the
following items:
trigger typeenabling function
the AUTO TRIGGER circuitryhpe1432_setAutoTrigger
the hpe1432_triggerMeasure functionhpe1432_triggerMeasure
a source triggerhpe1432_setTriggerChannel
a tach triggerhpe1432_setTriggerChannel
an external triggerhpe1432_setTriggerExt
an input level or bound trigger event
hpe1432_setTriggerChannel
and hpe1432_setTriggerMode
Each of these trigger sources can be enabled or disabled independently, so quite
complex trigger setups are possible. In all cases, however, the first trigger event
kicks off the measurement and the following trigger events become superfluous.
Note that for hpe1432_setAutoTrigger the setting HPE1432_MANUAL_TRIGGER
really means “don’t auto trigger” not “expect a manual trigger”.
For single-VT1433B systems, the TTL trigger signal is not connected to the VXI
backplane. For multiple VT1433B systems, the hpe1432_initMeasure function
connects the VT1433B trigger lines to the VXI backplane and at that point, the
selection of which TTL trigger lines through hpe1432_getTtltrgLines is relevant.
Multiple mainframe systems will need to account for the unidirectional nature of
the inter-mainframe MXI extenders which will prevent all but the “upstream”
mainframe from triggering the system.
3-30
VT1433B User's Guide
Using the VT1433B
Trigger Level
To set the trigger level, use hpe1432_setTriggerMode to select “level” or “bound”
mode; and use hpe1432_setTriggerLevel twice to set both the upper and lower
trigger levels. The difference between the upper and lower trigger levels must be
at least 10% of full scale (and 10% is usually the best amount).
Also use hpe1432setTriggerSlope to specify a positive or negative trigger slope.
Level mode
If the mode is set to “level” and the trigger slope is positive, then the module
triggers when the signal crosses both the upper and lower trigger levels in the
positive direction. If the trigger slope is negative, the module triggers when the
signal crosses both levels in the negative direction. Setting two trigger levels
prevents the module from triggering repeatedly when a noisy signal crosses the
trigger level.
Bound mode
If the mode is set to “bound” and the trigger slope is positive, then the module
triggers when the signal exits the zone between the upper and lower trigger levels
in either direction. If the trigger slope is negative, the module triggers when the
signal enters the zone between the upper and lower trigger levels.
3-31
VT1433B User's Guide
Using the VT1433B
Data Transfer Modes
The VT1433B can be programmed to use either of two data transfer modes:
overlap block mode and continuous mode. Block mode will be discussed first.
Block Mode (Agilent/HP E1431A)
The VT1433B’s overlap block mode is similar the block mode which is used in
some Agilent instruments such as the Agilent/HP E1431A. In block mode, the
input hardware acquires one block after getting an arm and trigger. It does not
allow the system to trigger until it is ready to process the trigger and it acquires
pre-trigger data if necessary. The hardware does not accept a new arm and trigger
until the acquired block is sent to the host. There is no provision for overlap or
queuing up more than one block when in block mode. There is also no way for
a FIFO overflow to occur.
The VT1433B’s overlap block mode can be configured to act exactly like
traditional block mode. It also has additional capabilities as described below.
Continuous Mode
Both the VT1433B and the Agilent/HP E1431A use continuous mode. In this
mode, the input hardware waits for an arm and trigger and then starts acquiring
data continuously. If the host is slow, several blocks can be queued up in the
input hardware. If the host gets far enough behind, a FIFO overflow occurs and
the input stops acquiring data.
The VT1433B’s overlap block mode can be configured to act similarly to
continuous mode, but not identically. The VT1433B can also use the traditional
continuous mode.
Overlap Block Mode
Overlap block mode combines features of both block mode and continuous mode.
The main difference between overlap block mode and traditional block mode is
that overlap block mode allows additional arms and triggers to occur before an
already-acquired block is sent to the host. A trigger can occur before the end of
the previous block, so overlapping blocks are possible (hence the name “overlap
block mode”). As in continuous mode, there is an overlap parameter which
controls how much overlap is allowed between consecutive blocks.
3-32
VT1433B User's Guide
Using the VT1433B
Limit on Queuing of Data
In overlap block mode, a number of trigger events may be queued up before the
host reads the data for those triggers. The host may get further and further behind
the data acquisition.
However, if the host gets far enough behind that the FIFO fills up, data
acquisition must momentarily stop and wait for data to get transferred to the host.
This places a limit on how far in time the host can be behind the data
acquisition. By setting the size of the FIFO, one can control how far behind the
host can get.
Making Overlap Block Mode Act Like Traditional Block Mode
If the FIFO size is set the same as the block size or if the number of pending
triggers is limited to zero, then overlap block mode becomes identical to
traditional block mode.
Making Overlap Block Act Like Continuous Mode
If the module is in auto-arm and auto-trigger mode, then overlap block mode
becomes nearly the same as continuous mode.
One difference is that traditional continuous mode has a single arm and trigger,
while overlap block mode may have multiple arms and triggers. Another is that
continuous mode can be configured to start at any type of trigger event, while
overlap block mode must be in auto-trigger mode to act like continuous mode.
Finally, continuous mode always stops when a FIFO overflow occurs, but overlap
block mode does not.
3-33
VT1433B User's Guide
Using the VT1433B
VT1433B Interrupt Behavior
Interrupt Setup
For an example of interrupt handling see the program event.c in the examples
directory.
The VT1433B VXI module can be programmed to interrupt a host computer
using the VME interrupt lines. VME provides seven such lines. Using
hpe1432_setInterruptPriority, the VT1433B module can be set up to use any one
of them.
The VT1432A can interrupt the host computer in response to different events.
Use hpe1432_setInterruptMask to specify a mask of events on which to interrupt.
This mask is created by OR'ing together the various conditions for an interrupt.
The following table shows the conditions that can cause an interrupt:
Interrupt Mask Bit Definitions
Define (in e1432.h)Description
HPE1432_IRQ_BLOCK_READYScan of data ready in FIFO
HPE1432_IRQ_MEAS_ERRORFIFO overflow
HPE1432_IRQ_MEAS_STATE_CHANGEMeasurement state machine changed state
HPE1432_IRQ_MEAS_WARNINGMeasurement warning
HPE1432_IRQ_OVERLOAD_CHANGEOverload status changed
HPE1432_IRQ_SRC_STATUSSource channel interrupt
HPE1432_IRQ_TACHS_AVAILRaw tach times ready for transfer to other modules
HPE1432_IRQ_TRIGGERTrigger ready for transfer to other modules
VT1433B Interrupt Handling
To make the VT1433B module do the interrupt, both a mask and a VME
Interrupt line must be specified, by calling hpe1432_setInterruptMask and
hpe1432_setInterruptPriority respectively. Once the mask and line have been set
and an interrupt occurs, the cause of the interrupt can be obtained by reading the
HPE1432_IRQ_STATUS_REG register (using hpe1432_getInterruptReason). The
bit positions of the interrupt mask and status registers match so the defines can be
used to set and check IRQ bits.
3-34
VT1433B User's Guide
Using the VT1433B
Once it has done this interrupt, the module will not do any more VME interrupts
until re-enabled with hpe1432_reenableInterrupt. Normally, the last thing a host
computer’s interrupt handler should do is call hpe1432_reenableInterrupt.
Events that would have caused an interrupt, but which are blocked because
hpe1432_reenableInterrupt has not yet been called, will be saved. After
hpe1432_reenableInterrupt is called, these saved events will cause an interrupt, so
that there is no way for the host to “miss” an interrupt. However, the module will
only do one VME interrupt for all of the saved events, so that the host computer
will not get flooded with too many interrupts.
For things like “HPE1432_IRQ_BLOCK_READY”, which are not events but are
actually states, the module will do an interrupt after hpe1432_reenableInterrupt
only if the state is still present. This allows the host computer’s interrupt handler
to potentially read multiple scans from a VT1433B module and not get flooded
with block ready interrupts after the fact.
Host Interrupt Setup
This is a summary of how to set up a VT1433B interrupt:
Look at the Resource Manager to find out which VME interrupt lines are available.
q
Tell the VT1433B module to use the a VME interrupt line found in step one, using
q
hpe1432_setInterruptPriority.
q Set up an interrupt handler routine, using hpe1432_callBackInstall. The interrupt
handler routine will get called when the interrupt occurs.
q
Set up interrupt mask in the VT1433B module, using hpe1432_setInterruptMask.
3-35
VT1433B User's Guide
Using the VT1433B
Host Interrupt Handling
When the VT1433B asserts the VME interrupt line, the program will cause the
specified interrupt handler to get called. Typically the interrupt handler routine
will read data from the module and then re-enable VT1433B interrupts with
hpe1432_reenableInterrupt. The call to hpe1432_reenableInterrupt must be done
unless the host is not interested in any more interrupts.
Inside the interrupt handler, almost any VT1433B Host Interface library function
can be called. This works because the Host Interface library disables interrupts
around critical sections of code, ensuring that communication with the VT1433B
module stays consistent. Things that are not valid in the handler are:
Calling hpe1432_createChannelGroup to delete a group that is simultaneously
q
being used by non-interrupt-handler code.
Calling one of the read data functions (hpe1432_readRawData or
q
hpe1432_readFloat64Data), if the non-interrupt-handler code is also calling one of
these functions.
Calling hpe1432_init to reset the list of channels that are available to the VT1433B
q
library.
As is always the case with interrupt handlers, it is easy to introduce bugs into a
program and generally difficult to track them down. Be careful when writing this
function.
Data Gating
Sometimes it is desirable to to monitor data from some input channels and not
others. The function hpe1432_setEnable enables or disables data from an input
channel (or group of channels). If data is enabled, then the data can be read
using hpe1432_blockAvailable and hpe1432_readRawData or
hpe1432_readFloat64Data. If data is disabled, data from the specified channel is
not made available to the host computer.
This parameter can be changed while a measurement is running, to allow the host
computer to look at only some of the data being collected by the VT1433B
module. While data from a channel is disabled the input module continues to
collect data but it is not made available to the host computer. The host can then
switch from looking at some channels to looking at others during the
measurement. In contrast, the function hpe1432_setActive completely enables or
disables a channel and can’t be changed while a measurement is running.
For order tracking measurements this function can be used to switch between
receiving order tracking data ordinary time data or both.
VT1433B Parameters
Some parameters, such as range or coupling, apply to specific channels. When a
channel ID is given to a function that sets a channel-specific parameter, only that
channel is set to the new value.
3-36
VT1433B User's Guide
Using the VT1433B
Some parameters, such as clock frequency or data transfer mode, apply globally
to a module. When a channel ID is used to change a parameter that applies to a
whole module, the channel ID is used to determine which module. The parameter
is then changed for that module.
Starting and stopping a measurement is somewhat like setting a global parameter.
Starting a measurement starts each active channel in each module that has a
channel in the group.
After firmware is installed and after a call to hpe1432_preset, all of the
parameters (both channel-specific and global) in a VT1433B module are set to
their default values. For channel-specific parameters, the default value may
depend on the type of channel. Some channel-specific parameters apply only to a
specific type of channel. For example, tach holdoff applies only to tach channels.
Setting such a parameter for a channel that doesn’t make sense will result in an
error.
At the start of a measurement, the VT1433B firmware sets up all hardware
parameters and ensures that the input hardware is settled before starting to take
data. The firmware also ensures that any digital filters have time to settle. This
ensures that all data read from the module will be valid.
However, after a measurement starts, VT1432A parameters can still be changed.
The effect of this change varies, depending on the parameter. For some
parameters, changing the value aborts the measurement immediately. For other
parameters, the measurement is not aborted, but the changed parameter value is
saved and not used until a new measurement is started. For still other parameters,
the parameter change takes place immediately and the data coming from the
module may contain glitches or other effects from changing the parameter. For
more information, please see the “Programming Information” chapter of the
VT1433B VXIplug&play Library online help.
The module cannot be told to wait for settling when changing a parameter in the
middle of a measurement. The only way to wait for settling is to stop and
re-start the measurement. The settling that takes place at the start of a
measurement also cannot be disabled.
Refer to the (on-line) VT1433B Function Reference for the parameters needed for
each function. (See “Where to get more information” in this chapter.)
3-37
VT1433B User's Guide
Using the VT1433B
New features of the VT1433B software
Span and center frequency
Decimation spans are now allowed for all legal sample rates with the VT1433B.
Zoom mode
Zoom mode is available for all legal sample rates with the VT1433B. The zoom
span will be allowed to go as high as ctock-freq/2.56 (the maximum non-zoom
span). In addition, the maximum center frequency for both the VT1433B has
been moved up from clock-freq/2.56 to clock-freq/2.
3-38
VT1433B User's Guide
Using the VT1433B
Where to get more information
There is more information available about the VT1432A. This section shows how
to access it and print it, if desired.
The Function Reference for VXIplug&play
On a PC, the VT1432A Function Reference is in Microsoft Help text. Select the
Help icon in the “VXIPNP” folder. Refer to Microsoft Windows documentation
(including Help text) for information on using and printing Help.
On a UNIX system, look at the README file at /opt/hyperhelp. It includes
instructions on how to install and use the VXIplug&play help.
The Function Reference for the Host Interface Library (C-language version)
The VT1432A distribution includes manual pages for the VT1432A HostInterface
library. These manual pages can be examined on-line, using the“ptman”
command that is shipped in “/opt/e1432/bin.” For example, the manual page for
the “e1432_init_measure” function can be read by typing:
ptman e1432_init_measure
The distribution also includes a nicely formatted set of these manual pages,that
can be printed on any postscript printer. This manual in postscript form is in file
“/opt/e1432/man/man.ps.” Typically, this manual can be printed by typing:
lp -opostscript /opt/e1432/man/man.ps
Alternatively, if there is no postscript printer available, a plain text version of the
manual is in file “/opt/e1432/man/man.txt.” This can be printed on any line
printer.
Users of the C-language library will also find useful information about
theVT1432A in the VT1432A help text (see above).
3-39
VT1433B User's Guide
Using the VT1433B
3-40
4
The Host Interface Library
4-1
VT1433B User's Guide
The Host Interface Library
Introduction
The Host Interface Library for the VT1433B is a set of functions that allows the
register-based VT1433B to be programed at a higher level than register reads and
writes. The library allows groups of VT1433Bs to be set up and programmed as
if they were one entity.
The VT1433B uses the same software as the VT1432A 16 Channel
51.2 kSamples/s Digitizer plus DSP.
Two version of the Host Interface Library are available. One is the HP-UX
C-Language Host Interface Library which uses SICL (the Standard Instrument
Interface Library) to communicate to the VT1433B hardware. The other is the
VXIplug&play Library which communicates with the hardware using the
VXIplug&play standard. This chapter covers the C-Language version. If using
the VXIplug&play version, this chapter will not be needed. Instead, see the
chapters titled “Getting Started With the VT1433B” and “Using the VT1433B”.
NOTEThe C-Language Host Interface Library has been provided for the purpose of
backward compatibility and is no longer supported. New users should use the
VXIplug&play Library while older users are encouraged to migrate their applications
to the VXIplug&play library.
The library includes routines to set up and query parameters, start and stop
measurements, read and write data and control interrupts. Routines to aid
debugging and perform low-level I/O are also included.
For information on diagnostics see the chapter titled “Troubleshooting the
VT1433B.”
Almost all functions in this library return 0 if they complete successfully and a
negative error number if there is a problem. The return value of the function
should always be checked and appropriate action taken for non-zero values. See
the on-line man pages for more information on error messages.
4-2
VT1433B User's Guide
The Host Interface Library
Header and Library Files
The /opt/e1432/lib directory contains several versions of the VT1432A Host
Interface library:
lib1432.aA normal HP-UX archive library, used by host programs wanting to talk to VT1433B
lib1432.slAn HP-UX shared library, used by host programs wanting to talk to VT1433B
llib-l1432.lnA lint library for the VT1432A C-Language Host Interface Library. If lint (a UNIX tool
hardware.
hardware. This and the above archive library do exactly the same things. Usually,
host programs would use the shared library, because it makes the host program
smaller.
for checking source code for problems) is not used, this file is superfluous.
An application using the VT1432A C-Language Host Interface Library must link
in one of these libraries, typically lib1432.sl. The HP-UX versions of the
VT1432A library use SICL to communicate with the VT1433B hardware, so an
application using the VT1432A library must also link in the SICL library.
Normally, this is found in /usr/lib/libsicl.sl.
Any application source code which uses any of the VT1432A C-Language Host
Interface Library functions must include the e1432.h include file, found in
/opt/e1432/include. Internally, this file includes machType.h, which is also found
in /opt/e1432/include. If the application refers to specific VT1433B error
numbers, it must also include err1432.h.
4-3
VT1433B User's Guide
The Host Interface Library
Parameter Information
Description of VT1433B Parameters
Some parameters, such as range or coupling, apply to specific channels. When a
channel ID is given to a function that sets a channel-specific parameter, only that
channel is set to the new value.
Some parameters, such as clock frequency or data transfer mode, apply globally
to a module. When a channel ID is used to change a parameter that applies to a
whole module, the channel ID is used to determine which module. The parameter
is then changed for that module.
Starting and stopping a measurement is somewhat like setting a global parameter.
Starting a measurement starts each active channel in each module that has a
channel in the group.
After firmware is installed and after a call to e1432_preset, all of the parameters
(both channel-specific and global) in a VT1433B module are set to their default
values. For channel-specific parameters, the default value may depend on the
type of channel. Some channel-specific parameters apply only to a specific type
of channel. For example, tach holdoff applies only to tach channels. Setting such
a parameter for a channel that doesn’t make sense will result in an error.
At the start of a measurement, the VT1433B firmware sets up all hardware
parameters and ensures that the input hardware is settled before starting to take
data. The firmware also ensures that any digital filters have time to settle. This
ensures that all data read from the module will be valid.
However, after a measurement starts, VT1433B parameters can still be changed.
The effect of this change varies, depending on the parameter. For some
parameters, changing the value aborts the measurement immediately. For other
parameters, the measurement is not aborted, but the changed parameter value is
saved and not used until a new measurement is started. For still other
parameters, the parameter change takes place immediately and the data coming
from the module may contain glitches or other effects from changing the
parameter.
The module cannot be told to wait for settling when changing a parameter in the
middle of a measurement. The only way to wait for settling is to stop and
re-start the measurement. The settling that takes place at the start of a
measurement cannot be disabled as well.
4-4
VT1433B User's Guide
The Host Interface Library
Parameter Lists
This section shows which parameters are global parameters, which are
channel-specific and what types of channels the channel-specific parameters apply
to. Default values are shown for all of these parameters. In addition, each
parameter is categorized as “abort”, “wait”, “immediate” or “glitch” depending on
the behavior when this parameter is changed during a running measurement.
Those with “abort” cause the measurement to abort. Those with “wait” don’t take
effect until the start of the next measurement. Those with “immediate” take
effect immediately. Those with “glitch” take effect immediately and may cause
glitches in the data that is read back or on the source output if the parameter is
applied to a source channel.
Global Parameters
ParameterDefault ValueChanges
append_statusOffImmediate
arm_channelNoneImmediate
arm_modeAuto ArmImmediate
arm_time_interval1 sImmediate
auto_group_measOnWait
avg_modeNoneWait
avg_number10Wait
auto_triggerAuto TriggerAbort
avg_update10Wait
avg_weight1Immediate
blocksize1024Abort
cal_dac0Immediate
cal_voltage0 VImmediate
calinGroundedImmediate
center_freq2 kHzImmediate
clock_freq51.2 kHzAbort
clock_masterOffAbort
clock_sourceInternalAbort
data_modeBlock ModeAbort
data_portVMEAbort
data_size16 Bit IntegerAbort
4-5
VT1433B User's Guide
The Host Interface Library
ParameterDefault ValueChanges
decimation_outputSingle PassWait
decimation_oversampleOffWait
decimation_undersamp1Wait
delta_order0.1Wait
fifo_size0 (Use All DRAM)Wait
filter_settling_time64 samplesWait
internal_debug0x100Immediate
interrupt_mask0Immediate
interrupt_priorityNoneImmediate
lbus_modePipeImmediate
lbus_resetOff (Not Reset)Immediate
max_order10Wait
meas_time_lengh0 (run forever)Immediate
mmf_delay0Immediate
multi_syncOffAbort
overlap0Wait
pre_arm_modeAuto ArmImmediate
rampOffImmediate
span20000 HzWait
sumbusOffImmediate
trigger_delay0Wait
trigger_extOffImmediate
trigger_masterOffImmediate
triggers_per_arm1Immediate
ttltrg_clockTTLTRG1Abort
ttltrg_gclockTTLTRG1Abort
ttltrg_satrgTTLTRG0Abort
ttltrg_triggerTTLTRG0Abort
windowUniformGlitch
4-6
xfer_size0 (Use Blocksize)Wait
zoomOffWait
196.608 kHz 4-channel Input Parameters
ParameterDefault ValueChanges
activeOffAbort
anti_alias_digital(*)OnAbort
auto_range_modeUp/DownImmediate
calc_dataTimeWait
couplingDCGlitch
enableOnImmediate
filter_freq200 kHzImmediate
input_highNormalGlitch
input_lowFloatingGlitch
input_mode(*)VoltGlitch
range10 VGlitch
VT1433B User's Guide
The Host Interface Library
range_charge50,000 pCGlitch
range_mike10 VGlitch
trigger_channelOffImmediate
trigger_level_lower-10%Immediate
trigger_level_upper0%Immediate
trigger_modeLevelImmediate
trigger_slopePositiveImmediate
(*) Input mode is listed as channel-specific, but it actually applies to all channels within an SCA (such as
a 4-channel input assembly).
4-7
VT1433B User's Guide
The Host Interface Library
Option 1D4 Single-channel Source Parameters
ParameterDefault ValueChanges
activeOffAbort
amp_scale1.0Immediate
anti_alias_digitalOnWait
duty_cycle0.5Immediate
filter_freq25.6 kHzWait
ramp_rate1 sWait
range0.041567 voltImmediate
sine_freq1000 HzImmediate
sine_phase0 DegreesImmediate
source_blocksize0 (Use Input Blocksize)Wait
source_centerfreq0 HzWait
source_colaOffWait
source_modeSineAbort
source_outputNormalAbort
source_speed3Wait
source_span0 (Use Input Span)Wait
source_sumOffWait
srcbuffer_initEmptyWait
srcbuffer_modePeriodic_AWait
srcbuffer_size1024Wait
srcparm_modeImmediateImmediate
trigger_channelOffWait
4-8
Option AYF Tachometer Parameters
ParameterDefault ValueChanges
activeOffAbort
input_highNormalImmediate
pre_arm_rpm600 RPMImmediate
rpm_high6000 RPMImmediate
rpm_interval25 RPMImmediate
rpm_low600 RPMImmediate
rpm_smoothing0Immediate
tach_decimate0Immediate
tach_holdoff10 µsImmediate
tach_max_time30 sImmediate
tach_ppr1Immediate
VT1433B User's Guide
The Host Interface Library
trigger_channelOffWait
trigger_level_lower-0.05 voltsImmediate
trigger_level_upper0 voltsImmediate
trigger_slopePositiveImmediate
4-9
VT1433B User's Guide
The Host Interface Library
Channel and Group IDs
Most functions in the VT1432A C-Language Host Interface Library take an ID
parameter which specifies what channel or group of channels the function should
apply to. The ID can either be a channel ID or a group ID. If a group ID is
used, then the function is applied to each channel contained in the group.
Channel IDs
Channel IDs are logical IDs which are created by a call to
e1432_assign_channel_numbers. The e1432_assign_channel_numbers function
must be called exactly once, following the call to e1432_init_io_driver, in order
to declare to the library the logical addresses of the VT1433B modules that will
be used.
This function checks the existence of a VT1433B module at each of the logical
addresses given in a list of logical addresses and allocates logical channel
identifiers for each channel in all of the VT1433Bs. Input channels, source
channels and tach/trigger channels are kept logically separated. Channel numbers
for each type of channel are numbered starting from one, so there will be input
channels 1 through M, source channels 1 through N and tach/trigger channels 1
through P, where M is the number of input channels, N is the number of source
channels and P is the number of tach/trigger channels.
As an example, suppose two logical addresses 100 and 101 are passed to the
function and the logical address 100 has two 4-channel input SCAs and a
2-channel tach/trigger board, while logical address 101 has three 4-channel input
SCAs and a 1-channel source board. In this case, input channel IDs 1 through 8
are assigned to the eight input channels at logical address 100, while input
channel IDs 9 through 20 are assigned to the twelve input channels at logical
address 101. Tach/trigger channel IDs number 1 and 2 are assigned to the two
tach/trigger channels at logical address 100 and Source channel ID number 1 is
assigned to the source channel at logical address 101.
To use the ID of an input channel, the input channel number is given as an
argument to the E1432_INPUT_CHAN() macro. (For backwards compatibility
with the Agilent/HP E1431A, the macro does nothing.) To use the ID of a
source channel, the source channel number is given as an argument to the
E1432_SOURCE_CHAN() macro. To use the ID of a tach/trigger channel, the
tach/trigger channel number is given as an argument to the
E1432_TACH_CHAN() macro. A channel ID is always positive.
For example, to set the range of the third input channel to 10 volts, the source
code would look something like:
status = e1432_set_range(hwid, E1432_INPUT_CHAN(3), 10.0);
4-10
VT1433B User's Guide
The Host Interface Library
Group IDs
Group IDs are logical IDs which are created by a call to
e1432_create_channel_group. This function can be called multiple times to create
multiple groups and each group can contain any combination of channels,
including mixtures of different types of channels. The channel groups can
overlap as well.
This function creates and initializes a channel group. A channel group allows
commands to be issued to several VT1433B channels at once, simplifying system
setup. The state of an individual VT1433B channel that is in more than one
channel group, is determined by the most recent operation performed on any
group to which this channel belongs.
If successful, this function returns the ID of the group that was created, which is
then used to reference the channel group in most other functions in this library.
A group ID is always negative.
As a side effect, this function makes all input channels in the channel group
active and all source and tach channels in the channel group inactive. Unlike the
Agilent/HP E1431A library, this function does not inactivate other channels within
the modules that the channels are in. Also unlike the Agilent/HP E1431A library,
this function does not preset the channels in the new group.
As an example, to create a group consisting of the first three input channels and
the eighth and ninth input channels, the code would like something like this:
The interface library for the VT1433B is designed to allow programming of
several channels from one or several distinct modules, as if they were one entity.
Each VT1433B module has up to 16 channels. The library may control up to a
maximum of 255 VT1433B modules (8160 channels).
When initializing the interface library, all module logical addresses are passed in
the call to e1432_assign_channel_numbers. This function associates a logical
channel ID with each channel. From then on, library functions use these logical
IDs rather than the logical address.
The function e1432_create_channel_group can be used to declare any number of
groups of channels, possibly overlapping. Each group can be uniquely identified
by a group ID.
The ‘target’ of a library function is either a channel, a group or (rarely) a
module, depending on the nature of the call. When the same library function
may be called with either a channel or a group identifier, its ‘target’ is shown by
a parameter named ID.
Multiple-module Measurements
A channel group that spans more than one module will need to be configured to
use the TTL trigger lines on the VXI Bus for inter-module communications. This
configuration automatically performed in the e1432_init_measure call unless
defeated using e1432_set_auto_group_meas.
The following discussion outlines what e1432_init_measure does automatically.
This must be done by the user if e1432_set_auto_group_meas has been used to
defeat auto configuration.
There are eight VXI TTL trigger lines that can be used for multi-module
synchronization. Often, these lines are used in pairs, one for sample clock and
one for Sync/Trigger. The e1432_set_ttltrg_lines function selects which TTL
trigger lines to use; this function always uses the TTL trigger lines in pairs.
Calling e1432_set_clock_source with the group ID will set all modules to the
same pair.
4-12
VT1433B User's Guide
The Host Interface Library
All modules need to be set to use the shared sync line rather than the default
setting of internal sync. This can be done with the e1432_set_multi_sync
function, using the group ID.
One module of the set of modules needs to be set to output the sync pulse. The
module with the lowest VXI logical address is called the “system module” and
assigned this duty. This can be set with the e1432_set_multi_sync function call,
using the lowest channel ID in the group (NOT the group ID).
All modules except the “system module” need to be set to use the VXI TTL
trigger lines as the clock source. Use e1432_set_clock_source for this.
Set the “system module” to output the clock. Use e1432_set_clock_master for
this. After this is done, all system sync pulses come from the “system module”
and drive the measurement state machines on all boards in the group.
Possible Trigger Line Conflict
The following describes a scenario where VT1433B modules might conflict and
prevent a proper measurement. The conditions allowing the conflict are complex
but must be understood by the user.
After a measurement has completed, the modules are left set up. If a module
(call it module ‘A’) is driving the TTL trigger lines and a different group is
started which also drives the TTL trigger lines (and that different group does not
include module ‘A’), then module ‘A’ will conflict and prevent the other group
from functioning. In this case make a call to e1432_finish_measure (using the
old group ID which includes ‘A’) to turn off module ‘A’ and allow the new
group to function.
Note that if the new group includes all modules of the old group, the conflict will
not occur since e1432_init_measure will reset all modules as needed. Also note
that single module groups do not drive the TTL trigger lines, so single modules
groups are immune from causing or receiving this conflict.
4-13
VT1433B User's Guide
Eth
The Host Interface Library
Managing Multiple-mainframe Measurements
In a single mainframe measurement, the VT1433B communicates with other
VT1433Bs through the TTLTRG lines. However, when using the VXI-MXI bus
extender modules, the TTLTRG lines, which carry the group synchronization
pulse and sample clock, are extended only in one direction. This unidirectional
signal connection restricts the types of measurements that can be made in a
multiple mainframe environment.
The following types of multiple mainframe measurements cannot be performed:
Unequal pre-trigger delay settings between mainframes
q
Channel triggering by channels in Mainframe B
q
Lower spans or longer blocksizes in Mainframe B
q
Different digital filter settling times between VT1433B modules
q
ernet orFirewire
Embedded Controller
S
l
o
t
0
MXI-2
Extender
Interface
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
Cal
ExSamp
ExTrig CalExSamp ExTrig
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
busbus
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
ExTrig CalExSamp ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
busbus
8-CHANNEL196
kSa/sDIGITIZER
+DSP
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
Chan
5-8
Chan
1-4
VT1433B
VXI Mainframe A
VXI Mainframe B
MXI-2
Extender Interface
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
Cal
ExSamp
ExTrig CalExSamp ExTrig
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
busbus
VT1433B VT1433B
Fail
Acs Trigger Fail Acs Trigger
ExTrig CalExSamp ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
busbus
8-CHANNEL196
kSa/sDIGITIZER
+DSP
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
Chan
5-8
Chan
1-4
VT1433B
VXI Mainframe A
VXI Mainframe B
MXI-2 Extender Interface
4-14
VT1433B
MXI-2 Extender Interface
VT1433B
Example 1: Slot 0 ControllerExample 2: MXI-2 DaisyChain
Figure 4-1: Multiple mainframes - two mainframes
VT1433B User's Guide
The Host Interface Library
In the example above, Mainframe A contains the Slot 0 Controller for a multiple
mainframe system. Mainframe A is connected to Mainframe B with a VXI-MXI
interface, Agilent/HP E1482B. To successfully manage this multiple mainframe
environment, use the following guidelines.
Locate modules with logical addresses less than 128 in Mainframe A.
q
Locate modules with logical addresses greater than 127 in Mainframe B.
q
Locate the highest-numbered channels in Mainframe A.
q
Locate the last module in the module list specified in the call to
q
e1432_assign_channels() in Mainframe A.
Locate the module that generates the group synchronization pulse in Mainframe A.
q
Locate the channels performing channel triggering in Mainframe A.
q
Locate the module with the shared sample clock in Mainframe A.
q
If a groupID is not used with the call e1432_read_data(), empty the VT1433Bs’
q
FIFOs in Mainframe B before Mainframe A. In other words, do not empty the
FIFOs in Mainframe A unless the FIFOs in Mainframe B have been emptied. For
more information about groupID see “Grouping of Channels/Modules.”
If more than two mainframes are needed, daisy-chain them together. Treat each
q
mainframe after the first as a Mainframe B. See the example on the next page.
Phase Performance in Multiple Mainframe Measurements
Phase specifications are degraded by the delay that the inter-mainframe interface
gives the sample clock. This delay is insignificant for many low-frequency
applications because the phase error is proportional to frequency. A system with
two VXI-MXI modules and a 1 meter cable, typically has a 76 nanosecond (ns)
sample clock delay in Mainframe B. This corresponds to an additional
0.007 degree phase error at 256 Hz and an additional 0.55 degree phase error at
20 kHz.
A 4-meter cable adds approximately 18 ns of delay for a total of 94 ns clock
delay in Mainframe B. This corresponds to an additional 0.0087 degree phase
error at 256 Hz and an additional 0.68 degree phase error at 20 kHz.
The cable adds approximately 6 ns per meter of cable.
Each daisy-chained mainframe adds another increment of delay, but only for the
additional cabling length.
4-15
VT1433B User's Guide
The Host Interface Library
Ethernet/Firewire
Embedded Controller
S
l
o
t
0
MXI-2
Extender
Interface
MXI Bus
Cable
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
VT1433B
VT1433B
VT1433B
Acs Trigger
Fail
Acs Trigger
ExTrig
ExTrig
Cal
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
Chan
5-8
5-8
Chan
Chan
1-4
1-4
bus
VT1433B
Acs Trigger
ExTrig
Cal
Chan
5-8
Chan
1-4
bus
VXI Mainframe A
bus
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
VXI Mainframe B
bus
MXI-2
Extender Interface
MXI Bus
Cable
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Fail
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
VT1433B
VT1433B
VT1433B
Acs Trigger
Fail
Acs Trigger
ExTrig
ExTrig
Cal
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
Chan
5-8
5-8
Chan
Chan
1-4
1-4
bus
VT1433B
Acs Trigger
ExTrig
Cal
Chan
5-8
Chan
1-4
bus
VXI Mainframe A
bus
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
VXI Mainframe B
bus
MXI-2
Extender
Interface
VT1433B
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
bus
Example 3: Embedded Slot 0 Controller
Figure 4-2: Multiple mainframes - three mainframes
VT1433B
VXI Mainframe C
MXI-2
Extender
Interface
VT1433B
VT1433B
VT1433B
Fail
Acs Trigger
ExTrig
Cal
ExSamp
8-CHANNEL196
kSa/sDIGITIZER
+DSP
Chan
5-8
Chan
1-4
bus
VXI Mainframe C
Example 4: MXI-2 Daisy Chain
4-16
VT1433B User's Guide
The Host Interface Library
Synchronization in Multiple-mainframe Measurements
A TTL Trigger line between VT1433Bs making group measurements keeps all
modules synchronized. This is an open-collector line where each module holds
the one designated as the SYNC line low until the module is ready to advance to
the next measurement state. Another TTL Trigger line is designated to carry the
sample clock to all modules. This shared sample clock may come from any
VT1433B module in Mainframe A or from an external signal routed through the
Slot 0 Commander in Mainframe A.
One module is responsible for pulling the SYNC line low to start each group’s
state transition. Then, each module holds the line low until it is ready. When all
modules are ready, the SYNC line drifts high. The unidirectional line prevents
modules in Mainframe B from holding-off modules in Mainframe A.
The lowest logical address must be in Mainframe A because of VXI-MXI and
Resource Manager (RM) constraints. Group constraints with the C-Library force
modules in Mainframe A to have their FIFOs emptied last. The C-Library reads
data in channel order, so the highest channel is read last. To get this to work
automatically, the call to e1432_assign_channels() must list the logical addresses
in descending order.
Channel triggering must be done only by modules in Mainframe A. A trigger in
any other mainframe would not be communicated back on the SYNC line to
Mainframe A. The C-Library itself selects the VT1433B with the highest channel
number for synchronization.
VXI-MXI Module Setup and System Configuration
To set up a multiple mainframe system, follow the “Hardware Installation Rules”
which appear in Chapter 2 of the Agilent/HP E1482B VXI-MXI Bus Extender
User’s Manual. This allows the Resource Manager to configure the system.
The VXI-MXI Module setup in Mainframe A needs to be changed from those set
by the factory. The VXI-MXI module is not the Slot 0 Controller for
Mainframe A. See Table 2-1. Configuration Settings in the Agilent/HP E1482B
VXI-MXI Bus Extender User’s Manual. This requires changing several switch
settings.
q
Set the module as not being the Slot 0 Controller.
q
Set the VME timeout to 200 µs.
q
Set the VME BTO chain position to 1 extender, non-slot0.
q
Do not source CLK10.
q
Set the proper logical address.
4-17
VT1433B User's Guide
The Host Interface Library
Measurement Process
Measurement Setup and Control
When the VT1433B makes a measurement, the measurement itself consists of two
phases: the measurement initialization and the measurement loop. Each of these
phases consists of several states, through which the measurement progresses.
The transition from one state to the next is tied to a transition in the Sync/Trigger
line (one of the TTL trigger lines on the VXI back plane). A state (such as Idle)
begins when the Sync/Trigger line goes low. The Sync/Trigger line then remains
low as long as the state is in effect. When the Sync/Trigger line goes high it
signals the transition to the next state. See the sections “Measurement
Initialization” and “Measurement Loop” below for more details about these
transitions. During all the transitions of the Sync/Trigger line, the clock line
continues with a constant pulse.
The Sync/Trigger line is “wire-OR’d” such that all modules in a multiple-module
system (within one mainframe) must release it for it to go high. Only one
VT1433B is required to pull the Sync/Trigger line low. In a system with only
one VT1432A, the Sync/Trigger line is local to the module and not is routed to a
TTL TRIGGER line on the VXI back plane.
Sync/Trigger Line
Start of
State
Idle
Pre-arm
End of
State
Figure 4-3: Transitions between states
Arm
Trigger
Meas
4-18
VT1433B User's Guide
The Host Interface Library
Parameter Settings
Many parameters are channel-dependent, meaning that each channel can be set
independently of the others in the module. Other parameters are
module-dependent; changing a module-dependent parameter for a channel will
change it for all channels on that module. For example, changing blocksize, a
module-dependent parameter, for input channel 3 will also change the block size
for all other channels in the same VT1433B module as channel 3.
When possible, parameters are written to the hardware as soon as they are
received. Sometimes, the parameter can’t be written to the hardware until the
start of a measurement; in this case the value of the parameter is saved in RAM
in the VT1433B module until the measurement is started with
e1432_init_measure. Some parameters can be changed while a measurement is
running, but many do not take effect until the next start of a measurement.
Measurement initialization
This section describes the measurement initialization process in the VT1433B.
The measurement initialization states and the corresponding Sync/Trigger line
transitions (with ‘H’ for high, ‘L’ for Low) are:
Tes t e d
Booting
H
L
Booted
Settling
Pre-armIdle
HLHLHL
Sync/Trigger Line
Figure 4-4: Measurement initialization
The module enters the TESTED state after a reset. In this state, all of the
module parameters may be set. The VT1433B stays in the TESTED state until it
sees a high-to-low transition of the Sync/Trigger line.
4-19
VT1433B User's Guide
H
The Host Interface Library
In the BOOTING state, the digital processors of the module load their parameters
and their program. Once done, the module releases the Sync/Trigger line and
moves to the BOOTED state. The VT1433B stays in the BOOTED state until it
sees a high-to-low transition of the Sync/Trigger line (that is, all the VT1433Bs in
the system have booted).
In the SETTLING state, the digital filters are synchronized and the digital filter
output is ‘settled’ (it waits N samples before outputting any data). Once the
module is settled, it advances to the PRE_ARM state.
In the PRE_ARM state, the module waits for a pre-arm condition to take place.
The default is to auto-arm, so the module would not wait at all in this case.
When the pre-arm condition is met, the module releases the Sync/Trigger line and
advances to the IDLE state.
This complete measurement sequence initialization, from TESTED through
BOOTING, BOOTED, SETTLING, PRE-ARM and IDLE, can be performed with
a call to the function e1432_init_measure.
Measurement Loop
This section describes the measurement loop in the VT1433B.
The progression of measurement states and the corresponding Sync/Trigger line
transitions are:
Arm
Trigger
LH
MeasureIdle
LHLH
L
Sync/Trigger Line
Figure 4-5: Measurement loop
In the IDLE state the VT1433B writes no data into the FIFO. The VT1433B
remains in the IDLE state until it sees a high-to-low transition of the Sync/Trigger
line or an RPM arm/trigger point is calculated. If any of the VT1433Bs in the
system is programmed for auto arming (with e1432_set_auto_arm), the
Sync/Trigger line is immediately pulled low by that VT1433B. The VT1433B
may also be moved to the ARM state by an explicit call to the function
e1432_arm_measure.
4-20
VT1433B User's Guide
The Host Interface Library
Upon entering the ARM state the VT1433B starts saving new data in its FIFO.
It remains in the ARM state until the Sync/Trigger line goes high. If the
VT1433B is programmed with a pre-trigger delay, it collects enough data samples
to satisfy this pre-trigger delay and then releases the Sync/Trigger line. If no
pre-trigger delay has been programmed, it releases the Sync/Trigger line
immediately. When all modules in a system have released the Sync/Trigger line
(allowing it to go high), a transition to the TRIGGER state occurs.
Upon entering the TRIGGER state the VT1433B continues to collect data into the
FIFO, discarding any data prior to the pre-trigger delay. The VT1433B remains
in the TRIGGER state until it sees a high-to-low transition of the Sync/Trigger
line. The Sync/Trigger line is pulled low by any VT1433B which encounters a
trigger condition and is programmed to pull the Sync/Trigger line. If any
VT1433B is programmed for auto triggering (with e1432_set_auto_trigger), the
Sync/Trigger line is pulled low immediately. The Sync/Trigger line may also be
pulled low by an explicit call to the function e1432_trigger_measure.
Upon entering the MEASURE state the VT1433B continues to collect data. The
VT1433B also presents the first data from the FIFO to the selected output port,
making it available to the controller to read. The VT1433B holds the
Sync/Trigger line low as long as it is actively collecting data. In overlap block
mode the VT1433B stops taking data as soon as a block of data has been
collected, including any programmed pre- or post-trigger delays. (It starts again
when another trigger occurs). In continuous mode, the VT1433B stops taking
data only when the FIFO overflows. When data collection stops, the VT1433B
releases the Sync/Trigger line. When all VT1433Bs are finished and the
Sync/Trigger line goes high, the VT1433B goes into the IDLE state again.
The measurement initialization and loop may be interrupted at any time with a
call to e1432_reset_measure, which puts the module in the TESTED state.
Register-based VXI Devices
The VT1433B is a register-based VXI device. Unlike message-based devices
which use higher-level programming using ASCII characters, register-based
devices are programmed at a very low level using binary information. The
greatest advantage of this is speed. Register-based devices communicate at the
level of direct hardware manipulation and this can lead to much greater system
throughput.
It is not necessary to access the registers to use the VT1433B. The VT1433B’s
functions can be more easily accessed using the VT1432A Host Interface Library
software. However, if information about the registers is provided see
Appendix A: Register Definitions for reference.
4-21
VT1433B User's Guide
The Host Interface Library
Arm and Trigger
This section explains some terminology relating the the “Arm” and “Trigger”
steps in the measurement loop. As an example a measurement might be set up to
arm at a certain RPM level and then subsequently trigger at an external event
corresponding to top dead center (TDC). The settings would be:
Arm:RPM Step Arm
q
Trigger:External Trigger
q
To begin a throughput session at the same RPM/TDC event, the first external
trigger after a specified RPM would then start a continuous mode measurement.
Now (using overlap block mode) the settings would be:
Pre-Arm:RPM Step Arm
q
Arm:Auto
q
Trigger:Auto
q
In the measurement loop, an arm must take place before a trigger. The number
of triggers that occur before waiting for another arm condition can be specified.
The default is one trigger for each arm. For each trigger, a block of data is sent
to the host.
The first arm in a measurement is the pre-arm. By default, the pre-arm condition
is the same as the regular arm conditions.
Valid Arm (and Pre-Arm) conditions are:
q
Auto Arm
q
Manual Arm
q
RPM Step Arm
Valid trigger conditions are:
q
Auto Trigger
q
Input Trigger
q
Source Trigger
q
External Trigger
q
Manual Trigger
q
Tachometer Edge Trigger
4-22
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.