4 pga soft-ramp, 5 analog zero cross, 4 pga soft-ramp 6.17.5 analog zero cross – Cirrus Logic CS42L73 User Manual
Page 95: Cs42l73

DS882F1
95
CS42L73
6.17.4 PGA Soft-Ramp
Configures an incremental volume ramp from the current level to the new level at the specified rate. If PGA
Soft-Ramping is enabled (PGASFT = 1b), the effect of changes to the PGA analog volume controls (listed
below) are applied progressively (see exceptions below); if disabled, changes are applied all at once.
Notes:
• Refer to section
“Analog Zero Cross” on page 95
for a description of the ANLGZC control.
• This register bit also affects the ALC volume attack and release rates (soft-ramped as a
function of Fs or abrupt). ALC attack soft-ramping can be disabled, regardless of this reg-
ister control bit, via control
“ALCx Soft-Ramp Disable” on page 116
.
6.17.5 Analog Zero Cross
Configures when the signal-level changes occur for the analog volume controls. If Analog Zero Cross is
enabled (ANLGZC = 1b), the effect of changes to the affected analog volume controls (listed below) are
delayed to occur quietly at zero crossings; if disabled, changes will not be aligned to zero crosses.
Notes:
• If the signal does not encounter a zero crossing, the requested volume change will occur
after a timeout period of 1024 sample periods (approximately 21.3 ms at 48 kHz sample
rate).
• The size of the “Volume Change” per zero cross depends on whether soft-ramping is used
and
PGASFT
Volume Changes
Affected Analog Volume Control
0
Abruptly take effect with-
out a soft-ramp
PGAxVOL[5:0] (
1
Occur with a soft-ramp
Ramp Rate:
If (ALC is disabled)
// [PGA Volume setting is changed via PGAxVOL]
If (ANLGZC = 0b)
0.5 dB every 32 Fs cycles
Else // [ANLGZC = 1b]
0.5 dB per ANLGZC event
Else // (ALC is enabled)
If ((ALC attack soft-ramping is disabled) and (Considering attack ramp-rate))
If (ANLGZC = 0b)
Abrupt volume change
Else // (ANLGZC = 1b)
Abrupt volume change at next zero cross event
Else // [ALC attack soft-ramping is enabled] or [Considering release ramp-rate]]
If (ANLGZC = 0b)
If (ALC_Rate_Setting < 2))
0.5 dB every 32 Fs cycles
Else // (ALC_Rate_Setting > 1)
0.5 x Fs / (16 * ALC_Rate_Setting + 1)
Else // [(ANLGZC = 1b)
0.5 x f
step
/ (16 * ALC_Rate_Setting + 1); f
step
is the freq. of zero cross events (including time-outs)
Notes:
- ALC_Rate_Setting is either ALCARATE or ALCRRATE
- ALC is disabled via ALCx
- ALC attack soft-ramping can be disabled via ALCxSRDIS
ANLGZC
Volume Changes
Affected Analog Volume Controls
0
Do not occur on a zero crossing
PGAxVOL[5:0] (
)
HPxAMUTE (
“Headphone x Analog Mute” on page 103
HPxAVOL[6:0] (
“Headphone x Analog Volume Control” on page 103
LOxAMUTE (
“Line Output x Analog Mute” on page 104
)
LOxAVOL[6:0] (
“Line Output x Analog Volume Control” on page 104
)
1
Occur on a zero crossing