Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Global I-Variables 197
I6802, I6852, I6902, and I6952, in conjunction with I6800 and I6801 (etc.), determine the frequency of
the Servo clock generated inside MACRO ICs 0, 1, 2, and 3, respectively. However, the internal clocks
on the IC are used only if the clock-direction control I-variable on the IC (I6807 I6857, I6907, or I6957)
is set to 0, specifying that this IC uses its own internal clocks. If this is the case, the IC outputs the clock
signals, and these variables determine the phase clock frequency for the entire PMAC2 system.
Typically, on a Turbo PMAC2 Ultralite board, MACRO IC 0 provides the Servo clock signal for the
entire board, so that I6800, I6801, and I6802 control the Ultralite Servo clock frequency.
Specifically, I6802 controls how many times the Servo clock frequency is divided down from the Phase
clock, whose frequency is set by I6801 and I6800. The Servo clock frequency is equal to the Phase clock
frequency divided by (I6802+1). I6802 has a range of 0 to 15, so the frequency division can be by a
factor of 1 to 16. The equation for I6802 is:
1
)kHz(ServoFreq
)kHz(PhaseFreq
6802I
The ratio of Phase Clock frequency to Servo Clock frequency must be an integer.
For execution of trajectories at the proper speed, I10 must be set properly to tell the trajectory generation
software what the Servo clock cycle time is. The formula for I10 is:
)kHz(ServoFreq
608,388,8
10I
In terms of the variables that determine the Servo clock frequency on a Turbo PMAC2 Ultralite board, the
formula for I10 is:
16802I16801I36800I*2
9
640
10I
At the default servo clock frequency, I10 should be set to 3,713,992 in order that Turbo PMAC2’s
interpolation routines use the proper servo update time.
Note:
If the servo clock frequency is set too high, lower priority tasks such as
communications can be starved for time. If the background tasks are completely
starved, the watchdog timer will trip, shutting down the board. If a normal reset of
the board does not re-establish a state where the watchdog timer has not tripped
and communications works well, it will be necessary to re-initialize the board by
powering up with the E3 re-initialization jumper on. This restores default settings,
so communication is possible, and the Servo clock frequency can be set to a
supportable value.
Example:
With a 6.67 kHz Phase Clock frequency established by I6800 and I6801, and a desired 3.33 kHz Servo
Clock frequency:
I6802 = (6.67 / 3.33) - 1 = 2 - 1 = 1
See Also:
I10, I19, I6800, I6801, I7000, I7001, I7002