Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Global I-Variables 218
To determine the clock frequencies set by a given value of I7m03, use the following procedure:
1. Divide I7m03 by 512 and round down to the nearest integer. This value N1 is the ADC_CLK divider.
2. Multiply N1 by 512 and subtract the product from I7m03 to get I7m03'. Divide I7m03' by 64 and
round down to the nearest integer. This value N2 is the DAC_CLK divider.
3. Multiply N2 by 64 and subtract the product from I7m03' to get I7m03''. Divide I7m03'' by 8 and
round down to the nearest integer. This value N3 is the PFM_CLK divider.
4. Multiply N3 by 8 and subtract the product from I7m03''. The resulting value N4 is the SCLK divider.
For accessory boards in which alternate addressing of the Servo IC is used (labeled Servo IC m*), this
function is controlled by I7m53, not I7m03.
Examples:
The maximum encoder count frequency in the application is 800 kHz, so the 1.2288 MHz SCLK
frequency is chosen. A pulse train up to 500 kHz needs to be generated, so the 2.4576 MHz PFM_CLK
frequency is chosen. The default serial DACs and ADCs provided by Delta Tau are used, so the default
DAC_CLK frequency of 4.9152 MHz and the default ADC_CLK frequency of 2.4576 MHz are chosen.
From the table:
SCLK Divider N: 5
PFM_CLK Divider N: 4
DAC_CLK Divider N: 3
ADC_CLK Divider N: 4
I7m03 = 5 + (8 * 4) + (64 * 3) + (512 * 4) = 5 + 32 + 192 + 2048 = 2277
I7m03 has been set to 3429. What clock frequencies does this set?
N1 = INT (3429/512) = 6 ADC_CLK = 611.44 kHz
I7m03' = 3429 - (512*6) = 357
N2 = INT (357/64) = 5 DAC_CLK = 1.2288 MHz
I7m03'' = 357 - (64*5) = 37
N3 = INT (37/8) = 4 PFM_CLK = 2.4576 MHz
N4 = 37 - (8*4) = 5 SCLK = 1.2288 MHz
See Also: I6803
I7m04 Servo IC m PWM Deadtime / PFM Pulse Width Control
Range: 0 - 255
Units: 16*PWM_CLK cycles / PFM_CLK cycles
PWM Deadtime = [16 / PWM_CLK (MHz)] * I7m04 = 0.135 usec * I7m04
PFM Pulse Width = [1 / PFM_CLK (MHz)] * I7m04
= PFM_CLK_period (usec) * I7m04
Default: 15
PWM Deadtime = 0.135 usec * 15 = 2.03 usec
PFM Pulse Width = [1 / 9.8304 MHz] * 15 = 1.526 usec (with default I7m03)
I7m04 controls the deadtime period between top and bottom on-times in the automatic PWM generation
for machine interface channels on PMAC2-style Servo IC m (m = 0 to 9). In conjunction with I7m03, it
also controls the pulse width for PMAC2's automatic pulse-frequency modulation generation for the
machine interface channels on Servo IC m.
The PWM deadtime, which is the delay between the top signal turning off and the bottom signal turning
on and vice versa, is specified in units of 16 PWM_CLK cycles. This means that the deadtime can be
specified in increments of 0.135 sec. The equation for I7m04 as a function of PWM deadtime is:
sec135.0
sec)(DeadTime
04m7I