Spectrum generatorNETBOX DN2.65 Series Hardware Manual

Ethernet/lxi remote waveform generator
Table of Contents

Advertisement

Quick Links

generatorNETBOX
DN2.65x-xx
DN6.65x-xx
Ethernet/LXI remote waveform generator
with 16 bit resolution
Hardware Manual
Software Driver Manual
Valid for all versions
Manual Printed: 12. June 2023

Advertisement

Table of Contents
loading

Summary of Contents for Spectrum generatorNETBOX DN2.65 Series

  • Page 1 generatorNETBOX DN2.65x-xx DN6.65x-xx Ethernet/LXI remote waveform generator with 16 bit resolution Hardware Manual Software Driver Manual Valid for all versions Manual Printed: 12. June 2023...
  • Page 2 (c) SPECTRUM INSTRUMENTATION GMBH AHRENSFELDER WEG 13-17, 22927 GROSSHANSDORF, GERMANY SBench, digitizerNETBOX, generatorNETBOX and hybridNETBOX are registered trademarks of Spectrum Instrumentation GmbH. Microsoft, Visual C++, Windows, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11 and Windows Server are trademarks/registered trademarks of Microsoft Corporation.
  • Page 3: Table Of Contents

    Additional options for DN6 products ............................ 16 19“ Rack Mount Kit ..............................16 AC Cable Options ................................17 The Spectrum type plate ..............................18 Hardware information................................. 19 Block diagram of generatorNETBOX DN2.65x and DN6.65x: ..................19 Block diagram of a single internal generator module: ....................... 19 DN2 / DN6 Technical Data ............................
  • Page 4 Compilation of kernel driver sources (optional and local cards only) ................... 39 Update of a self compiled kernel driver ........................... 39 Installing the library only without a kernel (for remote devices) ................... 40 Installation from Spectrum Repository ..........................40 Control Center ................................41 Software ......................... 42 Software Overview................................
  • Page 5 Embedded Server ................................. 66 Login/Logout ................................66 IVI Driver......................... 67 About IVI................................... 67 General Concept of the Spectrum IVI driver ........................... 67 Supported Spectrum Hardware ............................68 Supported data acquisition and generation card families: ....................68 Supported digitizerNETBOX families..........................68 Supported generatorNETBOX families..........................
  • Page 6 Analog Outputs ....................... 83 Channel Selection ................................83 Single-ended inputs............................... 83 Setting up the outputs................................84 Output Enable................................84 Output Amplitude Setting and Hysteresis ......................... 86 Output offset ................................86 Maximum Output Range..............................87 Output Filters ................................87 Differential Output ................................ 88 Double Out Mode ................................
  • Page 7 Multi Purpose I/O Lines ....................129 Standard I/O lines (X0, X1, X2, X3) ........................... 129 Programming the behavior............................129 Asynchronous I/O ..............................130 Special behavior of trigger output..........................130 Synchronous digital outputs ............................131 Additional I/O lines with Option -DigBNC .......................... 132 Programming the behavior............................
  • Page 8 Examples................................... 168 Autostart..................................169 LEDs..................................169 Appendix ........................170 Error Codes ..................................170 Spectrum Knowledge Base ............................171 Temperature sensors ................................. 172 Temperature read-out registers ............................. 172 Temperature hints ............................... 172 65xx temperatures and limits ............................172 Additional Temperature sensors for M2p.654x and M2p.657x ..................... 173 DN6 Temperature sensors ..............................
  • Page 9: Safety Instructions

    Products Labelling for CE conformity Spectrum confirms with the CE marking affixed to the product or its packaging that the product complies with the product-specific applicable European directives. The CE declaration of conformity for the product is available upon request.
  • Page 10: Bringing The Product Into Service

    Keep the module away from heat sources and protect it against direct exposure to the sun. The free space above and behind the module must be selected so that sufficient air circulation is ensured. During normal operation there are no hot surfaces that pose any danger to the operator. Maintenance The product is maintenance-free. (c) Spectrum Instrumentation GmbH...
  • Page 11: Repair/Service

    According to the European directive WEEE (Waste Electrical and Electronic Equipment), the user is obliged to return the product to the system for collection, treatment and recycling of waste electronic equipment. Disposal via residual waste is not permitted. Up-to-date information on notifiable substances according to REACH regulation (EC) No 1907 /2006 can be quoted on request. (c) Spectrum Instrumentation GmbH...
  • Page 12: Packing List

    Matching your country power plugs 19” Rack Mounting kit Optional Two rack mounting extensions for self mounting Manual Printed Installation Manual USB Stick Containing drivers, software and programming manuals Cables Optional Ordered cables, each packed in own bag (c) Spectrum Instrumentation GmbH...
  • Page 13: Introduction

    For any new information on the board as well as new available options or memory upgrades please contact our website www.spectrum-instrumentation.com. You will also find the current driver package with the latest bug fixes and new features on our site.
  • Page 14: Internal Generator Modules

    Internal Generator Modules Internal Generator Modules The generatorNETBOX products internally consist of generator modules that are accessed and programmed in a similiar way as the Spectrum generator cards themselves. Accessing the generatorNETBOX by software therefore is nearly identical to accessing the same plug-in cards.
  • Page 15: Different Models Of The Dn2.65X Series

    It is not possible to mount two digitizerNETBOX/generatorNETBOX/hybridNETBOX DN2 products side by side into one 19“ slot. DC Power Supply The DC power supply option is factory mounted and allows the connection of a DC source directly to the digitizerNETBOX/generatorNETBOX or hybridNETBOX. (c) Spectrum Instrumentation GmbH...
  • Page 16: Different Models Of The Dn6.65X Series

    19“ rack. The device then requires three height units within the 19“ rack. Multiple digitizerNETBOX/generatorNETBOX products can be mount- ed one on top of the other. Image 3: 19” NETBOX DN6 with installed 19” mounting handles (c) Spectrum Instrumentation GmbH...
  • Page 17: Ac Cable Options

    A comprehensive list of all world-wide power plugs in use can be found on the IEC (Interbational Electrotechnical Commission) website: http://www.iec.ch/worldplugs/ The following power cable options are available from Spectrum: 001: Universal Type for IEC Plug Type E and Type F The power cable is suitable for Continental Europe, Korea and others.
  • Page 18: The Spectrum Type Plate

    Image 4: Spectrum type plate with all information found there The Spectrum type plate, which consists of the following components, can be found on the back of all netbox products. Please check whether the printed information is the same as the information on your delivery note. All this information can also be read out by software:...
  • Page 19: Hardware Information

    • The internal module to which the auxiliary I/O lines are connected is model dependent. Consult „Internal Generator modules“ chapter. Block diagram of a single internal generator module: Image 6: block diagram of internal AWG module (c) Spectrum Instrumentation GmbH...
  • Page 20: Dn2 / Dn6 Technical Data

    ±5 V in steps of 10 mV  External trigger bandwidth DC to 400 MHz n.a. DC to 300 MHz DC to 125 MHz  Minimum external trigger pulse width 2 samples 2 samples (c) Spectrum Instrumentation GmbH...
  • Page 21 The card maximum (see „Clock Limitations and Bandwidth“ table below) must not be exceeded. Channel to channel skew on one card < 200 ps (typical) Skew between star-hub synchronized cards < 100 ps (typical) (c) Spectrum Instrumentation GmbH...
  • Page 22 Power supply cord no cord included Serial connection details (DN2.xxx with hardware  V11) Serial connection (RS232) For diagnostic purposes only. Do not use, unless being instructed by a Spectrum support agent. Certification, Compliance, Warranty According to EN ISO/IEC 17050-1:2010 EMC Compliance...
  • Page 23 69.8 dB 65.7 dB 60.9 dB SFDR (typ), excl harm. 97.0 dB 95.0 dB 88.0 dB 88.0 dB 90.0 dB 89.0 dB ENOB (SINAD) 12.0 12.0 11.3 11.3 10.6 ENOB (SNR) 14.7 14.8 13.5 13.6 12.5 12.6 (c) Spectrum Instrumentation GmbH...
  • Page 24 THD and SFDR are measured at the given output level and 50 Ohm termination with a high resolution M3i.4860/M4i.4450-x8 data acquisition card and are calculated from the spec- trum. Noise Spectral Density is measured with built-in calculation from an HP E4401B Spectrum Analyzer. All available D/A channels are activated for the tests. SNR and SFDR figures may differ depending on the quality of the used PC.
  • Page 25: Dn2 Specific Technical Data

    Volume weight of Packing (single DN6) 19.0 kg Power Consumption 230 VAC 24 channel versions, standard memory 32 channel versions, standard memory 40 channel versions, standard memory 48 channel versions, standard memory MTBF MTBF 100000 hours (c) Spectrum Instrumentation GmbH...
  • Page 26: Dn2 Order Information

    The standard adapter cables are based on RG174 cables and have a nominal attenuation of 0.3 dB/m at 100 MHz. for Connections Connection Length to SMA male to SMA female to BNC male to SMB female BNC male 80 cm Cab-3mA-9m-80 Cab-3fA-9m-80 Cab-9m-9m-80 Cab-3f-9m-80 BNC male 200 cm Cab-3mA-9m-200 Cab-3fA-9m-200 Cab-9m-9m-200 Cab-3f-9m-200 (c) Spectrum Instrumentation GmbH...
  • Page 27: Dn6 Order Information

    The standard adapter cables are based on RG174 cables and have a nominal attenuation of 0.3 dB/m at 100 MHz. for Connections Connection Length to SMA male to SMA female to BNC male to SMB female BNC male 80 cm Cab-3mA-9m-80 Cab-3fA-9m-80 Cab-9m-9m-80 Cab-3f-9m-80 BNC male 200 cm Cab-3mA-9m-200 Cab-3fA-9m-200 Cab-9m-9m-200 Cab-3f-9m-200 (c) Spectrum Instrumentation GmbH...
  • Page 28: Hardware Installation

    There are no components inside the chassis that need any operating by the user. In contrary there are a lot of components that may be harmed when operated unproperly by a use. As Spectrum only gives a warranty on the complete instrument, opening the chassis will make you loose the warranty.
  • Page 29: Installing 19" Rack Mount Option For Dn2

    This support is required for DN6 devices due to their higher weight compared to DN2 devices. (c) Spectrum Instrumentation GmbH...
  • Page 30: Setup Of Digitizernetbox/Generatornetbox

    Debug Port (DSUB) This port is for debug purposes only. Please only connect a cable when asked by the Spectrum support group. The debug connector is a feature of hardware revision V11 and is not available on earlier versions LAN Connection A standard Ethernet port.
  • Page 31: Front Panel Dn2 Digitizernetbox/Generatornetbox

    Multi Purpose X0 with programmable direction. The connection is referenced in the manual as X0 X1 I/O Multi Purpose X1 with programmable direction. The connection is referenced in the manual as X1 X2 I/O Multi Purpose X2 with programmable direction. The connection is referenced in the manual as X2 (c) Spectrum Instrumentation GmbH...
  • Page 32: Front Panel Dn2 Hybridnetbox Dn2.80X And Dn2.81X

    Multi Purpose X2 with programmable direction. The connection is referenced in the manual as X2. X3 I/O Multi Purpose X3 with programmable direction. The connection is referenced in the manual as X3. This line is not available for the digitizer part on DN2.80x-08 and DN2.81x-08 models. (c) Spectrum Instrumentation GmbH...
  • Page 33: Front Panel Dn2 Hybridnetbox Dn2.82X

    Multi Purpose X0 with programmable direction. The connection is referenced in the manual as X0 X1 I/O Multi Purpose X1 with programmable direction. The connection is referenced in the manual as X1 X2 I/O Multi Purpose X2 with programmable direction. The connection is referenced in the manual as X2 (c) Spectrum Instrumentation GmbH...
  • Page 34: Front Panel Dn6 Digitizernetbox Or Generatornetbox

    Multi Purpose X2 with programmable direction. The connection is referenced in the manual as X2 Ethernet Default Settings The digitizerNETBOX/generatorNETBOX/hybridNETBOX is started with the following Ethernet configuration: Setting Default Setup DHCP enabled Auto IP enabled Host Name Default hostname as netbox type + serial number Example: DN2_465-08_sn8085 (c) Spectrum Instrumentation GmbH...
  • Page 35: Detecting The Digitizernetbox/Generatornetbox/Hybridnetbox

    The digitizerNETBOX/generatorNETBOX/hybridNETBOX responds to the VISA described Discovery function. The next chapter will show how to install and use the Spectrum control center to execute the discovery function and to find the Spectrum hardware. As the discovery function is a standard feature of all LXI devices there are other software packages that can find the device using the discovery function: •...
  • Page 36: Troubleshooting

    From here it is possible to go the website of the device where all necessary information are found to access the device from software. Image 16: Windows screenshot: finding a remote Spectrum device like digitizerNETBOX Troubleshooting If the above methods do not work please try one of the following steps: •...
  • Page 37: Software Driver Installation

    PC there need to be some software packages to be installed there: Spectrum driver API The Spectrum API is installed automatically under Windows when installing the Card Control Center. Under Linux it is necessary to install the matching driver API for your Linux client system before installing the Card Control Center.
  • Page 38: Linux

    QR code. The Linux drivers have been tested with all above mentioned distributions by Spectrum. Each of these distributions has been installed with the default setup using no kernel updates. A lot more different distributions are used by customers with self compiled kernel driver modules.
  • Page 39: Standard Driver Update

    (spcm_linux_drv_v123b4567) and only use the libraries out of this or one downloads the library package which is much smaller and doesn’t contain the pre-compiled kernel driver module (spcm_linux_lib_v123b4567). The update is done with a dedicated script which only updates the library file. This script is present in both driver archives: sh install_libonly.sh (c) Spectrum Instrumentation GmbH...
  • Page 40: Installing The Library Only Without A Kernel (For Remote Devices)

    Installation from Spectrum Repository The driver library, Spectrum Control Center and SBench6 can be easily installed and updated from our online repositories.Adding the repos- itory to the system and installing software differs depending on the package format used by the Linux distribution.
  • Page 41: Control Center

    SBench6 Control Center The Spectrum Control Center is also available for Linux and needs to be installed sep- arately. The features of the Control Center are described in a later chapter in deeper detail. The Control Center has been tested under all Linux distributions for which Spec- trum delivers pre-compiled kernel modules.
  • Page 42: Software

    Image 18: Spectrum Kernel Driver, API Library and Software structure The Spectrum drivers offer you a common and fast API for using all of the board hardware features. This API is the same on all supported operating systems. Based on this API one can write own programs using any programming language that can access the driver API. This manual describes in detail the driver API, providing you with the necessary information to write your own programs.
  • Page 43: Discovery Of Remote Cards, Digitizernetbox/Generatornetbox/Hybridnetbox Products

    Software Card Control Center Discovery of Remote Cards, digitizerNETBOX/generatorNETBOX/hybridNETBOX products The Discovery function helps you to find and identify the Spectrum LXI instruments like digitizerNETBOX, generatorNETBOX or hybridNETBOX available to your computer on the network. The Dis- covery function will also locate Spectrum card products handled by an installed Spectrum Remote Server somewhere on the network.
  • Page 44: Netbox Monitor

    • Starting manually from the Spectrum Control Center using the context menu as shown above • Starting from command line. The Netbox Monitor program is automatically installed together with the Spectrum Control Center and is located in the selected install folder. Using the command line tool one can place a simple script into the autostart folder to have the Net- box Monitor running automatically after system boot.
  • Page 45: Hardware Information

    The procedure on how to update the firmware of your digitizerNETBOX/generatorNETBOX/hybridNETBOX with the help of the integrated Webserver is described in a dedi- cated chapter later on. Image 25: Spectrum Control Center - showing firmware information of an installed card (c) Spectrum Instrumentation GmbH...
  • Page 46: Software License Information

    The number of demo starts left can be seen here. Image 26: Spectrum Control Center - showing firmware information of an installed card Driver information The Spectrum card control center also offers a way to gather information on the installed and used Spectrum driver.
  • Page 47: Installing And Removing Demo Cards

    Installing and removing Demo cards With the help of the card control center one can install demo cards in the system. A demo card is simulated by the Spectrum driver in- cluding data production for acquisition cards. As the demo card is...
  • Page 48: Performing Memory Test

    28000000] = 112000000 Bytes/second. Taking the above figures measured on a standard 33 MHz PCI slot the system is just capable of reaching this transfer speed: 108.0 MB/s = 108 * 1024 * 1024 = 113246208 Bytes/second. Unfortunately it is not possible to measure transfer speed on a system without having a Spectrum card installed. Debug logging for support cases...
  • Page 49: Device Mapping

    On the CD you’ll find an install version of SBench 6 in the directory „/In- stall/SBench6“. The current version of SBench 6 is available free of charge directly from the Spectrum website: www.spectrum-instrumentation.com. Please go to the download section and get the latest version there.
  • Page 50: Header Files

    Contains all error codes used with the Spectrum driver. All error codes that can be given back by any of the driver functions are also described here briefly. The error codes and their meaning are described in detail in the appendix of this manual.
  • Page 51: Linux Gnu C/C++ 32/64 Bit

    This allows us to use platform independent and universal examples and driver interfaces. If you do not stick to these declarations please be sure to use the same data type width. However it is strongly recommended that you use our defined (c) Spectrum Instrumentation GmbH...
  • Page 52: Table 11: C/C++ Type Declarations For Drivers And Examples

    Be sure to close the driver if you don’t need it any more to allow other programs to get access to this device. Function spcm_vClose: void _stdcall spcm_vClose ( // closes the device drv_handle hDevice); // handle to an already opened device (c) Spectrum Instrumentation GmbH...
  • Page 53 The three functions only differ in the type of the parameters that are used to call them. As some of the registers can exceed the 32 bit integer range (like memory size or post trigger) it is recommended to use the _i64 function to access these registers. However as there are some (c) Spectrum Instrumentation GmbH...
  • Page 54: Table 13: Spectrum Driver Api Functions Overview And Differentiation Between 32 Bit And 64 Bit Registers

    If accessing 64 bit registers with 32 bit functions the behavior differs depending on the real value that is currently located in the register. Please have a look at this table to see the different reactions depending on the size of the register: Table 13: Spectrum driver API functions overview and differentiation between 32 bit and 64 bit registers Internal register read/write...
  • Page 55 // address of the error register (can be zero if not of interest) int32* plErrorValue, // address of the error value (can be zero if not of interest) char pszErrorTextBuffer[ERRORTEXTLEN]); // text buffer for text error (c) Spectrum Instrumentation GmbH...
  • Page 56: Delphi (Pascal) Programming Interface

    M2CMD_CARD_START = $00000004; { start of card (including writesetup) } const M2CMD_CARD_ENABLETRIGGER = $00000008; { enable trigger engine } file SpcErr.pas The SpeErr.pas file contains all error codes that may be returned by the driver. (c) Spectrum Instrumentation GmbH...
  • Page 57: Examples

    Library For using the driver with a .NET based language Spectrum delivers a special library that encapsulates the driver in a .NET object. By adding this object to the project it is possible to access all driver functions and constants from within your .NET environment.
  • Page 58: Using C

    1; // ----- get card type ----- dwErrorCode = Drv.spcm_dwGetParam_i32(hDevice, Regs.SPC_PCITYP, out lCardType); dwErrorCode = Drv.spcm_dwGetParam_i32(hDevice, Regs.SPC_PCISERIALNR, out lSerialNumber); Example for digitizerNETBOX/generatorNETBOX and remotely installed cards: // ----- open remote card ----- hDevice = Drv.spcm_hOpen("TCPIP::192.168.169.14::INST0::INSTR"); (c) Spectrum Instrumentation GmbH...
  • Page 59: Using Managed C++/Cli

    System.out.println("Error: Could not open card\n"); else // ----- get card type ----- dwErrorCode = Drv.spcm_dwGetParam_i32(hDevice, Regs.SPC_PCITYP, lCardType); dwErrorCode = Drv.spcm_dwGetParam_i32(hDevice, Regs.SPC_PCISERIALNR, lSerialNumber); Example for digitizerNETBOX/generatorNETBOX and remotely installed cards: ' ----- open remote card ----- hDevice = Drv.spcm_hOpen("TCPIP::192.168.169.14::INST0::INSTR") (c) Spectrum Instrumentation GmbH...
  • Page 60: Python Programming Interface And Examples

    # use cdll because all driver access functions use cdecl calling convention under linux spcmDll = cdll.LoadLibrary ("libspcm_linux.so") # the loading of the driver access functions is similar to windows: # load spcm_hOpen spcm_hOpen = getattr (spcmDll, "spcm_hOpen") spcm_hOpen.argtype = [c_char_p] spcm_hOpen.restype = drv_handle # ... (c) Spectrum Instrumentation GmbH...
  • Page 61: Examples

    (int hDevice, int lRegister, LongByReference pllValue); int spcm_dwDefTransfer_i64 (int hDevice, int lBufType, int lDirection, int lNotifySize, Pointer pDataBuffer, long llBrdOffs, long llTransferLen); int spcm_dwInvalidateBuf (int hDevice, int lBufType); int spcm_dwGetErrorInfo_i32 (int hDevice, IntByReference plErrorReg, IntByReference plErrorValue, Pointer sErrorTextBuffer); (c) Spectrum Instrumentation GmbH...
  • Page 62: Examples

    CD that has been included in the delivery. The latest version is also avail- able on our webpage www.spectrum-instrumentation.com Please follow the description in the MATLAB manual for installation and useage of the MATLAB drivers for this card. Image 39: Spectrum MATLAB driver structure (c) Spectrum Instrumentation GmbH...
  • Page 63: Integrated Webserver

    • Directly by typing the IP address into the URL field of a Web Browser. • By selecting it from the Spectrum Control Center via the context menu on the remote device node (as shown on the screen shot on the right).
  • Page 64: Status

    Documentation All related documents for the device that may be needed to operate the digitizerNETBOX/generatorNETBOX or to pro- gram it are available by download as pdf documents from here. (c) Spectrum Instrumentation GmbH...
  • Page 65: Firmware Update

    These debug log settings are similar to the ones described in the chapter about the Spectrum control center. Using this logging the internal communication between the remote server and the locally installed Spectrum driver is logged.
  • Page 66: Access

    As soon as a password has been entered in the security set- tings a login/logout command is available from the webpage menu. After entering the password once the login stays valid until a logout or until closing the web browser. (c) Spectrum Instrumentation GmbH...
  • Page 67: Ivi Driver

    General Concept of the Spectrum IVI driver The Spectrum IVI driver is based on the standard Spectrum API and can be used with any Spectrum products specified below in the supported hardware chapter. The Spectrum products to be accessed with the IVI driver can be locally installed data acquisition cards, remotely installed data acquisition cards or remote LXI instruments like a digitizerNETBOX or generatorNETBOX.
  • Page 68: Supported Spectrum Hardware

    Supported Spectrum Hardware Supported Spectrum Hardware All Spectrum analog data acquisition hardware based on the SPCM driver structure is supported by the IVI driver. There is only one IVI driver for all hardware. Supported data acquisition and generation card families: •...
  • Page 69: Supported Standard Driver Features

    Extension: IVIDigitizer with the ability to trigger on standard television signals. IVIDigitizerWidthTrigger Extension: IVIDigitizer with the ability to trigger on a variety of conditions regarding pulse widths. IVIDigitizerWindowTrigger Extension: IVIDigitizer with the ability to trigger on signals entering or leaving a defined voltage range. (c) Spectrum Instrumentation GmbH...
  • Page 70: Ivifgen Supported Class Capabilities

    Installer The Spectrum IVI Driver Installer is shipped as an executable containing all IVI related software parts. There is only one installer for both 32 bit and 64 bit environments. The insaller automatically detects the components that are necessary to install.
  • Page 71: Installation Of The Ivi Driver Package

    • Start the remote system and let Windows install the hardware driver from USB-Stick or from your download folder • Install the Spectrum Remote Package onto the remote PC as described in the manual • Install the Spectrum Control Center on the host system •...
  • Page 72: Configuration Store

    The IVI Configuration Server also provides a way for the client to supply aliases for the physical identifiers recognized by the drivers. The Spectrum IVI driver for example uses the channel index as repeated capability allowing to give channel names as an identifier. (c) Spectrum Instrumentation GmbH...
  • Page 73: Programming The Board

    C/C++, Delphi and Basic com- ten (w). above or below the register ta- bles. Table 14: Spectrum API: Command register and basic commands Register Value Direction Description SPC_M2CMD Command register of the board.
  • Page 74: Initialization

    // Opens the remote board #1 hDrv = spcm_hOpen ("TCPIP::192.168.169.14::INST2::INSTR"); // Opens the remote board #2 Error handling If one action caused an error in the driver this error and the register and value where it occurs will be saved. (c) Spectrum Instrumentation GmbH...
  • Page 75: Gathering Information From The Card

    All information can be read out using one of the spcm_dwGetParam functions. Please stick to the “Driver Functions” chapter for more details on this function. (c) Spectrum Instrumentation GmbH...
  • Page 76: Card Type

    Hardware and PCB version Since all of the boards from Spectrum are modular boards, they consist of one base board and one piggy-back front-end module and even- tually of an extension module like the star-hub. Each of these three kinds of hardware has its own version register. Normally you do not need this information but if you have a support question, please provide the revision together with it.
  • Page 77: Firmware Versions

    Firmware versions All the cards from Spectrum typically contain multiple programmable devices such as FPGAs, CPLDs and the like. Each of these have their own dedicated firmware version. This version information is readable for each device through the various version registers. Normally you do not need this information but if you have a support question, please provide us with this information.
  • Page 78: Serial Number

    A/D and D/A cards with 12, 14 and 16 bit resolution use two bytes to store one sample. All digital cards need one byte to store 8 data bits. Table 25: Spectrum API: installed memory registers. 32 bit read is limited to a maximum of 1 GByte Register...
  • Page 79: Miscellaneous Card Information

    The card is physically mounted within a digitizerNETBOX, generatorNETBOX or hybridNETBOX. SPCM_FEAT_REMOTESERVER 10000h Support for the Spectrum Remote Server option is installed on this card. SPCM_FEAT_SCAPP 20000h Support for the SCAPP option allowing CUDA RDMA access to supported graphics cards for GPU calculations...
  • Page 80: Function Type Of The Card

    This register holds the information about the driver that is actually used to access the board. Although the driver interface doesn’t differ be- tween Windows and Linux systems it may be of interest for a universal program to know on which platform it is working. Table 30: Spectrum API: register driver type information and possible driver types Register...
  • Page 81: Custom Modifications

    Reset Every Spectrum card can be reset by software. Concerning the hardware, this reset is the same as the power-on reset when starting the host computer. In addition to the power-on reset, the reset command also brings all internal driver settings to a defined default state. A software reset is automatically performed, when the driver is first loaded after starting the host system.
  • Page 82: Digitizernetbox/Generatornetbox Specific Registers

    Information about the digitizerNETBOX/generatorNETBOX, in which the card is installed, can be read out via the card handle. The following digitizerNETBOX/generatorNETBOX specific information registers can be used: Table 35: Spectrum API: digitizerNETBOX/generatorNETBOX specific registers and available information Register Value...
  • Page 83: Analog Outputs

    Channel Selection One key setting that influences all other possible settings is the channel enable register. A unique feature of the Spectrum cards is the possibility to program the number of channels you want to use. All on-board memory can then be used by these activated channels.
  • Page 84: Setting Up The Outputs

    To help user programs it is also possible to read out the number of activated channels that correspond to the currently programmed bitmap. Table 37: Spectrum API: channel count register to read back the number of currently activated channels Register...
  • Page 85: Table 39: Spectrum Api: Output Amplifier Register And Available Range Depending On Model

    Analog Outputs Setting up the outputs Table 39: Spectrum API: output amplifier register and available range depending on model Register Value Direction Description Amplitude range M2p.653x, M2p.654x, M2p.656x M2p.657x SPC_AMP0 30010 read/write Defines the amplitude of channel0 into 50 Ohm load in mV.
  • Page 86: Output Amplitude Setting And Hysteresis

    Image 43: output offset in relation to output signal and programmed amplitude Table 40: Spectrum API: output offset register and available settings depending on model Register Offset range M2p.653x, M2p.654x,...
  • Page 87: Maximum Output Range

    -500); Output Filters Every output of your Spectrum D/A board is equipped with four fixed filters that can be used for signal smoothing. The filter is located in the signal chain between the DAC and the output amplifi- cation section, as shown in the right figure.
  • Page 88: Differential Output

    Differential outputs are not available for all types of boards. Please refer to the table below, which men- Image 46: schematic of differential output mode tions the boards this mode is available on. Table 43: Spectrum API: differential output mode registers Register SPC_DIFF0 30040 read/write Sets channel 0/1 to differential mode.
  • Page 89: Double Out Mode

    The stoplevel will stay on the defined level until the next output has been made. With the following registers you can define the behaviour after replay: Table 47: Spectrum API: stoplevel registers and available settings for stoplevel Register...
  • Page 90: Table 48: Spectrum Api: Custom Stoplevel Registers

    Analog Outputs Setting up the outputs When using SPCM_STOPLVL_CUSTOM, the sample value for the pauses must be defined via the following registers: Table 48: Spectrum API: custom stoplevel registers Register Value Direction Description SPC_CH0_CUSTOM_STOP 206050 read/write Defines the custom stop level for channel 0 when using SPCM_STOPLVL_CUSTOM.
  • Page 91: Read Out Of Output Features

    Please note that the following table shows all output feature settings that are available throughout all Spectrum generator cards. Some of these features are not installed on your specific hardware.
  • Page 92: Generation Modes

    However as you’ll see throughout the detailed documentation of the modes the standard and the FIFO mode are similar in programming and behavior and there are only a very few differences between them. Table 49: Spectrum API: card mode and read out of available card mode software registers Register...
  • Page 93: Card Status

    SPC_M2STATUS register. The status register is organized as a bitmap, so that multiple bits can be set, showing the status of the card and also of the different data transfers. Table 52: Spectrum API: card status register and possible status values with descriptions of the status Register...
  • Page 94: Acquisition Cards Status Overview

    • Each defined buffer is only used once. After transfer has ended the buffer is automatically invalidated. • If a buffer has to be deleted although the data transfer is in progress or the buffer has at least been defined it is necessary to call the spc- m_dwInvalidateBuf function. (c) Spectrum Instrumentation GmbH...
  • Page 95 In standard mode this parameter cannot be larger than the amount of data defined with memory size. M5i cards only: On M5i cards the qwTransferLen parameter needs to be an integer multiple of 64 bytes. (c) Spectrum Instrumentation GmbH...
  • Page 96: Table 53: Spectrum Api: Memory Test Register

    M2CMD_DATA_STOPDMA 40000h Stops a running DMA transfer. Data is invalid afterwards. The data transfer can generate one of the following status information: Table 55: Spectrum API: status register and status codes for DMA data transfer Register Value Direction Description...
  • Page 97: Standard Single Replay Modes

    In standard single replay mode the card is working totally independent from the PC, after the card setup is done and the data has been transferred into the on-board memory. The advantage of the Spectrum boards is that regardless to the system usage the card will refresh the outputs with equidistant time intervals.
  • Page 98: Continuous Marker Output

    Overview of settings and resulting modes This table gives a brief overview on the setup of loops and the resulting behaviour of the output Table 58: Spectrum API: overview of mode settings in relation to loops settings and resulting behaviour SPC_LOOPS = 0...
  • Page 99: Example

    SPCM_DIR_PCTOCARD , 0, pvData, 0, 2 * lMemsize); spcm_dwSetParam_i32 (hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA); // now we start the generation and wait for the interrupt that signalizes the end spcm_dwSetParam_i32 (hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER | M2CMD_CARD_WAITREADY); (c) Spectrum Instrumentation GmbH...
  • Page 100: Fifo Single Replay Mode

    PC memory. One can generate the data on-line or load data continuously from disk. Card mode The card mode has to be set to the correct mode SPC_REP_FIFO_SINGLE. Table 59: Spectrum API: FIFO single replay mode register and settings Register Value...
  • Page 101: Example (Fifo Replay)

    ("Currently Available: %lld, total: %lld\n", llAvailBytes, llTotalBytes); // now we mark the number of bytes that we just generated for replay and wait for the next free buffer spcm_dwSetParam_i64 (hDrv, SPC_DATA_AVAIL_CARD_LEN, llAvailBytes); dwError = spcm_dwSetParam_i32 (hDrv, SPC_M2CMD, M2CMD_DATA_WAITDMA); (c) Spectrum Instrumentation GmbH...
  • Page 102: Limits Of Segment Size, Memory Size

    Please keep in mind that this table shows all values at once. Only the absolute maximum and minimum values are shown. There might be additional limitations. Which of these values is programmed depends on the used mode. Please read the detailed documentation of the mode. (c) Spectrum Instrumentation GmbH...
  • Page 103: Buffer Handling

    Internally the card handles two counters, a user counter and a card counter. Depending on the transfer direction the software registers have slightly different meanings: Table 63: Spectrum API: content of DMA buffer handling registers for different use cases Transfer direction...
  • Page 104 In our example at the time when reading the USER_LEN even some more data is already available. The user position will now be at the position of the previous set CARD_LEN. (c) Spectrum Instrumentation GmbH...
  • Page 105 // our do function gets a pointer to the start of the available data section and the length vDoSomething (&pcData[llBytesPos], llAvailBytes); // the buffer section is now immediately set available for the card spcm_dwSetParam_i64 (hDrv, SPC_DATA_AVAIL_CARD_LEN, llAvailBytes); while (!dwError); // we loop forever if no error occurs (c) Spectrum Instrumentation GmbH...
  • Page 106: Output Latency

    The size of the software buffer is programmed as described above. The size of the hardware buffer can be programmed using a special register: Table 64: Spectrum API: output buffer size register and register settings Register...
  • Page 107 // and wait for the data to be transferred. spcm_dwSetParam_i32 (stCard.hDrv, SPC_TIMEOUT, 1000); dwErr = spcm_dwSetParam_i32 (hDrv, SPC_M2CMD, M2CMD_DATA_STARTDMA | M2CMD_DATA_WAITDMA); if (!dwErr) // please see FIFO replay examples for further details regarding the complete data transfer ... (c) Spectrum Instrumentation GmbH...
  • Page 108: Data Organization

    Data is organized in a multiplexed way in the transfer buffer. When using two channels, the data of the activated channel with the lower channel number comes first, then data of second channel. The same principle applies when more channels are active Table 66: Spectrum API: overview of data organization in memory for different channel configurations Activated...
  • Page 109: Hardware Data Conversion

    15 bit, 14 bit or 12 bit resolution. The conversion takes place in hardware and therefore avoids a pos- sible time consuming shift in the user application software. Table 68: Spectrum API: hardware data conversion registers and available conversion settings Register...
  • Page 110: Clock Generation

    Synchronization Clock (option Star-Hub) The Star-Hub option allows the synchronization of up to 16 cards of the M2p series from Spectrum with a minimal phase delay between the different cards. The clock is distributed from the master card to all connected cards. As this clock is also available at the PLL input, cards of the same or slower sampling speeds can be synchronized with different sample rates when using the PLL.
  • Page 111: Maximum And Minimum Internal Sampling Rate

    An external clock can be fed in on the external clock connector of the board. This can be any clock, that matches the specification of the card. The external clock signal can be used to synchronize the card on a system clock or to feed in an exact matching sampling rate. Table 74: Spectrum API: software clock mode register and external clock settings Register...
  • Page 112: External Reference Clock

    (such as 1.5V LVTTL, 3.3V LVTTL, 5VTTL etc) as well as to allow to detect an externally AC-coupled clock by setting the level to 0 mV. The threshold levels for the external clock is to be programmed in mV: Table 76: Spectrum API: clock threshold software registers and available range therefore Register...
  • Page 113: Table 79: Spectrum Api: Clock Threshold Software Registers And Available Range Therefore

    (such as 1.5V LVTTL, 3.3V LVTTL, 5VTTL etc) as well as to allow to detect an externally AC-coupled clock by setting the level to 0 mV. The threshold levels for the external clock is to be programmed in mV: Table 79: Spectrum API: clock threshold software registers and available range therefore Register...
  • Page 114: Trigger Modes And Appendant Registers

    Trigger modes and appendant registers General Description The trigger modes of the Spectrum M2p series A/D and D/A cards are very extensive and give you the possibility to detect nearly any trigger event you can think of. You can choose between various external trigger modes as well as internal trigger modes (on analog acquisition cards) including software and channel trigger, depending on your type of board.
  • Page 115: Trigger Masks

    The table below shows the relating register for the general OR mask and the Image 59: trigger OR mask details possible constants that can be written to it. Table 80: Spectrum API: external trigger OR mask related software register and available settings Register Value...
  • Page 116: Trigger And Mask

    The table below is showing the registers for the channel OR mask (A/D cards only) and the possible constants that can be written to it. Table 81: Spectrum API: channel trigger OR mask related software register and available settings Register...
  • Page 117: Software Trigger

    Software trigger The table below shows the relating register for the general AND mask and the possible constants that can be written to it. Table 82: Spectrum API: external trigger AND mask related software register and available settings Register Value...
  • Page 118: Force- And Enable Trigger

    (hDrv, SPC_M2CMD, M2CMD_CARD_DISABLETRIGGER); // Trigger engine is disarmed. Trigger delay All of the Spectrum M2p series cards allow the user to program an additional trigger delay. As shown in the trigger overview section, this delay is the last element in the trigger chain. Therefore the user does not have to care for the sources when programming the trigger delay.
  • Page 119: Trigger Holdoff

    Trigger holdoff All the cards of the Spectrum M2p series allow the user to program a trigger holdoff time when using one of the segmented acquisition or generation modes, such as Multiple Recording/Multiple Replay, ABA Mode (analog acquisition cards only) or Gated Sampling/Gated Re- play.
  • Page 120: Main Analog External Trigger (Ext0)

    Image 63: trigger engine overview and external trigger Trigger Mode Please find the main external (analog) trigger input modes below. A detailed description of the modes follows in the next chapters.. Table 89: Spectrum API: external trigger mode registers and available settings therefore Register Value...
  • Page 121: Detailed Description Of The External Analog Trigger Modes

    (rising edge) then the trigger event will be detected. This edge triggered external trigger mode correspond to the trigger possibilities of usual oscilloscopes. Table 94: Spectrum API: trigger mode register and settings for positive edge external trigger Register Value Direction...
  • Page 122: Table 96: Spectrum Api: Trigger Mode Register And Settings For Positive And Negative Edges External Trigger

    (either rising or falling edge) the trigger event will be detected. This edge triggered external trigger mode correspond to the trigger possibilities of usual oscilloscopes. Table 96: Spectrum API: trigger mode register and settings for positive and negative edges external trigger Register Value Direction...
  • Page 123: Table 99: Spectrum Api: Trigger Mode Register And Settings For Long Positive Pulses On The External Trigger Input

    The pulsewidth trigger modes for long pulses can be used to prevent the board from triggering on wrong (short) edges in noisy signals. Table 99: Spectrum API: trigger mode register and settings for long positive pulses on the external trigger input Register Value...
  • Page 124: Table 102: Spectrum Api: Trigger Mode Register And Settings For Short Negative Pulses On The External Trigger Input

    To find out what maximum pulsewidth (in samples) is available, please read out the register shown in the table below: Table 103: Spectrum API: register for reading out the maximum available value for pulse length detection using pulse-width trigger Register...
  • Page 125: External Logic Trigger (X1, X2, X3)

    W_SMALLER width. For all external edge and level trigger modes, the OR mask must contain the corresponding input, as the following table shows: Table 105: Spectrum API: trigger OR mask register an settings for external logic trigger Register Value Direction...
  • Page 126: Detailed Description Of The Logic Trigger Modes

    The next trigger event will then be detected, if the actual record- ing/replay has finished and the board is armed and waiting for a trigger again. Table 106: Spectrum API: trigger mode register and settings for positive TTL edge trigger Register Value...
  • Page 127: Table 109: Spectrum Api: Trigger Mode Register And Settings For Low Level Ttl Trigger

    The next trigger event will then be detected, if the actual record- ing/replay has finished and the board is armed and waiting for a trigger again. Table 110: Spectrum API: trigger mode register and settings for positive and negative TTL edge trigger Register Value...
  • Page 128: Table 113: Spectrum Api: Trigger Mode Register And Settings For Ttl On Long Low Pulses Trigger

    SPC_TMASK_EXT1); // ... and enable it in OR mask To find out what maximum pulsewidth (in samples) is available, please read out the register shown in the table below: Table 115: Spectrum API: register for reading the maximum value for defining external pulse length using pulsewidth trigger Register...
  • Page 129: Multi Purpose I/O Lines

    SPCM_X1_AVAILMODES, SPCM_X2_AVAILMODES and SPCM_X3_AVAILMODES register first. The available modes may differ from card to card and may be enhanced with new driver/firmware versions to come. Table 116: Spectrum API: XIO lines and mode software registers with their available settings Register...
  • Page 130: Asynchronous I/O

    M2i series style. It is not recommended to use this register unless you’re converting M2i software to the M2p card series: Image 66: Spectrum API: compatibility trigger output register and settings behaviour Register...
  • Page 131: Synchronous Digital Outputs

    This mode allows the user to replay up to four additional digital channels that are synchronous and phase stable along with the analog data. To enable that mode for a particular Multi Purpose I/O line the the digital output mode must selected along with some additional information: Table 118: Spectrum API: synchronous digital output registers and register settings Register...
  • Page 132: Additional I/O Lines With Option -Digbnc

    Please be careful when programming these lines as an output whilst maybe still being connected with an external signal source, as that may damage components either on the external equipment or on the card itself. (c) Spectrum Instrumentation GmbH...
  • Page 133: Programming The Behavior

    Each multi purpose I/O line can be individually programmed. Please check the available modes by reading the SPCM_X4_AVAILMODE up to SPCM_X19_AVAILMODES register first. The available modes may differ from card to card and may be enhanced with new driver/firm- ware versions to come. Table 120: Spectrum API: digtal output option mode registers and available mode settings Register Value...
  • Page 134: Synchronous Digital Outputs

    This mode allows the user to replay up to four additional digital channels that are synchronous and phase stable along with the analog data. To enable that mode for a particular Multi Purpose I/O line the digital output mode must selected along with some additional information: Table 122: Spectrum API: synchronous digital output registers and register settings Register...
  • Page 135 (hDrv, SPCM_X8_MODE, lXMode); lXMode = (SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH1 | SPCM_XMODE_DIGOUTSRC_BIT14); spcm_dwSetParam_i32 (hDrv, SPCM_X9_MODE, lXMode); lXMode = (SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH1 | SPCM_XMODE_DIGOUTSRC_BIT13); spcm_dwSetParam_i32 (hDrv, SPCM_X10_MODE, lXMode); lXMode = (SPCM_XMODE_DIGOUT | SPCM_XMODE_DIGOUTSRC_CH1 | SPCM_XMODE_DIGOUTSRC_BIT12); spcm_dwSetParam_i32 (hDrv, SPCM_X11_MODE, lXMode); (c) Spectrum Instrumentation GmbH...
  • Page 136: Mode Multiple Replay

    Image 67: Multiple Replay output and trigger timing diagram The following table shows the register for defining the structure of the seg- ments to be replayed with each trigger event. Table 124: Spectrum API: segment size register for multiple replay mode Register Value...
  • Page 137: Replay Modes

    The total number of samples to be replayed from the on-board memory in standard mode is defined by the SPC_MEMSIZE register. When using the SPC_LOOPS parameter one can further program whether all segments should be replayed once or continuously. Table 126: Spectrum API: memory and loop registers with related multiple replay settings Register...
  • Page 138: Limits Of Segment Size, Memory Size

    Please keep in mind that this table shows all values at once. Only the absolute maximum and minimum values are shown. There might be additional limitations. Which of these values is programmed depends on the used mode. Please read the detailed documentation of the mode. (c) Spectrum Instrumentation GmbH...
  • Page 139: Programming The Behaviour In Pauses And After Replay

    The stoplevel will stay on the defined level until the next output has been made. With the following registers you can define the behaviour after replay: Table 129: Spectrum API: stoplevel registers and available settings for stoplevel Register...
  • Page 140: Mode Gated Replay

    Enables Gated Sampling for standard acquisition. The total number of samples to be replayed from the on-board memory in standard mode is defined by the SPC_MEMSIZE register. Table 132: Spectrum API: memsize and loops register and register settings for Gated Replay mode Register...
  • Page 141: Examples Of Fifo Gated Replay With The Use Of Spc_Loops Parameter

    2000h Enables Gated Replay with FIFO mode The number of gates to be replayed must be set separately with the register shown in the following table: Table 134: Spectrum API: Gated Replay FIFO mode loops register settings Register Value Direction...
  • Page 142 Please keep in mind that this table shows all values at once. Only the absolute maximum and minimum values are shown. There might be additional limitations. Which of these values is programmed depends on the used mode. Please read the detailed documentation of the mode. (c) Spectrum Instrumentation GmbH...
  • Page 143: Trigger

    (falling edge) then the gate will stop. As this mode is purely edge-triggered, the high level at the cards start time does not trigger the board. Table 137: Spectrum API: trigger mode register and settings for positive edge external trigger Register Value Direction...
  • Page 144: Table 139: Spectrum Api: Trigger Mode Register And Settings For High Level External Trigger

    The pulsewidth trigger modes for long pulses can be used to prevent the board from triggering on wrong (short) edges in noisy signals. Table 141: Spectrum API: trigger mode register and settings for long positive pulses for external trigger input...
  • Page 145: Detailed Description Of The Logic Gate Trigger Modes

    The pulsewidth trigger modes for long pulses can be used to prevent the board from triggering on wrong (short) edges in noisy signals. Table 142: Spectrum API: trigger mode register and settings for long negative pulses for external trigger input...
  • Page 146: Table 146: Spectrum Api: Trigger Mode Register And Settings For Low-Level Ttl Trigger

    As this mode is purely level-triggered, the low level at the cards start time, does trigger the board. With the next high level the gate will be stopped. Table 146: Spectrum API: trigger mode register and settings for low-level TTL trigger Register Value...
  • Page 147: Programming Examples

    The stoplevel will stay on the defined level until the next output has been made. With the following registers you can define the behaviour after replay: Table 149: Spectrum API: stoplevel registers and available settings for stoplevel Register...
  • Page 148: Sequence Replay Mode

    The switch over from one segment to the other is seamless, without any missing samples or spikes. The powerful sequence mode option adds a huge variety of different application areas to Spectrum’s generator cards. Theory of operation...
  • Page 149: Programming

    Setting up the registers Define the card mode To enable the sequencer the card mode needs to be set appropriately first: Table 152: Spectrum API: card mode register with Sequence Mode setup Register SPC_CARDMODE 9500 read/write Defines the used operating mode.
  • Page 150: Table 154: Limits And Step Sizes For The Segment Memory In Sequence Replay Mode

    It is possible to either use raw 64 bit access or multiplexed 64 bit access (2 times 32 bit data). The masks mentioned in the table below are 32 bit masks only, so that they can be used for 64 bit and 32 bit accesses. Table 155: Spectrum API: registers for setting up the step memory in sequence replay mode Register...
  • Page 151: Changing Sequences Or Step Parameters During Runtime

    AWG is changing between different patterns in automatic test environment. Table 157: Spectrum API: register for reading out the currently replayed sequence step Register Value...
  • Page 152: Programming Example

    (llCondition << 32) | (llLoop << 32) | (llNext << 16) | (llSegment); spcm_dwSetParam_i64 (hDrv, SPC_SEQMODE_STEPMEM0 + lStep, llValue); // Start the card spcm_dwSetParam_i32 (hDrv, SPC_M2CMD, M2CMD_CARD_START | M2CMD_CARD_ENABLETRIGGER); // ... wait here or do something else ... // Stop the card spcm_dwSetParam_i32 (hDrv, SPC_M2CMD, M2CMD_CARD_STOP); (c) Spectrum Instrumentation GmbH...
  • Page 153: Pulse Generator (Firmware Option)

    LOW is required, external lower-value (1k Ohm) pull-down resistors might be used. Please be careful when programming these lines as an output whilst maybe still being connected with an external signal source, as that may damage components either on the external equipment or on the card itself. (c) Spectrum Instrumentation GmbH...
  • Page 154: Principle Of Operation

    Since the division ratio is depending on the used card type, the number of active channels and the sampling rate, an dedicated read only register allows to read out the frequency value by the following register: Table 158: Spectrum API: pulse generator clock frequency read register Register...
  • Page 155: Setting Up The Pulse Generator

    The second parameter that needs to be defined is the amount of clock pulses that force the output to a logic HIGH. The following table shows the registers required to set the total length of the pulse to be generated: Table 161: Spectrum API: pulse generator HIGH time registers Register...
  • Page 156: Delaying (Phase Shifting) The Outputs

    Defining the trigger behavior Each pulse generator can be set up to react on its trigger input in three different ways, depending on the application’s need: Table 164: Spectrum API: pulse generator mode registers with their available settings Register Value...
  • Page 157: Configuring The Pulse Generator's Trigger Source

    The first multiplexer, MUX1, selects between two different sources and also allows to be completely unused by utilizing a logical ‘1’ or HIGH level, being transparent to the following AND condition combining the two multiplexers: Table 165: Spectrum API: pulse generator trigger MUX1 registers with their available settings Register...
  • Page 158: Table 166: Spectrum Api: Pulse Generator Trigger Mux2 Registers With Their Available Settings

    • Any one of the other pulse generator unit outputs to create pulses or pulse trains with up to four repetition time scales • The card’s acquisition or replay trigger output • An external logic signal coming in from any of the multi-purpose XIO input capable lines Table 166: Spectrum API: pulse generator trigger MUX2 registers with their available settings Register Value...
  • Page 159: Configuring Multi Purpose Lines To Output Generated Pulses

    SPCM_X3_AVAILMODES register first. The available modes may differ from card to card and may be enhanced with new driver/firmware versions to come. Table 169: Spectrum API: XIO lines and mode software registers with their reduced to the settings required for outputting pulses Register...
  • Page 160: Programming Example

    SPC_XIO_PULSEGEN_ENABLE, 0); spcm_dwSetParam_i32(hCard, SPC_M2CMD, M2CMD_CARD_WRITESETUP); Spectrum provides a dedicated programming example for the pulse generator feature as part of the stand- ard example package. This example is showing different and more complex configurations than shown above, e.g., cascading of multiple pulse generators for more complex pulse generation time scales.
  • Page 161: Option Star-Hub

    This card index is only based on the ordering of the cards in the system and is not influenced by the current cabling. It is even possible to change the cable connections between two system starts without changing the logical card order that is used for Star-Hub programming. (c) Spectrum Instrumentation GmbH...
  • Page 162: Table 170: Spectrum Api: Star-Hub Related Registers For Reading Detected Connections

    Hub are internally numbered beginning with 0. The number of connected cards as well as the connections of the star-hub can be read out after initialization. For each card that is connected to the star-hub one can read the index of that card: Table 170: Spectrum API: star-hub related registers for reading detected connections Register...
  • Page 163: Setup Of Synchronization

    For the following examples we will assume that 4 cards in one system are all connected to one star-hub to keep things easier. Setup of Synchronization The synchronization setup only requires one additional register to enable the cards that are synchronized in the next run Table 171: Spectrum API: synchronization enable mask register Register Value...
  • Page 164: Limits Of Clock For Synchronized Cards

    Setting up the trigger does not need any further steps of synchronization setup. Simply all trigger settings of all cards that have been enabled for synchronization are connected together. All trigger sources and all trigger modes can be used on synchronization as well. (c) Spectrum Instrumentation GmbH...
  • Page 165: Run The Synchronized Cards

    The same card commands can be used that are also possible for single cards: Table 172: Spectrum API: star-hub synchronization commands Register...
  • Page 166: Error Handling

    Error Handling The Star-Hub error handling is similar to the card error handling and uses the function spcm_dwGetErrorInfo_i32. Please see the example in the card error handling chapter to see how the error handling is done. (c) Spectrum Instrumentation GmbH...
  • Page 167: Option Embedded Server

    Mounting a test folder from a Windows server with active directory may look like this: mkdir tmp sudo mount -t cifs //192.168.169.123/tmp tmp -o user=YourUsername,domain=YourDomain,password=YourPassword You may unmount the folder again with: sudo umount tmp Access to the /etc/fstab table is not available. (c) Spectrum Instrumentation GmbH...
  • Page 168: Access To Ntp (Network Time Protocol)

    -ihv mypackage.rpm Programming For general information on programming of the internal Spectrum cards please have a look through the complete manual. Programming the cards inside the Embedded Server is 100% similar to programming of the cards of any other host system.
  • Page 169: Autostart

    C++ program is shown in the client-server example. The following commands will manipulate the Arm/Trig and Connected LEDs on the frontplate: system ("netbox_led_client armgreen=1"); system ("netbox_led_client armgreen=0"); system ("netbox_led_client conngreen=1"); system ("netbox_led_client conngreen=0"); (c) Spectrum Instrumentation GmbH...
  • Page 170: Appendix

    The following error codes could occur when a driver function has been called. Please check carefully the allowed setup for the register and change the settings to run the program. Table 173: Spectrum API: driver error codes and error description error name...
  • Page 171: Spectrum Knowledge Base

    207h The card that has been found in the system seems to be a valid Spectrum card of a type that is supported by the driver but the driver did not find this special type internally. Please get the latest driver from www.spectrum-instrumentation.com and install this one.
  • Page 172: Temperature Sensors

    M2p cards mounted inside of the digitizerNETBOX, generatorNETBOX or hybridNETBOX series. In here the temperature can be read out for every internal card separately. The Spectrum driver (starting with version 5.09) checks for over temperature at every opening of the driver and also uses a background temperature watchdog to ensure that the card’s operating temperature stays within the recommended operating range and an ERR_TEMPERATURE error will be issued if exceeded.
  • Page 173: Additional Temperature Sensors For M2P.654X And M2P.657X

    The following registers can be used to read out the occurrence of an error and clear a latched condition.: Table 177: Spectrum API: M2p.654x and M2p.657x specific egisters for accessing analog front-end module fault detection Register...
  • Page 174: Dn6 Temperature Sensors

    DN6 Temperature sensors The DN6 digitizerNETBOX and generatorNETBOX products have additional temperature sensors on the interanl backplane. The temperature can be read in different temperature scales at any time: Table 178: Spectrum API: DN6 temperature sensor registers Register Value Direction...
  • Page 175: Details On M2P Cards I/O Lines

    Additional I/O Lines (Option -DigFX2) The additional Multi Purpose I/O connectors of the M2p cards -DigFX2 option from Spectrum does provide sixteen additional Multi-Purpose I/O lines (X4 to X19), which are protected against input over voltage conditions. Four of these lines can be jumper selected to be routed...
  • Page 176: Additional I/O Lines (Option -Digsmb)

    Details on M2p cards I/O lines Additional I/O Lines (Option -DigSMB) The additional Multi Purpose I/O con- nectors of the M2p card’s -DigSMB op- tion from Spectrum does provide sixteen additional Multi-Purpose I/O lines (X4 to X19), which are protected against input over voltage conditions:...
  • Page 177 Volt. For best signal integrity and minimizing reflections due to the very fast edge rates of the M4i/M4x LVPECL output, activating the 50 Ohm termination on the M2p card is highly recommended. (c) Spectrum Instrumentation GmbH...
  • Page 178: Abbreviations

    Abbreviations Abbreviations Table 179: Abbreviations used throughout the Spectrum documents Abbreviation Long Name Description Second Milli Second 1/1000 second; 1 ms is the time between two samples when running at 1 kS/s us (µs) Micro Second 1/1000000 second or 1/1000 milli second; 1 ms is the time between two samples when running at 1...
  • Page 179: List Of Figures

    Image 38: LabVIEW driver oscilloscope example......................... 62 Image 39: Spectrum MATLAB driver structure ..........................62 Image 40: General concept of IVI drivers for Spectrum products. Access of different type of products..........67 Image 41: available card type definitions and decimal and hexadecimal values ................76 Image 42: Scaling the output swing using the output amplitude registers..................
  • Page 180 Image 89: electrical connection of additional I/O lines on connection DigSMB ................176 Image 90: electrical connection of additional I/O lines on connection DigBNC (digitizerNETBOX) ..........176 Image 91: Electrical interfacing of clock connections between M2p and M4i cards ............... 176 (c) Spectrum Instrumentation GmbH...
  • Page 181: List Of Tables

    Table 24: Spectrum API: maximum sampling rate register ......................78 Table 25: Spectrum API: installed memory registers. 32 bit read is limited to a maximum of 1 GByte ..........78 Table 26: Spectrum API: Feature Register and available feature flags ..................... 78 Table 27: Spectrum API: Extended feature register and available extended feature flags ..............
  • Page 182 Table 102: Spectrum API: trigger mode register and settings for short negative pulses on the external trigger input......124 Table 103: Spectrum API: register for reading out the maximum available value for pulse length detection using pulse-width trigger ..124 Table 104: Spectrum API: external logic trigger registers and settings for them ................
  • Page 183 Table 168: Spectrum API: pulse generator additional configuration registers with the available settings..........158 Table 169: Spectrum API: XIO lines and mode software registers with their reduced to the settings required for outputting pulses ..159 Table 170: Spectrum API: star-hub related registers for reading detected connections..............162 Table 171: Spectrum API: synchronization enable mask register ....................

This manual is also suitable for:

Generatornetbox dn6.65 series

Table of Contents