THE LXI IVI PROGRAMMING MODEL FOR SYNCHRONIZATION AND TRIGGERING

Similar documents
A MISSILE INSTRUMENTATION ENCODER

DT8837. High Performance Ethernet Instrument Module for Sound & Vibration. Overview. Key Features

DT9834 Series High-Performance Multifunction USB Data Acquisition Modules

ENGR 1000, Introduction to Engineering Design

Zebra2 (PandA) Functionality and Development. Isa Uzun and Tom Cobb

The high-end network analyzers from Rohde & Schwarz now include an option for pulse profile measurements plus, the new R&S ZVA 40 covers the

Interfacing the TLC5510 Analog-to-Digital Converter to the

Chapter 6. sequential logic design. This is the beginning of the second part of this course, sequential logic.

DT8837 Ethernet High Speed DAQ

Sapera LT 8.0 Acquisition Parameters Reference Manual

FLIP-FLOPS AND RELATED DEVICES

Notes on Digital Circuits

Notes on Digital Circuits

VIRTUAL INSTRUMENTATION

LAX_x Logic Analyzer

DT9857E. Key Features: Dynamic Signal Analyzer for Sound and Vibration Analysis Expandable to 64 Channels

Amplification. Most common signal conditioning

Advanced Synchronization Techniques for Data Acquisition

Digital Audio Design Validation and Debugging Using PGY-I2C

PICOSECOND TIMING USING FAST ANALOG SAMPLING

Low-speed serial buses are used in wide variety of electronics products. Various low-speed buses exist in different

Logic Analyzer Triggering Techniques to Capture Elusive Problems

Meeting Embedded Design Challenges with Mixed Signal Oscilloscopes

Solutions to Embedded System Design Challenges Part II

Boosting Performance Oscilloscope Versatility, Scalability

Camera Interface Guide

Calibrate, Characterize and Emulate Systems Using RFXpress in AWG Series

CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING

Final Exam review: chapter 4 and 5. Supplement 3 and 4

AR SWORD Digital Receiver EXciter (DREX)

DNA-STP-SYNC Synchronization and Screw Terminal Panel. User Manual

Creating an Efficient Automated Test Equipment (ATE) System

Major Differences Between the DT9847 Series Modules

NI-DAQmx Device Considerations

Prisma Optical Networks Ancillary Modules

Integration of Virtual Instrumentation into a Compressed Electricity and Electronic Curriculum

Development of an oscilloscope based TDP metric

BUSES IN COMPUTER ARCHITECTURE

!Ill ~ 168. Model490 Dual Input, Dual Trace Automatic Peak Power Meter

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

Troubleshooting EMI in Embedded Designs White Paper

Fa m i l y o f PXI Do w n c o n v e r t e r Mo d u l e s Br i n g s 26.5 GHz RF/MW

A Symmetric Differential Clock Generator for Bit-Serial Hardware

The CIP Motion Peer Connection for Real-Time Machine to Machine Control

CMS Conference Report

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

DT9837 Series. High Performance, USB Powered Modules for Sound & Vibration Analysis. Key Features:

AN-822 APPLICATION NOTE

UNIT V 8051 Microcontroller based Systems Design

NS8050U MICROWIRE PLUSTM Interface

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

TV Synchronism Generation with PIC Microcontroller

Boonton 4540 Remote Operation Modes

LadyBug Technologies, LLC LB5908A True-RMS Power Sensor

SAPLING MASTER CLOCKS

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

SEQUENTIAL LOGIC. Satish Chandra Assistant Professor Department of Physics P P N College, Kanpur

SignalTap Plus System Analyzer

SUBSYSTEMS FOR DATA ACQUISITION #39. Analog-to-Digital Converter (ADC) Function Card

Mixed Analog and Digital Signal Debug and Analysis Using a Mixed-Signal Oscilloscope Wireless LAN Example Application

DATUM SYSTEMS Appendix A

CPS311 Lecture: Sequential Circuits

Chapter 6: Real-Time Image Formation

DNT0212 Network Processor

PRODUCT BROCHURE. Broadcast Solutions. Gemini Matrix Intercom System. Mentor RG + MasterMind Sync and Test Pulse Generator

<EDGE Looped based BER and TX measurements using ARB files on the R&S CMW 500> Products: R&S CMW500 R&S CMW- KW200 R&S CMW- KM200. <Application Note>

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Exercise 1-2. Digital Trunk Interface EXERCISE OBJECTIVE

