PMAC/PMAC2 V1.17C Addendum PMAC2 controllers with Servo ICs older than Revision “D” (Revision “D” ICs started shipping in early 2002). Sub-Count Capture: If bit 19 (value $80000, or 524,288) is set to 1 when hardware position capture is used in a triggered move, both the whole-count captured position register and the estimated sub-count position register are used to establish the trigger position. This setting can only be used on PMAC2 controllers with Servo ICs of Revision “D” or newer. I9n9 for the Channel “n” used for the capture must be set to 1 to enable the hardware sub-count estimation.
This setting is typically used for registration or probing triggered moves with interpolated sinusoidal encoder feedback. (Even with interpolated sinusoidal encoder feedback, homing- search moves will probably be done without sub-count captured data, to force a home position referenced to one of the four “zero-crossing” positions of the sine/cosine signals.) Ix10 Motor x Power-Up Servo Position Address [expanded] Range: $000000 - $FFFFFF Units: Extended PMAC Addresses Default: 0 … EnDat Data Read (Geo PMAC only): If Ix10 is set to $75wxyz or $F5wxyz on a Geo PMAC, Motor x will expect its power-on servo position from the optional EnDat interface that can be built in to the Geo PMAC.
Bit 23 of Ix10 specifies whether the position is interpreted as an unsigned value (Bit 23 = 0, making the first hex digit a 7) or as a signed value (Bit 23 = 1, making the first hex digit an F). Set Ix10 to $75wxyz for unsigned, or to $F5wxyz for signed. The third and fourth hex digits (wx) specify the number of bits of EnDat absolute position to be read, as a hex value. For example, if 20 bits were to be read, these two hex digits would be set to 14. The fifth hex digit (y) specifies the shift of the data read, permitting the user to match the resolution properly with that of the ongoing position.
The data is first shifted left 10 bits, then shifted right by “y” bits, so “y” should be set to (NetRightShift + 10). The object is to end up with data whose LSB is equal to one quadrature count (1/4-line) of the encoder. Most commonly, the data comes in with the LSB equal to 1/4 of a quadrature count (1/16-line), requiring a net right shift of 2 bits, so “y” should be a hex digit of “C” (12 decimal). The sixth hex digit (z) specifies the channel number used, whether the data is negated, and whether it should be matched to ongoing digital quadrature or analog sinusoidal feedback. Bits 1 and 0 together express the channel number minus one as a value from 0 to 3 (so Channel 1 to 4).
Bit 2 is set to 0 if the ongoing feedback is analog sinusoidal processed through the high-resolution conversion (format $F) in the conversion table, or to 1 if the ongoing feedback is digital quadrature. Bit 3 is set to 0 to use the data without negation, or to 1 to negate the data before using. Negating the data reverses the direction sense; this control is used to match the direction sense of the ongoing feedback as set by I9n0. 6 V1.17C Firmware Version