Racal Instruments 3156B User Manual

200 ms/s dual channel waveform synthesizer
Table of Contents

Advertisement

Quick Links

200 MS/s DUAL CHANNEL
WAVEFORM SYNTHESIZER
Tel: (800) 722-2528, (949) 859-8999; Fax: (949) 859-7139
5730 Northwest Parkway Suite 700, San Antonio, TX 78249
Tel: +33 (0)1 39 23 22 22; Fax: +33 (0)1 39 23 22 25
29-31 Cobham Road, Wimborne, Dorset BH21 7PF, United Kingdom
Tel: +44 (0) 1202 872800; Fax: +44 (0) 1202 870810
Racal Instruments Group Limited, Technologie Park, D-51429 Bergisch Gladbach, Germany
Copyright 2005 by Racal Instruments, Inc. Printed in the United States of America. All rights reserved.
This book or parts thereof may not be reproduced in any form without written permission of the publisher.
MODEL 3156B
PUBLICATION NO. 980897
RACAL INSTRUMENTS
United States
(Corporate Headquarters and Service Center)
4 Goodyear Street, Irvine, CA 92618
Tel: (210) 699-6799; Fax: (210) 699-8857
Europe
(European Headquarters and Service Center)
18 Avenue Dutartre, 78150 LeChesnay, France
Via Milazzo 25, 20092 Cinisello B, Milan, Italy
Tel: +39 (0)2 6123 901; Fax: +39 (0)2 6129 3606
Tel: +49 2204 844205; Fax: +49 2204 844219
info@racalinstruments.com
sales@racalinstruments.com
helpdesk@racalinstruments.com
http://www.racalinstruments.com
info@racalinstruments.de
www.racalinstruments.de
PUBLICATION DATE: August 24, 2005

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the 3156B and is the answer not in the manual?

Questions and answers

