
Data Sheet
ADAU1442/ADAU1445/ADAU1446
Rev. D | Page 81 of 92
SOFTWARE FEATURES
SOFTWARE SAFELOAD
To update parameters in real time while avoiding pop and click
use a software safeload mechanism. SigmaStudio automatically
sets up the necessary code and parameters for new projects. The
safeload code, along with other initialization code, fills the first
36 locations in program RAM. The first eight parameter RAM
locations (Address 0x0000 to Address 0x0007) are configured
by default in SigmaStudio as described in
Table 81.Table 81. Software Safeload Parameter RAM Defaults
Address
(Hex)
Function
0x0000
Modulo RAM size
0x0001
Safeload Data 1
0x0002
Safeload Data 2
0x0003
Safeload Data 3
0x0004
Safeload Data 4
0x0005
Safeload Data 5
0x0006
Safeload target address (offset of 1)
0x0007
Number of words to write/safeload trigger
Address 0x0000, which controls the modulo RAM size, is set by
SigmaStudio and is based on the dynamic address generator
mode of the project.
Address 0x0001 to Address 0x0005 are the five data slots for storing
the safeload data. The safeload parameter space contains five data
slots by default because most standard signal processing algorithms
have five parameters or fewer.
Address 0x0006 is the target address in parameter RAM (with
an offset of 1). This designates the first address to be written.
If more than one word is written, the address increments
automatically for each data-word. The reason for the target
address offset of 1 is that the write address is calculated relative to
the address of the data, which starts at Address 0x0001. Therefore,
if the intention is to update a parameter at Address 0x000A, the
target address should be 0x0009.
Address 0x0007 designates the number of words to be written.
For a biquad filter, the number is five. For a simple monogain
cell, the number is one. This address also serves as the trigger;
when it is written, a safeload write is triggered on the next frame.
The safeload mechanism is software based and executes once
per audio frame. Therefore, system designers should take care
when designing the communication protocol. A delay equal to
or greater than the sampling period (the inverse of sampling
frequency) is required between each safeload write. At a sample
rate of 48 kHz, this equates to a delay of greater than or equal to
20.83 μs. If this delay is not observed, the downloaded data will
be corrupted.
SOFTWARE SLEW
When the values of signal processing parameters are changed
abruptly in real time, they sometimes cause pop and click sounds
to appear on the audio outputs. To avoid this, some algorithms
in SigmaStudio implement a software slew functionality. Software
slew algorithms set a target value for the parameter and contin-
uously update the parameter’s value until it reaches the target.
The target value takes an additional space in parameter RAM, and
the current value of the parameter is updated in the nonmodulo
section of data RAM. Assignment of parameters and nonmodulo
data RAM is handled by the SigmaStudio compiler and does not
need to be programmed manually.
Slew parameters can follow several different curves, including an
RC-type curve and a linear curve. These curve types are coded
into each algorithm and cannot be modified by the user.
Because algorithms that use software slew generally require more
RAM than their nonslew equivalents, they should be used only
in situations in which a parameter is expected to change during
operation of the device.
Figure 59 shows an example of a volume slew applied to a sine
wave.
INITIAL VALUE
NEW TARGET
VALUE
SLEW
CURVE
07696-
065
Figure 59. Example of Volume Slew