HEAD. HEAD VISOR (Code 7500ff) Overview. Features. System for online localization of sound sources in real time

Telephony Training Systems

B. The specified product shall be manufactured by a firm whose quality system is in compliance with the I.S./ISO 9001/EN 29001, QUALITY SYSTEM.

Agilent Technologies Pulse Pattern and Data Generators Digital Stimulus Solutions

A 400MHz Direct Digital Synthesizer with the AD9912

Vision Standards Bring Sharper View to Medical Imaging

Qs7-1 DEVELOPMENT OF AN IMAGE COMPRESSION AND AUTHENTICATION MODULE FOR VIDEO SURVEILLANCE SYSTEMS. DlSTRlBUllON OF THIS DOCUMENT IS UNLlditEb,d

GFT Channel Digital Delay Generator

DT3162. Ideal Applications Machine Vision Medical Imaging/Diagnostics Scientific Imaging

DNT0212 Network Processor

Digital audio is superior to its analog audio counterpart in a number of ways:

Fast Ethernet Consortium Clause 25 PMD-EEE Conformance Test Suite v1.1 Report

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

CBF500 High resolution Streak camera

SQTR-2M ADS-B Squitter Generator

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

Chapter 9 MSI Logic Circuits

Static Timing Analysis for Nanometer Designs

Switching Solutions for Multi-Channel High Speed Serial Port Testing

2 MHz Lock-In Amplifier

OPERA APPLICATION NOTES (1)

Digital Circuits 4: Sequential Circuits

Generation and Measurement of Burst Digital Audio Signals with Audio Analyzer UPD

IMS B007 A transputer based graphics board

Model 7330 Signal Source Analyzer Dedicated Phase Noise Test System V1.02

A FOUR GAIN READOUT INTEGRATED CIRCUIT : FRIC 96_1

Logic Analysis Basics

Configuration Vestas VMP3500

Chapter 2. Digital Circuits

NI-DAQmx Key Concepts

Transcription:

THE LXI IVI PROGRAMMIG MODEL FOR SCHROIZATIO AD TRIGGERIG Lynn Wheelwright 3751 Porter Creek Rd Santa Rosa, California 95404 707-579-1678 lynnw@sonic.net Abstract - The LXI Standard provides three synchronization and trigger methodologies in addition to what system designers are familiar with on rack and stack instruments: A high speed LVDS trigger bus that is eight lanes wide LA events and triggers which can be used in place of wires or in addition to them Very accurate absolute time keeping, time stamping, and time based triggers using IEEE 1588 clocks An IVI programming model for controlling these methodologies is explored and an example measurement scenario presented based on the use of synthetic instruments working together to make a stimulus-response measurement. The sample code presented shows the ease with which a test engineer can switch between the LXI trigger lines and the equivalent LA trigger mechanism. Logic models and a state machine example are presented describing necessary arming, triggering, and event generation logic. Tradeoffs between hardware and software implementations are outlined and all of these models are wrapped together to illustrate what is needed in an LXI device to use these capabilities. ITRODUCTIO Historically, instruments have generally provided triggering and synchronization that matched the intended use for the measurement capability provided. This led to many varieties of triggering and many different capabilities associated with each type of trigger. aturally, for each of these different types of triggering and synchronization a different and unique set of programming commands was developed. In order to achieve some semblance of order and transfer of learning to test system program development, the IVI (Interchangeable Virtual Instruments) Foundation was established. With its concept of instrument classes and the notion of inherent capabilities that each instrument s programming interface should support, the stage was set for further improvements in test system architecture. The LXI (LA Extensions for instruments) standard brings both new triggering capability as well as a unified programming model for the various types of triggering found within a test system. In addition, using Ethernet as the communication and control mechanism allows test system designers to address difficult measurement scenarios (such as large physical devices or distributed measurement problems) with greater ease. The new capabilities are: 1. An eight lane wide improved hardware trigger bus using LVDS technology. It can handle higher speed signals and provide better noise immunity. 2. An Ethernet signaling protocol that matches up to the improved hardware trigger bus so that measurement scenarios requiring greater separation among the measuring devices, or that don t necessarily need the ultimate in speed can be more easily implemented. 3. Very accurate time base synchronization among measuring devices utilizing IEEE 1588. This allows each device to maintain accurate time with respect to all of the other devices in the system. Based on this, very accurate time based triggering is possible for large numbers of measuring devices. This is also the basis