Summary of Contents for Racal Instruments 3156B

  • Page 1 PUBLICATION DATE: August 24, 2005 Copyright 2005 by Racal Instruments, Inc. Printed in the United States of America. All rights reserved. This book or parts thereof may not be reproduced in any form without written permission of the publisher.
  • Page 2 Authorization is required from Racal Instruments before you send us your product for service or calibration. Call your nearest Racal Instruments support facility. A list is located on the last page of this manual. If you are unsure where to call, contact Racal Instruments, Inc. Customer Support Department in Irvine, California, USA at 1-800-...
  • Page 3 This document and the technical data herein disclosed, are proprietary to Racal Instruments, and shall not, without express written permission of Racal Instruments, be used, in whole or in part to solicit quotations from a competitive source or used for manufacture by anyone other than Racal Instruments. The information herein has...
  • Page 4 FOR YOUR SAFETY Before undertaking any troubleshooting, maintenance or exploratory procedure, read carefully the WARNINGS and CAUTION notices. This equipment contains voltage hazardous to human life and safety, and is capable of inflicting personal injury. If this instrument is to be powered from the AC line (mains) through an autotransformer, ensure the common connector is connected to the neutral (earth pole) of the power supply.
  • Page 6 This page was left intentionally blank.
  • Page 7: Table Of Contents

    3156B User Manual Table Of Contents CHAPTER 1 ........................1-1 GETTING STARTED ........................1-1 What’s in This Chapter........................1-1 Introduction ............................1-2 Options.............................1-4 Manual Changes..........................1-4 Safety Considerations........................1-4 Supplied Accessories........................1-4 Specifications...........................1-5 Functional Description ........................1-5 Input and Output Connectors......................1-5 Main Output - Channel 1 and 2......................1-6 SYNC Output - Channel 1 and 2......................1-7...
  • Page 8 Modulation Run Modes ........................1-20 Continuous.............................1-21 Triggered ............................1-21 Delayed Trigger ..........................1-21 Burst ..............................1-22 Mixed Triggers ..........................1-22 Re-Trigger............................1-22 Digital Patterns ..........................1-22 Video Stroke Waveforms .......................1-23 Output State...........................1-23 Enable State ..........................1-23 Front Panel Indicators........................1-24 Programming the Model 3156B .....................1-24 Racal Instruments © 2005...
  • Page 9 3156B User Manual CHAPTER 2 ........................2-1 CONFIGURING THE INSTRUMENT....................2-1 Installation Overview........................2-1 Unpacking and Initial Inspection ......................2-1 Safety Precautions...........................2-1 Performance Checks ........................2-2 Grounding Requirements.........................2-2 Long Term Storage or Repackaging For Shipment .................2-3 Preparation for Use..........................2-3 Logical Address Selection........................2-4 Installation............................2-4 CHAPTER 3 ........................3-1...
  • Page 10 3156B User Manual Generating Standard Waveforms ....................3-19 Generating Arbitrary Waveforms ....................3-20 What Are Arbitrary Waveforms? ....................3-20 Arbitrary Memory Management .....................3-22 Memory Management Commands....................3-22 Loading Arbitrary Waveforms ......................3-23 Using the 12-bit Download mode....................3-24 Reversing Byte Order ........................3-24 Changing the Sample Clock Frequency ..................3-24 Generating Sequenced Waveforms....................3-26...
  • Page 11 3156B User Manual CHAPTER 4 ........................4-1 WAVECAD............................4-1 What’s in This Chapter........................4-1 Introduction to WaveCAD ........................4-1 Installing WaveCAD .........................4-2 Quitting WaveCAD...........................4-2 For the New and Advanced Users ....................4-2 Conventions Used in This Manual ....................4-3 The Opening Screen........................4-3 WaveCAD Features .........................4-5 The Control Panels ..........................4-5 The Main Panel..........................4-6...
  • Page 12 3156B User Manual The FM Composer .........................4-46 The Commands bar ........................4-46 File Commands..........................4-47 Wave Commands ..........................4-48 Generating Waveforms Using the Equation Editor ................4-50 Writing Equations...........................4-52 Equation Conventions........................4-52 Typing Equations ...........................4-53 Equation Samples..........................4-54 Combining Waveforms........................4-59 CHAPTER 5 ........................5-1 PROGRAMMING REFERENCE......................5-1 What’s in This Chapter ........................5-1 Introduction ............................5-1...
  • Page 13 3156B User Manual CHAPTER 6 ........................6-1 MAINTENANCE AND PERFORMANCE CHECKS .................6-1 What’s in This Chapter........................6-1 Disassembly Instructions .........................6-1 Special Handling of Static Sensitive Devices...................6-2 Cleaning............................6-2 Repair and Replacement .........................6-3 Performance Checks ........................6-3 Environmental Conditions ........................6-3 Warm-up Period..........................6-4 Initial Instrument Setting ........................6-4 Recommended Test Equipment ......................6-4...
  • Page 14 3156B User Manual Trigger Operation...........................6-12 Trigger, Gate and Burst .........................6-12 Delayed Trigger ..........................6-13 Re-Trigger............................6-14 Trigger Slope ..........................6-15 Trigger Level ..........................6-16 Sequence Operation ........................6-17 Automatic Advance ........................6-17 Step Advance ..........................6-18 Step Advance ..........................6-19 Modulated Waveforms Characteristics ..................6-20 FSK ..............................6-20 FM – Std Waveforms, Continuous Run Mode ................6-22 FM –...
  • Page 15 3156B User Manual Required Equipment ........................6-37 3156B Remote Calibration Procedure ...................6-37 CHAPTER 7 ........................7-1 PRODUCT SUPPORT........................7-1 Product Support ..........................7-1 Reshipment Instructions ........................7-1 Support Offices ..........................7-2 Racal Instruments © 2005...
  • Page 16 3156B User Manual APPENDIX A ........................A-1 SPECIFICATIONS .......................... A-1 VXIbus General Information ......................A-1 Module General Information ......................A-1 Sampling Clock ..........................A-2 Amplitude Characteristics ....................... A-3 Racal Instruments © 2005...
  • Page 17 3156B User Manual LIST OF FIGURES Figure 1-1 Model 3156B ....................... 1-1 Figure 1-2 3156B Front Panel....................... 1-6 Figure 1-3 WaveCAD Example – Standard Waveforms Panel ........... 1-11 Figure 1-4 WaveCAD Example – Arbitrary & Sequenced Waveforms Panel ......1-12 Figure 1-5 Segment 1 Waveform - Sinc..................
  • Page 18 3156B User Manual Figure 4-4 The Standard Waveforms Panel ................4-10 Figure 4-5 The Arbitrary & Sequence Panel ................4-12 Figure 4-6 The Memory Partition Table ..................4-15 Figure 4-7 The Sequence Table ....................4-18 Figure 4-8 The Trigger Panel.......................4-20 Figure 4-9 The Modulation Panel 1....................4-22 Figure 4-10 The Modulation Panel 2....................4-25...
  • Page 19 3156B User Manual Figure 6-1 New Calibration Button....................6-37 Figure 6-2 Enter Password Dialog Box..................6-38 Figure 6-3 Calibration Pane ......................6-38 List of Tables Table 3-1 Inter-Channel Dependencies ..................3-1 Table 3-2 Enable/Disable Source with Different Run Modes ............3-8 Table 5-1 Driver Function Calls Summary ..................
  • Page 20 3156B User Manual Table 6-6 Offset Accuracy, Modulation Waveforms...............6-8 Table 6-7 Squarewave Characteristics Tests ................6-9 Table 6-8 Sinewave Distortion, DAC Waveforms Tests ..............6-9 Table 6-9 Sinewave Spectral Purity, DAC Waveforms Test ............6-10 Table 6-10 Sinewave Spectral Purity, Modulation Waveforms Tests ..........6-11 Table 6-11 Sinewave Flatness, DAC Waveforms Tests ..............6-11...
  • Page 21: Chapter 1

    Chapter 1 GETTING STARTED What’s in This This chapter contains a general description of the VXIbus Models 3156B Waveform Generators and an overall functional description of Chapter the instrument. It also describes the front panel connectors and indicators. Figure 1-1 Model 3156B Racal Instrument ©...
  • Page 22: Introduction

    I&Q modulation. Direct Digital Synthesis (DDS) technology, utilized in the design of the 3156B, allows flexibility in usage of features like FM, FSK, sweep and frequency hopping. For example, the FM feature can be stimulated by an internal source, or arbitrary FM waveform allowing the production of customized chirp signals.
  • Page 23 & Play driver and Soft Front Panel (SFP) example. The SFP driver simulate an array of mechanical front panels with the necessary push buttons, displays and dials to operate the Model 3156B as if it is a bench-top instrument. Also available is WaveCAD 3.0 – Waveform Creation and Editing utility, which is very similar to the SFP however, provides complete access to all functions and features of the 3156B.
  • Page 24: Options

    TCXO time base (1ppm) is offered as an option for the 3156B. The TCXO option is not field installable and therefore, it must be ordered with the product. Compare the option number below with the number printed on your instrument to check if the TCXO option is installed in your equipment.
  • Page 25: Specifications

    The Model 3156B has 6 SMB connectors on its front panel: two main Input and Output outputs, two SYNC outputs, two digital outputs, trigger and 10MHz Connectors reference clock input. The connectors are described in the following paragraphs.
  • Page 26: Main Output - Channel 1 And 2

    SYNC CHANNEL 2 MAIN SYNC TRIG Figure 1-2 3156B Front Panel The main output connectors output fixed (standard) waveforms to Main Output - 25MHz, user (arbitrary) and sequenced waveforms with sampling Channel 1 and 2 clock to 200MS/s. Output source impedance is 50Ω, hence the cable connected to this output should be terminated with 50Ω...
  • Page 27: Sync Output - Channel 1 And 2

    When hardware option is selected, the instrument will output waveform only after a valid trigger signal is applied to the trigger input. The trigger input is also used for enabling waveforms when the 3156B is placed in trigger, burst, or mixed run modes.
  • Page 28: Continuous

    1) Output is on and 2) Output is enabled by either a software or hardware enable command. The Model 3156B can be triggered from a number of sources: trigger signal from a front panel connector, trigger signal on one of the VXI backplane TTLTRG<n>...
  • Page 29: Burst

    Trigger delay and re-trigger delay modes apply to the burst run mode. Two conditions are required for the 3156B to output bursts of waveforms: 1) Output is on 2) Output is enabled by either a software or hardware enable command.
  • Page 30: Standard Waveforms

    Unlike analog function generators that use electrical circuits to produce the wave shapes, the 3156B must compute the waveform coordinates every time a new function is selected or every time the parameters of the function change.
  • Page 31: Arbitrary Waveforms

    3156B User Manual Figure 1-3 WaveCAD Example – Standard Waveforms Panel One of the main functions of the Racal model 3156B is generating Arbitrary real-life waveforms. These are normally not sinewaves and squares Waveforms but user specific waveforms. Generating such waveforms require external utilities such as MatLAB or even spreadsheets but having the program alone is not enough for the 3156B;...
  • Page 32: Figure 1-4 Wavecad Example - Arbitrary & Sequenced Waveforms Panel

    3156B User Manual The size of the working memory is limited to the way the hardware was designed. The 3156B has 1Meg points available to build one or more waveforms. There is no need to use the entire memory for only one waveform;...
  • Page 33: Sequenced Waveforms

    When in sequenced mode, there is no time gap between linked or looped segments. The Model 3156B has two separate sequence generators – one for each channel. Each sequence generator is dedicated to its own channel.
  • Page 34: Figure 1-6 Segment 2 Waveform - Sine

    3156B User Manual Figure 1-6 Segment 2 Waveform - Sine Figure 1-7 Segment 3 Waveform - Pulse The following sequence was made of segment 2 repeated twice, segment 1 repeated four times, and segment 3 repeated two times. Getting Started 1-14...
  • Page 35: Figure 1-8 Sequenced Waveform

    3156B User Manual Figure 1-8 Sequenced Waveform The table below from WaveCAD’s Waveform Studio, shows how the same sequence can be defined using WaveCAD. Figure 1-9 WaveCAD's Waveform Studio Racal Instrument © 2005 Getting Started 1-15...
  • Page 36: Modulated Waveforms

    3156B User Manual Modulated Using the latest DDS technology, the 3156B is capable of producing an array of modulation which, places this generator in-line with high Waveforms performance, modulation generators. The 3156B can produce: Sweep, FSK, Frequency Hops, AM, FM and the most advanced modulation function - Arbitrary FM.
  • Page 37: Fsk

    Marker Position – programs a unique frequency where the SYNC output generates a pulse to mark this frequency. The 3156B starts to sweep following an enable command. The source of the enable command is selectable from software, front panel trigger input, or from a backplane TTLTrg(n) line.
  • Page 38 3156B User Manual The 3156B requires an enable command to start hops between frequencies. The source of the enable command is selectable from software, front panel trigger input, or from a backplane TTLTrg(n) line. When frequency hop function is selected but an enable command has not been received yet, the 3156B outputs continuous carrier frequency.
  • Page 39: Arbitrary Fm

    FM composer panel. The 3156B requires an enable command to start arbitrary frequency modulation. The source of the enable command is selectable from software, front panel trigger input, or from a backplane TTLTrg(n) line.
  • Page 40: Modulation Run Modes

    3156B User Manual Figure 1-11 WaveCAD Example - Arbitrary FM Composer Panel Modulation Run Modulation can be generated by the 3156B using the same run modes as for standard, arbitrary and sequenced waveforms except when in Modes modulation function, where run mode options take different meaning.
  • Page 41: Continuous

    When not enabled, the 3156B outputs carrier waveform (sine) with frequency value defined by the carrier frequency parameter. In triggered mode, the Model 3156B circuits are armed to generate a Triggered single cycle of modulated waveform. The trigger circuit is sensitive to transitions at the trigger input.
  • Page 42: Burst

    Two conditions are required for the 3156B to output bursts of modulated waveforms: 1) Output is on 2) Output is enabled by either a software or hardware enable command.
  • Page 43: Video Stroke Waveforms

    “X” axis and the other channel drives the “Y” axis. Waveforms There are ten standard video stroke characters built in the 3156B software however, using the arbitrary capability of the instrument, one can build and generate multiple characters to match any application.
  • Page 44: Front Panel Indicators

    3156B User Manual There are four LED’s on the front panel. The FAIL LED (Red) Front Panel illuminates at power up until the Model 3156B has passed self-test. Indicators The FAIL LED remains on if the self-test fails. The ACCESS LED (Amber) illuminates each time a command has been received by the Model 3156B.
  • Page 45: Chapter 2

    Chapter 2 CONFIGURING the INSTRUMENT Installation This chapter contains information and instructions necessary to prepare the Model 3156B for operation. Details are provided for initial Overview inspection, grounding safety requirements, repackaging instructions for storage or shipment, logical address selection and installation information.
  • Page 46: Performance Checks

    Although BNC housings are isolated from the front panel, the metal part is connected to earth ground. WARNING Do not attempt to float the output(s) from ground as it may damage the Model 3156B and your equipment. Configuring The Instrument 2-2 Racal Instrument © 2005...
  • Page 47: Long Term Storage Or Repackaging For Shipment

    NOTE If the instrument is to be shipped to Racal Instruments for calibration or repair, attach a tag to the instrument identifying the owner. Note the problem, symptoms, and service or repair desired.
  • Page 48: Logical Address Selection

    ) to set the logical address using the active low address switch. A switch is active when its arm is placed in the ON position. Racal Instruments ships the Model 3156B with the logical address set to 2. Figure 2-1 Logical Address Set to “2”...
  • Page 49 3156B User Manual After installation, install the software and drivers on the supplied CD and perform an initial checkout and operational verification. The CD has the following utilities: Plug&Play driver, SFP’s (soft front panels), WaveCAD 3.2, manual and links to service centers.
  • Page 50 3156B User Manual This page was left intentionally blank. Configuring The Instrument 2-6 Racal Instrument © 2005...
  • Page 51: Chapter 3

    Function calls for the Model 3156B are listed in Table 4-1. The following paragraphs describe how to set up the 3156B for different modes and operations with the aid of WaveCAD examples. Inter-Channel The Model 3156B has two output channels.
  • Page 52 3156B User Manual Table 3-1 Inter-Channel Dependencies (continued) Channel A Channel B 3156B Run Setting Waveform Waveform Mode Conflict Standard Modulated Burst Video Stroke Digital Patterns Arbitrary Standard Arbitrary Sequenced Continuous Sequenced Triggered Sequenced Gated Sequenced Burst Modulated Continuous Modulated...
  • Page 53 3156B User Manual Table 3-1 Inter-Channel Dependencies (continued) Channel A Channel B 3156B Run Setting Waveform Waveform Mode Conflict Modulated Standard Continuous Standard Triggered Standard Gated Standard Burst Arbitrary Continuous Arbitrary Triggered Arbitrary Gated Arbitrary Burst Sequenced Continuous Sequenced Triggered...
  • Page 54: Output Termination

    SYNC cables with terminating resistors. Always place the 50Ω termination at the far end of the cables. Input / Output The Model 3156B provides protection for internal circuitry connected to input and output connectors. Refer to the specifications in Appendix Protection A to determine the level of protection associated with each input or output connector.
  • Page 55: Enabling Output Waveforms

    3156B User Manual You can also use the Utility panel from WaveCAD to perform the same function. Note that by turning the output on, the 3156B is still not enabled to output waveforms. The output on command activates a mechanical relay that connects the output connector to the internal circuits.
  • Page 56: Figure 3-1 Enabling Output Waveforms

    The equivalent function calls are: ri3156Bset_output (1) ri3156Bset_enable (0) If you try this example, the 3156B should output a sine waveform from its Channel 1 output. The sine parameters are by default: 1MHz, 5Vp-p. Note that the enable command affects both channels simultaneously and therefore, channel 2 will output waveforms immediately after the output state is turned on.
  • Page 57: Selecting An Output Enable Source

    In triggered or burst modes, the output resumes CW frequency at the end of the modulating wave. The enable signal can be applied to the 3156B from a number of sources as described below: Software – defines an enable command is expected from a software source Hardware –...
  • Page 58: Table 3-2 Enable/Disable Source With Different Run Modes

    3156B User Manual Table 3-2 Enable/Disable Source with Different Run Modes Enable Disable Source Index 3156B Run Mode Trigger Delay Re-Trigger Source Continuous Software Software Hardware Software Software Software Hardware Software Triggered Software None Hardware None Software None Hardware None...
  • Page 59: Generating Simple Waveforms

    3156B User Manual Generating To best way to learn how to control the 3156B is by first practicing with simple waveforms and then step by step building up the knowledge Simple and level of confidence in the performance of the instrument. The first Waveforms example would be to make the 3156B generate sine waves.
  • Page 60: Figure 3-3 Wavecad Main Panel

    Figure 3-3 WaveCAD Main Panel Note The link in Figure 3-3 shows 3156B, Offline. If such link is established, there is no communications between the 3156B and your controlling device. The link field should show 3156B, VXI0::2 if communications has been established between the instrument and the controlling device.
  • Page 61 0V and amplitude is 5V. If your amplitude is off by a factor of 2, it could only mean that the instrument has not been terminated properly. The output of the 3156B is calibrated when the signal is applied to a load impedance of 50Ω and therefore either add a feedthrough terminating resistor or modify your oscilloscope setting to have 50Ω...
  • Page 62 Use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. You can modify the offset is a similar way.
  • Page 63: Amplitude-Offset Interaction

    3156B User Manual enable command. If you intend to use hardware enable you have to select the hardware enable source with the ri3156B_set_enable_source () function ri3156B_set_amplitude() Is used to set up the amplitude level Is used to set up the offset level...
  • Page 64: Figure 3-4 The Standard Waveforms Panel

    Just point and click on the required parameter and then change the display setting and press the Execute button to update the 3156B. The 10MHz reference buttons let you select the source for the internal clock. If you leave as is, the default is Internal.
  • Page 65: Using The Apply Command

    3156B Restores factory defaults after power ri3156B_reset up. Complete listing of the 3156B defaults is given in Table 5-1 Turn on channel 1 output ri3156Bset_output (1) ri3156B_apply_square_wave () This will set square waveform as the...
  • Page 66: Selecting The Active Channel

    () The WaveCAD Main Panel, shown in Figure 3-2, demonstrates high-level implementation of channel control. There are six main types of waveforms that the model 3156B can produce: Selecting an Output Type 1. Standard, from a built-in library of waveforms 2.
  • Page 67 3156B User Manual The 3156B was designed in a way to allow different waveforms and functions to be output from each channel, for example, if channel 1 is programmed to output an arbitrary waveform, the other channel can be programmed to output sequenced waveforms.
  • Page 68: Figure 3-5 Using Wavecad Main Panel To Select A Waveform Type

    Looking at the WaveCAD Main Panel in Figure 3-5, the Wave Mode group has buttons associated with each waveform type. Point and click on the required function and the output of the 3156B will by updated immediately with the new type. Note that if channel 2 output is on and enabled, the selection will automatically be associated with the other channels as well.
  • Page 69: Generating Standard Waveforms

    Use the following function call to select the waveform shape: ri3156B_set_standard_waveform () The function variables are from 0 to 8. Upon power up, the 3156B defaults to 0 (sine waveform). selects sine waveform...
  • Page 70: Generating Arbitrary Waveforms

    1/65536. Waveforms? The Model 3156B has waveform memory capacity of 1Meg point. Each horizontal point has a unique address - the first being 00000 and the last depends on the size of the memory. In cases where smaller waveform length is required, the waveform memory can be divided into smaller segments.
  • Page 71: Figure 3-6 Wavecad Example Of A Complex Waveform

    3156B User Manual Unlike the built-in library of standard waveforms, arbitrary waveforms must first be loaded into the instrument's memory. Generation of waveform coordinates can be done in multiple ways but the easiest is using WaveCAD for on-screen creation and editing of waveform, no matter how complex.
  • Page 72: Arbitrary Memory Management

    Memory different arbitrary waveforms can be stored in working memory of the Management Model 3156B. The length of each segment and its associated sample clock rate are left for the user to program. Segment length are defined Commands using the following function call: ri3156B_define_arb_segment () This function call has two variables: segment number and size.
  • Page 73: Loading Arbitrary Waveforms

    Next, make a specific segment number is made the active segment. The active segment must be selected because as waveforms are loaded, the Model 3156B must be notified as to where to place the data it receives. Select the active segment using the following function...
  • Page 74: Using The 12-Bit Download Mode

    12 bit data arrays are available, for example, waveform file that Download mode were used previously on other 12-bit waveform generators, the 3156B can be adjusted to accept 12-bit data. Regardless, the data is stored in 16 bit words and therefore, the 12-bit data must be multiplied by 8 so that the MSB bit is shifted 4 places to the left.
  • Page 75 3156B User Manual Standard waveform frequency is measured in units of Hertz (Hz). Arbitrary waveform sample clock frequency is measured in units of Samples per second (S/s). The frequency of a given arbitrary waveform at the output connector must be computed using the sample clock frequency and the number of data points.
  • Page 76: Generating Sequenced Waveforms

    3156B User Manual Figure 3-7 WaveCAD Arbitrary and Sequence Panel Generating Sequenced Waveforms Sequenced waveforms are made of a number of arbitrary waveforms, What Are which can be linked and repeated in user-programmable order. Sequenced Sequenced waveforms are generated from waveforms stored in a library of memory segments (sequence table).
  • Page 77: Sequence Commands

    Note that the same segment number can be used for different sequence steps. These commands do not change the mode of operations to sequence. The table will affect the 3156B only if you change the waveform function to sequenced. Racal Instrument © 2005...
  • Page 78 3156B User Manual The sequence generator goes through its steps in descending order. In continuous run mode, the sequence is repeated automatically after the last step has been completed. When the generator is set to operate in Triggered mode, the output stops at the last point of the last waveform in the sequence.
  • Page 79: Controlling The Sequence Advance

    3156B User Manual Figure 3-8 WaveCAD example of a Segment and Sequence Tables The way the instrument advances through the sequence links and the Controlling the source of the event causing sequence advance can be specified by Sequence the user. Use the following command to control how the sequence...
  • Page 80: Using The Modulated Waveforms

    In SINGLE advance mode, the Model 3156B idles between steps until a valid trigger signal is sensed. This advance mode is available when the 3156B is in triggered run mode only. An attempt to select the SINGLE advance mode when the Model 3156B is in continuous run mode will generate a setting conflict error.
  • Page 81 () There are 6 argument options available: 0 – places the 3156B in modulation OFF mode where the output is connected to the modulation source but the modulation is not selected or inactive yet. In this case, the output generates carrier frequency with the following properties: waveform is sinewave and frequency is set by the carrier frequency parameter.
  • Page 82 3156B User Manual 4 – selects Sweep. Depending on the modulation run mode, the output idles on carrier frequency until a valid enable signal is applied to the generator. The following Sweep parameters are available for modification: Start and Stop frequency range, Sweep type and direction, Sweep time and marker frequency.
  • Page 83: Figure 3-9 Wavecad Example, Modulation Programming

    Note however, that WaveCAD is using the function call ri3156b_set_common_waveform_mode () to set up both channel simultaneously so if you need to set up the 3156B to output different modulation types from each channel, the only way to use WaveCAD is from its function call editor, as explained in Chapter 4.
  • Page 84: Using The Digital Outputs

    3156B User Manual The 3156B has two special connectors of which can be used to Using the Digital generate digital patterns. Each channel generates different patterns. Outputs The inter-channel dependencies and run mode rules apply to the digital outputs as well. The conditions that are legal for both channels if one is producing modulation are summarized in Table 3-1.
  • Page 85 Note however, that WaveCAD is using the function call ri3156b_set_common_waveform_mode () to set up both channel simultaneously so if you need to set up the 3156B to output different waveform types from each channel, the only way to use WaveCAD is from its function call editor, as explained in Chapter 4.
  • Page 86: Using The Video Stroke Generator

    To first step to place the instrument in video mode. Since video requires that both channels generate characters, the only function call to use for placing the 3156B in video stroke mode is the following: ri3156b_set_common_waveform_mode () The next step after placing the generator in video mode is to select the character type.
  • Page 87 3156B User Manual If you do not intend to use the built in characters and want to download to the 3156B memory your own characters, you will be using the instrument in a similar way as you would be using the arbitrary function, hence downloading character data to segments in the arbitrary memory.
  • Page 88: Selecting Run Modes

    Note Regardless of the selected run mode, the 3156B will not start generating waveforms before an output enable command is issued. The enable command can be software, hardware or mixed.
  • Page 89: Continuous Run Mode

    (1) Variable number 1 selects the trigger run mode. The 3156B can also be programmed to re-trigger itself, after a valid trigger command, to run continuously in triggered mode with a delay between triggers, which is set with the re-trigger delay parameter. Use...
  • Page 90: Gated Run Mode

    DC level that is equal to the amplitude of the last point of the waveform. To place the Model 3156B in Gated mode, use the following function call: ri3156B_set(query)_carrier_run_mode (2) Variable number 2 selects the gated run mode.
  • Page 91: Selecting The Trigger Slope

    3156B User Manual The trigger slope command toggles edge sensitivity for the selected Selecting the trigger input. The Model 3156B can be made sensitive to either Trigger Slope positive or negative transitions. The inputs that will be affected by this command are: Front-panel TRIG IN connector, TTLTrg lines 0 through 7 and ECLTrg line 0.
  • Page 92: Activating The Backplane Ttltrg Lines

    3156B User Manual The Model 3156B can receive triggers on the backplane TTLTrg 0 Activating the through 7 and ECLTrg0 lines. The instrument can also be made Backplane TTLTrg outputs and transmit the Sync signal on the same lines, except not on the ECLTrg0 line.
  • Page 93: Chapter 4

    WaveCAD. Introduction to WaveCAD and examples how to program Chapter instrument controls and parameters and how to generate waveforms and download them to the 3156B are also given in the following sections. In general, WaveCAD is a utility program that serves as an aid for Introduction to programming the Model 3156B.
  • Page 94: Installing Wavecad

    3156B User Manual The installation program installs WaveCAD on a logical drive of your Installing choice. The default is drive C. It automatically creates a new directory WaveCAD and copies the files that are required to run the program. Before you install WaveCAD, make sure that there is at least 5 megabytes of available memory on your hard disk drive.
  • Page 95: Conventions Used In This Manual

    3156B User Manual This manual uses certain typographical conventions to make it easier Conventions for you to follow instructions. These conventions are described in the Used in This following: Manual [Enter, or ↵] Press the Enter or Return key. [Esc] Press the Escape key.
  • Page 96: Figure 4-2 Wavecad's Toolbars

    The second bar is called Link bar. It provides direct access to different instruments that are active on the VXI bus. WaveCAD can control a number of 3156B units simultaneously. If the instruments were connected to the VXIbus system while invoking WaveCAD, they will automatically be detected by the program and will be placed in the Link pull-down window.
  • Page 97: Wavecad Features

    3156B User Manual WaveCAD’s main purpose is controlling 3156B functions and WaveCAD parameters. The 3156B can generate standard waveforms from a Features built-in library, arbitrary waveforms from user-downloaded coordinates, modulated waveforms, digital patterns and much more. The only way to access all of these features is through software utilities such as Plug &...
  • Page 98: The Main Panel

    Execute button. Digital Display – The display is used for displaying and reading various 3156B parameters, just as you would use it on your instrument. The Main Panel, as shown in Figure 4-3, is the first panel you see The Main Panel after invoking WaveCAD.
  • Page 99: Figure 4-3 The Main Panel

    If you are connected properly to a VXI chassis and WaveCAD has detected your instrument, then every time you press a button, you are getting an immediate action on the 3156B. It is different if you are changing parameters on the display; Doing this, you’ll have to press the Execute button for the command to update the instrument.
  • Page 100 SYNC output automatically reverts to LCOM (loop Complete) output. Output The Output group is used for controlling the state of the 3156B channel 1 and 2 outputs and allows selection of the enable source. It also provides access to software enable commands. The default Operate Enable source is Software and therefore, if the output state is on, clicking on the operate Enable button will stimulate the output.
  • Page 101: The Standard Waveforms Panel

    3156B to generate signals. Enable The enable group affects the 3156B only when the operate enable source is set to software (software is the default enable source). If the output state is on, clicking on the operate Enable button will stimulate the output.
  • Page 102: Figure 4-4 The Standard Waveforms Panel

    LED illuminates. You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. Note Normal color of the digital reading is dark blue. If you...
  • Page 103: The Arbitrary & Sequence Panel

    ARB button on the Panels bar. Note that if you invoke the Sequence Panel Arbitrary & Sequence Panel from the Panels menu, the 3156B will not change its output type. On the other hand, if you select the arbitrary, or the sequenced options from the Main Panel, the 3156B will immediately change its output to the selected waveform type.
  • Page 104: Figure 4-5 The Arbitrary & Sequence Panel

    Sample Clock The Sample Clock group is comprised of parameters that control the sample clock mode and frequency. The 3156B has two sample clock ranges: 200MS/s and 100MS/s. Using the 200MS/s sample clock frequency, the number of waveform points is restricted to even number only.
  • Page 105 The Sequence Advance group provides control over advance modes for the sequence generator. Advance options are: Auto, Stepped and Single. Refer to the 3156B manual to find out more when and how to use these advance modes. You should be careful while selecting...
  • Page 106 Waveforms are downloaded to the instrument as coordinates and are stored in the 3156B in a place designated as “waveform memory”. The waveform memory has a finite size of 1Meg.
  • Page 107: Figure 4-6 The Memory Partition Table

    3156B User Manual Figure 4-6 The Memory Partition Table The two main fields in the segment table are Segment number and segment size. The Seg No (segment number) is an index field that can have values only, from 1 to 4096. The Segment Size is always associated with the segment number.
  • Page 108: Using The Waveform Studio

    Free, if no file has yet been assigned to this segment number, or Mapped, if file name has been assigned to the segment but the Download button has not been used yet to move the file to the 3156B memory, or Loaded, if the process has been completed by pressing either the Download button or the All (download all) button.
  • Page 109 This tool is called – Sequence Table. Using the Sequence table you can use waveforms that you downloaded to the 3156B from the Segment table to link and loop in random order to create one long and complex waveform that combines the individual memory segments.
  • Page 110: Figure 4-7 The Sequence Table

    3156B User Manual The Sequence Table is demonstrated in Figure 4-7. To access the Sequence table, click anywhere on the Sequence Table area. If it was not yet, it will turn white as opposed to the Segment Table area that turns gray.
  • Page 111 2, which will loop 2 times; segment 1, looping 4 times and segment 3 looping 2. HINT The 3156B has two separate sequence generators, one for each channel. If the 3156B is programmed to continuous run mode, make sure both channels have the same sequence length for inter-channel synchronization.
  • Page 112: Figure 4-8 The Trigger Panel

    µs from 0.5µs to 21s. The Slope sub-group lets you select edge sensitivity for the trigger input of the 3156B. If you click on Positive, the instrument will trigger on the rising edge of the trigger signal. Likewise, if you click on Negative, the instrument will trigger on the falling edge of the trigger signal.
  • Page 113 The Main Panel output control group defines if the enable source is software, hardware, or mixed. If hardware or mixed enable options are selected, the 3156B must be told from where the trigger or enable signal will arrive. The instrument can be programmed to receive such signals from the front panel TRIG IN connector or from one of 8 backplane TTLTrg trigger lines.
  • Page 114: The Modulation Panels

    The legal options for programming both channels are summarized in Table 3-1. When modulation is Off, the 3156B generates carrier signal (sinewave) at a frequency set by the carrier frequency parameter. Besides the Modulation Mode and Enable groups which are common to both panels, each pf the modulation panels has a different set of functions and parameters.
  • Page 115 You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. Note Normal color of the digital reading is dark blue.
  • Page 116 You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. The AM Group has parameters that control the amplitude modulation function.
  • Page 117 You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. Racal Instrument © 2005...
  • Page 118 The FSK Data table, as shown in Figure 4-11, programs a sequence of bits that are associated to an index number. The 3156B steps through the programmed index number and shifts or returns the carrier frequency according to the “0” and “1” list. When the index line is “0”, the instrument generates sine waveforms with frequency set by the carrier frequency parameter.
  • Page 119: Figure 4-11 The Fsk Data Table

    3156B User Manual Figure 4-11 The FSK Data Table Racal Instrument © 2005 WaveCAD 4-27...
  • Page 120 You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. There are two sub-groups in the sweep block – Type and Direction.
  • Page 121: Figure 4-12 The Variable Hold Time Frequency Hop Table

    You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. Frequency hops are generated using a hop data table, similar to that shown in Figure 4-12.
  • Page 122: The Digital And Video Panel

    You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. WaveCAD 4-30 Racal Instrument © 2005...
  • Page 123: Figure 4-14 The Digital Pattern Data Table - Freerun

    Normal color of the digital reading is dark blue. If you modify the reading, the color changes to a lighter shade of blue, indicating that the 3156B has not been updated yet with the new parameter. Pressing Execute will update the...
  • Page 124 The Save button stores the table in a temporary location for future uses by WaveCAD. The Download button updates the 3156B with the frequency hop table data.
  • Page 125: The Utility Panel

    You can use the dial, keyboard, or the [↑] [↓} keys to adjust the readout to the required setting. After you modify the reading, press Execute to update the 3156B with the new reading. The Circulation Mode has two options: Single and Continuous. Both options require an enable command to move the characters about the screen.
  • Page 126: The Function Calls Editor

    The Function Calls Editor is an excellent tool for learning low level The Function programming of the 3156B. If you are not fully familiar with the syntax Calls Editor or the controlling functions, you can click on the Show List button and the complete list of functions will display in a separate dialog box as shown in Figure 4-17.
  • Page 127: Figure 4-16 The Command Editor

    3156B User Manual Figure 4-16 The Command Editor The New button will clear the Function Call field and will replace it with a new Function Call Prefix. If you are familiar with the function call list, you can type in the function and its parameters. Note that, as you type the function name, a list if opened below the field showing all functions that are available in alphabetic order.
  • Page 128: The Wave Composer

    3156B User Manual Figure 4-17 The Function Calls Reference List Being an arbitrary waveform generator, the 3156B has to be loaded The Wave with waveform data before it can start generating waveforms. The Composer waveform generation and editing utility is part of WaveCAD and is called –...
  • Page 129: The Commands Bar

    3156B User Manual Figure 4-18 The Wave Composer Opening Screen The commands bar provides access to standard Windows commands The Commands such as File and View. In addition, there are WaveCAD-specific commands such as Edit, Wave and System. In general, clicking on one of the commands opens a dialog box with an additional list of commands.
  • Page 130: Figure 4-19 The Open Waveform Dialog Box

    Save Waveform The Save Waveform (Ctrl+S) command will store your active waveform in your 3156B directory, as a binary file with an *.wav extension. If this is the first time you save your waveform, the Save Waveform As… command will be invoked automatically, letting you select name, location and format for your waveform file.
  • Page 131: Edit Commands

    3156B User Manual Save Waveform As… Use the Save Waveform As… command the first time you save your waveform. It will let you select name, location and format for your waveform file. Print With this command you may print the active Waveform Window. The standard printer dialog box will appear and will let you select printer setup, or print the waveform page.
  • Page 132: View Commands

    3156B User Manual Filter The Filter used with this command is moving average. This is done by recalculating each point as an average of symmetrical number of adjacent points. When you select the Filter command, a dialog box pops up, letting you program the filter spacing in number of adjacent points.
  • Page 133: Figure 4-20 Zooming In On Waveform Segments

    3156B User Manual While zoomed in you can perform autoline and sketch editing, or zoom-in further by clicking and holding the mouse at one corner and releasing the mouse button at the other corner. Zoom Out The zoom out restores the screen to display the complete waveform.
  • Page 134: Wave Commands

    3156B User Manual The Wave commands let you create waveforms on the screen. The Wave Commands Wave command has a library of 8 waveforms: Sine, Sawtooth, Square, Sinc, Gaussian, Exponent, Pulse, and Noise. It also lets you create waveforms using the Equation Editor. Information how to create waveforms using the Wave commands is given below.
  • Page 135: The Toolbar

    3156B User Manual Figure 4-21 Generating Distorted Sinewaves from the built-in Library The toolbar contains icons for editing the waveform screen, icons for The Toolbar saving and loading waveforms, fields for selecting an active channel and for adjusting segment length and more. The Toolbar is shown in Figure 4-23.
  • Page 136: The Waveform Screen

    3156B User Manual Waveforms are created and edited on the waveform screen. Figure 4- The Waveform 24 shows an example of a waveform created using the equation editor Screen and the anchors to limit generation of the waveform between points 100 and 900.
  • Page 137: Figure 4-23 The Waveform Screen

    3156B User Manual Figure 4-23 The Waveform Screen Notice on the left top and on the right top there are two triangles pointing to the center of the screen. These are the anchors. The anchors are used as the start and end pointers where your waveform will be created.
  • Page 138: The Fm Composer

    The FM composer is loaded with many features and options so use the following paragraphs to learn how to create and download modulating waveforms to the 3156B using the FM Composer. Invoke the FM Composer from Panels bar. The Wave Composer has three sections: Commands bar, Toolbar and Waveform screen.
  • Page 139: File Commands

    3156B User Manual Figure 4-24 The Fm Composer opening Screen The File command has 4 command lines that control waveform files. File Commands Also use this command to exit the FM composer program. Description of the various commands under File is given below.
  • Page 140: Wave Commands

    Save Waveform The Save Waveform command will store your active waveform in your 3156B directory, as a binary file with a *.wvf extension. If this is the first time you save your waveform, the Save Waveform As… command will be invoked automatically, letting you select name, location and format for your waveform file.
  • Page 141: Figure 4-25 Generating Sine Modulation Using The Fm Composer

    3156B User Manual Max. Peak Deviation – This parameter defines the forward peak deviation. Note that the forward peak deviation cannot exceed the pre- defined Deviation parameter as shown on the Toolbar. In case you need to exceed the pre-defined peak value you must quit this box and modify the Deviation parameter to provide sufficient range for the forward peak deviation range.
  • Page 142: Generating Waveforms Using The Equation Editor

    3156B User Manual Start Phase – The start phase parameter defines the angle of which the sine will start. The example shows 0° start phase. Power – Sine to the power of 1 will generate a perfect sine. Power range is from 1 through 9.
  • Page 143 3156B User Manual Waveform Amplitude The vertical axis of the Wave Composer represents 16-bits of vertical resolution. That means that the equation is computed, resolved and generated with 1/65,536 increments and accuracy. The Waveform Amplitude fields in the Equation Editor are used in two cases: 1) when the “amp”...
  • Page 144: Writing Equations

    In reality, the 3156B generates its waveforms exactly as shown on the screen but, if the waveform has many horizontal points, the steps get smaller and harder to see without magnification.
  • Page 145: Typing Equations

    3156B User Manual There are three classes of precedence: ^ (raise to power) has the highest precedence; (multiply) and / (divide) come second; + and - have the lowest precedence. Parentheses may be used to change the order of precedence. The following table summarize the mathematical expressions and their respective abbreviated commands that can be used with the Equation Editor.
  • Page 146: Equation Samples

    3156B User Manual Press [Preview] and see that the line slopes down. It may still be not very interesting however, pay close attention to the convention that is used in this equation. You cannot type: Amplitude(p)=-2p+1000, like you would normally do in your notebook; You must use the * (multiply) sign, otherwise you'll get a syntax error.
  • Page 147: Figure 4-27 An Equation Editor Example

    3156B User Manual Figure 4-27 An Equation Editor Example Now let’s try to modulate two sinewaves with different periods and different start phase. Type this: Amplitude(p)= 32000*sin(omg*p)*cos(omg*p*30) Press [Preview]. Your screen should look like Figure 4-28. Racal Instrument © 2005...
  • Page 148: Figure 4-28 Using The Equation Editor To Modulate Sine Waveforms

    3156B User Manual Figure 4-28 Using the Equation Editor to Modulate Sine Waveforms. In the following example, as shown in Figure 4-29, 20% second harmonic distortion has been added to a standard sinewave. The original waveform had a peak-to-peak value of 20000 points so 20% second harmonic is equivalent to 4000 points.
  • Page 149: Figure 4-29 Using The Equation Editor To Add Second Harmonic Distortion

    3156B User Manual Figure 4-29 Using the Equation Editor to Add Second Harmonic Distortion. In Figure 4-30 we created 10 cycles of sinewave made to decay exponentially. The original expression for a standard sinewave is multiplied by the term e^(-p/250). Increasing the value of the divisor (200 in this case) will slow down the rate of decay.
  • Page 150: Figure 4-30 Using The Equation Editor To Generate Exponentially Decaying Sinewave

    3156B User Manual Figure 4-30 Using the Equation Editor to Generate Exponentially Decaying Sinewave The last example as shown in Figure 4-31 is the most complex to be discussed here. Here, 100 cycles of sinewave are amplitude modulated with 10 cycles of sine wave with a modulation depth of 20%.
  • Page 151: Combining Waveforms

    3156B User Manual Figure 4-31 Using the Editor to Build Amplitude Modulated Signal With Upper and Lower Sidebands The last but not least powerful feature allows you to combine Combining waveforms which you previously stored on your hard disc. You can...
  • Page 152: Figure 4-32 Combining Waveforms Into Equations

    3156B User Manual Step 1 – Create and store sine.wav. Invoke the Equation Editor and type the following equation: Ampl(p)= 40000*sin(omg*p) Press OK and then select the Save Waveform As… from the File command. Save this file using the name Sine.wav Step 2 –...
  • Page 153: Chapter 5

    Complete listing of all driver function calls that are used to program the 3156B is given in Table 5-1. This instrument driver provides programming support for Racal 3156B Introduction Arbitrary Waveform Generator.
  • Page 154: How To Use This Document

    Use this document as a programming reference manual. It describes How to Use This each function in the Racal 3156B Arbitrary Waveform Generator Document instrument. The functions appear in grouped order, with a description of the function and its C syntax, a description of each parameter, and a list of possible error codes.
  • Page 155: Table 5-2 Driver Function Calls Summary (Continued)

    3156B User Manual 0 to -5 (STD, ARB, SEQ, MOD, ri3156B_set(query)_global_operating_mode ViInt16 ch1_waveformMode VIDEO, DIGITAL) 0 to 5 (STD, ARB, SEQ, MOD, ViInt16 ch2_waveformMode VIDEO, DIGITAL) ViInt16 CarrierRunMode 0 to 3 (CONT, TRIG, GATE, BURST) Table 5-2 Driver Function Calls Summary (continued)
  • Page 156: Table 5-3 Driver Function Calls Summary (Continued)

    3156B User Manual ViReal64 offset -4.995 to 4.995 ViReal64 phase 0 to 359.95 Square Wave Functions ri3156B_set(query)_square_wave_duty_cycle ViReal64 dutyCycle 0 to 99.99 ri3156B_apply_square_wave ViReal64 frequency 0.01 to 25e6 ViReal64 amplitude 10e-3 to 10 ViReal64 offset -4.995 to 4.995 ViReal64 dutyCycle 0 to 99.99...
  • Page 157: Table 5-4 Driver Function Calls Summary (Continued)

    3156B User Manual ri3156B_apply_sinc_wave ViReal64 frequency 0.01 to 25e6 ViReal64 amplitude 10e-3 to 10 ViReal64 offset -4.995 to 4.995 ViInt16 numberofCycles 4 to 100 Exponential Wave Functions ri3156B_set(query)_exponential_wave_exponent ViInt16 exponent -100 to 100 ri3156B_apply_exponential_wave ViReal64 frequency 0.01 to 25e6 ViReal64 amplitude...
  • Page 158 3156B User Manual ri3156B_set(query)_wave_format ViBoolean waveFormat 0, 1 (16-bit or 12-bit) ri3156B_set(query)_byte_order ViBoolean byteOrder 0, 1 (Hi-Lo, Lo Hi) ri3156B_apply_arb_waveform ViInt16 segmentNumber 1 to 16k ViReal64 samplingClock 1 to 200e6 50e6 ViReal64 amplitude 10e-3 to 10 ViReal64 offset -4.995 to 4.995 Programming Reference 5-6 Racal Instrument ©...
  • Page 159: Table 5-5 Driver Function Calls Summary (Continued)

    3156B User Manual Table 5-5 Driver Function Calls Summary (continued) 3156B Function Name Parameter(s) Range Default Sequenced Waveforms Programming ri3156B_define_sequence_step ViInt16 numberofStep 1 to 4096 ViInt16 segmentNumber 1 to 16k ViInt32 repeatSegment 1 to 1e6 0 to 2 (AUTO, STEP,...
  • Page 160: Table 5-6 Driver Function Calls Summary (Continued)

    3156B User Manual Table 5-6 Driver Function Calls Summary (continued) 3156B Function Name Parameter(s) Range Default ri3156B_set(query)_FM_freq_dev ViReal64 FMfrequencyDeviation < carrier frequency 100e3 < deviation ri3156B_set(query)_FM_marker ViReal64 FMmarkerFrequency frequency> Carrier freq ri3156B_apply_FM_waveform ViReal64 FMcarrierFrequency 0.01 to 25e6 ViReal64 Amplitude 10e-3 to 10 ViReal64 offset -4.995 to 4.995...
  • Page 161: Table 5-7 Driver Function Calls Summary (Continued)

    3156B User Manual Table 5-7 Driver Function Calls Summary (continued) 3156B Function Name Parameter(s) Range Default FSK Programming ri3156B_set(query)_FSK_one_frequency ViReal64 FSKoneFrequency 0.01 to 25e6 ri3156B_set(query)_FSK_zero_frequency ViReal64 FSKzeroFrequency 0.01 to 25e6 100e3 ri3156B_load_FSK_data ViInt16 FSKwordLength 8 to 4096 ViBoolean FSKdata[] 0, 1...
  • Page 162: Table 5-8 Driver Function Calls Summary (Continued)

    3156B User Manual Table 5-8 Driver Function Calls Summary (continued) 3156B Function Name Parameter(s) Range Default Video Stroke Generator Programming ri3156B_set(query)_video_stroke_point_freq ViReal64 videoStrokePointFrequency 1 to 100e6 10e3 ri3156B_set(query)_video_offset_start ViReal64 videoStrokeOffsetStart -4.995 to 4.995 ri3156B_set(query)_video_offset_stop ViReal64 videoStrokeOffsetStop -4.995 to 4.995 ri3156B_set(query)_video_offset_range ViReal64 videoStrokeOffsetStart -4.995 to 4.995...
  • Page 163: Table 5-9 Driver Function Calls Summary (Continued)

    3156B User Manual Table 5-9 Driver Function Calls Summary (continued) 3156B Function Name Parameter(s) Range Default Trigger Inputs and Outputs 0 to9 (EXT, ri3156B_set(query)_trigger_source ViInt16 triggerSource TTLTrg0-7, ECLT0) ri3156B_set(query)_trigger_delay ViReal64 triggerDelay 500e-9 to 21 500e-9 ri3156B_set(query)_trigger_delay_state ViBoolean triggerDelayState 0, 1 (OFF,ON)
  • Page 164: Table 5-10 Driver Function Calls Summary (Continued)

    3156B User Manual Table 5-10 Driver Function Calls Summary (continued) 3156B Function Name Parameter(s) Range Default ri3156B_load_wavecad_video_data_file ViInt16 videoStrokePatternNumber 1 to 16e3 ViString VideoDataCh1FileName ViString VideoDataCh2FileName ViInt32 videoStrokePatternSize 1 to 512e3 Utility Functions ri3156B_clear None ri3156B_get_option ViInt16 optionInstalled 0, 1 (CLK10,TCXO)
  • Page 165: The Initialization Group

    3156B User Manual This group is used to initialize the 3156B. The initialization process The Initialization requires instrument identification, assigning a handle and resetting the Group instrument to its default state. Factory defaults after reset are given as well. The communication session is closed with the close function.
  • Page 166 The initialize call allows the instrument to be queried to ensure that it is a 3156B Waveform Synthesizer. It also resets the 3156B to the power-up state if the "Reset" parameter is True (ON). Note that for each "ri3156B_init()" call, a new unique instrument handle is returned. Thus, if four calls are made to the initialize call in succession, four unique instrument handles will be returned.
  • Page 167 3156B User Manual NOTE: Under normal circumstances the ID Query insures that the instrument initialized over the bus is the type supported by this driver. However circumstances may arise where it is undesirable to send an ID Query to the instrument.
  • Page 168 3156B User Manual ri3156b_reset Description Resets the instrument to the power-up, factory defaults state C Syntax ViStatus ri3156b_reset (ViSession instrHandle) Parameters Variable Name Type Description instrHandle ViSession The Instrument Handle is used to identify the unique session or communication channel between the driver and the instrument.
  • Page 169 3156B User Manual ri3156b_close Description Closes the instrument and de-allocates the resources allocated by the call to the initialization function. This should be called once for EACH instrument handle returned by the ri3156B_init() function. This should be called prior to terminating the application program.
  • Page 170: The Common Control Functions Group

    3156B User Manual This group is used to control macro 3156B functions. These The Common commands set the instrument to its various operating, waveform and Control Functions run modes. Functions from this group also control the reference source and the amplitude and offset settings of the instrument. Factory Group defaults after reset are given as well.
  • Page 171 3156B User Manual ri3156b_set(query)_active_channel Description This selects the 3156B Channel. The channel selected by this function is used for all subsequent function calls until either: 1) This function is called again to change the channel 2) The ri3156B_reset() function is called (selects channel 1)
  • Page 172 3156B User Manual ri3156b_set(query)_output Description This activates a relay that connects the output connector to the output circuit. Set Enable ON is required to start generating waveforms. The active channel is selected from the Set Active Channel panel. Channel Dependency: Independent...
  • Page 173 Set Enable function will affect the signal. The Set Enable function is not used for the 3156B interrupted modes (Trigger, Gated, and Burst). The Set Enable is global thus activating both channels simultaneously.
  • Page 174 3156B User Manual ri3156b_set(query)_enable_source Description This panel is used for enabling or disabling output waveforms. Set Output ON is required to have the signal connected to the output connector. Channel Dependency: Common C Syntax ViStatus ri3156b_set_enable_source (ViSession instrHandle, ViInt16 enableSource)
  • Page 175 3156B User Manual ri3156b_set(query)_amplitude Description Sets the amplitude for the presently selected waveform. The active channel is selected from the Set Active Channel panel. Channel Dependency: Independent C Syntax ViStatus ri3156b_set_amplitude (ViSession instrHandle, ViReal64 amplitude) ViStatus ri3156b_query_amplitude (ViSession instrHandle, ViReal64 * amplitude)
  • Page 176 3156B User Manual ri3156b_set(query)_offset Description Sets the offset for the presently selected waveform. The active channel is selected from the Set Active Channel panel. Channel Dependency: Independent C Syntax ViStatus ri3156b_set_offset (ViSession instrHandle, ViReal64 offset) ViStatus ri3156b_query_offset (ViSession instrHandle, ViReal64 * offset)
  • Page 177 Description This function allows the user to globally select the 3156B operating mode for both channels, as well as, run mode and the operation enable source: Setting up correctly the global operating parameters of the 3156B is critical to avoid setting conflicts between channels and their respective operating and run modes and the source of the operation enable signal.
  • Page 178 Ch2_waveformMode Setting up this function is mandatory for correct operation ViInt16 of the instrument. The 3156B has a lot of capability and functionality built into it and, at time, incorrect initialization of the main functions may cause numerous setting conflicts. It is therefore recommended to always use this function as part of the initialization process.
  • Page 179 Default Value: 0 carrierRunMode This switch defines the run mode for the 3156B. Select ViInt16 one of CONT, TRIG, GATED and BURST. Setting up the global run mode is mandatory for correct operation of the instrument.
  • Page 180 3156B User Manual operating mode. Triggered - Single waveform cycle is initiated following a valid Operate Enable signal or command, Trigger Delay ON will delay the first cycle by the amount set with the trigger delay parameter. With the Re-trigger State ON, only one valid Operate Enable signal or command is needed to initiate continuous single-cycle waveforms;...
  • Page 181 Description This function allows the user to globally select the 3156B operating mode for both channels, as well as, run mode and the operation enable source: Setting up correctly the global operating parameters of the 3156B is critical to avoid setting conflicts between channels and their respective operating and run modes and the source of the operation enable signal.
  • Page 182 3156B User Manual ARB - Use this arbitrary mode to generate an arbitrary waveform. Arbitrary waveform(s) must first be loaded into one or more memory segments. Once loaded, the segments become a library of waveform that can be selected individually to be generated at the output connector.
  • Page 183 Ri3156b_set(query)_waveform_mode Description This function allows the user to globally select the 3156B operating mode for both channels, as well as, run mode and the operation enable source: Setting up correctly the global operating parameters of the 3156B is critical to avoid setting conflicts between channels and their respective operating and run modes and the source of the operation enable signal.
  • Page 184 3156B User Manual first be loaded into one or more memory segments. Once loaded, the segments become a library of waveform that can be selected individually to be generated at the output connector. SEQ - The sequenced mode is used for generating a sequence of memory segments.
  • Page 185 Ri3156b_set(query)_carrier_run_mode Description This function allows the user to select carrier run mode. The Model 3156B offers four run modes: Continuous, Triggered, Gated, and Burst. The selected waveform is repeated continuously when the instrument is set to operate in continuous mode. In this mode, the Model 3156B requires a ri3156B_set_enable (1) call to stimulate output cycles.
  • Page 186 FSK, SWEEP and HOP. It is recommended that modulation parameters be pre-programmed before the required modulation mode is turned on. Note the following behavior of the 3156B: 1. Set Output ON, Set Enable ON and selection of one of the modulation modes must be used before a modulation function becomes available at the output connector.
  • Page 187 3156B User Manual 5. If the selected modulation run mode is trigger or gated and valid trigger signal is not available, or trigger signal is false, the remains at a DC level. After the first trigger or gate, the output generates carrier, non-modulated frequency.
  • Page 188 12 bits are available for this output therefore, data to the digital outputs must be multiplied by 16 to shift the data to the correct bits. 3156B rules and run modes apply to the digital output. Programming Reference 5-36...
  • Page 189 3156B User Manual Valid Range: 0-1 freerun digital patterns are generated following a ri3156B_set_enable call. Hold count programmable for each pattern step stimulus digital patterns are generated following a ri3156B_set_enable (1) call. Hold count is fixed for each pattern step...
  • Page 190: The Standard Waveforms Functions Group

    VI_SUCCESS, otherwise it will return an error code. Passing the error code into the function "ri3156B_error_message()" will return a string describing the error. This group is used to control the 3156B standard waveform shapes, The Standard their respective parameters, frequency, amplitude and offset. If both...
  • Page 191 3156B User Manual ViReal64 amplitude 10e-3 to 10 ViReal64 offset -4.995 to 4.995 ViReal64 delay 0, 500e-9 to 21 1e-6 ViInt16 Waveform 3156B Function Name Parameter(s) Range Default ViReal64 phase 0 to 359.95 ViReal64 dutyCycle 0 to 99.99 Pulse Wave Functions...
  • Page 192 3156B User Manual DC Signal Functions ri3156B_set(query)_dc_signal_percent ViReal64 percentAmplitude -100 to 100 ri3156B_apply_dc_signal ViReal64 percentAmplitude -100 to 100 Ri3156b_set(query)_standard_waveform Description The Standard Waveform commands control the various parameters of the active Standard Waveform. The waveform mode should be set to "Standard" for the selected waveform to be applied to the channel. See the function ri3156B_set_waveform_mode() for a description of how to select the standard waveform mode.
  • Page 193 3156B User Manual Ri3156b_set(query)_frequency Description Sets the frequency for the presently selected standard waveform. Channel Dependency: Common C Syntax ViStatus ri3156b_set_frequency (ViSession instrHandle, ViReal64 frequency) ViStatus ri3156b_query_frequency (ViSession instrHandle, ViReal64 * frequency) Parameters Variable Name Type Description instrHandle ViSession The Instrument Handle is used to identify the unique session or communication channel between the driver and the instrument.
  • Page 194 Queries the internal sample clock setting when the 3156B generates standard waveforms. Note that this parameter is not programmable and is automatically set by the 3156B for the appropriate standard waveform frequency This query can be used for reference purpose only...
  • Page 195 Queries the number of points the instrument is using internally when the 3156B generates standard waveforms. Note that this parameter is not programmable and is automatically set by the 3156B for the appropriate standard waveform frequency This query can be used for reference purpose only.
  • Page 196 3156B User Manual Ri3156b_set(query)_sine_wave_phase Description Programs only the phase of the standard sine wave. This function does NOT select the sine wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 197 3156B User Manual Ri3156b_apply_sine_wave Description Programs frequency, amplitude, offset, and phase of the sine wave function. Also sets the Sine waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_sine_wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64 offset, ViReal64 phase)
  • Page 198 3156B User Manual Ri3156b_set(query)_triangular_wave_phase Description Programs only the phase of the standard triangular wave. This function does NOT select the triangular wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 199 3156B User Manual Ri3156b_apply_triangular_wave Description Programs frequency, amplitude, offset, and phase of the triangular wave function. Also sets the triangular waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_triangular_wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64 offset, ViReal64 phase)
  • Page 200 3156B User Manual Ri3156b_set(query)_square_wave_duty_cycle Description Programs only the duty cycle of the standard square wave. This function does NOT select the square wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 201 3156B User Manual Ri3156b_apply_square_wave Description Programs frequency, amplitude, offset, and duty cycle of the square wave function. Also sets the square waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_square_wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64 offset, ViReal64 dutyCycle)
  • Page 202 Programs the half cycle mode. Half cycles are available for sine, triangle and square waveforms only. This function selects the half cycle as the active mode only if the 3156B is programmed to output one of these three waveforms. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 203 3156B User Manual Ri3156b_set(query)_half_cycle_delay Description Programs the amount of time that will elapse between the end of the delivery of the first one-half cycle and the beginning of the second one-half of the cycle. Note: The frequency, amplitude and offset may be varied by...
  • Page 204 3156B User Manual Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code. Passing the error code into the function "ri3156B_error_message()" will return a string describing the error.
  • Page 205 3156B User Manual NOTE: Half-cycle delay time is programmed in units of μs (microsecond). For example, to program 1.37ms delay time, enter the value as follows: 1370 Valid range: 0.5 to 21e6 (μs) Default: 0.5 waveform Selects a standard waveform for the half cycle mode.
  • Page 206 3156B User Manual Ri3156b_set(query)_pulse_wave_PRF Description Programs only the pulse repetition of the standard pulse wave. This function does NOT select the pulse wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following...
  • Page 207 3156B User Manual Ri3156b_set(query)_pulse_high _time Description Programs only the high time of the standard pulse wave. This function does NOT select the pulse wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 208 3156B User Manual Ri3156b_set(query)_pulse_delay _time Description Programs only the delay time of the standard pulse wave. This function does NOT select the pulse wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 209 3156B User Manual Ri3156b_set(query)_pulse_rise _time Description Programs only the rise time of the standard pulse wave. This function does NOT select the pulse wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 210 3156B User Manual Ri3156b_set(query)_pulse_fall _time Description Programs only the fall time of the standard pulse wave. This function does NOT select the pulse wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 211 3156B User Manual Ri3156b_apply_pulse_wave Description Programs PRF (pulse repetition frequency), amplitude, offset, high, delay, rise and fall time of the pulse wave function. Also sets the pulse waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_pulse_wave (ViSession instrHandle, ViReal64 pulsePRF, ViReal64 amplitude,...
  • Page 212 3156B User Manual Valid range: 0 to 9.99 (%) Default: 10 riseTime Programs the rise time portion of the pulse waveform. ViReal64 Valid range: 0 to 9.99 (%) Default: 10 fallTime Programs the fall time portion of the pulse waveform.
  • Page 213 3156B User Manual Ri3156b_set(query)_ramp_wave_slope Description Programs only the ramp time of the standard ramp wave. This function does NOT select the square wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 214 3156B User Manual Ri3156b_apply_ramp_wave Description Programs frequency, amplitude, offset, and duty cycle of the ramp wave function. Also sets the ramp waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_ ramp _wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude,...
  • Page 215 3156B User Manual Ri3156b_set(query)_sinc_wave_numb_cycles Description Programs only the number of “0” crossing cycles of the standard sinc wave. This function does NOT select the sinc wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the...
  • Page 216 3156B User Manual Ri3156b_apply_sinc_wave Description Programs frequency, amplitude, offset, and number of cycles of the sinc wave function. Also sets the sinc waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_sinc_wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64...
  • Page 217 3156B User Manual Ri3156b_set(query)_exponential_wave_exponent Description Programs only the exponent of the standard exponential wave. This function does NOT select the exponential wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 218 3156B User Manual Ri3156b_apply_exponential_wave Description Programs frequency, amplitude, offset, and exponent of exponential wave function. Also sets the exponential waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_exponential_wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64 offset, ViInt16 exponent)
  • Page 219 3156B User Manual Ri3156b_set(query)_gaussian_wave_exponent Description Programs only the exponent of the standard gaussian wave. This function does NOT select the gaussian wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 220 3156B User Manual Ri3156b_apply_exponential_wave Description Programs frequency, amplitude, offset, and exponent of exponential wave function. Also sets the exponential waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_exponential_wave (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64 offset, ViInt16 exponent)
  • Page 221 3156B User Manual Ri3156b_set(query)_dc_signal_percent Description Programs only the percent level of the standard dc wave. This function does NOT select the dc wave as the active waveform. Note: The frequency, amplitude, and offset may be varied by using the following functions:...
  • Page 222 3156B User Manual Ri3156b_apply_exponential_wave Description Programs frequency, amplitude, offset, and exponent of dc function. Also sets the dc waveform as the active waveform. Channel Dependency: Independent C Syntax ViStatus ri3156b_apply_dc_signal (ViSession instrHandle, ViReal64 frequency, ViReal64 amplitude, ViReal64 offset, ViReal64 percentAmplitude)
  • Page 223: The Arbitrary Waveforms Functions Group

    3156B User Manual This group is used to control the 3156B arbitrary waveform shapes, The Arbitrary their respective parameters, sample clock frequency, amplitude and Waveforms offset. Also, within this group you find function calls that select, define and load active segments. If both channels are set to operate in...
  • Page 224 Proper setting of sample clock frequency range is essential for correct programming of the arbitrary waveform mode as it defines if incremental size of the waveform can be set with 1 or 2 points. The 3156B has two sample clock ranges 100MS/s and 200 MS/s. If you use waveform files that their size is divisible by 2, then you can use the 3156B with sample clock rates to 200 Ms/s.
  • Page 225 Note that the initialize function may be used to associate multiple instrument handles with a single instrument. samplingClock Programs the sample clock frequency for the 3156B. ViReal64 Valid range: 1 to 200e6 (S/s) Default: 50e6 Return Values Displays the return status of the function call.
  • Page 226 3156B User Manual Ri3156b_define_arb_segment Description Use this function to attach size to a specific memory segment. The final size of the arbitrary memory is 1Meg points. The memory can be partitioned to smaller segments, up to 16k segments. This function allows definition of segment size.
  • Page 227 3156B User Manual Ri3156b_delete_segment Description Deletes the specified arbitrary waveform memory segment or ALL segments (if the segment number specified is 0). Note that if a segment is deleted, the memory portion that belonged to this segment is no longer accessible.
  • Page 228 Ri3156b_set(query)_active_segment Description This function selects the memory segment to be used as the active segment for generating arbitrary waveforms. If the waveform mode is Arbitrary, this selects the waveform that is output by the 3156B. Channel Dependency: Independent C Syntax...
  • Page 229 3156B User Manual Ri3156b_load_arb_data Description Selects the arbitrary data segment and loads data into the segment. This function supports both 12-bit (normal) and 16-bit (user) downloads. The format of the data is selected using the ri3156B_set_wave_format () function. The byte order of the data is selected using the ri3156B_set_byte_order() function.
  • Page 230 This loads the segment table using the fast binary download method. Use this function only after you have loaded the 3156B memory with all of your waveform segments. This function call does not load waveforms to the memory; It is used to divide the memory to multiple segments in one function call. With this function, the programmer merely states the number of segments he wants to use and the size (in points) of each wave.
  • Page 231 This selects a specific segment and loads an external file name that contains waveform points in ASCII. Note that waveform points are normally loaded to the 3156B in binary. This function call does an automatic conversion of ASCII to binary before the data is loaded to the working memory and therefore accuracy of the ASCII file is expected to avoid conversion errors.
  • Page 232 3156B User Manual fileResolution Sets the waveform format for either 12-bit or 16-bit data ViBoolean file. Valid range: 0,1 0 – selects 16-bit; 1 – selects 12-bit Default: 0 Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code.
  • Page 233 3156B User Manual Ri3156b_set(query)_byte_order Description This specifies the byte order in which the binary data is sent to the device. By default, the binary data is sent in byte-high byte-low order. This function is useful only for binary block transfer.
  • Page 234 Select the segment number to become active ViInt16 Valid range: 1 to 16k Default: 1 samplingClock Programs the sample clock frequency for the 3156B. ViReal64 Valid range: 1 to 200e6 (S/s) Default: 50e6 amplitude Programs the amplitude for the selected function ViReal64 Valid range: 10e-3 to 10 (V, into 50Ω)
  • Page 235: The Sequenced Waveforms Functions Group

    The sequence is designed in a table – Sequence Waveforms Table that defines steps, links and loop. The 3156B can link up to 4096 segments in one sequence table and loop each segment up to 1 Functions Group million times.
  • Page 236 3156B User Manual Ri3156b_define_sequence_step Description Sequenced waveforms are made of a number of arbitrary waveforms, which can be linked and looped in user- programmable order. Sequenced waveforms are generated form waveforms stored in a library of memory segments (sequence table). Before using a sequence of waveforms, load arbitrary memory with the required waveforms.
  • Page 237 If repeats were selected for a segment, the loop counter is executed automatically. In Single advance mode, the Model 3156B idles between steps until a valid trigger signal is sensed. This mode operates with triggered mode only. An attempt to select the Single advance mode when the Model 3156B is in continuous operating mode will generate an error.
  • Page 238 3156B User Manual Ri3156b_delete_sequence_step Description Deletes the specified step in a sequence table or ALL steps in one shot (if the segment number specified is 0). Channel Dependency: Independent C Syntax ViStatus ri3156b_delete_sequence_step (ViSession instrHandle, ViInt16 sequenceStep) Parameters Variable Name...
  • Page 239 This loads the sequence table using the fast binary download method. Use this function only after you have loaded the 3156B memory with all of your waveform segments. This function call does not load waveforms to the memory; It is used to build the sequence table only in one function call. With this function, the programmer merely states the number of links and their respective segment number and loop count..
  • Page 240 Note that the initialize function may be used to associate multiple instrument handles with a single instrument. samplingClock Programs the sample clock frequency for the 3156B. ViReal64 Valid range: 1 to 200e6 (S/s) Default: 50e6 amplitude...
  • Page 241: The Modulated Waveforms Functions Group

    "ri3156B_error_message()" will return a string describing the error. Use this group to define modulation type and their respective The Modulated parameters and run modes. The 3156B can generate the following Waveforms modulation: Sweep, FM, Frequency hops, FSK and AM. These functions are listed below.
  • Page 242 3156B User Manual ViReal64 Amplitude 10e-3 to 10 ViReal64 offset -4.995 to 4.995 ViReal64 FMmodulationFrequency 0.01 to 350e3 10e3 < carrier ViReal64 FMfrequencyDeviation frequency 100e3 ViInt15 FMmodulationWaveform 0 to 4 <carrier+/- dev ViReal64 FMmarkerFrequency frequency/2 Carrier freq Modulated Waveforms Programming (continued)
  • Page 243 3156B User Manual Modulated Waveforms Programming (continued) 3156B Function Name Parameter(s) Range Default AM Programming ri3156B_set(query)_AM_carrier_freq ViReal64 AMcarrierFrequency 0.01 to 25e6 ri3156B_set(query)_AM_mod_freq ViReal64 AMmodulationFrequency 0.01 to 100e3 10e3 ri3156B_set(query)_AM_mod_freq_div ViInt16 AMmodulationFreqDiv 2 to 4096 ri3156B_set(query)_AM_mod_depth ViReal64 AMmodulationDepth 0 to 100...
  • Page 244 3156B User Manual Ri3156b_set(query)_sweep_type Description This specifies the sweep step type. Two options are available: logarithmic or linear. In linear, the incremental steps between the frequencies are uniform throughout the sweep range. Logarithmic type defines logarithmic spacing throughout the sweep range.
  • Page 245 Ri3156b_set(query)_sweep_start Description This specifies the sweep start frequency. The 3156B will normally sweep from start to stop frequencies however, if the sweep direction is revered, the output will sweep from stop to start frequencies. To reverse sweep direction use the ri3156B_set_sweep_direction() function. The start and stop frequencies may be programmed freely throughout the frequency of the standard waveform frequency range.
  • Page 246 Ri3156b_set(query)_sweep_stop Description This specifies the sweep stop frequency. The 3156B will normally sweep from start to stop frequencies however, if the sweep direction is revered, the output will sweep from stop to start frequencies. To reverse sweep direction use the ri3156B_set_sweep_direction() function. The start and stop frequencies may be programmed freely throughout the frequency of the standard waveform frequency range.
  • Page 247 Ri3156b_set(query)_sweep_range Description This specifies simultaneously the sweep start and stop frequency. The 3156B will normally sweep from start to stop frequencies however, if the sweep direction is revered, the output will sweep from stop to start frequencies. To reverse sweep direction use the ri3156B_set_sweep_direction() function. The start and stop frequencies may be programmed freely throughout the frequency of the standard waveform frequency range.
  • Page 248 Description This specifies the time that will take the 3156B to sweep from start to stop frequencies. The time does not depend on the sweep boundaries as it is automatically adjusted by the software to the required interval. At the end of the sweep cycle the output waveform maintains the sweep stop frequency setting.
  • Page 249 Ri3156b_set(query)_sweep_direction Description This specifies if the 3156B output will sweep from start-to-stop (UP) or from stop-to-start (DOWN) frequencies. Sweep time does not affect the sweep direction and frequency limits. At the end of the sweep cycle the output waveform normally maintains the sweep stop frequency setting but will maintain the start frequency, if the DOWN option is selected.
  • Page 250 3156B User Manual Ri3156b_set(query)_sweep_marker Description This function programs marker frequency position. Sweep marker can be placed in between the start and the stop frequencies. The marker pulse is output from the SYNC output connector. It can also be place on one of the TTLTrg0-7 lines using the appropriate ri3156B_set_TTLTRG_n_output_state () function.
  • Page 251 3156B User Manual Ri3156b_apply_sweep_waveform Description Programs the generator to output a swept waveform. This command lets you specify all parameters to execute the sweep: start and stop frequencies, amplitude, offset, sweep type, time and direction as well as marker frequency. It also sets sweep to be the active waveform mode.
  • Page 252 3156B User Manual Default: 1 sweepDirection Programs the sweep direction parameter. ViInt16 Valid range: 0,1 0 – selects sweep UP 1 – selects sweep DOWN Default: 0 markerFrequency Programs the sweep marker frequency parameter. ViReal64 Valid range: Within the sweep start and stop frequencies...
  • Page 253 3156B User Manual Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code. Passing the error code into the function "ri3156B_error_message()" will return a string describing the error.
  • Page 254 One may use and arbitrary waveform to modulate the carrier wave; In this case, an arbitrary waveform data has to be downloaded to the 3156B using the ri3156B_load_arb_FM_mod_data function. Use the description in the ri3156B_load_arb_FM_mod_data function to properly prepare and download data to the arbitrary FM waveform memory.
  • Page 255 3156B User Manual Ri3156b_set(query)_FM_freq_dev Description This programs the deviation range around the carrier frequency. The deviation range is always symmetrical about the carrier frequency. If you need non-symmetrical deviation range, you can use the arbitrary FM composer screen or an external utility to design such waveforms.
  • Page 256 3156B User Manual Ri3156b_set(query)_FM_marker Description This function programs marker frequency position. FM marker can be placed inside the following range: (carrier frequency ± deviation frequency / 2). The marker pulse is output from the SYNC output connector. It can also be place on one of the TTLTrg0-7 lines using the ri3156B_set_TTLTRG_n_output_state () function.
  • Page 257 3156B User Manual Ri3156b_apply_FM_waveform Description Programs the generator to output frequency modulated waveform. This command lets you specify all parameters to execute the carrier frequency, deviation range, amplitude, offset, modulating waveform shape and its frequency as well as frequency of the marker. It also sets FM to be the active waveform mode.
  • Page 258 Ri3156b_set(query)_arb_FM_mod_sclk Description This programs the modulating wave sample clock frequency. This parameter affects the 3156B when set to operate in arbitrary FM mode only. The arbitrary FM sample clock frequency parameter does not modify the sample clock of the arbitrary waveform function. The frequency of the modulating signal can be...
  • Page 259 3156B User Manual Parameters Variable Name Type Description instrHandle ViSession The Instrument Handle is used to identify the unique session or communication channel between the driver and the instrument. If more than one instrument of the model type is used, this will be used to differentiate between them.
  • Page 260 3156B User Manual Sample Arbitrary Modulating Waveform Data Array 1e+006 1e+006 1e+006 1e+006 1e+006 1e+006 1e+006 1e+006 1e+006 1e+006 1e+006 1.01229e+006 1.02439e+006 1.03612e+006 1.04731e+006 1.05778e+006 1.06737e+006 1.07594e+006 1.08336e+006 1.08952e+006 1.09432e+006 1.09768e+006 1.09957e+006 1.09995e+006 1.09882e+006 1.09618e+006 1.09209e+006 1.0866e+006 1.0798e+006 1.07179e+006 1.06269e+006 1.05264e+006 1.0418e+006 1.03032e+006 1.01837e+006 1.00616e+006 993844 981625 969685 958204 947357 937308 928209...
  • Page 261 3156B User Manual Ri3156b_apply_arb_FM_waveform Description Programs the generator to output frequency modulated waveform where the modulating signal is an arbitrary waveform. This command lets you specify all parameters to execute the arbitrary FM sample clock, amplitude, and offset. Marker frequency can be programmed using the ri3156B_set_FM_marker() function. It also sets arbitrary FM to be the active waveform mode.
  • Page 262 The variable option lets you program different dwell times for each frequency hop. The 3156B output hops from one frequency to the next according to a sequence given in a hope table. The variable dwell time table contains dwell time data for each step however, the fixed dwell time table does not contain and dwell time information and therefore, use the ri3156B_set_hop_dwell_time() function for the fixed mode.
  • Page 263 3156B User Manual Ri3156b_set(query)_hop_dwell_time Description This selects the dwell time for frequency hops when the selected mode is Fixed dwell time hops. The dwell time table in this case does not contain the dwell time per step parameters and therefore, the value which is programmed with this function remains constant for the entire hop sequence.
  • Page 264 Ri3156b_set(query)_hop_marker Description Programs where on the frequency list the 3156B will generate a pulse, designated as Hop marker, or index point. The marker pulse is generated at the SYNC output connector. It can also be place on one of the backplane trigger lines using the ri3156B_ set_TTLTRG_n_output_state function call.
  • Page 265 Below you can see how a hop table is constructed. The file sample below shows a list of 10 frequencies. The 3156B will hop through this list, outputting the next frequency each time it hops. Note that the carrier waveform is always sinewave and that the last cycle is always completed even if the dwell time is shorter than the period of the waveform.
  • Page 266 Below you can see how a hop table is constructed. The file sample below shows a list of 10 frequencies and their associated dwell times. The 3156B will hop through this list, outputting the next frequency each time it hops. Note that the carrier waveform is always sinewave and that the last cycle is always completed even if the dwell time is shorter than the period of the waveform.
  • Page 267 3156B User Manual hopDwellTimeList Points to an array of dwell time values. Each dwell time is ViReal64[] associated with a different frequency hop and therefore, the array size must match the number of frequency hops. NOTE: Dwell time is programmed in units of μs (microsecond).
  • Page 268 3156B User Manual Valid range: 10e-3 to 10 (V, into 50Ω) Default:5 offset Programs the offset for the selected function ViReal64 Valid range: -4.995 to 4.995 (V, into 50Ω) Default: 0 hopDwellTime Programs dwell time for the fixed dwell-time frequency ViReal64 hop function.
  • Page 269 Note that the initialize function may be used to associate multiple instrument handles with a single instrument. FSKOneFrequency Selects the frequency where the 3156B will shift when ViReal64 the controlling bit is one. Valid range: 0.01 to 25e6 (Hz)
  • Page 270 Description Loads the data stream that will cause the 3156B to hop from carrier to shifted frequency and visa versa. Data format is a string of "0" and "1" which define when the output generates carrier frequency and when it shifts frequency to the FSK value.
  • Page 271 Default: 8 FSKData Defines a stream of data, similar to the example above, ViBoolean[] which will cause the 3156B to hop from carrier frequency to shifted frequency value. Valid Range: 0 or 1 Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code.
  • Page 272 Ri3156b_set(query)_FSK_marker Description Programs where on the data stream the 3156B will generate a pulse, designated as FSK marker, or index point. The marker pulse is generated at the SYNC output connector. It can also be place on one of the backplane trigger lines using the ri3156B_ set_TTLTRG_n_output_state function call.
  • Page 273 Programs the offset for the selected function ViReal64 Valid range: -4.995 to 4.995 (V, into 50Ω) Default: 0 FSKOneFrequency Selects the frequency where the 3156B will shift when ViReal64 the controlling bit is one. Valid range: 0.01 to 25e6 (Hz) Racal Instrument © 2005...
  • Page 274 3156B User Manual Default: 1e6 FSKzeroFrequency Selects the frequency where the 3156B will remain when ViReal64 the controlling bit is zero. Valid range: 0.01 to 25e6 (Hz) Default: 1e6 FSK_marker_index Programs a marker pulse at an index bit position. ViInt16...
  • Page 275 The resultant value is used as the frequency of the modulating waveform. Note, however, that it is possible to program the modulating frequency directly, using the ri3156B_set_AM_mod_freq_div() parameter. The 3156B will accept the last parameter sent to it and therefore refrain from sending two parameters as only the last will be accepted.
  • Page 276 This allows the user to program the modulation frequency. Note, however, that it is possible to program the modulating frequency using the parameter. The 3156B will accept the last parameter sent to it and therefore refrain from sending two parameters as only the last will be accepted.
  • Page 277 3156B User Manual "ri3156B_error_message()" will return a string describing the error. Ri3156b_set(query)_AM_mod_depth Description This programs the modulation depth for the amplitude modulation programs. Channel Dependency: independent C Syntax ViStatus ri3156b_set_AM_mod_depth (ViSession instrHandle, ViReal64 AMModulationDepth) ViStatus ri3156b_query_AM_mod_depth (ViSession instrHandle, ViReal64 * AMModulationDepth)
  • Page 278 3156B User Manual Ri3156b_apply_AM_waveform Description Programs the generator to output amplitude modulated waveforms. This command lets you specify all parameters to execute the carrier frequency, amplitude, offset modulation frequency divider and modulation depth. It also sets AM to be the active waveform mode.
  • Page 279: The Digital Patterns Functions Group

    3156B User Manual Use this group to generate digital patterns from the 3156B. Although The Digital the instrument can generate 16-bit waveforms, the digital patterns are Patterns generated from 12 bits only (each channel). The digital outputs are always active however, if no termination is hooked on the outputs, the Functions Group signal will not be seen at the terminals.
  • Page 280 3156B User Manual Ri3156b_set(query)_dig_pattern_rate_range Description Depending on the minimum pattern size and resolution, Freerun digital patterns have two rate ranges: 1pps to 50Mpps and 1pps to 100Mpps. The two ranges are characterized as follows: 1pps to 50Mpps can generate patterns that have odd number of patterns and minimum number of patterns is 1;...
  • Page 281 3156B User Manual Ri3156b_set(query)_dig_pattern_rate Description This programs the rate of which the Freerun digital patterns will change. Note that the rate depends on the rate range. The rate range can be programmed using the Ri3156b_set_dig_pattern_rate_range function call. Channel Dependency: Common...
  • Page 282 Below you can see how a Freerun digital pattern table is constructed. The sample below shows a list of 10 patterns and their associated hold counts. The 3156B will step through this list, outputting the next pattern each time it hop to the next step at a rate programmed by the ri3156B_set_dig_patter_rate() function call and the hold count set by the ViInt32 digitalPatternHoldCountList[]) argument.
  • Page 283 3156B User Manual Valid range: Hold count depends on the rate range and the programmed channel. The range is 1 to 1.049B if rate range 50Mpps and 2 to 2.1B if rate range 100Mpps.In channel 2 max hold count = 16000000 if rate range is...
  • Page 284 3156B User Manual digitalPatternRateRange Programs the freerun digital patterns rate range ViInt16 Valid range: 0, 1 0 – selects the 1pps to 100Mpps range 1 – selects the 1pps to 50Mpps range Default: 0 Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code.
  • Page 285 Below you can see how a Stimulus digital pattern table is constructed. The sample below shows a list of 10 patterns. The 3156B will step through this list, outputting the next pattern each time it hop to the next step at a rate programmed by the ri3156B_set_stim_freq () function call.
  • Page 286 3156B User Manual Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code. Passing the error code into the function "ri3156B_error_message()" will return a string describing the error.
  • Page 287: The Video Stroke Functions Group

    3156B User Manual Use this group to generate video stroke characters. There are 10 built- The Video Stroke in characters built into the 3156B library. Other patterns can be Functions Group generated the same way arbitrary waveforms are being generated.
  • Page 288 3156B User Manual Ri3156b_set(query)_video_stroke_point_freq Description This programs the frequency of which stroke point will be sampled. This is parameter is very similar to the sample clock frequency where each clock samples a point in the video waveform file. Channel Dependency: Common...
  • Page 289 3156B User Manual ri3156b_set(query)_video_offset_start Description This programs the video stroke offset start point. Use this function to set the initial position of the video stroke pattern/character Channel Dependency: Independent C Syntax ViStatus ri3156b_set_video_offset_start (ViSession instrHandle, ViReal64 videoStrokeOffsetStart) ViStatus ri3156b_query_video_offset_start (ViSession instrHandle, ViReal64 * videoStrokeOffsetStart)
  • Page 290 3156B User Manual ri3156b_set(query)_video_offset_stop Description This programs the video stroke offset stop point. Use this function to set the end position of the video stroke pattern/character Channel Dependency: Independent C Syntax ViStatus ri3156b_set_video_offset_stop (ViSession instrHandle, ViReal64 videoStrokeOffsetStop) ViStatus ri3156b_query_video_offset_stop (ViSession instrHandle, ViReal64 * videoStrokeOffsetStop)
  • Page 291 3156B User Manual ri3156b_set(query)_video_offset_range Description This programs the video stroke offset range. Use this function to simultaneously set initial and final position of the video stroke pattern/character on the video monitor. Channel Dependency: Independent C Syntax ViStatus ri3156b_set_video_offset_range (ViSession instrHandle, ViReal64 videoStrokeOffsetStart, ViReal64...
  • Page 292 3156B User Manual ri3156b_set(query)_video_offset_step Description This programs the video stroke offset step increment. The video character will move about the screen at a rate set by the ri3156B_set_video_stroke_point_freq () and in step increments set by this function call. Channel Dependency: Independent...
  • Page 293 3156B User Manual ri3156b_set(query)_video_stroke_circ_type Description This programs the circulation type for the video stroke generator. There are two options, both operate from an external trigger (or enable) signal: Single will move the pattern from start to stop offset and will leave the video character at the end of the offset range;...
  • Page 294 3156B User Manual ri3156b_set(query)_video_character Description This selects a video character from a built-in library of 10 standard characters. The characters are moved about the video screen in increments set by the ri3156B_set_video_offset_step () function through the range set by the ri3156B_set_video_offset_range () function. Both channels drive the XY coordinate simultaneously.
  • Page 295 This selects a video pattern from preloaded library of up to 16k characters. The character will be generated only if the 3156B was programmed to output video stroke patterns. The pattern is loaded to the instrument using the ri3156B_load_video_stroke_pattern_data function. The characters are moved about the video screen in increments set by the ri3156B_set_video_offset_step () function through the range set by the ri3156B_set_video_offset_range () function.
  • Page 296 The pattern number is selected using the ri3156B_set_active_video_pattern_number () function. The character will be generated only if the 3156B was programmed to output video stroke patterns.
  • Page 297 3156B User Manual Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code. Passing the error code into the function "ri3156B_error_message()" will return a string describing the error.
  • Page 298 3156B User Manual videoStrokeOffsetStop Selects the video stroke offset stop level. ViReal64 -4.995 to +4.995 Valid Range: (V into 50Ω) Default Value: 0 videoStrokeOffsetStep Selects the video stroke offset step increment. ViReal64 Valid Range: ±1e-3 ± 9.99 (V into 50Ω)
  • Page 299 3156B User Manual C Syntax ViStatus ri3156b_apply_video_stroke_pattern (ViSession instrHandle, ViReal64 videoStrokePointFrequency, ViReal64 videoStrokeOffsetStart, ViReal64 videoStrokeOffsetStop, ViReal64 videoStrokeOffsetStep, ViBoolean videoStrokeCircType, ViInt16 videoStrokePatternNumber) Parameters Variable Name Type Description instrHandle ViSession The Instrument Handle is used to identify the unique session or communication channel between the driver and the instrument.
  • Page 300: The Trigger Functions Group

    "ri3156B_error_message()" will return a string describing the error. Use this group to synchronize device operations with external events. The Trigger These functions control the run modes of the Model 3156B. The Functions Group generator can be placed in Triggered, Gated or Burst mode, with or without trigger and re-trigger delays.
  • Page 301 3156B User Manual Ri3156b_set(query)_trigger_source Description The 3156B accepts triggers (or enables) from one of four locations: 1. Front panel trigger input connector; 2. Backplane TTLTrg lines 0 through 7; 3. Back plan ECLTrg0, or 4. Software call When a front panel source is not available, the operator has the option of using either the TTLTRG<n> or ECLTRG0.
  • Page 302 3156B User Manual selects TTLTrg0 as the active trigger source selects TTLTrg1 as the active trigger source selects TTLTrg2 as the active trigger source selects TTLTrg3 as the active trigger source selects TTLTrg4 as the active trigger source selects TTLTrg5 as the active trigger source...
  • Page 303 Selects trigger delay value. ri3156B_set_trigger_delay (1) ViReal64 function call is required for this value to affect the operation of the 3156B. NOTE: trigger delay time is programmed in units of μs (microsecond). For example, to program 1.37ms delay time, enter the value as follows: 1370 Valid range: 0.5 to 21e6 (μs)
  • Page 304 3156B User Manual Return Values Displays the return status of the function call. If the function was successful, it will return a status of VI_SUCCESS, otherwise it will return an error code. Passing the error code into the function "ri3156B_error_message()" will return a string describing the error.
  • Page 305 3156B User Manual Ri3156b_set(query)_mod_burst_mode_cycles Description This function sets the number of modulation cycles when a modulation function is active and burst is on. Use the ri3156B_set_modulation_run_mode() function to select the Burst Mode. Channel Dependency: Independent C Syntax ViStatus ri3156b_set_mod_burst_mode_cycles (ViSession instrHandle, ViInt32 number_ofCycles)
  • Page 306 The trigger slope function selects the sensitive edge of the trigger signal that is applied to the TRIG IN connector or to the backplane TTLTrg lines. The Model 3156B can be made sensitive to either the positive or negative transitions. Positive going transitions will trigger the Model 3156B when the POS option is selected.
  • Page 307 3156B User Manual Ri3156b_set(query)_trigger_level Description The trigger level command sets the threshold level at the trigger input connector. Trigger levels are adjustable from -5V to 5V. Channel Dependency: Common C Syntax ViStatus ri3156b_set_trigger_level (ViSession instrHandle, ViReal64 triggerLevel) ViStatus ri3156b_query_trigger_level (ViSession instrHandle, ViReal64 * triggerLevel)
  • Page 308 Selects re-trigger delay value. ViReal64 ri3156B_set_re_trigger_delay (1) function call is required for this value to affect the operation of the 3156B. NOTE: trigger delay time is programmed in units of μs (microsecond). For example, to program 1.37ms delay time, enter the value as follows: 1370 Valid range: 0.5 to 21e6 (μs)
  • Page 309 3156B User Manual Ri3156b_set(query)_re-trigger_delay_state Description This toggles re-trigger delay ON and OFF. Re-trigger delay value can be set using the ri3156b- set_re_trigger_delay () function. Re-trigger run mode is initiated from one of the following sources: External (front panel TRIG IN connector), TTLTRG(n) or ECLTRG0 (backplane trigger lines), or software command (Immediate trigger).
  • Page 310 3156B User Manual Ri3156b_set(query)_sync_output_type Description This selects between two sync options: Pulse and Zero crossing. The pulse option generates a single pulse at the start of the waveform and the zero crossing option generates a pulse every time the output waveform transitions through the 0V level.
  • Page 311 3156B User Manual Ri3156b_set(query)_sync_output_state Description This toggles the SYNC signal, at the SINC OUT connector only, ON and OFF. Sync type can be set using the ri3156b-set_sync_type () function. This command does not affect the TTLTRG(n) state. Channel Dependency: Independent...
  • Page 312 3156B User Manual Ri3156b_set(query)_TTLTRG_n_output_state Description This programs one or more of the eight backplane TTLTrg lines as an output. The signal that is placed on this output is the same signal as generated at the front-panel SYNC output connector. The synchronization signal is selected using the ri3156B_set_sync_output_type () function;...
  • Page 313: The Wavecad Support Functions Group

    3156B User Manual Use the functions in this group to point to a path where WaveCAD files The WaveCAD were already checked and stored. There are similar functions that Support were already described in the above that point to arrays of data but in...
  • Page 314 3156B User Manual WaveCAD Support Programming 3156B Function Name Parameter(s) Range Default ri3156B_load_wavecad_wave_file ViInt16 segmentNumber 1 to 4096 ViString WaveCadWaveformFileName File name path ViInt32 segmentSize 1 to 512k ViBoolean fileResolution 0, 1 ri3156B_load_wavecad_FM_wave_file ViString WaveCadFM_DataFileName File name path ViInt32 FMnumberOfPoints...
  • Page 315 3156B User Manual Ri3156b_load_wavecad_wave_file Description This function is similar to the Ri3156b_load_arb_data except it points to a file name that was already prepared and stored on your computer. The complete path to the file location is required. You can use this function to load files in either 12-bit or 16-bit format, depending on how you define the format of your data with the fileResolution variable.
  • Page 316 3156B User Manual Ri3156b_load_wavecad_FM_file Description This function is similar to the Ri3156b_load_arb_FM_mod_data except it points to a file name that was already prepared and stored on your computer. The complete path to the file location is required. This command will download FM modulating waveform data to the arbitrary FM memory.
  • Page 317 Below you can see how a hop file is constructed. The file sample below shows a list of 10 frequencies and their associated dwell times. The 3156B will hop through this list, outputting the next frequency each time it hops.
  • Page 318 3156B User Manual Sample Data File - Frequency Hops with Variable Dwell Time 1e+6 100 2e+6 2000 3e+3 3e4 4e+6 40 5e+5 5e3 6e+2 6000 7e+1 0.7 8e+6 8e2 9e+3 90 10e+5 1000 Sample Data File - Frequency Hops with Fixed Dwell Time...
  • Page 319 The complete path to the file location is required. This function loads the data stream that will cause the 3156B to hop from carrier to shifted frequency and visa versa. Data format is a string of "0" and "1" which define when the output generates carrier frequency and when it shifts frequency to the FSK value.
  • Page 320 Below you can see how a digital pattern sample files are constructed. The sample below shows a list of 10 patterns and their associated hold counts. The 3156B will step through this list, outputting the next pattern each time it hop to the next step at a rate programmed by the ri3156B_set_dig_patter_rate() function call.
  • Page 321 The pattern number is selected using the videoStrokePatterNumber variable. The character will be generated only if the 3156B was programmed to output video stroke patterns.
  • Page 322: The Utility Functions Group

    "ri3156B_error_message()" will return a string describing the error. Functions in this group do not directly control instrument operation but The Utility come to assist in extracting important information from the 3156B such Functions Group as when was the last calibration date, what option was installed in the factory and more.
  • Page 323 Ri3156b_clear Description Performs a VXI word serial clear command. This results in clearing the input and output buffers of the 3156B. This can be useful for re-establishing communication with the 3156B and for ensuring no partial commands lie in the instrument's input buffer.
  • Page 324 "ri3156B_error_message()" will return a string describing the error. Ri3156b_revision_query Description This interrogates the 3156B’s driver and firmware version. The latest revision levels are published on Racal Instruments’ web site. Compare these numbers with the values you receive from this function call. Channel Dependency: Common...
  • Page 325 "ri3156B_error_message()" will return a string describing the error. Ri3156b_error_query Description This interrogates the 3156B for programming error. Programming errors could occur from setting conflicts, programming parameters out of their legal ranges others. The function returns two parameters: Error number and Error message...
  • Page 326 Description This reads the serial number of the instrument as was assigned by the factory. The returned value must match the number printed on the serial number label on the side panel of the 3156B. Channel Dependency: Common C Syntax...
  • Page 327 Description This reads the date of which the 3156B was calibrated the last time. Normal calibration cycle is 3 year however, if the unit has been repaired or checked to be out of its specified ranges, then the instrument will get calibrated and this value updated accordingly.
  • Page 328 3156B User Manual Ri3156b_query_addr_space Description This reads the address space the 3156B was programmed to use. Two options are used A24 or A32 address space. Configuration is made in the factory. The recommended configuration is A32. Channel Dependency: Common C Syntax...
  • Page 329: Maintenance And Performance Checks

    This chapter provides maintenance and service information, What’s in This performance tests, and the procedures necessary to adjust and Chapter troubleshoot the Model 3156B Waveform Synthesizer. WARNING The procedures described in this section are for use only CAUTION RISK OF ELECTRICAL SHOCK by qualified service personnel.
  • Page 330: Special Handling Of Static Sensitive Devices

    Once the device is installed on the PC board, the device is adequately protected and normal handling may resume. The Model 3156B should be cleaned as often as operating conditions Cleaning require. To clean the instrument, use the following procedure: Thoroughly clean the inside and outside of the instrument.
  • Page 331: Repair And Replacement

    3156B User Manual Repair and replacement of electrical and mechanical parts must be Repair and accomplished with great care. Printed circuit boards can become Replacement warped, cracked or burnt from excessive heat or mechanical stress. The following repair techniques are suggested to avoid inadvertent...
  • Page 332: Warm-Up Period

    Most equipment is subject to a small amount of drift when it is first Warm-up Period turned on. To ensure accuracy, turn on the power to the Model 3156B and allow it to warm-up for at least 30 minutes before beginning the performance test procedure.
  • Page 333: Frequency Accuracy

    Output: Enable: Test Procedure 1. Perform frequency Accuracy tests using Table 5-1 Note. If the 3156B under test is equipped with a TCXO option, replace the ±100ppm Error Limits in Table 5-1 with ±1ppm. Table 6-1 Frequency Accuracy 3156B Setting...
  • Page 334: Modulation Waveforms

    Preparation: 1. Configure the DMM as follows: Termination: 50Ω feedthrough at the DMM input Function: 2. Connect 3156B Channel 1/2 output to the DMM input 3. Configure the 3156B channels 1/2 as follows: Reset Waveform Mode: MOD Modulation Mode: OFF...
  • Page 335: Offset Accuracy

    +4.000V 0V ±5 mV 0.000V -4.000V ±45 mV -4.000V 2. Modify 3156B Amplitude setting to 5V and offset setting to 0V 3. Continue the Offset tests using Table 5-5 Table 6-5 Offset Accuracy, DAC Waveforms (continued) 3156B Offset DMM Reading...
  • Page 336: Modulation Waveforms

    Preparation: 1. Configure the DMM as follows: Termination: 50Ω feedthrough at the DMM input Function: 2. Connect 3156B Channel 1/2 output to the DMM input 3. Configure the 3156B channels 1/2 as follows: Reset Waveform Mode: MOD Modulation Mode: OFF...
  • Page 337: Sine Wave Characteristics

    Characteristics Equipment: Distortion Analyzer, WaveCAD Distortion, DAC Waveforms Preparation: 1. Connect 3156B Channel 1/2 output to the distortion analyzer input. Use 50Ω feedthrough termination at the distortion analyzer input 2. Configure the 3156B channels 1/2 as follows: Reset SCLK: As required by the test...
  • Page 338: Sinewave Spectral Purity , Dac Waveforms

    Equipment: Spectrum Analyzer Sinewave Spectral Purity , Preparation: DAC Waveforms 1. Connect 3156B Channel 1/2 output to the spectrum analyzer input. Use 50Ω and 20dB feedthrough termination at the spectrum analyzer input 2. Configure the 3156B channels 1/2 as follows: Reset...
  • Page 339: Flatness, Dac Waveforms

    1. Configure the Oscilloscope as follows: Termination: 20dB, 50Ω feedthrough attenuator Setup: As required for the test 2. Connect 3156B Channel 1/2 output to the oscilloscope input. Place the feedthrough attenuator at the oscilloscope inputs 3. Configure the 3156B channels 1/2 as follows: Reset Frequency:...
  • Page 340: Flatness, Modulation Waveforms

    Termination: 20dB, 50Ω feedthrough attenuator Setup: As required for the test 2. Connect 3156B Channel 1/2 output to the oscilloscope input. Place the feedthrough attenuator at the oscilloscope inputs 3. Configure the 3156B channels 1/2 as follows: Reset Waveform Mode: MOD...
  • Page 341: Delayed Trigger

    Squarewave 2. Place the “T” connector on the output terminal of the function generator. Connect one side of the “T” to the 3156B TRIG IN connector and the other side of the “T” to the channel A input of the counter 3.
  • Page 342: Re-Trigger

    1. Configure the counter to pulse width measurements as follows: Function: Pulse Width Measurement Channel A Slope: Negative 2. Connect the counter channel A to the 3156B output 3. Using WaveCAD prepare and download the following waveform: Wavelength: 100 points Waveform: Pulse, Delay = 0.1, Rise/Fall = 0,...
  • Page 343: Trigger Slope

    10kHz Run Mode: Continue Waveform: TTL Output 4. Connect the function generator TTL output to the 3156B TRIG IN connector 5. Connect the function generator main output to the 2 channel of the oscilloscope 6. Configure the 3156B channels 1/2 as follows:...
  • Page 344: Trigger Level

    20dB, 50Ω feedthrough attenuator Setup: As required for the test Trigger Source: External 2. Connect 3156B Channel 1 output to the oscilloscope input. Place the feedthrough attenuator at the oscilloscope inputs 3. Configure the function generator as follows: Frequency 10kHz...
  • Page 345: Sequence Operation

    Every time the counter reading should be 500,000 counts exactly Pass Fail Test Results 2. Remove the cable from 3156B channel 1 and connect to channel 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results Racal Instrument ©...
  • Page 346: Step Advance

    Triggered Waveform: Squarewave. Amplitude: Adjust for TTL level on 50Ω 4. Connect the function generator output to the 3156B TRIG IN connector 5. Connect 3156B Ch1 to the Oscilloscope input 6. Configure the 3156B channels 1/2 as follows: Reset SCLK...
  • Page 347 3156B User Manual 2. Remove the cable from 3156B channel 1 and connect to channel 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results NOTE Leave the same setup for the next test Equipment: Oscilloscope, function generator...
  • Page 348: Modulated Waveforms Characteristics

    4MHz Min A: 2MHz Pass Fail Test Results 2. Remove the cable from 3156B channel 1 and connect to chan 2 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results Maintenance and Performance Checks 6-20...
  • Page 349 2MHz Min A: 1MHz Pass Fail Test Results 2. Move 3156B sweep marker position to 1.5MHz and verify marker position at the middle of the ramp Pass Fail Test Results 3. Reverse between Start and Stop frequencies and verify oscilloscope reading as before except the ramp is down...
  • Page 350: Fm - Std Waveforms, Continuous Run Mode

    7 above Pass Fail Test Results 5. Remove the cable from 3156B channel 1 and connect to chan 2 6. Repeat the test procedure as above for channel 2 Pass Fail Test Results Equipment: Oscilloscope (LeCroy LT342, fitted with jitter package) FM –...
  • Page 351: Fm - Std Waveforms, Triggered Run Mode

    3. Move 3156B marker position to 1.5MHz and verify marker position Pass Fail Test Results 4. Remove the cable from 3156B channel 1 and connect to chan 2 5. Repeat the test procedure as above for channel 2 Pass Fail Test Results Equipment: Oscilloscope (LeCroy LT342, fitted with jitter package), FM –...
  • Page 352: Fm - Std Waveforms, Burst Run Mode

    Trace A View: Jitter, Type: FREQ, CLK. Trigger source: Channel 2, positive slope Amplitude: 1V/div 2. Connect 3156B Channel 1 output to the oscilloscope input, channel 1 3. Connect the 3156B SYNC output to the oscilloscope input, channel 2 4. Configure the function generator as follows:...
  • Page 353: Fm - Std Waveforms, Gated Run Mode

    Trace A View: Jitter, Type: FREQ, CLK. Trigger source: Channel 2, positive slope Amplitude: 1V/div 2. Connect 3156B Channel 1 output to the oscilloscope input, channel 1 3. Connect the 3156B SYNC output to the oscilloscope input, channel 2 4. Configure the function generator as follows:...
  • Page 354: Fm - Std Waveforms, Re-Triggered Burst Run Mod

    Trace A View: Jitter, Type: FREQ, CLK. Trigger source: Channel 2, positive slope Amplitude: 1V/div 2. Connect 3156B Channel 1 output to the oscilloscope input, channel 1 3. Connect the 3156B SYNC output to the oscilloscope input, channel 2 4. Configure the function generator as follows:...
  • Page 355: Fm - Arb Waveforms, Continuous Run Mode

    Trace A View: Jitter, Type: FREQ, CLK. Trigger source: Channel 2, positive slope Amplitude: 1V/div 2. Connect 3156B Channel 1 output to the oscilloscope input, channel 1 3. Connect the 3156B SYNC output to the oscilloscope input, channel 2 4. Configure the 3156B channels 1/2 as follows:...
  • Page 356 3156B User Manual Pass Fail Test Results 2. Remove the cable from 3156B channel 1 and connect to chan 2 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results Variable Dwell Time Equipment: Oscilloscope (LeCroy LT342, fitted with jitter package)
  • Page 357: Fixed Dwell Time Frequency Hops

    Min A: 1.0MHz Pass Fail Test Results 2. Remove the cable from 3156B channel 1 and connect to chan 2 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results Equipment: Oscilloscope (LeCroy LT342, fitted with jitter package)
  • Page 358 Max A: 2.8MHz Min A: 1.0MHz Pass Fail Test Results 2. Remove the cable from 3156B channel 1 and connect to chan 2 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results Equipment: Oscilloscope Preparation: 1.
  • Page 359: Digital Pattern Generator Characteristics

    Waveform: Amplitude Modulated Sine Modulation Depth: 10kHz Pass Fail Test Results 2. Remove the cable from 3156B channel 1 and connect to chan 2 3. Repeat the test procedure as above for channel 2 Pass Fail Test Results Digital Pattern...
  • Page 360 4. Set up the oscilloscope and verify digital sequence of 10μs per pattern step Pass Fail Test Results 5. Turn chassis power off and remove the cable from 3156B channel 1 6. Repeat the test procedure as above for channel 2 Pass Fail...
  • Page 361: Digital Patterns - Simulated Bursts

    4. Turn chassis power ON 5. Turn power supply power ON NOTE Do not attempt to connect the test board to the 3156B connector while power is ON as this may result in permanent damage to the 3156B. Always turn chassis power OFF before connecting or disconnecting the test board to the 3156B.
  • Page 362: Video Stroke Characteristics

    3156B User Manual Pass Fail Test Results 3. Turn chassis power off and remove the cable from 3156B channel 1 4. Repeat the test procedure as above for channel 2 Pass Fail Test Results Equipment: Oscilloscope, function generator Video Stroke...
  • Page 363 +4V 6. Note that subsequent external triggers do not change the trace level Pass Fail Test Results 7. Change 3156B configuration on both channels as follows: Start Offset: Stop Offset: Offset Step: 10mV Amplitude: Run Mode: Single 8.
  • Page 364: Adjustments

    Conditions 37.7°C and at a relative humidity of less than 80%. Turn on the power to the 3156B and allow it to warm up for at least 30 minutes before beginning the adjustment procedure. If the instrument has been subjected to conditions outside these ranges, allow at least one additional hour for the instrument to stabilize before beginning the adjustment procedure.
  • Page 365: Racal Instruments © 2005

    3156B User Manual Recommended equipment for calibration is listed below. Instruments Required other than those listed may be used only if their specifications equal or Equipment exceed the required minimal characteristics. Also listed below are accessories required for calibration. SMB to BNC cable Dual banana to BNC adapter 50Ω...
  • Page 366: Figure 6-2 Enter Password Dialog Box

    3156B User Manual 2. An Enter Password dialog box opens, as shown in Figure 6-2. Figure 6-2 Enter Password Dialog Box 3. Type in the following User Name: Racal Password: 3333 4. The panel as shown in Figure 6-3 will open...
  • Page 367 Click on Amplitude in the Channel 1 group Click on Center in the Adjust group Connect a DMM to the 3156B Channel 1 output. Set the DMM to AC, 10V measurements Using the Dial or the Up and Down buttons in the Adjust group, adjust for DMM reading of 2.121V, ±10mV...
  • Page 368 1. Click on Offset 0V in the Channel 2 group 2. Click on Center in the Adjust group 3. Connect a DMM to the 3156B Channel 2 output. Set the DMM to DC, 100mV measurements 4. Using the Dial or the Up and Down buttons in the Adjust group, adjust for DMM reading of 0V, ±20mV...
  • Page 369 1. Click on Offset 4V in the Channel 2 group 2. Click on Center in the Adjust group 3. Connect a DMM to the 3156B Channel 2 output. Set the DMM to DC, 10V measurements 4. Using the Dial or the Up and Down buttons in the Adjust group, adjust for DMM reading of 4V, ±40mV.
  • Page 370 3156B User Manual This page was left intentionally blank. Maintenance and Performance Checks 6-42 Racal Instrument © 2005...
  • Page 371: Product Support

    For worldwide support and the office closes to your facility, refer to the Support Offices section on the following page. Use the original packing material when returning the 3156B to Racal Reshipment Instruments for calibration or servicing. The original shipping...
  • Page 372: Support Offices

    Tel: +44 (0) 1202 872800; Fax: +44 (0) 1202 870810 Via Milazzo 25, 20092 Cinisello B, Milan, Italy Tel: +39 (0)2 6123 901; Fax: +39 (0)2 6129 3606 Racal Instruments Group Limited, Technologie Park, D-51429 Bergisch Gladbach, Germany Tel: +49 2204 844205; Fax: +49 2204 844219 Product Support 7-2 Racal Instrument ©...
  • Page 373 3156B User Manual REPAIR AND CALIBRATION REQUEST FORM To allow us to better understand your repair requests, we suggest you use the following outline when calling and include a copy with your instrument to be sent to the Racal Repair Facility.
  • Page 374 3156B User Manual This page was left intentionally blank. Product Support 7-4 Racal Instrument © 2005...
  • Page 375: Specifications

    3156B User Manual Appendix A SPECIFICATIONS VXIbus General Information Module Form Single slot VXIbus C-size module Connectors P1, P2 Protocol A24/A32/D16, Register-Based VXIbus Revision SCPI Revision 1993.0 Logical Address Settings 1 - 255, configured via DIP switches Interrupt Level Settings...
  • Page 376: Sampling Clock

    3156B User Manual Common parameters Sample clock frequency, reference source, trigger source Separate parameters Amplitude, offset, waveform shape parameters, SYNC output and output disable Skew between channels Sample Clock Mode 100MS/s 1S/s to 25MS/s 25MS/s to 75MS/s ½ SCLK +3ns...
  • Page 377: Amplitude Characteristics

    3156B User Manual Amplitude Characteristics Amplitude 20mV to 20Vpk-pk, output open circuit 10mV to 10Vpk-pk, into 50Ω Resolution 4 digits Accuracy (measured at 1kHz) 1V to 10Vpk-pk: ±(1% + 25mV) 100mV to 1Vpk-pk: ±(1% + 5mV) 10mV to 100mVpk-pk: ±(1% + 2mV) DC Offset Range 0 to ±4.995V...
  • Page 378 3156B User Manual Hardware Front panel TRIG IN, VXI Backplane: TTLTrg0-7 Mixed Output of one cycle following a software Enable ON command. Subsequent outputs enabled hardware, or backplane triggers Trigger Characteristics Input Sources External: Front panel SMB VXI Backplane: TTLTrg0-7 Trigger Level Range: ±5V...
  • Page 379 3156B User Manual Standard Waveforms Frequency Range 100μHz to 25MHz Frequency Resolution 10 digits Accuracy & Stability Same as frequency standard Sine Start Phase Range 0-359.95° Start Phase Resolution 0.05° Sine Total Harmonic Distortion 0.3% to 100kHz Harmonics and Spurious (max amplitude) 30dBc, <25MHz...
  • Page 380 3156B User Manual DC Output Function Range -100% to 100% of amplitude Half-Cycle Waveforms Function Shape (other channel either in half-cycle mode or AC continuous signal) Sine, Triangle, Square Frequency Range 100 Hz to 2MHz Phase Start Range (Sine and triangle only) 0°...
  • Page 381 3156B User Manual Sequenced Waveforms Operation Segments may be linked and repeated in a user- selectable fashion to generate extremely long waveforms. Segments are advanced using either a command or a trigger Advance Modes Automatic Sequence Advance No trigger required to step from one segment to the next.
  • Page 382 3156B User Manual Sweep Swept Waveform Sine wave Sweep Step Linear or log Sweep Direction Up or Down Sweep Range 100μHz to 25MHz Sweep Time 1.4μs to 40s Marker Output Programmable marker at a selected frequency. Modulated Waveform Sine wave...
  • Page 383 3156B User Manual Envelop Frequency 10mHz to 100kHz Modulation Depth 0% to 100% Shifted Waveform Sine wave Carrier/Shifted Frequency Range 100μHz to 25MHz Baud Rate Range 1bits/sec to 10Mbits/sec FSK Data Bits Length 1-4096 Marker Output Programmable marker at a selected frequency...
  • Page 384 3156B User Manual Digital Pattern Outputs Pattern Size 12-bits, ECL levels differential, each channel Update Frequency 100μHz to 100MHz Number of Patterns 1 to 512K Output Mode Free-Run Has programmable hold time for each pattern Stimulus Has fixed hold time for all steps Hold Time Range 1 to 1,000,000,000 to 50MS/s (hold time >1080ns...
  • Page 385 3156B User Manual Programmable Level ±5V Sensitivity 100mVp-p Damage Level ±8V Pulse Width 10ns minimum External Reference Input Connector Frequency 10MHz Impedance 50Ω ±5% Level 0dBm, sine Damage Level 1V rms Environmental Temperature Operating: 0°C-50°C Storage: -40°C-70°C Spec Compliance 20°C-30°C Humidity (non-condensing) 11°C-30°C: 95% ±5%...

Table of Contents