AD1940/AD1941
Rev. B | Page 25 of 36
Initialize Data Memory with Zeros (Bit 7)
Setting this bit to 1 initializes all data memory locations to 0.
This bit is cleared to 0 after the operation is complete. This bit
should be asserted after a complete program/parameter
download has occurred to ensure click-free operation.
Zero Serial Input Port (Bit 6)
When this bit is set to 1, the 16 serial input channels are forced
to all 0s.
Initiate Safe Transfer to Target RAM (Bit 5)
Setting this bit to 1 initiates a safeload transfer to the target/slew
RAM. This bit clears when the operation is completed. Of five
safeload register pairs (address/data), only those registers that
have been written since the last safeload event are transferred.
Address 0 corresponds to the first target RAM location.
Initiate Safe Transfer to Parameter RAM (Bit 4)
Setting this bit to 1 initiates a safeload transfer to the parameter
RAM. This bit clears when the operation is completed. Of five
safeload registers pairs (address/data), only those registers that
have been written since the last safeload event are transferred.
Address 0 corresponds to the first parameter RAM location.
Input Serial Port to Sequencer Sync (Bits 3:2)
Normally, the internal sequencer is synchronized to the
incoming audio frame rate by comparing the internal program
counter with the edge of the LRCLK input signal. In some cases
the AD1940/AD1941 may be used to decimate an incoming
signal by some integer factor. In this case, it is desirable to
synchronize the sequencer to a submultiple of the incoming
LRCLK rate so more than one audio input sample is available to
the program during a single audio output frame. For example, if
these bits are set to 01 (LRCLK/2), a 96 kHz input can be used
with a 48 kHz output, allowing two consecutive input samples
to be processed during a single audio output frame. Operation
in this mode may require custom assembly language coding in
the ADI graphical tools.
Program Length (Bits 1:0)
96 kHz and 192 kHz Modes
These bits set the length of the internal program. The default
program length is 1,536 instructions for f
S
= 48 kHz, but the
program length can be shortened by factors of 2 to accom-
modate sample rates higher than 48 kHz. For f
S
= 96 kHz, the
program length should be set to 768 (01). For f
S
= 192 kHz, the
program length should be set to 384 steps (10). A program
length of 192 steps is available, but is not commonly used.
Low Power Mode
This setting can also be used to reduce the power consumption
of the AD1940/AD1941. If the program length is set to
768 steps and f
S
= 48 kHz instead of 96 kHz, then the power
consumption of the part is cut approximately in half.
Correspondingly, when the program length is set to 384 steps
with f
S
= 48 kHz, the power consumption is about ¼ of
what it is in normal operation with 1,536 program steps and
f
S
= 48 kHz.
Table 25. RAM Configuration Register (2643)
Register Bits Function
7:4 Reserved
3:0
RAM modulo, 1 LSB corresponds to
512 locations, max = 0b1100 (6 k words)
RAM CONFIGURATION REGISTER
The AD1940/AD1941 use a modulo RAM addressing scheme
to allow filters and other blocks to be coded easily without
requiring filter data to be explicitly moved during the filtering
operation. This is accomplished by adding the contents of an
address offset counter to the actual base address supplied in the
AD1940/AD1941’s cores. This address offset counter is incre-
mented automatically at the audio frame rate.
This method works well for most audio applications that
involve filtering. In some cases, however, it is desirable to have
direct access to the RAM, bypassing the autoincrementing
address offset counter. For this reason, the data memories in the
AD1940/AD1941 can be divided into modulo and nonmodulo
portions by programming the RAM configuration register
(Table 25). The address range from 0 to 512 × (RAM config-
uration register contents) is treated as modulo memory with
autoincrementing address offset registers. The maximum
setting of this register is the full size of the RAM, or 6,144 (6 k
words) data words. Note that addresses in this range
automatically wrap around the modulo boundary as set by the
register. This feature is not normally used with ADI supplied
blocks. For normal operation, this register may be left in its
default state, which sets up the entire RAM to use the
autoincrement feature. This feature is included for maximum
programming flexibility and may be used in the case of special
software development.
CONTROL PORT READ/WRITE DATA FORMATS
The read/write formats of the control port are designed to be
byte oriented. This allows easy programming of common
microcontroller chips. In order to fit into a byte-oriented
format, 0s are appended to the data fields before the MSB in
order to extend the data word to the next multiple of eight bits.
For example, 28-bit words written to the parameter RAM are
appended with four leading 0s to reach 32 bits (four bytes);
40-bit words written to the program RAM are not appended
with any 0s because it is already a full 5 bytes. These zero
extended data fields are appended to a 3-byte field consisting of
a 7-bit chip address, a read/write bit, and an 11-bit RAM/
register address. The control port knows how many data bytes
to expect based on the address that is received in the first three
bytes.
AD1940/AD1941
Rev. B | Page 26 of 36
The total number of bytes for a single location write command
can vary from four bytes (for a control register write), to eight
bytes (for a program RAM write). Burst mode may be used to
fill contiguous register or RAM locations. A burst mode write is
done by writing the address and data of the first RAM/register
location to be written. Rather than ending the control port
transaction (by bringing the CLATCH signal high in the
AD1940/AD1941, after the data word, as would be done in a
single address write, the next data word can be written
immediately without first writing its specific address). The
AD1940/AD1941 control ports autoincrement the address of
each write, even across the boundaries of the different RAMs
and registers.
Table 26. Parameter RAM Read/Write Format (Single Address)
Byte 0 Byte 1 Byte 2 Byte 3 Bytes 4–6
chip_adr [6:0], W/R
0000, param_adr [11:8] param_adr [7:0] 0000, param [27:24] param [23:0]
Table 27. Parameter RAM Block Read/Write Format (Burst Mode)
Byte 0 Byte 1 Byte 2 Byte 3 Bytes 4–6 Bytes 7-10 Bytes 11-14
1
chip_adr [6:0], W/R
0000, param_adr [11:8] param_adr [7:0] 0000, param [27:24] param [23:0] 0000, param [27:0]
0000, param
[27:0]
<—param_adr—> param_adr + 1 param_adr + 2
1
Burst mode data transfers can continue beyond the three words that are illustrated here in the same sequential word format. The register/RAM address auto-
increments until the data transfer reaches the IC's last address.
Table 28. Program RAM Read/Write Format (Single Address)
Byte 0 Byte 1 Byte 2 Bytes 3–7
chip_adr [6:0], W/R
0000, prog_adr [11:8] prog_adr [7:0] prog [39:0]
Table 29. Program RAM Block Read/Write Format (Burst Mode)
Byte 0 Byte 1 Byte 2 Bytes 3-7 Bytes 8-12 Bytes 13-17
1
chip_adr [6:0], W/R
0000, prog_adr [11:8] prog_adr [7:0] prog [39:0] prog [39:0] prog [39:0]
<—prog_adr—> prog_adr +1 prog_adr +2
1
Burst mode data transfers can continue beyond the three words that are illustrated here in the same sequential word format. The register/RAM address auto-
increments until the data transfer reaches the IC's last address.
Table 30. Control Register Read/Write Format (Core, Serial Out 0, Serial Out 1)
Byte 0 Byte1 Byte 2 Byte 3 Byte 4
chip_adr [6:0], W/R
0000, reg_adr [11:8] reg_adr [7:0] data [15:8] data [7:0]
Table 31. Control Register Read/Write Format (RAM Configuration, Serial Input)
Byte 0 Byte1 Byte 2 Byte 3
chip_adr [6:0], W/R
0000, reg_adr [11:8] reg_adr [7:0] data [7:0]
AD1940/AD1941
Rev. B | Page 27 of 36
Table 32. Data Capture Register Write Format
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4
chip_adr [6:0], W/R
0000, data_capture_adr [11:8] data_capture_adr [7:0] 000, progcount [10:6]
1
progcount [5:0]
1
, regsel [1:0]
2
1
Progcount [10:0] = value of program counter where trap occurs (the table of values is generated by the program compiler).
2
Regsel [1:0] selects one of four registers (see Data Capture Registers section).
Table 33. Data Capture (Control Port Readback) Register Read Format
Byte 0 Byte 1 Byte 2 Bytes 3–5
chip_adr [6:0], W/R
0000, data_capture_adr [11:8] data_capture_adr [7:0] data [23:0]
Table 34. Safeload Register Data Write Format
Byte 0 Byte 1 Byte 2 Byte 3 Bytes 4–7
chip_adr [6:0], W/R
0000, safeload_adr [11:8] safeload_adr [7:0] 000000, data [33:32] data [31:0]
Table 35. Safeload Register Address Write Format
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4
chip_adr [6:0], W/R
0000, safeload_adr [11:8] safeload_adr [7:0] 000000, param_adr [9:8] param_adr [7:0]

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