Table of Contents

Advertisement

Quick Links

PulseBlasterESR-PRO™
(PCI Board SP18A)
(USB Enclosure System SP47, SP51)
(Rackmount Front Panel SP51)
(PCIe Board SP49, SP56)
Owner's Manual
SpinCore Technologies, Inc.
http://www.spincore.com

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the PulseBlasterESR-PRO and is the answer not in the manual?

Questions and answers

Summary of Contents for SpinCore Technologies PulseBlasterESR-PRO

  • Page 1 PulseBlasterESR-PRO™ (PCI Board SP18A) (USB Enclosure System SP47, SP51) (Rackmount Front Panel SP51) (PCIe Board SP49, SP56) Owner’s Manual SpinCore Technologies, Inc. http://www.spincore.com...
  • Page 2 All other trademarks are the property of their respective owners. SpinCore Technologies, Inc. makes every effort to verify the correct operation of the equipment. This equipment version is not intended for use in a system in which the failure of a SpinCore device will threaten the safety of equipment or person(s).
  • Page 3: Table Of Contents

    The PulseBlaster Interpreter ....................10 LabVIEW Extensions ......................11 C/C++ Programming ....................... 12 Using C Functions to Program the PulseBlasterESR-PRO ..........14 IV. Connecting to the PulseBlasterESR-PRO ..........17 Connector Information for PulseBlasterESR-PRO Boards ..........17 BNC Headers ......................17 IDC Headers for SP18A, SP49, and SP56 ..............
  • Page 4 Status Pins Description .................... 24 Hardware Reset ...................... 25 Hardware Trigger ....................25 Clock Oscillator Header ......................26 Appendix I: Controlling the PulseBlasterESR-PRO with SpinAPI .... 28 Instruction Set Architecture ....................28 Machine-Word Definition ..................28 Breakdown of 80-bit Instruction Word ..............28 Output Pattern and Control Word .........................
  • Page 5: Introduction

    A unique and distinguishing feature of the PulseBlasterESR-PRO processor is that the execution time for instructions is user programmable. This feature makes the PulseBlasterESR-PRO processor capable of executing complex timing patterns at greatly varying update rates, ranging from nanoseconds to months, with a constant setting accuracy of just one clock period.
  • Page 6: Board Architecture

    PLL circuit typically using a 50 MHz on-board reference clock. Output Signals The PulseBlasterESR-PRO allows for 21 digital output signal lines. On the PCI and PCIe boards, all 21 signal lines are routed to two sets of 26-pin IDC on-board connectors. The first four output bits are also routed to four bracket mounted BNC connectors.
  • Page 7: Timing Characteristics

    The PulseBlaster core-timing controller has a very short minimum instruction time – only five clock periods . This translates to a 10 ns machine instruction time at 500 MHz. The PulseBlasterESR-PRO is also capable of generating pulses on all outputs of lengths down to one clock cycle. For more information...
  • Page 8: Specifications

    PulseBlasterESR-PRO Specifications TTL Specifications  21 individually controlled digital output lines (LVTTL levels, 3.3 V logical “one” unterminated)  4 bracket mounted BNC connectors, impedance matched to 50 ohm, for board  24 BNC connectors for rackmount system and rackmount front panel, 21 of which are individually controlled output channels ...
  • Page 9: Ii. Installation

    For the PCIe: Insert the PulseBlasterESR-PRO-PCIe card into an available PCIe slot and fasten the PC bracket securely with a screw. c) For the USB system: Plug one end of the USB cable into the PulseBlasterESR-PRO-USB and the other end into the host computer.
  • Page 10: Iii. Programming The Pulseblasteresr-Pro

    PulseBlasterESR-PRO III. Programming the PulseBlasterESR-PRO SpinCore Technologies Inc. is dedicated to providing an easy and efficient method of programming your board. Various control methods available are detailed below, making PulseBlaster products flexible for any number of applications. Special consideration of the ESR-PRO Short Pulse feature must be taken when programming or operating this board.
  • Page 11: Labview Extensions

    PulseBlasterESR-PRO The PulseBlaster Interpreter is available as part of the SpinCore driver suite, and will be automatically installed during the setup process (setup process is described in Section II. Installation). For convenience, a shortcut to the PulseBlaster Interpreter will be added to your desktop. For more information on programming using the PulseBlaster Interpreter, see the manual located at http://www.spincore.com/support/SPBI/Doc/.
  • Page 12: C/C++ Programming

    C/C++ Programming The most dynamic and flexible way to program the PulseBlasterESR-PRO board is with C/C++ using the SpinAPI package. The GUI based approaches to programming the board are designed for simplicity so they can be used by someone with no programming experience.
  • Page 13 PulseBlasterESR-PRO Making changes to an example program requires understanding of only a few lines of code. The following C code example generates a 50% duty cycle square wave with a 400.0 ms period. pb_init(); /*Initialize communication with the board*/ pb_core_clock (CLOCK); /*Set the internal clock frequency value – this...
  • Page 14: Using C Functions To Program The Pulseblasteresr-Pro

    Borland, and spinapi.lib for MSVC), and the header file (spinapi.h), must be in the working directory of your C compiler int pb_init(); Initializes the PulseBlasterESR-PRO board. Needs to be called before calling any functions using the device. It returns a 0 on success or a negative number on an error. int pb_close();...
  • Page 15 PulseBlasterESR-PRO int pb_inst(int flags, int inst, int inst_data, double length); Used to send one instruction of the pulse program. Should only be called after pb_start_programming(PULSE_PROGRAM) has been called. It returns a negative number on an error, or the instruction number upon success. If the function returns –99, an invalid parameter was passed to the function.
  • Page 16 BRANCH, start, 40.0 * ns); pb_stop_programming(); // Finished sending instructions pb_reset(); pb_start(); // Trigger the pulse program // End communication with PulseBlasterESR-PRO board. The pulse program // will continue to run even after this is called. pb_close(); return 0; http://www.spincore.com 2022/09/27...
  • Page 17: Iv. Connecting To The Pulseblasteresr-Pro

    PCI or PCIe connector. Please note that the BNC connectors have the same configuration for all board models. If using a high input impedance oscilloscope to monitor the PulseBlasterESR-PRO's output via the BNC connectors, place a resistor that matches the characteristic impedance of the transmission line in parallel with the coaxial transmission line at the oscilloscope input (e.g., a 50 Ω...
  • Page 18: Idc Headers For Sp18A, Sp49, And Sp56

    Alternatively, the IDC headers can be connected to IDC-MMCX adapter boards (Figures 20 and 21) which allow the use of MMCX cables. This enables the individual bits of the PulseBlasterESR-PRO to be more easily accessed. Pin 1 on the MMCX adapters can be identified with a square pin.
  • Page 19 Table 2: IDC connector pin outs for SP49 and SP56 boards. The status pins are set or cleared based on the state of the PulseBlasterESR-PRO. For the SP18A boards, the pins are located on IDC header Flag24...35, from pin 1 to pin 4. The status pins of the SP49 and SP56 boards are located on IDC header Flag24...35, from pin 1 to pin 3 and does not have a pin for...
  • Page 20: Connector Locations For The Sp18A Board

    7, and 9 are all grounds. The part number for this header is 5103308-1. Please refer to the Hardware Reset and Hardware Trigger sections for more information on these hardware pins. CAUTION: Applying voltages to the input pins that are greater than 3.3 V or less than 0 V will damage the PulseBlasterESR-PRO. http://www.spincore.com 2022/09/27...
  • Page 21: Connector Locations For The Sp49 And Sp56 Boards

    PulseBlasterESR-PRO Connector Locations for the SP49 and SP56 boards FLAG39 (BNC3) Flag0...11 Flag12..23 Flag24..35 FLAG40 FLAG41 FLAG42 FLAG43 FLAG44 FLAG38 (BNC2) FLAG45 FLAG46 FLAG47 FLAG37 (BNC1) J300 EXT_CLK CLK_OUT FLAG36 (BNC0) Figure 10: Connector Locations (SP49 and SP56). SMA Headers for SP49 and SP56 The eight SMA headers provide access to the flag bits 4 through 11.
  • Page 22: Sma Connector Clk_Out

    This SMA connector outputs the reference clock as a 3 V positive-only signal. Note that the PulseBlasterESR-PRO PCIe board uses 50 MHz as the reference clock frequency and that clock is internally multiplied to provide that actual PulseBlaster Core frequency .
  • Page 23: Db9 Connector (Trig/Res/Stat) For 2U Bnc Rackmount Enclosure And Rackmount Front Panel

    PulseBlasterESR-PRO DB9 Connector (Trig/Res/Stat) for 2U BNC Rackmount Enclosure and Rackmount Front Panel The Trig/Res/Stat DB9 connector information is shown in Figure 12 and Table 4, below. The Hardware Trigger and Hardware Reset are both low-true, so each of these pins would need to be shorted to ground to cause a trigger or reset, respectively.
  • Page 24: Power Connector For The Rackmount Front Panel

    Reset – Driven high when the PulseBlasterESR-PRO is in a RESET state. Running – Driven high when the PulseBlasterESR-PRO is executing a program. The pin is driven low when the PulseBlasterESR-PRO enters either a reset or idle state.
  • Page 25: Hardware Reset

    (pb_start()) or by a hardware trigger. NOTE: The PulseBlaster requires a 3.3V input signal for HW_Reset. Applying voltages to the input pins that are greater than 3.3V or less than 0V will damage the PulseBlasterESR-PRO. Hardware Trigger The SP18A, SP47, and SP51 have the HW_Trigger hardware trigger pin. The SP49 and SP56 boards come with three hardware trigger pins: one HW_Trigger and two HW_Trigger_H.
  • Page 26: Clock Oscillator Header

    3.3V or less than 0V will damage the PulseBlasterESR-PRO. Clock Oscillator Header The PulseBlasterESR-PRO comes with a crystal oscillator mounted on the oscillator socket to provide a timing signal for the board. If required, it is possible to remove the oscillator that comes standard, and instead drive the PulseBlasterESR-PRO with an external clock signal.
  • Page 27 NOTE: The PulseBlasterESR-PRO requires a 3.3V TTL input signal. A signal that is more than 3.3V or less than 0V will damage the device.
  • Page 28: Appendix I: Controlling The Pulseblasteresr-Pro With Spinapi

    VLIW is viewed as a single instruction by the microcontroller. The maximum number of instructions that can be loaded onto the PulseBlasterESR-PRO is 4096. The execution time of instructions can be varied and is under (self) control by one of the fields of the instruction word – the shortest being five clock cycles and the longest being 2 clock cycles.
  • Page 29: Output Pattern And Control Word

    PulseBlasterESR-PRO Output Pattern and Control Word Table 6 shows the output pattern and control bit assignments of the 24-bit output/control word. Bit # Function Bit # Function Controls Pulse Length for BNC connectors Output Connector labeled Flag0..11, Pin 12 Controls Pulse Length for BNC connectors Output Connector labeled Flag0..11, Pin 11...
  • Page 30 PulseBlasterESR-PRO When bits 21-23 are zero, the output flags remain low for the duration of the instruction. When bits 23-21 are from “000” to “101,” the programmed flag values will be outputted for the specified number of clock cycles. To disable the Short Pulse feature, bits 21 to 23 must be set to “111.”...
  • Page 31: Data Field And Opcode

    (design 33-1), and PBESR-PRO-500-PCIe (design 31-1) instructions with CONTINUE, JSR, RTS, LONG_DELAY, WAIT, and STOP OpCodes, require a minimum instruction time of at least 6 clock-cycles. PulseBlasterESR-PRO-500-PCI (design 17-16), PBESR-PRO-500-USB-RM (design 27-8, and 33-1), PBESR-PRO-500-USB- RM-FP (design 33-1), and PBESR-PRO-500-PCIe (design 31-1) hold TTL values of current instruction.
  • Page 32: Delay Count

    SpinAPI is a control library which allows programs to be written that can communicate with the PulseBlasterESR-PRO board. The most straightforward way to interface with this library is with a C/C++ program, and the API definitions are described in this context. However, virtually all programming languages and software environments (including software such as LabVIEW and MATLAB) provide mechanisms for accessing the functionality of SpinAPI.
  • Page 33: Related Products And Accessories

    SpinCore at http://www.spincore.com/contact.shtml. Figure 19: PulseBlasterESR-PRO Parallel Port Interface Cable. *Note: This is NOT a parallel port and will not work with a PC printer or other such peripheral devices! This cable uses the parallel type DB-25 connector to easily access the TTL bits of the PulseBlasterESR-PRO Board.
  • Page 34 3. SpinCore MMCX Adapter Board (Figures 20 and 21) – These adapter boards allow easy access to the individual bits of the PulseBlasterESR-PRO boards. These adapter board can be part of a package that includes 12 MMCX to BNC cables and three SMA to BNC adapters. However, this package can be changed to include any number of cables and any number of adapter boards.
  • Page 35 PulseBlasterESR-PRO Figure 22: SP32, MMCX Adapter Board orientation and configuration with PulseBlaster SP18A Board. Figure 23: SP53, MMCX Adapter Board orientation and configuration with PulseBlaster SP18A Board. http://www.spincore.com 2022/09/27...
  • Page 36 Figure 24: SMA-BNC Adapter Board is available for the SP18A board to access additional flag bits. 5. IDC to BNC Adapter Set-Up on a PulseBlasterESR-PRO Board Figure 25 – Additional BNC output signals can be accessed using a set-up consisting of an IDC-MMCX adapter board (SP32), MMCX- SMA cables, and an SMA-BNC adapter board (SP29P).
  • Page 37 Figure 26: TTL Line Driver assures TTL levels over 50 Ohm loads. 7. If you require a custom design, custom interface cables, or other custom features, please inquire with SpinCore Technologies through our contact form, which is available at http://www.spincore.com/contact.shtml.
  • Page 38: Contact Information

    PulseBlasterESR-PRO Contact Information SpinCore Technologies, Inc. 4631 NW 53rd Avenue, SUITE 103 Gainesville, FL 32653 Telephone (USA): 352-271-7383 Website: http://www.spincore.com Web Contact Form: http://spincore.com/contact.shtml Document Information Revision history available at SpinCore. http://www.spincore.com 2022/09/27...

Table of Contents