for coupling accurate timestamps to data so that correlations among many instruments results can be computed. EXAMPLE MEASUREMET SCEARIO For illustration purposes, let s examine a stimulus response measurement using synthetic modular instruments as the measurement hardware. The device under test is an amplifier that needs to be checked for distortion over its operating range using a digitally modulated test signal of 550 microsecond pulses. Each pulse is 2 db lower than its predecessor covering a dynamic range of 90 db. Each amplifier is tested over 101 equally spaced frequency points between 2 GHz and 3 GHz. Our test assets are: 1. An arbitrary waveform generator. 2. An up converter. 3. A down converter. 4. A digitizer. A block diagram of how the test assets may be connected is shown in figure 1. The trigger connections may be implemented using either the LXI trigger bus, or Ethernet signaling. Arb WG LXI-1 LA-1 Up Converter DUT LXI-2 LA-2 LXI-3 LA-3 Down Converter LXI-4 LA-4 Figure 1. Block Diagram Digitizer The test signal is created in the arbitrary waveform generator and routed to the up converter where it is translated up in frequency. The output of the up converter is routed to the input of the DUT. After passing through the DUT, the signal is routed to the down converter where it is translated down to a frequency with in the range of the digitizer. The digitizer samples the incoming signal for use by the test program. The synchronization or trigger signals (denoted in blue on the diagram), allow the modules to synchronize their operations as follows: 1. The digitizer will use an internally generated signal based on the rising edge of the input signal to start its acquisition. 2. The digitizer shall wait for both the up and down converters to settle before entering the Waiting for state. 3. Upon entering the Waiting for state, the digitizer shall signal the arbitrary waveform generator to output the test signal. 4. When the acquisition is complete, the digitizer transmits the data to the controller and signals the up and down converters to move to the next frequency. Since the digitizer has the most interactions with other modules, let s examine the trigger logic used to accomplish this (see figure 2). Here we see the symmetrical layout of the LXI trigger bus and the Ethernet signaling. In this top level view, event signals are received from the left via the LXI Bus or the network interface (UDP port listener and TCP socket listeners). The LA0..7 input registers capture the values of the event signals received over the network for use by the Arm or logic. This logic determines which signals the Arm- State Machine uses once a measurement sequence has been initiated by the module controller. The state machine is responsible for starting the triggered action and notifying other entities of the progress of the measurement sequence. The Event logic monitors the signals from the state machine (and other sources as appropriate) and is responsible for sending events out over the LXI Bus or over the network. While it is possible that all of these pieces could be implemented totally in hardware or totally in software, it is expected that most implementations will be a mixture. This would be typical of modules requiring tight timing tolerances or fast response to a trigger especially when received over the LXI Bus. For the purposes of this example the items in green are assumed to be software and the items in blue and yellow are a mixture of hardware and software. In order to issue network events the hardware must be capable of notifying the software to initiate the transmission. Typically, connecting the appropriate signals to the processor s interrupt circuitry enables this. As we look at a flow chart in figure 3 of the Arm- state machine, the sections are color coded for easier identification. In this illustration of a digitizer, all of these sections are needed in

LXI Bus In LVDS Receivers LVDS Drivers LXI Bus Out UDP Port Listener TCP Socket Listener LA0..7 Input Register Arm Logic Logic Arm State Machine Event Logic LA Event Sender ed Action Figure 2. Logic Top Level View order to perform the example measurement. Other modules such as the Up Converter or Down Converter, may not need the Arm portion of the state machine since the only triggerable action may be to step the frequency as part of a frequency sweep. Before leaving out sections of the state machine, be sure to evaluate all of the use cases for the module. This flow chart is based on the SCPI [1] trigger state machine model. One feature to be aware of is that it is possible to stack multiple Arm sections and multiple sections on top of each other if the application warrants it (a logic analyzer comes to mind as a more complex example of triggering where this might be done). Idle: Initiated: Init:Immediate + Init:Cont == On OperationComplete = false OperationComplete = true Init:Cont == On Sweeping = true Sweeping = false Arm: ArmCounter = 0 ArmClear ArmCounter >= End WaitingForArm = true Arm Logic Arm Event Detector ArmCounter++ Wait: arm delay WaitingForArm = false ArmClear Event Logic : Counter = 0 WaitingFor = true Counter >= End Logic Event Detector Measure: WaitingFor = false Counter++ Wait: trigger delay Measuring = true Acquire data Measuring = false Figure 3. Digitizer State Machine Model

