Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
242
 
Turbo PMAC Computational Features 
Addresses 
Turbo PMAC uses a Motorola DSP563xx as its processor.  The DSP563xx has dual 24-bit address spaces 
(of which 19 bits are used by the Turbo PMAC) for memory and I/O.  (Note that the I/O in Turbo PMAC 
is memory-mapped; it does not have a separate I/O space as your PC does.)  When specifying an address 
in Turbo PMAC, you must state which half of memory (X or Y) – or both halves (L) for a long 48-bit 
word – followed by an optional colon, followed by the numerical address itself.  The numerical address is 
a constant in the range of $000000 - $07FFFF.  Usually, the address values are specified as a hexadecimal 
value (with the $ prefix). 
Do not confuse the memory and I/O addresses of Turbo PMAC itself with those of the host computer. 
Examples of legal address specifications are: 
Y:$078A02  
(word containing machine I/O) 
X:136  
 
(Motor 1 commanded position – also X:$88) 
X$078003  
(captured encoder 1 position) 
This form of address specification is used particularly in M- variable definitions and direct read (R) and 
write (W) commands.  There are I-variables that specify addresses, but usually these are pre-defined to the 
X or Y space, so all that is needed is the numerical value.  The data-gathering-address I- variables (I5001-
I5048) use an extra hex digit in front of the numerical value to specify the memory half (see I5001 
description).  
Variables 
Turbo PMAC has several types of variables.  In Turbo PMAC, a variable is specified by a single letter (I, 
P, Q, or M) followed by a number from 0 to 8191.  Each letter denotes a different type of variable, each 
type with its own properties.  The different types share the characteristics that when their name is cited in 
an expression, the current value of the variable is used (reading from them); and values can be assigned to 
them in an equation (writing to them). 
Custom variable names on Turbo PMAC may not be specified; however the Editor in the PMAC 
Executive Program has a substitution (macro) scheme that allows programs to be written using user-
defined variable names, but changes these names into Turbo PMAC-legal variable names during the 
download process.  This substitution scheme is strongly recommended for managing large applications. 
I-Variables 
I-Variables (initialization or setup variables) determine the personality of the card for a given application.  
They are at fixed locations in memory and have pre-defined meanings.  Most are integer values, and their 
range varies depending on the particular variable.  There are 1024 I-variables, from I0 to I8191, and they 
are organized as follows: 
I0 – I99  
Global card setup 
I100 – I199 
Motor 1 setup 
I200 – I299 
Motor 2 setup 
… 
I3200 – I3299  Motor 32 setup 
I3300 – I4799  Supplemental Motor setup 
I4900 – I4999  Configuration status 
I5000 – I5099  Data gathering/ADC demux setup 
I5100 – I5199  Coordinate System 1 setup 
I5200 – I5299  Coordinate System 2 setup 
… 
I6600 – I6699  Coordinate System 16 setup 
I6800 – I6999  MACRO IC setup 
I7000 – I7999  Servo IC setup 
I8000 – I8191  Encoder conversion table setup