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).
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 .........................
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.
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.
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...
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 ...
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.
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.
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/.
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...
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...
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 Ω...
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...
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...
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.
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 .
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.
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.
(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.
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.
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.
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.”...
(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.
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.
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.
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...
Need help?
Do you have a question about the PulseBlasterESR-PRO and is the answer not in the manual?
Questions and answers