Page 2
Inc. 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).
PulseBlaster I. Introduction Product Overview The PulseBlaster™ device is an intelligent pulse/pattern generation unit. The intelligence of the PulseBlaster comes from an imbedded microprogrammed controller core (uPC). The controller is able to execute instructions that allow it to control program flow. This means that the PulseBlaster understands Operational Control Codes, Op Codes, and will execute them much the same way as a general-purpose microprocessor does.
PulseBlaster Output signals The PulseBlaster comes with 24 digital output signal lines. The 24 individually controlled digital (TTL/CMOS) output bits are capable of delivering ±25 mA per bit and have an output voltage of 3.3V. These signals are available on the PC bracket-mounted DB-25 connector (16 channels) and an on-board IDC two-row header connector (the remaining 8 channels).
PulseBlaster Specifications TTL Specifications • 24 individually controlled digital output lines (TTL levels) • variable pulses/delays for every TTL line • 25 mA output current per TTL line • output lines can be combined to increase the max. output current Pulse Parameters •...
PulseBlaster II. Installation Installing the PulseBlaster Driver The PulseBlaster uses the Spinapi driver and control library. The latest version of this driver can bedownloaded from: http://www.pulseblaster.com/CD/spinapi/ This URL contains both the driver as well as the most recent installation guide. Please refer to that document for instructions on how to properly install the drivers.
PulseBlaster IV. Connecting to the PulseBlaster Board Connector Information DB-25 and JP300 - TTL Output Signal Bits Outputs TTL signals generated by the user’s Program. Please consult the table below for bit assignments. DB-25 Pin Assignments JP300 Pin Assignments Pin# Bit# Pin# Bit#...
PulseBlaster Appendix I: Controlling the PulseBlaster with Spinapi Instruction Set Architecture Machine-Word Definition The PulseBlaster pulse timing and control processor implements an 80-bit wide Very Long Instruction Word (VLIW) architecture. The VLIW memory words have specific bits/fields dedicated to specific purposes, and every word should be viewed as a single instruction of the micro-controller.
Page 11
PulseBlaster Output Pattern and Control Word Please refer to Table 1 for output pattern and control bit assignments of the 24-bit output/control word. Bit # Function Header JP300 pin 1 Output Connector DB25 pin 5 Header JP300 pin 3 Output Connector DB25 pin 18 Header JP300 pin 5 Output Connector DB25 pin 19 Header JP300 pin 7...
PulseBlaster Delay Count The value of the Delay Count field (a 32-bit value) determines how long the current instruction should be executed. The allowed minimum value of this field is 0x6 for the 32k memory models and 0x2 for the internal- memory models.
Page 13
PulseBlaster 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 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.
PulseBlaster Example Use of C Functions * PulseBlaster example 1 * This program will cause the outputs to turn on and off with a period * of 400ms #include <stdio.h> #define PB24 #include "spinapi.h" int main(){ int start, status; printf ("Using spinapi library version %s\n", pb_get_version()); if(pb_init() != 0) { printf ("Error initializing board: %s\n", pb_get_error());...
PulseBlaster Appendix II: Sample C Program A more complex program using C Functions is provided below. * PulseBlaster example 2 * This example makes use of all instructions (except WAIT). #include <stdio.h> #define PB24 #include <spinapi.h> int main(int argc, char **argv){ int start, loop, sub;...
Page 16
PulseBlaster pb_inst(0x0,CONTINUE,0,500.0*ms); // Instruction 6 - Return from Subroutine to Instruction 1 in .5*s pb_inst(0xF0F0F0,RTS,0,500.0*ms); // End of pulse program pb_stop_programming(); // Trigger the pulse program pb_start(); //Read the status register status = pb_read_status(); printf("status = %d", status); pb_close(); return 0; http://www.spincore.com 5/19/2006...
Need help?
Do you have a question about the PulseBlaster PB24-100-PCI and is the answer not in the manual?
Questions and answers