TI GC5016

www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
− FIR Filter Block Consists of 16 Cells
Providing up to 256 Taps Per Channel
− 64 Parallel Input Bits and 64 Parallel
Output Bits Provide Flexible I/O Options
− Multiple Real and Complex Outputs
− Two Channel Double Rate Real Output
Mode With Rates to 320 MSPS
− Outputs Can Be Independent, Summed
Into Two or One Output(s), and Optionally
Merged With Multiple GC5016 Chips
JTAG Boundary Scan
3.3-V I/O, 1.8-V Core
Power Dissipation: <1 W for Four Channels
FEATURES
D Four Independently Configurable Wideband
Down-Converter or Up-Converter Channels
− Four Channel Down Convert Mode
− Four Channel Up Convert Mode
− Two Channels Down and Two Channels
Up Mode
D Down-Conversion Channel Mode
− Input Rates to 160-MSPS for Four
Channels, 320-MSPS for Two Channels in
Double Rate Mode
− Four Wideband Down-Conversion
Channels Support UMTS Standards
− 115-dB SFDR
− FIR Filter Block Consists of 16 Cells
Providing Up to 256 Taps Per Channel
− 64 Parallel Input Bits and 64 Parallel
Output Bits Provide Flexible I/O Options
− Many Multiplex Output Options
D
D
D
D Package: 252-Ball, 17-mm PBGA, 1-mm Pitch
APPLICATIONS
D Cellular Base Transceiver Station Transmit
and Receive Channels
− WCDMA
− CDMA2000
Radar
D Up-Conversion Channel Mode
− Output Rates to 160-MSPS for Four
Channels, 320-MSPS for Two Channels
− Four Up-Conversion Channels Support
UMTS Standards
D
D General Filtering
D Test and Measurement
Table of Contents
1
2
3
4
5
6
7
8
9
10
11
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Reference Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . .
DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Thermal Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pin Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
3
3
3
4
4
5
6
9
12
13
14
15
16
17
18
19
Terminal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GC5016 Down-Conversion Mode . . . . . . . . . . . . . . . . . . . . . . .
GC5016 Up-Conversion Mode . . . . . . . . . . . . . . . . . . . . . . . . . .
GC5016 in Transceiver Mode . . . . . . . . . . . . . . . . . . . . . . . . . . .
General GC5016 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Board Bring-Up Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mechanical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
11
33
53
53
63
81
83
85
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments
semiconductor products and disclaimers thereto appears at the end of this data sheet.
! "#$ ! %#&'" ($) (#"!
" !%$""! %$ *$ $! $+! !#$! !(( ,-)
(#" %"$!!. ($! $"$!!'- "'#($ $!. '' %$$!)
Copyright  2003 − 2005, Texas Instruments Incorporated
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
1 DESCRIPTION
The GC5016 is a flexible wideband 4-channel digital up-converter and down-converter. The GC5016 is designed for
high-speed, high bandwidth digital signal processing applications like 3G cellular base transceiver station transmit
and receive channels. The GC5016 is also applicable for general-purpose digital filtering applications. The four
identical processing channels can be independently configured for up-conversion, down-conversion, or a
combination of two up-conversion and two down-conversion channels.
In up-conversion mode, the channel accepts real or complex signals, interpolates them by programmable amounts
ranging from 1 to 4096, and modulates them up to selected center frequencies. The 4 digital up-converter signals
can be output individually, summed together on one or two outputs on a single GC5016, or optionally summed
between multiple GC5016s. Channels can be used in pairs to increase the output sample rate, to increase filtering
capacity, to increase the input bandwidth, or any combination. Each channel contains a user programmable input
filter (PFIR), which can be used to shape the transmitted signal’s spectrum or as a Nyquist transmit filter for shaping
digital data such as QPSK, GMSK, or QAM symbols.
In down-conversion mode, the channel accepts real or complex signals, demodulates them from selected carrier
frequencies, decimates them by programmable amounts ranging from 1 to 4096, applies a gain from a user defined
automatic gain control, and produces 20-bit outputs. The frequencies and phase offsets of the four sine/cosine
sequence generators can be independently specified, as can the decimation and filtering of each circuit. Channels
can be synchronized to support beam forming or frequency hopped systems. The output from the down-conversion
channel is formatted and output in up to four output ports as either real or complex data.
2 ORDERING INFORMATION
PART NAME
TEMPERATURE
PACKAGE
DESCRIPTION
GC5016-PB
−40°C to 85°C
GDJ (S-PBGA-N252)
252 ball PBGA
GC5016-PBZ
−40°C to 85°C
ZDJ (S-PBGA-N252)
252 ball lead free PBGA
3 OTHER REFERENCE MATERIALS
The TI Web site has developer toolkit and application notes that provide application specific programming and
configuration information. The CMD5016 configuration program, along with a user specified source and tap
coefficient file, is used to configure the GC5016 registers. The GC5016 register settings are intended to be configured
through the development toolkit software.
NOTE:Names in italics refer to parameter inputs to the cmd5016 software configuration program.
2
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam during
storage or handling to prevent electrostatic damage to the MOS gates.
4 ABSOLUTE MAXIMUM RATINGS
over operating free-air temperature range unless otherwise noted(1)
GC5016
Pad ring supply voltage, VPAD
−0.3 V to 4 V
Core supply voltage, VCORE
−0.3 V to 2.3 V
Input voltage (undershoot and overshoot), VIN
−0.5 V to VPAD+0.5 V
Storage temperature, Tstg
−65°C to 150°C
Junction temperature, TJ
105°C
Lead soldering temperature (10 seconds)
300°C
ESD classification
Human body model
2 kV
Machine body model
200 V
Charged device model
500 V
Moisture sensitivity
Level 3
(1) Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and
functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not
implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
5 RECOMMENDED OPERATING CONDITIONS
Pad ring supply voltage, VPAD
MIN
MAX
3
3.6
UNITS
V
Core supply voltage, VCORE
1.6
2
V
Temperature ambient, no air flow, TA(1)
Junction temperature, TJ(2)
−40
85
_C
105
_C
(1) Chips specifications in the AC CHARACTERISTICS and DC CHARACTERISTICS tables are production tested at 100_C case temperature. QA
tests are performed at 85°C case temperature.
(2) Thermal management may be required for full rate operation (see the THERMAL CHARACTERISTICS table). The circuit is designed for junction
temperatures up to 125°C. Sustained operation at elevated temperatures reduces long-term reliability. Lifetime calculations based on maximum
junction temperature of 105°C.
6 DC CHARACTERISTICS
−40°C to 85°C case temperature unless otherwise noted
PARAMETER
VIL
VIH
Voltage input low (1)
Voltage input high (1)
VOL
VOH
Voltage output low (IOL = 2 mA) (1)
Voltage output high (IOH = −2 mA) (1)
| IIN |
| IPU |
Leakage current (VIN = 0 V or VPAD), inputs or outputs in high-impedance state condition (1)
Pullup current (VIN = 0 V) ( TDI, TMS, TCK) (1)
ICCQ
CIN
Quiescent supply current, ICORE or IPAD(VIN=0 or VPAD, RST = TRST = 0) (1)
Data input capacitance (all inputs except CK) (2)
VPAD = 3 V to 3.6 V
MIN
TYP
MAX
0.8
2
UNIT
V
V
0.5
2.4
V
V
5
1
µA
35
µA
4
mA
4
pF
CCK
13
(1) Each part is tested with a 100°C case temperature for the given specification.
(2) Controlled by design and process and not directly tested.
NOTE: General: Voltages are measured at low speed. Output voltages are measured with the indicated current load.
General: Currents are measured at nominal voltages, high temperature (100_C for production test, 85_C for QA).
pF
Clock input capacitance (CK input) (2)
3
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
7 AC CHARACTERISTICS
−40°C to 85°C case, supplies across recommended range unless otherwise noted
PARAMETER
fCK
tCKL
tCKH
tr, tf
Clock frequency (1)
Clock low period (below VIL) (1)
Clock high period (above VIH) (1)
Input set up before CK goes high (AI, BI, CI, DI, SIA, or SIB) (1)
Input hold time after CK goes high (1)
td
th(o)
Data output delay from rising edge of CK. (AO, BO, CO, DO, IFLG, [A−D]FS, [A−D]CK, or SO) (1)
Data output hold from rising edge of CK (1)
fJCK
tJCKL
JTAG clock frequency (1)
th(J)
td(J)
MAX
UNITS
160
MHz
2
ns
2
ns
Clock rise and fall times (VIL to VIH) (4)
tsu
th
tJCKH
tsu(J)
MIN
(3)
JTAG clock low period (below VIL) (1)
JTAG clock high period (above VIH) (1)
JTAG input (TDI or TMS) set up before TCK goes high (1)
JTAG input (TDI or TMS) hold time after TCK goes high (1)
2
2
ns
ns
0.5
ns
5
ns
40
MHz
1
ns
10
ns
10
ns
1
ns
10
ns
JTAG output (TDO) delay from falling edge of TCK (1)
10
ns
tsu(C)
tsu(EWC)
Control setup during reads or writes. (1)(5)
2
ns
Control data setup during writes (normal mode). (1)(5)
4
ns
th(C)
tCSPW
Control hold during writes. (1)(5)
1
ns
20
ns
td(C)
tREC
Control output delay CE and RD low and A stable to C (read operation). (1)(5)
t(CZ)
IC(DYN)
Control strobe (CE and WR low) pulse width (write operation). (1)(5)
Control recovery time between reads or writes. (1)(5)
End of read to HI-Z (2)(5)
12
20
ns
ns
Core dynamic supply current nominal voltages, 100 MHz, four channels active, full length filters,
high temperature. (6)
5
ns
420
mA
(1) Each part is tested with a 100°C case temperature for the given specification. Lots are sample tested at −40°C.
(2) Controlled by design and process and not directly tested.
(3) The minimum clock rate is calculated in the cmd5016 configuration program. It may be estimated by (1 + ncic − nfir) x 200 kHz.
(4) Recommended practice
(5) See Figure 27 through Figure 32.
(6) Each port is tested with a 100°C case temperature for the given specification.
General: Timing is measured from CK at VPAD/2 to input or output at VPAD/2. Output loading is a 50-Ω transmission line whose delay is calibrated
out.
8 THERMAL CHARACTERISTICS
252 BGA
THERMAL CONDUCTIVITY
Theta junction to ambient, θJA
Theta junction to case, θJC
NOTE: Air flow reduces θJA and is highly recommended.
4
1W
UNITS
22
°C/W
5
°C/W
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
9 POWER CONSUMPTION
The maximum power consumption depends on the operating mode of the chip. The following equation estimates the
typical power supply current for the chip. Chip-to-chip variation is typically ±5%. The AC Characteristics provides the
production test limit for current in a maximum configuration. It is 10% over the typical value.
Icore = (fCK/100 MHz) (Vcore/1.8 V) (Number_of_Active_Channels/4) (0.75 + FIRDutyCycle) 220 mA
The FIRDutyCycle is calculated in the cmd5016 programming software. The ’.ANL’ extension of the user
programming file contains the power analysis value.. It can be estimated by:
Down Converter Mode:
FIRDutyCycle = 1 for fCK/Fout ≤ 16
16 x Fout/fCK otherwise
Up Converter Mode:
FIRDutyCycle = 1 for fCK/Fin ≤ 32
32 x Fin/fCK otherwise
Current consumption on the pad supply is primarily due to the external loads and follows C x V x F. Internal loads
are estimated at 2 pF per pin. Data outputs transition from a zero to a one once per four clocks, while clock outputs
transition every cycle. The frame strobes consume negligible power due to the low transition frequency. In general:
Ipad = Σ DataPad/4 x C x F x V + Σ ClockPad x C x F x V
Typically loads are 20 pF per pin. A worst case current would be all four output ports operating at 125 MHz and the
four output clocks with [A−D]CK active at 125 MHz.
Ipad = (64/4 + 4) x (C+2pF) x Fout x Vpad = 20 x 22 pF x 125 MHz x 3.3 V = 180 mA
5
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
10 Functional Block Diagram
NCO
I
AI [15:0]
RINF
RSEL
Dual CIC
PFIR
Q
NCO
RINF
RSEL
ROUTF
AO [15:0]
AFS
ACK
TDM
Broadcast
Cross connect for double rate
I
BI [15:0]
Pwr Mtr
AGC
Dual CIC
PFIR
Pwr Mtr
AGC
ROUTF
BO [15:0]
BFS
BCK
Dual CIC
PFIR
Pwr Mtr
AGC
ROUTF
CO [15:0]
CFS
CCK
Pwr Mtr
AGC
ROUTF
DO [15:0]
DFS
DCK
Q
NCO
I
CI [15:0]
RINF
RSEL
Q
NCO
Cross connect for double rate
I
DI [15:0]
RINF
RSEL
Dual CIC
PFIR
Q
A [4:0]
TDI
SIA
CE
TMS
SIB
JTAG
TDO
WR
TCK
Control
C [15:0]
CK
RD
TRST
RST
WRMODE
Figure 1. GC5016 in Digital Down-Conversion Mode
6
CK
and
Syncs
SO
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
CO [15:0]
NCO
AI [15:0]
AFS
ACK
TINF
GAIN
TDM
Broadcast
BI [15:0]
BFS
BCK
TINF
PFIR
Dual CIC
Cross connect for double rate
GAIN
PFIR
DO [15:0]
NCO
Dual CIC
IFLG
NCO
CI [15:0]
CFS
CCK
TINF
GAIN
PFIR
TINF
GAIN
PFIR
AO [15:0]
BO [15:0]
CO [15:0]
DO [15:0]
Dual CIC
Cross connect for double rate
DI [15:0]
DFS
DCK
SUM
and
FORMAT
NCO
Dual CIC
A [4:0]
TDI
SIA
CE
TMS
SIB
JTAG
TDO
WR
TCK
Control
C [15:0]
CK
RD
TRST
CK
and
Syncs
SO
RST
WRMODE
Figure 2. GC5016 in Digital Up-Conversion Mode
7
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
NCO
AI
AFS
ACK
TINF
GAIN
TDM
Broadcast
BI
BFS
BCK
TINF
PFIR
Dual CIC
Cross connect for double rate
GAIN
PFIR
NCO
IFLG
SUM
and
FORMAT
AO [15:0]
BO [15:0]
Dual CIC
NCO
I
CI [15:0]
RINF
RSEL
Dual CIC
PFIR
Q
NCO
RINF
RSEL
Dual CIC
PFIR
Q
ROUTF
CO
CFS
CCK
TDM
Broadcast
Cross connect for double rate
I
DI [15:0]
Pwr Mtr
AGC
Pwr Mtr
AGC
ROUTF
DO
DFS
DCK
A [4:0]
TDI
SIA
CE
TMS
SIB
JTAG
TDO
WR
Control
C [15:0]
TCK
CK
RD
TRST
RST
WRMODE
Figure 3. GC5016 in Transceiver Mode
8
CK
and
Syncs
SO
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
11 PIN ASSIGNMENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BCK BO14 BO13 AO11 AO10
BO8
GND
GND
AO6
BO4
BO3
AO1
IFLG
TMS
GND
AO9 VPAD VPAD BO5
AO4
BO2
BO0
TDI
TRST
RST
BO9
AO7
BO6
AO5
AO3
BO1
SO
GND
SIB
CI15
AO13 BO12
BO7
AO8
AO2
AO0
A
GND
B
AI1
BI0
C
BI3
BI2
AI0
AFS
BO15 AO12
D
AI5
AI3
AI2
BFS
ACK
TDO
TCK
DI15
DI14
CI13
E
BI6
AI6
BI5
BI1
GND VPAD VPAD VPAD VPAD VPAD VPAD GND
SIA
DI13
DI12
DI11
F
AI8
BI7
AI7
BI4
VCOR GND
GND VPAD VPAD GND
GND VCOR CI14
CI12
CI11
DI10
G
BI9
AI9
BI8
AI4
VCOR GND
GND
GND VCOR CI10
CI9
DI8
CI8
H
GND
AI10
BI11
J
GND
BI12
K
AI13
L
AO15 AO14 BO11 BO10
GND
GND
BI10 VCOR VCOR GND
/
/
GND VCOR VCOR
DI9
VPAD
DI7
GND
AI12
AI11 VCOR VCOR GND
/
/
GND VCOR VCOR
DI5
CI7
DI6
GND
BI13
AI14
BI14 VCOR GND
GND
GND
GND
CI5
DI4
CI4
CI6
AI15
BI15
CK
A0
GND VCOR CCK
DI2
CI3
DI3
M
A1
A2
A3
A4
CI1
DI1
CI2
N
CE
RD
WRMODE
C0
C3
C9
C10
DO1
CO2
CO7 CO12 DO13 CO15 DCK
CI0
DI0
P
WR
C1
GND
C5
C8
C14
DO2
CO4
DO4
CO6
DO8
CO11 CO13 GND DO15 CFS
R
C2
C4
C6
C12
C13
DO0
CO3 VPAD VPAD DO5
DO7
CO9 DO10 DO12 CO14 DO14
T
GND
C7
C11
C15
CO0
CO1
DO3
DO6
CO8
VCOR GND
GND
GND
GND VPAD VPAD GND
GND VCOR
GND VPAD VPAD VPAD VPAD VPAD VPAD GND
GND
GND
CO5
DFS
DO9 CO10 DO11 GND
/ = No Ball
9
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
12 TERMINAL FUNCTIONS
Bit 0 is the least significant bit on all buses. All outputs are able to be put into a high-impedance state. JTAG related
inputs have pull-ups if an external pulldown is used, it must be less than 500 Ω. When I and Q are multiplexed, I comes
first. All clocked inputs are registered on the rising edge of CK and all clocked outputs are released on the rising edge
of CK, except for Jtag output (TDO). It is recommended that TRST have a user controlled pull-down. This input must
be a ’1’ for JTAG testing, and is recommended to be ’0’ for normal operation.
SIGNAL
TYPE
DESCRIPTION
CONTROL I/O
A[4..0]
C[15..0]
I
Control address bus – Active high inputs
These pins are used to address the control registers within the chip. Each of the control registers within the chip are
assigned a unique address. A control register can be written to or read from by having the page register set to the
appropriate page and then setting A[4..0] to the register’s address.
I/O
Control data I/O bus – Active high bidirectional I/O pins
This is the 16-bit control data I/O bus. Control registers are written to or read from through these pins. The chip drives
these pins when CE is low, RD is low, and WR is high.
CE
I
Chip enable – Active low input pin
This control strobe enables the read or write operations.
WR
I
Write enable – Active low input pin
The value on the C[15..0] pins is written into the register selected by the A[4..0] and page register when WR and CE are
low.
RD
I
Read enable – Active low input pin
The register selected by A[4..0] and the page register is output on the C[15..0] pins when RD and CE are low.
AI[15..0]
I
Clocked input port A, data bits 0 through 15
Can be configured for many possible input formats.
BI[15..0]
I
Clocked input port B, data bits 0 through 15
Can be configured for many possible input formats.
CI[15..0]
I
Clocked input port C, data bits 0 through 15
Can be configured for many possible input formats.
DI[15..0]
I
Clocked input port D, data bits 0 through 15
Can be configured for many possible input formats.
AO[15..0]
O
Clocked output port A, data bits 0 through 15
Can be configured for many possible output formats.
BO[15..0]
O
Clocked output port B, data bits 0 through 15
Can be configured for many possible output formats.
CO[15..0]
I/O
Dual function:
Clocked output − port C, data bits 0 through 15
Can be configured for many possible output formats.
Clocked input – Sum IO input data, data bits 0 through 15
Can be configured for many possible input formats.
DO[15..0]
I/O
Dual function:
Clocked output − port D, data bits 0 through 15
Can be configured for many possible output formats.
Clocked input – sum IO input data, data bits 0 through 15
Can be configured for many possible input formats.
[A..D]CK
O
Clocked output for ports [A..D]
The clock for input ports in up-conversion mode and output ports in down-conversion mode. When configured as a
transceiver, channels A and B are in up-conversion and channels C and D are in down-conversion mode.
[A..D]FS
O
Clocked output frame strobes for channels A..D
Used to signify the beginning of a data frame for each input port in up-conversion mode and output in down-conversion
mode. The frame strobes are set high by the GC5016 with the first word in a frame. The frame strobes can be programmed
to be sent early.
CK
I
Main input clock. The clock input to the chip.
DATA I/O
10
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
SIGNAL
TYPE
DESCRIPTION
DATA I/O (CONTINUED)
IFLG
O
Clocked output A flag used to indicate which samples are real or imaginary in up-conversion mode when I and Q are time
multiplexed.
WRMODE
I
A static control input that changes the timing of control writes. Normally tied low. When low control write data must be
stable for a setup time ahead and hold time after the end of the write strobe. When high data must be stable for a setup
time ahead of the write strobe going active until a hold time after it goes inactive.
RST
I
Chip reset bar. Active low signal. Not clocked. RST requires an external pull-up resistor or connection to VCOR Power
Monitor “1” is OK.
SIA
I
Sync input A bar. Active low data input signal. SIA requires an external pull-up resistor if not used.
SIB
I
Sync input B bar. Active low data input signal. SIB requires an external pull-up resistor if not used.
SO
O
Sync output bar. Active low data output signal
I
JTAG clock – Active high input. Internal pullup
TDI
I
JTAG data in – Active high input clocked on TCK rising. Internal pullup
TDO
O
JTAG data out – High-impedance state output clocked on falling edge of TCK.
TMS
I
JTAG interface – Active high input clocked on TCK rising. Internal pullup
TRST
I
Asynchronous JTAG reset bar. Internal pullup
JTAG I/O
TCK
SUPPLIES
GND
Ground
VCOR(1)
VPAD(1)
Core supply voltage. Used to supply the core logic, nominally set to 1.8 V.
Interface voltage. Used to set the I/O levels for all pins, nominally set at 3.3 V.
(1) The VCore and VPad must both be powered before programming the GC5016 Control Bus. There is no required power sequence.
The recommendation is to power VCore before or simultaneously with VPad.
13 GC5016 DOWN-CONVERSION MODE
13.1 Overview
Figure 1 shows the functional block diagram for the GC5016 when configured as a 4-channel digital
down-converter(DDC). In a common configuration, each down-conversion channel demodulates ADC sampled data
down from an IF frequency to 0Hz, low pass filters the signal data, reduces the signal rate (decimation), and outputs
I and Q baseband data. The baseband signal is measured by the Power Meter, and a gain or gain + automatic gain
are applied to the IQ data. Several output formats are available for transmitting the IQ outputs.
The DDC input can be configured for real or complex inputs. The input data on ports AI[15..0], BI[15..0], CI[15..0],
are converted to a complex input format in the Receive Input Formatter (RINF).
The Mixer stage provides the Receive Input channel selection (RSEL), digital oscillator (NCO), and complex mixing
logic (mixer) to translate the input down to 0 Hz.
After the Mixer, the 5 stage Cascade Integrator Comb (CIC) provides complex filtering and decimation. The CIC
decimation is an integer value from 1 to 256. Special logic is used for double rate processing.
After the CIC complex filter, the Programmable Finite Impulse Response (PFIR) filter provides CIC correction,
spectral shaping, and further decimation. The PFIR decimates from 1 to 16.
The PFIR complex output is measured by the Complex Power Meter. The Power Meter integrates the IQ power. The
time integrated value can be read through the Microprocessor port.
The PFIR complex output is gain (manual + adaptive) scaled.An automatic gain (adaptive gain) is computed based
on the current IQ output level. The gain scaled output is rounded to a desired number of bits resolution, and is
formatted for the DDC output.
Channels can be synchronized to support beam forming or frequency hopped systems. Two channels can be
operated in tandem to allow double input bandwidth, double output bandwidth, or both.
11
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
13.2 Receive Input Formatter (RINF)
The GC5016 has four 16-bit input ports AI[15..0], BI[15..0], CI[15..0], and DI[15..0]. The formatter converts the
representation of real or complex data at the input pins to a complex format output.
13.2.1 Receive Input Data Formats
Five data formats are supported (see Table 1):
D
D
D
D
D
Full Rate, Real Input, one signal per input port
Double Rate, Real Input, one signal per two input ports (even and odd)
Half Rate, Complex Input, one signal per input port
Full Rate, Complex Input, one signal per two input ports (I and Q)
Double Rate, Complex Input, one signal per four input ports (Ieven, Qeven, Iodd, Qodd)
NOTE:Full Rate means the sample input rate is equal to the GC5016 clock rate.
Each input port has a receive input data formatter. The data formatter accepts 2s complement format data 16 bits
from its input port and outputs a 16-bit I bus and a 16-bit Q bus (the rinf bus). When there is no data to send, the output
bus is held to zero.
For example:
If the input data is real, at full rate, the Q bus is zero.
If the input data is complex, at half rate, every second time sample is zero.
If the input data is complex at full rate, the I data is expected in port A (or C) and A’s Q bus is zero. The imaginary
data is expected in port B (or D) and B’s I bus is zero.
The input format can be specified to the cmd5016 software by setting pseudo-commands rin_rate and rin_cmplx.
NOTE:Pseudo-commands are user specified variables that the software uses to set the hardware register values.
Table 1 shows the modes, the pseudo-commands, and register variables, programmed through the cmd5016
software.
For example, for the mode with four complex inputs, data from source 1 is entered time multiplexed I, followed by
Q onto port AI. Configuration using the software requires that rin_cmplx be set to 1 and rin_rate be set to 0 (half rate).
Alternatively, if the user wishes to program the hardware register fields directly, rinf_sel_A should be set to 3,
mix_rcv_sel to 0 for channel A, and mix_rcv_cmplx to 0 for channel A (etc., for channels B, C, and D).
Table 1. Receive Input Modes and Controls
SOFTWARE
CONTROLS
INPUT PORTS
FIELDS FOR CHANNELS A, B, C, AND D
rinf_sel / mix_rcv_sel / mix_rcv_cmplx
MODE
AI
BI
CI
DI
rin_cmplx / rin_rate
A
B
C
D
Four real
1I
2I
3I
4I
0/1
4/0/0
4/1/0
4/2/0
4/3/0
Four complex
1I/1Q
2I/2Q
3I/3Q
4I/4Q
1/0
3/0/0
3/1/0
3/2/0
3/3/0
Two complex
1I
1Q
2I
2Q
1/1
4/0/1
1/x/x
4/2/1
1/x/x
Two double rate
real
1I(2k)
1I(2k+1)
2I(2k)
2I(2k+1)
0/2
4/0/0
4/1/0
4/2/0
4/3/0
One double rate
complex
I(2k)
Q(2k)
I(2k+1)
Q(2k+1)
1/2
4/0/1
1/x/1
4/2/x
1/x/x
13.2.2 Synchronization for IQ Multiplexed Mode
When I and Q are time multiplexed, a synchronization signal is used to determine which sample is I and which is Q.
The input data is delayed by one cycle to form the I stream and is directly output for the Q stream. Thus far the data
stream is (I0,Q0), (Q0, I1), (I1, Q1), — where I0 is the real portion of the sample at time 0. Then every other complex
sample is zeroed using receive interpolation as discussed below, so that the stream is now (I0,Q0), (0,0), (I1,Q1),
(0,0). — The timing for proper receive interpolation sync is shown in the next section.
12
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
13.2.3 Receive Interpolation
If the GC5016 CK rate divided by the input sample rate is an integer ratio, receive interpolation can be used (see
Figure 4). In this case, the chip can be programmed to insert 0−15 zeros (rinf_zpad) between input samples. This
effectively interpolates the signal up by rinf_zpad+1. The higher CK rate means the chip is operating faster, so the
PFIR has more multiplication operations available per sample. It also allows greater flexibility in selecting the output
sample rate since:
Fs_out=Fck / (cic_dec x fir_dec), where Fck=Fadc x (1+rinf_zpad).
One sample is registered while the data input on the other rinf_zpad clocks are zeroed. The user has control over
which sample is used through rinf_zpad_sync. The zpad selected sync encounters a two CK cycle delay, then loads
a counter. When the counter reaches the terminal count, it is reloaded and a data sample is kept. All other data
samples are zeroed. The sample occurring two plus (rinf_zpad + 1) clock cycles after the sync is used, while the other
samples are ignored. The sync input may be periodic in any multiple of (rinf_zpad+1) or may occur just once.
If I and Q are time multiplexed, then the sync should be coincident with the Q sample.,
13
14
tSU
tSU
tH
N
1
DDC
Channel
Data
(int)
0
N
1
GC5016
Input
ZPAD
Counter
(Int)
Sync
Input
GC5016
CK
0
0
N+1
tH
N+1
1
0
0
N+2
N+2
1
0
0
N+3
N+3
1
0
0
N+4
N+4
1
0
0
N+5
N+5
1
0
0
N+6
N+6
1
0
0
N+7
N+7
1
0
0
N+8
N+8
1
0
0
N+9
N+9
1
0
0
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
www.ti.com
Figure 4. DDC Input Timing Diagram
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
13.2.4 Receiver Desensitizing
In a few circumstances, it is necessary to reduce the receiver sensitivity, which can be done by adding noise to the
signal. The GC5016 allows this to be done digitally by adding pseudo random noise to selected bits in the input data
stream. The noise power is added by bit wise xoring the input data stream with a Pseudo-random Noise (PN)
sequence. The user has control over the noise power by programming which bits get the noise added. The noise
power can go from −3 dBFS (0xffff) to −99 dbFS (0x1). This is programmed using rcv_noise_A (or B, C, or D). The
noise uses the PN generator that is also used for diagnostics. The generator must be enabled for this feature to work
by setting cksum _sync.front to 0.
13.3 Receiver Diagnostic Selection
The Receiver RINF can select the counter (ramp), zero, a constant, or the PN sequence as the DDC channel real
input. The 0x4000 constant is used with the NCO setting to generate a known complex tone for output testing. The
rinf_sel and rinf_diag controls are used to select a diagnostic input for a DDC channel. See the Diagnostics section.
13.4 Receive Input Selection
In each channel an input selector exists at the input to the mixer. This selects I and Q data from one of four receive
input formatters. The field mix_rcv_sel allows selection of the rinf bus. Full rate real or 1/2 rate complex inputs are
selected with the mix_rcv_sel value as the input port. Special mix_rcv_sel values are needed for full rate complex,
and double rate processing. See Table 1.
13.5 Mixer
The DDC application of the mixer uses the selected RINF and RSEL with the NCO sine and cosine values. The Mixer
equations are:
Imixout = Iin × cos(Phase_NCO) − Qin × sin(Phase_NCO)
Qmixout = Qin × cos(Phase_NCO) + In × sin(Phase_NCO)
Each of the four multipliers (I x cos, I x sin, Q x cos, Q x sin) can be programmed in one of four modes (off, receive,
cross transmit, normal transmit) (see Figure 5). A programmable inversion is provided for each I or Q data source.
Programming Q x sin to be inverted corresponds to a mathematical view of down-conversion (mix with negative
frequency tone to get a positive spectrum). Programming I x sin to be inverted corresponds to a radio view (tune to
a frequency to get the signal at that frequency). The fields involved are mix_icos, mix_isin, mix_qcos, mix_qsin, and
mix_inv_icos, mix_inv_isin, mix_inv_qcos, and mix_inv_qsin. The cmd5016 software automatically programs these
fields assuming a mathematical view.
Selected RINF and RSEL data is accepted into the mixer as 16-bit data, placed into the upper bits of an 18-bit word,
and inverted if programmed. The 18bit input is multiplied by a 20-bit NCO word, summed with the output of a second
multiplier creating a 21-bit output. The Mixer output in the DDC application is sent to the CIC.
This means there is a 6dB attenuation going through the mixer. In other words, there is a 1-bit growth on top to allow
for the extreme case of both real and imaginary inputs at full scale being multiplied by an NCO word that is at 45
degrees. For real inputs, the attenuation is 6 dB, so the CIC can safely be programmed to have 6-dB gain. For
complex inputs, the attenuation is 3dB peak. The cmd5016 software includes this attenuation in its gain calculations
when gain is set using the overall-gain keyword.
15
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
BI
AI
DI
BQ
CI
AQ
2
DQ
CQ
16
2
mix_rcv_sel
TI
GND
mix_rcv_cmplx
TQ
XI
GND
2
XQ
18
2
mix_qcos
mix_icos
mix_inv_icos
mix_inv_qcos
20
20
cos
real
TI
GND
TQ
XI
GND
2
XQ
2
mix_isin
mix_qsin
mix_inv_isin
20
mix_inv_qsin
20
sin
20
21
imag
Figure 5. Multiplexing Options in Mixer
13.6 Numerically Controlled Oscillator (NCO)
The tuning frequency of each up-converter is specified as a 48-bit word and the phase offset is specified as a 16-bit
word. The 48-bit tuning word is calculated based on:
Freq words = FTune(negative for DDC) / CK × 248
The NCO phase is computed as the integrated frequency word phase + phase_offset + dither. A block diagram of
the NCO circuit is shown in Figure 6. The tuning frequency is set to FREQ according to the formula FREQ = (248)
x F/fCK, where F is the desired tuning frequency and fCK is the chip’s clock rate. The 16-bit phase offset setting is
phase = (216) x Ph/2π , where Ph is the desired phase in radians ranging between 0 and 2π.
A negative tuning frequency should be used for down-conversion. A positive tuning frequency can be used to flip the
spectrum of the desired signal (if the input is real). FREQ and phase are set as shown in Table 53 through Table 56
or in software by specifying freq_msb, freq_mid, freq_lsb, and phase. The configuration software calculates the
appropriate settings for freq_msb, freq_mid, and freq_lsb given the chip clock frequency (fCK) and freq. (If both freq
and freq_msb are set freq_msb takes priority). The calculation includes the effects of zpad and double rate
processing. Both fck and freq are expressed in Mhz.
16
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Dither
Generator
Phase
Offset
48
16
48
7
18
23
Frequency Word
Sine/Cosine
Lookup Table
20
Sine/Cosine Out
Figure 6. Numerically Control Oscillator (NCO) Circuit
The NCOs can be synchronized with NCOs on other chips. This allows multiple down converter outputs to be
coherently combined, each with a unique phase and amplitude. The NCO’s frequency, phase and accumulator can
be initialized and synchronized with other channels using the freq_sync, phase_sync, and nco_sync controls. The
freq_sync and phase_sync controls determine when new frequency and phase settings become active. Normally,
these are set to Always so that they take effect immediately, but can be used to synchronize frequency hopping or
beam forming systems. The nco_sync control is usually set to Never, but can be used to synchronize the NCOs of
multiple channels.
The NCO’s spur level is reduced to below −113 dB through the use of phase dithering. The spectrums in Figure 7
show the NCO spurs for a worst case tuning frequency with and without dithering. Dithering decreases the spur level
from −105 dB to −116 dB. Dithering is turned on or off using the dith_sync controls. Holding dith_sync always on
freezes the dither value, effectively turning off dither.
NCO OUTPUT POWER
vs
FREQUENCY
NCO OUTPUT POWER
vs
FREQUENCY
0
FREQ = 5/24 fS
−50
−105 dB
−100
−150
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Frequency − fS
a) Worst Case Spectrum Without Dither
NCO Output Power − dB
NCO Output Power − dB
0
FREQ = 5/24 fS
−50
−116 dB
−100
−150
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Frequency − fS
b) Spectrum With Dither (Tuned to Same Frequency)
Figure 7. Example NCO Spurs With and Without Dithering
17
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
NCO OUTPUT POWER
vs
FREQUENCY
NCO OUTPUT POWER
vs
FREQUENCY
0
−50
NCO Output Power − dB
NCO Output Power − dB
0
−107 dB
−100
−150
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
−50
−121 dB
−100
−150
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Frequency − fS
Frequency − fS
a) Plot Without Dither or Phase Initialization
b) Plot With Dither and Phase Initialization
Figure 8. NCO Peak Spur Plot
The worst-case NCO spurs at −113 dB to −116 dB, such as the one shown in Figure 7(b), are due to a few frequencies
that are related to the sampling frequency by multiples of fCK/96 and fCK/124. In these cases, the rounding errors
in the sine/cosine lookup table repeat in a regular fashion, thereby concentrating the error power into a single
frequency, rather than spreading it across the spectrum. These worst-case spurs can be eliminated by selecting an
initial phase that minimizes the errors or by changing the tuning frequency by a small amount (50 Hz). Setting the
initial phase register value to 4 for multiples of fCK/96 or fCK/124 (and to 0 for other frequencies) results in spurs below
−115 for all frequencies.
Figure 8 shows the maximum spur levels as the tuning frequency is scanned over a portion of the frequency range
with the peak hold function of the spectrum analyzer turned on. Notice that the peak spur level is −107 dB before
dithering and is −121 dB after dithering has been turned on and the phase initialization described above has been
used.
Double rate processing is done by sending time samples (2k) to mixer A and time samples (2k+1) to mixer B. The
frequency is tuned to freq = (248) x F/fCK, where F is the desired tuning frequency and fCK is the chip’s clock rate as
before. The 16-bit phase offset for mixer A is set to phase = (216) x Ph/2π, where Ph is the desired phase in radians
ranging between 0 and 2π. The phase offset for mixer B is set to phase = (216) x Ph/2π + (215) x F/fCK. Note that the
second mixer phase offset is one frequency step at the sample rate of 2 fCK hence 215 rather than 216 scaling. The
configuration software automatically calculates these.
13.6.1 CIC Decimate Filter
The Cascade Integrator Comb (CIC) filter is a 5 stage decimating filter. The CIC filter is set to decimation mode using
the register variable cic_rcv. Each CIC channel contains two CIC filters (one for I and one for Q) allowing input rates
of CK complex samples per second. The CIC filter has several sections: scaling, integration, rate change, comb
filtering, and output scaling. The two CIC filter sections have special logic used in the double rate mode. The double
rate mode is discussed in a later section.
The mixer IQ input is scaled to the 60 bit range using cic_shift. The shifted mixer data is then input to the 5 integrator
M=1 stages. The 5th integrator is decimated in the rate changer, by ncic samples. The cic scaling is based on shifting
the input data to compensate for the 5 integrator stages’ (cic_dec ^ 5) gain.
Ncic = cic_dec − 1
The decimation logic samples the integrator output every cic_dec clocks. The cic_dec value can be set between 1
and 256. The value of cic_dec can actually be programmed up to 4096 but the gain restrictions normally limit the
usable range to 256 (up to 1024 in unusual circumstances).
[1]Hogenhauer, Eugene V., An Economical Class of Digital Filters for Decimation and Interpolation, IEEE transactions on Acoustics, Speech and
Signal Processing, April 1981.
18
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The decimated output is scaled to 24bits and input to the 5 stage comb section M=1. After the 5 comb sections, the
24bit output is scaled to 18 bits. The 18 bit output is saturated to 17 or 18 bits. The 17bit output is used when the
PFIR uses symmetry. A block diagram of the decimating CIC filter is shown in Figure 9.
The CIC filter has a gain equal to cic_dec5 that must be compensated for by the CIC scale circuit. and the scale circuit
must limit the peak signal gain from the rinf_zpad, mixer, and through the CIC to be 1 or less. The peak gain is:
peak gain = (1/(1+rinf_zpad)) × (mixer_gain) × (cic_dec^5 × 2^(cic_shift−39))
The cmd5016 program will set the gain properly if the overall-gain keyword is used.
The register field cic_sync controls the precise moment of decimation. The sync can be periodic at any multiple of
cic_dec without disturbing the processing. If sync is held active, the CIC freezes its output.
The output of the CIC can be attenuated in gain by 6 dB by clearing cic_rshift. This is appropriate only when cic_shift
has been set to zero, the signal gain to this point is greater than 0.5, and symmetry is being used in the PFIR filter.
In other words, cic_rshift should almost always be set to one. The rshift_gain is 2cic_rshift−1.
The CIC output data feeding the PFIR must be limited to half scale if the PFIR is using symmetry. Control bit field
cic_rcv_full must be cleared in this case. If the PFIR is not using symmetry, the data is limited to full scale and the
bit field cic_rcv_full should be set to one. The CIC gain is adjusted by the cmd5016 configuration software.
When the PFIR filter is in the normal IQ interleaved mode, the CIC filter output rate must not exceed CK/2.
+
+
+
+
+
Decimate by cic_dec
Data In
CIC Scale
The splitiq pseudo-command is used to determine the PFIR filter interleaved−IQ or non interleaved mode.
−
−
−
−
−
Data Out
Figure 9. 5-Stage CIC Decimate Filter
splitIQ Mode
In some cases, a signal that is input to the chip at CK rate needs to have more filtering capacity than the chip provides
in a single channel. As noted above, twice the filtering capacity is available if each filter only processes I or Q rather
than both I and Q. The splitIQ mode programs the I data to firA or firC, and the Q data to firB or firD. Data is mixed
in mixA/C (mixB/D are idle). This is set automatically by the cmd5016 software by setting splitiq to one.
It can be set manually by setting cic_rcv_cross in cicB, programming mixB to idle, and programming firA and firB to
process real signals.
CIC in Double Rate Mode
Each channel contains two CIC filters (one for I and one for Q) allowing the input sample rate to equal the clock rate
(ck). Double rate processing allows input rates of twice this. In this case, the dual CICs in each channel can be
configured to perform as a single CIC at double rate. Thus, channel A’s CIC can process the I portion of a double
rate signal. The time samples (2k+1) come from the I portion of mixer B and are routed to CIC A using the cross
receive input (cic_rcv_cross). Likewise, channel B’s CIC processes the Q portion of a double rate signal getting time
samples (2k) from the Q portion of mixer A using the cross receive input.
When data is input at 2x rate, the CIC must decimate by at least 2 and by an even number. The cmd5016 software
uses the rin_rate pseudo-command to identify this mode. When operating in double rate mode cicA outputs I data
only to firA, while cicB outputs Q data to firB. Likewise for C and D when they are operating in double rate mode. This
means the PFIRs are operating on real data only (splitiq mode).
13.7 Programmable Finite Impulse Response Filter (PFIR)
The decimating PFIR filter consists of:
19
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
D
D
D
D
D
D
An input swap RAM
15 common-programmed FIR filter cells
A special 16th FIR end cell, and back-end control RAM
A common control and address generator
Accumulator logic
An output gain shift, round, and limit block
Each PFIR can process real or complex data.
CICsync
CKmaster
18
Clock
Generator
Data In
18
16x18-Bit
Tap Delay Ram
•••
16x18-Bit
Tap Delay Ram
•••
Fck
Control and
Address
Generator
Control
18
16x16-Bit
Coef
RAM
42
16
20
Scale,
Round, Limit
34
Data
Out
•••
38
Accumulator
PFIR Filter
Cell #1
PFIR Filter
Cell #16
Figure 10. Programmable Filter Block Diagram
Each FIR cell contains:
D A forward 16x18-bit (16 words with 18-bit width) tap delay RAM
D A backward 16 x 18-bit tap delay RAM (used for symmetric filters)
D A pre-adder with 18-bit output (limits the data to 17-bits when using forward and reverse RAMs with symmetric
filters)
D A 16x16-bit filter coefficient RAM
D A 16-bit x 18-bit (delay and coefficient) multiplier
D A 38-bit sum chain_adder
The output of the sum chain adder in cell # 1 is sent to a 42 bit accumulator. The accumulator output is then shifted
0−7 bits, rounded and limited. The 20-bit accumulator output is sent to the gain section.
The PFIR sections can be programmed independently for each channel.
The filter coefficients can be arranged in banks, allowing the user to change between multiple filter sets rapidly and
synchronously. Two sets of coefficients might be used in an adaptive application. While one set of FIR coefficients
is being used ,the other set is being updated over the control port.
The filter computes 16 taps (32 if symmetric) per clock cycle. The number of clocks available per output sample is
20
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Number_of_clocks = cic_dec x fir_dec
If the data stream is complex, then half the clock cycles are used computing the I output and half are used computing
the Q output. The tap delay line limits the filter length to 256 if non-symmetric and 512 if symmetric (half this with
complex data streams). The maximum number of taps is determined by the cmd5016 program. It can be estimated
by:
ntaps = sym x 16 x fir_dec x int(min(cic_dec,16/fir_dec)/(cmplx/fir_nchan)) − odd
Where:
cmplx = 1 for real data (or splitiq) and 2 for complex
sym = 1 for nonsymmetric and 2 for symmetric
odd = 1 for odd, symmetric filters
fir_nchan = 1 for up and down conversion
The PFIR coefficients are programmed using the cmd5016 configuration software.The cmd5016 program reports
the maximum number of taps available for the configuration. The cmd5016 program uses the mode_ab(cd), splitiq,
cic_dec, fir_dec, fir_diff, fir_nchan, and pfir_coef keywords to program the filters.
If there are multiple filter sets, the number of filters stored in memory will limit the number of coefficients per set . The
filter supports odd or even symmetry. If the user’s filter is significantly shorter than the maximum filter supported, the
clock is stopped to the filter block, saving power.
The filter coefficients are zero-appended to the allowable number of taps. The cmd5016 software in the .ANL
extension file reports the number of taps in the user-specified filter file, the PFIR filter mode, and the number of PFIR
taps in the programmed configuration.
Gain for the FIR is:
Gain = sum (coefficients) x 2(fir_shift − 21).
The overall_gain pseudo-command is normally used to set the PFIR gain.
There is an application note on DDC gain, and using cmd5016 has examples for specific applications of the PFIR
for DDC usage.
13.8 Power Meter
The PFIR output data is input to the power meter. The power meter integrates the I^2+Q^2 power over a number
of PFIR output samples. The power meter output is read as a 32bit result over the Microprocessor port.
The power meter squares the I or Q top 12 bits of the data, keeps the top 17 bits of the result, and integrates it for
up to 216 words. The number of words is I or Q samples. Handshaking is provided to let the user know when data
is ready. Note that the integration is over a number of words so if the data is complex the number of samples integrated
is one half the number of words. If the filters are configured in a splitiq mode then the power meters of the real and
imaginary channels need to be combined by reading both the I and Q channel power meters and adding the results..
A sync is available to start the power measurement period. The power meter automatically starts a new measurement
at the conclusion of the last one. The contents of the power meter registers should be considered unstable from eight
clocks after input sync to eight clocks plus an output sample time. (The actual unstable time is around 0.5 ns, so even
reading during this window provides correct answers most of the time.) Reading during data transfer results in an
erroneous output (some bits being updated, while others are not) but does no other harm.
21
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The customer software can read the power meter several times, to obtain a valid reading, or can use the handshake
signals to ensure reliable power measurements. If the processor is not sufficiently aware of time and the user wishes
to avoid using the handshake, it is possible to read the power meter several times in rapid succession, checking that
the value is consistent. Figure 11 shows the hardware.
17
12
32
uP Reg
24
20
6
8
Integration
Timer
(16 Bits)
Figure 11. Power Meter Hardware
A ”done” control bit is set in the power meter status register when the integration counter is synchronized
(pwr_mtr_sync) and again when it reaches terminal count (pwr_mtr_integ). The ”done” signal that comes from
syncing the integration counter should be discarded. Using the periodic sync counter to sync the integration counter
is not recommended. On done, the accumulator value is strobed into the registers (page 0x13 address 0x1a and
0x1b), the ready bit (page 0x13 address 0x1c bit 15) is set, and the accumulator is cleared. Note that there are four
independent power meters. The addresses here are for channel A . Channels B, C, and D are at the same address
but on page offsets of 0x20, 0x40, and 0x60 respectively.
The control bus and system clock are at different rates. In most cases, the system clock is faster. To get the control
bus to the system clock domain, a one shot is used. Firing the one shot clears the ready bit and lets the chip know
the power was read. There are two ways to fire the one shot. It may be done automatically, when the msb of the power
is read page 0x13 address 0x1c bit 10 = 1, or manually, by writing a 0 (arming) and then a 1 (firing) to page 0x13
address 0x1c bit 11, (page 0x13 address 0x12 bit10 must be 0). There should be two system clocks between writing
the 0 and writing the 1, and two clocks after writing the 1, before rearming.
There are two status bits, too_soon bit13 and missed bit14. If the one shot is fired when the ready bit 15 is low, then
too_soon is set. The user must reset it. If done happens when the ready bit is set, the missed bit is set. Again, it is
reset by the user.
Example using a read of the msb to fire one shot:
1. Sync integration counter
2. Wait for ready bit to be 1 (8 clocks or less depending on sync source)
3. Read MSB of power (also fires one shot to clear ready bit) and ignore it.
4. Wait for ready bit to be 1
5. Read power LSB
6. Read power MSB
7. Check to be sure missed bit is not set
8. Go to step 4
NOTE: The too_soon bit is never set if ready is active when MSB is read.
22
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Example using manual one shot firing:
1. Sync integration counter
2. Wait for ready bit to be 1 (eight clocks or less depending on sync source)
3. Arm and fire one shot to clear ready
4. Wait for ready bit to be 1
5. Read power LSB
6. Read power MSB
7. Arm and fire one shot to clear ready
8. Check to be sure missed bit is not set
9. Go to step 4
NOTE: The too_soon bit is never set if ready is active when one shot fires.
13.9 Gain, Rounding, and IQ/AGC Multiplexing
The 20-bit PFIR output is multiplied by the (manual + AGC) 19bit gain value (see Figure 12). The gain adjusted output
data is saturated to full scale and then rounded to between 4 and 20 bits in steps of one bit. The round circuit provides
a round-to-even and shift of the data into the specified upper bits of the 20 bit DDC output. If selected, a special output
multiplexing occurs to output the gain, I, and Q data. See Table 2. In the splitIQ mode, the I or Q is rounded and output.
The DDC Output formatter converts the I, Q interleaved and AGC gain into the selected output format.
13.10 Automatic Gain Control (AGC)
The GC5016 automatic gain control circuit is shown in Figure 12. The basic operation of the circuit is to multiply the
20-bit input data from the PFIR by a 19-bit gain word that represents a gain or attenuation in the range of 0 to 128.
The gain format is mixed integer and fraction. The 7-bit integer allows the gain to be boosted by up to a factor of 128
(42 dB) in .33db steps. The 12-bit fractional part allows the gain to be adjusted up or down in steps of one part in
4096 or approximately 0.002 dB. If the gain integer and fractional value is less than 4096, this is attenuation. The
gain equation is:
gainAv = ( (gain_msb × 65536) + gain_lsb ) / 4096
23
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Valid
DELAY
DELAY
Valid
agc_rnd
5
LS20
Data
In
20
28
20
ROUND
20 Data
Plus
8 Overflow
19
7 Integer
Plus
12 Fractional
Data Out
(Upper 20 − agc_rnd bits are valid,
lower bits are cleared)
agc_Dzro
agc_zero_cnt
MS16
agc_thresh
agc_Dadv
agc_Dsat
agc_Dblw
agc_sat_cnt
OVERFLOW
8
MS8
4
2
MAGNITUDE
LS8
COMPARE
8
4
UNDER/OVER
DETECT
4
4
4
2
4
5
SHIFT SELECT
S=±1, D=4-Bit Shift
agc_max
Sync
agc_min
Valid
16
agc_freeze
G(t)=Gain+A(t) 19
24
SHIFT
7 Integer
Plus
12 Fractional
19
Gain
7 Integer
Plus
12 Fractional
CLR
ACCUMULATE
Sign Plus
7 Integer A(t+1)=A(t)+S 2−(D+3)G(t)
Plus
16 Fractional
MS16
16 7 Integer
Plus
9 Fractional
LIMIT
*agc_min < A(t) <
agc_max
Under Limit
Over Limit
A(t)=Gain Adjust
19
Figure 12. GC5016 AGC Circuit
The AGC portion of the circuit is used to change the adaptive gain so that the median magnitude of the output data
matches a target value. The magnitude of the gain-adjusted (manual + adaptive) output data is compared to a target
threshold. If the magnitude is greater than the threshold, the gain is decreased. If not, it is increased. The gain is
adjusted as:
G(t) = G + A(t)
A(t) = A(t) + G(t) x S x 2−(D+3)
where G is the default, user supplied gain value, and A(t) is the time varying adjustment, where S=1 if the magnitude
is less than the threshold and is −1 if the magnitude exceeds the threshold, and where D sets the adjustment step
size. Note that the adjustment is a fraction of the current gain. This is designed to set the AGC noise level to a known
and acceptable level, while keeping the AGC convergence and tracking rate constant, independent of the gain level.
Because the adjustment is a fraction of the current gain, one can show that the AGC noise is an amplitude jitter in
the data output equal to ±(data output) x 2−(D+3). This means that the AGC noise is always 6 x (D+3) dB below the
output signal’s power level. The AGC attack and decay rate is exponential with a time constant equal to 2(D+1.75)
complex samples. This means the AGC covers to within 63% of the required gain change in one time constant and
to within 98% of the change in the four time constants.
If one assumes the data is random with a Gaussian distribution, which is valid for UMTS if more than 12 users with
different codes have been overlaid, then the relationship between the RMS level and the median is MEDIAN = 0.6745
x RMS.
Hence the threshold should be set to 0.6745 times the desired RMS level.
24
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The step size can be set using four values of D. The user can specify separate values of D for when the magnitude
is:
below threshold (agc_Dblw),
above threshold (agc_Dabv),
consistently equal to zero (agc_Dzro),
or consistently equal to maximum (agc_Dsat).
This allows the user to set different attack and decay time constants.
The agc_Dzro and agc_Dsat can have shorter time constants for when the signal falls too low (nearly zero) or goes
too high (saturates).
The magnitude is considered to be consistently nearly zero by using a 4-bit counter that counts up every time the
8-bit magnitude value is nearly zero and counts down otherwise. Nearly zero is defined by and’ing the magnitude
with a zero mask before checking to see if it is zero. If the counter’s value exceeds a user specified threshold, then
agc_Dzro is used.
The magnitude is considered too high by counting the number of cycles where the count is greater than a maximum
magnitude. If the counter value exceeds a user specified threshold, then the agc_Dsat is used.
The AGC is also subject to user specified upper and lower adjustment limits. The AGC stops incrementing the gain
if the adjustment exceeds agc_max. It stops decrementing the gain if the adjustment is less than −agc_min. The
agc_max and agc_min bits are 16-bit values that line up with the most significant 16 bits of gain_msb and gain_lsb.
The input data is validated by a signal. For complex data, the I and Q samples are processed as if they were two
real samples. An adjustment is made for the magnitude of the I sample, and then another adjustment is made for
the Q sample.
The cmd5016 software will automatically program the agc circuit using the keywords overall_gain, agc_mode,
agc_tc, and agc_cf. See the GC5016 automatic gain control application note for details.
13.11 Fixed Gain Control
The AGC can be turned off by setting the agc_freeze control bit. The AGC adjustment loop is cleared using the
gain_sync control bit field. A static gain is set by setting G0 using the gain_lsb and gain_msb bit fields, by setting
agc_freeze, and by setting gain_sync to be always active. The gain_sync control can also be used to synchronize
gain changes across multiple channels or across multiple chips. The cmd5016 software will put the chip into the
fixedgain mode and will automatically calculate the correct values for gain_lsb and gain_msb based upon the
overall-gain keyword.
13.12 Receiver Output Interface (ROUTF)
This section describes the output interface of the GC5016 as a DDC. The receiver output has several different modes,
and different numbers of output pins and bit configurations. The receiver Output has several formats:
D Parallel IQ or real output − in this mode, there is one output per Frame Strobe and each channel is output on
its own pins.
D Interleaved IQ − in this mode, the Frame Strobe identifies the start of I of the interleaved IQ output. In this format,
I is output first, followed by Q Each channel is output on its own pins.
D Time Division Multiplexed IQ − in this mode, all of the DDC channels are output from the D output port, The Frame
Strobe identifies the start of each TDM frame. The output order in 4 channel mode is: ID, QD, IC, QC, IB, QB,
IA, QA. The output order in 2 channel split IQ mode is: QD, IC, QB, IA.
The output interface also allows AGC gain data to be output with the data.
The GC5016 has four 16-bit output ports. Each output port consists of 16 parallel output pins, a programmable divided
clock, and a frame strobe. The parallel output data pins for the GC5016 are AO[15..0], BO[15..0], CO[15..0], and
DO[15..0]. The letters A..D refer to the four separate channels A..D.
25
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The clocks [A..D]CK for each port are generated by dividing the GC5016’s main clock CK by a programmable divider
for each port. Programming the divided port clock establishes the output rate for this port. The clock dividers can be
synchronized by the methods described in the Synchronization section. The polarity of each divided port clock
[A..D]CK] is user programmableThe clock, data and Frame Strobe outputs are output after the rising edge of the CK
clock. Figure 13 shows the td and th(o) timing between the CK and the Output (Out[ ]) Bus.
The divided port clocks [A..D]CK are output by the GC5016 as data signals, and therefore change nearly
simultaneously with the frame strobes and the output data pins. The divided clocks typically transition 0.5ns after
the frame strobe and the output data due to the xor gate for clock polarity. When ck_pol is 0 data transitions just before
the rising edge of [A..D]CK ,the falling edge of [A..D]CK should be used. If ck_pol is 1, then the rising edge should
be used. The serial clock output is valid starting six clocks after the incoming sync selected by sck_sync (see
Figure 14).
The frame strobe is one sck period in width. The divided port clock (sck_div + 1) should be a submultiple of the
decimation ratio (cic_dec × fir_dec). Otherwise the frame period varies between X sck periods and X+1 sck periods.
The output port data can be sampled on the rising edge of CK after the Frame Strobe is asserted. The Time Division
Multiplexed Output, and Interleaved IQ output require multiple samples to capture the output data. The customer
logic must generate the multiple cycles after the Frame Strobe is received.
The divided port clock can be used to hold the output data across several CK cycles. It is easier to design the logic
interfacing with the GC5016 receiver output if there is an integer number of channel divided clocks in the output frame.
A combination of the CK and channel clock can be used to register the GC5016 output data.
NOTE:The cmd5016 programming tool calculates the DDC output format settings. If the DDC output uses multiplexed
data, and the output frame has no idle time, an error may occur. The cmd5016 programming tool may issue a warning
for this configuration. The output mode needs to have at least one idle clock cycle, or needs timing verification with the
actual configuration.
26
I(Q)
I(Q)MSB
I(Q)MSB
I(Q)MSB
DDC
Output
DDC
Output
DDC
Output
7
DDC
Output
Sequence
Counter (int)
Channel
FS
Receive
Output
Clk Sck_div = 1
ckp_N = 1
Channel
Clk Sck_div = 1
ckp_N = 0
Channel
CK
I(Q)MID1
I(Q)MID
I(Q)LSB
6
td
I(Q)MID2
I(Q)LSB
5
th(o)
3
2
1
0
BITS=16, PINS=4
BITS=20, PINS=8, OR BITS=12, PINS=4
BITS=20, PINS=16, OR BITS=16,12,PINS=8, OR BITS=8, PINS=4
BITS=16, PINS=16, OR BITS=8,PINS=8, OR BITS=4, PINS=4
I(Q)LSB
4
Decimation = 16
I(Q)MSB
I(Q)MSB
I(Q)MSB
I(Q)
7
I(Q)MID1
I(Q)MID
I(Q)LSB
6
I(Q)MID2
I(Q)LSB
5
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Figure 13. DDC Output Real or SplitIQ Timing Diagram
27
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The frame strobes [A..D]FS are used to signify the beginning of a data frame for each port. The frame strobes are
set high by the GC5016 with the first word in a frame.
The GC5016 output can be a single data, interleaved complex data, or time division multiplexed data. The GC5016
may be configured to have one port for each channel. The GC5016 can be configured in time division multiplex data
mode to have all 4 channels’ data output on the D output port.
The number of pins used for a port is user programmable as 4, 8, or 16 . The number of bits in a word is user
programmable as 4, 8, 12, 16, or 20 . When the number of word bits is larger than the number of pins, the data is
sent time domain multiplexed at the divided port clock rate [A..D]CK. The most significant bits (MSBs) are sent first.
For complex data, I is followed by Q. The frame strobe is set high with the MSB of the first I word as shown in
Figure 14.
For example, in interleaved IQ mode, with16 bits (bits=16) and four pins (pins=4) selected, there are eight transfers
requiring at least 8 divided clocks, so (cic_int x fir_int/(sck_div+1) must be eight or greater. The keywords bits, pins,
sck_div, and routf_tdm are used to setup the output interface.
The GC5016 can round the output to any size from 4-bits to 20-bits and supplies zeros for the extra LSBs. The number
of bits after rounding can be smaller than the number of bits in a word.
28
IMSB
IMSB
IMSB
DDC
Output
DDC
Output
I
7
DDC
Output
DDC
Output
Sequence
Counter (int)
Channel
FS
Receive
Output
Clk Sck_div = 1
ckp_N = 1
Channel
Clk Sck_div = 1
ckp_N = 0
Channel
CK
IMID1
IMID
ILSB
Q
6
td
IMID2
ILSB
QMSB
5
th(o)
QMSB
ILSB
2
1
0
BITS=16, PINS=16, OR BITS=8,PINS=8, OR BITS=4, PINS=4
3
QMSB
QMID
QMID1
BITS=16, PINS=4
QLSB
QMID2
BITS=20, PINS=8, OR BITS=12, PINS=4
QLSB
BITS=20, PINS=16, OR BITS=16,12,PINS=8, OR BITS=8, PINS=4
QLSB
4
Decimation = 16
IMSB
IMSB
IMSB
I
7
IMID1
IMID
ILSB
Q
6
IMID2
ILSB
QMSB
5
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Figure 14. DDC Output Interleaved IQ Timing Diagram
29
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
13.12.1 Multichannel Time Division Multiplex
Two or four channels can share one output port, with the data for each channel time multiplexed. In this case, the
frame strobe is set high with the MSB in the first I word in the frame as shown in Figure 15. The number of pins used
for a port is user programmable as 4, 8, or 16 , and the number of bits in a word is user programmable as 4, 8, 12,
16, or 20.
13.12.2 splitIQ Mode
Where a complex signal is split, so that the I and Q are processed in different channels, the outputs should be
configured to output real data, with the I portion output from one port and the Q from another. The splitIQ mode can
use the TDM IQ or real output mode.
13.12.3 Embedded AGC
The output formatter can be set up to output AGC information together with the data. This is appropriate for systems
with AGC enabled that need to know the current gain value with the 8 bit I and Q data. This is done by configuring
the round to 8 bits or less, while configuring the port to support 16 bits. The lower 8 bits of the I and Q word are then
replaced by the AGC information as shown in Table 2. The most significant 14 bits of gain are output together with
2 bits of state information. The state information shows whether the AGC is in a zero or max state that uses the faster
gain adaptive constants.
The embedded AGC only works for total decimation rates (cic_dec x fir_dec) of 5, 6, and 10 or more. The cmd5016
program issues a warning if this mode is enabled for total decimations of 1, 2, 3, 4, 7, 8, or 9.
Table 2. Bit Placement for Gain Output With Data
PINS
30
TIME
CONTENT
AO 15..8
0
I 7..0
AO 7..0
0
Gain 18..11
AO 15..8
1
Q 7..0
AO 7..2
1
Gain 10..5
AO 1
1
Zero signal state
AO 0
1
Saturated signal state
DDC
Output
DDC
Output
DDC
Output
Sequence
Counter (int)
Channel
FS
Receive
Output
Clk Sck_div = 1
ckp_N = 1
Channel
Clk Sck_div = 1
ckp_N = 0
Channel
CK
CH4I(D)
CH2Q(D)MSB
CH2Q(D)
7
CH4Q(D)
CH2Q(D)LSB
CH2I(C)
6
td
CH3I(C)
CH2Q(C)MSB
CH1Q(B)
5
th(o)
3
1
SPLITIQ=1, BITS=16, PINS=16
2
0
CH1Q(B)LSB
CH1I(A)MSB
CH1I(A)LSB
CH3Q(C)
CH2I(B)
CH2Q(B)
CH1I(A)
CH1Q(A)
SPLITIQ = 0, AND ( (BITS=16,PINS=16) OR (BITS=8, PINS=8))
CH1Q(B)MSB
SPLITIQ=1 AND ((BITS=20, PINS=16) OR (BITS=16, PINS=8))
CH2Q(C )LSB
CH1I(A)
4
Decimation = 16
CH4I(D)
CH2Q(D)MSB
CH2Q(D)
7
CH4Q(D)
CH2Q(D)LSB
CH2I(C)
6
CH3I(C)
CH2Q(C)MSB
CH1Q(B)
5
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Figure 15. DDC Output TDM Timing Diagram
31
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
13.13 Overall Gain in Receive Mode
The overall gain in the receive mode is a function of zero padding (rinf_zpad), the CIC decimation (cic_dec), the cic
shift settings (cic_shift and cic_rshift), the sum of the programmable filter taps (PFIR_SUM), the filter output shift
(fir_shift) and the final gain in the agc circuit (G). The cmd5016 program, described later in the data sheet, sets the
cic_shift, cic_rshift, fir_shift, and G to their optimum levels for a targeted overall gain using the overall_gain keyword.
The calculated gain is done to limit the gain between stages, as well as provide an overall gain.
The overall gain is:
DDC_gain = zpad_gain x mix_gain x cic_gain x rshift_gain x fir_gain x agc_gain
Where the individual gains are:
zpad_gain = 1 / (rinf_zpad+1)
mix_gain = 1/2
cic_gain = cic_dec5 x 2(cic_shift−39)
rshift_gain = 2(cic_rshift−1)
fir_gain = PFIR_SUM x 2(fir_shift−21)
agc_gain = G / 4096
The restrictions on the gain settings are:
1. To prevent overflow in the CIC, cic_shift must be set such that:
zpad_gain x mix_gain x cic_gain ≤ 1
2. If rinf_zpad is greater than cic_dec, then cic_shift must be set such that:
(1/cic_dec) x mix_gain x cic_gain ≤ 1
3. For symmetric filters the maximum amplitude allowed into the fir is one-half, so cic_shift must be set such that:
zpad_gain x mix_gain x cic_gain x rshift_gain ≤ 1/2
4. The cic_rshift control is set to 1 (this control is only used to extend the allowable cic_dec range, and must be used
with care).
The fir_gain and agc_gain are used to adjust the overall gain to match the user’s desired gain (overall_gain). The
fir_shift control should be set such that:
zpad_gain x mix_gain x cic_gain x rshift_gain x fir_gain ≤ overall_gain
and the final agc_gain is set to give the desired overall_gain.
This equation gives unity gain for dc or complex data inputs. For real inputs, such as from an ADC, the DDC_gain
is typically set to 2 (6 dB). The gain of 2 compensates for the loss of 6 dB when tuning a signal to dc and filtering
out the negative image. Mathematically this is illustrated by using a an example input signal s(t) modulated up to a
frequency of ”ω”. The input is defined as:
d(t) = s(t) x cos(ωt) = s(t) x (ejωt + e−jωt) / 2
32
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
14 GC5016 DIGITAL UP CONVERSION (DUC) MODE
The GC5016 can be configured as a digital up converter (DUC). The DUC interpolates, filters, mixes, and sums the
customer inputs into one or several output ports. The GC5016 DUC (See Figures 2 and 16) has several blocks:
Transmit Input Interface
Gain
PFIR
CIC
Mixer
Sum, SumIn, and Transmit Output Formatter
The GC5016 has either four independent DUC channels, or two Wideband (split IQ) DUC channels. The DUC
accepts real or complex inputs, with complex being the more common. The GC5016 can have one, two, or four real
or complex DUC outputs.
The up-conversion channel details are reproduced in Figure 16.
20
18
I
Gain
Q
20
18
127 to 255 Tap
PFIR
Interp. by 4*16
18
6 Stage
CIC Filter
Interp. by 1*256
18
20
21
20
21
20
19
20
48
Frequency
NCO
Phase
16
Figure 16. Up-Conversion Channel Detail
The Transmit input formatter generates the Frame Strobe and channel divided clock, and is used to receive the
customer IQ data. The data input can be parallel IQ, interleaved IQ, or Time Division Multiplexed (TDM) IQ. The
Frame Strobe signal is generated to indicate to customer logic that another input sample is required.
The gain block provides fine gain adjustment for the channel’s IQ data.
The PFIR provides the first stage of interpolation. The typical PFIR interpolation is 3, 4, or 5. The number of PFIR
taps is dependent on the number of data streams and number of clocks available to compute the FIR taps. The PFIR
can interpolate from 1 to 16.
The Cascade Integrator Comb (CIC)filter provides the second stage of interpolation. The 6 stage CIC M=1 filter can
interpolate from 1 to 256.
The interpolated IQ data and the NCO’s frequency output sinusoid are mixed together in the mixer to generate the
channel digital IF output. The mixer output can be real or complex.
The Sum block within the GC5016 can be used to combine other GC5016 outputs (using the SumIn path) with this
GC5016’s channels.
The Transmit Output Format logic converts the Sum or fixed scale data to the Real, Interleaved Complex, Parallel
Complex, Double Rate Real, or Double Rate Complex output modes. An IFLG signal is output.
14.1 Special Modes− Split IQ, and Double Rate DUC Output
There are two special DUC modes: SplitIQ, and double rate.
The splitIQ Mode combines two channels to provide for more PFIR filtering. The A and B, or C and D channels can
be used in the splitIQ mode. The A and C channels process the I data, and the B and D channels process the Q data.
The parallel IQ and TDM modes may be used with the splitiq mode. In the splitIQ mode, the channel A and C mixers
are used. The cmd5016 software keywords splitiQ, splitIQ_AB, and splitIQ_CD are used to control this function.
33
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The double rate DUC mode utilizes the splitIQ mode with special CIC filter special mixer, and special output port
programming. The double rate mode has two output ports versus one, as there are even and odd DUC outputs. The
CIC filters produce even and odd sample outputs at the CK rate. The cmd5016 software keyword ’toutf_rate 2’
controls the double rate mode,
14.2 Transmit Input Interface
The Transmit Input Interface connects the customer input with the Gain Block. The Transmit Input has several
formats, and programming modes:
Real Data − The channel input is real data.
8bit parallel IQ Data − The channel input is complex. Each 16 bit port accepts 8 bits of I and 8 bits of Q.
Parallel IQ Data − Two input ports are used for a complex input. I is input on one port, Q on the other. This mode
limits the chip to only two input ports.
Interleaved IQ Data − One input port is used to transfer each complex input. Several channel clocks are needed to
transfer the IQ input data.
Time Division Multiplexed (TDM) IQ Data − The A input port is used to input the channel IQ input data for all four
channels. Several channels clocks are needed to transfer in the IQ data.
Several cmd5016 software keywords are used to specify the Transmit Input Delay and Transmit Input Formatter
modes. The cmd5016 keywords are:
D
D
D
D
D
D
D
D
D
fir_int, cic_int − interpolation ratio
fir_coef − the filter symmetry and number of coefficients
sck_div −sets the Frame Strobe width and the input data clock rate (period in CK clocks)
tinf_fs_dly − term used to adjust the delay between the Frame Strobe output and the first IQ data sample in the
frame
splitiq, splitiq_AB, splitiq_CD − sets the split IQ mode
tinf_cmplx − identifies the input data as complex
tinf_tdm − identifies that all channels are Time Multiplexed on port A inputs
tinf_pariq −identifies the 8bit parallel IQ input mode
tinf_iqmux −identifies the interleaved IQ mode
MODE NAME
splitiq
tinf_cmplx
tinf_tdm
tinf_pariq
Real
1
0
0
0
8bit parallel IQ
X
1
0
1
Parallel IQ
1
1
0
0
Interleaved IQ
0
1
0
0
TDM IQ
0
1
1
0
TDM IQ(splitiQ)
1
1
1
0
TDM IQ(parIQ)
0
1
1
1
14.2.1 Frame Strobe
Each channel has its own Frame Strobe generator that outputs a Frame Strobe when it needs a new input sample.
The period between each Frame Strobe is determined by the interpolation ratio.
The divided clock determines the width of the Frame Strobe and data signals. The Frame Strobe, 1−>0 transition
is used to identify the start of the input frame. See Figures 17 through 19.
The DUC channel outputs the Frame Strobe when it needs a new sample. The user can program the delay in divided
clocks between the frame strobe output and when the first value for the frame is clocked into the chip. This delay
is set in the cmd5016 software using the tinf_fs_dly keyword.
14.2.2 Input Clocking
The incoming data is clocked by the rising edge of the GC5016 clock CK.
34
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The sck_div can be used to program the GC5016 receive data every second, third, etc., clock edge, allowing the data
source to supply data at a lower speed. The user controls the clock division using sck_div. A value of 0 means that
every clock edge is used; a value of 1 means that every other clock edge is used, etc. The clock division phasing
is controlled by a general sync (sck_sync).
The time (in CK clocks) between data frames is the product of PFIR interpolation (fir_int) and CIC interpolation
(cic_int). The divided clock must divide this evenly, so (cic_int x fir_int) modulo (sck_div+1) must be 0 for the framing
to be fixed length. Otherwise, the length varies between two values.
There need to be enough divided clocks per frame to receive the entire frame of data. This means that (cic_int x fir_int
)/(sck_div + 1) must be greater than or equal to (bits/pins) x (2 if complex) x (nchannels if TDM). The CMD5016
software checks these constraints.
The divided clock outputs [A..D]CK are used primarily in the GC5016’s DDC receive mode, but may be of use in some
transmit applications − either as a data bit to indicate when data should be valid or in low frequency applications as
a clock. They are generated by dividing the GC5016’s main clock CK by programmable dividers sck_div+1 for each
channel. The input data transfer clock rate is then CK/(sck_div+1). The clock dividers can be synchronized by the
methods described in the Synchronization section. The polarity of each divided port clock [A..D]CK is user
programmable. For many applications, the input data transfer clock rate is the same as the main clock CK. In this
case, the output [A−D]CK should be ignored.
The divided clocks [A..D]CK are clocked out of the chip on the rising edge CK . The input data is clocked into the
chip on the rising edge of CK just before the rising edge of the divided clock (see Figure 19).
14.2.3 Bits and Pins
The user can select the number of data bits input to the GC5016 per divided clock cycle. The bits keyword in the
cmd5016 software selects the total number of data bits per input word. The allowable values are 4,8,12, 16, and 20
bits. The pins keyword selects the number of input port pins to use. The allowable values for the pins are 4,8, or 16.
This means that there will be ”pins” bits transferred for every divided clock cycle.
Transmit Input Mode
Real, or Parallel IQ
8bit I and Q
Interleaved IQ Data
Bits
Pins
Port Pins Used
Number of Divided Clocks for I and Q, or I
20
16
15..0
2
16,12
16
15..0
1
20
8
15..8
3
16,12
8
15..8
2
8
8
15..8
1
20
4
15..12
5
16
4
15..12
4
12
4
15..12
3
8
4
15..12
2
8
16
15..0
1
20
16
15..0
4
16,12
16
15..0
2
20
8
15..8
6
16,12
8
15..8
4
8
8
15..8
2
20
4
15..12
10
16
4
15..12
8
12
4
15..12
6
8
4
15..12
4
35
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Transmit Input Mode
TDM(not splitiQ) IQ
Data
TDM(splitiQ) IQ Data
TDM(parIQ, splitiQ)
Bits
Pins
Port Pins Used
Number of Divided Clocks for I and Q, or I
20
16
15..0
8
16,12
16
15..0
4
20
8
15..8
24
16,12
8
15..8
16
8
8
15..8
8
20
4
15..12
40
16
4
15..12
32
12
4
15..12
24
8
4
15..12
16
20
16
15..0
8
16,12
16
15..0
4
20
8
15..8
12
16,12
8
15..8
8
8
8
15..8
4
20
4
15..12
20
16
4
15..12
16
8
16
15..0
4
14.2.4 Real or IQ Multiplexed
The GC5016 may be configured to have one input port for each channel. For complex data, I is followed by Q. The
Frame Strobe is set high and low, marking the start of the transmit input frame. The 1−>0 transitions of Frame Strobe
and clock transition mark time 0 (tinf_fs_dly = 0) of the input data sequence. The Real mode starts out the same as
IQ multiplexed but only the I data sample times are used.
36
I(Q)
I(Q)MSB
I(Q)MSB
I(Q)MSB
AIn[ ]
AIn[ ]
AIn[ ]
tinf_fs_dly = 1
AIn[ ]
AFS
ck_pol = 1
Sck_Div=1
ACK
Sck_Div=1
CK
ACK
I(Q)MID1
I(Q)MID
I(Q)LSB
I(Q)MID2
I(Q)LSB
I(Q)LSB
Interpolation Ratio = 24
BITS=16, PINS=4
(BITS=20, PINS=8) OR ( BITS=12, PINS=4)
(BITS=20, PINS=16) OR (BITS=12,16, PINS=8)
(BITS=16, PINS=16) OR (BITS=8, PINS=8)
I(Q)MSB
I(Q)MSB
I(Q)MSB
I(Q)
I(Q)MID1
I(Q)MID
I(Q)LSB
I(Q)MID2
I(Q)LSB
I(Q)LSB
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Figure 17. DUC Real or SplitIQ Input Timing Diagram, sck_div = 1, tinf_fs_dly 1
37
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
14.2.5 8bit IQ Parallel
The GC5016 may also be configured to accept input data with 8 bits of I and 8 bits of Q in parallel. I MSB should be
placed at AI[15] and Q MSB at AI[7] (or BI, CI, or DI). This mode is valid only for 8-bit I and 8-bit Q using 16 pins.
Applications with fewer bits usually connect the unused bits to GND.
14.2.6 Multichannel Time Division Multiplex
The A port may also be used as the source for all channels configured to accept input data. In TDM mode, the channel
order is A, B, C, D. The Frame Strobe is set high and low marking the start of the transmit input frame. The 1−>0
transition of Frame Strobe and clock transition mark time 0 (tinf_fs_dly = 0) of the input data sequence. There are
three possible TDM sequences, depending on the desired number of bits, splitiq mode, and number of channels:
4 channel TDM, 12 or 16 bits for I or Q −> IA, QA, IB, QB, IC, QC, ID, and QD
4 channel TDM, 8bit IQ parallel mode −> IQA, IQB, IQC, IQD
2 channel TDM, split IQ, 12 or 16 bits −> IA, QA, IB, QB
38
CK
AI(MSB)
AIn[ ]
AI
AI
tinf_fs_dly = 1
AIn[ ]
AIn[ ]
AFS
ck_pol = 1
Sck_Div=1
ACK
Sck_Div=1
ACK
AI(LSB)
AQ
AQ
BQ
BQ
AQ(MSB) AQ(LSB)
BI
BI
BI(MSB)
CI
BI(LSB)
CQn
DQn
AI
BQ(MSB)
BQ(LSB)
AI(MSB)
AQ
AQ
AI(LSB)
SPLITIQ = 1 AND ( (BITS=20, PINS=16) OR (BITS=16,12, PINS=8))
AI
SPLITIQ = 1 AND ( (BITS=16, PINS=16) OR (BITS=8, PINS=8))
DIn
SPLITIQ = 0 AND ( (BITS=16, PINS=16) OR (BITS=8, PINS=8))
Interpolation Ratio = 24
AQ(MSB)
BI
BI
AQ(LSB)
BQ
BQ
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Figure 18. DUC TDM Input Timing Diagram, sck_div = 1, tinf_fs_dly 1
39
40
ACK
CK
I
IMSB
IMSB
IMSB
AIn[ ]
AIn[ ]
AIn[ ]
tinf_fs_dly = 1
AIn[ ]
AFS
ck_pol = 1
Sck_Div=1
ACK
Sck_Div=1
IMID1
IMID1
ILSB
Q
IMID2
ILSB
QMSB
ILSB
QMSB
QLSB
QMSB
QMID
QMID1
QLSB
(BITS=16, PINS=16) OR (BITS=8, PINS=8)
QMID2
QLSB
BITS=16, PINS=4
(BITS=20, PINS=8) OR ( BITS=12, PINS=4)
(BITS=20, PINS=16) OR (BITS=12,16, PINS=8)
Interpolation Ratio = 24
IMSB
IMSB
IMSB
I
IMID1
IMID1
ILSB
Q
IMID2
ILSB
QMSB
ILSB
QMSB
QLSB
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
www.ti.com
Figure 19. DUC IntIQ Input Timing Diagram, sck_div = 1, tinf_fs_dly 1
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
14.3 Gain
Each 20-bit input sample is multiplied by a 19-bit gain word. The 16 gain LSB’s are stored in one register, gain_lsb
and three MSB’s in another, gain_msb. The gain adjustment is GAIN/212, where the gain word (gain) ranges from
0 to (+219 − 1). Negative gains are not allowed. This gives a 0.002-dB gain adjustment resolution. Setting gain_msb
and gain_lsb to zero clears the channel input. A different gain can be specified for each channel. The gain values
are usually set using the overall_gain keyword in the cmd5016 software.
The gain values are double buffered and are transferred to the active register at the first I sample after sync
(gain_sync). The gain block for each up-conversion channel contains a dedicated 20x20 multiplier to apply fine gain
control. The result is rounded to 18 bits, limited to one for non-symmetric filters or one-half for symmetric filters, and
sent to a programmable filter. This is controlled manually using gain_half or the software calculates it automatically.
14.4 Programmable Finite Impulse Response Filter (PFIR)
The interpolating PFIR filter consists of an input swap RAM, 15 common-programmed FIR filter cells, a special 16
FIR end cell, a control and address generator block, a final accumulator, and an output gain shift, round, and limit
block (see Figure 20). The PFIR can process real or complex data.
The DDC and DUC share the same PFIR. The configuration of the PFIR and surrounding blocks, changes some of
the functions( ie DDC decimation, DUC interpolation). The sections in the PFIR filter cells are:
16x18-bit (16 words with 18-bit width) forward tap delay RAM,
backward 16 x 18-bit tap delay RAM (used for symmetric filters),
pre-adder with 18-bit output (the reverse input is 0 for non-symmetric filters),
16x16-bit filter coefficient RAM,
16-bit x 18-bit multiplier,
38-bit sum chain.
The output of the sum chain is sent to an accumulator with 42-bit output and is then shifted up 0−7 bits, round and/or
limited with a 20-bit output that is sent to the AGC.
The PFIR sections are programmed independently for each channel. The filter coefficients can be arranged in banks
allowing the user to change between multiple filter sets rapidly and synchronously. Two sets of coefficients might be
used in an adaptive application, where one set is being used while the other set is being updated. On each clock cycle
the filter computes 16 taps (31 if symmetric). The number of clocks between PFIR outputs is cic_int.
If the data stream is complex then half the clock cycles are used computing the I output and half are used computing
the Q output. The tap delay line limits the filter length to 256 if non-symmetric and 511 if symmetric (half this with
complex data streams). The maximum number of taps is determined by the cmd5016 program. It can be estimated
by:
ntaps = sym x min(256, (16 x fir_int x int (cic_int/(cmplx*fir_nchan) − odd)))
where:
cmplx = 1 for real data (or splitiq) and 2 for complex
sym = 1 for nonsymmetric and 2 for symmetric
odd = 1 for symmetric filters
fir_nchan = 1 for up and down conversion.
41
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
The PFIR coefficients are programmed through the cmd5016 configuration software, based on the number of filter
taps computed per clock cycle, the number of clock cycles per output, the number of data streams in the PFIR
channel, the symmetry of the filter taps, and the number of filter taps. The mode_ab(cd), splitiq, cic_int, fir_int, fir_diff,
fir_nchan, and pfir_coef tap filename are the cmd5016 inputs.
CICsync
CKmaster
18
Clock
Generator
Data In
18
Fck
16x18-Bit
Tap Delay Ram
•••
16x18-Bit
Tap Delay Ram
•••
Control and
Address
Generator
Control
18
16x16-Bit
Coef
RAM
42
16
18
Scale,
Round, Limit
34
Data
Out
•••
38
Accumulator
PFIR Filter
Cell #1
PFIR Filter
Cell #16
Figure 20. Programmable Filter Block Diagram
Multiple PFIR coefficient sets will limit the PFIR length of a specific filter. In interpolation mode, the PFIR supports
symmetry for interpolation of 1 or 2. If the user’s filter is significantly shorter than the maximum filter supported, the
clock is stopped to the filter block, saving power. The user can append zeros after the PFIR taps, to use the longest
possible filter tap-size to reduce the PFIR latency.
Gain for the FIR is:
Gain = (sum (coefficients) / fir_int) x 2(fir_shift − 21).
The overall_gain pseudo-command is used to set the PFIR gain, as part of the channel gain calculation.
The DUC gain application note and the cmd5016 software usage note have specific applications of the PFIR and
gain settings for DUC usage.
14.5 Dual CIC Filter
The 18-bit output from the PFIR is interpolated by a factor of cic_int in the 5 or 6-stage CIC filter, where cic_int is
any integer between 1 and 4096. The 6-stage CIC has a usable range from 1 to 294. The 5-stage CIC has a usable
interpolation range from 1 to 1217. The value of cic_int is programmed independently for each channel. A block
diagram of the CIC filter is shown in Figure 21.
The output rate of the CIC interpolation filter is equal to the mixer clock rate CK. The CIC filter has a gain equal to
cic_int(numCICstages−1) that must be removed by the scale and round circuit. This circuit has a gain equal to
2−41+cic_shift, where cic_shift ranges from 0 to 39. Overall CIC gain is 2−41+cic_shift x cic_int(numCICstages−1)
and should normally be set to be 1 or less.
The cmd5016 configuration software uses ncic overall_gain and cic_int to calculate the appropriate control settings
for cic_shift, cic_xmt_5stg, cic_xmt_d6stg, cic_2x, and ncic. ncic is cic_int−1 for normal cases and cic_int/2−1 for
double rate.
42
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
NOTE:If overall-gain is not used, and if the gain is set too high, then the signal can overflow internally, which
causes CIC instability. A momentary high power noise spike is seen on the output before the autoflush forces
the CIC to zero. If the gain is set so high that the signal rapidly overflows internally, the output appears as
a pulsing signal as the CIC periodically overflows.
The CIC may be bypassed by setting bypass_cic or by setting cic_bypass bit, and setting cic_int = 1. This is
appropriate for small overall interpolation (< 6) where the CIC filter requirement for wide transition bandwidth would
be a problem, or when using the chip only for filtering operations. The CIC can by bypassed only in splitIQ mode.
14.5.1 CIC in SplitIQ Mode
In the standard configuration, a dual CIC is used in each channel, one for I and one for Q. In the splitIQ, non-double
rate configuration, the I portion of each channel’s dual CIC is used. The CIC outputs from channels A and B go to
channel A’s mixer, and the CIC outputs from channels C and D go to channel C’s mixer.
14.5.2 CIC in Double Rate Mode
−
−
−
−
−
+
+
+
+
+
Scale and Round
−
Data In
Zero Pad by
cic_int*1
In the double rate mode, each CIC channel outputs even and odd time samples rather than I and Q samples. The
CIC interpolators are configured to calculate two results with each clock cycle. In this configuration, the CIC
interpolation must be even value and the filters are in the split IQ mode . The software configures this mode if the
variable toutf_rate is set to 2.
+
Data Out
Figure 21. 6-Stage CIC Interpolate Filter
14.6 Numerically Controlled Oscillator (NCO) and Mixer
The DUC NCO is identical to the DDC NCO (see Figure 5). The mix_rev_sel, mixer_rcv_cmplx, mix_icos, mix_isin,
mix_qcos, and mix_qsin are selected by the cmd5016 software to get the proper IQ data into the DUC Mixer:
Mode
4 Channel
Channel (Mixer)
I Source
Q Source
A,B,C,D
TI
TQ
SplitIQ
A,C
TI
XQ
SplitIQ
B,D
not used
not used
DoubleRate
A,C
TI
XQ
DoubleRate
B,D
XI
TQ
The mixer equations are identical to the DDC mode, in that the inv_q_sin control is a ’1’ for subtraction:
IMixOut = selected(I) * cos(NCOphase) − selected(Q) * sin(NCOphase)
QMixOut = selected(I) * sin(NCOphase) + selected(Q) * cos(NCOphase)
The mixer can be configured in normal mode, splitiq mode, or double rate mode. Figure 22 shows the normal mode
where each FIR processes a complex data stream and feeds it to a dual CIC block. The dual CIC block is configured
to process two streams (I and Q) at the clock rate. The interpolated output is sent to the mixer.
43
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
NCO
AI
AFS
ACK
TINF
GAIN
PFIR
Dual CIC
IFLG
B
TDM
Broadcast
C
SUM
and
FORMAT
AO [15:0]
BO [15:0]
CO [15:0]
DO [15:0]
D
Figure 22. Normal Mode Transmit Channel
14.6.1 splitIQ Mode
The SplitIQ mode uses channels A,B and C,D in pairs. The PFIR and CIC are used with real data into channel A or
C, and imaginary data into channels B or D. Figure 22 shows the standard configuration. The difference is that PFIR,
CIC A/C processes the I channels, and PFIR, CIC B/D processes only the Q channels. Channels B and D are
programmed as if real data is processed. The I and Q combination is done in the Channel A and C Mixer.
The SplitIQ mode can use the TDM IQ , and parallel I Q(16bit 2 ports) input modes. Each CIC is configured for the
I input data. The CIC channel A,C I, and B,D Q are modulated using mixers A and C. For the complex mixer, the XQ
input connects the B and D CIC I outputs.
The A and C Mixers are programmed with the freq differential phase, and phase, phase offset value. There are
pseudo-commands splitiq_AB and splitiq_CD for setting only one pair of channels in splitiq mode. The PFIR in this
configuration has twice the number of taps versus the standard configuration. This mode has the added benefit of
allowing the CIC filter to be bypassed.
14.7 Double Rate Mode
Figure 23 shows the double rate data flows from input to mixer output. The double rate mode input configuration
follows the splitIQ mode for the Transmit Input and PFIR configuration. The real portion of the data must be entered
to channel A, and the imaginary to channel B. TDM input may be used if desired. The filters A and B are configured
to process real data. Each dual CIC is configured to accept real input and interpolate (by an even ratio), and outputs
two samples per clock. The output of CICA is then I(2k) and I(2k+1), while the output of CICB is Q(2k) and Q(2k+1).
Mixer A is configured to accept cross-strapped input for the qcos and qsin multipliers, so that mixer A input is I(2k)
and Q(2k). Similarly, mixer B is configured to accept cross-strapped input for the icos and isin multipliers, so that mixer
B input is I(2k+1) and Q(2k+1). The output sample rate (fsample) is twice the chip clock rate (CK).
The cmd5016 configuration software controls this mode when the pseudo-command tout_rate is set to 2. The
cmd5016 configuration software sets the proper CIC and mixer settings. The user must provide the tuning frequency
(freq). In double-rate mode, the accumulated value in the NCO should be increased by 2 x (ftune / fsample) x 232
or (ftune / CK) x 232. This is set directly in freq_msb, freq_mid, and freq_lsb or by setting freq and fck in the software.
The phase setting for NCO B should be offset from A by one frequency step, so phase(NCO_B) = phase(NCO_A)
+ (ftune / fsample) x 216. NCO B gets a phase offset of (ftune / fsample) x 216.
44
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
NCO
I(2k)
Real In
AI
AFS
ACK
TINF
GAIN
PFIR
I(2k)
Q(2k)
Dual CIC
I(2k+1)
TDM
Broadcast
Cross connect for double rate
IFLG
SUM
and
FORMAT
NCO
Q(2k)
Imag In
BI
BFS
BCK
TINF
GAIN
PFIR
AO [15:0]
BO [15:0]
CO [15:0]
DO [15:0]
I(2k+1)
Q(2k+1)
Dual CIC
Q(2k+1)
C
D
Figure 23. Double Rate Mode Transmit Channel
14.8 Transmit Output Interface
The complex mixer outputs are rounded to 21 bits and sent to the sum tree and transmit output formatter. The sum
tree optionally adds together DUC channel outputs, and the transmit output formatter rounds the results and formats
them for output on the 16 bit output ports: AO, BO, CO, and DO. The data pins for the output ports are AO[15..0],
BO[15..0], CO[15..0], and DO[15..0].
The rounded 21-bit mixer outputs can either be sent to separate output ports or summed into one or two output signals
in a sum tree. The summed signal can also be added to data from an external source such as other GC5016 chips.
In this case, ports CO and DO function as sum input ports and are not available for signal output. The sum input path
and sum output path are expected to be configured the same in all GC5016 chips in a summing chain except for
possible rounding in the final chip.
The possible output formats and the cmd5016 keyword settings that are used to select them are shown in Table 3.
The possible output modes are identified by the ”Rate”, ”Real or IQ”, and ”Sum” columns.
The ”Rate” can be either full, half or double. Full is the most common mode and indicates that a new sample is output
every clock cycle (CK). Half means that complex samples are output at half the clock rate in an interleaved I followed
by Q format. The IFLAG output signal identifies the I sample. Double means that the sample rate is twice the clock
rate so that two time samples are output every clock cycle: Even time samples on one port, odd on another.
The ”Real or IQ” mode identifies if the output is real or complex. If the output is complex, then the I and Q halves
can either come out on separate ports or interleaved onto a single output port as specified by the ”Rate” mode.
The ”Sum” mode can either be none, pairs or all. The ”none” mode means that each DUC channel is output on its
own port and is not added to the other DUC outputs. The ”pairs” mode means that the outputs from DUC channels
A and B are added together and the outputs from DUC channels C and D are added together. The ”all” mode means
that all of the DUC channels are added together.
Table 3 is divided into sections that show settings for:
D Using standard resolution output word size (tout_res=0 for16 bits or less)
D Using wide resolution word size (tout_res=1 for up to 22 bits). Output ports AO and BO are merged and output
ports CO and DO are merged to give 22 bit outputs in the wide resolution mode.
D Using external sum IO paths (tout_sumio=0 for no sumio, tout_sumio=1 for sumio turned on). Ports CO and DO
become input ports when the sumio path is turned on.
45
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
D Using the split IQ mode that merges channels A and B together to give more taps (split_IQ=1).
D Using the double rate output mode (tout_rate=2).
The output from the transmit output format block can be rounded to 12, 14, 16 or 22 bits using the toutf_rnd_AB
control for the AO and BO ports, and toutf_rnd_CD control for the CO and DO ports. The settings are ”3” for 12 bits,
”2” for 14 bits, ”1” for 16 bits and ”0” for 22 bits. The output values are rounded into the MSBs of the final output word
and the unused LSBs are cleared. The tout_res control must also be set to 1 for the 22 bit output rounding option
to be used.
The MSB of the final output words can be inverted (toutf_offsetbin=1) to generate the offset binary output format
required by many DACs.
NOTE:The MSB of the GC5016 output port must be connected to the MSB of the receiving device’s input port.
46
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 3. DUC Output Formats
Modes
Output Ports
BO
CMD5016 Keyword Values
Rate
Real
or IQ
Sum
AO
CO
DO
full
real
none
AI
BI
CI
DI
full
real
pairs
(AI+BI)
(CI+DI)
off
full
real
all
(AI+BI+CI+DI)
off
off
full
IQ
pairs
(AI+BI)
(AQ+BQ)
full
IQ
all
(AI+BI+CI+DI)
half
IQ
none
half
IQ
half
tout_rate
tout_cmplx
tout_nsig
1
0
4
off
1
0
2
off
1
0
1
(CI+DI)
(CQ+DQ)
1
1
2
(AQ+BQ+CQ+DQ)
off
off
1
1
1
AI, AQ
BI, BQ
CI, CQ
DI, DQ
0
1
4
pairs
(AI+BI), (AQ+BQ)
(CI+DI), (CQ+DQ)
off
off
0
1
2
IQ
all
(AI+BI+CI+DI),
(AQ+BQ+CQ+DQ)
off
off
off
full
real
all
extI+(AI+BI+CI+DI)
off
extI (input port)
off
1
0
1
full
IQ
all
extI+ (AI+BI+CI+DI)
extQ+(AQ+BQ+CQ+DQ)
extI (input port)
extQ (input port)
1
1
1
half
IQ
all
extI+ (AI+BI+CI+DI),
extQ+(AQ+BQ+CQ+DQ)
off
extI, extQ
(input port)
off
0
1
1
full
real
all
16 MSBs of
extI+(AI+BI+CI+DI)
6 LSBs of
extI+(AI+BI+CI+DI)
16 MSBs of extI
(input port)
6 LSBs of extI
(input port)
1
0
1
half
IQ
all
16 MSBs of
extI+ (AI+BI+CI+DI),
extQ+(AQ+BQ+CQ+DQ)
6 LSBs of
extI+ (AI+BI+CI+DI),
extQ+(AQ+BQ+CQ+DQ)
16 MSBs of
extI, extQ
(input port)
6 LSBs of
extI, extQ
(input port)
0
1
1
full
real
none
ABI
CDI
off
off
1
0
2
full
real
all
(ABI+CDI)
off
off
off
1
0
1
full
IQ
none
ABI
ABQ
CDI
CDQ
1
1
2
full
IQ
all
(ABI+CDI)
ABQ+CDQ
off
off
1
1
1
half
IQ
none
(ABI, ABQ)
CDI, CDQ
off
off
0
1
2
half
IQ
all
ABI+ABQ, CDI+CDQ
off
off
off
0
1
1
The following modes assume no external sum IO with standard 16 bit resolution (tout_sumio=0 and tout_res=0)
The following modes assume external sum IO is used with standard 16 bit resolution (tout_sumio=1 and tout_res=0)
The following modes assume external sum IO is used with wide 22 bit resolution (tout_sumio=1 and tout_res=1)
The following modes are for splitIQ, no external sum IO, and standard resolution (split_IQ=1, tout_sumio=0, tout_res=0)
The following modes are for splitIQ, using external sum IO, and standard resolution (split_IQ=1, tout_sumio=1, tout_res=0)
full
real
all
extI+(ABI+CDI)
off
extI (input port)
off
1
0
1
full
IQ
all
extI+(ABI+CDI)
extQ+(ABQ+CDQ)
extQ (input port)
off
1
1
1
half
IQ
all
extI+(ABI+ABQ),
extQ+(CDI+CDQ)
off
extI, extQ
(input port)
off
0
1
1
full
real
all
16 MSBs of
extI+(ABI+CDI)
16 MSBs of
extI+(ABI+CDI)
16 MSBs of
extI (input port)
16 MSBs of
extI (input port)
1
0
1
half
IQ
all
16 MSBs of
extI+(ABI+ABQ),
extQ+(CDI+CDQ)
6 LSBs of
extI+(ABI+ABQ),
extQ+(CDI+CDQ)
16 MSBs of
extI, extQ
(input port)
6 LSBs of
extI, extQ
(input port)
0
1
1
The following modes are for splitIQ, using external sum IO, and wide resolution (split_IQ=1, tout_sumio=1, tout_res=1)
The following modes are for double rate output, no external sum IO, standard resolution (split_IQ=1, tout_rate=2, tout_sumio=0, tout_res=0)
doub
le
real
none
ABIeven
ABIodd
CDIeven
CDIodd
2
0
2
doub
le
real
all
ABIeven+CDIeven
ABIodd+CDIodd
off
off
2
0
1
doub
le
IQ
all
ABIeven+CDIeven
ABQeven+CDQeven
ABIodd+
CDIodd
ABQodd+
CDQodd
2
1
1
doub
le
real
The following mode is for double rate output, with external sum IO, and standard resolution (split_IQ=1, tout_rate=2, tout_sumio=1, tout_res=0)
all
extIeven +ABIeven+CDIeven
extIodd+
ABIodd+CDIodd
extIeven
(input port)
extIodd
(input port)
2
0
1
47
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
14.9 The Sum Tree
Figures 24 and 25 show the sum tree and transmit output format blocks when all four channels are added together,
including the sum IO path. Figure 24 shows the data paths for the standard 16 bit resolution mode (tout_res=0).
Figure 25 shows the wide resolution mode (tout_res=1).
The mixer outputs are rounded to 21–bits. This includes a 1 bit growth as the partial products of the complex multiply
are added together (effectively a gain relative to the msb of 0.5). The sum tree adds up to four up–conversion
channels together producing a 23–bit output (and a gain for any channel of 1/4). The 23–bit sum tree output is shifted
down by four bits and rounded to 19 bits before being added into the LSBs of the external 22–bit sum input. The gain
through the mixer, sumtree, and sumIO is equal to 2−7. When sumIO is bypassed (no sum–in) or is in the 16–bit mode,
there is no shift down by the four bits, so the gain through the mixer, sumtree, and sumio are equal to 2−3.
The final 22–bit sum is scaled up by 0 to 7 bits (sum_shift), checked for overflow, and then sent on to the transmit
output formatter. After scaling, the output data is rounded. Overflows in the sum tree are saturated to plus or minus
full scale. Hard limiting occurs after shifting and rounding. In normal applications, the data would be rounded to the
size of the digital to analog converter (DAC). The data is rounded into the uppermost bits and the unused lower bits
are cleared. For applications using sum inputs from other GC5016 chips, rounding should be to 22 bits for all chips
except the GC5016 just prior to the DAC.
The latency from the sum input port CO and DO to the output ports AO and BO is 14 clock cycles.
Sum In
21
Sum Tree
I
16
Channel A
16
Q
21
Upshift 7
21
23
I
23
Channel B
Q
21
21
I
Channel C
Q
21
23
23
23
23
Downshift 7
and
Upshift 0−7
and
Limit
Transmit
Output
Formatter
sum_shift
21
I
Channel D
Q
21
Figure 24. Sum Tree and Transmit Output Formatter − 16-Bit SumIO Mode
48
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Sum In
Sum Tree
21
I
Channel A
Q
22
21
22
21
I
Channel B
Q
21
21
I
Channel C
23
23
Shift
Down
by 4
and
Round
19
22
19
22
Upshift
0−7
and
Limit
Transmit
Output
Formatter
sum_shift
Q
21
21
I
Channel D
Q
21
Figure 25. Sum Tree and Transmit Output Formatter − 22-Bit SumIO Mode
14.10 Sum and Format Details
Figure 26 shows the sum and format blocks in more detail. Normally the configuration software is used to set all these
parameters (see Table 4 and Figure 26).
Figure 26 shows the sum and format blocks in more detail. Normally the cmd5016 configuration software uses just
tout_res, tout_sumio, tout_cmplx, tout_nsig, overall_gain and split_IQ to set all the parameters shown in Figure 26.
Details of the implementation are provided in the following sections for special applications where the parameters
may want to be set manually. Using manual settings is discouraged and should not be necessary.
49
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
DO
CO
sumin
sum_shift
a
ia
Asum
b
sum_ia
Mux,
Round
sum_selI
AO
c
qa
Bsum
d
sum_ib
a
ib
Asum
b
sum_qa
Mux,
Round
sum_selQ
BO
c
Bsum
qb
d
sum_qb
toutf_rnd_AB
toutf_halfcmplx_AB
toutf_quiet_AB
Mux,
Round,
Delay
Mux,
Round,
Delay
toutf_rnd_CD
toutf_halfcmplx_CD
toutf_quiet_CD
Transmit
Output
Mux
ic
CO
id
DO
toutf_bo
toutf_co
toutf_do
toutf_hold
toutf_offsetbin
Figure 26. Transmit Sum and Output Format Details
14.10.1 Sum Selection
Data from the four complex mixers (mixA−D) is sent to sum and selection blocks. The I data from the four mixers
is combined (controlled by sum_selI) into two outputs, Asum and Bsum. Likewise, Q data is combined (controlled
by sum_selQ). The sum_selI and sum_selQ controls are 8-bit values with bits (s7..0). The Asum output is:
Sum Select setting:
Asum = s0 x (s1 x a + s2 x b + s3 x c) + s4 x (s5 x d + s6 x b + s7 x c)
The Bsum output is:
Bsum = s5 x d + s6 x b + s7 x c.
Table 4 shows four common configurations. There is a constraint that s2 and s3 may not both be one. Likewise for
s6 and s7.
50
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 4. Sum Selection Settings
Sum_sel setting
Asum
Bsum
0x0
0
0
0x43
a
b
0xA7
a+b
c+d
0xB7
a+b+c+d
c+d
14.10.2 Sumin Port for Cascading Chips
If sumin is active, the ports CO and DO are used as inputs (reducing the number of outputs available). The control
sumin determines the format of the sum in port data. Both outputs are forced to zero when sumin=0.
When sumin = 1, a 22-bit half-rate complex sumin path is formed. The 22 bits are mapped to CO and DO as
sumin[21..6] ≥ CO[15..0] and sumin[5..0] ≥ DO[15..10]. The I word is identified by the cic sync. Iflag is high when
the I word is expected as an input. The sumin-to-sumout delay is 14 clocks, so when Iflag is high the I word is being
output. Summers ib and qb would be programmed off since only one path is available.
When sumin=2, CO[15..0] is passed as a 16-bit value to the sum node controlled by sum_ia. DO[15..0] is passed
to both sum_ib and sum_qa. This format is useful for using a sumin path with double rate real, full-rate complex, or
two full rate real channels. Due to the limitations of the 16-bit sumpath, gain and SNR need to be carefully analyzed
to see if they satisfy the system requirements. In the case of double rate, real summers qa and qb would be
programmed off, CO would add to ia, and DO would add to ib. CO should contain I(2k), while DO contains I(2k+1).
For full-rate complex summers, ib and qb would be programmed off, CO would add to ia, and DO would add to qa.
Finally, for two channels of full-rate real summers, qa and qb would be programmed off, while CO would add to ia
and DO would add to ib.
Finally, when sumin = 3, a 22-bit full rate sumin path is formed (most common application using sumin). In this case
summers ib, qa, and qb are all off. Gain is identical to the 22-bit half-rate complex case discussed above.
If an application calls for both a sumin port and transmit output hold, then the output hold should only be applied to
the last chip in a chain.
When cascading chips, sum_shift should be set only on the last chip in the chain, it should be 0 in the others. When
using a 22-bit sum chain, rounding should be set to 22 bits in all chips except the final one, where the rounding is
set appropriate to the next stage in processing (typically a DAC). Likewise, when using a 16-bit sum chain, rounding
should be set to 16 bits in all chips except the final one.
14.10.3 Sum Shift
The four paths (ia, qa, ib, and qb) are then upshifted by 0−7 (sum_shift). For most applications, different channels
added together are independent and their powers should be added in a root-sum-square manner. For optimal
performance, gains should be optimized into the D/A, since that is the dominant source of noise. Once the desired
level into the DAC is found, gains for the rest of the signal processing chain can be derived. The hardwired gains
through the mixer, sumtree, and sumio are set to allow maximal signal growth. The sum shifter allows adjustment
in gain for other situations. The mixer allows 1 bit of growth (when one adds real x sin + imag x cos). The 2-bit growth
in the sum tree allows for four channels to be added together inside the chip. The 3-bit growth in the sumio (22-bit
mode) allows up to 8 GC5016 chips to be cascaded without any clipping prior to the final output shift and round.
With a 16-bit sumio path we can not afford to be so generous with bit growth. Hence, gains with a 16-bit data path
are 1 bit in the mixer and 2 bits in the sum tree. This allows a total growth of 3 bits (maximum of four channels for
absolutely no clipping or 64 users using RMS) − the user is still limited by signal power per channel in the DAC.
Note that there is no shifter on paths ic and id. These paths are used only when there is no summing, no sum_in,
and four channels are output (or two channels at double rate). The gain on paths ia and ib can be forced to match
ic and id by setting sum_shift to 3.
51
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
14.10.4 Output Rounding and I/Q Multiplexing
The data on paths A and B next enter mux and round. Multiplexing allows I and Q to be time multiplexed onto the
same set of pins. Effectively, this decimates the signal by two and the sync source for this decimation is the cic_sync.
Finally, toutf_rndAB controls rounding of bits from the bottom, so the resulting word is 12 (3), 14 (2), 16 (1), or 22
(0) bits. Bits below the round point are forced to zero. After rounding, the data is hard limited. Paths ia, qa, ib, and
qb are 22 bits.
Processing on paths C and D is similar. If channels are added together, channels C and D are routed up and added
into paths A and B. If all four channels are output separately then the mux, round, and delay blocks on paths C and
D are used. The C and D data is delayed to match hardware pipelining delay on paths A and B. Since there is no
summing gain, a fixed upshift of one bit is provided to compensate for the one bit of headroom in the mixer output.
The blocks can either output the real data or IQ multiplexed (toutf_halfcmplx_CD=1). Paths ic and id out of these
blocks are limited to 16 bits, since that matches the size of the output ports. Control toutf_rndCD determines the
round. Since the path is limited to 16 bits, both toutf_rndCD=0 and toutf_rndCD=1 round to 16 bits. If paths C and
D are unused here (for example when adding paths C and D into paths A and B), then setting toutf_quiet_CD forces
an overflow condition, thus holding the bus constant (and quiet).
14.10.5 Transmit Output Multiplexing
The final block can invert the msb (toutf_offsetbin) for systems that prefer offset binary output to two’s complement.
Port AO always outputs ia.
Port BO can output zeros (toutf_bo=0), ib (toutf_bo=1), qa (toutf_bo=2), the lsb’s of ia (toutf_bo=4), or the
complement of AO (toutf_bo=8). Setting 4 is used to support output word sizes greater than 16 bits. If 22 bits are
output, then AO gets bits 21..6, while BO[15..10] gets bits 5..0. The remainder of BO is zero. Finally, setting 8 sets
BO to be the complement of AO. This can be used together with external resistor packs to create LVDS outputs. Other
settings for toutf_bo are undefined.
Port CO can output zeros (toutf_co =0), ic (toutf_co =1), ib (toutf_co =2), or qa (toutf_co =4). Other settings for
toutf_co are undefined.
Port DO gets zeros (toutf_do =0), id (toutf_do =1), qb (toutf_do =2), ib lsb’s (toutf_do =4), qa lsb’s (toutf_do =8), or
CO complement (toutf_do =16). Other settings for toutf_do are undefined.
14.11 Overall Gain in Transmit Mode
The overall gain in the transmit mode is defined below. The gain is normally set using the overall_gain keywork in
the cmd5016 configuration software. The overall gain is set relative to the MSB of the input data to the MSB of the
output data. For example, if overall_gain is set to 1.0, then a full scale input sample will result in a full scale output
sample. This allows the user to set the gain based upon the desired input and output crest factors. Note that the gain
is for each channel, if multiple DUC channels are added together then the overall_gain should be decreased to
compensate for the increased crest factor. See the ”DUC Mode GAIN” application note for complete details.
The gain of the chip is a function of the input gain setting (G), the sum of the programmable filter coefficients, the
filter gain (fir_shift), the amount of interpolation in the CIC filters (cic_int), the scale circuit settings in the CIC filter
(cic_shift), and the sum tree scale factor (sum_shift). The overall gain (22-bit sumio mode) is:
GAIN +
NJǒ Ǔǒ
G
4096
Ǔ
Nj
PFIR_SUM
cic_int (5*cic_xmt_5stg) 2cic_shift*41 2 sum_shift*6
fir_int
221*fir_shift
where cic_int, G, PFIR_SUM, and fir_shift can be different for each channel, but sum_shift is common to all channels.
The term inside { } should be less than or equal to one. For no sumio or 16 bit sumio modes, the gain is:
GAIN +
GAIN +
52
NJǒ Ǔǒ
NJǒ Ǔǒ
Ǔ
Nj
Nj
G
4096
PFIR_SUM
cic_int (5*cic_xmt_5stg) 2cic_shift*41 2 sum_shift*3
fir_int
221*fir_shift
G
4096
PFIR_SUM
cic_int (5*cic_xmt_5stg) 2cic_shift*41
fir_int
221*fir_shift
Ǔ
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
15 GC5016 IN TRANSCEIVER MODE
The GC5016 can also be configured in a transceiver mode as shown in Figure 3, where channels A and B function
in up-conversion mode and channels C and D function in down-conversion mode. The channel details for A and B
are identical to those described above for the up-conversion mode. The channel details for C and D are identical to
those above for down-conversion mode. Two input ports and two output ports are available each for the
up-conversion channels and down-conversion channels.
The down-conversion interfaces are described in the Receive (DDC) section. The up-conversion interfaces are
described in the Transmit (DUC) section. The Sumin port function is not available in transceiver mode.
The splitiq_AB, and splitiq_CD cmd5016 variables are used for special Transceiver conditions. In this example, the
Channel A and B are configured as a splitIQ DUC section, and Channels C and D are configured as individual DDC
channels.
16 GENERAL GC5016 FEATURES
16.1 Control Interface
Writing control information into control registers configures the GC5016. The control registers are grouped into eight
global registers and 88 pages of registers, each page containing up to 16 registers. The global registers are accessed
as addresses 0 through 0xF.
The non-global pages of registers are accessed as addresses x10 through x1f. The control register at global address
0x2 is the page register. The value written to the page register selects which page is accessed for addresses 16(x10)
through 31(x1f).
The contents of the control registers and how to use them are described in tables 8 through 67 later in the data sheet.
The registers are written to or read from using the C[15..0], A[4..0], CE, RD, and WR pins. Each control register has
been assigned a unique address within the chip. This interface is designed to allow the GC5016 chip to appear to
an external processor as a memory mapped peripheral (the pin RD is equivalent to a memory chip’s OE pin).
The dual strobe and single strobe cycles are selected based on the RD pin:
1. If the RD and WR pins are used as separate strobes, this is the dual strobe mode. CE and RD are required for
the read cycle. CE and WR are required for the write cycle.
2. If the RD pin is grounded, this is considered the single strobe mode. The level of the WR pin while the CE pin
is active, determines the read or write cycle.
Write timing is controlled by the WRMODE pin:
1. If the WRMODE pin is ’0’, the write timing is edge based. The data bus must be stable for a setup time before
and a hold time after (CE or WR) goes high
2. If the WRMODE pin is ’1’, the write timing is latch based. The data bus must be stable for a setup time before
(CE and WR) goes low and a hold time after (CE or WR) goes high.
NOTE:The suggested external processor interface is dual strobe and edge-WRMODE, where the WRMODE
pin is connected to GND.
53
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
16.2 Dual Strobe, Edge Mode(WRMODE = 0), Control Bus Timing
(See Figures 27 and 28)
In this mode, an external processor (a microprocessor, computer, or DSP chip) can write into a register by setting
A[4..0] to the desired register address, setting RD high, selecting the chip by setting CE low, then strobing WR low.
The write cycle is active while both CE and WR are low. Data on the C[15..0] is registered into the chip on the rising
edge of WR. (see Figure 28)
The external processor reads from a control register by setting A[0:4] to the desired address, select the chip with
the CE pin, and then set RD low. The chip then drives C[0:15] with the contents of the selected register. After the
processor has read the value from C[0:15] it should set RD and CE high (see Figure 27).
The C[0:15] pins are turned off (high impedance) whenever CE or RD are high or when WR is low.
CE
tREC
WR
tCSPW
RD
tsu(C)
A [4:0]
td(C)
t(CZ)
C [15:0]
READ CYCLE − NORMAL MODE
Figure 27. Dual Strobe Read Timing
54
www.ti.com
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
CE
tREC
WR
tsu(C)
tCSPW
RD
ÔÔÔ
ÔÔÔ
ÔÔÔÔ
ÔÔÔÔ
ÔÔÔÔ
ÔÔÔÔ
ÔÔÔÔ
A [4:0]
th(C)
C [15:0]
WRITE CYCLE − NORMAL MODE
tsu(EWC)
Figure 28. Dual Strobe Edge Mode Write Timing
16.3 Single Strobe, Edge Mode(WRMODE = 0), Control Bus Timing
(See Figures 29 and 30)
Some processors provide a single control RD/WR together with a chip strobe that controls timing. In this case, the
RD pin can be grounded. The control processor must set A[4..0] to the desired register address, set WR low for a
write or high for a read, and select the chip by setting CE low. The write cycle is active while both CE and WR are
low. Data on the C[15..0] is registered into the chip on the rising edge of CE.
55
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
CE
ÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓ
tCSPW
tREC
WR
tsu(C)
A [4:0]
td(C)
t(CZ)
C [15:0]
READ CYCLE − RD HELD LOW
Figure 29. Single Strobe Read Timing
CE
tCSPW
ÓÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓÓ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
tREC
WR
tsu(C)
A [4:0]
th(C)
C [15:0]
WRITE CYCLE − RD HELD LOW
tsu(EWC)
Figure 30. Single Strobe, Edge Mode Write Timing
56
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
16.4 Dual Strobe, Latch Mode(WRMODE = 1), Control Bus Timing (See Figure 31)
Latch mode (WRMODE=1) is used if the data is stable over the entire time period the write strobe is active. The data
on C[15..0] is transferred to the control registers during the entire time both WR and CE are low. Since some control
registers (such as most sync registers) are sensitive to transient values on the C[0:15] data bus, the data must be
stable during the entire write pulse in this mode.
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
CE
tREC
tCSPW
WR
ÓÓÓÓ
ÓÓÓÓ
ÓÓÓÓ
RD
tsu(C)
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
A [4:0]
tsu(EWC)
th(C)
C [15:0]
WRITE CYCLE − LATCH MODE
Figure 31. Dual Strobe Latch Mode Write Timing
57
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
16.5 Single Strobe, Latch Mode(WRMODE = 1), Control Bus Timing (See Figure 32)
The user can also use the latch mode with a single strobe, as shown in Figure 32.
CE
WR
ÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓ
ÓÓÓÓÓÓÓ
tCSPW
tREC
tsu(C)
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
ÔÔÔ
A [4:0]
tsu(EWC)
th(C)
C [15:0]
WRITE CYCLE − RD HELD LOW
Figure 32. Single Strobe Latch Mode Write Timing
16.6 Clocking
The GC5016 uses a single clock, CK to sample, process, and output data. The same clock is used throughout the
chip (gated in some areas to save power). Note that rinf_zpad can be used to allow the input sample rate (in receive)
to be a fraction of the chip clock rate. The, toutf_hold can be used to allow the output sample rate (in transmit) to be
a fraction of the chip clock rate. All channels use the same clock.
16.7 Power-Down Modes
The GC5016 allows software control to power down each of the four channel filters and each of the two cic/mix blocks.
When a block is powered down, control registers are not altered. The state machines and data paths are put into
a reset state. This is used to reduce the core GC5016 power, for unused channels. Channels that have been placed
in power down mode, must be resynchronized after power-on, before use.
16.8 Synchronization
Each GC5016 chip can be synchronized through the use of internal or external signals. There are two sync input
signals, an internal one shot sync generator, or a sync counter. The sync to each circuit can also be set to be always
on (active) or always off (never asserted). The 3-bit sync mode control for each sync circuit is defined in Table 5. A
cmd5016 software command, sync_mode, can be used to setup the channel and start-up synchronization. The value
determined for synchronization, are shown in the TBL file.
In the Down Conversion process, the rinf_zpad_sync, cic filter, pfir filter, and sck_sync will typically require
synchronization. The rinf_zpad_sync is only used if the DDC input uses the receive interpolation or the IQ multiplexed
input modes. The cic_sync is used to select the synchronization of the cic filter decimation. The fir_sync and cic_sync
need to be selected to a common sync signal. The fir_sync selects the synchronization signal for the filter’s
decimation, address generators, and state machines. The coef_sync is used if multiple coefficient banks are desired,
and a sync is used for selection. The sck_sync is used to synchronize the divided clock (if used) for the Receive
Output interface.
58
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
In the Up Conversion process, the sck_sync, pfir filter, cic filter, and toutf_hold_sync will typically require
synchronization. The sck_sync is used to synchronize the divided clock. The fir_sync is used to synchronize the
PFIR. The coef_sync is used to synchronize switching between two banks of coefficients. The cic_sync and fir_sync
need to be selected to a common sync signal. The toutf_hold_sync is used to synchronize the decimation of the real
or parallel IQ data DUC output.
Table 5. Sync Modes
MODE
0, 1
SYNC SOURCE
Off (never asserted)
2
SIA
3
SIB
4
one_shot
5
TC (terminal count (general timer)
6, 7
On (always active)
NOTE: The internal syncs are active high. The SIA and SIB inputs
have been inverted to be the active high syncs SIA and SIB
internally.
The one_shot can either be a level or a pulse as described in Table 15. The level mode is used to initialize the chip;
the pulse mode is used to synchronously switch frequency, phase, or gain values.
The SIA input can then be used to initialize and flush the channels and the SIB sync input can be used, if desired,
to synchronize the phases of the NCOs.
The recommended sync mode settings are summarized in Table 6.
The SIA and SIB sync inputs are either connected to a user defined sync generator, for example, an FPGA, or are
tied to a GC5016 chip’s sync output pin (SO). If there are multiple GC5016 chips in the system, then the SO pin of
one chip can be used to drive the SIA input of all chips, and the SO pin of another chip can drive the SIB inputs of
all chips. This arrangement allows the user to use the SO sync output to synchronously drive the SIA or SIB sync
inputs of other GC5016s. The sync source for SO is selected using the soB_sync control bits in address 1.
Table 6. Recommended Sync Settings
Global Syncs (Address 1)
Sync
Value
soB_sync
4 (OS)
Channel Syncs (Pages 0x14, 0x34, 0x54, and 0x74 Address
0x15)
Description
The SO output is used during
initialization
CIC and Mixer Syncs (Page 0x80 and 0xa0, Addresses 0x16 and
0x1E)
Sync
Value
fir_sync
2 (SIA)
coef_sync
7 (always)
Description
Sync FIR during initialization
For use with multiple coefficient
sets
Sync
Value
Description
gain_sync
4 (OS)
Sync gain when changing base
value. Manual Gain set to 6,7, for
DDC AGC set to initial sync
source. In DUC mode set to
always.
freq_sync
7 (always)
Use frequency settings as they are
loaded
pwr_mtr_sync
2 (SIA)
Synchronization starts a new
I^2+Q^2 accumulation cycle
phase_sync
7 (always)
Use phase settings as they are
loaded
sck_sync
2 (SIA)
Sync the serial clock during
initialization
dith_sync
0 (never)
Can free run. Set to 7 (always) to
disable
nco_sync
3 (SIB)
For NCO updates. Disrupts signal
processing when sync occurs.
flush_sync
0 (never)
Set CIC integrator to 0, set to 0 for
DDC, and sync source for DUC
(shouldn’t be repetitive sync)
cic_sync
2 (SIA)
Sync CIC during initialization
59
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
It is important that the synchronization source has an active SYNC signal when the Reset signal is released during
the initial GC5016 programming.
Repetitive synchronization, if used, requires a logic low Sync input that is one CK period wide.
The cmd5016 programming software has a pseudo-command ’sync_mode’. The sync_mode is used to set up
common synchronization modes for all of the sync registers. It has the added benefit of adding the assert-sync,
remove-reset, and remove-sync. See the Programming GC5016 application note for more information on this
command and its use.
The sync_mode keyword can accept the following values:
0, SIA selected for sync source
1, SIB selected for sync source
4, One Shot Sync Out, (external SOB to SIA) connected to SIA, level
5, One Shot Sync Out, (external SOB to SIA) connected to SIA, pulse
6, One Shot Sync Out, (external SOB to SIB) connected to SIB, level
7, One Shot Sync Out, (external SOB to SIB) connected to SIB, pulse
8, internal one shot, level triggered
9, internal one shot, pulse triggered
16.9 Initialization
Three initialization procedures are recommended. The first is for standalone GC5016 chips, the second is for a
multi-GC5016 chip configuration synchronized by a master GC5016 chip, and the third is for a configuration where
the GC5016s are to be synchronized by to an external source.
16.9.1 Standalone GC5016 Chips
This procedure works if the GC5016 can free run and its timing doesn’t need to be synchronized with other chips
(FPGAs, other GC5016s, etc.).
1. Reset the chip by writing 0xFF00 to address 0.
2. Disable all outputs by writing 0 to address 3.
3. Force the one-shot to be a pulse by writing 0x04 to address 1.
4. Load the configuration generated by the cmd5016 program.
NOTE:All sync controls that need to select a sync source should be set to 4, (one shot).
This can be done by adding these lines to the cmd5016 input file:
soB_sync 4
fir_sync 4
sck_sync 4
nco_sync 4
cic_sync 4
5. Clear the reset by writing 0x100 to address 0.
6. Pulse the syncs by writing 0x04 to address 1
NOTE:The above procedure is selected by setting pseudo-command sync_mode to ’9’.
60
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
16.9.2 Multiple GC5016 Chips Using SO From a Master GC5016 Chip
This procedure works if multiple GC5016 chips need to be synchronized. This assumes that the sync output pin (SO)
from the master GC5016 chip is connected to the SIA input pin on all GC5016 chips including the master chip.
1. Reset the chip by writing 0xFF00 to address 0 of all chips.
2. Disable all outputs except SO, by writing 0x100 to address 3 of all chips.
3. Force the one-shot to be a pulse and use the one shot to drive SO by writing 0x04 to address 1 in all chips.
4. Load the configuration generated by the cdm5016 program to all chips.
NOTE:All sync controls except for SO, should be set to 2 so that they are controlled by the SIA input sync.
This can be done by adding these lines to the cmd5016 input file:
soB_sync 4
fir_sync 2
sck_sync 2
nco_sync 2
cic_sync 2
5. Clear the reset by writing 0x100 to address 0 of all chips.
6. Pulse the syncs by writing 0x14 to address 1 of the master chip.
NOTE:The above procedure is selected by setting pseudo-command sync_mode to’ 5’.
16.9.3 Multiple GC5016 Chips Using an External Sync
Same as above, except the SIA input is tied to an FPGA or other sync source.
1. Reset the chip by writing 0xFF00 to address 0 of all chips.
2. Disable all outputs except SO, by writing 0x100 to address 3 of all chips.
3. Drive the SIA inputs low (active) using the external sync source.
4. Load the configuration generated by the cdm5016 program to all chips.
NOTE:All sync controls should be set to 2, so that they are controlled by the SIA input sync.
This can be done by adding these lines to the cmd5016 input file:
soB_sync 2
fir_sync 2
sck_sync 2
nco_sync 2
cic_sync 2
5. Clear the reset by writing 0x100 to address 0 of all chips.
6. Release the syncs by setting SIA high (inactive).
NOTE: SIA is clocked into the GC5016 chips by CK and the signal must meet the specified setup and hold times for all
of the GC5016 chips.
NOTE:The above procedure is selected by setting pseudo-command sync_mode to ’5’. Only the master
GC5016 has the Sync Output tied back to the FPGA. The other GC5016s have their SIAs tied to the FPGA
outputs.
61
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
16.10 Diagnostics
The GC5016 provides self-test capability by providing a pattern generator at the inputs, a specific signal processing
setup condition, a linear feedback shift register LFSR to develop an output results, and a checksum register read
by the local bus. A general timer is used to sequence the load, run for n cycles, and capture the test results.
The diagnostic tests are provided in the gc5016 developer’s toolkit. There are 5 different tests, a local bus interface
test, and 4 separate checksum tests. More details on these tests are given in the application notes at the end of this
document.
The LFSR generator for the DDC inputs has specific register variable settings. The rinf_diag register variable selects
the diagnostic source, which can generate a linear feedback sequence, a constant, or a ramp. The
rinf_sel_[portA,B,C,D] selects the receiver input-bus, or a diagnostic input for each DDC input bus. The
cksum_sync_front register value selects the synchronization source for the pattern generator.
Once the local bus registers have been programmed, the general timer starts, which releases the GC5016 to perform
the test. The LFSR inputs are processed in the DDC channel, and after the gain output, the IQ data is input to the
receive checksum logic. The receive checksum computes another LFSR sequence, and when the general timer has
counted the number if tests cycles to be performed, the LFSR output is registered in the checksum register. Each
general timer cycle, the checksum generator is recycled to start the test.
There is a separate pattern generator at the transmit inputs, which can generate a linear feedback sequence or a
constant. The register variable tx_pat_gen controls the Transmit diagnostic source. The register variable tinf_src
selects the TINF data port input or the diagnostic input.
The same type of test cycle can be performed from the Transmit input LFSR generator, through the Transmit DUC
logic, to the Transmit output LFSR sequence, to the local bus register. At the start of the checksum test, the general
timer sync clears the cksum_sync_back selection synchronizes the rcv_checksum register feedback. The general
timer interval IQ events are processed in the checksum logic. At the completion of the general timer, the last LFSR
calculation is latched in the checksum register.
The cksum_sync_front selection synchronizes the transmit_cksum register feedback. The number of internal IQ
events are processed in the checksum logic, based on the general timer value. When the general timer completes,
the last LFSR calculation is latched in the checksum register.
The NCO must be sync’d with the data pattern (so the accumulated phase always starts at zero). The dither sync
must either be set to always on (thus freezing the dither) or sync’d to the sync source. The user should wait for at
least four sync periods to allow the checksum to stabilize before reading the checksum.
The checksum and console diagnostic tests are further described in the application section.
16.11 JTAG
The GC5016 supports JTAG with a 5-pin interface. The JTAG implementation supports the standard boundary scan
(used for board test), and chip identification. A BSDL file is available on the web. The GC5016 identification string
is a 1 followed by an 11-bit manufacturer number (0x8C), a 16-bit chip number (5016 = 0x1398), and a 4-bit revision
number (currently a 1).
The TRST inverted pin is not used on 4 wire JTAG testers. This pin should have at least a 1-kΩ pull-up resistor to
3.3 V during JTAG operation.
NOTE:The TRST pin must be connected to GND during normal operation.
16.12 Mask Revision Register
The mask revision register contains a simple 8-bit code that changes with any mask changes which may impact
software, so that users can deploy software that tests for which revision and changes the behavior accordingly. The
current revision value is 1.
62
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17 CMD5016 − CONFIGURATION SOFTWARE
The cmd5016 is a configuration software program used to calculate the register variable values and the initialization
sequence required for the GC5016. The TI Developer toolkit has the cmd5016.exe program, and a cmd5016 user’s
guide for programming the GC5016 through the cmd5016 software.
NOTE:The GC5016 is intended to be programmed through the supplied cmd5016 interface.
The configuration software accepts a user supplied configuration file. The configuration file contains general
commands and register variable values. The general commands are called pseudo-commands. The
pseudo-commands (listed in table 7) specify receive, transmit, io modes, 4 channel or splitiq modes. The register
commands (tables 8 through 66) provide more detailed control, and are normally not required. Example configuration
files are provided in the cmd5016 user’s guide.
The user specifies the configuration file, and the PFIR coefficient tap file to the cmd5016 software. The software
performs analysis to determine if the configuration is feasible, and converts the pseudo commands, and register
variables into the register values to program the GC5016.
NOTE:In the configuration file, a line beginning with ’#’ is considered a comment field.
The cmd5016 generates output files based on print directives in the configuration file:
print table − An output file is generated with a .TBL extension that lists all of the register settings generated for the
specified configuration.
print analysis − An output file is generated with a .ANL extension that provides information on configuration warnings,
configuration errors, the PFIR filter mode used, and a VCore power consumption estimate.
print gc101 − An output file is generated with a .GC101 extension that contains address and data programming for
the GC101 evaluation platform. This file is formatted as a list of write commands.
print debug − An output file is generated with a .DBG extension that contains more information on specific filter
modes, and GC5016 state information.
print hfile − An output file is generated with a .h extension that is formatted as a ”C” language structure which can
be used with embedded systems for programming the GC5016.
NOTE:Errors identified in the analysis file must be fixed before the gc101 or the outputs can be used.
Warnings are sent to the analysis file and indicate unusual but possibly legal conditions.
NOTE:The PFIR coefficient filename and local path are referenced in the configuration file. An error will occur
if the proper local path or filename are incorrect.
Each pair of-channels has two modes of operation transmit and receive. The chip may operate with all four channels
in transmit, all four in receive, or two in transmit (AB) and two in receive (CD). The mode settings must be declared
first.. The mode is specified using a mode command:
mode [AB | CD] [transmit | receive]
17.1 cmd5016 Keywords
The user sets variables in the configuration input file using keywords that are either pseudo-fields or variable fields.
In most cases, the table 7 pseudo_field settings will be used to configure the GC5016. The variables fields are bit
fields of the hardware control registers. The pseudo_fields are variables that exist in software only and have no
directly corresponding element in hardware. The keywords can be one of six types:
mandatory (M) − requires user selection,
defaulted (D), − variable set with an initial value
computed (C), − software controlled variable
unused (X), not−applicable (−).
expert(E) − Normally a calculated variable, that should not be set manually.
63
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Variables can have different types in transmit and receive mode. For example, the CIC interpolation (cic_int) is
mandatory in transmit and unused in receive. Any variable may be directly set by the user and that value is used both
to program the chip and in some cases to compute other fields.
A user should first let the software generate values for computed and expert fields before attempting to modify them.
Setting expert_only fields gives a warning and generally should not be attempted. Computed fields (such as gain_lsb
and gain_msb) can reasonably be changed by a user − but most commonly should not need be changed.
Defaulted values should be reviewed to see if they fit the user’s application. Mandatory values must be set − the
software does not generate a configuration without them. Unused variables are programmed to zero − though it does
not matter. Any user set variables are normally used to compute other fields.
The override command is used to allow the user to override the settings of specific variables without impact to any
other variables. The user’s control file is read up to the override command, all computations and analysis are done
and reported, the rest of the control file is read to override specific settings, and finally the control register settings
are written.
Table 7 describes the pseudo_fields. The Rcv column indicates the type in receive mode. The Xmt column indicates
the type in transmit mode. The TYPE column indicates if the variable is per channel or global. Names in the text in
italics refer to cmd5016 variable names described in the following tables.
Table 7. Pseudo Fields in cmd5016
Rcv
Xmt
D
X
agc_cf
channel
D
X
agc_mode
channel
D
X
agc_tc
channel
M
M
bits
channel
0
Bits in each word of the output data in receive or input data in transmit. Must be either
4, 8, 12, 16, or 20. An interface with 8-bit real and 8-bit imaginary data would be
programmed to 8.
D
D
bypass_cic
channel
0
Programs the CIC into bypass mode (1) or normal (0). It neither interpolates nor
decimates. Gain is unity in transmit, 1/2 in receive. The data still goes through the CIC.
D
D
bypass_fir
channel
0
Programs the FIR filter to an impulse, with a minimum latency and unity gain (1) or
normal.
D
D
bypass_mix
channel
0
Programs the mixers to be nearly unity gain (2^20−1)/2^20. The sin mixer multipliers
are programmed to multiply by zero. Also sets the frequency to be dc and phase to
zero.
M
X
cic_dec
channel
1
CIC decimation amount (only in receive).
1
CIC interpolation amount (only in transmit).
64
NAME
TYPE
DEFAULT
DESCRIPTION
Used for adjusting the agc crest factor, see AGC application note
0
Selects the AGC mode, see AGC application note. (default is agc off)
Calculates AGC time constant. See AGC application note.
X
M
cic_int
channel
M
X
fir_coef
channel
M
X
fir_dec
channel
1
FIR decimation (only in receive). Values from 1 to 16.
D
D
fir_diff
channel
0
If set, allows multiple data streams in the filter to get different coefficients.
X
M
fir_int
channel
1
FIR interpolation amount (only in transmit) (1−16).
D
D
fir_nchan
channel
1
Specifies how many data streams in the filter (1−16). Almost always the default of 1 is
correct.
D
D
gain
channel
1.0
ratio gain_lsb, and gain_msb adjustment − normally overall_gain is used
D
D
Overall_gai
n
global
1.0
Used for calculating the channel gain. . See Application notes.
M
M
pins
channel
0
Specifies how many pins are active in the output interface in receive or input interface
in transmit. Must be either 4, 8, or 16.
D
X
pwr_mtr_on
channel
0
(1) automatically configure the power meter ( DDC mode only)
D
X
rin_cmplx
global
0
Receive input data is complex (1) or real (0).
D
X
rin_rate
global
1
Receive input data rate is half (0) for IQ time multiplexed, full (1), or double (2). If double,
splitiq must also be set.
D
X
routf_tdm
global
0
Receive output data is TDM’d (1) onto port DO or normal (0).
FIR filter coefficient filename, must be entered for configuration
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Rcv
Xmt
TYPE
DEFAULT
DESCRIPTION
D
D
splitiqAB
NAME
channel
pair
0
If set, channel A and B are splitIQ mode, I data is processed in ChA, the Q data is
processed in ChB.
D
D
splitiqCD
channel
pair
0
If set, channel C and D are splitIQ mode, I data is processed in ChC, the Q data is
processed in ChD.
D
D
splitiq
global
0
If set, complex IQ data is split so the I data goes to one filter and Q data goes to another.
This applies to both pairs of channels AB and CD.
D
D
syncmode
global
0
Setting to combine channel and global sync options, adds one shot startup sequence
at end of file, if proper mode is selected
X
M
tinf_cmplx
channel
NA
Transmit input data is complex (1) or real (0). If splitiq is on tinf_cmplx must be real.
X
D
tinf_fs_dly
channel
3
Transmit input frame strobe delay. Delays internal strobe identifying the MSB from the
output frame strobe. 4 bits
X
D
tinf_tdm
global
0
TDM’d transmit input data is expected on port AI(1), or normal (0).
X
D
tout_cmplx
global
1
Transmit output data is complex (1) or real (0).
X
D
tout_nsig
global
NA
Number of transmit output signals. Defines how channels are summed together. The
number of input signals is derived from channels in transmit mode that are powered and
whether they are in splitiq or not.
X
D
tout_rate
global
1
Transmit output rate is half (0) for IQ time multiplexed, full (1) or double (2). If double,
splitiq must also be set.
X
D
tout_res
global
1
Transmit output resolution is normal (0) for 16 bits or less, high resolution (1) up to 22
bits, or complementary signaling (2).
X
D
tout_sumin
global
0
Sumin port active (1) or not (0).
M
M
freq
channel
Frequency. determines the fractional phase value with Fck, to be loaded into the 48bit
frequency registers freq_msb, freq_mid, and freq_lsb.
M
M
fck
global
The chip clock rate. It is used to compute estimated power as well as to convert freq.
17.2 DDC Mode Pseudo-Fields
mode AB(CD) receive − identifies DDC mode
rin_rate, rin_cmplx − determines the Receive Input Formatter mode, double rate processing
splitiq, splitiqAB, splitiqCD − determine the 2channel or 4 channel mode
freq, fck, bypass_mix − determine the complex mixer freq_msb, freq_mid, freq_lsb settings
bypass_cic, cic_dec − determines the dual CIC filter decimation
bypass_fir, fir_dec, fir_diff, fir_nchan, fir_coef − determine the PFIR mode, and filter taps
gain, overall_gain − manual gain settings
agc_cf, agc_mode, agc_tc − agc gain settings
pwr_mtr_on −setup of receive Power Meter
routf_tdm − receive output format control for PortD TDM mode
65
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.3 DUC Mode Pseudo-Fields
mode AB(CD) transmit − identifies DUC mode
tinf_cmplx, tinf_tdm − identifies the Transmit Input Formatter mode
tinf_fs_dly − customer logic Transmit Input Formatter timing offset
splitiq, splitiqAB, splitiqCD − determine the 2channel or 4 channel mode
gain, overall_gain − manual gain settings
bypass_fir, fir_int, fir_diff, fir_nchan, fir_coef − determine the PFIR mode, and filter taps
bypass_cic, cic_int − determines the dual CIC filter decimation
freq, fck, bypass_mix − determine the complex mixer freq_msb, freq_mid, freq_lsb settings
tout_sumin − determines if the COut and DOut are used as the sum input port, activates sum input mode
tout_nsig − determines the two internal sum logic sets of A,B,C, and D channels
tout_rate, tout_cmplx, tout_res − determines the DUC output modes, and signal to pin mapping
17.4 Control Registers
This section describes the control registers of the GC5016. The control register addressing is divided into two
sections:
Page − the value of global address 2
Address − the hexadecimal value of the five address pins
The Global registers are accessed through addresses 0 through 0xF. The paged registers are accessed through
addresses x10 through 0x1F.
Table 8 provides an overview of the page allocations. FirA−D, cicAB, and cicCD are hardware blocks that contain
the signal processing blocks listed in Table 8.
The register values are not changed by the hardware-reset pin, software master reset, block reset, or clock loss. A
global register 0 (internal reset and power down) is set at power up (but not by any reset action). Global register 3
(output enables) is cleared at power up.
Table 8. Map of Control Pages
BLOCK
PAGES
DESCRIPTION
FirA
00−1F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for A
FirB
20−3F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for B
FirC
40−5F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for C
FirD
60−7F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for D
cicAB
80−81
CIC, NCO, mixers for channels A and B, common transmit blocks
cicCD
a0−A1
CIC, NCO, mixers for channels C and D, common receive blocks
Table 9 lists the global registers in the chip.
Table 9. Global Control Registers
PAGE
ADDRESS
REGISTER DESCRIPTION
Global
0
Reset and clock control
Global
1
General sync
Global
2
Page and revision
Global
3
Output enables
Table 10 lists the 4 FIR & Control blocks. Table 11 lists the registers in FirA. FirB, FirC, and FirD have Identical
registers with page offsets of 20, 40, and 60 respectively.
66
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 10. FirA Control RAMs
BLOCK
PAGES
DESCRIPTION
FirA
00−1F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for A
FirB
20−3F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for B
FirC
40−5F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for C
FirD
60−7F
Transmit input formatter, gain, PFIR, AGC, power meter, receive output formatter for D
Table 11 lists the control registers for FirA.
Table 11. FirA Control Registers
PAGE
ADDRESS
REGISTER DESCRIPTION
0−F
10−1F
FIR coefficients
10
10−1F
Swap ram contents
11
10−1F
BE ram contents
12
10
Coefficient address generator
12
11
Common address generator
12
12
Forward read address generator
12
13
Forward write address generator
12
14
Backward read address generator
12
15
Backward write address generator
12
16
Backward end cell read address generator
12
17
Backward end cell write address generator
12
18
Forward write strobe
12
19
Backward write strobe
12
1a
Backward end cell read bypass
13
10
Transmit input formatter
13
11
Transmit frame strobe controls
13
12
Transmit frame counter
13
13
Gain 16 LSB’s
13
14
Gain controls
13
15
AGC minimum adaptation limit
13
16
AGC maximum adaptation limit
13
17
AGC counts and threshold
13
18
AGC loop gains
13
19
AGC gain read back
13
1a
Power meter least significant 16 bits
13
1b
Power meter most significant 16 bits
13
1c
Power meter status
13
1d
Power meter Integration time
13
1e
Receive output formatter
13
1f
Receive checksum
14
10
FIR swap ram controls
14
11
FIR accumulator controls
14
12
FIR output control
14
13
FIR sync count
14
14
FIR clock
14
15
Channel syncs
67
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 12 lists the control registers for cicAB.
Table 12. Control Registers for cicAB
PAGE
ADDRESS
REGISTER DESCRIPTION
80
10
A CIC mode
80
11
A phase
80
12
A frequency (LSB)
80
13
A frequency (mid)
80
14
A frequency (MSB)
80
15
A mixer
80
16
A NCO sync and dither control
80
17
A CIC count and sync
80
18
B CIC mode
80
19
B phase
80
1a
B frequency (LSB)
80
1b
B frequency (mid)
80
1c
B frequency (MSB)
80
1d
B mixer
80
1e
B NCO sync and dither control
80
1f
B CIC count and sync
81
10
Sum tree sum selection
81
11
Sum tree multiplexing
81
12
Receive sensitivity reduction path A
81
13
Receive sensitivity reduction path B
81
14
Receive sensitivity reduction path C
81
15
Receive sensitivity reduction path D
Table 13 lists the control registers for cicCD.
Table 13. Control Registers for cicCD
PAGE
68
ADDRESS
REGISTER DESCRIPTION
a0
10
C CIC mode
a0
11
C phase
a0
12
C frequency (LSB)
a0
13
C frequency (mid)
a0
14
C frequency (MSB)
a0
15
C mixer
a0
16
C NCO sync and dither control
a0
17
C CIC count and sync
a0
18
D CIC mode
a0
19
D phase
a0
1a
D frequency (LSB)
a0
1b
D frequency (mid)
a0
1c
D frequency (MSB)
a0
1d
D mixer
a0
1e
D NCO sync and dither control
a0
1f
D CIC count and sync
a1
10
Receive input formatter
a1
11
General timer
a1
12
Receive syncs
a1
13
Transmit output multiplexing
a1
14
Transmit output rounding and hold
a1
15
Transmit checksum
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.5 Global Registers
The following tables describe the various bit fields contained in each of the global control registers.
Table 14. Global Register Reset and Clock Control Address 0x0 Bits 15.8 Set at Power Up
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
−
−
ck_loss_status
1..0
D
D
en_ck_loss
8
C
C
pwr_dwn_fir_A
9
Power down PFIR in A. Power down puts the GC5016 section in reset and disables the clock.
It does not reset the control registers.
C
C
pwr_dwn_fir_B
10
Power down PFIR in B
C
C
pwr_dwn_fir_C
11
Power down PFIR in C
C
C
pwr_dwn_fir_D
12
Power down PFIR in D
C
C
pwr_dwn_cic_AB
13
Power down cic/mix for A and B
C
C
pwr_dwn_cic_CD
14
Power down cic/mix for C and D
C
C
master_reset
15
Power down all sections
1
Enable clock loss detection. Highly recommended.
Table 15. General Sync Global Address 0x1
RCV
TX
FIELD
BITS
Dflt
D
D
soB_sync
2..0
2
−
−
one_shot
4..3
DESCRIPTION
Signal selection for sync_out_B
One shot control. (=0) Armed issue one shot when LSB goes high; (=1) issues one shot on
transition of LSB to high safe state to be left in; (=2) level output 0; (=3) level output 1
Table 16. Page and Revision Global Address 0x2
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
−
−
page
7..0
Page register
−
−
chip_rev
15..8
Chip revision. Read only. Currently 1.
Table 17. Output Enables Global Address 0x3 Cleared at Power Up
Rcv
Tx
FIELD
BITS
C
C
en_AO
0
Dflt
Enable data output AO
DESCRIPTION
C
C
en_AFS
1
Enable frame strobe and output clock for A
C
C
en_BO
2
Enable data output BO
C
C
en_BFS
3
Enable frame strobe and output clock for B
C
C
en_CO
4
Enable data output CO
C
C
en_CFS
5
Enable frame strobe and output clock for C
C
C
en_DO
6
Enable data output DO
C
C
en_DFS
7
Enable frame strobe and output clock for D
C
C
en_soB
8
Enable sync_out_B and iflag
D
D
ckp_A
9
0
Invert ACK
D
D
ckp_B
10
0
Invert BCK
D
D
ckp_C
11
0
Invert CCK
D
D
ckp_D
12
0
Invert DCK
X
D
sumin_clr
13
0
Force sumin port to zero
69
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.6 FIR Control RAMs
The programmable filter has three RAM’s used to control its operation.
PAGE
ADDRESS
REGISTER DESCRIPTION
0−F
10−1F
FIR coefficients
10
10−1F
Swap ram address index
11
10−1F
BE ram Bit Map
The filter coefficients are stored in a 16-word (by 16 bit) RAM, in each of 16 filter cells. The coefficients are 16-bit
two’s complement. The coefficients can be read without interrupting normal operation. Changing the coefficients
during normal operation can cause erroneous output should the hardware be reading a coefficient value
simultaneously. The coefficients can be divided into banks to allow safe updating and synchronous changing to a new
set. The coefficients are stored in addresses 0x10 to 0x1F on the FIR Control RAM pages:
0x0 to 0xF (for channel A),
0x20 to 0x2F (for channel B),
0x40 to 0x4F (for channel C),
0x60 to 0x6F (for channel D)
The configuration software takes the filter coefficients from a file and writes them to the appropriate RAM locations.
17.7 Swap RAMs
The Swap RAM can re-order the data for use by the forward delay line. The Swap RAM is divided into two halves.
The PFIR reads from the last stored set of data, and the input is written to the other half. The programmed portion
of the swap RAM, is the address of the new written data. A counter is used to read the address-pointer-value, and
write the newly received data at the pointed address.
Normally, this RAM is programmed so the content of each location equals its address (effectively bypassing it). In
the future, this RAM can be used to allow complex coefficients by allowing the same data to be read twice. The swap
RAM is on page 0x10 addresses 0x10 to 0x1F. Table 46 has additional Swap RAM controls for the write and read
address counters. The configuration software automatically writes this RAM. Currently there is no manual override
within the configuration software.
17.8 Backend RAM
The backend RAM encodes several fields into a 16 word by 16-bit RAM. The backend RAM is used to control the
16th FIR cell. There is a generic address that is programmed for all 16 cells. The 16th fir-cell functions may be different
from the other 15 cells, and may require different configuration. The bits are mapped as shown in Table 18.
The configuration software calculates the appropriate values for this RAM. There is no manual override option in the
configuration software.
Table 18. Backward End Cell Control RAM Bit Map
BITS
70
DESCRIPTION
3..0
Backward end cell write address map for first iteration
7..4
Backward end cell write address map for second iteration
8
Backward end cell write enable
12..9
Backward end cell read address map
13
Blank feedback (end cell only) for odd symmetry first iteration
14
Blank feedback (end cell only) for odd symmetry second iteration
15
Unused
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.9 Programmable FIR, Gain, Transmit Input, and Receive Output Control Registers
The following tables detail the various control registers for a single PFIR filter. Note that the configuration software
calculates these registers. The PFIR has several sets of memories that are synchronized to read the data to be
filtered, and the coefficient memory. The Common Address Generator is used to read from the Forward and Reverse
Delay memory in each cell. This represents the data to be filtered. Different filtering modes, can have I or Q data at
different offset positions. The Coefficient Address generator is used to read the coefficient memory.
The Forward Read address and Forward Write address are used at the end of each computational cycle, to pass
the Forward Delay data between the FIR cells. The Forward Write strobe indicates the times within the PFIR
calculates that the data is written to the next cell.
The Backward Read address, Backward Write address, Backward End Cell Read address, Backward End Cell Write
address, and Backward End Cell Read Bypass are used to develop the address to pass the reverse delay line data
from the 16th FIR cell back towards the 1st FIR cell. The Backward Write strobe indicates the times within the PFIR
calculates that the data is written to the next cell.
Table 19. Coefficient Address Generator Page 0x12 Address 0x10
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
E
E
coef_ofsc
3..0
FIR coefficient address offset
E
E
coef_modc
7..4
FIR coefficient modulo count
E
E
coef_repc
11..8
FIR coefficient repeat count
E
E
coef_sym
12
FIR hardware exploits symmetry (1) or not (0)
E
E
coef_zerofr
13
FIR zero forward read
Table 20. Common Address Generator Page 0x12 Address 0x11
Rcv
Tx
FIELD
BITS
E
E
Dflt
DESCRIPTION
E
agen_recr
3..0
FIR recirculate count
E
agen_depd
7..4
FIR depth count
E
E
agen_modd
11..8
FIR modulo count
E
E
agen_togen
12
FIR toggle enable for back end read and write
Table 21. Forward Read Address Generator Page 0x12 Address 0x12
Rcv
Tx
E
E
fragen_soff
FIELD
3..0
BITS
Dflt
FIR forward read address generator offset
DESCRIPTION
E
E
fragen_srecr
7..4
FIR forward read address generator recirculate count
E
E
fragen_sdepd
11..8
FIR forward read address generator depth count
E
E
fragen_stepn
15..12
FIR forward read address generator step
Table 22. Forward Write Address Generator Page 0x12 Address 0x13
Rcv
Tx
E
E
fwagen_soff
FIELD
3..0
BITS
Dflt
FIR forward write address generator offset
DESCRIPTION
E
E
fwagen_srecr
7..4
FIR forward write address generator recirculate count
E
E
fwagen_sdepd
11..8
FIR forward write address generator depth count
E
E
fwagen_wrecrl
15..12
FIR forward write address generator step
71
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 23. Backward Read Address Generator Page 0x12 Address 0x14
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
E
E
bragen_soff
3..0
FIR backward read address generator offset
E
E
bragen_srecr
7..4
FIR backward read address generator recirculate count
E
E
bragen_sdepd
11..8
FIR backward read address generator depth count
E
E
bragen_stepn
15..12
FIR backward read address generator step
Table 24. Backward Write Address Generator Page 0x12 Address 0x15
Rcv
Tx
E
E
bwagen_soff
FIELD
3..0
BITS
Dflt
FIR backward write address generator offset
DESCRIPTION
E
E
bwagen_srecr
7..4
FIR backward write address generator recirculate count
E
E
bwagen_sdepd
11..8
FIR backward write address generator depth count
E
E
bwagen_wrecrl
15..12
FIR backward write address generator step
Table 25. Backward End Cell Read Address Generator Page 0x12 Address 0x16
Rcv
Tx
E
E
beragen_soff
FIELD
3..0
BITS
Dflt
FIR backward end cell read address generator offset
DESCRIPTION
E
E
beragen_srecr
7..4
FIR backward end cell read address generator recirculate count
E
E
beragen_sdepd
11..8
FIR backward end cell read address generator depth count
E
E
beragen_stepn
15..12
FIR backward end cell read address generator step
Table 26. Backward End Cell Write Address Generator Page 0x12 Address 0x17
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
E
E
bewagen_soff
3..0
FIR backward end cell write address generator offset
E
E
bewagen_srecr
7..4
FIR backward end cell write address generator recirculate count
E
E
bewagen_sdepd
11..8
FIR backward end cell write address generator depth count
E
E
bewagen_wrecrl
15..12
FIR backward end cell write address generator step
Table 27. Forward Write Strobe Page 0x12 Address 0x18
Rcv
Tx
FIELD
BITS
E
E
fwa_strobe
15..0
Dflt
DESCRIPTION
FIR forward write strobe
Table 28. Backward Write Strobe Page 0x12 Address 0x19
Rcv
Tx
FIELD
BITS
E
E
bwa_strobe
15..0
Dflt
DESCRIPTION
FIR backward write strobe
Table 29. Backward End Cell Read Bypass Page 0x12 Address 0x1A
Rcv
Tx
FIELD
BITS
E
E
beagen_rbypass
15..0
72
Dflt
DESCRIPTION
FIR backward end cell read bypass
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.10 Transmit Input Formatter Controls
The Transmit Input Formatter section is used to set the mode of the Transmit Input logic, control the Frame Strobe
timing in Transmit mode, and to control the time when the customer logic − Transmitter input(s) are sampled.
Table 30. Transmit Input Formatter Page 0x13 Address 0x10
Rcv
Tx
X
C
tinf_bits
FIELD
2..0
BITS
Dflt
Bits per word 0 − quiet, else bits = 4 x tinf_bits. Values 6 and 7 are illegal.
DESCRIPTION
X
C
tinf_pins
5..3
Active pins quiet (0), four pins (1), 8 pins (2), 16 pins (4), illegal (else)
X
C
tinf_iqmux
6
IQ multiplexed (1) or real (0) inputs
X
C
tinf_pariq
7
IQ parallel (1) or not (0) I is bits 15..8 Q is bits 7..0
X
C
tinf_src
10..8
Source channel A normal (2),TDM (6), test (0); channels B−D normal (2), TDM (1), test (0)
C
C
tinf_xmt
11
Transmit (1) or receive (0)
C
C
fso_sel
13..12
Frame strobe output select quiet (0), xmt (1), receive (2), illegal (3)
Table 31. Transmit Frame Strobe Page 0x13 Address 0x11
Rcv
Tx
FIELD
BITS
X
E
tinf_first
3..0
X
E
tinf_second
7..4
D
D
sck_div
11..8
X
C
tinf_fso_dly
14..12
Dflt
DESCRIPTION
Transmit input frame strobe load first word
Transmit input frame strobe load second word
0
divided clock, develops channel clock as sck_period = (1 + sck_div) * ck_period
Transmit input frame strobe output delay values from 1 to 7 divided clocks * (sck_div+1)
Table 32. Transmit Frame Counter Page 0x13 Address 0x12
Rcv
Tx
X
E
tinf_fs_cnt
FIELD
11..0
BITS
Dflt
Transmit frame strobe count distance between frame strobes in divided clocks
DESCRIPTION
X
E
tinf_nfs
15..12
Transmit number of frame strobes between fir_swap toggles
17.11 Gain and AGC Controls
The Gain Controls, gain_lsb, and gain_msb, and agc controls set the scale of the Receive output, or Transmit input
after formatting. The agc controls can be used in the receive mode. See the DUC Gain, DDC Gain, and AGC
application notes.
Table 33. gain_lsb Page 0x13 Address 0x13
Rcv
Tx
C
C
FIELD
BITS
gain_lsb
Dflt
15..0
DESCRIPTION
Lower 16 bits of gain (gain is scaled by 4096)
Table 34. Gain Controls Page 0x13 Address 0x14
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
C
C
gain_msb
2..0
D
D
agc_freeze
3
C
C
gain_rnd
8..4
C
C
gain_half
9
D
D
agc_hold
10
0
Gain tracks when low, holds when high for uP gain read back
D
D
agc_gain_out
11
0
Puts agc information into lower 8 bits of output data
D
D
agc_zmag
15..12
0
AGC mask for defining zero signal for faster AGC adaptation. Masks off bottom 0, 1, 2, 3, or
4 bits (0xF, E, C, 8, or 0)
Upper 3 bits of gain
1
Freezes adaptive gain
Rounds off bottom 0 to 16 bits of a 20-bit word
Saturates gain output at 1/2. Used in xmt for symmetric filters
Table 35. AGC Minimum Adaptation Limit Page 0x13 Address 0x15
Rcv
Tx
D
D
FIELD
agc_min
BITS
Dflt
15..0
0
DESCRIPTION
AGC minimum adaptation limit. Lower limit for adapted gain is manual_gain − agc_min
73
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 36. AGC Maximum Adaptation Limit Page 0x13 Address 0x16
Rcv
Tx
D
D
FIELD
agc_max
BITS
Dflt
15..0
0
DESCRIPTION
AGC maximum adaptation limit. Upper limit for adapted gain is manual_gain + agc_max
Table 37. AGC Counts and Threshold Page 0x13 Address 0x17
Rcv
Tx
FIELD
BITS
Dflt
D
D
agc_zero_cnt
3..0
0
Run of zeros before fast adaptation gain increase step Dzro is used
DESCRIPTION
D
D
agc_sat_cnt
7..4
0
Run of saturated values before fast adaptation gain reduction step Dsat is used
D
D
agc_thresh
15..8
0
Threshold for AGC adaptation
Table 38. AGC Loop Gains Page 0x13 Address 0x18
Rcv
Tx
FIELD
BITS
Dflt
D
D
agc_Dblw
3..0
0
Gain shift for below threshold
DESCRIPTION
D
D
agc_Dabv
7..4
0
Gain shift for above threshold
D
D
agc_Dzro
11..8
0
Gain shift for zero data
D
D
agc_Dsat
15..12
0
Gain shift for saturated
Table 39. AGC Gain Read Back Page 0x13 Address 0x19
Rcv
Tx
FIELD
BITS
−
−
gain_read
15..0
Dflt
DESCRIPTION
Read back of top 16 of 19 bits, current gain setting (read only)
17.12 Power Meter
The Power Meter integrates the I squared and Q squared values, over the integration counts. Table 43 is the
integration counts. Table 42 is the controller setup, Tables 40 and 41 are the 32bit accumulated value.
Table 40. Power Meter (LSB) Page 0x13 Address 0x1A
Rcv
Tx
FIELD
BITS
−
−
pwr_meter_lsb
15..0
Dflt
DESCRIPTION
Read back of power meter least significant 16 bits (read only)
Table 41. Power Meter (MSB) Page 0x13 Address 0x1B
Rcv
Tx
FIELD
BITS
−
−
pwr_meter_msb
15..0
Dflt
DESCRIPTION
Read back of power meter most significant 16 bits (read only)
Table 42. Power Meter Status Page 0x13 Address 0x1C
Rcv
Tx
−
−
ready
FIELD
15
BITS
1 means power sample ready to read, user must reset to 0
−
−
missed
14
Set if power sample missed; reset by user
−
−
too_soon
13
Set if power sample reads too soon; reset by user
12
Factory test bit keep 0
Power Meter One shot control keep 0 if pwr_msr = 1, if pwr_msr = 0, then use to fire one
shot. 0 = armed, 1 = triggered; be sure that there are 2 clocks between arming and
triggering
−
−
pwr_os
11
D
D
pwr_msr
10
−
74
−
gain_sign
Dflt
0
DESCRIPTION
1 = use read of register (address 0x1B) to fire one shot; 0 = manually fire one shot
9..8
Unused
7
Read only, sign bit from gain. Only useful if one collects statistics over time.
6
Sticky bit, set if gain zero = 1, reset by user (See Table 2)
5
Sticky bit, set if gain saturated = 1, reset by user (See Table 2)
4..0
Unused
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 43. Power Meter Integration Time Page 0x13 Address 0x1D
Rcv
Tx
FIELD
BITS
Dflt
D
D
pwr_mtr_integ
15..0
0
DESCRIPTION
Power meter integration time in words
17.13 DDC Receive Output Formatter Controls
The output modes TDM, interleavedIQ, parallel IQ, or embedded gain and IQ are controlled from table 44. Although
these are channel controls, the setup between channels must be correct for TDM mode, which is setup for all DDC
channels. The Transmit DUC diagnostic source is also in this table. Table 45 if the checksum value read in the
diagnostic test for a specific channel.
Table 44. Receive Output Formatter Page 0x13 Address 0x1E
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
C
X
routf_pins
2..0
Receive output formatter active pins. Active pins are always the MSBs. Set to 1, 2, or 4 for 4,
8, or 16 active pins.
C
X
routf_bits
7..3
Receive output formatter bits in a word. Set to 1, 2, 4, 8, 16, or 32 to get a word size of 4, 8,
12, 16, or 20.
C
X
routf_iqmux
8
Receive output complex (1) or real (0) per port. Note that when splitiq is active, routf_iqmux
should be set to real.
C
C
C
X
D
D
routf_pwrdown 9
Power down receive output formatter block.
routf_ctdm
11
Activate TDM receive output.
D
pwr_test
12
0
Test mode for power meter. 0 for normal operation
D
tx_pat_gen
14..13
0
Transmit pattern generator enable and source selection off (0), random (1), constant 0x4000
(2), random with bit 14 inverted (3).
Table 45. Receive Checksum Page 0x13 Address 0x1F
Rcv
Tx
FIELD
BITS
Dflt
−
−
Rcv_checksum
15..0
−
DESCRIPTION
Checksum results for receive (read only).
17.14 Additional FIR Filter Controls
The Swap RAM controls are for the counters that write and read data from the FIR input to the Forward Delay Line.
This register is calculated through the cmd5016 software. The FIR Accumulator controls adds the partial sums from
the FIR cells, and controls the local FIR accumulator memory.
The FIR Output page, determines the FIR output format, provides scaling and rounding. The FIR Sync Count is used
to maintain the internal FIR cycle count. The FIR sync is used at the beginning of each new FIR cycle.
The FIR Clock Control is used to determine the number of active clocks within the FIR cycle count. Reducing the
FIR clocks within a cycle is used to lower the average Core power.
Table 46. FIR Swap Ram Controls Page 0x14 Address 0x10
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
E
E
swap_wa_cnt
3..0
FIR swap write address down count
E
E
swap_ra_cnt
7..4
FIR swap read address down count
E
E
swap_xmt
8
FIR swap RAM in transmit (1) or receive (0)
E
E
swap_cmplx
9
FIR swap expects complex from CIC (1) or real (0)
E
E
fir_fb
10
FIR forward broadcast (1) or not (0)
E
E
swap_fb
11
FIR swap RAM in forward broadcast (1) or not (0)
E
E
swap_rcv_tdly
12
FIR swap RAM. Reduces cic to FIR data valid delay by 1 when cic is bypassed – helps with
data alignment in certain cases. Calculated by software.
75
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 47. FIR Accumulator Controls Page 0x14 Address 0x11
Rcv
Tx
FIELD
BITS
E
E
E
E
E
Dflt
DESCRIPTION
E
acc_dly
3..0
FIR accumulator delay minus 1
E
acc_cnt
7..4
FIR number of partial products to accumulate
E
acc_dly0
8
FIR no accumulator delay (1) or not (0)
E
acc_bypass
9
FIR accumulator bypass (1) or normal (0). Must also set acc_cnt to zero for bypass.
E
acc_enram
10
FIR enable accumulate ram (1) normal. Set to 0 when acc_dly0 is 1.
Table 48. FIR Output Page 0x14 Address 0x12
Rcv
Tx
FIELD
BITS
C
C
Dflt
DESCRIPTION
C
fir_shift
2..0
FIR shift up. Increase filter gain
C
fir_xenq
3
FIR transmit enable q. Set for transmit and complex filtering.
C
C
fir_xeni
4
FIR transmit enable i. Set for transmit, clear in receive.
C
C
fir_half
5
FIR half scale. Set to 0.
C
C
fir_rnd20
6
FIR round For receive, set to 1 for 20 bits to gain. In transmit, set to 0 for 18 bits to CIC.
C
C
fir_cmplx
7
FIR outputs complex data. Normally set, clear for splitiq or some bypass modes.
Table 49. FIR Sync Count Page 0x14 Address 0x13
Rcv
Tx
FIELD
BITS
E
E
fir_sync_cnt
15..0
Dflt
DESCRIPTION
FIR internal sync count to periodically resync various FIR counters
Table 50. FIR Clock Page 0x14 Address 0x14
Rcv
Tx
FIELD
Bits
Dflt
Description
E
E
fir_clk_cnt
7..0
Number of FIR clocks per CIC input (xmt) or output (rcv) minus 1
E
E
fir_clk_cnt_en
8
1 for normal operation; set to 0 and fir_clk_cnt+1 for FIR clock always on
E
E
fir_test
9
Set to 0 for normal operation
E
E
fir_en_sync_cnt
10
D
D
cksum_sync_back
Enable fir sync counter (1)
14..12
7
Receive checksum sync and transmit pattern generator sync
17.15 FIR, Gain, Power Meter, and Channel Clock Synchronization
The channel synchronization is programmed through the sync_mode command, or register value commands. It is
recommended that the cic_sync, fir_sync, and sck_sync are selected to the same synchronization source. In normal
use the gain_sync value is set to always. The pwr_mtr_sync, and coef_sync can be synchronized to the manual or
one shot sources.
Table 51. Channel Syncs Page 0x14 Address 0x15
Rcv
Tx
D
D
D
D
D
76
FIELD
BITS
Dflt
DESCRIPTION
D
fir_sync
2..0
2
Sync source selection for FIR
D
coef_sync
5..3
6
Sync source selection for coefficient swapping. Used with multiple coefficient sets.
D
gain_sync
8..6
6
Sync source selection for gain updates
D
pwr_mtr_sync
11..9
7
Sync source selection for starting power meter
D
sck_sync
14..12
4
Sync source selection for slow clock divider
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.16 CIC and MIXER Control Registers
There are two cicmix blocks. The blocks are arranged as channel AB and channel CD:
page 0x80, addresses 0x10−0x17
channel A,
page 0x80, addresses 0x18 to 0x1F
channel B,
page 0xA0, addresses 0x10−0x17
channel C,
page 0xA0, addresses 0x18 to 0x1F
channel D.
Table 52 and 59 lists the CIC controls. The cic_shift, cic_rshift, cic_rcv_full, are the cic gain controls. The cic_rcv,
cic_xmt_5stg, cic_2x, cic_xmt_d6stg, and cic_bypass are the mode controls. The cic_rcv_cross is used to select
the DDC input for the dual CIC in channels B and D.
Table 53, 54, 55, and 56 set the frequency register (delta phase) and phase (initial phase) values.
Table 57 is the mixer configuration, this sets the I and Q data source, and the cosine and sine multiplier selections.
Table 58 is the mixer synchronization register.
Table 52. CIC Mode Page 0x80 Address 0x10
Rcv
Tx
FIELD
BITS
C
C
cic_shift
5..0
Dflt
CIC is followed by a shifter by a shifter to compensate for CIC gain. 0 ≤ cic_shift ≤ 39.
DESCRIPTION
C
C
cic_rcv
7..6
CIC mode is quiet (0), receive (1), transmit (2), or illegal (3)
X
C
cic_xmt_5stg
8
CIC transmits five stages (1), rather than the normal six stages (0)
C
X
cic_rshift
9
Upshift 1 bit in receive mode after CIC filtering before rounding
C
C
cic_2x
10
Operate the CIC in double rate mode
X
C
cic_xmt_d6stg
11
Must be set for CIC in double rate and six stage, else clear
C
X
cic_rcv_cross
12
Use cross-strapped CIC inputs in receive. Set for splitiq mode
C
X
cic_rcv_full
13
Saturate CIC output at full scale (1) for nonsymmetrical FIR or half scale (0) for symmetric
FIR. Only affects receive outputs.
C
C
cic_bypass
14
Bypass CIC in transmit (1), must also set cic_shift (39) and ncic (0). Clear in receive.
−
−
cic_fl_status
15
CIC flush status sticky bit. Chip sets if autoflushed. User must clear.
Table 53. Phase Page 0x80 Address 0x11
Rcv
Tx
FIELD
BITS
Dflt
D
D
phase
15..0
0
DESCRIPTION
Phase is phase/216 Hz
Table 54. Frequency (LSB) Page 0x80 Address 0x12
Rcv
Tx
FIELD
BITS
Dflt
D
D
freq_lsb
15..0
0
DESCRIPTION
Bottom 16 bits of frequency
Table 55. Frequency (mid) Page 0x80 Address 0x13
Rcv
Tx
FIELD
BITS
Dflt
D
D
freq_mid
15..0
0
DESCRIPTION
Middle 16 bits of frequency
Table 56. Frequency (MSB) Page 0x80 Address 0x14
Rcv
Tx
FIELD
BITS
M
M
freq_msb
15..0
Dflt
DESCRIPTION
Top 16 bits of frequency. Values in Table 54 through Table 56 may be set using the pseudo
field freq.
77
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 57. Mixer Page 0x80 Address 0x15
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
M
X
mix_rcv_sel
1..0
Mixer input selection in receive (paths a, b, c, or d for 0, 1, 2, or 3 respectively).
C
X
mix_rcv_cmplx
2
Set for receive complex input at full rate or double rate.
C
C
mix_inv_qsin
4
Invert the output of Qdata by sin in the mixer.
C
C
mix_qsin
6..5
Select data input to qsin multiplier as zero (0), receive (1), transmit cross-strapped (2), or
transmit (3). Transmit cross-strapped is for transmit in splitiq or double rate modes.
C
C
mix_inv_qcos
7
Invert the output of Qdata by cos in the mixer.
C
C
mix_qcos
9..8
Select data input to qcos multiplier as zero (0), receive (1), transmit cross-strapped (2), or
transmit (3). Transmit cross-strapped is for transmit in splitiq or double rate modes.
C
C
mix_inv_isin
10
Invert the output of Idata by sin in the mixer.
C
C
mix_isin
12..11
Select data input to isin multiplier as zero (0), receive (1), transmit cross-strapped (2), or
transmit (3). Transmit cross-strapped is for transmit in splitiq or double rate modes.
C
C
mix_inv_icos
13
Invert the output of Idata by cos in the mixer.
C
C
mix_icos
15..14
Select data input to icos multiplier as zero (0), receive (1), transmit cross-strapped (2), or
transmit (3). Transmit cross-strapped is for transmit in splitiq or double rate modes.
Table 58. NCO Syncs Page 0x80 Address 0x16
Rcv
Tx
FIELD
BITS
Dflt
D
D
freq_sync
2..0
6
Sync source for frequency word update
DESCRIPTION
D
D
phase_sync
5..3
6
Sync source for phase word update
D
D
dith_sync
8..6
0
Sync source for dither update. Typically set to never. Set to always to disable.
D
D
nco_sync
11..9
0
Sync source for nco word update. Disrupts signal processing when sync occurs
D
D
flush_sync
14..12
0
Sync source for cic flush. Disrupts signal processing when sync occurs.
D
D
dith_test
15
0
Experimental dither mode, set to 0.
Table 59. CIC Count and Sync Page 0x80 Address 0x17
Rcv
Tx
FIELD
C
C
ncic
D
D
cic_sync
BITS
Dflt
11..0
14..12
DESCRIPTION
CIC decimation / interpolation count minus one
2
Sync source for cic counter. suggested value matches the fir_sync setting
17.17 Transmit Sum Tree Registers
The Table 60 register variables select the sum tree logic selection. See Table 4, and figures 24 through 26.
Table 60. Sum Tree Sum Selection Page 0x81 Address 0x10
Rcv
Tx
X
C
sum_sell
7..0
Selects inputs for I sum both A and B paths.
X
C
sum_selQ
15..8
Selects inputs for Q sum both A and B paths.
78
FIELD
BITS
Dflt
DESCRIPTION
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 61. Sum Tree Multiplexing Page 0x81 Address 0x11
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
X
C
sum_shift
2..0
Upshifts sum before output (0−7).
X
C
sum_ia
4..3
Summing mode off (0), 22 bit sumin (1), bypass (2), 16 bit sumin (3)
X
C
sum_ib
6..5
Summing mode off (0), 22 bit sumin (1), bypass (2), 16 bit sumin (3)
X
C
sum_qa
8..7
Summing mode off (0), 22 bit sumin (1), bypass (2), 16 bit sumin (3)
X
C
sum_qb
9
Summing mode normal (0), quiet (1)
X
C
sum_in
11..10
Sum in mode off (0), IQ multiplexed (1), 16 bit (2), 22 bit (3)
−
−
sum_of_Ia
12
Sum tree overflow sticky status bit for Ia
−
−
sum_of_Ib
13
Sum tree overflow sticky status bit for Ib
−
−
sum_of_Qa
14
Sum tree overflow sticky status bit for Qa
−
−
sum_of_Qb
15
Sum tree overflow sticky status bit for Qb
17.18 Receive Sensitivity Registers
The Tables 62, 63,64, and 65 are used to add bit-wise controlled noise to the DDC input path. Normally these bits
are 0, setting a bit to ’1’ adds the Receive LFSR noise generator data to the DDC input data bit.
Table 62. Receive Sensitivity Reduction Path A Page 0x81 Address 0x12
Rcv
Tx
FIELD
BITS
Dflt
D
X
rcv_noise_A
15..0
0
DESCRIPTION
Adds noise to input A to desensitize the digital down converters. Must also release pn
generator sync and set test mode to random.
Table 63. Receive Sensitivity Reduction Path B Page 0x81 Address 0x13
Rcv
Tx
FIELD
BITS
Dflt
D
X
rcv_noise_B
15..0
0
DESCRIPTION
Adds noise to input B to desensitize the digital down converters. Must also release pn
generator sync and set test mode to random.
Table 64. Receive Sensitivity Reduction Path C Page 0x81 Address 0x14
Rcv
Tx
FIELD
BITS
Dflt
D
X
rcv_noise_C
15..0
0
DESCRIPTION
Adds noise to input C to desensitize the digital down converters. Must also release pn
generator sync and set test mode to random.
Table 65. Receive Sensitivity Reduction Path D Page 0x81 Address 0x15
Rcv
Tx
FIELD
BITS
Dflt
D
X
rcv_noise_D
15..0
0
DESCRIPTION
Adds noise to input D to desensitize the digital down converters. Must also release pn
generator sync and set test mode to random.
17.19 Receive Input Formatter
The Table 66 values select the complex output bus for each of the 4 DDC channels.
Table 66. Receive Input Formatter Page 0xa1 Address 0x10
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
C
X
rinf_sel_A
3..0
Receive input formatting. Normal usage quiet (0), Q part of nonmultiplexed complex (1), IQ
multiplexed (3), real or real portion of nonmultiplexed complex (4), and test (8). Detailed settings
are quiet (0), input to Q (1), input delayed by 1 to I (2), input to I (4), and test to both I and Q (8).
C
X
rinf_sel_B
7..4
Same as above, but for path B
C
X
rinf_sel_C
11..8
Same as above, but for path C
C
X
rinf_sel_D
15..12
Same as above, but for path D
79
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
17.20 General Timer
Table 67. General Timer Page 0xA1 Address 0x11
Rcv
Tx
FIELD
BITS
Dflt
DESCRIPTION
D
D
gen_timer
15..0
65535
General-purpose timer. A 24-bit counter. The bottom eight bits of the count value are normally
assumed to be zero. Timer counts down from 256 x (gen_timer + 1) to zero, then repeats. The
timer starts over with every sync, provides ramp data for receive testing, and outputs a pulse at
restart plus five clocks.
Table 68. Receive Syncs Page 0xA1 Address 0x12
Rcv
Tx
FIELD
BITS
Dflt
D
X
D
D
D
D
D
DESCRIPTION
rinf_zpad
3..0
0
Receive input formatter zero pad count. Effectively interpolates by (rinf_zpad+1) up to the
CK rate.
X
rinf_diag
5..4
0
Receive diagnostic test pattern ramp (0), 0 (1), random (2), constant 0x4000 (3).
D
gen_timer_test
6
0
Shorten gen_timer for test (1) (bottom 8 bits are forced high). Normally 0.
D
gen_timer_sync
9..7
7
Sync control for general timer
D
cksum_sync_front
12..10
7
Sync control for receive input pattern generator and transmit check sum.
X
rinf_zpad_sync
15..13
7
Sync control for receive zero padding
17.21 Transmit Output
Table 69. Transmit Output Multiplexing Page 0xA1 Address 0x13
Rcv
Tx
FIELD
Bits
Dflt
X
D
X
C
X
X
Description
toutf_hold_sync
2..0
7
toutf_do
8..4
Transmit output format control for DO. quiet (0), id (1), qb (2), ib LSB’s (4), qa LSB’s (8), CO
complement (16). Others illegal.
C
toutf_co
11..9
Transmit output format control for CO. quiet (0), ic (1), ib (2), qa (4).
C
toutf_bo
15..12
Transmit output format control for BO. quiet (0), ib (1), qa (2), LSB of ia (4), or AO
complement (8).
Sync control for transmit output hold
Table 70. Transmit Output Round and Hold Page 0xA1 Address 0x14
Rcv
Tx
FIELD
BITS
X
X
Dflt
DESCRIPTION
C
toutf_rnd_AB
1..0
D
toutf_offsetbin
3
X
C
toutf_halfcmplx_AB
4
X
D
toutf_hold
7..5
X
C
toutf_rnd_CD
9..8
Round transmit outputs for CO and DO to 16 (1), 14 (2), 12 (3), bits or no round (0).
X
C
toutf_quiet_CD
10
Quiet CD path (1) when unused.
X
C
toutf_halfcmplx_CD
11
Time multiplex IQ for channels C and D.
E
C
toutf_xmt_CD
12
Channels C and D setup in transmit (1) or receive (0).
X
C
toutf_sumin
13
CO and DO setup as inputs for sumin (1), or outputs (0).
E
C
toutf_xmt_AB
14
Channels A and B setup in transmit (1) or receive (0).
Round transmit outputs AO, and BO to 16 (1), 14 (2), 12 (3) bits, or no round (0).
0
Offset binary format (1) or two’s complement (0). Common to all transmit outputs.
Time multiplex IQ data by decimating by two at output.
0
Hold output for toutf_hold+1 clocks − effectively decimating the signal.
Table 71. Transmit Checksum Page 0xA1 Address 0x15
Rcv
Tx
FIELD
BITS
−
−
transmit_cksum
15..0
80
Dflt
DESCRIPTION
Checksum results for transmit (read only)
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
18 5016 − CONFIGURATION SOFTWARE
18.1 CDMA2000
This section describes an example of the down-conversion filter response for CDMA2000 1X. The GC5016
configuration values were input sample rate of 78.643 MSPS, CIC decimation of eight, and PFIR decimation of four
for an overall decimation of 32, output rate of 2.4576 MSPS (2x chip rate), and 255 PFIR taps. The overall filter
response, including both the CIC and PFIR filters, is shown in Figure 33 and Figure 34. As seen in Figure 34 of the
transition region, the filter response meets the CDMA2000 1X stop-band rejection requirements of −50 dB at 750
kHz and −87 dB at 900 kHz.
FILTER RESPONSE
vs
FREQUENCY
Filter Response − dB
0
−20
−40
−60
−80
−100
−120
−5
−4
−3
−2
−1
0
1
2
3
4
5
Frequency − MHz
Figure 33. CDMA2000 1X Filter Response
FILTER RESPONSE
vs
FREQUENCY
Filter Response − dB
0
−20
−40
−50 dbc
−60
−87
dBc
−80
−100
−120
0.0
0.2
0.4
0.6
0.8
1.0
Frequency − MHz
Figure 34. CDMA2000 1X Filter Response Transition Region with Spectral Mask
In transmit the input is presumed to operate at one sample per chip (1.2288 MHz), the PFIR interpolates by four and
uses a 192 tap filter that applies the phase predistortion, pulse shaping, adjacent channel rejection, and CIC roll-off
compensation. This is followed by a six stage CIC filter. The cmd5016 configuration file and filter taps are available
on the web.
81
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
18.2 WCDMA (UMTS)
This section describes an example of the down-conversion filter response for WCDMA. The GC5016 configuration
values were input sample rate of 122.88 MHz, a CIC and PFIR decimation of four each for an overall decimation of
16, output rate of 7.68 MSPS, and 255 PFIR taps. The overall filter response filter, including both the CIC and PFIR
filters, an optimized raised root cosine filter with α = 0.22, is shown in Figure 35 and Figure 36. The stop-band
attenuation is better than –80 dBc for frequencies more than 2.5 MHz from the band center.
FILTER RESPONSE
vs
FREQUENCY
Filter Response − dB
0
−20
−40
−60
−80
−100
−120
−15
−10
−5
0
5
10
15
Frequency − MHz
Figure 35. UMTS Filter Response
FILTER RESPONSE
vs
FREQUENCY
Filter Response − dB
0
−20
−40
−60
−80
−100
−120
0
1
2
3
4
5
Frequency − MHz
Figure 36. UMTS Filter Response Transition Region
The cmd5016 configuration file and filter taps are available on the web.
82
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
APPLICATION INFORMATION
19 BOARD BRING-UP PROCEDURE
This section describes a recommended procedure for checkout of a board using the GC5016. The various test files
are available on the website.
19.1 JTAG
The 1.8-V VCore and 3.3-V VPad should be stable before utilizing JTAG or the Control Bus. The TRST JTAG signal
is ’1’ to allow JTAG testing. This signal forces the JTAG Tap Controller to be in the IDLE state of the TRST signal
is ’0’. It is suggested that the RESET and TRST pin be low.
Until the power supplies have been stable at the target voltage, If JTAG is not used, it is suggested that the TRST
be ’0’, to prevent inadvertent JTAG operation.
19.1.1 Basic Control Path
Write reset value (0xFFFF) to register 0. Read back to see 0xFFF[C−F]. The bottom two bits are status bits and can
be any value. Write and read the page register (address 0x2). The lower byte should be just what you write in. The
upper byte should read back the revision (currently 1), regardless of what was written. If possible, use a scope to
capture the event so you can confirm setup/hold, output delay, strobe pulse width, voltage levels, and signal integrity.
19.1.2 Thorough Control Path Test
Use the control_check.gc101 script to read and write every control register and coefficient RAM in the chip with all
0’s, 1’s, 5’s and A’s and it then tests to see that the proper results are returned. Two commands are used (dwr16 and
dcm16) as shown in the following table:
dwr16 address data
dcm16 address mask expected_data
Write to the chip (both address and data are in hex)
Reads from the chip, masks the results, and checks against
the expected data.
The user software should accumulate errors as miscompared values. The control path test should have no errors.
19.1.3 Built-in Self-test
These built-in self-tests provide the chip with input data using an internal pattern generator, an internal sync using
the general timer in the chip, and analyzes the output using a checksum generator. These tests depend on the board
to provide a solid control path, good clock, and good power. They generally work by setting the chip into a particular
mode, then running the patterns (typically for at least four million clocks), then reading out the checksum result. Four
checksum configurations are provided to provide good coverage of chip internals. If possible, use a scope to check
the quality of the clock, power, and ground. Table 72 provides the addresses to find the resultant checksums.
Table 72. Checksum Addresses
Transmit
Receive
Channel A
Receive
Channel B
Receive
Channel C
Receive
Channel D
Page
0xA1
0x13
0x33
0x53
0x73
Address
0x15
0x1F
0x1F
0x1F
0x1F
The user should configure the chip as specified in the configuration file, wait the recommended time, and then read
the checksum results and compare them to the expected results shown in Table 73.
83
www.ti.com
SLWS142G − JANUARY 2003 − REVISED NOVEMBER 2005
Table 73. Expected Checksum Results
Configuration Name
Wait Time
(in clocks)
Expected Results
Transmit
Chan A
Chan B
Chan C
Chan D
TCK10R0.GC101
4,000,000
0x121D
−
−
−
−
TCK100R0.GC101
4,000,000
0x61EF
−
−
−
−
RCK100R0.GC101
4,000,000
−
0x64CF
0x4747
0x7BD9
0x4747
TRCK100R0.GC101
4,000,000
0x15C8
−
−
0x7BD9
0xE1CB
19.1.4 Output Test Configuration
In these tests the chip is setup using the internal pattern generator to provide a simple sin wave output regardless
of the input. There is a transmit configuration (tsin_r0) and a receive configuration (rsin_r0). The transmit
configuration outputs a single real tone on each of the four output ports (AO, BO, CO, and DO) at a rate of one new
sample for each clock. The frequencies are 0.0633, 0.0711, 0.1297, and 0.1378 respectively. The receive
configuration outputs one complex tone on each port as I followed by Q followed by 14 zeros. The four frequencies
are 0.0249, 0.0498, 0.0996, and 0.1992 (of Fsout). In both cases, SO can be used to synchronize the capture of the
output if desired - its period is 2^20 clocks. The frequencies have been chosen so that the output is also periodic in
2^20 to avoid glitches at the repetition point. While the output is periodic in a general sense, it is not digitally precise
periodic due to dithering of the NCO. Use a scope to check that output data from GC5016 provides sufficient setup
and hold and signal integrity for the receiving device.
19.1.5 Input Test Configuration
In this configuration (rby_r0), the chip output is the same as the chip input, only delayed by 50 cycles. This test can
be used to be sure that the input is read properly by the GC5016. Use a scope to check that input setup and hold
times are met and that the signal doesn’t have excessive ringing.
19.1.6 Bypass Configuration
A special configuration file can be used to map any 16bit input port to a 16bit output port. This can be used to bypass
the GC5016 logic, but does include a processing delay. Providing In Circuit Test monitoring points at the GC5016
outputs allows for test equipment monitoring.
84
PACKAGE OPTION ADDENDUM
www.ti.com
16-Sep-2005
PACKAGING INFORMATION
Orderable Device
Status (1)
Package
Type
Package
Drawing
Pins Package Eco Plan (2)
Qty
GC5016-PB
ACTIVE
BGA
GDJ
252
90
TBD
CU NIPD
Level-3-220C-168 HR
GC5016-PBZ
ACTIVE
BGA
ZDJ
252
90
Pb-Free
(RoHS)
CU NIPD
Level-3-260C-168 HR
Lead/Ball Finish
MSL Peak Temp (3)
(1)
The marketing status values are defined as follows:
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in
a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
Eco Plan - The planned eco-friendly classification: Pb-Free (RoHS) or Green (RoHS & no Sb/Br) - please check
http://www.ti.com/productcontent for the latest availability information and additional product content details.
TBD: The Pb-Free/Green conversion plan has not been defined.
Pb-Free (RoHS): TI's terms "Lead-Free" or "Pb-Free" mean semiconductor products that are compatible with the current RoHS requirements
for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered
at high temperatures, TI Pb-Free products are suitable for use in specified lead-free processes.
Green (RoHS & no Sb/Br): TI defines "Green" to mean Pb-Free (RoHS compatible), and free of Bromine (Br) and Antimony (Sb) based flame
retardants (Br or Sb do not exceed 0.1% by weight in homogeneous material)
(3)
MSL, Peak Temp. -- The Moisture Sensitivity Level rating according to the JEDEC industry standard classifications, and peak solder
temperature.
Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is
provided. TI bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the
accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and continues to take
reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on
incoming materials and chemicals. TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited
information may not be available for release.
In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI
to Customer on an annual basis.
Addendum-Page 1
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty. Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
Products
Applications
Amplifiers
amplifier.ti.com
Audio
www.ti.com/audio
Data Converters
dataconverter.ti.com
Automotive
www.ti.com/automotive
DSP
dsp.ti.com
Broadband
www.ti.com/broadband
Interface
interface.ti.com
Digital Control
www.ti.com/digitalcontrol
Logic
logic.ti.com
Military
www.ti.com/military
Power Mgmt
power.ti.com
Optical Networking
www.ti.com/opticalnetwork
Microcontrollers
microcontroller.ti.com
Security
www.ti.com/security
Telephony
www.ti.com/telephony
Video & Imaging
www.ti.com/video
Wireless
www.ti.com/wireless
Mailing Address:
Texas Instruments
Post Office Box 655303 Dallas, Texas 75265
Copyright  2005, Texas Instruments Incorporated