User's Manual

PMAC2A PC104 Hardware Reference Manual
Software Setup
2
0
How does changing I900 effect other settings in PMAC
I900 is does not only set the PWM frequency for the PWM outputs but it also sets the Max Phase
Frequency.
MaxPhase Frequency = 117,964.8 kHz / [2*I900+3]
PWM Frequency = 117,964.8 kHz / [4*I900+6]
The Max Phase Frequency is then divided by I901 to generate the frequency for the phase interrupt and its
routines. If you change I900 you have to change I901 to keep the same phase interrupt.
PHASE Clock Frequency = MaxPhase Frequency / (I901+1)
The Phase Clock Frequency setting also effects the servo interrupt frequency. If you change the phase
interrupt frequency then you must change I902 to keep the same servo interrupt.
Servo Clock Frequency = PHASE Clock Frequency / (I902+1)
When you change the servo interrupt you must always change the servo interrupt time, i10, to match or all
of your timing will be off in PMAC.
I10=8388608/(Servo Frequency (KHz)) = 8388608 * ServoTime(msec)
If you decide to change I900 be sure to reset Ix69 to the proper safety setting per the following formula:
Ix69=MaxVolts/10 * I900
Examples:
Default Example:
I900=1001
I901=2
I902=3
Ix69=1024
I10=1710933
MaxPhase Frequency = 117,964.8 kHz / [2*1001+3] = 58.835KHz
PWM Frequency = 117,964.8 kHz / [4*1001+6] = 29.418KHz
PHASE Clock Frequency = MaxPhase Frequency / (2+1) = 19.61KHz
Servo Clock Frequency = PHASE Clock Frequency / (3+1) = 4.90KHz
I10=8388608/(4.902943) = 1710933
Ix69=10V/10 * I900 = 1001 add headroom to 1024
Now lets say I wanted to double my resolution:
I900=2002
MaxPhase Frequency = 117,964.8 kHz / [2*2002+3] = 29.44KHz
PWM Frequency = 117,964.8 kHz / [4*2002+6] = 14.72KHz
In order to save headroom on firmware routines that trigger off the phase and servo interrupts it is best to
keep those frequencies about the same as above. Some systems may want higher phase and servo