While this diagram shows various interesting state machine signals connecting to the Event logic, there are other signals which one might also wish to route onto the LXI Bus or send as LA Events. This might include synchronization clocks, cross routing LXI Bus signals, or mapping the trigger bus to LA events, etc. The only requirement for these signals is that they are connected to the Event logic so that they can be programmatically routed in a common interface. Figure 4 shows the relationships among the state machine signals as it sequences through a measurement. Due to the looping capabilities of the various sections of the state machine, it is possible to have several levels of repetition (as denoted by braces around groups of signals). OperationComplete Sweeping WaitingForArm WaitingFor Measuring Settling May Occur multiple times Figure 4. State Machine Signal Relationships These signals are referenced in the programming example and the Arm, and Event logic diagrams to follow. Figures 5 and 6 are the Arm logic and a pictorial representation of the programming interface. Figures 7 and 8 are the logic and its programming interface. Figures 9 and 10 are the Event logic and programming interface. The Arm logic provides the ability to selectively enable any of the inputs as well as selections for edge or level sense and positive or negative slope (or level). This logic includes the capability of OR summing as well as AD summing for those cases when a measurement may be initiated from multiple sources independently. Bit Edge Bit Bit Input (LXI0..7 LA0..7) Logic for Each Input D FF Edge Detector Arm Clear (see notes) Figure 5. Arm Logic Mux Or WaitingForArm Line The delay built into these models is to compensate for electrical delay differences between the arm signal path and the signal path through the device under test. There are devices such as narrow band crystal filters that have significant delay that must be taken into account in order to make valid measurements. Figure 6 is a representation of an IVI-COM interface for this logic. The

mapping of the methods and properties onto the logic can be readily seen. property to false in the Arm logic and again select the Immediate trigger in the logic. Arm Arm Add( name ) Remove( name ) Count ame(index) Item( name ) ArmCount DisableAll() Or Figure 6. IVI-COM Arm Interface The Arm,, and Event interfaces are designed to be extensible so that more LA based items may be added at runtime when needed. This is the purpose of the Add and Remove methods. Logic for Each Input Bit Input (LXI0..7 LA0..7) ote: whether a 1588 clock trigger (alarm) needs this logic depends on the clock circuitry. With proper design it can be connected directly to the trigger multiplexer. WaitingFor D FF Edge Detector Figure 7. Logic LXI0..7 LA0..7 Edge Filter Edge Level Immediate Select Mux The logic (above) is a bit simpler than the Arm logic. This is mainly because we select only one trigger at a time, and most triggers happen on an edge. In some cases, where we want to OR together events and use the result to trigger the module, this can be done by using the OR summing in the Arm logic and selecting an Immediate trigger in the trigger block. A similar technique can be used for trigger gating (controlling the acquisition process with the level of a signal). All that is needed to set the Edge TimeSeconds TimeFraction Period RepeatCount TRIGGER Add( name ) Remove( name ) Count ame(index) Item( name ) Source Count For both Arm and logic, external triggers without level attributes may be treated in the same repeated capability group as LA and LXI triggers. The trigger interface in figure 8 illustrates the case where the external triggers do have a settable level attribute. The last major block is the Event logic. It is responsible for routing signals to the appropriate Event transmitter (either LXI Bus line or a LA event packet). All signals (not just signals from the Arm- state machine) which are intended to be utilized for sending events or routed to the LXI Bus, need to be connected to the input multiplexers in the Event logic shown in figure 9. Legend: Property Read Only Property Method Interface Pointer (Property) Interface Also included in this logic is the ability to invert the signal. The signal is a three state signal Off, On, and WireOr. This is applied to both the LA and the LXI trigger bus outputs. In the case of LA events in the WireOr mode, this effectively gives the test system programmer the ability to select which edge of the signal to use to generate an event (thereby reducing the LA traffic by a factor of two). ote, while the analogy of wired-or logic works both on LA and the LXI Bus, the use of negative logic to achieve a wired-and function is very problematic over LA and is not LXI0..7 LA0..7 Filter Level Figure 8. IVI-COM Interface TimeSeconds TimeFraction Period RepeatCount

