Spread-spectrum modulation is a PWM
modulation technique that reduces the peaks seen in EMI measurements by varying the
output PWM frequency. The minimum and maximum spread-spectrum frequencies are
adjustable using the spread-spectrum registers discuss below.
To enable spread-spectrum follow the
procedure below:
- The TAS6424R-Q1 must be correctly powered and in
Hi-Z mode.
- While in Hi-Z mode, configure and enable spread-spectrum using
I2C.
- The spread-spectrum settings are retained while PVDD and VBAT
are applied, but must be enabled again if PVDD or VBAT are removed or
invalid.
The spread spectrum algorithm uses a triangle waveform to vary the frequency around
the fundamental. See the figure below.
The spread-spectrum registers
are calculated using the relationships below. Note that it's recommended to start
with SS_PRE_DIV = 0x1F for most use cases.
- SS_PRE_DIV = (256 * FS
/ Fcenter) - 2) / 2
- SS_AMP = 64 * (Fcenter
- Fmin) / Fcenter
- SS_STEP = 16 * 4 * SS_AMP *
FSS / Fcenter
where
- FS - audio
sampling frequency
- Fmax - maximum
spread-spectrum frequency
- Fmin - minimum
spread-spectrum frequency
- Fcenter -
spread-spectrum center frequency
- FSS -
spread-spectrum triangle waveform frequency
- FPWM_min - minimum
PWM output frequency with spread-spectrum enabled
- FPWM_max - maximum
PWM output frequency with spread-spectrum enabled
The following sample code
enables spread-spectrum for 48 kHz audio sample rate, 32-bit audio depth, TDM-8 and
2.1 MHz.
w D6 28 EA
w D6 77 82 // Enable SS, SS_AMPL = 2
w D6 78 1F // SS_PRE_DIV = 31, Fcenter = 192 kHz
w D6 79 3F // SS_STEP = 63
The follow equations calculate the
output PWM frequency variation with the settings listed previously.
- Fmin = 256 *
FS / ((SS_PRE_DIV * 2 + 2) + SS_AMPL = 256 * 48 kHz / ((31 *
2 + 2) + 2) = 186.18 kHz
- Fmax = 256 *
FS / ((SS_PRE_DIV * 2 + 2) + SS_AMPL = 256 * 48 kHz / ((31 *
2 + 2) - 2) = 198.19 kHz
- FPWM_min =
Fmin * 11 = 186.18 kHz * 11 = 2.048 MHz
- FPWM_max =
Fmax * 11 = 198.19 kHz * 11 = 2.189 MHz