AD1940/AD1941
Rev. B | Page 22 of 36
–1.0
–0.8
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
0.8
1.0
3525155
TIME (ms)
OUTPUT LEVEL (V)
04607-029
2010030
Figure 16. Slew RAM—Linear Update Decreasing Ramp
Constant dB and RC Type (Exponential) Update Math
Exponential math is accomplished by shifts and adds with a
range from 6.1 ms to 1.27 s (–60 dB relative to 0 dB full scale).
When the ramp type is set to 01 (constant dB), each step size is
set to the current value in the slew data. When the ramp type
bits are set to 10 (RC type), the step sizes are equal to the
difference between the values in the target RAM and slew RAM.
Figure 17 and Figure 18 show examples of this type of
target/slew RAM ramping. A decreasing ramp of both the
constant dB and RC type ramps is a mirror image of the
constant dB increasing ramp, and is show in Figure 19.
04607-0-018
TIME (ms)
OUTPUT LEVEL (V)
1
0.8
0.6
0.4
0.2
0
–0.6
–0.4
–0.2
–0.8
–1
01052015 3025 35
Figure 17. Slew RAM—Constant dB Update Increasing Ramp
04607-0-019
TIME (ms)
OUTPUT LEVEL (V)
1
0.8
0.6
0.4
0.2
0
–0.6
–0.4
–0.2
–0.8
–1
3525155 201003
0
Figure 18. Slew RAM—RC Type Update Increasing Ramp
–1.0
–0.8
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
0.8
1.0
TIME (ms)
OUTPUT LEVEL (V)
04607-030
3525155 2010030
Figure 19. Slew RAM—Constant dB and RC Type
Update Decreasing Ramp, Full Scale
04607-0-020
TIME (ms)
OUTPUT LEVEL (V)
1
0.8
0.6
0.4
0.2
0
–0.6
–0.4
–0.2
–0.8
–1
3525155 201003
0
Figure 20. Slew RAM—Constant Time Update Increasing Ramp, Full Scale
AD1940/AD1941
Rev. B | Page 23 of 36
04607-0-021
TIME (ms)
OUTPUT LEVEL (V)
1
0.8
0.6
0.4
0.2
0
–0.6
–0.4
–0.2
–0.8
–1
3525155 2010030
Figure 21. Slew RAM—Constant Time Update Increasing Ramp, Half Scale
–1.0
–0.8
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
0.8
1.0
TIME (ms)
OUTPUT LEVEL (V)
04607-031
3525155 2010030
Figure 22. Slew RAM—Constant Time Update Decreasing Ramp, Full Scale
Constant Time Update Math
Constant time math is accomplished by adding a step value that
is calculated after each new target is loaded. The equation for
this step size is
Step = (Target Data Slew Data)/(Number of Steps)
Figure 20 shows a plot of the target/slew RAM operating in
constant time mode. For this example, 128 steps are used to
reach the target value. This type of ramping takes a fixed
amount of time for a given number of steps, regardless of the
difference in the initial state and the target value. Figure 21
shows a plot of a constant time ramp from –80 dB to –6 dB (half
scale) using 128 steps. You can see that the ramp takes the same
amount of time as the previous ramp from –80 dB to 0 dB. A
constant time decreasing ramp plot is shown in Figure 21.
SAFELOAD REGISTERS
Many applications require real time control of signal processing
parameters, such as filter coefficients, mixer gains, multichannel
virtualizing parameters, or dynamics processing curves. To
prevent instability from occurring, all of the parameters of a
biquad filter must be updated at the same time. Otherwise, the
filter could execute for one or two audio frames with a mix of
old and new coefficients. This mix could cause temporary
instability, leading to transients that could take a long time to
decay. To eliminate this problem, the AD1940/AD1941 load a
set of 10 registers in the control port (five for 28-bit parameters,
and another five for indirectly addressing the target/slew
RAMs) with the desired parameter or target/slew RAM address
and data. Five registers are used because a biquad filter uses five
coefficients and it is desirable to be able to do a complete
biquad update in one transaction. The safeload registers can be
used to update either the parameter RAM or target/slew RAM
values. Once these registers are loaded, the appropriate initiate
safe transfer bit (there are separate bits for parameter and
target/slew loads) in the core control register should be set to
initiate the loading into RAM. Program lengths should be
limited to 1,531 cycles (1,536 − 5) to ensure that the SigmaDSP
is able to perform the safeloads. It can be guaranteed that the
safeload will have occurred within one LRCLK period (21 μs at
f
s
= 48 kHz) of the initiate safe transfer bit being set.
The safeload logic automatically sends only those safeload regis-
ters that have been written to since the last safeload operation.
For example, if only two parameters are to be sent, only two of
the five safeload registers must be written to. When the initial
safe transfer bit (in the core control register) is asserted, only
those two registers are sent; the other three registers are not sent
to the RAM and can still hold old or invalid data.
Table 22. Data Capture Control Registers (2634–2641)
Register Bits Function
12:2 11-Bit program counter address
1:0 Register select
00 = Mult_X_input
01 = Mult_Y_input
10 = MAC_output
11 = Accum_fback
DATA CAPTURE REGISTERS
The AD1940/AD1941’s data capture feature allows the data at
any node in the signal processing flow to be sent to one of six
control port-readable registers or to a serial output pin. This can
be used to monitor and display information about internal
signal levels or compressor/limiter activity.
The AD1940/AD1941 contain six independent control port-
readable data capture registers, and two digital output
capture registers. The digital output registers are output on
SDATA_OUT7 when the data capture serial out enable bit
(Bit 14) is set in serial output Control Register 2. These reg-
isters are useful when debugging the signal processing flow.
For each of the data capture registers, a capture count and a
register select must be set. The capture count is a number
between 0 and 1,535 that corresponds to the program step
number where the capture occurs. The register select field
programs one of four registers in the DSP core that is
transferred to the data capture register when the program
AD1940/AD1941
Rev. B | Page 24 of 36
counter equals the capture count. The register select field
selections are shown in Table 2 3.
Table 23. Data Capture Output Register Select
Setting Register
00 Multiplier X input (Mult_X_input)
01 Multiplier Y input (Mult_Y_input)
10 Multiplier-Accumulator Output (MAC_out)
11 Accumulator Feedback (Accum_fback)
The capture count and register select bits are set by writing to
one of the eight data capture registers at the following
register addresses:
2634: Control Port Data Capture Setup Register 0
2635: Control Port Data Capture Setup Register 1
2636: Control Port Data Capture Setup Register 2
2637: Control Port Data Capture Setup Register 3
2638: Control Port Data Capture Setup Register 4
2639: Control Port Data Capture Setup Register 5
2640: Digital Out Data Capture Setup Register 0
2641: Digital Out Data Capture Setup Register 1
The captured data is in 5.19 twos complement data format for
all eight register select fields. The four LSBs are truncated from
the internal 5.23 data-word.
The data that must be written to set up the data capture is a
concatenation of the 11-bit program count index with the 2-bit
register select field. The capture count and register select values
that correspond to the desired point to be monitored in the
signal processing flow can be found in a file output from the
program compiler. The capture registers can be accessed by
reading from locations 2634 to 2639 (for control port capture
registers). The format for reading and writing to the data
capture registers can be seen in Table 32 and Table 33.
DSP CORE CONTROL REGISTER
The controls in this register set the operation of the AD1940/
AD1941’s DSP core. Bits 6 to 9 can be set to initiate a shutdown
of the core. The output is muted when this is performed, so it is
best to first assert the mute slew RAM bit (if slew RAM loca-
tions are used as volume controls in the program) to avoid a
click or pop when shutdown is asserted.
Slew RAM Muted (Bit 13)
This bit is set to 1 when the slew RAM mute operation has been
completed. This bit is read-only and is automatically cleared
by reading.
Mute Slew RAM, All Locations (Bit 12)
Setting this bit to 1 initiates a mute of all 64 slew RAM
locations. When reset to 0, all RAM locations return to their
previous state. This bit is only functional if slew RAM locations
are used in the custom program design. Keep in mind that the
AD1940/AD1941’s default program does not use any slew RAM
volume controls, so this bit has no effect in that case. The mute
operation is identical to writing all 0s to the data portion of the
target RAM, and therefore the time constant and linear/
exponential curve selection is determined by the bits that have
been previously written to the high bits of the target RAM.
Table 24. DSP Core Control Register (2642)
Register Bits Function
15:14 Reserved
13 Slew RAM muted (read-only)
12 Mute slew RAM, all locations
11 Reserved, set to 0
10 Use serial out LRCLK for output latch
9 Clear internal registers to all 0s, active low
8 Force multiplier to 0
7 Inititalize data memory with 0s
6 Mute serial input port
5 Initiate safe transfer to target RAM
4 Initiate safe transfer to parameter RAM
3:2 Input serial port to sequencer sync
00 = LRCLK
01 = LRCLK/2
10 = LRCLK/4
11 = LRCLK/8
1:0 Program length
00 = 1536
01 = 768
10 = 384
11 = 192
Use Serial Out LRCLK for Output Latch (Bit 10)
Normally, data is transferred from the DSP core to the serial
output registers at the end of each program cycle. In some cases
(for example, when the output sample rate is set to some
multiple of the input sampling rate), it is desirable to transfer
the internal core data multiple times during a single input audio
sample period. Setting this bit to 1 allows the output LRCLK
signal to control this data transfer rather than the internal end-
of-sequence signal. Operation in this mode may require custom
assembly language coding in the ADI graphical tools.
Clear Registers to All Zeros (Bit 9)
Setting this bit to 0 sets the contents of the accumulators and
serial output registers to 0. Like the other register bits, this one
powers up to 0. This means the AD1940/AD1941 power up in
clear mode and do not pass a signal until a 1 is written to this
bit. This is intended to prevent noise from inadvertently
occurring during the power-up sequence.
Force Multiplier to Zero (Bit 8)
When this bit is set to 1, the input to the DSP multiplier is set to
0, which results in the multiplier output being 0. This control
bit is included for maximum flexibility and is normally not
used.

AD1940YSTZ

Mfr. #:
Manufacturer:
Analog Devices Inc.
Description:
Audio DSPs IC 28-Bit Audio Processor
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union