Instruction Manual
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
(refer to sections “PGA Soft-Ramp” on page 95 and “Analog Output Soft Ramp” on
PGASFT Volume Changes Affected Analog Volume Control
0 Abruptly take effect with-
out a soft-ramp
PGAxVOL[5:0] (“PGAx Volume” on page 98)
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] (“PGAx Volume” on page 98)
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