supported in this model. Instead, use the AD capability in the Arm logic and route each event source to a different input. The Event interface diagram in figure 10 shows how the methods and properties are mapped onto the logic. LxiEvents LxiEvents Add( name ) Remove( name ) Count ame(index) Item( name ) DisableAll() LXI0..7 LA0..7 Data Error Source DestinationPath Source Select Logic for Each Output Figure 10. IVI-COM Event Interface Mux Bit Line Driver LXI0..7 LA0..7 Figure 9. Event Logic SAMPLE CODE I C# // tell the digitizer to output WaitingFor on LXI1 tell Arb to use LXI1 to trigger. Digitizer.Events.Item( LXI1 ).Configure( WaitingFor,, On, Positive ); Arb..Item( LXI1 ).Configure( 0, Positive ); Arb..Source = LXI1 ; // tell digitizer to output WaitingForArm falling edge as trigger for up and down converters Digitizer.Events.Item( LXI2 ).Configure( WaitingForArm,, On, egative ); UpConverter..Item( LXI2 ).Configure( 0, Positive ); UpConverter..Source = LXI2 ; DownConverter..Item( LXI2 ).Configure( 0, Positive ); DownConverter..Source = LXI2 ; // tell up-converter to output Settling on LXI3 for use by digitizer UpConverter.Events.Item( LXI3 ).Configure( Settling,, On, egative ); Digitizer.Arm.Item( LXI3 ).Configure( true, true, Positive ); // tell down-converter to output Settling on LXI4 for use by digitizer DownConverter.Events.Item ( LXI4 ).Configure( Settling,, On, egative ); Digitizer.Arm.Item( LXI4 ).Configure( true, true, Positive ); // load signal file into arb and get it ready to go // setup rest of digitizer parameters (acquisition length, SignalLevel trigger, etc.) // start digitizer - acquire 101 signal packets Digitizer.Arm.ArmCount = 101;

Digitizer.Initiate(); // digitizer will now wait until it sees Settled from the up and down converters. // setup frequencies for up and down converter UpConverter.Frequency.Sweep.Configure( 2e9, 3e9, 10e6 ); DownConverter.Frequency.Sweep.Configure( 2e9, 3e9, 10e6 ); // as soon as both converters settle, the digitizer will trigger the arb and start measuring // loop and read back data double [,] data = new double[101, 10000]; for( int index = 0; index <=100; index++) data[index] = Digitizer.Trace.Fetch(); // Done The above code example uses the LXI Bus for measurement synchronization. To modify this code for LA triggering simply requires replacing the string LXI with LA in all instances highlighted in violet and underlined above. This symmetry between the LXI Bus and LA triggering illustrates the simplicity of using the proposed arm and trigger interfaces in a traditional functional test scenario. For other scenarios, having an accurate time of day clock based on IEEE 1588 for triggering allows the additional capability of simultaneously triggering hundreds or thousands of measurement devices with an accuracy in the tens of nanoseconds. The combination of all of these triggering methods enables the test system designer to deal with a wider range of measurement issues in a consistent and straight forward manner. Some rules of thumb for selecting which trigger resources to use include: For tight timing requirements needing hard wired signals within a test system, the LXI Bus is recommended. If the timing requirement accuracy need is a few tens of nanoseconds, or the measurement hardware is widely dispersed, then triggering based on IEEE 1588 clocks is a viable solution. If the timing and synchronization requirements can tolerate a latency of tens to a few hundred microseconds (or greater), LA triggering is a very convenient solution. SUMMAR The example measurement illustrates just a few of the triggering and synchronization capabilities that can be addressed by the LXI triggering facilities. It was chosen because it is typical of measurements made in functional test systems. The capability and flexibility of the LXI triggering interfaces can also be applied to data acquisition and monitoring situations as well. A key element in the design of the LXI trigger interfaces, is that the use of the LXI Bus and the LA triggers should be as similar as possible. The reason for this is so that test system programmers can switch between the two easily and quickly as their needs change thus allowing the same programming techniques to address a wider range of situations. Likewise, standardizing the trigger state machine names used in the interfaces improves portability and shortens test system development time. Lastly, the extensible nature of the LA triggering and events interfaces allows the system designer to add logical trigger channels on an as-needed basis. REFERECES [1] Standard Commands for Programmable Instrumentation (SCPI) Consortium, Volume 2: Command Reference. 1999, pp. 24-1 to 24-4. http://www.scpiconsortium.org/scpi-99.pdf Copyright 2005 Institute of Electrical and Electronics Engineers, Inc. Used with permission