AD AD6635

4-Channel, 80 MSPS WCDMA
Receive Signal Processor (RSP)
AD6635
FEATURES
Four 80 MSPS Wideband Inputs (14 Linear Bits Plus 3 RSSI)
4 Real Input Ports/2 Complex Input Ports
Processes 4 Wideband Channels (UMTS or cdma2000
1x) or 8 GSM/EDGE, IS136 Channels
8 Independent Digital Receivers in a Single Package
Four 16-Bit Parallel Output Ports and Four 8-Bit Link Ports
4 Programmable Digital AGC Loops with 96 dB Range
Digital Resampling for Noninteger Decimation Rates
Programmable Decimating FIR Filters
4 Interpolating Half-Band Filters
Flexible Control for Multicarrier and Phased Array
Programmable Attenuator Control for Clip Prevention and
External Gain Ranging via Level Indicator
3.3 V I/O, 2.5 V CMOS Core
User Configurable Built-in Self Test (BIST) Capability
APPLICATIONS
Multicarrier, Multimode Digital Receivers
GSM, IS136, EDGE, PHS, IS95, UMTS, cdma2000
Micro and Pico Cell Systems, Software Radios
Wireless Local Loop
Smart Antenna Systems
In-Building Wireless Telephony
FUNCTIONAL BLOCK DIAGRAM
rCIC2
CIC5
RESAMPLER
INA[13:0]
EXPA[2:0]
IENA
LIA-A
LIA-B
INB[13:0]
EXPB[2:0]
I
N
P
U
T
M
A
T
R
I
X
RAM
COEFFICIENT
FILTER
CHANNEL 0
NCO
rCIC2
CIC5
RESAMPLER
RAM
COEFFICIENT
FILTER
CHANNEL 1
rCIC2
CIC5
RESAMPLER
RAM
COEFFICIENT
FILTER
CHANNEL 2
NCO
NCO
IENB
rCIC2
CIC5
RESAMPLER
RAM
COEFFICIENT
FILTER
CHANNEL 3
rCIC2
CIC5
RESAMPLER
RAM
COEFFICIENT
FILTER
CHANNEL 4
LIB-A
LIB-B
TO A AND B
OUTPUT
PORTS
RCF OUTPUTS
CHANNELS 0, 1, 2, 3
TO A AND B
OUTPUT
PORTS
CH A INTERPOLATING
HALF-BAND FILTER,
INTERLEAVING & AGC
TO A AND B
OUTPUT
PORTS
CH B INTERPOLATING
HALF-BAND FILTER,
INTERLEAVING & AGC
TO A AND B
OUTPUT
RCF OUTPUTS
PORTS
CHANNELS 0, 1, 2, 3
PORT A
LINK PORT
OR
PARALLEL
PORT
CH A AND B
OUTPUT MUX
CIRCUITRY
PORT B
LINK PORT
OR
PARALLEL
PORT
NCO
INC[13:0]
EXPC[2:0]
IENC
LIB-A
LIB-B
I
N
P
U
T
NCO
rCIC2
CIC5
RESAMPLER
RAM
COEFFICIENT
FILTER
CHANNEL 5
NCO
IND[13:0]
EXPD[2:0]
M
A
T
R
I
X
rCIC2
CIC5
RESAMPLER
NCO
IEND
rCIC2
CIC5
RESAMPLER
LID-A
LID-B
SYNCA
SYNCB
SYNCC
SYNCD
NCO
EXTERNAL
SYNC.
CIRCUIT
RAM
COEFFICIENT
FILTER
CHANNEL 6
CLK
RSP
CLK
RAM
COEFFICIENT
FILTER
CHANNEL 7
BUILT-IN (BIST)
SELF-TEST CIRCUITRY
TO C AND D
OUTPUT
PORTS
RCF OUTPUTS
CHANNELS 4, 5, 6, 7
TO C AND D
OUTPUT
PORTS
CH C INTERPOLATING
HALF-BAND FILTER,
INTERLEAVING & AGC
TO C AND D
OUTPUT
PORTS
CH D INTERPOLATING
HALF-BAND FILTER,
INTERLEAVING & AGC
TO C AND D
RCF OUTPUTS
OUTPUT
CHANNELS 4, 5, 6, 7
PORTS
PORT C
8-BIT DSP
LINK PORT
OR
16-BIT
PARALLEL
OUTPUT
CH C AND D
OUTPUT MUX
CIRCUITRY
PORT D
8-BIT DSP
LINK PORT
OR
16-BIT
PARALLEL
OUTPUT
MICROPORT OR SERIAL
PORT CONTROL
REV. 0
Information furnished by Analog Devices is believed to be accurate and
reliable. However, no responsibility is assumed by Analog Devices for its
use, nor for any infringements of patents or other rights of third parties that
may result from its use. No license is granted by implication or otherwise
under any patent or patent rights of Analog Devices. Trademarks and
registered trademarks are the property of their respective companies.
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Tel: 781/329-4700
www.analog.com
Fax: 781/326-8703
© 2003 Analog Devices, Inc. All rights reserved.
AD6635
High dynamic range decimation filters offer a wide range of
decimation rates. The RAM-based architecture allows easy
reconfiguration for multimode applications.
GENERAL DESCRIPTION
The AD6635 is a multimode, 8-channel, digital Receive Signal
Processor (RSP) capable of processing up to four WCDMA
channels. Each channel consists of four cascaded signal-processing elements: a frequency translator, two CIC decimating filters,
and a programmable coefficient-decimating filter. Each input
port has input level threshold detection circuitry for accommodating large dynamic ranges or situations where gain ranging
converters are used. Quad 16-bit parallel output ports accommodate high data rate WBCDMA applications. On-chip
interpolating half-band filters can also be used to further
increase the output rate. In addition, each output port has a
digital AGC for accommodating large dynamic ranges using
smaller bit widths. The AGCs can maintain either signal level or
clipping level, depending on their mode. Link port outputs are
provided to enable glueless interfaces to Analog Devices’
TigerSHARC DSP core.
The decimating filters remove unwanted signals and noise from
the channel of interest. When the channel of interest occupies
less bandwidth than the input signal, this rejection of out-of-band
noise is called “processing gain.” By using large decimation
factors, processing gain can improve the SNR of the ADC by
30 dB or more. In addition, the programmable RAM coefficient
filter allows antialiasing, matched filtering, and static equalization functions to be combined in a single, cost-effective filter.
Half-band interpolating filters at the output are used in various
applications, especially in WCDMA or cdma2000 applications,
to increase the output rate from 2¥ to 4¥ the chip rate. The
AD6635 is equipped with four independent automatic gain
control (AGC) loops for direct interface to a RAKE receiver.
The AD6635 is compatible with standard ADC converters, such
as the AD664x, AD943x, AD923x, and the AD922x families of
data converters. The AD6635 is also compatible with the
AD6600 Diversity ADC, and hence can be designed into existing systems that use AD6600 ADCs.
The AD6635 is part of Analog Devices’ SoftCell Multicarrier
transceiver chipset designed for compatibility with Analog Devices’
family of high sample rate IF sampling ADCs (AD9238/AD6645
12-bit and 14-bit). The SoftCell receiver comprises a digital
receiver capable of digitizing an entire spectrum of carriers and
digitally selecting the carrier of interest for tuning and channel
selection. This architecture eliminates redundant radios in wireless
base station applications.
–2–
REV. 0
AD6635
TABLE OF CONTENTS
FEATURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
APPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . 2
ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
RECOMMENDED OPERATING CONDITIONS . . . . . . . 7
ELECTRICAL CHARACTERISTICS . . . . . . . . . . . . . . . . . 7
GENERAL TIMING CHARACTERISTICS . . . . . . . . . . . . 8
MICROPROCESSOR PORT TIMING
CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ABSOLUTE MAXIMUM RATINGS . . . . . . . . . . . . . . . . 11
ORDERING GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
PIN CONFIGURATION . . . . . . . . . . . . . . . . . . . . . . . . . . 12
PIN CONFIGURATION (PIN OUT) . . . . . . . . . . . . . . . . 13
PIN FUNCTION DESCRIPTION . . . . . . . . . . . . . . . . . . 14
TIMING DIAGRAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
INPUT DATA PORTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Input Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Input Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Input Enable Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Gain Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Input Data Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Scaling with Fixed-Point ADCs . . . . . . . . . . . . . . . . . . . . 24
Scaling with Floating-Point or Gain-Ranging ADCs . . . . 25
NUMERICALLY CONTROLLED OSCILLATOR . . . . . 26
Frequency Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
NCO Frequency Hold-Off Register . . . . . . . . . . . . . . . . . 26
Phase Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
NCO Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
By-Pass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Phase Dither . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Amplitude Dither . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Clear Phase Accumulator on Hop . . . . . . . . . . . . . . . . . . 26
Input Enable Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Mode 00: Blank on IEN Low . . . . . . . . . . . . . . . . . . . 27
Mode 01: Clock on IEN High . . . . . . . . . . . . . . . . . . . 27
Mode 10: Clock on IEN Transition to High . . . . . . . . 27
Mode 11: Clock on IEN Transition to Low . . . . . . . . . 27
WB Input Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Sync Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
SECOND-ORDER rCIC FILTER . . . . . . . . . . . . . . . . . . . 27
rCIC2 Rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Example Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Decimation and Interpolation Registers . . . . . . . . . . . . . . 29
rCIC2 Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
FIFTH-ORDER CIC FILTER . . . . . . . . . . . . . . . . . . . . . . 29
CIC5 Rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
RAM COEFFICIENT FILTER . . . . . . . . . . . . . . . . . . . . . 30
RCF Decimation Register . . . . . . . . . . . . . . . . . . . . . . . . 30
RCF Decimation Phase . . . . . . . . . . . . . . . . . . . . . . . . . . 30
RCF Filter Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
RCF Output Scale Factor and Control Register . . . . . . . . 31
INTERPOLATING HALF BAND FILTERS . . . . . . . . . . 32
AUTOMATIC GAIN CONTROL . . . . . . . . . . . . . . . . . . . 32
The AGC Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Desired Signal Level Mode . . . . . . . . . . . . . . . . . . . . . . . 33
Desired Clipping Level Mode . . . . . . . . . . . . . . . . . . . . . 34
Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
USER CONFIGURABLE BUILT IN SELF TEST
(BIST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
REV. 0
RAM BIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Channel BIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
CHIP SYNCHRONIZATION . . . . . . . . . . . . . . . . . . . . . . 36
Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Start with No Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Start with Soft Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Start with Pin Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Hop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Set Freq No Hop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Hop with Soft Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Hop with Pin Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
PARALLEL OUTPUT PORTS . . . . . . . . . . . . . . . . . . . . . 37
Channel Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
AGC Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Master/Slave PCLKn Modes . . . . . . . . . . . . . . . . . . . . . . 39
Parallel Port Pin Functionality . . . . . . . . . . . . . . . . . . . . . 39
LINK PORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Link Port Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Link Port Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
TigerSHARC Configuration . . . . . . . . . . . . . . . . . . . . . . 41
AD6635 CHANNEL MEMORY MAP . . . . . . . . . . . . . . . . 41
0x00-0x7F: Coefficient Memory (CMEM) . . . . . . . . . . . 42
0x80: Channel Sleep Register . . . . . . . . . . . . . . . . . . . . . 42
0x81: Soft_SYNC Register . . . . . . . . . . . . . . . . . . . . . . . 42
0x82: Pin_SYNC Register . . . . . . . . . . . . . . . . . . . . . . . . 42
0x83: Start Hold-Off Counter . . . . . . . . . . . . . . . . . . . . . 42
0x84: NCO Frequency Hold-Off Counter . . . . . . . . . . . 42
0x85: NCO Frequency Register 0 . . . . . . . . . . . . . . . . . . 42
0x86: NCO Frequency Register 1 . . . . . . . . . . . . . . . . . . 42
0x87: NCO Phase Offset Register . . . . . . . . . . . . . . . . . . 42
0x88: NCO Control Register . . . . . . . . . . . . . . . . . . . . . 42
0x90: rCIC2 Decimation – 1 (MrCIC2-1) . . . . . . . . . . . 44
0x91: rCIC2 Interpolation – 1 (LrCIC2-1) . . . . . . . . . . . 44
0x92: rCIC2 Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
0x93: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
0x94: CIC5 Decimation – 1 (MCIC5-1) . . . . . . . . . . . . . 44
0x95: CIC5 Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
0x96: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
0xA0: RCF Decimation – 1 (MRCF-1) . . . . . . . . . . . . . 44
0xA1: RCF Decimation Phase (PRCF) . . . . . . . . . . . . . . 44
0xA2: RCF Number of Taps Minus 1 (NRCF-1) . . . . . . 44
0xA3: RCF Coefficient Offset (CORCF) . . . . . . . . . . . . 44
0xA4: RCF Control Register . . . . . . . . . . . . . . . . . . . . . . 45
0xA5: BIST Register for I . . . . . . . . . . . . . . . . . . . . . . . . 45
0xA6: BIST Register for Q . . . . . . . . . . . . . . . . . . . . . . . 45
0xA7: BIST Control Register . . . . . . . . . . . . . . . . . . . . . 45
0xA8: RAM BIST Control Register . . . . . . . . . . . . . . . . 45
0xA9: Output Control Register . . . . . . . . . . . . . . . . . . . . 45
Memory Map for Input Port Control Registers . . . . . . . . . . 46
Input Port Control Registers . . . . . . . . . . . . . . . . . . . . . . . . 46
0x00: Lower Threshold A: . . . . . . . . . . . . . . . . . . . . . . . . 46
0x01: Upper Threshold A: . . . . . . . . . . . . . . . . . . . . . . . . 46
0x02: Dwell Time A: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
0x03: Gain Range A Control Register: . . . . . . . . . . . . . . . 46
0x04: Lower Threshold B: . . . . . . . . . . . . . . . . . . . . . . . . 47
0x05: Upper Threshold B: . . . . . . . . . . . . . . . . . . . . . . . . 47
0x06: Dwell Time B: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
0x07: Gain Range B Control Register: . . . . . . . . . . . . . . . 47
Memory Map for Output Port Control Registers . . . . . . . . . 47
–3–
AD6635
TABLE OF CONTENTS
0x08: Port A Control Register . . . . . . . . . . . . . . . . . . . . . 50
0x09: Port B Control Register . . . . . . . . . . . . . . . . . . . . . 50
0x0A AGC A Control Register . . . . . . . . . . . . . . . . . . . . . 50
0x0B AGC A Hold off Counter . . . . . . . . . . . . . . . . . . . . 50
0x0C AGC A Desired Level . . . . . . . . . . . . . . . . . . . . . . . 50
0x0D AGC A Signal Gain . . . . . . . . . . . . . . . . . . . . . . . . 51
0x0E AGC A Loop Gain . . . . . . . . . . . . . . . . . . . . . . . . . 51
0x0F AGC A Pole Location . . . . . . . . . . . . . . . . . . . . . . . 51
0x10 AGC A Average Samples . . . . . . . . . . . . . . . . . . . . . 51
0x11 AGC A Update Decimation . . . . . . . . . . . . . . . . . . 51
0x12 AGC B Control Register . . . . . . . . . . . . . . . . . . . . . 51
0x13 AGC B Hold off Counter . . . . . . . . . . . . . . . . . . . . 51
0x14 AGC B Desired Level . . . . . . . . . . . . . . . . . . . . . . . 51
0x15 AGC B Signal Gain . . . . . . . . . . . . . . . . . . . . . . . . . 51
0x16 AGC B Loop Gain . . . . . . . . . . . . . . . . . . . . . . . . . 51
0x17 AGC B Pole Location . . . . . . . . . . . . . . . . . . . . . . . 52
0x18 AGC B Average Samples . . . . . . . . . . . . . . . . . . . . . 52
0x19 AGC B Update Decimation . . . . . . . . . . . . . . . . . . 52
0x1A Parallel Port Control A . . . . . . . . . . . . . . . . . . . . . . 52
0x1B Link Port Control A . . . . . . . . . . . . . . . . . . . . . . . . 52
0x1C Parallel Port Control B . . . . . . . . . . . . . . . . . . . . . . 52
0x1D Link Port Control B . . . . . . . . . . . . . . . . . . . . . . . . 53
0x1E Port Clock Control . . . . . . . . . . . . . . . . . . . . . . . . . 53
MICROPORT CONTROL . . . . . . . . . . . . . . . . . . . . . . . . 53
External Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Access Control Register (ACR) . . . . . . . . . . . . . . . . . . . . 54
Channel Address Register (CAR) . . . . . . . . . . . . . . . . . . . 54
SOFT_SYNC Control Register . . . . . . . . . . . . . . . . . . . . 55
PIN_SYNC Control Register . . . . . . . . . . . . . . . . . . . . . . 55
SLEEP Control Register . . . . . . . . . . . . . . . . . . . . . . . . . 55
Data Address Registers . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Write Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Read Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Read/Write Chaining . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Intel Nonmultiplexed Mode (INM) . . . . . . . . . . . . . . . . . 56
Motorola Nonmultiplexed Mode (MNM) . . . . . . . . . . . . 56
SERIAL PORT CONTROL . . . . . . . . . . . . . . . . . . . . . . . . 56
Serial Port Timing Specifications . . . . . . . . . . . . . . . . . . . 56
SDI0, SDI4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
SCLK0, SCLK4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
INTERNAL WRITE ACCESS . . . . . . . . . . . . . . . . . . . . . . 58
Write Pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
INTERNAL READ ACCESS . . . . . . . . . . . . . . . . . . . . . . . 58
Read Pseudocode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
OUTLINE DIMENSIONS . . . . . . . . . . . . . . . . . . . . . . . . . 59
–4–
REV. 0
AD6635
The final stage is a sum-of-products FIR filter with programmable 20-bit coefficients, and decimation rates programmable
from 1 to 256 (1 to 32 in practice). The RAM Coefficient FIR
Filter (RCF) can handle a maximum of 160 taps.
ARCHITECTURE
Each channel of the AD6635 has four signal processing stages:
a Frequency Translator, a second-order Resampling Cascaded
Integrator Comb FIR Filter (rCIC2), a fifth-order Cascaded
Integrator Comb FIR Filter (CIC5), and a RAM Coefficient
FIR Filter (RCF). Multiple modes are supported for clocking
data into and out of the chip, and for providing flexibility for interfacing to a wide variety of digitizers. Programming and control is
accomplished via serial and/or microprocessor interfaces.
The data coming out of the RCF can be sent to output ports or
to an interleaver. This section can interleave data from more
than one channel. One carrier can be processed using more than
one channel and the interleaver will interleave the data back into
the output section. This way, processing power from more than
one channel can be used for one carrier.
Frequency translation is accomplished with a 32-bit complex
Numerically Controlled Oscillator (NCO). Real data entering
this stage is separated into inphase (I) and quadrature (Q) components by multiplying with the complex NCO word. This stage
translates the input signal from a digital intermediate frequency
(IF) to digital baseband. Phase and amplitude dither may be
enabled on-chip to improve spurious performance of the NCO.
A phase-offset word is available to create a known phase relationship between multiple AD6635s or between channels.
The interleaved data is sent into a fixed coefficient half-band
interpolation filter where data is interpolated by a factor of two.
Digital AGC following the half-band filter has a gain range of
96.3 dB. This AGC section is completely programmable in
terms of its response. Four each of half-band filters and AGCs
are present in the AD6635, as shown in the Functional Block
Diagram. These half-band filters and AGC sections can be
bypassed independent of each other.
Following frequency translation is a fixed coefficient, high speed,
second-order, Resampling Cascade Integrator Comb (rCIC2) filter
that reduces the sample rate based on the ratio between the decimation and interpolation registers.
The overall filter response for the AD6635 is the composite of
all decimating and interpolating stages. Each successive filter
stage is capable of narrower transition bandwidths, but requires
a greater number of CLK cycles to calculate the output. More
decimation in the first filter stage will minimize overall power
consumption. Each independent filter stage can be bypassed in
a unique way. Data from the chip is interfaced to the DSP via
either a high speed parallel port or a TigerSHARC compatible
link port. Each output can be independently configured to use
either the parallel port or the link port.
The next stage is a fifth-order Cascaded Integrator Comb (CIC5)
filter whose response is defined by the decimation rate. The purpose of these filters is to reduce the data rate to the final filter stage
(RCF), so that it can calculate more taps for the same RCF bandwidth. The CIC5 filter has better antialiasing (filtering) compared
to rCIC2. In light of this, the user is advised to use this filter only if
resampling is required or if the required decimation cannot be
handled by CIC5 alone.
REV. 0
Figure 1 illustrates the tuning function of the AD6635 NCOs to
select and filter a single channel from a wide input spectrum.
The frequency translator “tunes” the desired carrier to baseband. Figure 2 shows the combined filter response of the rCIC2,
CIC5, and RCF filters for a sample filter configuration.
–5–
AD6635
WIDEBAND INPUT SPECTRUM
(fSAMPLE/2 TO fSAMPLE/2)
SIGNAL OF INTEREST “IMAGE”
–fS/2
–3fS/8
–5fS/16
–fS/4
–3fS/16
SIGNAL OF INTEREST
–fS/8
–fS/16
dc
fS/16
fS/8
3fS/16
fS/4
5fS/16
3fS/8
fS/2
3fS/8
fS/2
WIDEBAND INPUT SPECTRUM (e.g., 30MHz FROM HIGH SPEED ADC)
AFTER FREQUENCY TRANSLATION
–3fS/8
–5fS/16
–fS/4
–3fS/16
–fS/8
–fS/16
dc
fS/16
fS/8
3fS/16
fS/4
5fS/16
FREQUENCY TRANSLATION (e.g., SINGLE 1MHz CHANNEL TUNED TO BASEBAND)
Figure 1. AD6635 Frequency Translation of Wideband Input Spectrum
20
0
CIC RESPONSE
–20
COMPOSITE
RESPONSE
–40
DESIRED
RESPONSE
dBc
–fS/2
NCO “TUNES” SIGNAL TO BASEBAND
–60
–80
–100
–120
–1.5 104
–1.0 104
–5000
0
5000
1.0 104
1.5 104
kHz
Figure 2. Composite Filter Response of rCIC2, CIC5, and RCF for a Sample Filter Configuration
–6–
REV. 0
AD6635
SPECIFICATIONS
RECOMMENDED OPERATING CONDITIONS
Parameter
Temp
VDD
VDDIO
TAMBIENT
Test
Level
Min
AD6635BB
Typ
Max
IV
IV
IV
2.25
3.0
–40
2.5
3.3
+25
Min
AD6635BB
Typ
Unit
2.75
3.6
+85
V
V
∞C
ELECTRICAL CHARACTERISTICS
Parameter (Conditions)
Temp
Test
Level
LOGIC INPUTS (5 V TOLERANT)
Logic Compatibility
Logic 1 Voltage
Logic 0 Voltage
Logic 1 Current
Logic 0 Current
Logic 1 Current (inputs with pull-down)
Logic 0 Current (inputs with pull-up)
Input Capacitance
Full
Full
Full
Full
Full
Full
Full
25∞C
IV
IV
IV
IV
IV
IV
IV
V
LOGIC OUTPUTS
Logic Compatibility
Logic 1 Voltage (IOH = 0.25 mA)
Logic 0 Voltage (IOL = 0.25 mA)
Full
Full
Full
IV
IV
IV
Full
IV
IDD SUPPLY CURRENT
CLK = 80 MHz, (VDD = 2.75 V, VDDIO = 3.6 V)
IVDD
IVDDIO
CLK = GSM Example (65 MSPS, VDD = 2.5 V,
VDDIO = 3.3 V, 4 Channels)
IVDD
IVDDIO
CLK = WCDMA Example (76.8 MSPS,
VDD = 2.5V, VDDIO = 3.3 V, 2 Channels)
IVDD
IVDDIO
POWER DISSIPATION
CLK = 80 MHz
CLK = 65 MHz GSM/EDGE Example
CLK = 76.8 MHz WCDMA Example
CLK = 78.64 MHz cdma2000 Example
All Channels in Sleep Mode
25∞C
Unit
5.0
+0.8
10
10
V
V
␮A
␮A
3.3 V CMOS
2.0
–0.3
1
1
4
2.4
VDD – 0.2
0.2
pF
0.4
V
V
880
150
mA
mA
V
25∞C
485
60
mA
mA
830
120
mA
mA
V
Full
IV
V
V
V
IV
Full
Specifications subject to change without notice.
REV. 0
Max
–7–
2.8
1.4
2.5
2.3
570
W
mW
W
W
␮W
AD6635
SPECIFICATIONS (continued)
GENERAL TIMING CHARACTERISTICS1, 2
Parameter (Conditions)
Temp
Test
Level
Min
AD6635BB
Typ
Max
Unit
CLKn TIMING REQUIREMENTS
tCLK
CLKn Period
Full
I
12.5
tCLKL
CLKn Width Low
Full
IV
5.6
0.5 ⫻ tCLK
ns
tCLKH
CLKn Width High
Full
IV
5.6
0.5 ⫻ tCLK
ns
Full
I
30.0
ns
ns
RESET TIMING REQUIREMENTS
tRESL
RESET Width Low
INPUT WIDEBAND DATA TIMING REQUIREMENTS
tSI
Input to ≠CLKn Setup Time
Full
IV
2.0
ns
tHI
Input to ≠CLKn Hold Time
Full
IV
1.0
ns
Full
IV
3.3
LEVEL INDICATOR OUTPUT SWITCHING CHARACTERISTICS
tDLI
≠CLKn to LIx-y Output Delay Time
10.0
ns
SYNC TIMING REQUIREMENTS
tSS
SYNC(A, B, C, D) to ≠CLKn Setup Time
Full
IV
2.0
ns
tHS
SYNC(A, B, C, D) to ≠CLKn Hold Time
Full
IV
1.0
ns
SERIAL PORT CONTROL TIMING REQUIREMENTS
SWITCHING CHARACTERISTICS2
tSCLK
SCLKn (n = 0, 4) Period
Full
IV
16
ns
tSCLKL
SCLKn Low Time
Full
IV
3.0
ns
tSCLKH
SCLKn High Time
Full
IV
3.0
ns
INPUT CHARACTERISTICS
tSSI
SDIn to ØSCLKn Setup Time
Full
IV
1.0
ns
tHSI
SDIn to ØSCLKn Hold Time
Full
IV
1.0
ns
PARALLEL PORT TIMING REQUIREMENTS
(MASTER MODE) SWITCHING CHARACTERISTICS3
tDPOCLKL
ØCLKn to ≠PCLKn Delay (Divide by 1)
Full
IV
6.5
tDPOCLKLL
ØCLKn to ≠PCLKn Delay (Divide by 2, 4, or 8) Full
IV
8.3
14.6
ns
tDPREQ
≠CLKn to ≠PxREQ Delay
1.0
ns
tDPP
≠CLKn to Px[15:0] Delay
0.0
ns
10.5
ns
INPUT CHARACTERISTICS
tSPA
PxACK to ØPCLKn Setup Time
7.0
ns
tHPA
PxACK to ØPCLKn Hold Time
–3.0
ns
ns
PARALLEL PORT TIMING REQUIREMENTS
(SLAVE MODE) SWITCHING CHARACTERISTICS3
tPOCLK
PCLKn Period
Full
I
12.5
tPOCLKL
PCLKn Low Period (when PCLK Divisor = 1)
Full
IV
2.0
0.5 ⫻ tPOCLK
ns
tPOCLKH
PCLKn High Period (when PCLK Divisor = 1)
Full
IV
2.0
0.5 ⫻ tPOCLK
ns
tDPREQ
≠CLKn to ≠PxREQ Delay
10.0
ns
tDPP
≠CLKn to Px[15:0] Delay
11.0
ns
–8–
REV. 0
AD6635
GENERAL TIMING CHARACTERISTICS1, 2
Parameter (Conditions)
Temp
Test
Level
Min
AD6635BB
Typ
Max
Unit
INPUT CHARACTERISTICS
tSPA
PxACK to ØPCLKn Setup Time
1.0
ns
tHPA
PxACK to ØPCLKn Hold Time
1.0
ns
LINK PORT TIMING REQUIREMENTS
SWITCHING CHARACTERISTICS3
tRDLCLK
≠PCLKn to ≠LxCLKOUT Delay
Full
IV
2.5
ns
tFDLCLK
ØPCLKn to ØLxCLKOUT Delay
Full
IV
0
ns
tRLCLKDAT
≠LxCLKOUT to Lx[7:0] Delay
Full
IV
0
2.9
ns
tFLCLKDAT
ØLxCLKOUT to Lx[7:0] Delay
Full
IV
0
2.2
ns
NOTES
1
All Timing Specifications valid over VDD range of 2.25 V to 2.75 V, and VDDIO range of 3.0 V to 3.6 V.
2
CLOAD = 40 pF on all outputs unless otherwise specified.
3
The timing parameters for Px[15:0], PxREQ, PxACK, LxCLKOUT, and Lx[7:0] apply for output ports A, B, C, and D. (x stands for A, B, C, or D.)
Specifications subject to change without notice.
REV. 0
–9–
AD6635
MICROPROCESSOR PORT TIMING CHARACTERISTICS1, 2
Parameter (Conditions)
Temp
Test
Level
Min
Full
IV
2.0
AD6635BB
Typ
Max
Unit
MICROPROCESSOR PORT, MODE MNM (MODE = 0)
MODE INM WRITE TIMING
tSC
Control3 to ≠CLKn Setup Time
tHC
Control to ≠CLKn Hold Time
Full
IV
2.5
ns
tHWR
WR(RW) to RDY(DTACK) Hold Time
Full
IV
7.0
ns
tSAM
Address/Data to WR(RW) Setup Time
Full
IV
3.0
ns
tHAM
Address/Data to RDY(DTACK) Hold Time
Full
IV
5.0
ns
tDRDY
WR(RW) to RDY(DTACK) Delay
Full
IV
8.0
ns
tACC
WR(RW) to RDY(DTACK) High Delay
Full
IV
4 ⫻ tCLK
3
ns
5 ⫻ tCLK
9 ⫻ tCLK
ns
MODE INM READ TIMING
tSC
Control3 to ≠CLKn Setup Time
Full
IV
5.0
ns
tHC
Control to ≠CLKn Hold Time
Full
IV
2.0
ns
3
tSAM
Address to RD(DS) Setup Time
Full
IV
0.0
ns
tHAM
Address to Data Hold Time
Full
IV
5.0
ns
tDRDY
RD(DS) to RDY(DTACK) Delay
Full
IV
8.0
ns
tACC
RD(DS) to RDY(DTACK) High Delay
Full
IV
8 ⫻ tCLK
10 ⫻ tCLK 13 ⫻ tCLK
ns
MICROPROCESSOR PORT, MODE MNM (MODE = 1)
MODE MNM WRITE TIMING
tSC
Control3 to ≠CLKn Setup Time
Full
IV
2.0
ns
tHC
Control to ≠CLKn Hold Time
Full
IV
2.5
ns
tHDS
DS(RD) to DTACK(RDY) Hold Time
Full
IV
8.0
ns
tHRW
RW(WR) to DTACK(RDY) Hold Time
Full
IV
7.0
ns
tSAM
Address/Data to RW(WR) Setup Time
Full
IV
3.0
ns
tHAM
Address/Data to RW(WR) Hold Time
Full
IV
5.0
ns
Full
IV
8.0
ns
Full
IV
4 ⫻ tCLK
3
tDDTACK DS(RD) to DTACK(RDY) Delay
tACC
RW(WR) to DTACK(RDY) Low Delay
5 ⫻ tCLK
9 ⫻ tCLK
ns
MODE MNM READ TIMING
tSC
Control3 to ≠CLKn Setup Time
Full
IV
5.0
ns
tHC
Control to ≠CLKn Hold Time
Full
IV
2.0
ns
3
tHDS
DS(RD) to DTACK(RDY) Hold Time
Full
IV
8.0
ns
tSAM
Address to DS(RD) Setup Time
Full
IV
0.0
ns
tHAM
Address to Data Hold Time
Full
IV
5.0
ns
tDDTACK DS(RD) to DTACK(RDY) Delay
tACC
DS(RD) to DTACK(RDY) Low Delay
Full
IV
8.0
Full
IV
8 ⫻ tCLK
ns
10 ⫻ tCLK 13 ⫻ tCLK
ns
NOTES
1
All Timing Specifications valid over VDD range of 2.25 V to 2.75 V, and VDDIO range of 3.0 V to 3.6 V.
2
CLOAD = 40 pF on all outputs unless otherwise specified.
3
Specification pertains to control signals: R/W, (WR), DS, (RD), CS0, CS1.
Specifications subject to change without notice.
–10–
REV. 0
AD6635
ABSOLUTE MAXIMUM RATINGS*
Thermal Characteristics
Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 V
Input Voltage . . . . . . . . . . . . . –0.3 V to +5.3 V (5 V Tolerant)
Output Voltage Swing . . . . . . . . . . . –0.3 V to VDDIO + 0.3 V
Load Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 pF
Junction Temperature Under Bias . . . . . . . . . . . . . . . . . 150∞C
Storage Temperature Range . . . . . . . . . . . . . –65∞C to +150∞C
Lead Temperature (5 sec) . . . . . . . . . . . . . . . . . . . . . . . 280∞C
324-Lead BGA:
*Stresses greater than those listed above may cause permanent damage to the device
These are stress ratings only; functional operation of the devices at these or any
other conditions greater than those indicated in the operational sections of this
specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.
␪JA = 16.87∞C/W, no airflow.
Thermal measurements made in the horizontal position on a
4-layer board.
EXPLANATION OF TEST LEVELS
I
100% Production Tested.
II
100% Production Tested at 25∞C, and Sample Tested at
Specified Temperatures.
III
Sample Tested Only.
IV
Parameter Guaranteed by Design and Analysis.
V
Parameter is Typical Value Only.
VI
100% Production Tested at 25∞C, and Sample Tested at
Temperature Extremes.
ORDERING GUIDE
Model
Temperature Range
Package Descriptions
Package Option
AD6635BB
AD6635BB/PCB
–40ºC to +85ºC
324-Lead PBGA (Ball Grid Array)
Evaluation Board with AD6635 and Software
B-324
CAUTION
ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000 V readily
accumulate on the human body and test equipment and can discharge without detection. Although the
AD6635 features proprietary ESD protection circuitry, permanent damage may occur on devices
subjected to high energy electrostatic discharges. Therefore, proper ESD precautions are recommended
to avoid performance degradation or loss of functionality.
REV. 0
–11–
AD6635
PIN CONFIGURATION
19mm 19mm – 182 BALL ZAPHOD PACKAGE
1.00
BSC
A1 BALL
CORNER
18 17 16 15 14 13 12 11 10 9 8
7
6
5
4
3
2
1
A
B
C
D
E
F
G
H
J
K
L
M
N
P
R
T
U
V
1.00
BSC
BOTTOM VIEW
–12–
REV. 0
AD6635
PIN CONFIGURATION (PIN OUT)
1
A
2
3
IENC
INC0
4
5
INC7
INC12
6
IND2
7
IND3
8
IND7
9
IND8
10
11
12
13
IND11
EXPD1
PDREQ
PD14
14
15
16
17
PD10
PD8
PD5_LD5
PDCH1_
LDCLK
IN
18
A
CLK0
VDDIO
(Reserved)
INC1
INC8
INC11
IND1
IND4
IND6
IND9
IND12
EXPD2
PDACK
PD12
PD11
PD4_LD4
PD3_LD3
PD7_LD7
PDCH0_
LDCLK
OUT
C
CLK1
VDDIO
(Reserved)
PAREQ
INC2
INC9
LID-B
IND0
IND5
IND10
IND13
EXPD0
PD15
PD9
PD1_LD1
PD2_LD2
PD0_LD0
SDI4
PDIQ
C
D
PAACK
CHIP0_ID0
LID-A
INC3
INC10
INC13
IEND
EXPC0
VDD
VDD
VDD
PD13
PCACK
CHIP1_ID1
PCIQ
PD6_LD6
PCLK1
D
VDDIO
(Reserved)
DNC
SCLK4
E
B
E CHIP0_ID1 CHIP0_ID2
CHIP1_ID0 CHIP1_ID2
B
INC4
INC5
INC6
EXPC2
EXPC1
VDD
VDD
VDD
VDD
VDD
VDD
VDDIO
VDDIO
VDDIO
GND
GND
GND
VDDIO
VDDIO
VDDIO
PCREQ
PC14
PC15
F
SCLK0
PAIQ
PCLK0
SDI0
PB6_LB6
VDD
VDD
VDD
VDDIO
VDDIO
VDDIO
GND
GND
GND
VDDIO
VDDIO
VDDIO
PC11
PC13
PC12
G
PBIQ
PB7_LB7
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
PC10
PC9
DNC
H
PB0_LB0
PB3_LB3
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
PC8
PC0_LC0
K PB2_LB2 PB4_LB4 PB5_LB5
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
PC1_LC1
PC3_LC3
PC2_LC2
K
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
A1
PC5_LC5
PC4_LC4
L
PC6_LC6
PC7_L
C7
PCCH1_
LCCLK
IN
M
A2
PCCH0_
LCCLK
OUT
N
D1
DS
F
G
H
J
L
M
PBCH0_
LBCLK
OUT
PBCH1_
LBCLK
IN
PB11
PB13
PB1_LB1
PB8
VDD
PB9
PB10
VDDIO
VDDIO
VDDIO
VDD
VDD
PA15
PA14
PA13
PA10
PA12
N
PB12
PB14
VDDIO
(Reserved)
P
PBREQ
PB15
PBACK
VDDIO
VDDIO
VDDIO
VDD
VDD
VDDIO
VDD
VDDIO
PA11
PA3_LA3
VDDIO
VDDIO
VDD
VDD
VDDIO
VDDIO
VDD
VDD
LIC-A
DNC
DNC
DNC
VDD
VDD
A0
D7
D0
GND
(Reserved) J
P
VDDIO
R
(Reserved)
R
EXPB0
INB10
INB11
INB12
INB13
EXPA0
EXPA2
PA9
PA8
LIC-B
PA5_LA5
CS0
DNC
D4
D3
CS1
R/W
T
EXPB1
INB9
INB4
INB3
INB0
EXPA1
INA9
INA8
PA0_LA0
PA2_LA2
PA1_LA1
SYNCD
DTACK
RESET
PA7_LA7
DNC
D5
D2
T
U
EXPB2
INB8
INB5
INB2
LIB-B
INA13
INA10
INA7
INA5
INA3
INA1
LIA-A
SYNCA
SYNCC
PA6_LA6
PA4_LA4
MODE
D6
U
PACH1_
LACLK
IN
17
V
1
REV. 0
INB7
INB6
INB1
IENB
INA12
INA11
INA6
INA4
INA2
INA0
IENA
LIB-A
LIA-B
SYNCB
PACH0_
LACLK
OUT
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
–13–
V
18
AD6635
PIN FUNCTION DESCRIPTION
Name
Type
Function
POWER SUPPLY
VDD
VDDIO
GND
P
P
G
2.5 V Core Supply (also called DVCORE)
3.3 V IO Supply (also called DVRING)
Ground
I
A Input Data (Mantissa)
I
A Input Data (Exponent)
I
Input Enable—Input A
I
B Input Data (Mantissa)
I
B Input Data (Exponent)
I
Input Enable—Input B
INC[13:0]
I
C Input Data (Mantissa)
EXPC[2:0]1
I
C Input Data (Exponent)
2
I
Input Enable—Input C
I
D Input Data (Mantissa)
INPUTS
INA[13:0]1
1
EXPA[2:0]
IENA
2
INB[13:0]1
1
EXPB[2:0]
IENB
2
1
IENC
1
IND[13:0]
1
EXPD[2:0]
I
D Input Data (Exponent)
IEND2
I
Input Enable—Input D
RESET
I
Active Low Reset Pin
CLK0
I
Input Clock 0 (Master Clock for Channels 0–3 and Ports A, B)
CLK1
I
Input Clock 1 (Master Clock for Channels 4–7 and Ports C, D)
PCLK0
I/O
Link/Parallel Port Clock for Output Ports A and B
PCLK1
I/O
Link/Parallel Port Clock for Output Ports C and D
LACLKIN
I
Link Port A Data Ready
LBCLKIN
I
Link Port B Data Ready
LCCLKIN
I
Link Port C Data Ready
LDCLKIN
I
Link Port D Data Ready
1
I
All Sync Pins Go to All Eight Channels
1
SYNCB
I
All Sync Pins Go to All Eight Channels
SYNCC1
I
All Sync Pins Go to All Eight Channels
SYNCA
SYNCD
1
I
All Sync Pins Go to All Eight Channels
1
I
Chip ID Selector for Channels 0–3 and Ports A, B
1
I
Chip ID Selector for Channels 4–7 and Ports C, D
PAACK
I
Parallel Port A Acknowledge
PAREQ
O
Parallel Port A Request
CHIP0_ID[2:0]
CHIP1_ID[2:0]
CONTROL
PBACK
I
Parallel Port B Acknowledge
PBREQ
O
Parallel Port B Request
PCACK
I
Parallel Port C Acknowledge
PCREQ
O
Parallel Port C Request
PDACK
I
Parallel Port D Acknowledge
PDREQ
O
Parallel Port D Request
–14–
REV. 0
AD6635
PIN FUNCTION DESCRIPTION (continued)
Name
MICROPORT CONTROL
D[7:0]
Type
Function
I/O/T
Bidirectional Microport Data
A[2:0]
I
Microport Address Bus
DS (RD)
I
Active Low Data Strobe (Active Low Read)
DTACK (RDY)2
O/T
Active Low Data Acknowledge (Microport Status Bit)
R/W (WR)
I
Read Write (Active Low Write)
MODE
I
Intel or Motorola Mode Select
CS01
I
Chip Select for Channels 0–3 and Ports A, B
CS1
I
Chip Select for Channels 4–7 and Ports C, D
I
Serial Port Control Data Input for Channels 0–3 and Ports A, B
I
Serial Port Control Clock for Channels 0–3 and Ports A, B
1
SERIAL PORT CONTROL
SDI01
SCLK0
SDI4
1
1
I
Serial Port Control Data Input for Channels 4–7 and Ports C, D
SCLK41
I
Serial Port Control Clock for Channels 4–7 and Ports C, D
OUTPUTS
LIA-A
O
Level Indicator—Input A, Interleaved-Data A
LIA-B
O
Level Indicator—Input A, Interleaved-Data B
LIB-A
O
Level Indicator—Input B, Interleaved-Data A
LIB-B
O
Level Indicator—Input B, Interleaved-Data B
LIC-A
O
Level Indicator—Input C, Interleaved-Data A
LIC-B
O
Level Indicator—Input C, Interleaved-Data B
LID-A
O
Level Indicator—Input D, Interleaved-Data A
LID-B
O
Level Indicator—Input D, Interleaved-Data B
LACLKOUT
O
Link Port A Clock Output
LBCLKOUT
O
Link Port B Clock Output
LCCLKOUT
O
Link Port C Clock Output
LDCLKOUT
O
Link Port D Clock Output
LA[7:0]
O
Link Port A Output Data
LB[7:0]
O
Link Port B Output Data
LC[7:0]
O
Link Port C Output Data
LD[7:0]
O
Link Port D Output Data
PA[15:0]
O
Parallel Output Data Port A
PB[15:0]
O
Parallel Output Data Port B
PC[15:0]
O
Parallel Output Data Port C
PD[15:0]
O
Parallel Output Data Port D
PACH[1:0]
O
Parallel Output Port A Channel Indicator
PBCH[1:0]
O
Parallel Output Port B Channel Indicator
PCCH[1:0]
O
Parallel Output Port C Channel Indicator
PDCH[1:0]
O
Parallel Output Port D Channel Indicator
PAIQ
O
Parallel Port A I/Q Data Indicator
PBIQ
O
Parallel Port B I/Q Data Indicator
PCIQ
O
Parallel Port C I/Q Data Indicator
PDIQ
O
Parallel Port D I/Q Data Indicator
NOTES
1
Pins with a pull-down resistor of nominal 70 kW.
2
Pins with a pull-up resistor of nominal 70 kW.
REV. 0
–15–
AD6635
TIMING DIAGRAMS
tCLK
tCLKL
CLKn
tCLKH
tDLI
LIx–y
Figure 3. Level Indicator Output Switching Characteristics (x = A, B, C, D; and y = A, B)
(For x = A and B, n = 0; and for x = C or D, n = 1)
RESET
tRESL
Figure 4. Reset Timing Requirements
tSCLKH
SCLKn
tSCLKL
Figure 5. SCLK Switching Characteristics (n = 0, 4)
SCLKn
tSSI
SDIn
tHSI
DATA
Figure 6. Serial Port Input Timing Characteristics (n = 0, 4)
–16–
REV. 0
AD6635
CLKn
tSI
tHI
INx[13:0]
EXPx[2:0]
IENx
Figure 7. Input Timing for A and B Channels
CLKn
tSS
tHS
SYNCA
SYNCB
SYNCC
SYNCD
Figure 8. SYNC Timing Inputs
CLKn
tDPOCLKL
PCLKn
Figure 9. PCLKn to CLKn Switching Characteristics Divide by 1
CLKn
tDPOCLKLL
PCLKn
tPOCLKLH
tPOCLKL
Figure 10. PCLKn to CLKn Switching Characteristics Divide by 2, 4, or 8
REV. 0
–17–
AD6635
PCLKn
tHPA
tSPA
PxACK
Figure 11. Master Mode PxACK to PCLKn Setup and Hold Characteristics
(n = 0 and x = A, B; or n = 1 and x = C, D)
PCLKn
PxREQ
tSPA
tSPA
PxACK
tDPP
Px[15:0]
DATA 1
tDPP
DATA 2
DATA N–1
DATA N
Figure 12. Master Mode PxACK to PCLKn Switching Characteristics
(n = 0 and x = A, B; or n = 1 and x = C, D)
PCLKn
PxACK
tDPREQ
PxREQ
tDPP
Px[15:0]
DATA 1
tDPP
DATA N
Figure 13. Master Mode PxREQ to PCLKn Switching Characteristics
(n = 0 and x = A, B; or n = 1 and x = C, D)
–18–
REV. 0
AD6635
tPOCLKL
PCLKn
tPOCLKH
tSPA
tHPA
PxACK
Figure 14. Slave Mode PxACK to PCLKn Setup and Hold Characteristics
(n = 0 and x = A, B; or n = 1 and x = C, D)
PCLKn
PxREQ
tSPA
tSPA
PxACK
tDPP
Px[15:0]
DATA 1
tDPP
DATA 2
DATA N–1
DATA N
Figure 15. Slave Mode PxACK to PCLKn Switching Characteristics
(n = 0 and x = A, B; or n = 1 x = C, D)
PCLKn
PxACK
tDPREQ
PxREQ
tDPP
Px[15:0]
DATA 1
Figure 16. Slave Mode PxREQ to PCLKn Switching Characteristics
(n = 0 and x = A, B; or n = 1 and x = C, D)
REV. 0
–19–
tDPP
DATA N
AD6635
PCLKn
LxCLKOUT
tRDLCLK
tFDLCLK
Figure 17. LxCLKOUT to PCLKn (n = 0 and x = A, B; or n = 1 and x = C, D) Switching Characteristics
LxCLKOUT
WAIT > 6 CYCLES
ONE TIME CONNECTIVITY CHECK
NEXT TRANSFER
ACKNOWLEDGE
8 LxCLKOUT CYCLES
LxCLKIN
NEXT TRANSFER
BEGINS
Lx[7:0]
D0
D1
D2
D3
D4
D15
D0
D1
D2
D3
Figure 18. LxCLKIN to LxCLKOUT Data Switching Characteristics
LxCLKOUT
Lx[7:0]
tFDLCLKDAT
tRDLCLKDAT
Figure 19. LxCLKOUT to Lx[7:0] Data Switching Characteristics
–20–
REV. 0
AD6635
TIMING DIAGRAMS – INM Microport Mode (MODE = 0)
CLK0
CLK1
RD (DS)
tHC
tHWR
tSC
WR (RW)
CS0
CS1
tHAM
tSAM
A[2:0]
VALID ADDRESS
tHAM
tSAM
VALID DATA
D[7:0]
tDRDY
RDY
(DTACK)
tACC
NOTES
1. tACC ACCESS TIME DEPENDS ON THE ADDRESS ACCESSED. ACCESS TIME IS MEASURED
FROM FE OF WR TO RE OF RDY.
2. tACC REQUIRES A MAXIMUM OF 9 CLK PERIODS.
Figure 20. INM Microport Write Timing Requirements. CLK0 corresponds to CS0, and CLK1 to CS1.
CS0 and CS1 both active (low) at the same time will cause errors in writing.
CLK0
CLK1
tSC
tHC
RD (DS)
WR (RW)
CS0
CS1
tSAM
VALID ADDRESS
A[2:0]
tHAM
D[7:0]
VALID DATA
tDRDY
RDY
(DTACK)
tACC
NOTES
1. tACC ACCESS TIME DEPENDS ON THE ADDRESS ACCESSED. ACCESS TIME IS MEASURED
FROM FE OF WR TO RE OF RDY.
2. tACC REQUIRES A MAXIMUM OF 13 CLK PERIODS AND APPLIES TO A[2:0] = 7, 6, 5, 3, 2, 1.
Figure 21. INM Microport Read Timing Requirements. CLK0 corresponds to CS0, and CLK1 to CS1.
CS0 and CS1 both active (low) at the same time will cause contention on data bus.
REV. 0
–21–
AD6635
TIMING DIAGRAMS – MNM Microport Mode (MODE = 1)
CLK0
CLK1
tHC
tSC
tHDS
DS (RD)
tHRW
RW (WR)
CS0
CS1
tSAM
tHAM
VALID ADDRESS
A[2:0]
tSAM
D[7:0]
tHAM
VALID DATA
tDDTACK
DTACK
(RDY)
tACC
NOTES
1. tACC ACCESS TIME DEPENDS ON THE ADDRESS ACCESSED. ACCESS TIME IS MEASURED
FROM FE OF DS TO THE FE OF DTACK.
2. tACC REQUIRES A MAXIMUM OF 9 CLK PERIODS.
Figure 22. MNM Microport Write Timing Requirements. CLK0 corresponds to CS0, and CLK1 to CS1.
CS0 and CS1 both active (low) at the same time will cause errors in writing.
CLK0
CLK1
tHC
tSC
tHDS
DS (RD)
RW (WR)
CS0
CS1
tSAM
A[2:0]
VALID ADDRESS
tHAM
D[7:0]
VALID DATA
tDDTACK
DTACK
(RDY)
tACC
NOTES
1. tACC ACCESS TIME DEPENDS ON THE ADDRESS ACCESSED. ACCESS TIME IS MEASURED
FROM THE FE OF DS TO THE FE OF DTACK.
2. tACC REQUIRES A MAXIMUM OF 13 CLK PERIODS.
Figure 23. MNM Microport Read Timing Requirements. CLK0 corresponds to CS0, and CLK1 to CS1.
CS0 and CS1 both active (low) at the same time will cause contention on data bus.
–22–
REV. 0
AD6635
INPUT DATA PORTS
tCLK
The AD6635 features four high speed ADC Input Ports, A, B,
C, and D. The input ports allow for the most flexibility with a
single tuner chip. These can be diversity inputs or truly independent inputs such as separate antenna segments. Channels 0
through 3 can take data from either of the input ports A or B
independently. Similarly, Channels 4 through 7 can take data
from either of the Input Ports C or D independently. For added
flexibility, each input port can be used to support multiplexed
inputs, such as found on the AD6600 or other ADCs with multiplexed outputs. This added flexibility allows up to eight different
analog sources to be processed simultaneously by the eight
internal AD6635 channels.
In addition, the front end of the AD6635 contains circuitry that
enables high speed signal level detection and control. This is
accomplished with a unique high speed level detection circuit
that offers minimal latency and maximum flexibility to control
up to four analog signal paths. The overall signal path latency
from input to output on the AD6635 can be expressed in high
speed clock cycles. The equation below can be used to calculate
the latency.
TLATENCY = MrCIC 2 ( MCIC 5 + 7) + NTAPS + 26
MrCIC2 and MCIC5 are decimation values for the rCIC2 and CIC5
filters, respectively. NTAPS is the number of RCF taps chosen.
Input Data Format
Each input port consists of a 14-bit mantissa and 3-bit exponent. If
interfacing to a standard ADC, the exponent bits can be grounded.
If connected to a floating point ADC, such as the AD6600, the
exponent bits from that ADC product can be connected to the
input exponent bits of the AD6635. The mantissa data format is
twos complement, and the exponent is unsigned binary.
Input Timing
The data from each high speed input port is latched on the
rising edge of CLK. This clock signal is used to sample the
input port and clock the synchronous signal processing stages
that follow in the selected channels.
CLK
tHI
tSI
IN[13:0]
EXP[2:0]
DATA
Figure 24. Input Data Timing Requirements
The clock signals can operate up to 80 MHz and have a 50%
duty cycle. In applications using high speed ADCs, the ADC
sample clock or data valid strobe is typically used to clock the
AD6635.
tCLKH
CLKn
tCLKL
Figure 25. CLKn Timing Requirements (n = 0, 1)
Input Enable Control
There are four Input Enable pins IENx (x = A, B, C, or D)
corresponding to individual Input Ports A through D. There are
four modes of operation possible while using each IEN pin.
Using these modes, it is possible to emulate operation of the
other RSPs such as the AD6620, which offer dual channel
modes normally associated with diversity operations. These
modes are IEN transition to Low, IEN transition to High, IEN
High, and Blank on IEN Low.
In the IEN High mode, the inputs and normal operations occur
when the Input Enable is High. In the IEN transition to Low
mode, normal operations occur on the first rising edge of the
clock after the IEN transitions to Low. Likewise in the IEN
transition to High mode, operations occur on the rising edge of
the clock after the IEN transitions to High. See the numerically
Controlled Oscillator section for more details on configuring the
Input Enable Modes. In Blank on IEN Low mode, the input
data is interpreted as zero when IEN is low.
A typical application for input modes would be to take the data
from an AD6600 Diversity ADC to one of the inputs of the
AD6635. The A/B_OUT from that chip would be tied to the
IEN of the corresponding input port. Then one channel within
the AD6635 would be set so that IEN transition to Low is
enabled. Another channel would be configured so that IEN
transition to High is enabled. This would allow two of the
AD6635 channels to be configured to emulate that AD6620 in
diversity mode and receive interleaved input data. Though the
NCO frequencies and other channel characteristics would need
to be set similarly, this feature allows the AD6635 to handle
interleaved data streams such as found on the AD6600.
The difference between the IEN transition to High and the
IEN High is found when a system clock is provided that is
higher than the data rate of the converter. It is often advantageous to supply a clock that runs faster than the data rate so
that additional filter taps can be computed. This indeed leads
to better filtering. To ensure that other parts of the circuit
properly recognize the faster clock in the simplest manner,
the IEN transition to Low or High should be used. In this
mode, only the first clock edge that meets the setup and hold
times will be used to latch and process the input data. All other
clocks pulses are ignored by front end processing. However,
each clock cycle will still produce a new filter computation pair.
Gain Switching
The AD6635 includes circuitry that is useful in applications where
either large dynamic ranges exist, or where gain ranging converters
are employed. This circuitry allows digital thresholds to be set such
that an upper and a lower threshold can be programmed.
One such use of this may be to detect when an ADC is about to
reach full scale with a particular input condition. The results
REV. 0
–23–
AD6635
would be to provide a flag that could be used to quickly insert
an attenuator that would prevent ADC overdrive. If 18 dB (or
any other arbitrary value) of attenuation is switched in, then the
signal dynamic range of the system will have been increased by
18 dB. The process begins when the input signal reaches the
upper programmed threshold. In a typical application, this may
be set 1 dB (user definable) below full scale. When this input
condition is met, the appropriate LI signal (LIA-A, LIB-A, LIC-A,
or LID-A) associated with its corresponding input port (A through
D) is made active. This can be used to switch the gain or attenuation of the external circuit. The LI line stays active until the input
condition falls below the lower programmed threshold. To provide
hysteresis, a dwell time register (see Memory Map for Input Control Registers) is available to hold off switching of the control line
for a predetermined number of clocks. Once the input condition is
below the lower threshold, the programmable counter begins
counting high speed clocks. As long as the input signal stays
below the lower threshold for the number of high speed clock
cycles programmed, the attenuator will be removed on the
terminal count. However, if the input condition goes above
the lower threshold with the counter running, the counter is
reset and input must fall below the lower threshold again to
initiate the process. This will prevent unnecessary switching
between states.
This is illustrated in Figure 26. When the input signal goes
above the upper threshold, the appropriate LI signal becomes
active. Once the signal falls below the lower threshold, the
counter begins counting. If the input condition goes above the
lower threshold, the counter is reset and starts again as shown.
Once the counter has terminated to 0, the LI line goes inactive.
COUNTER
RESTARTS
MANTISSA
“HIGH”
The AD6635 has a total of eight gain control circuits to support
all channels, and hence can be used even when all input ports
have interleaved data. When data is interleaved on a certain
input port, the appropriate bit should be set in the Gain Range
Control Register. This way both interleaved channel data can be
monitored, and LIA-B, LIB-B, LIC-B, or LID-B pins associated with their corresponding Input Ports A through D act as
output indicators for the interleaved channel. LIx-A pins act as
indicators for input data corresponding to IENx Low, and LIx-B
act as indicators for input data corresponding to IENx High in
this mode. When interleaved channels are not used, LIx-B pins
are complimentary to LIx-A pins acting as indicators with opposite polarity. It should be noted that the gain control circuits are
wideband and are implemented prior to any filtering elements to
minimize loop delay.
The chip also provides appropriate scaling of the internal data
based on the attenuation associated with the LI signal. In this
manner, data to the DSP maintains a correct scale value throughout the process, making it entirely independent. Since there
often are finite delays associated with external gain switching
components, the AD6635 includes a variable pipeline delay that
can be used to compensate for external pipeline delays or gross
settling times associated with gain/attenuator devices. This delay
may be set for up to seven high speed clocks. These features
ensure smooth switching between gain settings.
Input Data Scaling
The AD6635 has four data input ports. Each accepts a 14-bit
mantissa (twos complement integer) IN[13:0], a 3-bit exponent
(unsigned integer) EXP[2:0], and the Input Enable(IEN). Input
Ports A and B are clocked by CLK0 and Input Ports C and D
are clocked by CLK1. These pins allow direct interfacing to both
standard fixed-point ADCs such as the AD9238 and AD6645, as
well as to gain-ranging ADCs such as the AD6600. For normal
operation with ADCs having fewer than 14 bits, the active bits
should be MSB justified and the unused LSBs should be tied low.
UPPER
THRESHOLD
“LOW”
LOWER
THRESHOLD
DWELL TIME
consistent with the gain ranges of the specific converter. Then
the holdoff delay can be set appropriately for any of a number of
factors, such as fading profile, signal peak-to-average ratio, or
any other time based characteristics that might cause unnecessary
gain changes.
TIME
Figure 26. Threshold Settings for LI
The LI line can be used for a variety of functions. It can be used
to set the controls of an attenuator, DVGA, or it can be integrated and used with an analog VGA. To simplify the use of this
feature, the AD6635 includes two separate gain settings, one
when this LI line is inactive (rCIC2_QUIET[4:0] stored in Bits 9:5
of 0x92 register) and the other when active (rCIC2_LOUD[4:0]
stored in Bits 4:0 of 0x92 register). This allows the digital gain to
be adjusted to the external changes. In conjunction with the
gain setting, a variable holdoff is included to compensate for the
pipeline delay of the ADC and the switching time of the gain
control element. Together, these two features provide seamless
gain switching.
Another use of this pin is to facilitate a gain-range holdoff within a
gain-ranging ADC. For converters that use gain-ranging to
increase total signal dynamic range, it may be desirable to prohibit
internal gain ranging from occurring in some instances. For such
converters, the LI (A or B) line can be used to hold this off. For
this application, the upper threshold would be set based on similar
criteria. However, the lower threshold would be set to a level
The 3-bit exponent, EXP[2:0] is interpreted as an unsigned
integer. The exponent will subsequently be modified by either
of rCIC2_LOUD[4:0] or rCIC2_QUIET[4:0], depending on
whether the LI line is active or not. These 5-bit scale values are
stored in the rCIC2 scale register (0x92) and the scaling is applied
before the data enters the rCIC2 resampling filter. These 5-bit
registers contain scale values to compensate for the rCIC2 gain,
external attenuator (if used), and the Exponent Offset (Expoff). If
no external attenuator is used, both the rCIC2_QUIET and
rCIC2_LOUD registers contain the same value. A detailed
explanation and equation for setting the attenuating scale
register is given in the Scaling with Floating-Point ADCs section.
Scaling with Fixed-Point ADCs
For fixed-point ADCs the AD6635 exponent inputs, EXP[2:0],
are typically not used and should be tied low. The ADC outputs
are tied directly to the AD6635 inputs, MSB-justified. The
ExpOff bits in 0x92 should be programmed to 0. Likewise, the
Exponent Invert bit should be 0. Thus for fixed-point ADCs,
the exponents are typically static and no input scaling is used in
the AD6635.
–24–
REV. 0
AD6635
D11 (MSB)
AD6645
D0 (LSB)
Table I. AD6600 Transfer Function with
AD6635 ExpInv = 1, and no ExpOff
IN13
ADC
Input
Level
AD6635
IN2
IN1
IN0
EXP2
EXP1
EXP0
Largest
IEN
VDD
Smallest
(ExpOff = 0, ExpInv = 0)
AD6600
RSSI[2:0]
AD6635
Data
Signal
Reduction
(dB)
101 (5)
100 (4)
011 (3)
010 (2)
001 (1)
000 (0)
/4 (>> 2)
/8 (>>3)
/16 (>> 4)
/32 (>> 5)
/64 (>> 6)
/128(>> 7)
–12
–18
–24
–30
–36
–42
ExpInv = 1, rCIC2 Scale = 0)
Figure 27. Typical Interconnection of the AD6645
Fixed-Point ADC and the AD6635
To avoid this automatic attenuation of the full-scale ADC signal, the ExpOff is used to move the largest signal (RSSI = 5) up
to the point where there is no downshift. In other words, once
the Exponent Invert bit has been set, the Exponent Offset should
be adjusted so that mod(7-5 + ExpOff,32) = 0. This is the case
when Exponent Offset is set to 30 since mod(32,32) = 0. Table II
illustrates the use of ExpInv and ExpOff when used with the
AD6600 ADC.
Scaling with Floating-Point or Gain-Ranging ADCs
An example of the exponent control feature combines the
AD6600 and the AD6635. The AD6600 is an 11-bit ADC with
3 bits of gain ranging. In effect, the 11-bit ADC provides the
mantissa, and the 3 bits of relative signal strength indicator
(RSSI) for the exponent. Only five of the eight available steps
are used by the AD6600. See the AD6600 data sheet for additional details.
Table II. AD6600 Transfer Function with
AD6620 ExpInv = 1, and ExpOff = 30
For gain-ranging ADCs such as the AD6600,
scaled _ input = in ¥ 2– mod( 7–Exp +rCIC 2 , 32 )
ADC
Input
Level
ExpInv = 1, ExpWeight = 0
where IN is the value of IN[13:0], Exp is the value of EXP[2:0],
and rCIC2 is the rCIC scale register value (0x92 bits 9-5 and 4-0).
“mod” is the remainder function. For example, mod(1,32) = 1,
mod(2,32) = 2, and mod(34,32) = 2.
The RSSI output of the AD6600 grows numerically with increasing signal strength of the analog input (RSSI = 5 for a large
signal, RSSI = 0 for a small signal). When the Exponent Invert
Bit (ExpInv) is set to zero, the AD6635 will consider the smallest signal at the IN[13:0] to be the largest, and as the EXP word
increases, it shifts the data down internally (EXP = 5 will shift a
14-bit word to the right by 5 internal bits before passing the
data to the rCIC2). In this example, if ExpInv = 0, the AD6635
regards the RSSI[2:0] = 5 as smallest signal and RSSI[2:0] = 0
as the largest signal possible on the AD6600. Thus, we can use
the Exponent Invert Bit to make the AD6635 exponent agree
with the AD6600 RSSI. Setting ExpInv = 1 forces the AD6635
to shift the data up (left) for growing EXP instead of down.
The exponent invert bit should always be set high for use
with the AD6600.
The Exponent Offset is used to shift the data up. For example,
Table I shows that with no rCIC2 scaling, 12 dB of range is
lost when the ADC input is at the largest level. This is not
desired because it lowers the dynamic range and SNR of the
system by reducing the signal of interest relative to the quantization noise floor.
REV. 0
Largest
Smallest
AD6600
RSSI[2:0]
AD6635
Data
Signal
Reduction
(dB)
101 (5)
100 (4)
011 (3)
010 (2)
001 (1)
000 (0)
/1 (>> 0)
/2 (>>1)
/4 (>> 2)
/8 (>> 3)
/16 (>> 4)
/32(>> 5)
0
–6
–12
–18
–24
–30
ExpInv = 1, ExpOff = 30, Exp Weight = 0)
This flexibility in handling the exponent allows the AD6635 to
interface with other gain-ranging ADCs besides the AD6600.
The Exponent Offset can be adjusted to allow up to seven
RSSI(EXP) ranges to be used as opposed to the AD6600’s five.
It also allows the AD6635 to be tailored in a system that employs
the AD6600 but does not utilize all of its signal range. For
example, if only the first four RSSI ranges are expected to
occur, then the ExpOff could be adjusted to 29, which would
make RSSI = 4 correspond to the 0 dB point of the AD6635.
Note that the above scale factor set in the rCIC2 register is only
to account for the ExpOff required. This register should also
account for compensating rCIC2 filter gain. The value required
for this will be given in the CIC2 filter section. Hence the final
value set in the rCIC2 register will be the sum total of ExpOff
and rCIC2 scale required.
–25–
AD6635
D10 (MSB)
AD6600
D0 (LSB)
Phase Offset
IN13
The Phase Offset register (0x87) adds an offset to the phase
accumulator of the NCO. The NCO phase accumulator starts
with the value in this register in the event of a START SYNC.
This is a 16-bit register and is interpreted as a 16-bit unsigned
integer. A 0x0000 in this register corresponds to a 0 radian
offset, and a 0xFFFF corresponds to an offset of 2␲ ¥ (1 – 1/(216))
radians. This register allows multiple NCOs to be synchronized to
produce sine waves with a known and steady phase difference.
AD6635
IN2
IN1
IN0
RSSI2
RSSI1
RSSI0
AB_OUT
EXP2
EXP1
EXP0
NCO Control Register
The NCO control register located at 0x88 is used to configure
the features of the NCO. These are controlled on a per channel
basis and are described below.
IEN
Figure 28. Typical Interconnection of the AD6600
Gain-Ranging ADC and the AD6635.
Bypass
NUMERICALLY CONTROLLED OSCILLATOR
Frequency Translation
This processing stage comprises a digital tuner consisting of two
multipliers and a 32-bit complex NCO. Each channel of the
AD6635 has an independent NCO. The NCO serves as a quadrature local oscillator capable of producing an NCO frequency
between –CLK/2 and +CLK/2 with a resolution of CLK/232 in the
complex mode. The worst-case spurious signal from the NCO is
better than –100 dBc for all output frequencies.
The NCO frequency value in registers 0x85 and 0x86 are interpreted as a 32-bit unsigned integer. The NCO frequency is
calculated using the equation below.
The NCO in the front end of the AD6635 can be bypassed.
Bypass mode is enabled by setting Bit 0 of 0x88 high. When the
NCO is bypassed, down conversion is not performed and the
AD6635 channel functions simply as a real filter on complex
data. This is useful for a baseband sampling application where
the A input is connected to the I signal path within the filter,
and the B input is connected to the Q signal path for Channels 0
through 3. Similarly, input C is connected to I signal path and
input D to Q signal path for Channels 4 through 7. This may be
desired if the digitized signal has already been converted to
baseband in prior analog stages or by other digital preprocessing.
Phase Dither
The AD6635 provides a phase dither option for improving the
spurious performance of the NCO. Phase dither is enabled by
setting Bit 1 of the NCO control register. When phase dither is
enabled by setting this bit high, spurs due to phase truncation in
the NCO are randomized. The energy from these spurs is
spread into the noise floor and spurious-free dynamic range is
increased at the expense of very slight decreases in the SNR.
The choice of whether phase dither is used in a system will
ultimately be decided by the system goals. If lower spurs are
desired at the expense of a slightly raised noise floor, it should
be employed. If a low noise floor is desired and the higher spurs
can be tolerated or filtered by subsequent stages, phase dither is
not needed.
Êf
ˆ
NCO _ FREQ = 232 ¥ modÁ CHANNEL ,1˜
CLKn
Ë
¯
where NCO_FREQ is the 32-bit integer (registers 0x85 and
0x86) that the user needs to set in order to tune to a desired
frequency fCHANNEL, and CLKn is the AD6635 master clock rate
or Input data rate, depending on the Input Enable mode used.
See the Input Enable Control section to determine when it is
CLK and when it is Input data rate. For Channels 0 through 3
use CLK0, and for Channels 4 through 7 use CLK1.
“mod” is similar to the remainder function. For example if
fCHANNEL = 220 MHz and CLK = 80 MHz, then mod(220/80,1)
= mod(2.75,1) = 0.75.
Amplitude Dither
This definition works if NCO_FREQ register is treated as a
signed number.
Amplitude dither can also be used to improve spurious performance of the NCO. Amplitude dither is enabled by setting Bit 2.
Amplitude dither improves performance by randomizing the
amplitude quantization errors within the angular-to-Cartesian
conversion of the NCO. This option may reduce spurs at the
expense of a slightly raised noise floor. Amplitude dither and phase
dither can be used together, separately, or not at all.
NCO Frequency Holdoff Register
Clear Phase Accumulator on Hop
But for negative frequencies, for example,
mod(–220/80,1) = mod(–1.75,1) = 0.25.
When the NCO frequency registers are written, data is actually
passed to a shadow register. Data may be moved to the main
registers by one of two methods: when the channel comes out of
sleep mode, or when a SYNC hop occurs. In either event, a
counter can be loaded with the NCO Frequency Holdoff register value. The 16-bit unsigned integer counter (0x84) starts
counting down, clocked by the Master clock, and when it reaches
zero, the new frequency value in the shadow register is written
to the NCO frequency register. The NCO could also be set up
to SYNC immediately, in which case the Frequency Holdoff
counter is bypassed (by writing a value of 1) and new frequency
values are updated immediately. If a zero is written, then SYNC
will never occur.
When Bit 3 is set, the NCO phase accumulator is cleared prior
to a frequency hop. This ensures a consistent phase of the NCO
on each hop. The NCO phase offset is unaffected by this setting
and is still in effect. If phase-continuous hopping is desired, this
bit should be cleared and the last phase in the NCO phase register will be the initiating point for the new frequency.
Input Enable Control
There are four different modes of operation for the input enable.
Each of the high speed input ports includes an IEN line. Any of
the four filter Channels 0 through 3 can be programmed to take
data from either of the two Input Ports A or B (see the WB
–26–
REV. 0
AD6635
Input Select section). Similarly, any of the four filter Channels
4 through 7 can be programmed to take data from either of the
two Input Ports C or D. Along with data is the IENx signal. Each
filter channel can be configured to process the IEN signal in one
of four modes. Three of the modes are associated with when
data is processed based on a time division multiplexed data
stream. The fourth mode is used in applications that employ time
division duplex, such as radar, sonar, ultrasound, and communications that involve TDD.
Mode 11: Clock on IEN Transition to Low
Mode 00: Blank on IEN Low
Bit 6 in this register controls which input port is selected for
signal processing. For Channels 0 through 3, if this bit is set
high, then Input Port B (INB, EXPB, and IENB) is connected
to the selected AD6635 channel. If this bit is cleared, Input Port A
(INA, EXPA, and IENA) is connected to the selected filter
channel. Similarly for Channels 4 through 7 Input Port D is
selected when Bit 6 is set and Input Port C is selected when this
bit is cleared.
In this mode, data is blanked while the IEN line is low. While
the IEN line is high, new data is strobed on each rising edge of
the input clock. When the IEN line is lowered, input data is
replaced with zero values. During this period, the NCO continues to run such that when the IEN line is raised again, the
NCO value will be at the same value it would have been had the
IEN line never been lowered. This mode has the effect of blanking the digital inputs when the IEN line is lowered. Back end
processing (rCIC2, CIC5, and RCF) continues while the IEN
line is high. This mode is useful for time division multiplexed
applications.
Mode 01: Clock on IEN High
In this mode, data is clocked into the chip while the IEN line is
high. While the IEN line is high, new data is strobed on each
rising edge of the input clock. When the IEN line is lowered,
input data is no longer latched into the channel. Additionally,
NCO advances are halted. However, back end processing
(rCIC2, CIC5, and RCF) continues during this period. The
primary use for this mode is to allow for a clock that is faster
than the input sample data rate so that more filter taps can be
computed than would otherwise be possible. In the diagram
below, input data is strobed only while IEN is high, despite the
fact that the CLK continues to run at a rate four times faster
than the data.
Sync Select
Bits 7 and 8 of this register determine which external sync pin is
associated with the selected channel. The AD6635 has four sync
pins named SYNCA, SYNCB, SYNCC, and SYNCD. Any of
these sync pins can be associated with any of the eight receiver
channels within the AD6635. Additionally, if only one sync
signal is required for the system, all eight receiver channels can
reference the same sync pin. Bit value 00 selects SYNCA, 01
selects SYNCB, 10 selects SYNCC, and 11 selects SYNCD.
The rCIC2 filter is a second-order resampling Cascaded Integrator Comb filter. The resampler is implemented using a
unique technique that does not require the use of a high speed
clock, thus simplifying the design and saving power. The
resampler allows noninteger relationships between the master
clock and the output data rate. This allows easier implementation of systems that are either multimode or require a master
clock that is not a multiple of the data rate to be used.
Interpolation up to 512 and decimation up to 4096 is allowed in
the rCIC2. The resampling factor for the rCIC2 (L) is a 9-bit
integer. When combined with the 12-bit decimation factor M,
the total rate change can be any fraction in the form of:
tHI
tSI
n
WB Input Select
SECOND-ORDER rCIC FILTER
CLK
IN[13:0]
E[2:0]
In this mode, data is clocked into the chip only on the first clock
edge after the falling transition of the IEN line. Although data is
only latched on the first valid clock edge, the back end processing (rCIC2, CIC5, and RCF) continues on each available clock
that may be present, similar to Mode 01. The NCO phase accumulator is incremented only once for each new input data sample,
not once for each input clock.
n+1
RrCIC 2
Figure 29. Fractional Rate Input Timing (4 ¥ CLK)
in Mode 01
The only constraint is that the ratio L/M must be less than or
equal to 1. This implies that the rCIC2 decimates by 1 or more.
Mode 10: Clock on IEN Transition to High
In this mode, data is clocked into the chip only on the first
clock edge after the rising transition of the IEN line. Although
data is only latched on the first valid clock edge, the back end
processing (rCIC2, CIC5, and RCF) continues on each available clock that may be present, similar to Mode 01. The NCO
phase accumulator is incremented only once for each new input
data sample, not once for each input clock.
Resampling is implemented by apparently increasing the input
sample rate by the factor L using zero stuffing for the new data
samples. Following the resampler is a second-order cascaded
integrator comb filter. Filter characteristics are determined only
by the fractional rate change (L/M).
The filter can process signals at the full rate of the input port
80 MHz. The output rate of this stage is given by the equation below.
fSAMP 2 =
REV. 0
L
M
£1
RrCIC 2 =
IEN
–27–
LrCIC 2 fSAMP
MrCIC 2
AD6635
scaled _ input = IN ¥ 2– mod( Exp +rCIC 2 , 32) , ExpInv = 0
scaled _ input = IN ¥ 2– mod( 7–Exp +rCIC 2 , 32) , ExpInv = 1
Both LrCIC2 and MrCIC2 are unsigned integers. The interpolation
rate (LrCIC2) may be from 1 to 512 and the decimation (MrCIC2)
may be from 1 to 4096. The stage can be bypassed by setting
the decimation/interpolation to 1/1.
where IN is the value of INx[13:0] (x = A, B, C, D), Exp is the
value of EXPx[2:0], and rCIC2 is the value of the 0x92
(rCIC2_QUIET[4:0] or rCIC2_LOUD[4:0], depending on
LI pin) scale register.
The frequency response of the rCIC2 filter is given by the following equations.
1
H (z) = S
2 rCIC 2 ¥ LrCIC 2
H( f ) =
SrCIC 2
2
1
¥ LrCIC 2
M
Ê
– rCIC 2
1 – z LrCIC 2
¥Á
Á 1 – z –1
Á
Ë
ˆ
˜
˜
˜
¯
2
Ê Ê
MrCIC 2 ¥ f ˆ ˆ
˜˜
Á sinÁË p L
rCIC 2 ¥ fSAMP ¯
˜
¥Á
Ê
f ˆ
˜
Á
sinÁ p
˜
˜
Á
f
Ë SAMP ¯
¯
Ë
rCIC2 Rejection
Table III illustrates the amount of bandwidth in percent of the
data rate into the rCIC2 stage. The data in this table may be
scaled to any other allowable sample rate up to 80 MHz. The
table can be used as a tool to decide how to distribute the decimation between rCIC2, CIC5 and the RCF.
2
Table III. SSB rCIC2 Alias Rejection Table (f SAMP = 1)
Bandwidth Shown as Percentage of f SAMP. (input rate)
The scale factor, SrCIC2 is a programmable unsigned 5-bit value
between 0 and 31. This serves as an attenuator that can reduce
the gain of the rCIC2 in 6 dB increments. For the best dynamic
range, SrCIC2 should be set to the smallest value possible (i.e.,
lowest attenuation) without creating an overflow condition.
This can be safely accomplished using the equation below,
where input_level is the largest fraction of full scale possible at
the input to the AD6635 (normally 1). The rCIC2 scale factor
is always used, whether or not the rCIC2 is bypassed.
SrCIC 2
È
Ê
ˆ˘
Ê MrCIC 2 ˆ
Í
˜¥
Á MrCIC 2 + floor ÁË L
˜˙
rCIC 2 ¯
˜˙
= ceil Ílog 2 Á
Í
Ê MrCIC 2
ˆˆ˜˙
ÁÊ
+ 1˜ ˜ ˜ ˙
Í
Á Á 2 ¥ MrCIC 2 – LrCIC 2 ¥ floor ÁË L
¯¯¯˙
ËË
rCIC 2
ÍÎ
˚
OLCIC 2 =
(M
2
rCIC 2
LrCIC 2 ¥ 2
)
SrCIC 2
¥ input _ level
MrCIC2
/LrCIC2
–50 dB –60 dB –70 dB –80 dB
–90 dB –100 dB
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1.790
1.508
1.217
1.006
0.853
0.739
0.651
0.581
0.525
0.478
0.439
0.406
0.378
0.353
0.331
0.179
0.155
0.126
0.105
0.089
0.077
0.068
0.061
0.055
0.050
0.046
0.043
0.040
0.037
0.035
1.007
0.858
0.696
0.577
0.490
0.425
0.374
0.334
0.302
0.275
0.253
0.234
0.217
0.203
0.190
0.566
0.486
0.395
0.328
0.279
0.242
0.213
0.190
0.172
0.157
0.144
0.133
0.124
0.116
0.109
0.318
0.274
0.223
0.186
0.158
0.137
0.121
0.108
0.097
0.089
0.082
0.075
0.070
0.066
0.061
0.101
0.087
0.071
0.059
0.050
0.044
0.038
0.034
0.031
0.028
0.026
0.024
0.022
0.021
0.020
Example Calculations
Goal: Implement a filter with an input sample rate of 10 MHz
requiring 100 dB of alias rejection for a ± 7 kHz pass band.
The ceil function used above denotes the next whole integer,
and the floor function denotes the previous whole integer. For
example, ceil(4.5) is 5, while floor(4.5) is 4.
Solution: First determine the percentage of the sample rate that
is represented by the pass band.
There are two scale registers (rCIC2_LOUD[4:0] Bits 4–0 in
0x92), and (rCIC2_QUIET[4:0] Bits 9–5 in 0x92), which are
used to implement the SrCIC2 scale factor. The value written into
the these programmable registers is the sum total of SrCIC2, ExpOff
required for floating point ADCs (explained in the Input Port
section), and any compensation for external attenuation that
may be activated using the LI (level indicator) pins. The third
component can have different values when the LI pin is active
and when it is inactive, and hence two registers, rCIC2_LOUD
and rCIC2_QUIET. The sum total of these components is
supplied to the AD6635 as rCIC2_LOUD and rCIC2_QUIET
registers, and these registers can contain a maximum number of
31. It should also be noted that the scaling specified by these
register is applied at only one place in the AD6635 channel
(before the rCIC2 filter).
The gain and passband droop of the rCIC2 should be calculated
by the equations above, as well as the filter transfer equations
mentioned previously. Excessive passband droop can be compensated for in the RCF stage by peaking the pass band by the
inverse of the roll-off.
BWFRACTION = 100 ¥
7 kHz
= 0.07
10MHz
In the –100 dB column on the right of the table, look for a
value greater than or equal to your passband percentage of the
clock rate. Then look across to the extreme left column and
find the corresponding rate change factor (MrCIC2/LrCIC2). Referring
to the table, notice that for a MrCIC2/LrCIC2 of 4, the frequency
having –100 dB of alias rejection is 0.071%, which is slightly
greater than the 0.07% calculated. Therefore, for this example,
the maximum bound on rCIC2 rate change is 4. Choosing a
higher MrCIC2/LrCIC2 results in less alias rejection than the
required 100 dB.
An MrCIC2/LrCIC2 of less than 4 would still yield the required
rejection, however the power consumption can be minimized by
decimating as much as possible in this rCIC2 stage. Decimation
in rCIC2 lowers the data rate, and thus reduces power consumed
in subsequent stages. It should also be noted that there is more
than one way to get the decimation of 4. A decimation of 4 is
the same as an L/M ratio of 0.25. Thus, any integer combination
–28–
REV. 0
AD6635
of L/M that yields 0.25 will work (1/4, 2/8, or 4/16). However,
for the best dynamic range, the simplest ratio should be used.
For example, 1/4 gives better performance than 4/16.
Decimation and Interpolation Registers
rCIC2 decimation values are stored in register 0x90. This 12-bit
register contains the decimation portion less 1. The interpolation portion is stored in register 0x91. This 9-bit value holds the
interpolation less 1.
The decimation ratio, MCIC5, may be programmed from 2 to
32 (all integer values). The frequency response of the filter is
given by the following equations. The gain and passband droop
of CIC5 should be calculated by these equations. Both parameters
may be compensated for in the RCF stage.
5
H( z ) =
1
2SCIC 5 +5
rCIC2 Scale
Register 0x92 contains the scaling information for this section of
the circuit. The primary function is to store the scale value
computed in the sections above.
Bits 4–0 (rCIC2_LOUD[4:0]) of this register are used to contain
the scaling factor for the rCIC2 during conditions of strong
signals. These five bits represent the rCIC2 scalar calculated
above, plus any external signal scaling with an attenuator.
1
SCIC 5 + 5
2
The scale factor SCIC5 is a programmable, unsigned integer
between 0 and 20. It serves to control the attenuation of the
data into the CIC5 stage in 6 dB increments. For the best dynamic
range, SCIC5 should be set to the smallest value possible (lowest attenuation) without creating an overflow condition. This
can be safely accomplished using the equation below, where
OLrCIC2 is the largest fraction of full scale possible at the input
to this filter stage. This value is output from the rCIC2 stage,
then pipelined into the CIC5.
Bits 9–5 (rCIC2_QUIET[4:0]) of this register are used to contain the scaling factor for the rCIC2 during conditions of weak
signals. In this register, no external attenuator would be considered and is not included. Only the value computed above for
rCIC2 compensation is stored in these bits.
Bit 10 of this register is used to indicate the value of the external
exponent. If this bit is set low, then external exponent represents
6 dB per step as in the AD6600. If this bit is set high, each
exponent represents a 12 dB step.
(
)
SCIC 5 = ceil log 2 ( MCIC 5 ¥ OLCIC 2 ) – 5
OLCIC 5 =
Bit 11 of this register is used to invert the external exponent
before internal calculation. This bit should be set high for gainranging ADCs that use an increasing exponent to represent an
increasing signal level. This bit should be set low for gain-ranging
ADCs that use a decreasing exponent for representing an
increasing signal level.
(M ) ¥ OL
5
CIC 5
S
2
CIC 5 +5
CIC 5
The output rate of this stage is given by the equation below.
fSAMP 5 =
In applications that do not require the features of the rCIC2, it
may be bypassed by setting the L/M ratio to 1/1. This effectively
bypasses all circuitry of the rCIC2 except the scaling which is
still in effect.
FIFTH-ORDER CIC FILTER
The third signal processing stage, CIC5, implements a sharper,
fixed-coefficient, decimating filter sharper than rCIC2. The
input rate to this filter is fSAMP2. The maximum input rate to this
filter is equal to the input rate into the AD6635, so bypassing
the rCIC2 filter is allowed.
REV. 0
H( f ) =
Ê 1 – z – MCIC 5 ˆ
¥Á
˜
Ë 1 – z –1 ¯
Ê Ê MCIC 5 ¥ f ˆ ˆ
˜˜
Á sinÁË p f
¯
SAMP 2
˜
Á
¥
Ê
ˆ
f
˜
Á
˜ ˜
Á sinÁË p f
¯
¯
Ë
SAMP 2
fSAMP 5
MCIC 5
CIC5 Rejection
Table IV illustrates the amount of bandwidth in percentage of the
clock rate (input rate) that can be protected with various decimation rates and alias rejection specifications. The maximum input
rate into the CIC5 is 80 MHz when the rCIC2 decimates by 1. As
in the previous table, these are the 1/2 bandwidth characteristics
of the CIC5. Notice that the CIC5 stage can protect a much wider
band to any given rejection level compared to the rCIC2 stage.
This table helps to calculate an upper bound on decimation,
MCIC5, for given desired filter characteristics.
–29–
AD6635
Table IV. SSB CIC5 Alias Rejection Table (fSAMP2 = 1).
Bandwidths are given as percentage of fSAMP2.
RCF Decimation Register
MCIC5
–50 dB –60 dB –70 dB –80 dB –90 dB –100 dB
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
10.227
7.924
6.213
5.068
4.267
3.680
3.233
2.881
2.598
2.365
2.170
2.005
1.863
1.740
1.632
1.536
1.451
1.375
1.307
1.245
1.188
1.137
1.090
1.046
1.006
0.969
0.934
0.902
0.872
0.844
0.818
8.078
6.367
5.022
4.107
3.463
2.989
2.627
2.342
2.113
1.924
1.765
1.631
1.516
1.416
1.328
1.250
1.181
1.119
1.064
1.013
0.967
0.925
0.887
0.852
0.819
0.789
0.761
0.734
0.710
0.687
0.666
6.393
5.110
4.057
3.326
2.808
2.425
2.133
1.902
1.716
1.563
1.435
1.326
1.232
1.151
1.079
1.016
0.960
0.910
0.865
0.824
0.786
0.752
0.721
0.692
0.666
0.641
0.618
0.597
0.577
0.559
0.541
5.066
4.107
3.271
2.687
2.270
1.962
1.726
1.540
1.390
1.266
1.162
1.074
0.998
0.932
0.874
0.823
0.778
0.737
0.701
0.667
0.637
0.610
0.584
0.561
0.540
0.520
0.501
0.484
0.468
0.453
0.439
4.008
3.297
2.636
2.170
1.836
1.588
1.397
1.247
1.125
1.025
0.941
0.870
0.809
0.755
0.708
0.667
0.630
0.597
0.568
0.541
0.516
0.494
0.474
0.455
0.437
0.421
0.406
0.392
0.379
0.367
0.355
3.183
2.642
2.121
1.748
1.480
1.281
1.128
1.007
0.909
0.828
0.760
0.703
0.653
0.610
0.572
0.539
0.509
0.483
0.459
0.437
0.417
0.399
0.383
0.367
0.353
0.340
0.328
0.317
0.306
0.297
0.287
RCF Decimation Phase
The RCF decimation phase can be used to synchronize multiple
filters within a chip. This is useful when using multiple channels
within the AD6635 to implement a polyphase filter allowing the
resources of several RCF filters to be paralleled. In such an
application, two RCF filters would be processing the same data
from the CIC5. However, each filter will be delayed by one half
the decimation rate, thus creating a 180∞ phase difference between
the two halves.
The AD6635 filter channel uses the value stored in this register
to preload the RCF counter. Therefore, instead of starting from
0 (coefficient number 0), the counter is loaded with
Counter =
RCF Filter Length
The maximum number of taps this filter can calculate, NTAPS, is
given by the equation below. The value NTAPS – 1 is written to
the Channel register within the AD6635 at address 0xA2.
Êf
ˆ
¥ M RCF
NTAPS £ min Á CLK
,160˜
fSAMP 5
Ë
¯
The final signal processing stage for each individual channel is a
sum-of-products decimating filter with programmable coefficients. A simplified block diagram is shown below. The data
memories I-RAM and Q-RAM store the 160 most recent complex samples from the previous filter stage with 20-bit resolution.
The coefficient memory, CMEM, stores up to 256 coefficients
with 20-bit resolution. On every CLK cycle, one tap for I and
one tap for Q are calculated using the same coefficients. The
RCF output consists of 24-bit data.
160 20B
I-RAM
IOUT
160 20B
Q-RAM
The function “min” used above gives the minimum of all the
expressions inside the parenthesis.
The RCF coefficients are located in addresses 0x00 to 0x7F and
are interpreted as 20-bit twos complement numbers. When
writing the coefficient RAM, the lower addresses will be multiplied by relatively older data from the CIC5 and the higher
coefficient addresses will be multiplied by relatively newer data
from the CIC5. The coefficients need not be symmetric and the
coefficient length, NTAPS, may be even or odd. If the coefficients
are symmetric, then both sides of the impulse response must be
written into the coefficient RAM.
Although the base memory for coefficients is only 128 words
long, the actual length is 256 words long. There are two pages,
each 128 words long. The page is selected by Bit 8 of 0xA4.
256 20B
C-RAM
QIN
decimation phase ¥ Number of channels used ¥ fCLK
RCF decimationineach channel ¥ fRCF
thus creating an offset in the processing that should be equivalent to the required processing delay. The number of channels
or RCFs used to process one carrier is used in the above equation. fCLK is the input clock rate to the AD6635 and fRCF is the
input sample rate to the RCF from the CIC5 stage. This data is
stored in 0xA1 as an 8-bit number. The RCF decimation phase
can be used only when the ratio of RCF decimation and number of RCFs used is an integer.
RAM COEFFICIENT FILTER
IIN
Each RCF channel can be used to decimate the data rate. The
decimation register is an 8-bit register and can decimate from
1 to 256. The RCF decimation is stored in 0xA0 in the form of
MRCF – 1. The input rate to the RCF is fSAMP5.
QOUT
Figure 30. RAM Coefficient Filter (RCF) Block Diagram
–30–
REV. 0
AD6635
Although this data must be written in pages, the internal core
handles filters that exceed the length of 128 taps. Therefore, the
full length of the data RAM may be used as the filter length
(160 taps). Though the RCF can calculate only 160 tap filters,
the filter coefficient memory is 256 words long so that more
than one filter configuration can be stored in the memory, and
can be selected using the Coefficient Offset 0xA3 register.
The RCF stores the data from the CIC5 into a 160 ¥ 40 RAM.
160 ¥ 20 is assigned to I data, and 160 ¥ 20 is assigned to Q
data. The RCF uses the RAM as a circular buffer so that it is
difficult to know in which address a particular data element is
stored. To avoid start-up transients due to undefined data RAM
values, the data RAM should be cleared upon initialization.
When the RCF is triggered to calculate a filter output, it starts
by multiplying the oldest value in the data RAM by the first
coefficient, which is pointed to by the RCF Coefficient Offset
register (0xA3). This value is accumulated with the products of
newer data-words multiplied by the subsequent locations in the
coefficient RAM until the coefficient address RCFOFF + NTAPS – 1
is reached.
Table V. Three-Tap Filter
Coefficient Address
Impulse Response
Data
0
h(0)
N(0) oldest
1
h(1)
N(1)
2 = (NTAPS – 1)
h(2)
N(2) newest
The RCF Coefficient Offset register can be used for two purposes. The main purpose of this register is allow for multiple
filters to be loaded into memory and selected simply by changing the offset as a pointer for rapid filter changes. The other use
of this register is to form part of symbol timing adjustment. If
the desired filter length is padded with zeros on the ends, the
starting point can be adjusted to form slight delays in when the
filter is computed with reference to the high speed clock. This
allows for vernier adjustment of the symbol timing. Course
adjustments can be made with the RCF Decimation Phase.
The output rate of this filter is determined by the output rate of
the CIC5 stage and MRCF:
fSAMPR
f
= SAMP 5
MRCF
RCF Output Scale Factor and Control Register
Register 0xA4 is a compound register and is used to configure
several aspects of the RCF register. Bits 3–0 are used to set the
scale of the fixed-point output mode. This scale value may also
be used to set the floating-point outputs in conjunction with
Bit 6 of this register.
Bits 4 and 5 determine the output mode. Mode 00 sets the chip
up in fixed-point mode. The number of bits is determined by
the parallel or link port configuration.
Mode 01 selects floating-point mode 8 + 4. In this mode, an
8-bit mantissa is followed by a 4-bit exponent. In mode 1x (x
is don’t care), the mode is 12 + 4, or 12-bit mantissa and 4-bit
exponent.
REV. 0
Table VI. Output Mode Formats
Floating Point 12 + 4
1x
Floating Point 8 + 4
01
Fixed Point
00
Normally, the AD6635 will determine the exponent value that
optimizes numerical accuracy. However, if Bit 6 of this control
register is set, the values stored in Bits 3–0 is used to scale the
output. This ensures that consistent scaling and accuracy during conditions that may warrant predictable output ranges. If
Bits 3–0 are represented by RCF Scale, then the scaling factor in
dB is given by:
Scaling Factor = ( RCF Scale – 3 ) ¥ 20 log10 (2) dB
For RCF Scale of 0, the Scaling Factor is equal to
–18.06 dB, and for maximum RCF Scale of 15, the Scaling
Factor is equal to 72.25 dB.
If Bit 7 of this register is set, the same exponent will be used for
both the real and imaginary (I and Q) outputs. The exponent
used will be the one that prevents numeric overflow at the
expense of small signal accuracy. However, this is seldom a
problem, as small numbers would represent 0 regardless of
the exponent used.
Bit 8 of this register is the RCF bank select bit used to program
the register. When this bit is 0, the lowest block of 128 is selected
(taps 0 through 127). When high, the highest block is selected
(taps 128 through 255). It should be noted that while the chip
is computing filters, tap 127 is adjacent to 128 and there are no
paging issues.
Bit 9 of this register selects where the input to each RCF comes
from. If Bit 9 is clear, the RCF input comes from the CIC5
normally associated with the RCF. For Channels 0 through 3, if
the bit is set, the input comes from CIC5 Channel 1. The only
exception is Channel 1, which uses the output of CIC5 from
Channel 0 as its alternate. Using this feature, each RCF can
operate either on its own channel’s NCO + rCIC2 + CIC5 data
or be paired with the RCF of Channel 1. The RCF of Channel 1
can also be paired with Channel 0. This control bit is used with
polyphase distributed filtering.
Similarly for Channels 4 through 7, if the bit is set, the input
comes from CIC5 Channel 5. The only exception is Channel 5,
which uses the output of CIC5 Channel 4 as its alternate source.
If Bit 10 is clear, the AD6635 channel operates in normal
mode. However, if Bit 10 is set, then the RCF is bypassed to
perform Channel BIST. See the Channel BIST (Built-in Self
Test) section below for more details.
Note that the outputs of the RCF can be sent directly to the
output ports (parallel or link) using the appropriate setting in
Port Control register (see Memory Map for Output Port Control Registers). Alternately, data from more than one channel
can be interleaved into the interpolating half-band filters and
AGCs (even if half-band filters and AGCs are bypassed, interleaving function is still accomplished). This feature to interleave
data internal to the AD6635 allows the usage of multiple channels to process a single carrier.
–31–
AD6635
INTERPOLATING HALF-BAND FILTERS
The AD6635 has four interpolating half-band FIR filters that
immediately precede the four digital AGCs and immediately
follow the RCF channel outputs. Each interpolating half-band
takes I and Q data from the preceding RCF and outputs I and
Q data to the AGC. The half-band filters and AGC operate
independently of each other, so the AGC can be bypassed, in
which case the output of the half-band filter is sent directly to
the output data port. The half-band filters also operate independently of each other––any one can be enabled or disabled using
the Half-Band Control registers.
The SNR of the interpolating half-band filter is approximately
149.6 dB. The highest error spurs due to fixed-point arithmetic
are around –172.9 dB. The coefficients of the 13-tap interpolating half-band FIR filter are given in the Table VII.
Table VII. Half-Band Coefficients
0
14
0
–66
Half-band filters also perform the function of interleaving data
from various RCF channel outputs prior to the actual function
of interpolation. This interleaving of data is allowed even when
the actual function of the half-band filter is bypassed. This
feature allows for the usage of multiple channels (implementing
a polyphase filter) on the AD6635 to process a single carrier.
Either RCF phase decimation or a start holdoff counter for the
channels is used to appropriately phase the channels. For example,
if two channels of AD6635 are used to process one cdma2000
carrier, RCF filters for both channels should be 180∞ out of
phase. This can be done using RCF phase decimation or an
appropriate start holdoff counter followed by appropriate NCO
phase offsets.
0
309
512
309
0
–66
0
14
0
Half-band filter A can listen to either Channels 0 to 3, Channels
0 and 1, or only Channel 0. Half-band filter B can listen to
Channels 2 and 3 or to only Channel 2. Each half-band filter
interleaves the channels specified in its control register. The
interleaved data so combined is interpolated by 2. The interleaving function can be used independently of the interpolating
function, in which case the half-band filter is bypassed using the
Half-Band Control registers. When the half-band filter is bypassed,
the interleaving function is still performed. For one channel
running at twice the chip rate, the half-band can be used to
output channel data at 4¥ the chip rate.
In Figure 31, the frequency response of the interpolating half-band
FIR filter is shown in the graph with respect to the chip rate.
0
–10
AMPLITUDE – dB
dB(INTERP(f))
–20
The AD6635 is equipped with four independent automatic gain
control (AGC) loops for direct interface with a RAKE receiver.
Each AGC circuit has 96 dB of range. It is important that the
decimating filters of the AD6635 preceding the AGC reject
undesired signals so that each AGC loop is operating on only
the carrier of interest, and carriers at other frequencies do not
affect the ranging of the loop.
The AGC compresses the 23-bit complex output from the interpolating half-band filter into a programmable word size of 4–8,
10, 12, or 16 bits. Since the small signals from the lower bits are
pushed into higher bits by adding gain, the clipping of the lower
bits does not compromise the SNR of the signal of interest. The
AGC maintains a constant mean power on the output despite
the level of the signal of interest, allowing operation in environments where the dynamic range of the signal exceeds the
dynamic range of the output resolution.
The AGC and the interpolation filters are not tied together, and
any one or both of them can be selected without the other. The
AGC section can be bypassed if desired by setting Bit 0 of the
AGC control word. When bypassed, the I/Q data is passed to
the output port after clipping to 16-bit I/Q data.
–30
–40
–50
–60
–70
–80
AUTOMATIC GAIN CONTROL
0
0.5
1.0
1.5
2.0
2.5
3.0
FREQUENCY IN MULTIPLES OF CHIP RATE
3.5
4.0
fSAMP
fCHIP
Figure 31. Interpolating Half-Band Filter
Frequency Response
There are three sources of error introduced by the AGC function: underflow, overflow, and modulation. Underflow is caused
by truncation of bits below the output range. Overflow is caused
by clipping errors when the output signal exceeds the output
range. Modulation error occurs when the output gain varies
during the reception of a data.
The desired signal level should be set based on the probability
density function of the signal so that the errors due to underflow
and overflow are balanced. The gain and damping values of the
loop filter should be set so that the AGC is fast enough to track
long term amplitude variations of the signal that might cause excessive underflow or overflow, but slow enough to avoid excessive loss
of amplitude information due to the modulation of the signal.
–32–
REV. 0
AD6635
The AGC Loop
The AGC loop is implemented using a log-linear architecture. It
contains four basic operations: power calculation, error calculation, loop filtering, and gain multiplication.
The AGC can be configured to operate in one of two modes:
Desired Signal Level mode or Desired Clipping Level mode, as
set by Bit 4 of AGC control word (0x0A, 0x12). The AGC adjusts
the gain of the incoming data according to how far it is from a
given desired signal level or desired clipping level, depending on
the mode of operation selected. Two data paths to the AGC
loop are provided: one before the clipping circuitry and one
after the clipping circuitry, as shown in Figure 32. For Desired
Signal Level mode, only the I/Q path from before the clipping is
used. For Desired Clipping Level mode, the difference of the I/Q
signals from before and after the clipping circuitry is used.
Desired Signal Level Mode
In this mode of operation, the AGC strives to maintain the
output signal at a programmable set level. This mode of operation
is selected by putting a value of zero in Bit 4 of AGC control
word (0x0A, 0x12). First, the loop finds the square (or power)
of the incoming complex data signal by squaring I and Q and
adding them. This operation is implemented in exponential
domain using 2x (power of 2).
I
23 BITS
GAIN
MULTIPLIER
Q
CLIP
USED ONLY FOR
DESIRED
CLIPPING LEVEL
MODE
–
2X
POWER OF 2
PROGRAMMABLE
BIT WIDTH
Q
–
MEAN SQUARE (I + jQ)
AVERAGE 1–16384 SAMPLES
DECIMATE 1–4096 SAMPLES
SQUARE ROOT
LOG2(X)
ERROR
Kz –1
1 – (1 +
P)z –1
+
Pz –2
–
+
]
where MCIC is the decimation ratio (1–4096) and NAVG is the
number of averaged samples programmed as a multiple of the
decimation ratio (1, 2, 3, or 4).
For example if a decimation ratio, MCIC, is 1000, and NAVG is
selected to be 3 (decimation of 1000 and averaging of 3000
samples), the actual gain due to averaging and decimation is
3000 or 69.54 dB (= 20 log 3000). Since attenuation is
implemented as a bit shift operation, only multiples of 6.02 dB
attenuations are possible. SCIC in this case is 12, corresponding
to 72.24 dB. This way SCIC scaling always attenuates more
than sufficiently to compensate for the gain changes in the average and decimate sections, and hence prevents overflows in the
AGC loop. But it is also evident that the CIC scaling is introducing a gain error (difference between gain due to CIC and
attenuation provided) of up to 6.02 dB. This error should be
compensated for in the Request signal level as explained below.
Logarithm to the base 2 is applied to the output from the average and decimate section. These decimated power samples (in
logarithmic domain) are converted to rms signal samples by
applying a square root. This square root is implemented using a
simple shift operation. The rms samples so obtained are subtracted from the request signal level ‘R’ specified in registers
(0x0B, 0x14) leaving an error term to be processed by the loop
filter, G(z).
The user sets this programmable request signal level ‘R’ according
to the desired output signal level. The request signal level ‘R’
is programmable from 0 to –23.99 dB in steps of 0.094 dB. The
request signal level should also compensate for any error due to
the CIC scaling as explained previously. Hence, the request
signal level is offset by the amount of error induced in the CIC
given by
Offset = 20 log10 ( MCIC ¥ N AVG ) – SCIC ¥ 6.02
'R' DESIRED
'K' GAIN
'P' POLE
Figure 32. Block Diagram of the AGC
REV. 0
This scaling operation accounts for the division associated with
the averaging operation as well as the traditional bit growth in
CIC filters. Since this scaling is implemented as a bit shift
operation, only coarse scaling is possible. Fine scaling is implemented as an offset in the Request Level explained later. The
attenuation scaling (SCIC) is programmable from 0 to 14 using
four bits of the 0x10 and 0x18 registers and is given by:
[
The averaging and decimation effectively means the AGC can
operate over averaged power of 1–16384 output samples. The
choice of updating the AGC once every 1–4096 samples and
operating on average power facilitates the implementation of a
loop filter with slow time constants, where the AGC error converges slowly and makes infrequent gain adjustments. It would
also be useful in scenarios where the user wants to keep the gain
scaling constant over a frame of data (or a stream of symbols).
CLIP
The average and decimate operations are tied together and
implemented using a first-order CIC filter and some FIFO
registers. There is a gain and bit growth associated with CIC
filters, which depend on the decimation ratio. To compensate
for the gain associated with these operations, attenuation scaling
is provided before the CIC filter.
SCIC = ceil log2 ( MCIC ¥ N AVG )
The AGC loop has an average and decimate block. This average
and decimate operation takes place on power samples and before
the square root operation. This block can be programmed to
average 1–16384 power samples and the decimate section can
be programmed to update the AGC once every 1–4096 samples.
The limitation on the averaging operation is that the number of
averaged power samples should be a multiple of the decimation
value (1, 2, 3, or 4 times).
I
Due to the limitation on the number of average samples being a
multiple of the decimation value, only the multiple number 1, 2,
3, or 4 is programmed. This number is programmed in Bits 1, 0
of the 0x10 and 0x18 registers. These averaged samples are then
decimated with decimation ratios programmable from 1 to
4096. This decimation ratio is defined in the 12-bit registers
0x11 and 0x19.
where, the offset is in dB.
Continuing with the previous example, this offset is given by
72.24 – 69.54 = 2.7 dB. So the request signal level is given by
–33–
AD6635
È (DSL – Offset ) ˘
R = ceil Í
˙ ¥ 0.094
0.094
ÍÎ
˙˚
sample rate coming into the half-band interpolated filters is
7.68 MSPS. This rate should be used in the calculation of poles
in the above equation.
where R is the request signal level and DSL (desired signal
level) is the output signal level that the user desires. So, in the
previous example if the desired signal level is –13.8 dB, the
request level ‘R’ is programmed to be –16.54 dB.
The AGC provides a programmable second order loop filter.
The programmable parameters, gain ‘K’ and pole ‘P,’ completely define the loop filter characteristics. The error term after
subtracting the request signal level is processed by the loop
filter, G(z). The open loop poles of the second-order loop filter
are 1 and ‘P,’ respectively. The loop filter parameters, pole ‘P’
and gain ‘K,’ allow adjustment of the filter time constant that
determines the window for calculating the peak-to-average ratio.
The open loop transfer function for the filter, including the gain
parameter is given by
G (z) =
Kz –1
1 – (1 + P )z –1 + Pz –2
G (z )
1 + G (z )
=
Kz –1
1 + ( K – 1 – P )z –1 + Pz –2
The gain parameter ‘K,’ and pole ‘P’ are programmable through
registers (0x0E and 0x0F for AGC A and AGC C; 0x16 and
0x17 for AGC B and AGC D) from 0 to 0.996 in steps of
0.0039 using 8-bit representation. Though the user defines the
open loop pole ‘P’ and gain ‘K,’ they will directly impact the
placement of the closed loop poles and filter characteristics.
These closed loop poles P1 and P2 are the roots of the denominator in the above closed loop transfer function and are given by
P1 , P2 =
(1 + P – K ) + (1 + P – K )2 – 4P
2
Typically, the AGC loop performance is defined in terms of its
time constant or settling time. In such a case, the closed loop
poles should be set to meet the time constants required by the
AGC loop. The following relation between time constant and
closed loop poles can be used for this purpose.
Open Loop Gain Setting: If filter gain K occupies only 1 LSB
or 0.0039, then during the multiplication with the error term,
errors of up to 6.02 dB could be truncated. This truncation is
due to the lower bit widths available in the AGC loop. If filter
gain K were the maximum value, truncated errors would be a
less than 0.094 dB (equivalent to 1 LSB of error term representation). Generally, a small filter gain is used to achieve a large
time constant loop (or slow loops), but in this case, it would
cause large errors to go undetected. Due to this peculiarity, the
designers recommend that if a user wants slow AGC loops, they
should rather use fairly high values for filter gain K and then
use CIC decimation to achieve a slow loop. In this way, the
AGC loop will make large, infrequent gain changes compared
to small and frequent gain changes, as in the case of a normal
small gain loop filter. However, though the AGC loop makes
large, infrequent gain changes, a slow time constant is still
achieved and there is less truncation of errors.
Average Samples Setting: Though it is complicated to express
the exact effect of the number of averaging samples, thinking
intuitively, it has a smoothing effect on the way the AGC loop
attacks a sudden increase or a spike in the signal level. If averaging of four samples is used, the AGC will attack a sudden
increase in signal level more slowly compared to no averaging.
The same would apply to the manner in which the AGC would
attack a sudden decrease in the signal level.
È
˘
MCIC
P1, 2 = exp Í
˙
Î Sample Rate ¥ t1, 2 ˚
where t1,2 are the time constants corresponding to the poles
P1, 2. The time constants can also derived from settling times
as given below.
t=
The gain multiplier gives the product of the signal gain with both
the I and Q data entering the AGC section. This signal gain is
applied as a coarse 4-bit scaling and then a fine scale 8-bit
multiplier. Hence, the applied signal gain is between –48.16 dB
and +48.13 dB in steps of 0.024 dB. The initial value for
signal gain is programmable using the registers 0x0D and 0x15
for AGC A (AGC C) and AGC B (AGC D), respectively.
The products of the gain multiplier are the AGC scaled outputs
in 19-bit representation. These are in turn used as I and Q for
calculating the power and AGC error and loop filtered to produce signal gain for the next set of samples. These AGC scaled
outputs can be programmed as 4, 5, 6, 7, 8, 10, 12, or 16 bits
using the AGC control word (0x0A, 0x12). The AGC scaled
outputs are truncated to the required bit widths using the clipping circuitry, as shown in the Functional Block Diagram.
If the AGC is properly configured (in terms of offset in Request
level), there are no gains except the filter gain K. Under these
circumstances a closed loop expression for the AGC loop is
possible, and is given by
GCLOSED (z ) =
The loop filter output corresponds to the signal gain that is
updated by the AGC. Since all computation in the loop filter is
done in logarithmic domain (to the base 2) of the samples, the
signal gain is generated using the exponent (power of 2) of the
loop filter output.
Desired Clipping Level Mode
2% settling time 5% settling time
or
4
3
MCIC (CIC decimation is from 1 to 4096) and either the settling
time or time constant should be chosen by the user. The sample
rate is the combined sample rate of all the interleaved channels
coming into the AGC/half-band interpolated filters. If two channels are being used to process one carrier of UMTS at 2⫻ chip
rate, then each channel works at 3.84 MHz, and the combined
As noted previously, each AGC can be configured so that the
loop locks on to a desired clipping level or a desired signal level.
The Desired Clipping Level mode can be selected by setting
Bit 4 of the individual AGC control words (0x0A, 0x12). For
signals that tend to exceed the bounds of the peak-to-average
ratio, desired clipping level option offers a way to keep from
truncating those signals and still provides an AGC that attacks
quickly and settles to the desired output level. The signal path
for this mode of operation is shown with the dashed arrows in
–34–
REV. 0
AD6635
Figure 32 (Block Diagram of the AGC), and the operation is
similar to the Desired Signal Level mode.
First, the data from the gain multiplier is truncated to a lower
resolution (4, 5, 6, 7, 8, 10, 12, or 16 bits) as set by the AGC
control word. An error term (both I and Q) is generated that is
the difference between the signals before and after truncation.
This term is passed to the complex squared magnitude block for
averaging and decimating the update samples and taking their
square root to find rms samples, just as in Desired Signal
Level mode. In place of the request desired signal level, a
desired clipping level is subtracted, leaving an error term to be
processed by the second-order loop filter. The rest of the loop
operates the same way as the Desired Signal Level mode. This
way the truncation error is calculated and the AGC loop operates to maintain a constant truncation error level.
Apart from Bit 4 of the AGC control words, the only other
register setting change, compared to the Desired Signal Level
mode, is that the Desired Clipping level is stored in the AGC
Desired Level registers (0x0C, 0x15) instead of the Request
Signal Level (as in Desired Signal Level mode).
AD6635. Each BIST function is independent of the other,
meaning that each channel can be tested independently at the
same time.
RAM BIST
The RAM BIST can be used to validate functionality of the
on-chip RAM. This feature provides a simple pass/fail test,
which will give confidence that the channel RAM is operational.
The following steps should be followed to perform this test.
1. The channels to be tested should be put into Sleep mode via
the external address register 0x011.
2. The RAM BIST Enable bit in the RCF register 0xA8
should be set high.
3. Wait 1600 clock cycles.
4. Register 0xA8 should be read back. If Bit 0 is high, the test
is not yet complete. If Bit 0 is low, the test is complete and
Bits 1 and 2 indicate the condition of the internal ram. If
Bit 1 is high, then CMEM is bad. If Bit 2 is high, then
DMEM is bad.
Table VIII. BIST Register 0xA8
Synchronization
In scenarios where AGC output is connected to a RAKE receiver,
the RAKE receiver can synchronize the average and update section to update the average power for AGC error calculation and
loop filtering. This external sync signal synchronizes the AGC
changes to the RAKE receiver and makes sure that the AGC
gain does not change over a symbol period, resulting in more
accurate estimation. Such synchronization can be accomplished
by setting the appropriate bits of the AGC control register.
When the channel comes out of sleep, it loads the AGC holdoff
counter value and starts counting down, clocked by the Master
clock. When this counter reaches zero, the CIC filter of the
AGC starts decimation and updates the AGC loop filter based
on the set CIC decimation value.
0xA8
Coefficient MEM
Data MEM
XX1
000
010
100
110
Test incomplete
PASS
FAIL
PASS
FAIL
Test incomplete
PASS
PASS
FAIL
FAIL
Channel BIST
Further, whenever the user wants to synchronize the start of
decimation for a new update sample, an appropriate holdoff
value can be set in the AGC Holdoff counter (0x0B, 0x13) and
then the Sync now bit (Bit 3) in the AGC control word is set.
Upon setting this bit, the holdoff counter value is counted down
and a CIC decimated value is updated on the count of zero.
The Channel BIST is a thorough test of the selected AD6635
signal path. With this test mode, it is possible to use externally
supplied vectors or an internal pseudorandom generator. An
error signature register in the RCF monitors the output data of
the channel, and is used to determine whether the proper data
exits the RCF. If errors are detected, each internal block may be
bypassed and another test can be run to debug the fault. The I
and Q paths are tested independently. The following steps
should be followed to perform this test.
Along with updating a new value, the CIC filter accumulator
can be reset if Init on Sync bit (Bit 2) of the AGC control word
is set. Each sync will initiate a new sync signal unless first sync
only bit (Bit 1) of the AGC control word is set. If this bit is not
set, again the holdoff counter is loaded with the value in the
Holdoff register to count down and repeat the same process.
These additional features make the AGC synchronization more
flexible and applicable to varied circumstances.
2. The channels should remain in the Sleep mode.
3. The Start Holdoff counter of the channels to be tested
should be set to 1.
4. Memory locations 0xA5 and 0xA6 should be set to 0.
5. The Channel BIST located at 0xA7 should be enabled by
setting Bits 19–0 to the number of RCF outputs to observe.
Addresses 0x0A–0x11 have been reserved for configuring AGC
A, and addresses 0x12–0x19 have been reserved for configuring
AGC B. The register specifications are detailed in the Memory
Map for Output Port Control Registers section.
6. Bit 4 of External Address Register 5 should be set high to
start the soft sync.
7. Set the SYNC bits high for the channels to be tested.
USER-CONFIGURABLE BUILT-IN SELF TEST (BIST)
The AD6635 includes two built-in test features to test the integrity of each channel. The first is a RAM BIST and is intended
to test the integrity of the high speed random access memory
within the AD6635. The second is Channel BIST, which is
designed to test the integrity of the main signal paths of the
REV. 0
1. The channels to be tested should be configured as required
for the application, setting the decimation rates, scalars,
and RCF coefficients.
–35–
8. Bit 6 must be set to 0 to allow the user to provide test
vectors. The internal pseudorandom number generator
may also be used to generate an input sequence by setting
Bit 7 high.
9. An internal full-scale sine wave can be inserted when Bit 6
is set to 1 and Bit 7 is cleared.
AD6635
10. When the SOFT_SYNC is addressed, the selected channels
will come out of the sleep mode and processing will occur.
(low pulse on the AD6635 RESET pin), all channels are
placed into Sleep mode. Channels may also be manually put to
sleep by writing to the external address 0x3 controlling the
sleep function.
11. If the user is providing external vectors, then the chip may
be brought out of Sleep mode by one of the other methods,
provided that either of the IEN inputs is inactive until the
channel is ready to accept data.
Start with No Sync
If no synchronization is needed to start multiple channels or
multiple AD6635s, the following method should be used to
initialize the device:
12. After a sufficient amount of time, the Channel BIST Signature registers 0xA5 and 0xA6 will contain a numeric value
that can be compared to the expected value for a known
good AD6635 with the exact same configuration. If the
values are the same, then there is a very low probability that
there is an error in the channel.
1. To program a channel, it must first be set to Sleep mode (bit
high, Ext address 3). All appropriate control and memory
registers (filter) are then loaded. The Start Update Holdoff
counter (0x83) should be set to 1:
2. Set the Sleep bits low (Ext address 3). This enables the channel. Note that when using external addresses, appropriate
chip selects should be used for the different channels. Channels 0–3 are started when CS0 is used, and Channels 4 –7
when CS1 is used.
CHIP SYNCHRONIZATION
Two types of synchronization can be achieved with the
AD6635. These are Start and Hop. Each is described in detail
below. The synchronization is accomplished with the use of a
shadow register and a holdoff counter. See Figure 33 for a
simplified schematic of the NCO shadow register and NCO
Frequency Holdoff counter to understand its basic operation.
Enabling the clock (AD6635 CLK) for the holdoff counter can
occur with either a Soft_Sync (via the Microport) or a pin sync
(via any of the four AD6635 SYNC Pins A, B, C, or D).
MICRO
REGISTER
I0
Q0
SHADOW
REGISTER
I0
Q0
Start with Soft Sync
The AD6635 includes the ability to synchronize channels or
chips under microprocessor control. One action to synchronize
is the start of channels or chips. The Start Update Holdoff
counter (0x83) in conjunction with the Start bit and Sync bit
(Ext address 5) allow this synchronization. Basically, the Start
Update Holdoff counter delays the start of a channel(s) by its
value (number of AD6635 CLKs). The following method is
used to synchronize the start of multiple channels via microprocessor control:
NCO
FREQUENCY
REGISTER
Q0
I0
TO
NCO
I31
FROM
MICROPORT
Q31
I31
Q31
PIN SYNC
ENABLE
1. Set the appropriate channels to Sleep mode (a hard reset to
the AD6635 RESET pin brings all four channels up in
Sleep mode).
Q31
2. Note that the time from when the RDY (DTACK) pin goes
high to when the NCO begins processing data is the contents
of the Start Update Holdoff Counter(s) (0x83) plus six master clock cycles.
NCO FREQUENCY
UPDATE HOLD OFF
COUNTER
B0
AD6635
CLK
SOFT SYNC
ENABLE
I31
3. Write the Start Update Holdoff counter(s) (0x83) to the
appropriate value (greater than 1 and less than 216 – 1). If
the chip(s) is not initialized, all other registers should be
loaded at this step.
B15
TC
ENB
4. Write the Start bit and the SYNC bit high (Ext address 5).
Figure 33. NCO Shadow Register and Holdoff Counter
The four SYNC pins available on the AD6635 are common to
the entire chip, i.e., all 8 channels and all 4 AGCs. On the other
hand, the 4 Soft Sync channels specific to Channels 0 to 3 and
AGCs A and B are different from the 4 Soft Sync channels
specific to Channels 4 to 7 and AGCs C and D. This is the
effect of using different chip selects (CS0 and CS1) for these
different sets of sync channels. When using CS1 to program the
microport, the SOFT_SYNC register (external address 0x5)
and the SOFT SYNCs for Channels 4, 5, 6, and 7 are programmed. It should be noted that the SYNC pins are separate
from SOFT_SYNC Channels 0, 1, 2, and 3.
Start
Start refers to the startup of an individual channel, chip, or
multiple chips. If a channel is not used, it should be put in the
Sleep mode to reduce power dissipation. Following a hard reset
5. This starts the Start Update Holdoff counter counting
down. The counter is clocked with the AD6635 CLK signal.
When it reaches a count of one, the Sleep bit of the appropriate channel(s) is set low to activate the channel(s).
6. Note that Channels 0 to 3 and 4 to 7 will receive syncs
during different microport writes (separate syncs have to be
used for Channels 0 to 3 and 4 to 7). This time difference
for the two sets of channels (separate microport writes)
should be noted.
Start with Pin Sync
The AD6635 has four Sync Pins, A, B, C, and D, that can
provide for very accurate synchronization channels. Each channel can be programmed to listen to any of the four Sync pins.
Additionally, any or all channels can monitor a single Sync pin
or each can monitor a separate pin, providing complete flexibility in synchronization. Synchronization of Start with one of the
external signal is accomplished with the following method.
–36–
REV. 0
AD6635
it reaches a count of one, the new frequency is loaded into
the NCO.
1. Set the appropriate channels to Sleep mode (a hard reset to
the AD6635 RESET pin brings all four channels up in sleep
mode).
6. Note that channels 0 to 3 and 4 to 7 will receive syncs during
different microport writes (separate syncs have to be used for
Channels 0 to 3 and 4 to 7). This time difference for the two
sets of channels (separate microport writes) should be noted.
2. Note that the time from when the Sync pin goes high to
when the NCO begins processing data is the contents of the
Start Update Holdoff counter(s) (0x83) plus three master
clock cycles.
Hop with Pin Sync
3. Write the Start Update Holdoff counter(s) (0x83) to the
appropriate value (greater than 1 and less than 216 – 1). If
the chip(s) is not initialized, all other registers should be
loaded at this step.
The AD6635 includes four Sync pins to provide the most accurate synchronization, especially between multiple AD6635s.
Synchronization of hopping to a new NCO frequency with an
external signal is accomplished with the following method.
4. Set the Start on Pin Sync bit and the appropriate Sync Pin
Enable high (Ext address 4; A, B, C, or D).
1. Note that the time from when the SYNC pin goes high to
when the NCO begins processing data is the contents of the
NCO Freq Holdoff counter (0x84) plus five master clock
cycles.
5. When the Sync pin is sampled high by the AD6635 CLK,
this enables the countdown of the Start Update Holdoff
counter. The counter is clocked with the AD6635 CLK
signal. When it reaches a count of one, the Sleep bit of the
appropriate channel(s) is set low to activate the channel(s).
2. Write the NCO Freq Holdoff counter(s) (0x84) to the
appropriate value (greater than 1 and less than 216 – 1).
3. Write the NCO Frequency register(s) to the new desired
frequency.
6. Unlike Soft Syncs, Pin Syncs have effect on all the channels at
the same time. See Step 6 of the previous section, Start with
Soft Sync to understand the delays between the two sets of
channels. These delays do not occur with Pin Sync since the
Sync pins are shared between all the AD6635 channels.
4. Set the Hop on Pin Sync bit and the appropriate Sync Pin
Enable high.
5. When the selected Sync pin is sampled high by the AD6635
CLK, this enables the countdown of the NCO Freq Holdoff
counter. The counter is clocked with the AD6635 CLK
signal. When it reaches a count of one, the new frequency is
loaded into the NCO.
Hop
Hop is a jump from one NCO frequency to a new NCO frequency. This change in frequency can be synchronized via
microprocessor control (Soft Sync) or an external Sync signal
(Pin Sync) as described below.
6. Unlike Soft Syncs, Pin Syncs have effect on all the channels
at the same time. See Step 6 of the section, Start with Soft
Sync, to understand the delays between the two sets of channels. These delays do not occur with Pin Sync since all the
Sync pins are shared between all the AD6635 channels.
To set the NCO frequency without synchronization, the following method should be used.
Set Frequency No Hop
1. Set the NCO Freq Holdoff counter to 0.
PARALLEL OUTPUT PORTS
2. Load the appropriate NCO frequency. The new frequency
will be immediately loaded to the NCO.
Hop with Soft Sync
The AD6635 includes the ability to synchronize a change in
NCO frequency on multiple channels or chips under microprocessor control. The NCO Freq Holdoff counter (0x84) in
conjunction with the Hop bit and the Sync bit (Ext address 4)
allow this synchronization. Basically, the NCO Freq Holdoff
counter delays the new frequency being loaded into the NCO
by its value (number of AD6635 CLKs). The following method
is used to synchronize a hop in frequency on multiple channels
via microprocessor control.
1. Note that the time from when the RDY (DTACK) pin goes
high to when the NCO begins processing data is the contents
of the NCO Freq Holdoff counter (0x84) plus seven master
clock cycles.
The AD6635 incorporates four independent 16-bit parallel
ports and link ports for output data transfer. The parallel ports
and link ports share pins and internal mux circuitry. For each
data path, i.e., for each Output Port (A, B, C, or D), either a
parallel port or a link port can be selected, but not both. A
parallel port and a link port can be used simultaneously, but
only if they do not share the same data path; for example, Parallel Port A along with Link Port B, or Parallel Port B with Link
Port A. Figure 34 illustrates a simplified block diagram showing
the AD6635’s output data routing configuration for one output
port. It also shows the shared pins; eight pins of AD6635 are
shared with link port data pins and the parallel port channel
indicator pins are shared with the link port clock in and clock
out pins.
2. Write the NCO Freq Hold Off (0x84) counter to the appropriate value (greater than 1 and less than 216 – 1).
3. Write the NCO Frequency register(s) to the new desired
frequency.
4. Write the Hop bit and the Sync(s) bit high (Ext address 4).
5. This starts the NCO Freq Holdoff counter counting down.
The counter is clocked with the AD6635 CLK signal. When
REV. 0
–37–
AD6635
LINK PORT A CLOCK OUT
PORT A
LINK PORT A CLOCK IN
AD6635
ABOVE PINS SHARED
WITH PARALLEL PORT A
CHANNEL INDICATOR
LINK PORT A DATA
OR 8 LSBs OF
PARALLEL PORT A
DATA (SHARED PINS)
PCLKn
2
PxACK
tDPREQ
8
PxREQ
tDPP
PCLKO
8
PARALLEL PORT A
MSB DATA
Px[15:0]
PARALLEL PORT A ACK
I[15:8]; Q[7:0]
tDPIQ
PARALLEL PORT A REQ
PxlQ
PARALLEL PORT A
I AND Q INDICATOR
tDPCH
Figure 34. Data Routing for Output Port A
PxCH[1:0]
Parallel port configuration is specified by accessing Port Control
register addresses 0x1A and 0x1C. Port clock Master/Slave
mode (described later) is configured using the Port Clock Control register at address 0x1E. It should be noted that Output
Ports A and B have a separate clock (PCLK0) from Output
Ports C and D (PCLK1). Note that to access these registers,
Bit 5 (Access Port Control registers) of external address 3
(SLEEP register) must be set. The address is then selected by
programming the CAR register at external address 6.
The parallel ports are enabled by setting Bit 7 of the Link Control registers at addresses 0x1B and 0x1D.
Each parallel port is capable of operating in either Channel
mode or AGC mode. Each mode is described in detail below.
Channel Mode
Parallel port Channel mode is selected by setting Bit 0 of addresses
0x1A and 0x1B. In Channel mode, I and Q words from each
channel are directed to the parallel port, bypassing the interleaver,
the interpolating half-band filter, and AGC. The specific channels output by the port are selected by setting Bits 1–4 of the
Input Port Control register 0x1A and 0x1C. Each Channel
0–3 can be independently output on either Port A, Port B, or
both. Similarly, each Channel 4–7 can be independently output
on either Port C, Port D, or both.
Channel mode provides two data formats. Each format requires
a different number of parallel port clock (PCLK) cycles to complete the transfer of data. In each case, each data element is
transferred during one PCLK cycle. See Figures 35 and 36,
which present Channel mode parallel port timing.
PxCH[1:0] =
CHANNEL NO.
Figure 36. Channel Mode 8I/8Q Parallel Format
The 16-bit interleaved format provides I and Q data for each
output sample on back-to-back PCLK cycles. Both I and Q
words consist of the full port width of 16 bits. Data output is
triggered on the rising edge of PCLK when both REQ and ACK
are asserted. I data is output during the first PCLK cycle, and
the PxIQ output indicator pins are set high to indicate that I
data is on the bus. Q data is output during the subsequent
PCLK cycle, and the PxIQ output indicator pins are low during
this cycle.
The 8-bit concurrent format provides 8 bits of I data and 8 bits
of Q data simultaneously during one PCLK cycle, also triggered
on the rising edge of PCLK. The I byte occupies the most significant byte of the port, while the Q byte occupies the least
significant byte. The PxIQ (where x = A, B, C, or D) output
indicator pins are set high during the PCLK cycle. Note that if
data from multiple channels are output consecutively, the PxIQ
output indicator pins will remain high until data from all channels has been output. It should be noted that output Ports
(either parallel or link) A and B can output data only from
Channels 0–3, and similarly, Output Ports C and D can output
data only from Channels 4–7.
The PACH[1:0] and PBCH[1:0] pins provide a 2-bit binary
value indicating the source channel of the data currently being
output. This value will convey the channel numbers 0 to 3.
Similarly PCCH[1:0] and PDCH[1:0] pins provide a 2-bit
binary value indicating the source channel of the data currently
being output, the channels being 4 to 7. Binary value 00 indicates Channel 4, and value 11 indicates Channel 7.
PCLKn
Care should be taken to read data from the port as soon as
possible. If not, the sample will be overwritten when the next
new data sample arrives. This occurs on a per channel basis;
i.e., a Channel 0 sample will only be overwritten by a new
Channel 0 sample, and so on.
PxACK
tDPREQ
PxREQ
tDPP
Px[15:0]
I[15:0]
Q[15:0]
tDPIQ
PxlQ
tDPCH
PxCH[1:0]
PxCH[1:0] = CHANNEL NO.
Figure 35. Channel Mode Interleaved Format (16-bit I/Q)
The order of data output is dependent on when data arrived at
the port, which is a function of total decimation rate, Start
Holdoff values, and so on. Priority order is, from highest to
lowest, Channels 0, 1, 2, and 3, and similarly on Ports C and D
it is Channels 4, 5, 6, and 7.
AGC Mode
Parallel port channel mode is selected by clearing Bit 0 of
addresses 0x1A and 0x1C. I and Q data output in AGC mode
are output from the AGC, not the individual channels. Parallel
Ports A and B can provide data from either AGC A, AGC B, or
–38–
REV. 0
AD6635
both. Bits 1 and 2 of register addresses 0x1A and 0x1C control
the inclusion of data from AGCs A and B, respectively. Similarly, Parallel Ports C and D can provide data from either
AGC C, AGC D, or both.
Master/Slave PCLKn Modes
AGC mode provides only one I and Q format, which is similar
to the 16-bit Interleaved format of Channel mode. When both
REQ and ACK are asserted, the next rising edge of PCLK
triggers the output of a 16-bit AGC I word for one PCLK cycle.
The PxIQ (x = A, B, C, or D) output indicator pins are high
during this cycle, and low otherwise. A 16-bit AGC Q word is
provided during the subsequent PCLK cycle. If the AGC gain
word has been updated since the last sample, a 12-bit RSSI
word (Receive Signal Strength Indicator) is provided during the
PCLK cycle following the Q word on the 12 MSBs of the parallel port data pins. The RSSI word is the bit inverse of the signal
gain word used in the gain multiplier of the AGC.
The data provided by the PACH[1:0] and PBCH[1:0] pins in
AGC mode is different than that provided in Channel mode. In
AGC mode, PACH[0] and PBCH[0] indicate the AGC source
of the data currently being output (0 = AGC A, 1 = AGC B).
PACH[1] and PBCH[1] indicate whether the current data is an
I/Q word or an AGC RSSI word (0 = I/Q word, 1 = AGC RSSI
word). The two different AGC outputs are shown in Figures 37
and 38.
PCLKn
PxACK
tDPREQ
PxREQ
tDPP
I[15:0]
Px[15:0]
Q[15:0]
tDPIQ
PxlQ
tDPCH
PxCH[0] = AGC NO.
PxCH[1] = 0
PxCH[1:0]
Figure 37. AGC with No RSSI Word
PCLKn
tDPREQ
PxREQ
tDPP
I[15:0]
Q[15:0]
RSSI[11:0]
tDPIQ
tDPCH
PxlQ
PxCH[1:0]
In Master mode, PCLK is an output whose frequency is the
AD6635 clock frequency divided by the PCLK divisor. Since
values for PCLK_divisor [2:1] can be set to 0, 1, 2, or 3, integer
divisors of 1, 2, 4, or 8, respectively, can be obtained. Since the
maximum clock rate of the AD6635 is 80 MHz, the highest
PLCK rate in Master mode is also 80 MHz. Master mode is
selected by setting Bit 0 of address 0x1E.
In Slave mode, external circuitry provides the PCLK signal.
Slave mode PCLK signals may be either synchronous or
asynchronous. The maximum Slave mode PCLK frequency
is 100 MHz.
Parallel Port Pin Functionality
The following describes the functionality of the pins used by the
parallel ports.
PCLK: Input/output. As an output (Master mode), the maximum frequency is CLK/N, where CLK is the AD6635 clock
and N is an integer divisor of 1, 2, 4, or 8. As an input (Slave
mode), it may be asynchronous relative to the AD6635 CLK.
This pin powers up as an input to avoid possible contentions.
Other port outputs change on the rising edge of PCLK.
REQ: Active high output, synchronous to PCLK. A logic high
on this pin indicates that data is available to be shifted out of
the port. The logic level remains high until all pending data has
been shifted out.
ACK: Active high asynchronous input. Applying a logic low on
this pin inhibits parallel port data shifting. Applying a logic high
to this pin when REQ is high causes the parallel port to shift out
data according to the programmed data mode. ACK is sampled
on the rising edge of PCLK. Assuming REQ is asserted, the
latency from the assertion of ACK to data appearing at the
parallel port output is no more than 1.5 PCLK cycles (see
Figure 12). ACK may be held high continuously; in this case,
when data becomes available, shifting begins one PCLK cycle
after the assertion of REQ (see Figures 35, 36, and 37).
PAIQ, PBIQ, PCIQ, PDIQ: High whenever I data is present
on the port output, low otherwise.
PxACK
Px[15:0]
The parallel ports may operate in either Master or Slave mode.
The mode is set via the Port Clock Control register (address
0x1E). The parallel ports power up in Slave mode to avoid
possible contentions on the PCLKn pin. Parallel Ports A and B
can be set up in Master mode while Ports C and D are set up in
Slave mode, or vice versa. But, both the Ports A and B, or C
and D, should be in the same mode, since they share the parallel port clock PCLK0 and PCLK1, respectively.
PxCH[0] = AGC NO.
PxCH[1] = 0
PxCH[0] = AGC NO.
PxCH[1] = 1
PxCH[1:0], PxCH[1:0], PCCH[1:0], PDCH[1:0]: These pins
serve to identify data in both of the data modes. In Channel
mode, these pins form a 2-bit binary number identifying the
source channel of the current data word. In AGC mode, [0]
indicates the AGC source (0 = AGC A, 1 = AGC B), and [1]
indicates whether the current data word is (0 = I/Q data) or
(1 = RSSI word). Similarly for parallel Ports C and D, [0]
indicates the AGC source (0 = AGC C, 1 = AGC D), and [1]
indicates whether the current data word is (0 = I/Q data) or
(1 = RSSI word).
PA[15:0], PB[15:0], PC[15:0], PD[15:0]: Parallel output data
ports. Contents and format are mode dependent.
Figure 38. AGC with RSSI Word
REV. 0
–39–
AD6635
LINK PORT
The AD6635 has four configurable link ports that provide a
seamless data interface with the TigerSHARC DSP. Each link
port allows the AD6635 to write output data to the receive
DMA channel in the TigerSHARC for transfer to memory.
Since they operate independently of each other, each link port
can be connected to a different TigerSHARC or to different link
ports on the same TigerSHARC. Figure 39 shows how to connect one of the four AD6635 link ports to one of the four
TigerSHARC link ports. Individual link ports are configured
through their respective registers.
LINK PORT
A OR B
AGC A I, Q
(4 BYTES)
LINK PORT
A OR B
AGC A I, Q
(4 BYTES)
LINK PORT A
AGC A I, Q
(4 BYTES)
AGC A RSSI
(4 BYTES)
AGC A I, Q
(4 BYTES)
AGC A RSSI
(4 BYTES)
LINK PORT B
AGC B I, Q
(4 BYTES)
AGC B RSSI
(4 BYTES)
AGC B I, Q
(4 BYTES)
AGC B RSSI
(4 BYTES)
AGC B I, Q
(4 BYTES)
AGC A I, Q
(4 BYTES)
AGC B I, Q
(4 BYTES)
ADDR 0x1B OR 0x1D BIT 0 = 1, BIT 1 = 0, BIT 2 = 0
AGC A RSSI
(4 BYTES)
AGC B I, Q
(4 BYTES)
AGC B RSSI
(4 BYTES)
ADDR 0x1B OR 0x1D BIT 0 = 1, BIT 1 = 0, BIT 2 = 1
ADDR 0x1B OR 0x1D BIT 0 = 1, BIT 1 = 1, BIT 2 = 0
Figure 41. Link Port Data from AGC
Note that Bit 0 = 1, Bit 1 = 0, and Bit 2 = 1 is not a valid configuration. Bit 2 must be set to 0 to output AGC A IQ and RSSI
words on link Port A, and AGC B IQ and RSSI words on link
Port B.
TigerSHARC
AD6635
LCLKIN
LCLKOUT
LCLKIN
8
LDAT
LCLKOUT
LDAT
PCLK
Link Port Timing
PCLK
Figure 39. Link Port Connection between AD6635
and TigerSHARC
Link Port Data Format
Each link port can output data to the TigerSHARC in five
different formats: 2-channel, 4-channel, dedicated AGC,
redundant AGC with RSSI word, and redundant AGC without
RSSI word. Each format outputs 2 bytes of I data and 2 bytes of
Q data to form a 4-byte IQ pair. Since the TigerSHARC link
port transfers data in quad-word (16-byte) blocks, four IQ pairs
can make up one quad-word. If the channel data is selected (Bit
0 of 0x1B/0x1D = 0), then 4-byte IQ words of the four channels
can be output in succession, or alternating channel pair IQ
words can be output. Figures 40 and 41 show the quad-word
transmitted for each scenario with corresponding register values
for configuring each link port.
Link Ports A and B derive their clocks of PCLK0 and link Ports
C and D of PCLK1, which can be externally provided to the
chip (Addr 0x1E, Bit 0 = 0) or generated from the master clock
of the AD6635 (Addr 0x1E, Bit 0 = 1). This register boots to 0
(slave mode) and allows the user to control the data rate coming
from the AD6635. PCLK can be run as fast as 100 MHz.
The link port provides 1-byte data-words (Lx[7:0] pins) and
output clocks (LxCLKOUT pins) in response to a ready signal
(LxCLKIN pins) from the receiver, where x = A, B, C, or D.
Each link port transmits 8 bits on each edge of LCLKOUT,
requiring eight LCLKOUT cycles to complete transmission of
the full 16 bytes of a TigerSHARC quad-word.
LCLKIN
LCLKOUT
LDAT[7:0]
LINK PORT
A OR B
CH 0 I, Q
(4 BYTES)
LINK PORT A
CH 0 I, Q
(4 BYTES)
CH 1 I, Q
(4 BYTES)
CH 0 I, Q
(4 BYTES)
CH 1 I, Q
(4 BYTES)
LINK PORT B
CH 2 I, Q
(4 BYTES)
CH 3 I, Q
(4 BYTES)
CH 2 I, Q
(4 BYTES)
CH 3 I, Q
(4 BYTES)
CH 1 I, Q
(4 BYTES)
CH 2 I, Q
(4 BYTES)
TigerSHARC READY TO
RECEIVE NEXT QUAD-WORD
TigerSHARC READY TO
RECEIVE QUAD-WORD
WAIT > 6 CYCLES
D0 D1 D2 D3
D4
CH 3 I, Q
(4 BYTES)
D15
D0 D1 D2
NEXT QUAD-WORD
Figure 42. Link Port Data Transfer
ADDR 0x1B OR 0x1D BIT 0 = 0, BIT 1 = 0
ADDR 0x1B OR 0x1D BIT 0 = 0, BIT 1 = 1
Figure 40. Link Port Data from RCF
If AGC output is selected (Bit 0 of 0x1B/0x1D = 1), then RSSI
information can be sent with the IQ pair from each AGC. Each
link port can be configured to output data from one AGC or
both link ports can output data from the same AGC. If both link
ports are transmitting the same data, then RSSI information
must be sent with the IQ words (Bit 2 = 0). Note that the actual
AGC RSSI is only 2 bytes (12 bits of RSSI word appended with
four zeros), so the link port sends 2 bytes of 0s immediately after
each RSSI word to make a full 16-byte quad-word.
Due to the TigerSHARC link port protocol, the AD6635 must
wait at least six PCLK cycles after the TigerSHARC is ready to
receive data, as indicated by the TigerSHARC setting the respective AD6635 LCLKIN pin high. Once the AD6635 link port
has waited the appropriate number of PCLK cycles and has
begun transmitting data, the TigerSHARC does a connectivity
check by sending the AD6635 LCLKIN low and then high
while the data is being transmitted. This tells the AD6635 link
port that the TigerSHARC’s DMA is ready to receive the next
quad-word after completion of the current quad-word. Because
the connectivity check is done in parallel to the data transmission, the AD6635 is able to stream uninterrupted data to the
TigerSHARC.
The length of the wait before data transmission is a 4-bit programmable value in the link port control registers (0x1B and
0x1D, Bits 6–3). This value allows the AD6635 PCLK and the
TigerSHARC PCLK to be run at different rates and out of phase.
Ê
fLCLK _ 34 ˆ
WAIT ≥ ceil Á 6 ¥
fLCLK _ TSHARC ˜¯
Ë
–40–
REV. 0
AD6635
WAIT ensures that the amount of time the AD6635 needs to
wait to begin data transmission is at least equal to the minimum
amount of time the TigerSHARC is expecting it to wait. If the
PCLK of the AD6635 is out of phase with the PCLK of the
TigerSHARC and the argument to the ceil( ) function is an
integer, then WAIT must be strictly greater than the value given
in the above formula. If the LCLKs are in phase, the maximum
output data rate is
fLCLK _ 34 £
15
¥ fLCLK _ TSHARC
6
fLCLK _ 34 £
14
¥ fLCLK _ TSHARC
6
TigerSHARC Configuration
Since the AD6635 is always the transmitter in this link and the
TigerSHARC is always the receiver, the following values can be
programmed into the LCTL register for the link port used to
receive AD6635 output data. “User” means that the actual
register value depends on the user’s application.
Table IX. TigerSHARC LCTLx Register Configuration
VERE
SPD
LTEN
PSIZE
TTOE
CERE
LREN
RTOE
otherwise, it is
0
User
0
1
0
0
1
1
MEMORY MAP
This section describes the memory maps for channel, memory,
and for the input and output control registers.
Table X. Channel Memory Map (Part 1)
Channel Address
Register
Bit Width
Comments
00–7F
Coefficient Memory (CMEM)
20
128 ⫻ 20-Bit Memory
80
CHANNEL SLEEP
1
0: SLEEP Bit from EXT_ADDRESS 3
81
Soft_Sync Control Register
2
1: Hop
82
Pin_SYNC Control Register
3
0: Start
2: First SYNC Only
1: Hop_En
0: Start_En
83
Start Holdoff Counter
16
Start Holdoff Value
84
NCO Frequency Holdoff Counter
16
NCO_FREQ Holdoff Value
85
NCO Frequency Register 0
16
NCO_FREQ[15:0]
86
NCO Frequency Register 1
16
NCO_FREQ[31:16]
87
NCO Phase Offset Register
16
NCO_PHASE[15:0]
88
NCO Control Register
9
8–7: SYNC Input Select[1:0]
6: WB Input Select B/A
5–4: Input Enable Control
11: Clock on IEN Transition to Low
10: Clock on IEN Transition to High
01: Clock on IEN High
00: Mask on IEN Low
3: Clear Phase Accumulator on HOP
2: Amplitude Dither
1: Phase Dither
0: Bypass (A Input Æ I-Path, B Æ Q)
89–8F
REV. 0
(C Input Æ I-Path, D Æ Q)
Unused
–41–
AD6635
Each individual channel of the AD6635 has a separate channel
memory map. These memory maps are addressed by using the
appropriate chip select pin (CS0, CS1) and writing the appropriate 2-bit address in the two LSBs of external address 7. If
CS0 is used for programming, 00 in these two bits accesses the
memory map of Channel 0, 01 accesses that of Channel 1, 10
accesses that of Channel 2, and 11 accesses that of Channel 3.
If CS1 is used, 00 corresponds to Channel 4, 01 to Channel 5,
10 to Channel 6, and 11 to Channel 7. It should be noted that
when doing this, Bit 5 of external address 3 (access input/output control registers) is not enabled.
0x84: NCO Frequency Holdoff Counter
The NCO Frequency Holdoff counter is loaded with the value
written to this address when either a Soft_SYNC or Pin_SYNC
comes into the channel. The counter begins counting down so
that when it reaches 1, the NCO frequency word is updated
with the values of addresses 0x85 and 0x86. This is known as a
Hop or Hop_SYNC. If this register is written to a 1, the NCO
frequency will be updated immediately when the SYNC comes
into the channel. If it is written to a 0, no hop will occur. NCO
hops can be either phase continuous or nonphase continuous,
depending upon the state of Bit 3 of the NCO Control register
at channel address 0x88. When this bit is low, the Phase Accumulator of the NCO is not cleared but starts to add the new
NCO frequency word to the accumulator as soon as the SYNC
occurs. If this bit is high, the Phase Accumulator of the NCO is
cleared to 0 and the new word is then accumulated.
0x00–0x7F: Coefficient Memory (CMEM)
This is the Coefficient Memory (CMEM) used by the RCF. It
is memory mapped as 128 words ⴛ 20 bits. A second 128
words of RAM may be accessed via this same location by writing Bit 8 of the RCF control register high at channel address
0xA4. The filter calculated will always use the same coefficients
for I and Q. By using memory from both of these 128 blocks, a
filter up to 160 taps can be calculated. Multiple filters can be
loaded and selected with a single internal access to the Coefficient Offset register at channel address 0xA3.
0x85: NCO Frequency Register 0
0x80: Channel Sleep Register
This register contains the SLEEP bit for the channel. When this
bit is high, the channel is placed in a low power state. When this
bit is low, the channel processes data. This bit can also be set
by accessing the SLEEP register at external address 3. When
the External SLEEP register is accessed, all four channels are
accessed simultaneously and the SLEEP bits of the channels are
set appropriately.
0x81: Soft_SYNC Register
This register is used to initiate SYNC events through the
microport. If the Hop bit is written high, then the Hop Holdoff
counter at address 0x84 is loaded and begins to count down.
When this value reaches 1, the NCO Frequency register used
by the NCO accumulator is loaded with the data from channel
addresses 0x85 and 0x86. When the Start bit is set high, the
Start Holdoff Counter is loaded with the value at address 0x83
and begins to count down. When this value reaches 1, the Sleep
bit in address 0x80 is dropped low and the channel is started.
This register represents the 16 LSBs of the NCO frequency
word. These bits are shadowed and are not updated to the register used for the processing until the channel is either brought
out of SLEEP, or a Soft_SYNC or Pin_SYNC has been issued.
In the latter two cases, the register is updated when the Frequency Holdoff counter hits a value of 1. If the Frequency
Holdoff counter is set to 1, the register will be updated as soon
as the shadow is written.
0x86: NCO Frequency Register 1
This register represents the 16 MSBs of the NCO Frequency
word. These bits are shadowed and are not updated to the register used for the processing until the channel is either brought
out of SLEEP, or a Soft_SYNC or Pin_SYNC has been issued.
In the latter two cases, the register is updated only when the
Frequency Holdoff counter hits a value of 1. If the Frequency
Holdoff counter is set to 1, the register will be updated as soon
as the shadow is written.
0x87: NCO Phase Offset Register
This register represents a 16-bit phase offset to the NCO. It is
interpreted as values ranging from 0 radians to 2␲ ⴛ (216 – 1)/
(216) radians.
0x88: NCO Control Register
0x82: Pin_SYNC Register
This register is used to control the functionality of the SYNC
pins. Any of the four SYNC pins can be chosen and monitored
by the channel. The channel can be configured to initiate either
a Start or Hop SYNC event by setting the Hop or Start bit
high. These bits function as enables so that when a SYNC pulse
occurs, either the Start or Hop Holdoff counters are activated
in the same manner as with a Soft_SYNC.
0x83: Start Holdoff Counter
The Start Holdoff counter is loaded with the value written to
this address when a Start_Sync is initiated. It can be initiated
by either a Soft_SYNC or Pin_SYNC. The counter begins
decrementing and when it reaches a value of 1, the channel is
brought out of SLEEP and begins processing data. If the channel is already running, then the phase of the filters are adjusted
such that multiple AD6635s can be synchronized. A periodic
pulse on the SYNC pin can be used in this way to adjust the
timing of the filters with the resolution of the ADC sample
clock. If this register is written to a 1, the Start will occur immediately when the SYNC comes into the channel. If it is written
to a 0, no SYNC will occur.
This 9-bit register controls features of the NCO and the channel. The bits are defined below. The numerically controlled
oscillator (NCO) section should be consulted for more detail.
Bits 8–7 of this register choose which of the four SYNC pins are
used by the channel. The SYNC pin selected can be used to
initiate a start, hop, or timing adjustment to the channel. The
Synchronization section provides more details.
Bit 6 of this register defines the input used by the channel. For
Channels 0 to 3, the input port can be A or B, while for Channels 4 to 7, the Input port can be C or D. For Channels 0 to 3,
if this bit is low, input Port A is selected, and if this bit is high,
Input Port B is selected. For Channels 4 to 7, if this bit is low,
Input Port C is selected, and if this bit is high, Input Port D is
selected. Each channel can select its input port individually.
Each input port consists of a 14-bit input mantissa (INx[13:0]),
a 3-bit exponent(EXPx[2:0]), and an input enable pin IENx.
The x represents either A, B, C, or D.
Bits 5–4 determine how the sample clock for the channel is
derived from the high speed CLK signal. There are four possible
choices. Each is defined below; for further detail the numerically
controlled oscillator (NCO) section.
–42–
REV. 0
AD6635
When these bits are 00 the input sample rate (fSAMP) of the
channel is equal to the rate of the high speed CLK signal. When
IEN is low, the data going into the channel is masked to 0. This
is an appropriate mode for TDD systems in which the receiver
may wish to mask off the transmitted data yet still remain in the
proper phase for the next receive burst.
When these bits are 01, the input sample rate is determined by
the fraction of the rising edges of CLK on which the IEN input
is high. For example, if IEN toggles on every rising edge of
CLK, then the IEN signal will only be sampled high on one out
of every two rising edges of CLK. This means that the input
sample rate fSAMP will be one-half the CLK rate.
When these bits are 10, the input sample rate is determined by
the rate at which the IEN pin toggles. The data that is captured
on the rising edge of CLK after IEN transitions from low to
high is processed. When these bits are 11, the accumulator and
sample CLK are determined by the rate at which the IEN pin
toggles. The data that is captured on the rising edge of CLK
after IEN transitions from high to low is processed. For
example, control modes 10 and 11 can be used to allow
interleaved data from either the A or B input ports and then
assigned to the respective channel. The IEN pin selects the data
such that one channel could be configured in Mode 10 and
another could be configured in Mode 11.
Bit 3 determines whether the phase accumulator of the NCO is
cleared when a hop occurs. The hop can originate from either
the Pin_SYNC or Soft_SYNC. When this bit is set to 0, the hop
is phase continuous and the accumulator is not cleared. When
this bit is set to 1, the accumulator is cleared to 0 before it
begins accumulating the new frequency word. This is appropriate
when multiple channels are hopping from different frequencies
to a common frequency.
Bits 2–1 control whether the dithers of the NCO are activated. The use of these features is heavily determined by the
system constraints. Consult the numerically controlled
oscillator (NCO) section for more detailed information on
the use of dither.
Bit 0 of this register allows the NCO frequency translation
stage to be bypassed. When this occurs, the data from the A
input port is passed down the I path of the channel and the
data from the B input port is passed down the Q path of the
channel. This allows a real filter to be performed on baseband
I and Q data. For Channels 4 to 7, C input port is I-path and
D input port is Q-path.
Table XI. Channel Memory Map (Part 2)
Channel Address
Register
Bit Width
Comments
90
rCIC2 Decimation – 1
12
MrCIC2 – 1
91
rCIC2 Interpolation – 1
9
LrCIC2 – 1
92
rCIC2 Scale
12
11: Exponent Invert
10: Exponent Weight
9–5: rCIC2_QUIET[4:0]
4–0: rCIC2_LOUD[4:0]
93
Reserved
8
Reserved (Must Be Written Low)
94
CIC5 Decimation – 1
8
MCIC5 – 1
95
CIC5 Scale
5
4–0: CIC5_SCALE[4:0]
96
Reserved
8
Reserved (Must Be Written Low)
97–9F
Unused
A0
RCF Decimation – 1
8
MRCF – 1
A1
RCF Decimation Phase
8
PRCF
A2
RCF Number of Taps – 1
8
NTaps – 1
A3
RCF Coefficient Offset
8
CORCF or RCFOFF
A4
RCF Control Register
11
10: RCF Bypass BIST
9: RCF Input Select (Own 0, Other 1)
8: Program RAM Bank 1/0
7: Use Common Exponent
6: Force Output Scale
5–4: Output Format
1x: Floating Point 12 + 4
01: Floating Point 8 + 4
00: Fixed Point
3–0: Output Scale
REV. 0
–43–
AD6635
Table XI. Channel Memory Map (continued)
Channel Address
Register
Bit Width
Comments
A5
BIST Signature for I path
16
BIST-I
A6
BIST Signature for Q path
16
BIST-Q
A7
# of BIST outputs to accumulate
20
19–0: # of outputs (Counter Value Read)
A8
RAM BIST Control Register
3
2: D-RAM Fail/Pass
1: C-RAM Fail/Pass
0: RAM BIST Enable
A9
Output Control Register
9: Map RCF Data to BIST Registers
5: Output Format
1: 16-bit I and 16-bit Q
0: 12-bit I and 12-bit Q
0x90: rCIC2 Decimation – 1 (M rCIC2 – 1)
0x94: CIC5 Decimation – 1 (M CIC5 – 1)
This register is used to set the decimation in the rCIC2 filter.
The value written to this register is the decimation minus 1. The
rCIC2 decimation can range from 1 to 4096, depending upon
the interpolation of the channel. The decimation must always be
greater than the interpolation. MrCIC2 must be chosen larger
than LrCIC2 and both must be chosen such that a suitable rCIC2
scalar can be chosen. For more details, see the Second-Order
rCIC2 Filter section.
This register is used to set the decimation in the CIC5 filter.
The value written to this register is the decimation minus 1.
Although this is an 8-bit register, the decimation is usually limited between 1 and 32. Decimations higher than 32 require
more scaling than the CIC5 is capable of.
0x91: rCIC2 Interpolation – 1 (L rCIC2-1)
This register is used to set the interpolation in the rCIC2 filter.
The value written to this register is the interpolation minus 1.
The rCIC2 interpolation can range from 1 to 512, depending
upon the decimation of the rCIC2. There is no timing error
associated with this interpolation. For more details, see the
Second-Order rCIC2 Filter section.
Reserved. (Must be written low.)
0xA0: RCF Decimation – 1 (M RCF – 1)
The rCIC2 scale register is used to provide attenuation to compensate for the gain of the rCIC2, and to adjust the linearization
of the data from the floating-point input. The use of this scale
register is influenced both by the rCIC2 growth and floatingpoint input port considerations. For more details, see the
Second-Order rCIC2 Filter section.
The rCIC2 scalar has been combined with the exponent offset
and will need to be handled appropriately in both the input port
and rCIC2 sections.
Bit 10 determines the weight of the exponent word associated
with the input port. When this bit is low, each exponent step is
considered to be worth 6.02 dB. When this bit is high, each
exponent step is considered to be worth 12.02 dB.
Bits 9–5 are the actual scale value used when the level indicator
(LI) pin associated with this channel is active.
Bits 4–0 are the actual scale value used when the level indicator
(LI) pin associated with this channel is active.
0x93:
Reserved. (Must be written low.)
The CIC5 scale factor is used to compensate for the growth of
the CIC5 filter. Consult the Fifth-Order CIC5 filter section
for details.
0x96:
0x92: rCIC2 Scale
Bit 11 determines the polarity of the exponent. Normally, this
bit will be cleared unless an ADC such as the AD6600 is used,
in which case this bit will be set.
0x95: CIC5 Scale
This register is used to set the decimation of the RCF stage. The
value written is the decimation minus 1. Although this is an
8-bit register that allows decimation up to 256, for most filtering scenarios the decimation should be limited between 1 and
32. Higher decimations are allowed, but the alias protection of
the RCF may not be acceptable for some applications.
0xA1: RCF Decimation Phase (P RCF)
This register allows any one of the MRCF phases of the filter to
be used, and can be adjusted dynamically. Each time a filter is
started, this phase is updated. When a channel is synchronized,
it will retain the phase setting chosen here. This can be used as
part of a timing recovery loop with an external processor, or can
allow multiple RCFs to work together while using a single RCF
pair. Consult the RAM Coefficient Filter (RCF) section for
further details.
0xA2: RCF Number of Taps Minus 1 (N RCF – 1)
The number of taps for the RCF filter minus 1 is written here.
0xA3: RCF Coefficient Offset (CO RCF)
This register is used to specify which section of the 256-word
coefficient memory is used for a filter. It can be used to select
between multiple filters that are loaded into memory and referenced by this pointer. This register is shadowed and the filter
pointer is updated every time a new filter is started. This allows
the coefficient offset to be written even while a filter is being
computed without disturbing operation. The next sample that
comes out of the RCF will be with the new filter.
–44–
REV. 0
AD6635
0xA4: RCF Control Register
Table XIII. Output Formats
The RCF control register is an 11-bit register that controls
general features of the RCF as well as output formatting. The
bits of this register and their functions are described below.
Bit 10 bypasses the RCF filter and sends the CIC5 output data
to the BIST-I and BIST-Q registers. The 16 MSBs of the CIC5
data can be accessed from this register if Bit 9 of the RCF control register 2 at channel address 0xA9 is set.
Bit 9 of this register controls the source of the input data to the
RCF. If this bit is 0, the RCF processes the output data of its
own channel. If this bit is 1, it processes the data from the
CIC5 of another channel. Table XII shows which CIC5 the
RCF is connected to when this bit is 1. These can be used to
allow multiple RCFs to be used together to process wider bandwidth channels.
Table XII. RCF Input Configurations
Channel
RCF Input Source when Bit 9 is 1
0
1
1
0
2
1
3
1
4
5
5
4
6
5
7
5
Bit 8 is used as an extra address to allow a second block of 128
words of CMEM to be addressed by the channel addresses at
0x00–0x7F. If this bit is 0, the first 128 words are written; and
if this bit is 1, a second 128 words are written. This bit is only
used to program the coefficient memory. It is not used in
any way by the processing, and filters longer than 128 taps
can be performed.
Bit 7 is used to help control the output formatting of the
AD6635’s RCF data. This bit is only used when the 8 + 4 or
12 + 4 floating-point modes are chosen. These modes are
enabled by Bits 5 and 4 of this register. When Bit 7 is 0, the I
and Q output exponents are determined separately based on
their individual magnitudes. When this bit is 1, the I and Q
data is a complex floating-point number where I and Q use a
single exponent that is determined based on the maximum
magnitude of I or Q.
Bit 6 is used to force the output scale factor in Bits 3–0 of this
register to be used to scale the data even when one of the floating point output modes is used. If the number was too large to
represent with the output scale chosen, the mantissas of the I
and Q data clip and do not overflow.
Bits 5 and 4 choose the output formatting option used by the
RCF data. The options are defined in Table XIII. The user
should note that these options are valid only when data is output from the channels (by writing 0 into Bit 0 of parallel A/B
control register or link A/B control register). The output format
when data comes from AGCs is always fixed point with the bit
width defined by the AGC.
REV. 0
Bit Values
Output Option
1x
12-Bit Mantissa and 4-Bit Exponent (12 + 4)
01
8-Bit Mantissa and 4-Bit Exponent (8 + 4)
00
Fixed-Point Mode
Bits 3–0 of this register represent the output scale factor of the
RCF. This is used to scale the data when the output format is in
fixed-point mode or when the force exponent bit is high.
0xA5: BIST Register for I
This register serves two purposes. The first is to allow the complete functionality of the I data path in the channel to be tested
in the system. Consult the User Configurable Built-in Self Test
(BIST) section for further details. The second function is to
provide access to the I output data through the microport. To
accomplish this, the Map RCF Data to BIST bit in the RCF
Control register 2, 0xA9 should be set high. 16 bits of I data can
then be read through the microport in either the 8 + 4, 12 + 4,
12–bit linear, or 16-bit linear output modes. This data may come
from either the formatted RCF output or the CIC5 output.
0xA6: BIST Register for Q
This register serves two purposes. The first is to allow the complete functionality of Q data path in the channel to be tested in
the system. Consult the User Configurable Built-in self Test
(BIST) section for further details. The second function is to
provide access to the Q output data through the microport. To
accomplish this, the Map RCF Data to BIST bit in the RCF
control register 2, 0xA9 should be set high. 16 bits of Q data can
then be read through the microport in either the 8 + 4, 12 + 4,
12-bit linear, or 16-bit linear output modes. This data may
come from either the formatted RCF output or the CIC5 output.
0xA7: BIST Control Register
This register controls the number of outputs of the RCF or CIC
filter that are observed when a BIST test is performed. The
BIST signature registers at addresses 0xA5 and 0xA6 observe
this number of outputs and then terminate. The loading of this
register also starts the BIST engine running. Details of how to
utilize the BIST circuitry are defined in the User Configurable
Built-in Self Test (BIST) section.
0xA8: RAM BIST Control Register
This register is used to test the memories of the AD6635,
should they ever be suspected of a failure. Bit 0 of this register is
written with a 1 when the channel is in SLEEP, and the user
waits for 1600 CLKs and then polls the bits. If Bit 1 is high, the
CMEM failed the test; and if Bit 2 is high, the data memory
used by the RCF failed the test.
0xA9: Output Control Register
Bit 9 of this register allows the RCF or CIC5 data to be mapped
to the BIST registers at addresses 0xA5 and 0xA6. When this
bit is 0, the BIST register is in signature mode and ready for a
self test to be run. When this bit is 1, the output data from the
RCF––after formatting or the CIC5 data––is mapped to these
registers and can be read through the microport.
–45–
AD6635
Table XIV. Memory Map for Input Port Control Registers
Channel Address
Register
Bit Width
Comments
00
Lower Threshold A
10
9–0: Lower Threshold for Input A
01
Upper Threshold A
10
9–0: Upper Threshold for Input A
02
Dwell Time A
20
19–0: Minimum Time below Lower Threshold A
03
Gain Range A Control Register
5
4: Output Polarity LIA-A and LIA-B
3: Interleaved Channels
2–0: Linearization Holdoff Register
04
Lower Threshold B
10
9–0: Lower Threshold for Input B
05
Upper Threshold B
10
9–0: Upper Threshold for Input B
06
Dwell Time B
20
19–0: Minimum Time below Lower Threshold B
07
Gain Range B Control Register
5
4: Output Polarity LIB-A and LIB-B
3: Interleaved Channels
2–0: Linearization Holdoff Register
normal chip operation, this starts the dwell time counter. If the
input signal increases above this value then the counter is reloaded and waits for the input to drop back to this level.
Bit 5 determines the word length used by the parallel port. If
this bit is 0, the parallel port uses 12-bit words for I and Q. If
this bit is 1, the parallel port uses 16-bit words for I and Q.
When the fixed-point output option is chosen from the RCF
control register, these bits also set the rounding correctly in the
output formatter of the RCF.
0x01 Upper Threshold A
This word is 10 bits wide and maps to the 10 MSBs of the
mantissa. If the upper 10 bits of Input Port A are greater than
or equal to this value, the upper threshold has been met. In
normal chip operation, this will cause the appropriate LI pin
(LIA-A or LIA-B) to become active.
The remaining bits in this register are reserved and should be
written low when programming.
In order to access the Input Port registers, the Access Input/
Output Control registers bit (Bit 5) of the Sleep register (external address 0x3) should be set. The CAR (Channel Address
register, external address 0x6) is then written with the address
to the correct Input Port register.
0x02 Dwell Time A
This sets the time that the input signal must be at or below the
lower threshold before the LI pin is deactivated. For the input
level detector to work, the dwell time must be set to at least 1.
If set to 0, the LI functions are disabled.
For Channels 0 to 3 and Input Ports A and B, Chip Select 0
(CS0) should be used while programming using the microport.
Similarly for Channels 4 to 7 and Input Ports C and D, Chip
Select 1 (CS1) should be used while programming using the
microport.
This is a 20-bit register. When the lower threshold is met following an excursion into the upper threshold, the dwell time
counter is loaded and begins to count high speed clock cycles as
long as the input is at or below the lower threshold. If the signal
increases above the lower threshold, the counter is reloaded and
waits for the signal to fall below the lower threshold again.
Note: For the registers in Table XIV, Input Ports A and B
should be duplicated with Input Ports C and D when Chip
Select 1 (CS1) is used instead of (CS0) while programming the
microport. Similarly, Channels 0 to 3 should also be duplicated
with Channels 4 to 7 wherever mentioned.
0x03 Gain Range A Control Register
Input Port Control Registers
The input port control register enables various input related
features used primarily for input detection and level control.
Depending on the mode of operation, up to four different signal
paths can be monitored with these registers. These features are
accessed by setting Bit 5 of external address 3 (Sleep register)
and then using the CAR (external address 6) to address the
eight locations available.
Response to these settings is directed to the LIA-A, LIA-B,
LIB-A, and LIB-B pins.
0x00 Lower Threshold A
This word is 10 bits wide and maps to the 10 most significant
bits of the mantissa. If the upper 10 bits of Input Port A are less
than or equal to this value, the lower threshold has been met. In
Bit 4 determines the polarity of LIA-A and LIA-B. If this bit is
clear, the LI signal is high when the upper threshold has been
exceeded. However, if this bit is set, the LI pin is low when active.
This allows maximum flexibility when using this function.
Bit 3 determines if the input consists of a single channel or
TDM channels, such as when using the AD6600. If this bit is
cleared, a single ADC is assumed. In this mode, LIA-A functions as the active output indicator. LIA-B provides the
compliment of LIA-A. However, if this bit is set, the input is
determined to be dual channel and determined by the state of
the IENA pin. If the IENA pin is low, the input detection is
directed to LIA-A. If the IENA pin is high, the input is directed
to LIA-B. In either case, Bit 4 determines the actual polarity of
these signals.
Bits 2–0 determine the internal latency of the gain detect function. When the LIA-A and LIA-B pins are made active, they are
typically used to change an attenuator or gain stage. Since this
–46–
REV. 0
AD6635
is prior to the ADC, there is a latency associated with the ADC
and with the settling of the gain change. This register allows the
internal delay of the LIA-A and LIA-B signal to be programmed.
long as the input is at or below the lower threshold. If the signal
increases above the lower threshold, the counter is reloaded and
waits for the signal to fall below the lower threshold again.
0x04 Lower Threshold B
0x07 Gain Range B Control Register
This word is 10 bits wide and maps to the 10 MSBs of the
mantissa. If the upper 10 bits of Input Port B are less than or
equal to this value, the lower threshold has been met. In normal chip operation, this starts the dwell time counter. If the
input signal increases above this value, the counter is reloaded
and waits for the input to drop back to this level.
Bit 4 determines the polarity of LIB-A and LIB-B. If this bit
is clear, the LI signal is high when the upper threshold has
been exceeded. However, if this bit is set, the LI pin is low
when active. This allows maximum flexibility when using
this function.
0x05 Upper Threshold B
This word is 10 bits wide and maps to the 10 MSBs of the
mantissa. If the upper 10 bits of Input Port B are greater than
or equal to this value, the upper threshold has been met. In
normal chip operation, this will cause the appropriate LI pin
(LIB-A or LIB-B) to become active.
0x06 Dwell Time B
This sets the time that the input signal must be at or below the
lower threshold before the LI pin is deactivated. For the input
level detector to work, the dwell time must be set to at least 1. If
set to 0, the LI functions are disabled.
This is a 20-bit register. When the lower threshold is met following an excursion into the upper threshold, the dwell time
counter is loaded and begins to count high speed clock cycles as
Bit 3 determines if the input consists of a single channel or
TDM channels, such as when using the AD6600. If this bit is
cleared, a single ADC is assumed. In this mode, LIB-A functions as the active output indicator. LIB-B provides the
compliment of LIB-A. However, if this bit is set, the input is
determined to be dual-channel and determined by the state of
the IENB pin. If the IENB pin is low, the input detection is
directed to LIB-A. If the IENB pin is high, the input is directed
to LIB-B. In either case, Bit 4 determines the actual polarity of
these signals.
Bits 2–0 determine the internal latency of the gain detect function. When the LIB-A and LIB-B pins are made active, they are
typically used to change an attenuator or gain stage. Since this is
prior to the ADC, there is a latency associated with the ADC and
with the settling of the gain change. This register allows the internal delay of the LIB-A and LIB-B signal to be programmed.
Table XV. Memory Map for Output Port Control Registers
Channel Address (hex)
Register
Bit Width
Comments
08
Port A Control Register
4
09
Port B Control Register
3
0A
AGC A Control Register
8
3: Port A Enable
2–1: HB A Signal Interleaving
11
All 4 Channels
10
Channels 0, 1, 2
01
Channels 0, 1
00
Channel 0
0: Bypass
2: Port B Enable
1: HB A Signal Interleaving
1
Channels 2, 3
0
Channel 2
0: Bypass
7–5: Output Word Length
111
4 bits
110
5 bits
101
6 bits
100
7 bits
011
8 bits
010
10 bits
001
12 bits
000
16 bits
REV. 0
–47–
AD6635
Table XV. Memory Map for Output Port Control Registers (continued)
Channel Address (hex)
Register
Bit Width
Comments
4: Clipping Error
0B
0C
AGC A Hold Off Counter
AGC A Desired Level
16
8
0D
0E
0F
10
AGC A Signal Gain
AGC A Loop Gain
AGC A Pole Location
AGC A Average Samples
12
8
8
6
11
12
AGC A Update Decimation
AGC B Control Register
12
8
13
14
AGC B Hold Off Counter
AGC B Desired Level
16
8
15
16
17
18
AGC B Signal Gain
AGC B Loop Gain
AGC B Pole Location
AGC B Average Samples
12
8
8
6
19
1A
AGC B Update Decimation
Parallel A Control
12
8
–48–
1
Maintain level of clipping error
0
Maintain output signal level
3: Sync Now
2: Init on Sync
1: First Sync Only
0: Bypass
15–0: Holdoff Value
7–0: Desired Output Power Level or Clipping Energy
(R Parameter)
11–0: Gs Parameter
7–0: K Parameter
7–0: P Parameter
5–2: Scale for CIC Decimator
1–0: Number of Averaging Samples
11–0: CIC Decimation Ratio
7–5: Output Word Length
111
4 bits
110
5 bits
101
6 bits
100
7 bits
011
8 bits
010
10 bits
001
12 bits
000
16 bits
4: Clipping Error
1
Maintain level of clipping error
0
Maintain output signal level
3: Sync Now
2: Init on Sync
1: First Sync Only
0: Bypass
15–0: Holdoff Value
7–0: Desired Output Power Level or Clipping Energy
(R Parameter)
11–0: Gs Parameter
7–0: K Parameter
7–0: P Parameter
5–2: Scale for CIC Decimator
1–0: Number of Averaging Samples
11–0: CIC Decimation
7–6: Reserved
5: Parallel Port Data Format
1: 8-Bit Parallel I, Q
0: 16-Bit Interleaved I, Q
4: Channel 3
REV. 0
AD6635
Table XV. Memory Map for Output Port Control Registers (continued)
Channel Address (hex)
Register
Bit Width
Comments
3: Channel 2
2: Channel 1/AGC B Enable
1B
Link A Control
8
1C
Parallel B Control
8
1D
Link B Control
8
1E
Port Clock Control
3
1
PCLK boots as slave to avoid contention.
REV. 0
–49–
1: Channel 0/AGC A Enable
0: AGC_CH Select
1: Data Comes from AGCs
0: Data Comes from Channels
7: Link Port A Enable
6–3: Wait
2: No RSSI Word
1: Don’t Output RSSI Word
0: Output RSSI Word
1: Channel Data Interleaved
1: 2-Channel Mode/Separate A, B
0: 4-Channel Mode/A, B Same Port
0: AGC_CH Select
1: Data Comes from AGCs
0: Data Comes from Channels
7–6: Reserved
5: Parallel Port Data Format
1: 8-Bit Parallel I, Q
0: 16-Bit Interleaved I, Q
4: Channel 3
3: Channel 2
2: Channel 1/AGC B Enable
1: Channel 0/AGC A Enable
0: AGC_CH Select
1: Data Comes from AGCs
0: Data Comes from Channels
7: Link Port A Enable
6–3: Wait
2: No RSSI Word
1: Don’t Output RSSI Word
0: Output RSSI Word
1: Channel Data Interleaved
1: 2-Channel Mode/Separate A, B
0: 4-Channel Mode/A, B Same Port
0: AGC_CH Select
1: Data Comes from AGCs
0: Data Comes from Channels
2–1: PCLK Divisor
0: PCLK Master/Slave1
0: Slave
1: Master
AD6635
To access the Output Port registers, the Access Input/Output
Control registers bit (Bit 5) in sleep register (0x3) should be
written high. The CAR (Channel Address Register, external
address 0x6) is then written with the address to the correct
Output Port register.
Bits 3–1 are used to configure the synchronization of the
AGC. The CIC decimator filter in the AGC can be synchronized to an external sync signal to output an update sample
for the AGC error calculation and filtering. This way the
AGC gain changes can be synchronized to an external block
like a Rake receiver. Whenever an external sync signal is
received, the holdoff counter at 0x0B is loaded and begins to
count down. When the counter reaches 1, the CIC filter
dumps an update sample and starts working toward a new
update sample. The AGC can be initialized on each SYNC or
on only the first SYNC.
For Channels 0 to 3, Half-band Filters A and B, AGCs A and
B, and Output Ports A and B, Chip Select 0 (CS0) should be
used while programming using the microport. Similarly, for
Channels 4 to 7, Half-band Filters C and D, AGCs C and D,
and Output Ports C and D, Chip Select 1 (CS1) should be
used while programming using the microport.
Note: For all the registers in the Table XV, Output Ports A and
B (link or parallel) should be duplicated with Output Ports C
and D when Chip Select 1 (CS1) is used instead of (CS0) while
programming the microport. Similarly, half-band filters A and
B, and AGCs A and B should be duplicated with Half-band
Filters C and D, and AGCs C and D, respectively. Also Channels 0 to 3 should be duplicated with Channels 4 to 7 wherever
mentioned.
0x08 Port A Control Register
Bit 0 enables the use of the interpolating half-band filter corresponding to Port A. Half-band Filter A can be used to
interleave the data streams of multiple channels and interpolate
by two, providing a maximum output data rate of 4 the chip
rate. It can be configured to listen to all four channels: Channels 0, 1, 2, 3; Channels 0, 1, 2; Channels 0, 1; or only Channel
0. Half-Band Filter A is bypassed when Bit 0 = 1, in which case
the outputs of the RCFs are sent directly to the AGC. The
channel data streams still are interleaved with the Half-Band
Filter bypassed, but they are not filtered and interpolated. The
maximum data rate from this configuration would be two times
the chip rate.
0x09 Port B Control Register
Bit 0 enables the use of the interpolating half-band filter corresponding to Port B. Half-band Filter B can be used to
interleave the data streams of multiple channels and interpolate
by 2, providing a maximum output data rate of 4 the chip
rate. It can be configured to listen to Channels 2 and 3; or only
Channel 2. Half-band Filter B is bypassed when Bit 0 = 1, in
which case the outputs of the RCFs are sent directly to the
AGC. The channel data streams still are interleaved with the
half-band filter bypassed, but they are not filtered and interpolated. The maximum data rate from this configuration would be
two times the chip rate.
0x0A AGC A Control Register
This 8-bit register controls features of the AGC A. The bits are
defined below:
Bits 7–5 define the output word length of the AGC. The output
word can be 4–8, 10, 12, or 16 bits wide. The control register
bit representation to obtain different output word lengths is
given in the Memory Map table (Table XV).
Bit 4 of this register sets the mode of operation for the AGC.
When this bit is 0, the AGC tracks to maintain the output signal level, and when this bit is 1, the AGC tracks to maintain a
constant clipping error. Consult the AGC Mode section for
more details about these modes.
Bit 3 is used to issue a command to the AGC to SYNC immediately. If this bit is set, the CIC filter will update the AGC with a
new sample immediately and start operating toward the next
update sample. The AGC can be synchronized by the microport
control interface using this method.
Bit 2 is used to determine whether or not the AGC should
initialize on SYNC. When this bit is set, the CIC filter is
cleared and new values for CIC decimation, number of averaging samples, CIC scale, signal gain ‘Gs,’ gain ‘K,’ and
pole parameter ‘P’ are loaded. When Bit 2 = 0, the abovementioned parameters are not updated and the CIC filter is
not cleared. In both cases, an AGC update sample is output
from the CIC filter and the decimator starts operating toward
the next output sample whenever a SYNC occurs.
Bit 1 is used to ignore repetitive synchronization signals. In
some applications, the synchronization signal may occur periodically. If this bit is clear, each synchronization request will
resynchronize the AGC. If this bit is set, only the first occurrence will cause the AGC to synchronize and will update AGC
gain values periodically, depending on the decimation factor of
the AGC CIC filter.
Bit 0 is used to bypass the AGC section, when it is set. When
bypassed, the 16 MSBs coming into the AGC section are passed
to the output port (parallel/link). The output port will further
truncate the bit-width if 8-bit output is chosen.
0x0B AGC A Holdoff Counter
The AGC A Holdoff counter is loaded with the value written
to this address when either a Soft_SYNC or Pin_SYNC
comes into the channel. The counter begins counting down
so that when it reaches one, a SYNC is given to AGC A. This
SYNC may or may not initialize the AGC, as defined by the
control word. The AGC loop is updated with a new sample
from the CIC filter whenever a SYNC occurs. If this register
is written to 1, the AGC will be updated immediately when
the SYNC occurs. If this register is written to 0, the AGC
cannot be synchronized.
0x0C AGC A Desired Level
This 8-bit register contains the desired output power level or
desired clipping level, depending on the mode of operation. This
desired Request ‘R’ level can be set in dB from 0 dB to –23.99 dB
in steps of 0.094 dB. 8-bit binary floating-point representation is
used with a 2-bit exponent followed by a 6-bit mantissa. The
mantissa is in steps of 0.094 dB, and the exponent is in 6.02 dB
steps. For example 10’100101 represents 2 6.02 + 37 0.094
= 15.518 dB. It can also be calculated as (2 + (37/64)) 6.02 =
15.518 dB.
–50–
REV. 0
AD6635
update sample. The AGC can be synchronized by the microport
control interface using this method.
0x0D AGC A Signal Gain
This register is used to set the initial value for a signal gain used
in the gain multiplier. This 12-bit value sets the initial signal gain
between 0 dB and 96.296 dB in steps of 0.024 dB. 12-bit binary
floating-point representation is used with a 4-bit exponent
followed by an 8-bit mantissa. For example, 0111’10001001
is equivalent to 7 6.02 + 137 0.024 = 45.428 dB. It can
also be calculated as (7 + (137/256)) 6.02 = 45.428 dB.
0x0E AGC A Loop Gain
This 8-bit register is used to define the open loop gain ‘K.’ Its
value can be set from 0 to 0.996 in steps of 0.0039. This
value of ‘K’ is updated in the AGC loop each time the AGC
is initialized.
0x0F AGC A Pole Location
This 8-bit register is used to define the open loop filter pole
location ‘P.’ Its value can be set from 0 to 0.996 in steps of
0.0039. This value of ‘P’ is updated in the AGC loop each time
the AGC is initialized. This open loop pole location will directly
impact the closed loop pole locations as explained in the AGC
Mode section.
0x10 AGC A Average Samples
This 6-bit register contains the scale used for the CIC filter and
the number of power samples to be averaged before being fed to
the CIC filter.
Bits 5–2 define the scale used for the CIC filter.
Bits 1–0 define the number of samples to be averaged before
they are sent to the CIC decimating filter. This number can be
set between 1 and 4, with bit representation 00 meaning one
sample and bit representation 11 meaning four samples.
0x11 AGC A Update Decimation
This 12-bit register sets the AGC decimation ratio from 1 to
4096. An appropriate scaling factor should be set to avoid loss
of bits.
Bit 2 is used to determine whether or not the AGC should
initialize on a SYNC. When this bit is set, the CIC filter is
cleared and new values for CIC decimation, number of averaging samples, CIC scale, signal gain ‘Gs,’ gain ‘K,’ and pole
parameter ‘P’ are loaded. When Bit 2 = 0, the above-mentioned
parameters are not updated and the CIC filter is not cleared. In
both cases, an AGC update sample is output from the CIC
filter and the decimator starts operating toward the next output
sample whenever a SYNC occurs.
Bit 1 is used to ignore repetitive synchronization signals. In
some applications, the synchronization signal may occur periodically. If this bit is clear, each synchronization request will
resynchronize the AGC. If this bit is set, only the first occurrence will cause the AGC to synchronize and will update AGC
gain values periodically, depending on the decimation factor of
the AGC CIC filter.
Bit 0 is used to bypass the AGC section, when it is set. When
bypassed, the 16 MSBs coming into the AGC section are
passed on to the output port (parallel/link). The output port
will further truncate the bit-width if 8-bit output is chosen.
0x13 AGC B Holdoff Counter
The AGC A Holdoff counter is loaded with the value written
to this address when either a Soft_SYNC or Pin_SYNC
comes into the channel. The counter begins counting down
so that when it reaches 1, a SYNC is given to AGC A. This
SYNC may or may not initialize the AGC, as defined by the
control word. The AGC loop is updated with a new sample
from the CIC filter whenever a SYNC occurs. If this register
is written to one, the AGC will be updated immediately when
the SYNC occurs. If this register is written to 0, the AGC
cannot be synchronized.
0x14 AGC B Desired Level
0x12 AGC B Control Register
This 8-bit register contains the desired output power level or
desired clipping level, depending on the mode of operation.
This desired Request ‘R’ level can be set in dB from 0 dB to
–23.99 dB in steps of 0.094 dB. 8-bit binary floating-point
representation is used with a 2-bit exponent followed by a 6-bit
mantissa. The mantissa is in steps of 0.094 dB and the exponent in 6.02 dB steps. For example 10’100101 represents 2 6.02 + 37 0.094 = 15.518 dB. It can also be calculated as
(2 + (37/64)) 6.02 = 15.518 dB.
This 8-bit register controls features of the AGC A. The bits are
defined below:
Bits 7–5 define the output word length of the AGC. The output
word can be 4–8, 10, 12, or 16 bits wide. The control register
bit representation to obtain different output word lengths is
given in the Memory Map table (Table XV).
Bit 4 of this register sets the mode of operation for the AGC.
When this bit is 0, the AGC tracks to maintain the output signal level, and when this bit is 1, the AGC tracks to maintain a
constant clipping error. Consult the AGC Mode section for
more details about these modes.
0x15 AGC B Signal Gain
Bits 3–1 are used to configure the synchronization of the AGC.
The CIC decimator filter in the AGC can be synchronized to an
external sync signal to output an update sample for the AGC
error calculation and filtering. This way the AGC gain changes
can be synchronized to an external block like a Rake receiver.
Whenever an external sync signal is received, the holdoff counter
at 0x0B is loaded and begins to count down. When the counter
reaches 1, the CIC filter dumps an update sample and starts
working toward a new update sample. The AGC can be initialized on each SYNC, or on only the first SYNC.
This register is used to set the initial value for a signal gain
used in the gain multiplier. This 12-bit value sets the initial
signal gain between 0 dB and 96.296 dB in steps of
0.024 dB. 12-bit binary floating-point representation is used
with a 4-bit exponent followed by an 8-bit mantissa. For
example, 0111’10001001 is equivalent to 7 6.02 + 137 0.024 = 45.428 dB. It can also be calculated as (7 + (137/256))
6.02 = 45.428 dB.
0x16 AGC B Loop Gain
This 8-bit register is used to define the open loop gain ‘K.’ Its
value can be set from 0 to 0.996 in steps of 0.0039. This value of
‘K’ is updated in the AGC loop each time the AGC is initialized.
Bit 3 is used to issue a command to the AGC to SYNC immediately. If this bit is set, the CIC filter will update the AGC with
a new sample immediately and start operating towards the next
REV. 0
–51–
AD6635
0x17 AGC B Pole Location
This 8-bit register is used to define the open loop filter pole
location ‘P.’ Its value can be set from 0 to 0.996 in steps of
0.0039. This value of ‘P’ is updated in the AGC loop each time
the AGC is initialized. This open loop pole location will directly
impact the closed loop pole locations as explained in the AGC
Mode section.
0x18 AGC B Average Samples
This 6-bit register contains the scale used for the CIC filter and
the number of power samples to be averaged before being fed to
the CIC filter.
Bits 5–2 define the scale used for the CIC filter.
Bits 1–0 define the number of samples to be averaged before
they are sent to the CIC decimating filter. This number can be
set between 1 and 4, with bit representation 00 meaning one
sample, and bit representation 11 meaning four samples.
0x19 AGC B Update Decimation
This 12-bit register sets the AGC decimation ratio from 1 to
4096. An appropriate scaling factor should be set factor to avoid
loss of bits.
0x1A Parallel Port Control A
Data is output through either a parallel port interface or a link
port interface. When 0x19 Bit 7 = 0, the use of Link Port A is
disabled and the use of Parallel Port A is enabled. The parallel
port provides different data modes for interfacing with DSPs
or FPGAs.
the data from the AGCs according to the format specified by
Bits 1 and 2.
Bit 1 has two different meanings that depend on whether data is
coming from the AGCs or from the RCFs. When data is coming
from the RCFs (Bit 0 = 0), Bit 1 selects between 2- and 4-channel
data mode. Bit 1 = 1 indicates that Link Port A transmits RCF
IQ words alternately from Channels 0 and 1. When Bit 1 = 1,
Link Port A outputs RCF IQ words from each of the four channels in succession: 0, 1, 2, then 3. However, when AGC data is
selected (Bit 0 = 1), Bit 1 selects the AGC data output mode.
In this mode, when Bit 1 = 1, Link Port A outputs AGC A IQ
and RSSI words. In this mode, RSSI words must be included
by setting Bit 2 = 0. However, if Bit 0 = Bit 1 = 0, AGC A and
B are alternately output on Link Port A, and the inclusion or
exclusion of the RSSI words is determined by Bit 2.
Bit 2 selects if RSSI words are included or not in the data output. If Bit 1 = 1, Bit 2 = 0. Since the RSSI words are only two
bytes long (12 bits appended with four zeros) and the IQ words
are four bytes long, the RSSI words are padded with zeros to
give a full 16-byte TigerSHARC quad-word. If AGC output is
not selected (Bit 0 = 0), then this bit can be any value.
Bits 6–3 specify the programmable delay value for Link Port A
between the time the link port receives a data ready from the
receiver and the time it transmits the first data-word. The link
port must wait at least six cycles of the receiver’s clock, so this
value allows the user to use clocks of differing frequency and
phase for the AD6635 link port and the TigerSHARC link port.
There is more information on the limitations and relationship of
these clocks in the Link Ports section.
Bit 0 selects which data is output on Parallel Port A. When Bit 0
= 0, Parallel Port A outputs data from the RCF according to the
format specified by Bits 1–4. When Bit 0 = 1, Parallel Port A
outputs the data from the AGCs according to the format specified by Bits 1 and 2.
0x1C Parallel Port Control B
In AGC mode, Bit 0 = 1, and Bit 1 determines if Parallel Port A
is able to output data from AGC A and Bit 2 determines if
Parallel Port A is able to output data from AGC B. The order of
output depends on the rate of triggers from each AGC, which in
turn is determined by the decimation rate of the channels feeding it. In Channel mode, Bit 0 = 0, and Bits 1–4 determine
which combination of the four processing channels is output.
The output order depends on the rate of triggers received from
each channel, which is determined by the decimation rate of
each channel. The channel output indicator pins can be used to
determine which data came from which channel.
Bit 0 selects which data is output on Parallel Port B. When Bit
0 = 0, Parallel Port B outputs data from the RCF according to
the format specified by Bits 1–4. When Bit 0 = 1, Parallel Port B
outputs the data from the AGCs according to the format specified by Bits 1 and 2.
Bit 5 determines the format of the output data words. When
Bit 5 = 0, Parallel Port A outputs 16-bit words on its 16-bit
bus. This means that I and Q data are interleaved, and the IQ
indicator pin determines whether data on the port is I data or Q
data. When Bit 5 = 1, Parallel Port A is outputting an 8-bit I
word and an 8-bit Q word at the same time, and the IQ indicator pins will be high.
0x1B Link Port Control A
Data is output through either a parallel port interface or a link
port interface. The link port provides an efficient data link
between the AD6635 and a TigerSHARC DSP, and can be
enabled by setting Bit 7 = 1.
Bit 0 selects which data is output on Link Port A. When Bit 0 =
0, Link Port A outputs data from the RCF according to the
format specified by Bit 1. When Bit 0 = 1, Link Port A outputs
Data is output through either a parallel port interface or a link
port interface. When 0x1D Bit 7 = 0, the use of Link Port B is
disabled and the use of Parallel Port B is enabled. The parallel
port provides different data modes for interfacing with DSPs or
FPGAs.
In AGC mode, Bit 0 = 1, and Bit 1 determines if Parallel Port B
is able to output data from AGC A, and Bit 2 determines if
Parallel Port B is able to output data from AGC B. The order of
output depends on the rate of triggers from each AGC, which in
turn is determined by the decimation rate of the channels feeding it. In Channel mode, Bit 0 = 0, and Bits 1–4 determine
which combination of the four processing channels is output.
The output order depends on the rate of triggers received from
each channel, which is determined by the decimation rate of
each channel. The channel output indicator pins can be used to
determine which data came from which channel.
Bit 5 determines the format of the output data words. When
Bit 5 = 0, Parallel Port B outputs 16-bit words on its 16-bit
bus. This means that I and Q data are interleaved, and the IQ
indicator pin determines whether data on the port is I data or Q
data. When Bit 5 = 1, Parallel Port B is outputting an 8-bit I
word and an 8-bit Q word at the same time, and the IQ indicator pins will be high.
–52–
REV. 0
AD6635
0x1D Link Port Control B
MICROPORT CONTROL
Data is output through either a parallel port interface or a link
port interface. The link port provides an efficient data link
between the AD6635 and a TigerSHARC DSP, and can be
enabled by setting Bit 7 = 1.
The AD6635 has an 8-bit microprocessor port and two serial
control ports. The use of each of these ports is described separately below. The interaction of the ports is then described. The
microport interface is a multimode interface that is designed to
give flexibility when dealing with the host processor. There are
two modes of bus operation: Intel nonmultiplexed mode
(INM), and Motorola nonmultiplexed mode (MNM). The
mode is selected based on the host processor and which mode is
best suited to that processor. The microport has an 8-bit data
bus (D[7:0]), 3-bit address bus (A[2:0]), four control pin lines
(CS0, CS1, DS or RD, and RW or WR), and one status pin
(DTACK or RDY). The functionality of the control signals and
status line changes slightly depending upon the mode that is
chosen (INM or MNM). Refer to the timing diagrams at the
beginning of the data sheet and the following descriptions for
details on the operation of both modes.
Bit 0 selects which data is output on Link Port B. When Bit 0 = 0,
Link Port B outputs data from the RCF according to the format
specified by Bit 1. When Bit 0 = 1, Link Port B outputs the data
from the AGCs according to the format specified by Bits 1 and 2.
Bit 1 has two different meanings that depend on whether data is
coming from the AGCs or from the RCFs. When data is coming
from the RCFs (Bit 0 = 0), Bit 1 selects between 2- and
4-channel data mode. Bit 1 = 1 indicates Link Port A transmits
RCF IQ words alternately from Channels 0 and 1. When Bit 1 = 1,
Link Port B outputs RCF IQ words from each of the four channels in succession: 0, 1, 2, then 3. However, when AGC data is
selected (Bit 0 = 1), Bit 1 selects the AGC data output mode. In
this mode, when Bit 1 = 1, Link Port B outputs AGC B IQ and
RSSI words. In this mode, RSSI words must be included by
setting Bit 2 = 0. However, if Bit 0 = Bit 1 = 0, AGC A and
B are alternately output on Link Port B, and the inclusion or
exclusion of the RSSI words is determined by Bit 2.
Bit 2 selects if RSSI words are included or not in the data output. If Bit 1 = 1, Bit 2 = 0. Since the RSSI words are only 2
bytes long (12 bits appended with 4 zeros) and the IQ words are
4 bytes long, the RSSI words are padded with zeros to give a full
16-byte TigerSHARC quad-word. If AGC output is not selected
(Bit 0 = 0), this bit can be any value.
Bits 6–3 specify the programmable delay value for Link Port B
between the time the link port receives a data ready from the
receiver and the time it transmits the first data-word. The link
port must wait at least six cycles of the receiver’s clock, so this
value allows the user to use clocks of differing frequency and
phase for the AD6635 link port and the TigerSHARC link port.
There is more information on the limitations and relationship of
these clocks in Link Ports section.
0x1E Port Clock Control
Bit 0 determines whether PCLKn is supplied externally by the
user or derived internally in the AD6635. If PCLKn is derived
internally from CLK (Bit 0 = 1), it is output through the PCLKn
pin as a master clock. PCLK0 is derived from CLK0, and
PCLK1 from CLK1. For other applications, PCLK will be provided by the user as an input to the AD6635 via the PCLK pin.
Bits 2 and 1 allow the user to divide CLK by an integer value to
generate PCLKn. The integer divisors for bit settings are 00 =
1, 01 = 2, 10 = 4, 11 = 8, respectively.
REV. 0
External Memory Map
The external memory map is used to gain access to the channel
address space and input/output address space described previously. The 8-bit data and address buses are used to access this
set of eight registers that can be seen in Table XVI. These registers
are collectively referred to as the external interface registers
since they control all accesses to the channel address space as
well as input/output chip functions. The use of each of these
individual registers is described below in detail. It should be
noted that the serial control interface has the same memory map
as the microport interface and can carry out the exact same
functions, although at a slower rate.
The external address space defined by the eight registers can
be treated as two address spaces with each address space
having its own chip select pins (CS0 and CS1). For programming through microport Channels 0–3, Input Ports A
and B, Half-band filters and AGCs A and B, and Output Ports
A and B, CS0 should be used. For programming through
microport Channels 4–7, Input Ports C and D, Half-band
filters and AGCs C and D, and Output Ports C and D, CS1
should be used.
Though only external address map corresponding to CS0 is
explained in this data sheet, in all places it should also be
replaced by CS1 to complete the functionality description.
When this is done, Channels 0–3 should be replaced by Channels 4–7, Input/Output Ports A and B should be replaced by
Input/Output Ports C and D, respectively, and Half-band/
AGCs A and B should be replaced by Half-band/AGCs C and
D, respectively.
–53–
AD6635
while accessing consecutive memory location in each access.
This allows blocks of address space such as coefficient memory
to be initialized more efficiently.
Table XVI. External Memory Map
A[2:0] Name
111
Access Control
Register (ACR)
Comment
7:
Auto Increment
6:
Broadcast
Bit 6 of the register is the Broadcast bit and determines how
Bits 5–2 are interpreted. If Broadcast is 0, then Bits 4–2, which
are referred to as Instruction bits (Instruction[2:0]), are compared with the CHIPn_ID[2:0] pins (n = 0 when /CS0 is used,
and n = 1 when /CS1 is used). The instruction that matches the
CHIPn_ID[2:0] pins will determine the access. This allows up
to two chips to be connected to the same port and their
memory to be mapped without external logic. This also allows
the same serial port of a host processor to configure up to eight
chips. If the Broadcast bit is high, the Instruction[3:0] word
allows multiple AD6635 channels and/or chips to be configured
simultaneously, independent of the CHIPn_ID[2:0] pins. There
are seven possible instructions that are defined in the table
below. This is useful for smart antenna systems in which multiple channels listening to a single antenna or carrier can be
configured simultaneously. An x in the table represents “don’t
care” in the digital decoding.
5–2: Instruction[3:0]
1–0: A[9:8]
110
101
100
011
010
Channel Address
Register (CAR)
7–0: A[7:0]
SOFT_SYNC Control
Register (Write Only)
7:
PIN_SYNC Control
Register (Write Only)
SLEEP (Write Only)
Data Register 2 (DR2)
PN_EN
6:
Test_MUX_Select
5:
Hop
4:
Start
3:
SYNC 3
2:
SYNC 2
1:
SYNC 1
0:
SYNC 0
Table XVII. Microport Instructions
Instruction
Comment
0000
All Chips and All Channels Get Access
0001
Channel 0,1,2 of All Chips Get Access
0010
Channel 1,2,3 of All Chips Get Access
0100
All Chips Get Access*
1000
All Chips with CHIPn_ID[2:0] = xxx Get
Access* (same as previous instruction)
1100
All Chips with CHIPn_ID[2:0] = xx0 Get
Access*
7–6: Reserved (low)
1110
5: Access Input/Output Port
Control Registers
All Chips with CHIPn_ID[2:0] = xx1 Get
Access*
*A[9:8] bits control which channel is decoded for the access.
7:
Toggle IEN for BIST
6:
First SYNC Only
5:
Hop_En
4:
Start_En
3:
SYNC_EN A
2:
SYNC_EN B
1:
SYNC_EN C
0:
SYNC_EN D
4:
Reserved low
3:
SLEEP 3
2:
SLEEP 2
1:
SLEEP 1
0:
SLEEP 0
Note that CHIP0_ID[2:0] is used when CS0 is used for
programming. CHIP1_ID[2:0] is used when CS1 is used
for programming.
When broadcast is enabled (Bit 6 set high), the readback is not
valid because of the potential for internal bus contention. Therefore, if readback is subsequently desired, the broadcast bit should
be set low.
7–4: Reserved
3–0: D[19:16]
001
Data Register 1 (DR1)
15–8: D[15:8]
000
Data Register 0 (DR0)
7–0: D[7:0]
Access Control Register (ACR)
The access control register serves to define the channel or
channels that receive an access from the microport or serial
port control.
Bit 7 of this register is the Auto-Increment bit. If this bit is 1,
the CAR register described below will increment its value after
every read/write access to the channel. It essentially means that
CAR (external address 6) need not be written for every memory
access, and the user can write to DR2, DR1, DR0 continuously
Bits 1–0 of this register are address bits that decode which of
the four channels are being accessed, i.e., Channels 0–3 when
CS0 is used, and similarly, Channels 4–7 when CS1 is used. If
the Instruction bits decode an access to multiple channels, these
bits are ignored. If the Instruction decodes an access to a subset
of chips, the A[9:8] bits will otherwise determine the channel
being accessed. It should be noted that if access to input/output
control registers (Bit 5 of external address 3) is set, then A[9:8]
are not decoded.
Channel Address Register (CAR)
This register represents the 8-bit internal address of each channel. If the Auto-Increment bit of the ACR is 1, this value will be
incremented after every access to the DR0 register, which will
–54–
REV. 0
AD6635
in turn access the location pointed to by this address. The channel
address register cannot be read back while the broadcast bit
is set high.
SOFT_SYNC Control Register
External Address [5] is the SOFT_SYNC control register and is
write-only.
Bits 0–3 of this register are the SOFT_SYNC control bits.
These bits may be written to by the controller to initiate the
synchronization of a selected channel. The four SYNC bits go
to the channels indicated. Bit 0 to Channel 0, Bit 1 to Channel
1, Bit 2 to Channel 2, and Bit 3 to Channel 3 when CS0 is
used. Similarly when CS1 is used, Bit 0 to Channel 4, Bit 1 to
Channel 5, Bit 2 to Channel 6, and Bit 3 to Channel 7.
Bit 5 determines if the synchronization is to apply to a chip hop.
If this bit is set, a SOFT SYNC is issued and the NCO frequency will be updated after the frequency holdoff counter
counts down to zero.
Bit 6 configures the internal data bus. If this bit is set low, the
internal ADC data buses are configured normally. If this bit is
set, the internal test signals are selected. The internal test signals are configured in Bit 7 of this register.
Bits 3–0 control the state of each of the channels. Each bit
corresponds to one of the possible RSP channels within the
device. If this bit is cleared, the channel operates normally.
However, when this bit is set, the indicated channel enters a low
power sleep mode.
Bit 5 allows access to the Input/Output Control Port registers.
When this bit is set low, the normal channel memory map is
accessed. However, when this bit is set high, it allows access to
the Input/Output Port Control registers. Access to these registers allows the lower and upper thresholds to be set along with
dwell time as well as the Half-band, AGC, and output port
(parallel /link) features to be configured. When this bit is set,
the value in external address 6 (CAR) points to the memory
map for the Input/Output Port Control registers instead of the
normal channel memory map.
Bits 6–7 are reserved and should be set low.
Data Address Registers
Bit 7 if set clear, a negative full-scale signal is generated and made
available to the internal data bus. If this bit is high, the internal
pseudorandom sequence generator is enabled and this data is
available to the internal data bus. The combined functions of Bits
6 and 7 facilitate verification of a given filter design.
PIN_SYNC Control Register
External Address [4] is the PIN_SYNC control register and is
write-only.
Bits 0–3 of this register are the SYNC_EN control bits. These
bits may be written to by the controller to allow pin synchronization of a selected channel. Although there are four inputs,
these do not necessarily go to the channel of the same number. This is fully configurable at the channel level as to which
bit to look at. All four channels may be configured to synchronize from a single position, or they may be paired, or all
independent. Unlike the Sync Pins, SYNC_EN are different for
Channels 0–3 and Channels 4–7.
Bit 4 determines if the synchronization is to apply to a chip
start. If this bit is set, a chip start will be initiated when the
PIN_SYNC occurs.
Bit 5 determines if the synchronization is to apply to a chip hop.
If this bit is set, a SOFT SYNC is issued and the NCO frequency will be updated after the frequency holdoff counter
counts down to 0.
Bit 6 is used to ignore repetitive synchronization signals. In
some applications, this signal may occur periodically. If this bit
is clear, each PIN_SYNC will restart/hop the channel. If this bit
is set, only the first occurrence will cause the chip to take action.
REV. 0
External Address [3] is the sleep register.
Bit 4 is reserved and should always be set to 0.
Bit 4 determines if the synchronization is to apply to a chip
start. If this bit is set, a chip start will be initiated by the SYNC.
Bit 7 is used with Bits 6 and 7 of external address 5. When this
bit is cleared, the data supplied to the internal data bus simulates a normal ADC. When this bit is set, the data supplied is in
the form of a time-multiplexed ADC, such as the AD6600 (this
allows the equivalent of testing in the 4-channel input mode).
Internally, when set, this bit forces the IEN pin to toggle as if it
were driven by the A/B signal of the AD6600.
SLEEP Control Register
External Address [2–0] form the data registers DR2, DR1, and
DR0, respectively. All internal data-words have widths that are
less than or equal to 20 bits. Accesses to External Address 0
(i.e., DR0) triggers an internal access to the AD6635 based on
the address indicated in the ACR and CAR. Thus, during
writes to the internal registers, External Address 0 (DR0) must
be written last. At this point, data is transferred to the internal
memory indicated in A[9:0]. Reads are performed in the opposite direction. Once the address is set, External Address 0
(DR0) must be the first data register read to initiate an internal
access. DR2 is only four bits wide. Data written to the upper
four bits of this register will be ignored. Likewise reading from
this register will produce only 4 LSBs.
Write Sequencing
Writing to an internal location is achieved by first writing the
upper two bits of the address to Bits 1–0 of the ACR. Bits 7–2
of the ACR may be set to select the required Broadcast mode as
indicated above. The CAR is then written with the lower eight
bits of the internal address (it doesn’t matter if the CAR is
written before the ACR, as long as both are written before the
internal access). The ACR needs to be written with the upper
two bits of address (indicating the channel used) only when
writing data to channel memory map. If input/output control
registers need to be written, Bit 5 of the SLEEP register should
be set and the upper two bits of the address in ACR will have
no effect.
Data register 2 (DR2) and register 1 (DR1) must be written
first, because the write to data register DR0 triggers the internal
access. Data register DR0 must always be the last register written to initiate the internal write.
Read Sequencing
Reading from the microport is accomplished in the same manner.
The internal address is set up the same way as the write. A read
from data register DR0 activates the internal read, thus register
DR0 must always be read first to initiate an internal read, followed
by DR1 and DR2. This provides the 8 LSBs of the internal read
through the microport (D[7:0]). Additional data registers can
be read to read the balance of the internal memory.
–55–
AD6635
Read/Write Chaining
The microport of the AD6635 allows for multiple accesses while
CSn is held low. The user can access multiple locations by
pulsing the WR or RD line and changing the contents of the
external 3-bit address bus. External access to the external registers of Table XVI is accomplished in one of two modes using
the CS0, CS1, RD, WR, and MODE inputs. The access modes
are Intel nonmultiplexed mode and Motorola nonmultiplexed
mode. These modes are controlled by the MODE input
(MODE = 0 for INM, MODE = 1 for MNM). CS0, CS1, RD,
and WR control the access type for each mode.
Intel Nonmultiplexed Mode (INM)
MODE must be tied low to operate the AD6635 microprocessor in INM mode. The access type is controlled by the user with
the CS0, CS1, RD (DS), and WR (RW) inputs. The RDY
(DTACK) signal is produced by the microport to communicate
to the user that an access has been completed. RDY (DTACK)
goes low at the start of the access and is released when the internal access cycle is complete. See the timing diagrams for both
the read and write modes in the Specifications.
external memory explained in the Microport Control section.
Hence, serial port programming is similar to microport
programming.
The serial word structure for the SDI input is illustrated in
Figure 45. Only 15 bits are listed so that the second bit in a
standard 16-bit serial word is considered the frame bit. The
shifting order begins with frame and shifts the address, MSB
first, and then the data, MSB first.
Effectively, SDI0 and SCLK0 can program every register that
can otherwise be programmed using CS0 on the microport.
Similarly SDI4 and SCLK4 can program every register that can
otherwise be programmed using CS1 on the microport.
Serial Port Timing Specifications
The AD6635 serial control channel can operate only in the slave
mode (SCLK should be supplied by the programming device).
The diagrams below indicate the required timing for each of the
specification.
tSCLK
tSCLKH
Motorola Nonmultiplexed Mode (MNM)
MODE must be tied high to operate the AD6635 microprocessor
in MNM mode. The access type is controlled by the user with
the CS0, CS1, DS (RD), and RW (WR) inputs. The DTACK
(RDY) signal is produced by the microport to communicate to
the user that an access has been completed. DTACK (RDY)
goes low when an internal access is complete and then will
return high after DS (RD) is de-asserted. See the timing diagrams
for both the read and write modes in the Specifications.
SCLKn
tSCLKL
Figure 43. SCLKn (n = 0, 4) Timing Requirements
SCLKn
SERIAL PORT CONTROL
The AD6635 has a two serial ports serving as a control interface apart from the microport control interface. The serial port
input pin (SDI0) can access all of the internal registers for
Channels 0–3, control registers for Input/Output Ports A and
B, Half-band/AGCs A and B, and has preemptive access over
the microport. Similarly SDI4 can access all of the internal
registers for Channels 4–7, Input/Output Ports C and D, Halfband/AGCs C and D, and has preemptive access over the
microport. In this manner, a single DSP could be used to
control the AD6635 over the serial port control interface.
The serial control port uses the serial clock (SCLK0 and SCLK4).
The serial input port is self-framing as described below, and
allows more efficient use of the serial input bandwidth for programming. The beginning of a serial input frame is signaled by
a frame bit that appears on the SDI pin. This is the MSB of the
serial input frame. After the frame bit has been sampled high on
the falling edge of SCLK, a state counter will start and enable
an 11-bit serial shifter four serial clock cycles later. These four
SCLK cycles represent the “Don’t Care” bits of the serial frame
that are ignored. After all of the bits are shifted, the serial input
port will pass along the 8-bit data and 3-bit address to the arbitration block. This 8-bit data and 3-bit address set programs the
tHSI
tSSI
SDIn
DATA
Figure 44. Serial Input Data Timing
Requirements, n = 0, 4
SDI0, SDI4
SDI is the serial data input. Serial data is sampled on the falling
edge of SCLK. This pin is used in the serial control mode to
write the internal control registers of the AD6635.
SCLK0, SCLK4
SCLK is a clock input, and the SDI input is sampled on the
falling edge of SCLK, and all outputs are switched on the rising
edge of SCLK. The maximum speed of this port is 65 MHz.
Bits 5–4 determine how the sample clock for the channel is
derived from the high speed CLK signal. There are four possible
choices. Each is defined below; for further detail the Numerically
Controlled Oscillator (NCO) section.
–56–
REV. 0
AD6635
FRAME
X
X
X
X
A2
A1
A0
SCLK0
SCLK4
D7
D6
D5
D4
D3
CLKn
tSSI
SDI0
SDI4
FRAME
X – DON’T CARE
Figure 45. Serial Word Structure and Serial Port Control Timing
REV. 0
–57–
D2
D1
D0
AD6635
INTERNAL WRITE ACCESS
INTERNAL READ ACCESS
Up to 20 bits of data (as needed) can be written by the process
described below. Any high order bytes that are needed are written to the corresponding data registers defined in the external
3-bit address space. The least significant byte is then written to
DR0 at address (000). When a write to DR0 is detected, the
internal microprocessor port state machine then moves the data
in DR2–DR0 to the internal address pointed to by the address
in the LAR and AMR.
void write_micro(ext_address, int data);
A read is performed by first writing the CAR and AMR, as with
a write. The data registers (DR2–DR0) are then read in the
reverse order that they were written. First, the least significant
byte of the data (D[7:0]) is read from DR0. On this transaction, the high bytes of the data are moved from the internal
address pointed to by the CAR and AMR into the remaining
data registers (DR2–DR1). This data can then be read from the
data registers using the appropriate 3-bit addresses. The number of data registers used depends solely on the amount of data
to be read or written. Any unused bit in a data register should
be masked out for a read.
main();
Read Pseudocode
{
int read_micro(ext_address);
/* This code shows the programming of the NCO
phase offset register using the write_micro
function as defined above. The variable address
is the External Address A[2:0] and data is the
value to be placed in the external interface
register.
main();
Write Pseudocode
Internal Address = 0x87
*/
/* This code shows the reading of the first
RCF coefficient using the read_micro function
as defined above. The variable address is the
External Address A[2..0].
Internal Address = 0x000
// holding registers for NCO phase byte wide
access data
*/
// holding registers for the coefficient
int d1, d0;
// NCO phase word
{
int d2, d1, d0;
(16-bits wide)
NCO_PHASE = 0xCBEF;
// coefficient
// write ACR
long coefficient;
write_micro(7, 0x03 );
// write AMR
// write CAR
write_micro(7, 0x00 );
write_micro(6, 0x87);
// write LAR
// write DR1 with D[15:8]
write_micro(6, 0x00);
d1 = (NCO_PHASE & 0xFF00) >> 8;
/* read D[7:0] from DR0, All data is moved
from the Internal Registers to the interface
registers on this access */
write_micro(1, d1);
// write DR0 with D[7:0]
// On this write all data is transferred to the
internal address
d0 = read_micro(0) & 0xFF;
// read D[15:8] from DR1
d1 = read_micro(1) & 0xFF;
d0 = NCO_PHASE & 0xFF;
// read D[23:16] from DR2
write_micro(0, d0);
}
(20-bits wide)
d2 = read_micro(2) & 0x0F;
// end of main
coefficient = d0 + (d1 << 8) + (d2 << 16);
}
–58–
// end of main
REV. 0
AD6635
OUTLINE DIMENSIONS
324-Lead Plastic Ball Grid Array [PBGA]
(B-324)
Dimensions shown in millimeters
A1 BALL
CORNER
1.00
BSC
19.00 SQ
A1 BALL
CORNER
18 17 16 15 14 13 12 11 10 9 8
7
6
5
4
3
2
1
A
B
A1 BALL
INDICATOR
C
D
E
F
G
H
J
TOP VIEW
K
L
M
N
P
R
T
U
V
1.00
BSC
BOTTOM VIEW
DETAIL A
DETAIL A
3.50
MAX
3.00 MAX
0.25 MIN
0.30 MIN
2.50 MAX
SEATING
PLANE
COMPLIANT TO JEDEC STANDARDS MS-034AAG-1
REV. 0
–59–
0.70
0.60
0.50
BALL DIAMETER
0.20
–60–
PRINTED IN U.S.A.
C03073–0–2/03(0)