Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 154 
Parallel Data Read:  If Ixx95 contains a value from $080000 to $300000, from $480000 to $700000, 
from $880000 to $B00000, or from $C80000 to $F00000, Motor xx will do a parallel data read of the 
Turbo PMAC memory or I/O register at the address specified by Ixx10.  It expects to find the least 
significant bit of the feedback in Bit 0 of this register. 
In this mode, bits 16 to 21 specify the number of bits to be read.  If the last hex digit of Ixx95 is 0, 
consecutive bits will be read from the address specified by Ixx81, with the least significant bit read from 
bit 0.  If the number of bits is greater than 24, the high bits are read from the register at the next higher-
numbered address.  This format is used for registers and I/O devices with 24-bit interfaces. 
If the last hex digit of Ixx95 is 4, 5, or 6, data will be read in byte-wide pieces, with the least significant 
byte at the address specified in Ixx81, the next byte at one address higher, and so on, up to a possible 6 
consecutive addresses.  This format is intended for getting parallel data from the Acc-3E 3U-format stack 
I/O board or the Acc-14E 3U-format pack (UMAC) I/O board, which have byte-wide interfaces.  For this 
format, the last hex digit of Ixx95 determines which byte of the 24-bit word is used, according to the 
following table: 
Ixx95 Last Digit 
Byte 
Bits 
Low 
0 – 7 
Middle 
8 – 15 
High 
16 – 23 
In this mode, bits 16 to 21 of Ixx95 specify the number of bits to be read, starting with bit 0 at the 
specified address.  In this mode, they can take a value from $08 to $30 (8 to 48).  If the number of bits is 
greater than 24, the high bits are read from the register at the next higher-numbered address. 
In this mode, bit 22 of Ixx95 specifies whether a Y-register is to be read, or an X-register.  A value of 0 in 
this bit specifies a Y-register; a value of 1 specifies an X-register.  Almost all common sources of 
absolute position information are located in Y-registers, so this digit is usually 0. 
In this mode, bit 23 of Ixx95 specifies whether the position is interpreted as an unsigned or a signed 
value.  If the bit is set to 0, it is interpreted as an unsigned value, if the bit is 1, it is interpreted as a signed 
value. 
Combining these components, Ixx95 values in this mode can be summarized as: 
 
$08000n - $30000n:  
Parallel Y-register read, unsigned value, 8 to 48 bits 
 
$48000n - $70000n:  
Parallel X-register read, unsigned value, 8 to 48 bits 
 
$88000n - $B0000n: 
Parallel Y-register read, signed value, 8 to 48 bits 
 
$C8000n - $F0000n: 
Parallel X-register read, signed value, 8 to 48 bits 
Example:  If Ixx10=$078D00 and Ixx95=$200000, Turbo PMAC would read 32 bits, the low 24 bits 
from Y:$078D00, and the high eight bits from the low eight bits of Y:$078D01. 
Example:  If Ixx10=$078C00 and Ixx95=$100004, Turbo PMAC would read 16 bits, with the low 8 bits 
from the low byte of Y:$078C00, and the high eight bits from the low byte of Y:$078C01. 
Example: If Ixx10=$079E03 and Ixx95=$120005, Turbo PMAC would read 18 bits, with the low eight 
bits from the middle byte of Y:$079E03, and the next 8 bits from the middle byte of Y:$079E04, and the 
high two bits from the first 2 bits of the middle byte of Y:$079E05. 
Example:  If Ixx10=$078000 and Ixx95=$540000, Turbo PMAC would read 20 bits from X:$078000 
(timer register for Channel 1).  This type of setting is used for MLDT feedback. 
Acc-28 A/D Converter Read:  If Ixx95 is set to $310000 or $B10000, Motor xx will expect its power-on 
position in the upper 16 bits of the Turbo PMAC Y-memory or I/O register specified by Ixx10.  This 
format is intended for Acc-28 A/D converters.