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-500-USB-RM2 ......14 IV. Connecting to the PulseBlasterESR-PRO-500-USB-RM2 ..... 17 Connector Information for 2U BNC Rackmount Enclosure ..........17 BNC Connectors ...................... 17 USB-B Data Connector ....................
Page 4
PBESR-PRO-500-USB-RM2 Clock Oscillator Header ......................21 Appendix I: Controlling the PulseBlasterESR-PRO-500-USB-RM2 with SpinAPI ......................23 Instruction Set Architecture ....................23 Machine-Word Definition ..................23 Breakdown of 80-bit Instruction Word ..............23 Output Pattern and Control Word ......................... 24 Short Pulse Feature ............................24 Data Field and OpCode ..........................
USB-RM2 processor is that the execution time for instructions is user programmable. This feature makes the PulseBlasterESR-PRO-500-USB-RM2 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.
Output Signals The PulseBlasterESR-PRO-500-USB-RM2 allows for 21 digital output signal lines, which are all routed to BNC connectors. The output signals are impedance matched to 50 ohm. The 21 individually controlled digital output bits comply with the 3.3V TTL-levels’ standard, and are capable of delivering 25 mA per bit/channel.
Timing Characteristics The PulseBlaster core's timing controller accepts an external (on-board) crystal oscillator of 50 MHz. The input frequency is internally multiplied. The PulseBlasterESR-PRO-500-USB-RM2 is available with 500 MHz internal clock frequency. The innovative architecture of the timing controller allows the processing of either simple timing instructions (with delays of up to 2 clock cycles or 8.59 s at 500 MHz),...
PBESR-PRO-500-USB-RM2 Specifications TTL Specifications 21 individually controlled digital output lines (LVTTL levels, 3.3 V logical “one” unterminated) 24 BNC connectors for rackmount system, 21 of which are individually controlled output channels Variable pulses/delays for every TTL line ...
2. Shut down the computer, unplug the power cord. 3. Connect the PulseBlasterESR-PRO-500-USB-RM2 to the computer. a) Plug the USB-B cable into the PulseBlasterESR-PRO-500-USB-RM2 and the other end into the host computer. 4. Power the PulseBlasterESR-PRO-500-USB-RM2 using the provided USB-C power adapter (part:...
PBESR-PRO-500-USB-RM2 III. Programming the PulseBlasterESR-PRO- 500-USB-RM2 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. The PulseBlaster Interpreter The PulseBlasterESR-PRO-500-USB-RM2 can be programmed using PulseBlaster Interpreter, which is a free programming utility provided by SpinCore for writing pulse programs.
GUI (see Figure 3 above) that comes in executable form and utilizes the LabVIEW runtime environment. The second is for those who have LabVIEW and would like to make a custom interface for the PulseBlasterESR-PRO-500-USB-RM2. For more information and downloads please visit: http://www.spincore.com/support/PBLV/ http://www.spincore.com...
PBESR-PRO-500-USB-RM2 C/C++ Programming The most dynamic and flexible way to program the PulseBlasterESR-PRO-500-USB-RM2 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
PBESR-PRO-500-USB-RM2 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 will be either 250, 300, 400, or 500 MHz depending on your product */ /*Start programming the Pulse Program*/...
It returns a 0 on success or a negative number on an error. int pb_close(); Releases the PulseBlasterESR-PRO-500-USB-RM2 board. Needs to be called as last command in pulse program. It returns a 0 on success or a negative number on an error.
Page 15
PBESR-PRO-500-USB-RM2 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-500-USB-RM2 board. The // pulse program will continue to run even after this is called. pb_close(); return 0; http://www.spincore.com 2023/10/11...
PulseBlasterESR-PRO-500-USB-RM2 are explained below in their respective sections. Connector Information for 2U BNC Rackmount Enclosure The SP51 PulseBlasterESR-PRO-500-USB-RM2 has BNC connectors, a USB-B data connector, a Trig/Res/Stat DB9 (less known as DE9) connector, and a USB-C power connector. Please refer to the sections below for detailed connector information.
PBESR-PRO-500-USB-RM2 Figure 6: BNC T-Adapter on the oscilloscope with coaxial transmission line connected on the left and BNC 50 Ohm resistor connected on the right, to terminate the line. USB-B Data Connector The USB-B connector is for communication with the PC. A USB 2.0 port or a USB port compatible with USB 2.0 is required for data transfer.
Reset – Driven high when the PulseBlasterESR-PRO-500-USB-RM2 is in a RESET state. Running – Driven high when the PulseBlasterESR-PRO-500-USB-RM2 is executing a program. The pin is driven low when the PulseBlasterESR-PRO-500-USB-RM2 enters either a reset or idle state. Waiting – Driven high when the PulseBlasterESR-PRO-500-USB-RM2 has encountered a WAIT OpCode, and is waiting for the next trigger (either hardware or software) to resume operation.
PBESR-PRO-500-USB-RM2 Hardware Reset The PulseBlasterESR-PRO-500-USB-RM2 has a HW_Reset hardware reset pin. HW_Reset is pulled to high voltage (3.3V) on the board and can be activated by a low voltage pulse (or shorting to GND). When the signal is activated during the execution of a program, the controller resets itself back to the beginning of the program.
RM2. Clock Oscillator Header The PulseBlasterESR-PRO-500-USB-RM2 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-500-USB-RM2 with an external clock signal.
Page 22
NOTE: The PulseBlasterESR-PRO-500-USB-RM2 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-500-USB-RM2 is 4096. The execution time of instructions can be varied and is under (self) control by one of the fields of the instruction word –...
PBESR-PRO-500-USB-RM2 Output Pattern and Control Word Table 3 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 Controls Pulse Length for BNC connectors Output Connector labeled Flag0..11, Pin 10...
Page 25
PBESR-PRO-500-USB-RM2 When bits 23-21 are from “001” 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” or “000.” Figure 11 gives an example of the Short Pulse feature.
PBESR-PRO-500-USB-RM2 Data Field and OpCode Please refer to the following table for information on the available instructions and their associated data field argument. OpCode Inst Inst_data Function Program execution continues to next CONTINUE Ignored instruction. See note (1) following this table. Stop execution of program.
SpinAPI is a control library which allows programs to be written that can communicate with the PulseBlasterESR-PRO-500-USB-RM2 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 12: An Oven Controlled Clock Oscillator (or OCXO) with sub-ppm frequency stability is available for the PulseBlasterESR-PRO-500-USB-RM2 upon request. 2. SpinCore TTL Line Driver Figure 13 A USB-powered device with four input channels and 8 output lines.
Page 29
PBESR-PRO-500-USB-RM2 3. 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. http://www.spincore.com 2023/10/11...
PBESR-PRO-500-USB-RM2 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 2023/10/11...
Need help?
Do you have a question about the PulseBlasterESR-PRO-500-USB-RM2 and is the answer not in the manual?
Questions and answers