Power Brick Controller User Manual
Special Functions & Troubleshooting
176
PFM Output Signal Settings
1.
Chose the maximum PFM frequency in MHz from the table below (only). This frequency must be
faster than the maximum desired speed if controlling an external stepper amplifier/motor, or faster
than the maximum desired frequency of whichever device it is connected to. Set
PowerBrick[
i
].Chan[
j
].PfmClockDiv
.
PfmClockDiv
Frequency
PfmClockDiv
Frequency
0
100
MHz
8
0.390625
MHz
1
50
MHz
9
0.1953125
MHz
2
25
MHz
10
0.09765625
MHz
3
12.5
MHz
11
0.048828125
MHz
4
6.25
MHz
12
0.024414063
MHz
5
3.125
MHz
13
0.012207031
MHz
6
1.5625
MHz
14
0.006103516
MHz
7
0.78125
MHz
15
0.003051758
MHz
Note
It is not a good practice to automatically choose the maximum
frequency of 100 MHz. Faster signals trade off speed for signal quality
due to quantization noise and jitter.
2.
Compute the minimum possible pulse width for the chosen max frequency.
3.
Choose a pulse width greater than or equal to the computed minimum pulse width. This desired
pulse width must be a multiple integer of the computed minimum pulse width. Set
PowerBrick[
i
].Chan[
j
].PfmWidth
accordingly.
Example: Channel 1
Maximum Achievable Frequency
The maximum achievable frequency (speed) with the chosen frequency and pulse width can be computed
as follow.
Manual Modulation
The PFM Output can now be modulated manually by writing to the structure element
PowerBrick[
i
].Chan[
j
].Pfm,
as scaled below
.
For a 5 kHz output frequency:
GLOBAL
MaxPfmFreq = 25;
GLOBAL
MinPulseWidth = 1000 / MaxPfmFreq;
GLOBAL
PulseWidth = 40 * 15;
// [MHz]
// 40 [nsec]
// 600 [nsec]
PowerBrick[0].PfmClockDiv =
LOG2
(100 / (MaxPfmFreq))
// 2
PowerBrick[0].Chan[0].PfmWidth = PulseWidth * MaxPfmFreq / 1000
// $F (15)
GLOBAL
PfmMaxSpeed = 1000000 / (Puls MinPulseWidth);
// [kHz]
PowerBrick[
0
].Chan[
0
].Pfm =
5
*
4294483.648
/ MaxPfmFreq