Справочник Пользователя для Delta Tau GEO BRICK LV
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:
(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).
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.
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:
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
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