PulseBlasterDDS
Appendix II: Programming the
PulseBlasterDDS Using Direct Outputs
If you do not wish to use the provided C functions, you can take advantage of the PBD03PC_outp()
function in your own applications. An explanation of using this function to program the board is included
below.
Using DLL Functions to Send Instructions
The provided driver DLL, pbd03pc.dll, provides three functions necessary for programming the
PulseBlasterDDS:
int PBD03PC_Init();
This function locates and initializes the PulseBlasterDDS PCI board. It returns a 0 upon
successful completion, or a negative number for an error.
int PBD03PC_outp(unsigned short address, int data);
This function sends 8 bits of data to the PCI board, at a specified address offset. (Only the lowest
8 bits of the integer value are sent)
int PBD03PC_Close();
This function releases control of the PulseBlasterDDS PCI board. It returns a 0 upon successful
completion, or a negative number for an error.
Building Instructions Using the DLL Functions
•
To send instructions to the PulseBlasterDDS, the programmer must first call the
PBD03PC_Init()
function to locate and initialize the PulseBlasterDDS for sending
instructions
•
Instructions are then build using the
PBD03PC_outp(unsigned short address, int
data)
function, 8 bits at a time. For example, 10
PBD03PC_outp
function calls are made to
construct one 80-bit instruction in accordance with the Instruction Set Architecture
•
Finally, the
PBD03PC_Close()
instruction is called to signal an end to programming, and to
release control of the PulseBlasterDDS
Programming Information
Initialization of the PulseBlasterDDS for operation involves a minimum of four steps. The steps are as
follows:
1)
Send
LOAD NUMBER OF BYTES PER WORD
instruction.
2)
Send
SELECT PERIPHERAL DEVICE
instruction.
3)
Send
CLEAR ADDRESS COUNTER
instruction.
4)
Loading data to memory.*
5)
Send
PROGRAMMING FINISHED
instruction.
9/20/200522
www.spincore.com