DATASHEET

ISL5217
®
Data Sheet
July 8, 2005
FN6004.3
Quad Programmable Up Converter
Features
The ISL5217 Quad Programmable UpConverter (QPUC) is a
QASK/FM modulator/FDM upconverter designed for high
dynamic range applications such as cellular basestations. The
QPUC combines shaping and interpolation filters, a complex
modulator, and timing and carrier NCOs into a single package.
Each QPUC can create four FDM channels. Multiple QPUCs can
be cascaded digitally to provide for up to 16 FDM channels in
multi-channel applications.
• Output Sample Rates Up to 104MSPS with Input Data
Rates Up to 6.5MSPS
• Processing Capable of >140dB SFDR Out of Band
• Vector modulation for supporting IS-136, EDGE, IS95, TDSCDMA, CDMA-2000-1X/3X, W-CDMA, and UMTS
• FM Modulation for Supporting AMPS, NMT, and GSM
• Four Completely Independent Channels on Chip, Each With
Programmable 256 Tap Shaping FIR, Half-Band, and High
Order Interpolation Filters
• 16-Bit parallel µProcessor Interface and Four Independent
Serial Data Inputs
• Two 20-bit I/O Buses and Two 20-bit Output Buses Allow
Cascading Multiple Devices
• 32-Bit Programmable Carrier NCO; 48-Bit Programmable
Symbol Timing NCOs
• Dynamic Gain Profiling and Output Routing Control
• Pb-Free Plus Anneal Available (RoHS Compliant)
The ISL5217 supports both vector and FM modulation. In vector
modulation mode, the QPUC accepts 16-bit I and Q samples to
generate virtually any quadrature AM or PM modulation format.
The QPUC also has two FM modulation modes. In the FM with
pulse shaping mode, the 16-bit frequency samples are pulse
shaped/bandlimited prior to FM modulation. No band limiting filter
follows the FM modulator. This FM mode is useful for GMSK type
modulation formats. In the FM with band limiting filter mode, the
16-bit frequency samples directly drive the FM modulator. The
FM modulator output is filtered to limit the spectral occupancy.
This FM mode is useful for analog FM or FSK modulation
formats.
Applications
The QPUC includes an NCO driven interpolation filter, which
allows the input and output sample rate to have an integer
and/or variable relationship. This re-sampling feature
simplifies cascading modulators with sample rates that do not
have harmonic or integer frequency relationships.
• Single or Multiple Channel Digital Software Radio
Transmitters (Wide-Band or Narrow-Band)
• Base Station Transmitter and Smart Antennas
• Operates with HSP50216 in Software Radio Solutions
• Compatible with the HI5960/ISL5961 or HI5828/ISL5929
D/A Converters
The QPUC offers digital output spectral purity that exceeds
100dB at the maximum output sample rate of 104MSPS, for
input sample rates as high as 6.5MSPS.
Ordering Information
A 16-bit microprocessor compatible interface is used to load
configuration and baseband data. A programmable FIFO depth
interrupt simplifies the interface to the I and Q input FIFOs.
PART
NUMBER
TEMP
RANGE (oC)
PACKAGE
PKG. DWG.
#
ISL5217KI
-40 to 85
196 Ld BGA
ISL5217KIZ (Note)
-40 to 85
196 Ld BGA (Pb-free) V196.15x15
ISL5217EVAL1
25
V196.15x15
Evaluation Kit
NOTE: Intersil Pb-free plus anneal products employ special Pb-free material sets;
molding compounds/die attach materials and 100% matte tin plate termination finish,
which are RoHS compliant and compatible with both SnPb and Pb-free soldering
operations. Intersil Pb-free products are MSL classified at Pb-free peak reflow
temperatures that meet or exceed the Pb-free requirements of IPC/JEDEC J STD-020.
INPUT I/Q SHAPING I/Q
DATA
FILTER/
FM MOD.
I/Q HALF I/Q INTPL I/Q COMPLEX I/Q
MIXER
BAND
FILTER
SAMPLE
NCO
SIN
COS
CARRIER
NCO
GAIN CONTROL
SDA
SDB
SDC
SDD
GAIN PROFILE
Block Diagram
CHANNEL 0
CHANNEL 1
CHANNEL 2
CHANNEL 3
P<15:0>
A<6:0>
{CNTRL}
PARALLEL HOST INTERFACE
1
I0
Q0 4 CH
I1 SUM
Q1
I2
Q2
I3
Q3
Σ
Σ1
Σ2
Σ3
Σ4
DELAY
SUM
CAS IOUT(19:0)
SUM
CAS
SUM QOUT(19:0)
QIN(19:0)
IIN(19:0)
CONFIGURATION AND CONTROL BUS
CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures.
1-888-INTERSIL or 1-888-468-3774 | Intersil (and design) is a registered trademark of Intersil Americas Inc.
Copyright Intersil Americas Inc. 2003, 2005. All Rights Reserved
All other trademarks mentioned are the property of their respective owners.
Functional Block Diagram
ISL5217
SCLKA
FSRA
MOD. TYPE <1:0>
FID<31:0>
SR<47:0>
SAMPLE
INTPL PHASES<1:0>
NCO
PHASE OFFSET<1:0>
GAIN<11:0>
GAIN PROFILE LENGTH<6:0>
FINE
PHASE<11:0>
DEVICE
UPROCESSOR
INTERFACE
ROUTING
CONTROL
CARRIER
NCO
CHANNEL 1
CHANNEL 2
I<21:0>
Q<21:0>
CH_EN<1>
I<21:0>
Q<21:0>
CH_EN<2>
I<21:0>
ISTROBEUPDATE
RD
CS
RESET
RDMODE
OUTEN<1:0>
TRITST
OFFBIN
FN6004.3
July 8, 2005
TMS
TDI
TCK
TRST
ROUTEBUS_UPDATE
TX_ENABLE<3:0>
UPDATE<3:0>
CH_SELECT<3:0>
<4:0>
TXENA
TXENB
TXENC
TXEND
UPDA
UPDB
UPDC
UPDD
WR
RESET
CASCADE_DELAY<1:0>
ROUTEBUS<15:0>
CASCADE_IN_ENABLE
OUTPUTMODE<1:0>
OUTPUTMODE2X
I_STROBE_EN
ISTROBEPOLARITY
TRITST_ENABLE_BUS<7:0>
4 INPUT
SUMMER
1
Q<21:0>
CH_ENABLE<0>
CHANNEL 0
CLK
A<6:0>
P<15:0>
I<21:0>
CHANNEL 3
Q<21:0>
CH_EN<3>
4 INPUT
SUMMER
2
SCLKB
FSRB
4 INPUT
SUMMER
3
SCLKC
FSRC
4 INPUT
SUMMER
4
SCLKD
FSRD
ISTRB
OUTPUT
CONTROL
IOUT<19:0>
QOUT<19:0>
IIN<19:0>
QIN<19:0>
SYNCO
JTAG
TDO
ISL5217
OUTPUT_EN
CARRIER PHASE<15:0>
CARRIER FREQUENCY<31:0>
DUALQUADMODE (CH0 AND CH2 ONLY)
GAIN CONTROL
MUX
COARSE
PHASE<3:0>
BYPASS
INTERPOLATION
FILTER
FILTER
21
/ COMPLEX
21
MIXER
/
PROGRAMMABLE DELAY
INTERFACE
AND TIMING
SHAPING
HALF
BAND
COS<18:0>
UP
/
16
I FIFO /
/
Q FIFO 16
/
20
/
20
/
SIN<18:0>
CHANNEL
MOD.
GAIN PROFILE
2
I IN<15:0>
Q IN<15:0>
SER._PAR.
MUX
I IN<15:0>
Q IN<15:0>
18
/
Q FM 18
/
I SF 20
/
LIMITER
INTERFACE
I FM
FM
MUX
MUX
SERIAL
1-7 DEEP
FIFO
SDA
SDB
SDC
SDD
ISL5217
Pinout
196 LdBGA
TOP VIEW
1
2
3
4
5
6
7
8
9
10
11
12
13
14
GND
IOUT8
IOUT6
IOUT4
IOUT2
VCCIO
IOUT0
P15
P12
P11
IOUT16 IOUT15 IOUT11 VCCIO IOUT9
GND
IOUT5
IOUT3
VCCIO
IOUT1
GND
P13
P10
P9
IOUT7
GND
QOUT3 QOUT0
GND
P14
P8
P6
QOUT6 QOUT4 QOUT1
VCCC
P7
VCCC
P4
A
IOUT14 IOUT13 IOUT12 IOUT10
B
C
IOUT17 QOUT16 QOUT15 QOUT12 QOUT9
IOUT18
D
IOUT19
GND
GND
VCCIO QOUT13 QOUT10 VCCC
E
VCCC QOUT17 QOUT18 RESET QOUT14 QOUT11 QOUT8 QOUT7 QOUT5 QOUT2
P2
P5
P3
GND
P0
GND
P1
A5
A3
A4
A2
GND
WR
RD
VCCC
FSRD
UPDD
UPDC
VCCC
GND
GND
SCLKD
F
ISTRB
A6
VCCC QOUT19 TRITST OUTEN1
G
CLK
GND
QIN19
A1
VCCC OUTEN0
VCCC
H
TCK
QIN17
QIN18
TMS
TRST
A0
TDI
TDO
SYNCO
CS
J
IIN19
GND
GND
QIN15
QIN14
QIN12 OFFBIN
QIN9
QIN7
QIN5
IIN18
VCCIO
QIN13
VCCIO QIN11
QIN8
QIN6
VCCC
IIN16
IIN17
IIN11
GND
QIN10
IIN5
GND
QIN4
QIN1
SDB
IIN14
IIN15
IIN9
GND
IIN7
VCCC
IIN3
IIN1
GND
QIN0
IIN13
IIN12
IIN10
IIN8
VCCC
IIN6
IIN4
IIN2
IIN0
GND
QIN16
FSRC FSRB
K
QIN3
FSRA
UPDA
L
QIN2 RDMODE VCCIO
M
SDD
UPDB
TXEND SCLKC
N
VCCIO TXENA TXENC SCLKB
P
POWER PIN
SIGNAL PIN
GROUND PIN
THERMAL BALL
SDA
SDC
TXENB SCLKA
NC (NO CONNECTION)
NOTE:
Thermal balls should be connected to the ground plane.
3
FN6004.3
July 8, 2005
ISL5217
Pin Descriptions (all signals are active high unless otherwise stated)
NAME
TYPE
DESCRIPTION
POWER SUPPLY
VCCC
-
Positive Device Core Power Supply Voltage, 2.5V ±0.125V.
VCCIO
-
Positive Device Input/Output Power Supply Voltage, 3.3V ±0.165V.
GND
-
Ground, 0V
MICROPROCESSOR INTERFACE AND CONTROL
CLK
I
RESET
I
P<15:0>
I/O
A<6:0>
I
Input Clock. All processing in the ISL5217 occurs on the rising edge of CLK.
Reset. (Active Low). Asserting reset will clear all configuration registers to their default values, halting all processing.
Data bus. Bit 15 is the MSB.
Address bus. Bit 6 is the MSB.
CS
I
Chip Select. (active low). Enables device to respond to µP access. NOTE: See Appendix A, Errata Sheet.
RDMODE
I
Read Mode. Read mode selects the Read/Write mode for the Microprocessor Interface. When low the device is
configured for separate RD and WR strobe inputs. When high the device is configured for a common Read/Write
and Data Strobe inputs. Internally pulled down.
WR
I
Write Strobe, (active low). Dual function input. The input is configured for Write Strobe when RDMODE is low. When
RDMODE is high the input is configured for Data Strobe.
Write Strobe. The data on P<15:0> is written to the destination selected by A<6:0> on the rising edge of WR when
CS is asserted (low).
Data Strobe. The data on P<15:0> is written to the destination selected by A<6:0> on the rising edge of Data strobe
when RD is low and CS is asserted (low) or read from the address selected by A<6:0> placed on P<15:0> when
RD is high and CS is asserted (low).
RD
I
Read Strobe (Active Low). Dual function input. The input is configured for Read Strobe when RDMODE is low.
When RDMODE is high the input is configured for Read/Write Strobe.
Read Strobe. The data at the address selected by A(6:0) is placed on P<15:0> when RD is asserted (low) and
CS is asserted (low).
Read/Write Strobe. Determines the type of µP access.
OFFBIN
I
Offset Binary. When set to 1, the output data bus format is offset binary. When set to 0 the output data bus format
is 2’s complement.
OUTEN<1:0>
I
Output Three-state Control. OUTEN<1:0> is decoded to provide three-state control of the output data buses. When
TRITST is asserted, the three-state control divides the 80-bit output into eight groups of 10-bits each. When TRITST
is deasserted, the three-state control operates on the 20-bit real and imaginary cascade out data buses.
TRITST
I
Tester Three-State Control. This signal determines how the OUTEN<1:0> is decoded to provide the necessary
three-state controls when in normal or tester applications. Set low for normal operation.
SERIAL DATA / SYNCHRONIZATION AND FIFO STATUS
SDA, SDB,
SDC, SDD
I
Serial Data A-D. (SDX) Serial Data Input for the I and Q vectors. The processing channel selected for this data will
shift the data in on the rising edge of its serial TX clock. The data vectors are shifted in with the MSB first.
SCLKA,
SCLKB,
SCLKC,
SCLKD
O
SERIAL CLK A-D. (SCLKX) Dual function output. The output is SERIAL CLK when symbol data is input through
the serial data port. When symbol data is input through the µP port the output is SAMPLE CLK 0-3. The polarity of
SCLKX is programmable.
Serial Clock. Programmable rate clock signal provided to the data source to shift serial data out. Programmed rates
can be CLK/(1-32), or 32x sample clock. See control word 0x17, bit 15 for shut-off conditioning.
SAMPLE CLK. Signal provided to the data source to indicate when data is being transferred from the FIFO to the
shaping filter. The SAMPLE CLK output is generated by the sample rate NCO and has approximately 50% duty
cycle. The sample is taken on the high-to-low transition.
FSRA,
FSRB,
FSRC,
FSRD
O
FRAME STROBE A-D. (FSRX) Multiple Function Output. When control word 0x0c, bit 11 is set to zero, the output
is FRAME STROBE when symbol data is input through the serial data port. When symbol data is input through the
µP port the output is FIFO READY 0-3. When control word 0x0c, bit 11 is set to one, the setting of the
FSRMode<1:0> bits in indirect address 0x407 determine the output. The polarity of FSRX is programmable.
FRAME STROBE. Signal provided to the data source to initiate a serial word transfer. Alternatively selectable
through Serial Control 0x11, bit 14 to be Epoch frame strobe. Epoch is a pre-carry out of the fixed integer divider
instead of the serial frame strobe. The Epoch pre-carry out is six clocks ahead of the true carry out and can be used
to synchronize fixed integer dividers of other devices. See control word 0x17, bit 15 for shut-off conditioning.
FIFO READY. Indicates the I and Q FIFO pointer is less than the programmed FIFO depth.
UPDX or TXENX: When 0x0c, bit 11 is set to one, and FSRMode<1:0> is set to 10, the internal channel UPDX is
output. When 0x0c, bit 11 is set to one, and FSRMode<1:0> is set to 11, the internal channel TXENX is output. See
Table 43 for additional details.
4
FN6004.3
July 8, 2005
ISL5217
Pin Descriptions (all signals are active high unless otherwise stated)
(Continued)
NAME
TYPE
DESCRIPTION
TXENA,
TXENB,
TXENC,
TXEND
I
Transmit Enable A-D. (TXENX) The processing channel selected for this enable will force a channel flush
(conditioned by control word 0x0c, bit 2), clear the data RAMs, and update the selected configuration registers upon
assertion. No additional requests for serial data will be made when TXENX is deasserted, unless conditioned by
control word 0x0c, bit 3. The polarity of TXENX is programmable. Optionally, TXENX can be internally generated
with a programmable duty cycle. Two different programmable TXENX cycles can be programmed and toggled
between based on programmed cycle length. See control word 0x0c, bit 11 and Table 43 for additional details.
UPDA, UPDB,
UPDC, UPDD
I
Update A-D. (UPDX) The processing channel selected for this input updates the selected configuration registers, if
the associated update mask bit is set. The polarity of UPDX is programmable.
SYNCO
O
Synchronization Output. The processing of multiple ISL5217 devices can be synchronized through software by
connecting the SYNCO of the master ISL5217 device to an UPDX pin of the ISL5217 slaves. The polarity of SYNCO
is programmable.
MODULATED DATA (80)
IOUT(19:0)
O
Output Data Bus A (19:0). Output bus A contains the digital modulated QUC output samples from Output
Summer/Formatter 1. The samples are updated on the rising edge of the CLK. Bit <19> is the MSB.
QOUT(19:0)
O
Output Data Bus B (19:0). The output bus contains the digital modulated QUC output samples from Output
Summer/Formatter 2. The samples are updated on the rising edge of the CLK. Bit <19> is the MSB.
IIN(19:0)
I/O
I Cascade In (19:0) or OUTPUT BUS C. Dual function I/O bus. The bus is configured for input when the output mode
is cascade in. The bus is configured for output for all other output modes.
I Cascade In. Input bus allows multiple parts to be cascaded by routing the digital modulated signal I CAS OUT,
(Bus A), from one QUC into Output Summer/Formatter 1 of a second QUC. I CAS IN (19:0) is in 2’s complement
format and is sampled on the rising edge of CLK. Bit<19> is the MSB.
Output Data Bus C. The output bus contains the digital modulated QUC output samples from Output
Summer/Formatter 3. The samples are updated on the rising edge of the CLK. Bit <19> is the MSB.
QIN(19:0)
I/O
Q Cascade in (19:0) or Output Data Bus D. Dual function I/O bus. The bus is configured for input when the output
mode is cascade in. The bus is configured for output for all other output modes.
Q Cascade in. Input bus allows multiple parts to be cascaded by routing the digital modulated signal Q CAS OUT,
(Bus B), from one QUC into Output Summer/Formatter 2 of a second QUC. Q CAS IN (19:0) is in 2’s complement
format and is sampled on the rising edge of CLK. Bit<19> is the MSB.
Output Data Bus D. The output bus contains the digital modulated QUC output samples from Output
Summer/Formatter 4. The samples are updated on the rising edge of the CLK. Bit <19> is the MSB.
ISTRB
O
I data strobe. (active high). Used in the muxed I/Q mode. When asserted, the output data buses contain valid I data.
JTAG TEST ACCESS PORT
TMS
I
JTAG Test Mode Select. Internally pulled up.
TDI
I
JTAG Test Data In. Internally pulled up.
TCK
I
JTAG Test Clock.
TRST
I
JTAG Test Reset (Active Low). Internally pulled-up. This pin should be driven by the JTAG logic to obtain a TAP
controller reset, or if JTAG is not utilized, this pin should be tied to ground for normal operation. As recommended
in the 1149.1 standard documentation the TRST test pin should be made active soon after power-up to guarantee
a known state within the TAP logic on the ISL5217. This avoids potential damage due to signal contention at the
circuit’s inputs and outputs.
TDO
O
JTAG Test Data Out.
5
FN6004.3
July 8, 2005
ISL5217
Functional Description
The ISL5217 Quad Programmable UpConverter (QPUC)
converts digital baseband data into modulated or frequency
translated digital samples. The QPUC can be configured to
create any quadrature amplitude shift-keyed (QASK) data
modulated signal, including QPSK, BPSK, and m-ary QAM.
The QPUC can also be configured to create both shaped
and unfiltered FM signals. A minimum of 16 bits of resolution
is maintained throughout the internal processing.
The QPUC is configured via the microprocessor data bus,
using the A<6:0> address bus, P<15:0> data bus, RD, WR
and CS control signals. Configuration data that is loaded via
this bus includes the individual channel’s 48-bit Sample Rate
NCO center frequency, the 32-bit Carrier NCO center
frequency, the device modulation format, gain control, input
mode control, reset control and sync control. The I and Q
baseband channels each have a 256 tap FIR filter whose
coefficients and configuration are also programmed via the
µP interface. Similarly, the control signals for the I and Q
channel interpolation filters are programmed via the µP
interface. Discussion in the following sections utilizes the
register definitions for channel 0. Channels 1-3 are similarly
configured in accordance with the Table 10 Memory Map.
Data Input
The I/Q sample pairs can be input serially through 1 of 4
serial interfaces or in parallel through the µP addressable
registers as shown in Figure 1.
TXENX
FSRBX
0x1, 15:0
DON’T CARE
Q<MSB>
2:1 MUX
0x0, 15:0
I sample (15:0)
INACTIVE
I<LSB>
0x11, 15
2:1 MUX
4:1 MUX
SERIAL TO
PARALLEL
PARALLEL
A<6:0>
P<15:0>
UPDX
SDX
CHANNEL
µP INTERFACE
SDA
SDB
SDC
SDD
SCLKX
Q<LSB>
0x11, 1:0
Although each channel has control of a serial interface it may
select serial data from one of the other interfaces. Serial
control (0x11, bits 1:0) selects 1 of 4 serial data ports for the
channel. The serial data transfer format is shown in Figure 2.
I<MSB>
0x11, 3:2
0x12, 9:0
0x13, 9:0
back 16-bit serial transfers can occur by setting control word
(0x17, bits 14:13) both high. The serial process begins with the
first serial clock after the start of a sample clock. The frame
strobe is asserted for one serial clock and starts the I and Q
time slot counters. The TXENX pin or Main control (0X0c, bit 0)
S/W TX enable must be asserted to enable the frame strobe
out. Additional requests for serial data, with TXENX deasserted, are controlled by bit 3 of control word 0x0c. The serial
interface may be programmed to be dependent or independent
of TXENX control. The I and Q time slot counters, programmed
through 0x12, bits 9:0 and 0x13, bits 9:0, control the duration of
the serial to parallel conversion of the serial data input. The
counters are loaded to count the number of serial clocks from
the frame strobe to shift in the last data bit of that sample. The
time slot counters are 10-bits to allow multiple channels to
share a common serial data input. The MSB is always shifted
first, but the order of the I and Q serial data is flexible due to the
variability of the time slot counters. The received serial word is
MSB justified prior to loading into the FIFO holding register
based on the serial word length, programed through Serial
control (0x11, bits 3:2) to 4, 8, 12, or 16 bits.
FIGURE 2. SERIAL DATA TRANSFER
Q sample (15:0)
The ability to select the serial input source allows multiple
QPUCs to share a single microprocessor interface with their
processing synchronized through the master QPUC SYNCO
being tied to the slave device UPDX. Conversely, multiple
FIGURE 1. SINGLE CHANNEL DATA INPUT PATH
Serial
The serial mode allows the device to shift the I and Q samples
serially into the FIFO holding registers. The serial input format
is selected when Serial control (0x11, bit 15) is high. The serial
interface is three-wire interface controlled by the channel. The
serial clock and frame strobe are driven by the channel to clock
the serial data from the source into the serial data port. The
serial clock can operate at the clock rate, at a divided clock rate,
or be driven at 32x the sample clock rate. Serial control (0x11,
bits 13:8) configure the serial clock. In the 32x mode, back to
6
FN6004.3
July 8, 2005
ISL5217
microprocessors can share a single QPUC as shown in
Figure 3.
SCLKX
µP
FSRX
SDX
SCLKX
MASTER
ISL5217
QPUC
µP
UPDX
FSRX
ISL5217
QPUC
CHANNEL 0
SDX
SYNCO
SCLKX
SLAVE
ISL5217
QPUC
µP
FSRX
CHANNEL 1
SDX
UPDX
SCLKX
SLAVE
ISL5217
QPUC
µP
FSRX
CHANNEL 2
SDX
UPDX
SCLKX
SLAVE
ISL5217
QPUC
µP
FSRX
CHANNEL 3
SDX
UPDX
FIGURE 3. MULTIPLE CONFIGURATIONS
Parallel
The parallel mode allows the µP to write the I and Q
samples directly to the FIFO holding registers. The parallel
input format is selected when Serial control (0x11, bit 15) is
low. The normal µP write order is the Q sample, Control
word 0x1, followed by the I sample, Control word 0x0.
Writing to Control word 0x0 generates the update strobe to
move the data from the FIFO holding register into the first
location of the I/Q FIFO. The first location of the I/Q FIFO is
available for read back. The µP can perform back-to-back
write accesses to Control words 0x1 and 0x0, but must
maintain four fCLK periods between accesses to the same
address. This limits the maximum µP write access rate for
an I/ Q sample pair to 104MHz/4 = 26MHz. The Read/Write
format for a parallel data transfer is shown in Figure 4
CLK
RDMODE
The input source to the FIFO is selected by Serial control
(15). The FIFO pointer is incremented every time data is
written into the FIFO. The transferring of data into the FIFO
does not occur until both I and Q have been received when
the sample data is input in a serial fashion. When the
sample data is input in a parallel fashion, the transferring of
data into the FIFO occurs when the µP writes to Control
Word 0 (I data).
While the input source determines the write rate, the
shaping filter determines the read rate. The maximum read
rate occurs when the shaping filter constraints for Data
Span (DS) and Interpolation Phases (IP) equal four. For a
clock rate of 104MHz, the maximum read rate is
determined by fCLK/(DS)(IP), which is 104MHz/16 =
6.5MHz. See the Shaping Filter Section for more details.
When the Shaping Filter requires another data sample, a
request is made to the FIFO for data and the FIFO pointer
is decremented. Figure 5 indicates the timing of a request
for data from the Shaping filter to the actual appearance of
data at the FIFO output. An “empty” FIFO detection causes
zero valued data to be entered into the shaping filter. The
FIFO can be forced to enter zero valued data by setting the
on-line mode to false. The on-line mode is enabled by Main
control (0xc, bit 6). A “full” FIFO detection prevents data
from being pushed out of the FIFO before the filter requests
it. Writing to a full FIFO is treated as an error condition that
will result in a soft reset of the channel to prevent
transmission of erroneous data over the air. The full FIFO
channel reset can be disabled by control word 0x0c, bit 1.
A programmable FIFO depth threshold sets when the
FIFORDY signal is asserted, alerting the data source that
more data is required. The FIFORDY signal assists the
data source in maintaining the desired FIFO data depth.
The data FIFO depth threshold for both I and Q inputs is set
by Main control (0xc, bits 10:8). The SAMPLE CLK may be
used instead of FIFORDY to indicate when data has been
transferred from the FIFO to the shaping filter. See the pin
description table for additional details and Figure 5 for the
input data latency.
RD
WR
A<6:0>
01
00
01
00
01
00
P<15:0>
Q
I
Q
I
Q
I
FIGURE 4. PARALLEL DATA TRANSFER
FIFO
The FIFO provides the interface and data storage between
the input source and the shaping filter or FM modulator. The
FIFO can hold up to seven I /Q sample pairs. The block
diagram is shown in Figure 6.
7
FN6004.3
July 8, 2005
ISL5217
Data Modulation Path
Three data path options are provided, one for each
modulation format. The modulation format is selected using
FIR Control (0xd, 3:2). The modulation paths are defined in
the following subsections.
WR
1
2
3
4
CLK
DLY DATA
DFF 1
DFF 2
DFF 3
DFF 4
Write_FIFO
REG1
FIFO NEEDS
FIFORDY MORE DATA
FIFO NEEDS
MORE DATA
FIGURE 5. FIFO DATA AND ENABLE TIMING
CLOCK SYNCHRONIZATION
>
WR
DFF3
R
E
G
>
>
DFF4
0X11, 15
R
E
G
>
SERIAL_WRITE_TO_FIFO
0X11, 3:2
0X12, 9:0
0X13, 9:0
0X1, 15:0
>
R
E
G
R
E
G
>
R
E
G
>
>
R
E
G
>
R
E
G
>
R
E
G
>
8:1 MUX
IFIFO(15:0)
I SAMPLE (15:0)
0XC, 10:8
ALMOST EMPTY
THRESHOLD
COMP
2:1 MUX
ZERO’S
A(2:0)
Q SAMPLE (15:0)
FIFORDY
QFIFO(15:0)
0 1
0X0, 15:0
R
E
G
0X11, 15
2:1 MUX
SERIAL TO
PARALLEL
PARALLEL
A<6:0>
P<15:0>
CHANNEL
ΜP INTERFACE
SDA
SDB
SDC
SDD
4:1 MUX
0X11, 1:0
WRITE_FIFO
DFF
A(000)
DFF2
R
E
G
COMP
R
E
G
2:1 MUX
DFF1
8:1 MUX
FM ENABLED
R
E
G
>
R
E
G
>
† All Registers are clocked at CLK unless shown otherwise.
R
E
G
>
R
E
G
>
R
E
G
>
R
E
G
>
R
E
G
>
WRITE_FIFO
FIGURE 6. I AND Q FIFO BLOCK DIAGRAM
8
FN6004.3
July 8, 2005
ISL5217
This modulation mode configures the QPUC as a BPSK,
QPSK, OQPSK, MSK or m-QAM modulator. The block
diagram is shown in Figure 7. The data FIFO outputs are
routed to the shaping filters. Here the samples are
interpolated by 4, 8, or 16 and shaped using a FIR filter with
up to a 256 taps. The filter impulse response can span 4-16
input samples. A half (input) sample delay can be inserted in
the I/Q path after the FIR and is enabled through Main
Control (0xc, bit 13). The 20-bit output of the shaping filter is
routed through a gain adjust multiplier controlled by 0x0a,
bits 11:0 and into the interpolation filter. The interpolation
filter interpolates by a factor set in the resampling NCO with
the Interpolation Phases controlled by 0xd, bits 1:0. The
output of the interpolation filter is at the master clock
frequency, CLK. The samples are then mixed with the carrier
L.O. for quadrature upconversion. The output is then
summed with the cascade input signal, saturated (in the
case of overflow), and formatted for output.
I
Q
SHAPING
FILTER
GAIN
PROFILE
modulated quadrature samples are then up sampled in the
interpolation filter to the output sample rate. The baseband
modulated signal is then upconverted to the carrier
frequency by the carrier NCO and mixers. The output is then
summed with the cascade input signal, saturated, and
formatted for output.
In Mode 10, the amplitude out of the shaping filter needs to
be limited in order to prevent frequency excursions that
cannot be filtered out in the interpolation filter.
NOTE: THE QUALITY OF THE FM SIGNAL IS AFFECTED BY
THE AMPLITUDE SLEW RATE OUT OF THE SHAPING FILTER.
AS A RULE OF THUMB, LIMITING THIS SLEW RATE TO LESS
THAN 1/8 THE SAMPLE RATE WILL MINIMIZE THIS
DISTORTION.
I
SHAPING
FILTER
FM
MODULATOR
TO
HALF BAND
Modulation Mode 00 - QASK
GAIN
PROFILE
FIGURE 9. FM WITH PULSE SHAPING
FM Modulator
TO
HALFBAND
FIGURE 7. QASK
Modulation Mode 01 - FM with Bandlimiting Filter
This mode configures the QPUC as an FM modulator with
post-modulation filtering. The block diagram is shown in
Figure 8. This mode provides for FSK and FM modulation
schemes. In this mode, the I input samples drive the
frequency control section of a quadrature NCO to produce a
zero IF FM signal. The 16-bit FM quadrature signals are then
routed to the shaping FIR filter and into the interpolation filter
for bandlimiting and interpolation up to the master clock rate.
The quadrature filtered FM signals are then upconverted to
the carrier frequency by the carrier NCO and mixers. The
output is then summed with the cascade input signal,
saturated (in the case of overflow), and formatted for output.
Note that pulse shaping in this mode must be provided prior
to the QPUC.
The FM modulator provides for frequency modulation of the
carrier center frequency by the QPUC input data. The FM
modulator is driven either directly by the QPUC I input (Mode
01) or by the output of the FIR shaping filter (Mode 10). The
input data to the FM Modulator, is defined as dφ(n)/dt, where
φ(nT) is the phase of a theoretical sinusoid described by:
s ( n ) = A (cos [ φ ( nT ) ]+ j sin [ φ ( nT ) ]); A ≈ 1 in Modulator (EQ. 1)
The block diagram is shown in Figure 10. The input to the
FM modulator, dφ(n)/dt, is integrated via the NCO
accumulator. The NCO accumulator output represents
phase and is used to address a SIN/COS generator,
synthesizing a sinusoid of the form described in
Equation 1. The phase accumulator feedback of the NCO is
20 bits and 18 bits of the phase word are routed to the
SIN/COS generator. Eighteen bits of amplitude are
provided on the Sine and Cosine outputs.
SHAPING
MODULATOR
FILTER
GAIN
PROFILE
FIGURE 8. FM WITH BANDLIMITING
Modulation Mode 10 - FM with Pulse Shaping
This mode configures the QPUC as a FM modulator with
pre-modulation baseband pulse shaping. The block diagram
is shown in Figure 9. The data from the FIFO (I channel only)
is routed to the FIR shaping filter. The FIR shaping filter
output drives the frequency control section of a quadrature
NCO to produce a zero IF FM signal. These 18-bit FM
9
φ(nT)
16 or 20
dφ(nT)/dt
∑
>
R
E
G
SIN/COS
ROM
FM
TO
I
HALF BAND
20
18 COS[φ(nT)]
18 SIN[φ(nT)]
FM
MODE
01 OR 10
FIGURE 10. FM MODULATOR BLOCK DIAGRAM
The transfer function of the FM modulator is defined by the
change in degrees per sample value, dφ(nT)/dt, where
dφ(nT)/dt is a 16-bit, twos complement, fractionally notated
frequency control word with a range from -FSAMP/2 to
+FSAMP/2. FSAMP is defined as the sample rate into the FM
FN6004.3
July 8, 2005
ISL5217
modulator. The maximum phase step that can occur in one
clock is ±180 degrees. Table 1 provides the change in phase
weighting of the input bits.
TABLE 2. EXAMPLE CALCULATIONS
EXAMPLE
fCLK
DS
IP
1
104MHz
16
16
104/256 = 406.25kHz
2
104MHz
16
8
104/128 = 812.5kHz
3
104MHz
16
4
104/64 = 1.625MHz
TABLE 1. PHASE WEIGHTING
MAX fS
dφ(nT)/dt
DEGREES/SAMPLE
1000 0000 0000 0000
-180
4
104MHz
10
4
104/40 = 2.600MHz
0000 0000 0000 0000
0
5
104MHz
8
4
104/32 = 3.250MHz
0111 1111 1111 1111
~+180
6
104MHz
4
4
104/16 = 6.500MHz
Shaping Filter
The shaping filter provides the necessary pulse shaping
required on the input data to implement various QASK and
shaped FM modulation formats. Two identical shaping filters
(one each for the I and Q paths) are provided. The shaping
filter architecture uses a NCO controlled interpolating FIR,
capable of 4, 8, or 16 interpolation phases. The number of
interpolation phases, (IP) is loaded into FIR Control (0xd,
bits 1:0). The span of the impulse response of the polyphase
filter can vary from 4-16 data samples. The desired sample
Data Span, (DS) value minus one is loaded into FIR Control
(0xd, bits 7:4). Thus, the required number of coefficients (or
filter span) becomes:
(EQ. 2)
# Coefficients = (DS)(IP)
The Interpolation Phase also determines the rate to compute
a polyphase output by selecting the appropriate timing from
the Sample Rate NCO to drive the shaping filter at 4x, 8x, or
16x the input sample rate. The Data Span selects the
number of samples to convolve. Each convolution requires
DS reference clocks for each phase of the filter. An output is
calculated (IP) times for each input sample. To allow
sufficient processing time for each output, the reference
clock must be as follows:
CLK ≥ ( DS ) ( IP ) ( f S )
(EQ. 3)
Conversely, the input sample rate requires:
f S ≤ f CLK ⁄ [ ( IP ) ( DS ) ]
(EQ. 4)
where fCLK is the frequency of the reference clock, IP is the
shaping filter interpolate rate; and DS is the number of data
samples in the filter span. For example, if fCLK = 104MHz,
the filter span is 16 samples, and the interpolation rate is 16,
then the maximum input sample rate, fS is 104/256 =
406.25kHz. Table 2 shows several examples of calculations
for FIR input sample rates based on master reference clock
rate, number of data samples, and interpolation rate. The
data exits the shaping filters at the interpolated rate.
The shaping filters have programmable coefficients which
must be loaded via the microprocessor interface. The QPUC
supports loading coefficients for two shaping filters, with FIR
Control (0xd, bit 8) selecting the active filter. The I and Q
shaping filters are identical and may be loaded
simultaneously or separately, allowing for different gains and
responses through the filter if desired.
TABLE 3. FIR CONTROLS
IP
STARTING ADDRESS
W/FIR CONTROL (8) = ‘0’
STARTING ADDRESS
W/FIR CONTROL (8) = ‘1’
4
0
8
8
0
8
16
0
128
Because 16 interpolation phases are possible, the
coefficients are structured in sets of 16, one set for each
phase of the shaping filter. The convolution algorithm
sequentially steps through each of these phases, beginning
with phase 0. The coefficients for the shaping filters are
generated by designing the prototype filter at the
interpolated rate. The coefficients are then divided into
interpolation phases by taking every nth tap of the prototype
filter and storing the coefficient as an element of a coefficient
set. The IP value determines the addressing interval through
the prototype filter to create the coefficient sets for the filter
phases. The first coefficient set begins at address 0. The
next coefficient set begins at address 1 and continues in a
like manner for the remaining coefficient sets. For a 16 tap,
interpolate-by-4 filter, the calculations for filter 1 are:
Polyphase output 0 = (C0*D[n]) + (C4*D[n-1]) + (C8*D[n-2])
+ (C12*D[n-3])
Polyphase output 1 = (C1*D[n]) + (C5*D[n-1]) + (C9*D[n-2])
+ (C13*D[n-3])
Polyphase output 2 = (C2*D[n]) + (C6*D[n-1]) + (C10*D[n-2])
+ (C14*D[n-3])
Polyphase output 3 = (C3*D[n]) + (C7*D[n-1]) + (C11*D[n-2])
+ (C15*D[n-3])
If FIR Control (8) is set the calculations for filter 2 are:
Polyphase output 0 = (D0*D[n]) + (D4*D[n-1]) + (D8*D[n-2])
+ (D12*D[n-3])
10
FN6004.3
July 8, 2005
ISL5217
Polyphase output 1 = (D1*D[n]) + (D5*D[n-1]) + (D9*D[n-2])
+ (D13*D[n-3])
Polyphase output 2 = (D2*D[n]) + (D6*D[n-1]) + (D10*D[n-2])
+ (D14*D[n-3])
Polyphase output 3 = (D3*D[n]) + (D7*D[n-1]) + (D11*D[n-2])
+ (D15*D[n-3])
Table 4 details the coefficient address allocation for the
previous example. The interpolation phase is on the left and
the data span is across the top. The coefficient RAM address
followed by the coefficient term is listed in the table’s cell.
Table 49 details the coefficient address locations through
255.
TABLE 4. ADDRESS ALLOCATION
DS [n]
DS [n-1]
DS [n-2]
DS [n-3]
IP0
0
CO
16 C4
32 C8
48 C12
•
IP1
1
C1
17 C5
33 C9
49 C13
•
IP2
2
C2
18 C6
34 C10
50 C14
•
IP3
3
C3
19 C7
35 C11
51 C15
•
IP4
4
20
36
52
•
IP5
5
21
37
53
•
IP6
6
22
38
54
•
IP7
7
23
39
55
•
IP8
8
D0
24 D4
40 D8
56 D12
•
IP9
9
D1
25 D5
41 D9
57 D13
•
IP10
10 D2
26 D6
42 D10
58 D14
•
IP11
11 D3
27 D7
43 D11
59 D15
•
IP12
12
28
44
60
•
IP13
13
29
45
61
•
IP14
14
30
46
62
•
IP15
15
31
47
63
•
The loading options are programmable including read back
modes and are discussed in detail in the ‘Microprocessor
Interface’ section. Both 16-bit 2’s complement and 24-bit
floating point format are allowed. The 2’s complement
coefficient format of valid digital values ranges from 0x8001
to 0x7FFF. The value 8000 is not allowed. The 24-bit floating
point (20-bit mantissa with 4-bit exponent) mode allows an
exponent range from 0 to 15. An exponent of 0 indicates
multiplication of the coefficient by 20, and an exponent of 1 is
2-1, down to a value of 15 being 2-15. The default mode is 2’s
complement, with 24-bit floating point mode enabled by
setting control word (0x17, bit 12).
11
The gain through the filter is:
A = (sum of coefficients) / interpolation rate.
The shaping filter contains saturation logic in the event that
the final output peaks over +/- 1.0. When using quadrature
modulation, saturation/overflow can occur when the input
values for I and Q exceed 0.707 peak. The shaping filter
coefficients may need to be reduced from full scale to
prevent saturation.
Gain Profile
The overall channel gain is controlled by both a gain profile
stage and a gain control stage, which provide identical scaling
for the I and Q upconverted data. The gain profile stage allows
transmit ramp-up and quench fading, to control the sidelobe
profile in burst mode. This is implemented through user control
of the rise and fall transitions utilizing a gain profile memory.
The gain profile memory is a 128 x 12 bit RAM which is loaded
with the desired scaling coefficients via indirect addressing of
memory spaces 0x000-0x07f. The pulse shaping is
implemented by linearly multiplying the programmed coefficient
by the shaping filter outputs at the fS*IP, or coarse phase rate.
The gain profile is enabled by FIR control (0xd, bit 15), with the
RAM address pointer being reset to zero on assertion of the
gain profile enable. Control of the pulse shaping is based on
TXENX, as the TXENX rising edge causes the RAM pointer to
begin stepping through the profile until the RAM pointer
matches the Gain profile length programed into control word
(0x0b, bits 6:0). The falling edge of TXENX reverses the
process and the RAM pointer begins decrementing until it
reaches zero. The gain process is symmetric with respect to the
rising or falling edges of TXENX. The latency through the gain
profile block is set by control word (0x0b, bits 8:7) where bit 8
bypasses all latency alignment circuitry and uses TXENX as
input to the channel. Setting control word (0x0b, bit 7) removes
two edge latencies from the delay path and should be
combined with selection of DS = 3, IP = 4 in order to have
perfect symmetry through the gain profile block. The memory
coefficients may be loaded without taking the channel off-line.
This is implemented by setting the gain profile hold bit in control
word (0x0c, bit 14) which holds the last gain value and provides
access to the memory.
The gain profile coefficients are programmed as unsigned
values:
Bit weight 20.2-1 2-2... 2-11
Maximum 0x800 = 1.0
0x001 = 2-11
Minimum
0x000 = 0.0
FN6004.3
July 8, 2005
ISL5217
Gain Control
Sampling NCO
The gain control is implemented through a scaling multiplier
followed by a scaling shift. The combination of the multiplier
and shifter provide the final output gain of the channel. Gain
adjustment can vary from -0.0026 to -144 dBFS.
The Sample Rate NCO provides the SAMPLE CLK and
sample clock phase information to the data input FIFO’s,
the shaping filters and the interpolation filters. The input
sample rate is set by the sample clock. The sample clock is
the MSB of the NCO accumulator and controls the
movement of sample data from the user to the shaping
filters. The coarse phase of the NCO accumulator controls
the processing of the shaping filter at 4x, 8x, or 16x the
sample clock rate. The fine phase of the NCO accumulator
controls the processing of the interpolation filter as it resamples the data from the shaping filter to the clock rate.
The block diagram is shown in Figure 11.
Given a desired attenuation, the scaling multiplier value,
GainMULT(11:0) can be calculated by the following equation.
GainMULT(11:0) = INT [10 |(Gain(db)| / 20 )212]
where INT[X] is the integer part of the real number X.
Table 5 details a few scaling multiplier values and their
associated attenuations.
GAINMULT
(0xa, 11:0)
GAIN (dBFS)
SCALING GAIN
(VOUT/VIN)%
1111 1111 1111
-0.0026
99.97
The sample frequency, SF, is set with 48-bit resolution. The
LSB is fCLK/248. The internal accumulator resolution is 48
bits. Given a desired sample frequency, fs, the value for
SF(47:0) can be calculated by the following equation.
1000 0000 0000
-6.021
50.0
SF (47:0) = INT [(fs / fCLK) * 2 48]
0100 0000 0000
-12.041
25.0
0010 0000 0000
-18.062
12.5
0001 0000 0000
-24.082
6.25
0000 1000 0000
-30.103
3.125
0000 0100 0000
-36.124
1.5625
0x5, bits 15:0 = SF (31:16)
0000 0010 0000
-42.144
0.78125
0x6, bits 15:0 = SF (15:0)
0000 0001 0000
-48.165
0.39062
0000 0000 1000
-54.186
0.19531
0000 0000 0100
-60.205
0.097656
0000 0000 0010
-66.226
0.04828
0000 0000 0001
-72.247
0.02441
TABLE 5. SCALING GAIN ATTENUATION
Given a desired attenuation, the shifting value GainSHIFT
(2:0) can be determined by a table look-up. Refer to Table 6.
TABLE 6. GAIN SHIFT VALUES
The sample frequency, SF(47:0) is loaded 16 bits at a time
into Control Words 4, 5, and 6.
0x4, bits 15:0 = SF (47:32)
The output of the phase accumulator can be offset by phase
increments of 90 degrees without affecting the operation of
the phase accumulator. The desired offset increment is
loaded into FIR Control (0xd, bits 11:10).
Since it is not possible to represent all frequencies exactly
with an NCO, the phase accumulator length has been
extended to minimize the effect of phase error accumulation.
At an update rate of 1MHz, half an LSB of error in loading
the 48-bit accumulator is 1.8e-9. The accumulated phase
error after 1 year is 0.056 of a bit.
GAINSHIFT
(2:0)
GAIN (dBFS)
SCALE
BY
SCALING GAIN
(VOUT/VIN)%
000
-72.247
4096
0.02441
Leap Counter
001
-48.165
256
0.39062
010
-30.103
32
3.125
011
-24.082
16
6.25
100
-18.062
8
12.5
101
-12.041
4
25.0
110
-6.021
2
50.0
111
0
1
100.0
In addition to lengthening the NCO accumulator, a 32-bit
counter is available for realizing fixed integer interpolation
rates. The carry-out of the fixed integer counter can be used
to clear the coarse and/or fine phase of the sample rate
NCO. The fixed integer counter also provides a precarry-out
that can be used to synchronize fixed integer counters in
other devices. The fixed integer counter is enabled by FIR
Control (0xd, bit 12).
The gain control is loaded into Control Word 0xa.
0xa, bits 14:12 = GainSHIFT(2:0)
0xa, bits 11:0 = GainMULT(11:0)
12
In programming the FID to clear the NCO accumulator,
consideration must be provided to ensure that FID is
programmed to clear the Error term only when the desired
error term should have been zero with an integer multiple of
the symbol rate. Selecting GSM as an example, the FID
should clear the NCO accumulator every third multiple of the
symbol rate or every 270833.333 * 3 sample clocks, as the
error term should only be zeroed during integer multiples of
FN6004.3
July 8, 2005
ISL5217
the symbol rate. This would clear the NCO accumulator
every 3 seconds or at a 1/3 Hz rate. The frequency of the
FID carryout can range from Fclk to Fclk/2^32. The value of
FID is determined from:
FID (31:0) = [(fclk / fco)]
Where fco is the desired frequency of the carryout, which in
the previous example is 1/3 Hz and the fclk is and integer
multiple of the sample frequency, say 65MHz. The resultant
value for the FID would be (65MHz/1/3Hz) or 195e6. The
programmed integer values for the FID are loaded 16 bits at
a time into Control Words 2 and 3.
0x2, bits 15:0 = FID (31:16)
0x3, bits 15:0 = FID (15:0)
Loading 195e6 into the FID would result in 0x2, being
0x0b9f, and 0x3 being 0x76c0.
SAMPLE FREQUENCY
ZERO
The shaped sample data is input to the interpolating filter at
the interpolation rate. The Interpolator filter resamples the
shaped I and Q data to establish the final output sample rate
of the channel. The output sample rate is always the clock
rate. The Interpolator uses the fine phase values from the
Symbol Rate NCO to compute the fine interpolated samples
at the clock rate. The number of interpolated samples is set
by the following ratio: nIS = fCLK / f S / IP.
The nulls in the interpolation filter frequency response align
with the interpolation images of the shaping filter. The
impulse response of the Interpolation filter is shown in
Figures 13A through 13C for varying interpolation ratios.
46
0
EN
<
-20
ACC
-40
MAGNITUDE (dB)
MUX
1
REG
∑
0
WR CW3
Interpolation Filter
2
SYNCSEL
SYNCIN
The output of this filter is rounded to 20-bits. The output is
checked for saturation and limited if necessary. The data
exits the halfband filter as a parallel I<20:0> and Q<20:0>
data stream at the rate of fs*IP*2. Figure 12 shows the
frequency response of the Half-Band filter.
EnNCO
(CARRIER NCO)
START
EDGE
GEN
48
>
WR CW21
>
R
E
G
-60
-80
-100
-120
REG
RESET
EDGE
GEN
-140
SAMPCK
(MSB)
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
NORMALIZED FREQUENCY (NYQUIST=1)
FIGURE 12. HALF BAND FILTER RESPONSE
RST
>
R
E
G
0
SHIFTER
IP(1:0)
INTERPOLATION FILTER RESPONSE
REG
12
† ALL REGISTERS ARE
4, 3, OR 2
CLOCKED AT CLK
FINE
PHASE
COARSE
PHASE
FIGURE 11. RE-SAMPLING NCO BLOCK DIAGRAM
Fixed Coefficient 11-TAP Interpolating
Half-band
Following the post-FIR gain profile block is a fixed coefficient
11-tap interpolate by 2 Half-Band filter. The default mode is
to bypass the filter with the setting of control word 0x0d, bit 9
enabling the filter. If bypassed, the data to the filter is zeroed
which reduces power consumption. The halfband filter
coefficients are:
MAGNITUDE (dB)
>
-20
-40
-60
-80
-100
-120
512
1024
1536 2048 2560
SAMPLE TIMES
3072
3584
4096
FIGURE 13A. INTERPOLATION FILTER IMPULSE RESPONSE
L = 16; FOUT = 4096
3, 0, -25, 0, 150, 256, 150, 0, -25, 0, 3
13
FN6004.3
July 8, 2005
ISL5217
where CR(31:0) is the 32-bit frequency control word which
can range from -231 to ~231 for a NCO output range of
-fCLK/2 to ~fCLK/2. fCLK is the CLK frequency.
0
INTERPOLATION FILTER RESPONSE
MAGNITUDE (dB)
-20
This NCO frequency range allows for spectral inversion.
Given a desired carrier frequency, the value for CR(31:0)
loaded into the part can be calculated by:
-40
-60
CR ( 31:0 ) = INT [ F C ⁄ f CLK *2
32
]
(EQ. 6)
-80
where INT[X] is the integer part of the real number X.
-100
-120
64
128
192
256
320
SAMPLE TIMES
384
448
512
FIGURE 13B. INTERPOLATION FILTER IMPULSE RESPONSE
L = 16; FOUT = 4096
0
-0.05
MAGNITUDE (dB)
-0.1
-0.15
The vector rotation can also be controlled by the sign of the
CF value. When CF is a positive value a counterclockwise
vector rotation is produced. When CF is a negative value a
clockwise vector rotation is produced.
The carrier frequency is loaded 16 bits at a time into Control
Words 8 and 9.
0x8, bits 15:0 = CF (31:16)
0x9, bits 15:0 = CF (15:0)
INTERPOLATION FILTER RESPONSE
-0.2
-0.25
The 16-bit carrier phase offset initializes the most-significant
16-bits of the phase accumulator. The least significant 16
bits of the phase accumulator are cleared. Given a desired
carrier phase offset, the value CO(31:0) can be calculated by
the following equation.
-0.3
-0.35
-0.4
-0.45
-0.5
( PhaseOffset )° 32
CO ( 31:0 ) = INT --------------------------------------------- *2 ]
360°
-0.55
-0.6
(EQ. 7)
-0.65
-0.7
8
16
24
32
40
48
56
64
SAMPLE TIMES
Control Word 7 (15:0) = CO (31:16).
FIGURE 13C. INTERPOLATION FILTER IMPULSE RESPONSE
L = 16; FOUT = 4096
Carrier NCO
Following the interpolating filter section, the samples are
modulated onto a carrier signal via a complex multiply
operation. The Carrier NCO provides the quadrature local
oscillator references to the complex mixer.
The NCO has provisions for programming the frequency and
phase offset. The NCO has a 32 bit frequency control
providing sub-hertz resolution at the maximum clock rate.
The carrier NCO phase accumulator feedback can be preset
to synchronize multiple channels. The carrier NCO has a
32-bit 2’s complement programmable frequency increment
value which can range from -231 to ~231 for a NCO output
range of -fCLK/2 to ~fCLK/2. For fCLK = 104MHz, the
frequency will range from -52MHz to +52MHz.
The maximum error is 104MHz/(232) = 0.0242Hz. The
carrier frequency can be calculated from the value loaded
into Control Address 0x8 and 0x9 by:
F CARRIER = CR ( 31:0 ) × f CLK × 2
14
– 32
The carrier phase offset is loaded into Control Word 0x7.
Complex Mixer
The complex mixer multiplies the sin/cos terms generated by
the carrier NCO sin/cos generator with the I and Q
interpolated sample data. The mixers can be bypassed by
programming the carrier frequency to zero. This action sets
the sin/cos terms generated by the carrier NCO to 0 and 1
respectively. The block diagram of the Carrier NCO/Complex
Mixer is shown in Figure 14.
I(20:0)
COS
SIN
19
19
∑
+
-
∑
+
+
Re (20:0)
Q(20:0)
EN OUT
Q(20:0)
COS
SIN
19
19
Im (20:0)
I(20:0)
EN OUT
(EQ. 5)
FIGURE 14. VECTOR MODULATOR/MIXER BLOCK DIAGRAM
FN6004.3
July 8, 2005
ISL5217
cascade chain to select the appropriate delay. Device
Control 0x78, bit 3, Cascade input enable, zeroes the
cascade-in data when the port is not in use. The output of
the summation is saturated to prevent roll-over.
The resulting complex output is given by the following
equations.
Re mixer (20:0) = I(20:0) * cos(18:0) - Q(20:0) * sin(18:0)
Im mixer (20:0) = Q(20:0) * cos(18:0) + I(20:0) * sin(18:0)
Real: Real data is output on IIN, QIN, IOUT, and QOUT.
(Vector weighting for block diagram)
Imag: Imaginary data is output on IIN, QIN, IOUT, and
QOUT.
I (20:0) = 21 .. 2-19
Q (20:0) = 21... 2-19
sin (18:0) = 20... 2-18
cos (18:0) = 20... 2-18
Re mixer(20:0) = 21... 2-19
Im mixer(20:0) = 21 ... 2-19
Muxed I/Q: The output data alternates between real and
imaginary on clock time boundaries. The output signal
ISTRB is asserted when the output data is real. The ISTRB
is enabled by Device Control 0x78, bit 5. In this mode, the
I/Q samples are decimated by two. This is the only mode in
which the output data is decimated.
Output Processing
Output processing sums the modulated output of each
channel to provide multi-carrier outputs. There are four
4-channel summers, which combined with the outputs IOUT,
QOUT, and bidirectional outputs IIN and QIN can be
configured by the user to support eight output modes. The
output mode is determined by Device Control 0x78 bits 9:8
and Main Control 0xc, bit 7.
Output Modes
Cascade Mode: In this mode IIN<19:0> and QIN<19:0> are
configured as inputs for the real and imaginary cascade
inputs. This is the only mode where IIN and QIN are
configured as inputs.
The cascade input allows for more than four multi-channel
transmissions by summing the complex modulated signals
from other device’s with the four channel summer. A cascade
chain of four devices allows up to sixteen carriers. Each
device delays it’s 4-channel summation to align with the
cascade in from the previous device. Device Control 0x78
bits 2:1, Cascade delay <1:0>, identifies the position in the
NOTE: When in Muxed I/Q mode the output order is I then
Q.
Muxed I/Q at 2x rate: The output data alternates between
real and imaginary within a clock time boundary. The output
data is real when the clock is high, and imaginary when the
clock is low. All I/Q samples are output, and there is no
decimation of the output stream. Care should be utilized to
ensure sufficient set-up time is achieved for the downstream
device in the application, as data is alternating I then Q
between clock boundaries.
Complex out 1: In this mode, complex data is output on IIN
and QIN, while real data is output on IOUT and QOUT.
Complex out 2: In this mode, real data is output on IIN and
QIN, while complex data is output on IOUT and QOUT.
Complex out 3: In this mode, complex data is output on IIN
and QIN and complex data is output on IOUT and QOUT.
TABLE 7. OUTPUT MODES
OUTPUT MODE
MAIN
MAIN
MAIN
CONTROL
CONTROL
CONTROL
0X0C, BIT 7
COMPLEX 0X78, BITS 9:8 0X78, BIT 10
OUTPUT 2X
OUTPUT
OUTPUT
SELECT
ISTRB CLK IIN<19:0>
MODE
MODE
QIN<19:0>
IOUT<19:0>
QOUT<19:0>
Cascade Mode
0
00
0
X
X
Input re
Input im
re CASout
im CASout
Real
0
01
0
X
X
re SUM1
re SUM2
re SUM3
re SUM4
Imaginary
0
10
0
X
X
im SUM1
im SUM2
im SUM3
im SUM4
Muxed I/Q
0
11
0
1
X
re SUM1
re SUM2
re SUM3
re SUM4
0
11
0
0
X
im SUM1
im SUM2
im SUM3
im SUM4
Muxed I/Q at 2X Rate
0
01
1
X
1
re SUM1
re SUM2
re SUM3
re SUM4
0
01
1
X
0
im SUM1
im SUM2
im SUM3
im SUM4
Complex Output Mode 1 1 (Ch. 0 only)
01
0
X
X
re SUM1
im SUM1
re SUM3
re SUM4
Complex Output Mode 2 1 (Ch. 2 only)
01
0
X
X
re SUM1
re SUM2
re SUM3
im SUM3
Complex Output Mode 3 1 (Ch. 0 and 2)
01
0
X
X
re SUM1
im SUM1
re SUM3
im SUM3
NOTE: re CASout is re SUM1 + re CASinput, im CASout is im SUM1 + im CAS in.
15
FN6004.3
July 8, 2005
ISL5217
TABLE 8. INPUT/OUTPUT MODES
MAIN CONTROL 0X78, BITS
9:8 OUTPUT MODE
OUTEN
<1:0>
IIN
<19:0>
QIN
<19:0>
IOUT
<19:0>
QOUT
<19:0>
00
00
Input
Input
Output
Output
00
01
Input
Input
Output
HI-Z
00
10
Input
Input
HI-Z
Output
00
11
Input
Input
HI-Z
HI-Z
01,10,11
00
Output
Output
Output
Output
01,10,11
01
Output
Input
Output
HI-Z
01,10,11
10
Input
Output
HI-Z
Output
01,10,11
11
Input
Input
HI-Z
HI-Z
4-Channel Summers
Cascade Input
I IN<19:0>
When in the complex cascade mode the 4-channel summer
re 1 and im 1 are summed with the real and imaginary
cascade inputs. The cascade input allows for more than four
multi-channel transmissions by summing the complex
modulated signals from other device’s. A cascade chain of
four devices allows up to sixteen carriers. Figure 15
illustrates cascading multiple devices. Each device delays it’s
4-channel summation to align with the cascade in from the
previous device. Device Control 0x78, bits 2:1 identifies the
position in the cascade chain. Device Control 0x78, bit 3
zeroes the cascade-in data when the port is not in use. The
output of the summation is saturated to prevent roll-over.
20
>
CASZ
21
MOD(20:0)
>
R
E
G
∑
22
SATURATE
CIRCUITRY
R
E
G
20
I OUT<19:0>
† ALL REGISTERS ARE CLOCKED AT CLK
FIGURE 16. CASCADE INPUT BLOCK DIAGRAM
Output Formatter
The output can be formatted in either twos complement or
offset binary. The OFFBIN pin is used to select the output
format. The output ranges from 0x8001 to 0x7FFF for two’s
complement and from 0x0001 - 0xFFFF for offset binary.
SCLKX
µP
FSRX
SDX
SCLKX
µP
FSRX
SDX
SCLKX
µP
FSRX
SDX
SCLKX
µP
FSRX
SDX
MASTER
ISL5217
QPUC
I OUT <19:0>
Q OUT <19:0>
SYNCO
SLAVE
ISL5217
QPUC
UPDX
Q IN <19:0>
I IN <19:0>
I OUT <19:0>
Q OUT <19:0>
SLAVE
ISL5217
QPUC
UPDX
Q IN <19:0>
I IN <19:0>
I OUT <19:0>
Q OUT <19:0>
SLAVE
ISL5217
QPUC
UPDX
Q IN <19:0>
I IN <19:0>
I OUT <19:0>
Q OUT <19:0>
FIGURE 15. CASCADED QPUCs
Microprocessor Interface
NOTE: See Appendix A, Errata Sheet
The microprocessor interface allows the QPUC to appear as
a memory mapped peripheral to the µP. Configuration data,
I/Q sample data and RAM data can be accessed through
this interface. The interface consists of a 16 bit bidirectional
data bus, P<15:0>, seven bit address bus, A<6:0>, a write
strobe (WR), a read strobe (RD) and a chip enable (CE).
Two µP interface modes are supported through the input pin
RDMODE. When low the device is configured for separate
read and write strobe inputs. When high the device is
configured for a common Read/Write and data strobe inputs.
This mode redefines RD into Read/Write Strobe and WR
into Data Strobe.
The address space is partitioned into five directly accessible
regions, one for top control and one for each of the four
channels. The Device Control space allows for configuration
parameters that effect the entire device, cascade, output
modes, and routing. The channel space allows for
configuration parameters and sample data.
The master registers for the configuration data and I/Q
sample data are located in these areas. There is a master
16
FN6004.3
July 8, 2005
ISL5217
register and slave register pair for each configuration
parameter and I/Q sample. The slave register for the I/Q
samples is the first location of the FIFO. The master
registers are clocked by the µP write strobe, are writable and
cleared by a hard reset. The slave registers are clocked by
device clock, are readable and cleared by either a hard or
soft reset. The transfer of configuration data from the master
register to the slave register can occur synchronously after
an event or immediately after a four clock synchronization
period.
Indirect addressing is used to access the gain profile RAM,
the I coefficients RAM and the Q coefficients RAM. This type
of access relies on loading the RAM data into direct address
0x14 and the RAM address into direct address 0x15. After a
four clock synchronization period of the decoded address
0x15, the contents of the RAM data register is moved to the
address pointed to by the RAM address register. The µP can
perform back-to-back accesses to the RAM data register and
RAM address register, but must maintain four fCLK periods
between accesses to the same address. This limits the
maximum µP access rate for the RAM to
104MHz/4 = 26MHz. The RAM address register defines a
16-bit address space that is partitioned into pages of 256
words by indirect address <9:8>. Indirect address<15>
determines the access type, 1 = read; 0 = write.
The address map and bit field details for the microprocessor
interface is shown in the Tables 10-47. The procedures for
reading and writing to this interface are provided below.
5. Repeat steps 2-4 for all channels.
6. Write control word 0x0c to the final configuration values.
RDMODE
RD
WR
A<6:0>
0xc
P<15:0>
9000
0x78
0x2
0x3
0x4
0x5
FIGURE 17. CONFIGURATION WRITE TRANSFER
Read Access to the Configuration Slave Registers
1. Perform a direct read of a configuration register by
dropping the RD line low to transfer data from the register
selected by A<6:0> onto the data bus P<15:0>.
RDMODE
RD
WR
A<6:0>
0XC
0X78
0X2
0X3
0X4
0X5
P<15:0> HI-Z
DATA VALID
FIGURE 18. CONFIGURATION READ TRANSFER
I/Q Sample Read/Write Procedure
Microprocessor Read/Write Procedure
The QPUC offers the microprocessor read/write access to all
of the configuration working registers, the gain profile RAM,
the I coefficients RAM and the Q coefficients RAM.
RDMODE determines the read/write mode for the
microprocessor interface as detailed in the pin description
table. The following examples have RDMODE set low, which
configures the interface for separate RD and WR strobes.
Write Access to the I/Q Sample Master Registers
2. Enable the parallel input format by clearing bit 15 of the
Serial control register, 0x11.
3. Perform a direct write to Control word 1 by setting up the
address A<6:0>, data P<15:0>, and generating a rising
edge on WR.
Configuration Read/Write Procedure
4. Perform a direct write to Control word 0 by setting up the
address A<6:0>, data P<15:0>, and generating a rising
edge on WR. A write strobe transfers the contents of the
I/Q master registers to the first location of the FIFO.
Write Access to the Configuration Master
Registers
5. Wait 4 clock cycles before performing the next write to the
Q data master register.
Perform a direct write to the configuration master registers
by setting up the address A<6:0>, data P<15:0>, and
generating WR strobe. The overall configuration loading
sequence is as shown. The order of writing to the device
should be maintained as:
Read Access to the I/Q Sample Slave Registers
1. Perform a direct read of the I slave register by dropping
the RD line low to transfer data from the slave register
selected by A<6:0> onto the data bus P<15:0>.
1. Write the Main Control register 0x0c. 0x9000 sets the
immediate update and microprocessor hold bits.
2. Write Device Control 0x78, bit 0 to set the broadcast bit if
writing to multiple channels. Set to 0 when writing to a
single channel.
3. Write all remaining registers sequentially.
4. Load all filter and gain coefficients.
17
FN6004.3
July 8, 2005
ISL5217
Gain Profile RAM Read/Write Procedure
Write Access to the Gain Profile RAM
1. Enable the gain profile hold mode by setting bit 14 of the
Main Control register 0x0c.
2. Load the RAM data to location 0x14.
Write Access to the Coefficient RAMs When I
Equal Q
1. Enable the µP hold mode by setting bit 12 of the Main
Control register 0x0c.
2. Load the RAM data to location 0x14 with the coefficient.
3. Load the RAM write address to location 0x15. A write
strobe transfers the contents of the register at location
0x14 into the RAM location specified by the contents of
the register at location 0x15. (Indirect address[15] =0).
3. Load the RAM write address to location 0x15. A write
strobe transfers the contents of the register at location
0x14 into the RAM location specified by the contents of
the register at location 0x15. (Indirect address[15] =0,
Indirect address[9:8] =’11’).
4. Wait 4 clock cycles before performing the next write to the
RAM data register.
4. Wait 4 clock cycles before performing the next write to the
RAM data register.
5. Repeat steps 2-4.
5. Repeat steps 2-4.
6. Return gain control back to the channel by disabling the
gain profile hold 0x0c, bit 14.
6. Return RAM control back to the channel by disabling the
µP hold mode.
Read Access to the Gain Profile
Read Access to the I Coefficient RAM
1. Enable the gain profile hold mode by setting bit 14 of the
Main Control register 0x0c.
1. Enable the µP hold mode by setting bit 12 of the Main
Control register 0x0c.
2. Load the RAM read address and 0x8000 to location 0x15.
A read strobe transfers the contents of the RAM location
specified by the contents of the register at location 0x15
onto the read bus. (Indirect address[15] =1, Indirect
address[9:8] =’00’).
2. Load the RAM read address and 0x8100 to location 0x15.
A read strobe transfers the contents of the RAM location
specified by the contents of the register at location 0x15
onto the read bus. (Indirect address[15] =1, Indirect
address[9:8] =’01’).
3. Wait 4 clock cycles before performing the next write to the
RAM address register.
3. Wait 4 clock cycles before performing the next write to the
Ram address register.
4. Repeat steps 2-3.
4. Repeat steps 2-3.
5. Return gain control back to the channel by disabling the
gain profile hold 0x0c, bit 14.
5. Return RAM control back to the channel by disabling the
µP hold mode.
Coefficients RAM Read/Write Procedure
(16-bit 2’s Complement Format)
The RAM address used for the I and Q coefficient RAM
depends on the filter. Indirect page 3 is used when the
coefficients are equal. When the coefficients are not equal
indirect page 1 is used.
Write Access to the Coefficient RAMs When I Not
Equal Q
1. Enable the µP hold mode by setting bit 12 of the Main
Control register 0x0c.
2. Load the RAM data to location 0x14 with the Q
coefficient.
3. Load the RAM data to location 0x14 with the I coefficient.
4. Load the RAM write address to location 0x15. A write
strobe transfers the contents of the register at location
0x14 into the RAM location specified by the contents of
the register at location 0x15. (Indirect address[15] =0,
Indirect address[9:8] =’01’).
5. Wait 4 clock cycles before performing the next write to the
RAM data register.
6. Repeat steps 2-5.
7. Return RAM control back to the channel by disabling the
µP hold mode.
18
Read Access to the Q Coefficient RAM
1. Enable the µP hold mode by setting bit 12 of the Main
Control register 0x0c.
2. Load the RAM read address and 0x8200 to location 0x15.
A read strobe transfers the contents of the RAM location
specified by the contents of the register at location 0x15
onto the read bus. (Indirect address[15] =1, Indirect
address[9:8] =’10’).
3. Wait 4 clock cycles before performing the next write to the
RAM address register.
4. After all data has been loaded, return RAM control back
to the channel by disabling the µP hold mode.
Coefficients RAM Read/Write Procedure
(24-bit Floating Point Format)
The 24-bit floating point mode must be enabled by setting bit
12 of control word 0x17. The I and Q coefficients must be
loaded separately in this mode.
Write access to the Coefficient RAMs
1. Enable the µP hold mode by setting bit 12 of the Main
Control register 0x0c and bit 12 of the Test Control
register 0x17.
2. Load the RAM data to location 0x14 with the iCoef<3:0>,
iShift<3:0>, qCoef<3:0>, qShift<3:0>.
FN6004.3
July 8, 2005
ISL5217
3. Load the RAM data to location 0x14 with the
qCoef<19:4>.
4. Load the RAM data to location 0x14 with the
iCoef<19:4>.
5. Load the RAM write address to location 0x15. A write
strobe transfers the contents of the three previously
loaded registers at location 0x14 into the RAM location
specified by the contents of the register at location 0x15.
(Indirect address[15] =0, Indirect address[9:8] =’01’).
6. Wait 4 clock cycles before performing the next write to the
RAM data register.
7. Repeat steps 2-6.
8. Return RAM control back to the channel by disabling the
µP hold mode.
Read Access to the Coefficient RAM
1. Enable the µP hold mode by setting bit 12 of the Main
Control register 0x0c and bit 12 of the Test Control
register 0x17.
2. Load the RAM read address and 0x8X00 to location 0x15.
Three read strobes are required to transfers the contents
of the RAM location specified by the contents of the
register at location 0x15 onto the read bus. Indirect
address[15] =1, Indirect address[9:8] =’01’, reads back the
iCoef value, Indirect address[15] =1, Indirect address[9:8]
=’10’, reads back the qCoef value, Indirect address[15] =1,
Indirect address[9:8] =’11’, reads back the iCoef<3:0>,
iShift<3:0>, qCoef<3:0>, qShift<3:0> value.
3. Wait 4 clock cycles between all of the above writes before
performing the next write to the Ram address register.
4. Repeat steps 2-3.
5. Return RAM control back to the channel by disabling the
µP hold mode.
Channel Status
The present status of the channel is latched by the single
channel µP interface into the Status 0x16 register bits 11:0.
These bits represent the channel flushed, FIR and FIFO
overflow/underflow, FIFO read address, and FIFO almost and
empty flags. 0x16 bits 10:7 and bit 3 are or’ed and latched into
the Device Top Control 0x7e. The bits in 0x7e represent the
fault status of each channel and the saturation status of each
summer. The detection of a FIFO overflow puts the channel in
the off-line mode, unless disabled by assertion of 0x0c, bit 1.
The off-line function takes the channel off-line by forcing the
FIFO read address to ‘000’, which forces 0 data out of the FIFO.
The channel flushed status bit in control word 0x16, may be
monitored to find out when the zeroes have propagated through
the entire channel pipeline chain. The channel flushed status is
asserted 24 sample clocks after entering the off-line mode.
Once a channel fault is latched into the Top control 0x7e, 15:12
a write to this location is required to clear the faulted status.
Reset
There are two types of resets, a hard reset and a soft reset.
A hard reset can occur by asserting the input pin RESET, or
19
by the µP issuing a reset command to the top control register
0x7F, bit 1. A hard reset affects the entire device, leaving the
QPUC in an idle state awaiting configuration. This type of
reset returns the master and slave registers to their default
values, clears the FIFO pointer, the NCO accumulators, the
RAM pointers, and zeroes the data RAM. The data RAM
locations are written with a zero value immediately after the
reset is deasserted.
A soft reset occurs by the µP issuing a reset command to the
channel’s immediate action control register 0xF, bit 1. A soft
reset is similar to the hard reset but does not clear the
master registers and its action is limited only to that channel.
A soft reset leaves the channel in an idle state, awaiting an
update to begin processing.
Update Control
There are several mechanisms for updating slave registers
from the master registers. If hardware UPDX and TXENX will
be used the following control bits should be programmed:
1. Main control register 0x0c bit 5 must be set to 1 to enable
hardware TXENX and UPDX.
2. Serial control register 0x11 bits 7:6 should be
programmed to configure which TXENX a channel will
respond to.
3. Serial control register 0x11 bits 5:4 should be
programmed to configure which UPDX a channel will
respond to.
4. Update Mask control register 0x0e bits 10:1 should be set
to configure which slave registers will be updated from
their corresponding master registers upon a nonimmediate channel update. Those registers with their
update mask bit set to 1 are enabled registers.
The 6 update mechanisms that are described below cause
the slave registers to be updated from the contents of the
corresponding master register.
1. Immediate Update - Set bit 15 of cword 0x0c to a 1 to
implement this mode. In immediate update mode, the
slave register is updated 4 CLKS after the master register
is written (update mask register is ignored).
2. Hardware Update - If the channel hardware update is
enabled, upon assertion of UPDX, the enabled slave
registers are updated.
3. Software Update - Upon assertion of a channel software
update (bit 0 of control register 0x0f), the enabled slave
registers are updated.
4. External Hardware TXENX Assertion - If the channel
hardware txEnable is enabled, upon assertion of TXENX,
the enabled slave registers are updated.
5. Internal Hardware TXENX Assertion - If the internal
hardware txEnable function is enabled (bit 5 of cword
0x0c), upon assertion of the internal TXENX (kicked off
by either type of dynamic channel update as described in
items 3 and 4 above), the enabled slave registers are
updated.
FN6004.3
July 8, 2005
ISL5217
6. Software TXENX Assertion - Upon assertion of a channel
software TXENX (bit 0 of cword 0x0c), the enabled slave
registers are updated.
Starting Sequence
Channel processing begins when the slave register of the
sample frequency and the interpolation phase are updated
with a non-zero value. The sample rate NCO provides the
timing strobes that drive the channel processing logic.
The starting sequence can be applied to one channel,
multiple channels, and multiple devices.
When starting multiple channels through a software update,
a broadcast write, to an immediate action register in the
channel address space asserts an update strobe.
When starting multiple QPUCs through a software update, a
write to the top control immediate action register, 0x78, bit 15
asserts the SYNCO pin. The first chip acts as a master and
is tied to an UPDX pin of the remaining chips.
not at specified levels. During the power-up and power-down
operations, differences in the starting point and ramp rates of
the two supplies may cause current to flow in the isolation
structures which, when prolonged and excessive, can
reduce the usable life of the device. In general, the most
preferred case would be to power-up or down the core and
I/O structures simultaneously. However, it is also safe to
power-up the core prior to the I/O block if simultaneous
application of the supplies is not possible. In this case, the
I/O voltage should be applied within 10 ms to 100 ms
nominally to preserve component reliability. Bringing the
core and I/O supplies to their respective regulation levels in a
maximum time frame of a 100 ms, moderates the stresses
placed on both the power supply and the ISL5217. When
powering down, simultaneous removal is preferred, but It is
also safe to remove the I/O supply prior to the core supply. If
the core power is removed first, the I/O supply should also
be removed within 10-100mS.
A delayed starting sequence of a channel can be realized by
taking advantage of the On line mode defined in Main control
(0xc, bit 6). The On line mode allows µP access to the
RAM’s and allows the NCO’s to operate normally but inhibits
processing by forcing the FIFO data to zero.
JTAG and Built in Self Test
JTAG: The IEEE 1149.1 Joint Test Action Group boundary
scan standard operational codes shown in Table 9 are
supported. A separate application note is available with
implementation details and the BSDL file is available.
TABLE 9. JTAG OP CODES SUPPORTED
INSTRUCTION
OP CODE
EXTEST
0000
IDCODE
0001
SAMPLE/PRELOAD
0010
INTEST
0011
BYPASS
1111
Self test is initiated by resetting the part and then loading a
given configuration register set, filter coefficient set, and gain
profile ramp. Control word 0x78, bit 14 should be set to 1 to
enter the self test mode. Upon assertion of a channel 0
update anded with updateMask bit 15, the device will begin
computing a signature which may then be read back from
control word 0x7d, bits <14:3>. Control word 0x7d, bit 15
reflects the validity (completion) of the test. This bit will be
cleared upon assertion of the 0x78, bit 14 test mode bit or
upon assertion of the channel 0 update and will be set to 1
upon completion of the test.
Power-up Sequencing
The ISL5217 core and I/O blocks are isolated by structures
which may become forward biased if the supply voltages are
20
FN6004.3
July 8, 2005
ISL5217
Absolute Maximum Ratings
Thermal Information
Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +3.8V
Input, Output or I/O Voltage . . . . . . . . . . . . GND -0.5V to VCC +0.5V
ESD Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class I
Thermal Resistance (Typical, Notes 1, 3)
Operating Conditions
Voltage Range Core, VCCC . . . . . . . . . . . . . . . . . . . . +2.4V to +2.6V
Voltage Range I/O, VCCCIO (Note 2) . . . . . . . . . . . +3.15V to +3.45V
Temperature Range
Industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40oC to 85oC
Input Low Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0V to +0.8V
Input High Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2V to VCC
θJA (oC/W)
196 Lead BGA Package. . . . . . . . . . . . . . . . . . . . . .
33
w/200 LFM Air Flow . . . . . . . . . . . . . . . . . . . . . . . . .
29
w/400 LFM Air Flow . . . . . . . . . . . . . . . . . . . . . . . . .
27
Maximum Package Power Dissipation at 85oC
196 Lead BGA Package. . . . . . . . . . . . . . . . . . . . . . . . . . . .1.97W
Maximum Storage Temperature Range . . . . . . . . . . -65oC to 150oC
Maximum Junction Temperature . . . . . . . . . . . . . . . . . . . . . . 150oC
Maximum Lead Temperature (Soldering 10s) . . . . . . . . . . . . 300oC
CAUTION: Stresses above those listed in “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress only rating and operation of the
device at these or any other conditions above those indicated in the operational sections of this specification is not implied.
NOTES:
1. θJA is measured in free air with the component mounted on a high effective thermal conductivity test board with “direct attach” features. See Tech
Brief TB379.
2. Single supply operation of both the core VCCC and I/O VCCIO at 2.5V is allowed. Degradation of the I/O timing should be expected.
3. Tie 196CABGA package rows F, G, H, and J pins 6-9 to heat sink or ground to ensure maximum device heat dissipation.
DC Electrical Specifications VCCC = 2.5 ± 5%, VCCIO = 3.3 ±5%, TA = -40oC to 85oC
PARAMETER
SYMBOL
TEST CONDITIONS
MIN
MAX
UNITS
Logical One Input Voltage
VIH
VCCC = 2.6V, VCCIO = 3.45V
2.0
-
V
Logical Zero Input Voltage
VIL
VCCC = 2.4V, VCCIO = 3.15V
-
0.8
V
Clock Input High
VIHC
VCCC = 2.6V, VCCIO = 3.45V
2.0
-
V
Clock Input Low
VIHL
VCCC = 2.4V, VCCIO = 3.15V
-
0.8
V
Output High Voltage
VOH
IOH = -2mA, VCCC = 2.4V, VCCIO = 3.15V
2.6
-
V
Output Low Voltage
VOL
IOL = 2mA, VCCC = 2.4V, VCCIO = 3.15V
0.4
V
Input Leakage Current
IL
VIN = VCCIO or GND, VCCC = 2.6V, VCCIO = 3.45V
-10
10
µA
Output Leakage Current
IH
VIN = VCCIO or GND, VCCC = 2.6V, VCCIO = 3.45V
-10
10
µA
Input Pull-up Leakage Current Low
ISL
VIN = VCCIO or GND, VCCC = 2.6V, VCCIO = 3.45V,
TMS, TRST, TDI
-500
-
µA
Input Pull-up Leakage Current High
ISH
VIN = VCCIO or GND, VCCC = 2.6V, VCCIO = 3.45V,
TMS, TRST, TDI
-
10
µA
Standby Power Supply Current
ICCSB
VCCC = 2.6V, VCCIO = 3.45V, Outputs Not Loaded
-
5
mA
Operating Power Supply Current
ICCOP
f = 80MHz, VIN = VCCIO or GND,
VCCIO = 3.45V, VCCC = 2.6V
-
540
mA (Note 4)
CIN
Freq = 1MHz, VCCIO Open, All Measurements Are
Referenced to Device Ground
-
7
pF (Note 5)
COUT
Freq = 1MHz, VCCIO Open, All Measurements are
Referenced to Device Ground
-
7
pF (Note 5)
Input Capacitance
Output Capacitance
NOTES:
4. Power Supply current is proportional to operation frequency. Typical rating for ICCOP is 7mA/MHz.
5. Capacitance TA = 25oC, controlled via design or process parameters and not directly tested. Characterized upon initial design and at major
process or design changes.
21
FN6004.3
July 8, 2005
ISL5217
AC Electrical Specifications
VCCC = 2.5 ± 5%, VCCIO = 3.3 ± 5%, TA = -40oC to 85oC (Note 6)
PARAMETER
SYMBOL
MIN
MAX
UNITS
CLK Frequency
f CLK
-
104
MHz
CLK Clock Period
t CLK
9.6
-
ns
CLK High
t CH
3
-
ns
CLK Low
t CL
3
-
ns
Setup Time IIN<19:0> or QIN<19:0> to CLK
t IQISC
5
-
ns
Hold Time IIN<19:0> or QIN<19:0> from CLK
tIQIHC
0
-
ns
Setup Time TXENX to CLK
t TSC
4
-
ns
Hold Time TXENX from CLK
t THC
0
-
ns
Setup Time UPDX to CLK
t USC
4
-
ns
Hold Time UPDX from CLK
t UHC
0
-
ns
Setup Time RESET High to CLK
t RSC
4
-
ns
Hold RESET High from CLK (Note 7)
t RHC
1
-
ns
RESET Low Pulse Width (Note 7)
t RPW
10
-
CLK Cycles
WR Pulse Width High
t WPWH
5
-
ns
WR Pulse Width Low
t WPWL
5
-
ns
WR Pulse Width Low (RDMODE=1)
t WPL1
6
-
ns
Setup Time A<6:0> to WR
t ASW
10
-
ns
Hold Time A<6:0> from WR
t AHW
0
-
ns
Setup Time CS to WR
t CSW
4
-
ns
Hold Time CS from WR
t CHW
0
-
ns
Setup Time P<15:0> to WR
t PSW
8
-
ns
Hold Time P<15:0> from WR
t PHW
0
-
ns
Enable P<15:0> from RD (Note 5)
t PER
-
6
ns
Disable P<15:0> from RD (Note 5)
t PDR
-
6
ns
Setup Time RD to WR (RDMODE=1) (Note 7)
t RSW1
0
-
ns
Hold Time RD from WR (RDMODE=1) (Note 7)
t RHW1
0
-
ns
Setup Time A<6:0> to WR (RDMODE=1)
t ASW1
10
-
ns
Hold Time A<6:0> from WR (RDMODE=1)
t AHW1
0
-
ns
Setup Time CS to WR (RDMODE=1)
t CSW1
4
-
ns
Hold Time CS from WR (RDMODE=1)
t CHW1
0
-
ns
Setup Time P<15:0> to WR (RDMODE=1)
t PSW1
8
-
ns
Hold Time P<15:0> from WR (RDMODE=1)
t PHW1
0
-
ns
Enable P<15:0> from WR or RD (RDMODE=1) (Note 7)
t PEWR1
-
6
ns
Disable P<15:0> from WR or RD (RDMODE=1) (Note 7)
t PDWR1
-
6
ns
Setup Time SDX to SCLKX
t SSS
8
-
ns
Hold Time SDX from SCLKX
t SHS
0
-
ns
tIQOE
-
7
ns
t IQIE
-
8
ns
tIQOD
-
6
ns
t IQID
-
7
ns
IOUT<19:0> or QOUT<19:0> Enable Time from OUTEN<1:0> (Note 7)
IIN<19:0> or QIN<19:0> Enable Time from CLK (Note 7)
IOUT<19:0> or QOUT<19:0> Disable Time from OUTEN<1:0> (Note 7)
IIN<19:0> or QIN<19:0> Disable Time from CLK (Note 7)
22
FN6004.3
July 8, 2005
ISL5217
AC Electrical Specifications
VCCC = 2.5 ± 5%, VCCIO = 3.3 ± 5%, TA = -40oC to 85oC (Note 6) (Continued)
PARAMETER
SYMBOL
MIN
MAX
UNITS
IIN<19:0> or QIN<19:0> Delay Time from CLK
t IQIDC
2
7
ns
IOUT<19:0> or QOUT<19:0> Delay Time from CLK
t IQODC
2
7
ns
IIN<19:0> or QIN<19:0> Valid Time from CLK, 2X Rate
t IQVC2X
2
8
ns
IOUT<19:0> or QOUT<19:0> Valid Time from CLK, 2X Rate
t IQVC2X
2
8
ns
SCLKX Valid Time from CLK, SCLX = CLK
t SVC1X
2
7
ns
SCLKX Valid Time from CLK, SCLX = Divided CLK
tSVC
2
7
ns
ISTRB Delay Time from CLK
t IDC
2
6
ns
FSRX Delay Time from CLK
t FDC
-
7
ns
SYNCO Delay Time from CLK
t SDC
-
9
ns
P<15:0> Delay Time from CLK
t PDC
-
16
ns
P<15:0> Delay Time from A<6:0> or CS
t PDAC
-
20
ns
P<15:0> Delay Time from A<6:0> or CS (RDMODE=1)
t PDAC1
-
20
ns
t RF
-
3
ns
Output Rise/Fall Time (Note 7)
NOTES:
6. AC tests performed with CL = 70pF. Input reference level for CLK is 1.5V, all other inputs 1.5V.
Test VIH = 3.0V, VIHC = 3.0V, VIL = 0V, VOL = 1.5V, VOH = 1.5V.
7. Controlled via design or process parameters and not directly tested. Characterized upon initial design and at major process or design changes.
AC Test Load Circuit
S1
DUT
CL †
±
SWITCH S1 OPEN FOR ICCSB AND ICCOP
† TEST HEAD CAPACITANCE
IOH
1.5V
IOL
EQUIVALENT CIRCUIT
Waveforms
tCLK
tCH
CLK
tCLK = 1 / FCLK
tSVC
tCL
SCLKX
tFDC
CLK
tRSC
tRHC
FSRX
tSSS
tRPW
RESET
tSHS
SDX
FIGURE 19. CLOCK AND RESET TIMING
23
FIGURE 20. SERIAL INTERFACE RELATIVE TIMING
FN6004.3
July 8, 2005
ISL5217
Waveforms
(Continued)
CLK
tIQISC
tIQIHC
IN<19:0>,
QIN<19:0>
VALID
VALID
tSDC
CLK
SYNCO
tIQIDC
tIQIE
tIDC
tIQID
IIN<19:0>,
QIN<19:0>
ISTRB
tPDC
P<15:0>
VALID
OUTEN<1:0>
tUSC, tTSC
tUHC, tTHC
tIQODC
tIQOD
tIQOE
IOUT<19:0>,
QOUT<19:0>
UPDX,
TXENX
FIGURE 21. INPUT/OUTPUT TIMING
FIGURE 22. ENABLE/DISABLE TIMING
CLK
CLK
tIQVC2X
IIN<19:0>,
QIN<19:0>,
IOUT<19:0>,
QOUT<19:0>
tSVC1X
SCLKX
FIGURE 23. MUXED IQ AT 2X OUTPUT TIMING
FIGURE 24. SCLKX OUTPUT TIMING IN 1X MODE
tRSW1
tRHW1
RD (RD/WR)
RD
tWPWL
tWPWL1
tWPWH
WR
WR (DS)
tCSW1
tCSW
tCHW
CS
CS
tASW1
tASW
tAHW
A<6:0>
VALID
A<6:0>
VALID
FIGURE 25. MICROPROCESSOR WRITE TIMING (RDMODE = 0)
24
tAHW1
VALID
tPSW1
tPSW
tPHW
P<15:0>
tCHW1
tPHW1
P<15:0>
VALID
FIGURE 26. MICROPROCESSOR WRITE TIMING (RDMODE = 1)
FN6004.3
July 8, 2005
ISL5217
Waveforms
(Continued)
RD (RD/WR)
RD
WR (DS)
WR
CS
CS
VALID
A<6:0>
VALID
A<6:0>
tPDAC
tPER
tPDR
VALID
P<15:0>
tPDAC1
P<15:0>
FIGURE 27. MICROPROCESSOR READ TIMING (RDMODE = 0)
tPDWR1
tPEWR1
VALID
FIGURE 28. MICROPROCESSOR READ TIMING (RDMODE = 1)
Programming Information
TABLE 10. ISL5217 MEMORY MAP
ADDRESS(6:0)
DEVICE MEMORY MAP
(000 0000) - (001 0111)
0x00 - 0x17
Channel 0
(001 1000) - (001 1111)
0x18 - 0x1f
Undefined
(010 0000) - (011 0111)
0x20-0x37
Channel 1
(011 1000) - (011 1111)
0x38 - 0x3f
Undefined
(100 0000) - (101 0111)
0x40-0x57
Channel 2
(101 1000) - (101 1111)
0x58 - 0x5f
Undefined
(110 0000) - (111 0111)
0x60-0x77
Channel 3
(111 1000) - (111 1111)
0x78-0x7f
Device control
NOTES:
8. Consecutive accesses to the same address require a 4 clock synchronized update to occur before beginning the next accesses.
9. Different direct address locations can be accessed without having to wait for a 4 clock synchronized update to occur.
10. All configuration registers have a master/slave architecture. The master registers are clocked by WR. The slave registers are clocked by CLK.
11. The master registers are writable and cleared by a hard reset. All master registers are located in the SC µP block.
12. The slave registers are readable and cleared by either a hard or soft reset. Refer to the table to determine location of slave registers.
13. Partition indirect address space into pages of 256 words.
14. Decode indirect address <9:8> to determine page, (3 used).
15. Indirect address<14:10> are not used.
16. Indirect address<15> determines access type. 1=read; 0=write.
25
FN6004.3
July 8, 2005
ISL5217
Device Control Registers
TABLE 11. DEVICE CONTROL REGISTER MAP
ADDRESS (6:0)
TYPE
11 1 1000 (0x78)
R/W
11 1 1001 (0x79)
R/W
UPDATE
STROBE
SLAVE
LOCATION
QC µP Intf
QC µP Intf
X
FUNCTION
RESET
DEFAULT
Device Control <15:0>.
0x0000
Device Output Routing Control <15:0>.
0x0000
11 1 1010 (0x7a)
Not Used.
-
11 1 1011 (0x7b)
Not Used.
-
11 1 1100 (0x7c)
Not Used.
-
11 1 1101 (0x7d)
R
QC µP Intf
Bist And Device Revision Code <15:0>.
0x0001
11 1 1110 (0x7e)
R/W
QC µP Intf
Device Status <15:0>.
0x0000
11 1 1111 (0x7f)
W
N/A
Device Immediate Action <15:0>.
0x0000
TABLE 12. BIST and DEVICE REVISION
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x7d
BIT
15
FUNCTION
DESCRIPTION
BIST Valid
Reflects the validity of the Built In Self Test (BIST) signature. The bit is cleared upon assertion or deassertion of the test mode bit in 0x78, bit 14, and set to one upon completion of the BIST. BIST signature
is valid when the bit is one.
14:3
BIST Signature
Built in self test resultant signature.
2:0
Revision Status
Revision status currently 001.
NOTE: Bits listed as reserved should be set to 0 for backwards compatibility.
TABLE 13. DEVICE STATUS
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x7e
BIT
FUNCTION
DESCRIPTION
15
CH3 Summary Fault
FIFO overflow or saturation detected.
14
CH2 Summary Fault
FIFO overflow or saturation detected.
13
CH1 Summary Fault
FIFO overflow or saturation detected.
12
CH0 Summary Fault
FIFO overflow or saturation detected.
11
Output Summary Fault
Saturation detected.
10
Reserved
Not used.
9
Cascade I Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
8
Cascade Q Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
7
Output Summer 4, I Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
6
Output Summer 4, Q Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
5
Output Summer 3, I Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
4
Output Summer 3, Q Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
3
Output Summer 2, I Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
2
Output Summer 2, Q Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
1
Output Summer 1, I Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
0
Output Summer 1, Q Sat
Saturation detected, data saturates to most positive value or most negative value + 1.
NOTES:
17. Channel summary fault is the logical or’ing of channel status <10:7,3>.
18. Clear fault by writing “1” to each summary fault bit (15:11).
19. Channel summary status is cleared as well as the Channel status word.
20. Output summary fault clears top status bits <9:0>.
26
FN6004.3
July 8, 2005
ISL5217
TABLE 14. DEVICE IMMEDIATE ACTION
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x7f
BIT
15:2
FUNCTION
DESCRIPTION
Reserved
Not Used.
1
Reset
Hard Reset. Self clearing pulse zeroes data RAMs, returns master and slave configuration registers to
their default values, etc. The device is in an idle state after reset.
0
Sync Out
Software Sync Out. Self clearing pulse used to synchronize multiple devices. See Figure 3.
Single Channel Direct Control Registers
TABLE 15. SINGLE CHANNEL DIRECT REGISTER MAP
TYPE
UPDATE
STROBE
ALWAYS
UPDATE
IMMEDIATE
SLAVE
LOCATION
00
R/W
X
X
FIFO
I Channel Input or FM <15:0>.
-
01
R/W
X
FIFO
Q Channel input <15:0>.
-
02
R/W
Sample NCO
Fixed Integer divider <31:16> MSW.
0x0000
03
R/W
Sample NCO
Fixed Integer divider <15:0> LSW.
0x0000
04
R/W
Sample NCO
Sample Freq <47:32>, MSW.
0x0000
05
R/W
Sample NCO
Sample Freq <31:16>.
0x0000
06
R/W
X
Sample NCO
Sample Freq <15:0>, LSW.
0x0000
07
R/W
X
Carrier NCO
Carrier Freq static phase offset <15:0>.
0x0000
08
R/W
Carrier NCO
Carrier Freq MSW <15:0>.
0x0000
09
R/W
X
Carrier NCO
Carrier Freq LSW <15:0>.
0x0000
0a
R/W
X
Final Gain
Gain <15:0>.
0x0000
0b
R/W
X
µP Interface
Gain Profile length <8:0>.
0x0000
0c
R/W
X
µP Interface
Main Control <15:0>.
0x0000
0d
R/W
Timing and Cntrl,
Sample NCO,
IQ FIFO, FIR and
Gain
FIR Control <15:0>.
0x0000
0e
R/W
µP Interface
Update Mask <15:0>.
0x0000
0f
W
µP Interface
Immediate Action<15:0>.
0x0000
10
R/W
µP Interface
Polarity Control<15:0>.
0x0000
11
R/W
X
Timing and Cntrl,
Serial Interface
Serial Control <15:0>.
0x0000
12
R/W
X
Serial Interface
I Serial Time slot<15:0>.
0x0000
13
R/W
X
Serial Interface
Q Serial Time slot<15:0>.
0x0000
14
W
µP Interface
RAM Data <15:0>.
0x0000
15
W
µP Interface
RAM Address <15:0>.
-
16
R
µP Interface
Status <15:0>.
0x0000
17
R/W
µP Interface
Test Control<15:0>.
0x0000
Not Used.
0x0000
DIRECT
ADDRESS
(4:0)
X
X
X
X
X
X
18:1F
27
FUNCTION
RESET DEFAULT
FN6004.3
July 8, 2005
ISL5217
TABLE 16. I CHANNEL INPUT OR FM (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x00
BIT
FUNCTION
DESCRIPTION
15:0
I Channel QASK Input or
FM Input
I(15:0). In QASK mode, this is the I input vector. The format is 2’s complement. The MSB is bit 15. The
mixer operation is:
OUT = (I*COS) - (Q*SIN).
In FM mode, this is interpreted as an offset frequency to the center frequency. The modulation index
depends on the mode and the filter coefficients. In FM with post filter mode, the phase change per input
sample can range from -180 to 180 degrees, so the deviation is limited to ±(input sample rate)/2.
TABLE 17. Q CHANNEL INPUT (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x01
BIT
15:0
FUNCTION
Q Channel Input
DESCRIPTION
Q(15:0). In QASK mode, this is the Q input vector. See address 0 above. In FM mode, this input is not
used.
NOTE: Writing to the I channel input generates the update strobe to move the data into the IQ FIFO. Normal write order is Q then I.
TABLE 18. FIXED INTEGER DIVIDER, MSW
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x02
BIT
15:0
FUNCTION
Fixed Integer Divider
DESCRIPTION
FID(31:16) is loaded in this address. See Address 3.
TABLE 19. FIXED INTEGER DIVIDER, LSW
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x03
BIT
15:0
FUNCTION
Fixed Integer Divider
DESCRIPTION
FID(15:0) is loaded in this address. The fixed integer divider is a 32 bit counter clocked at the output clock
rate. The carryout is used to clear the fine and /or coarse phase of the sample rate NCO. Allows fixed
integer sample rates. The fixed integer divider is computed by the formula:
FID (31:0) = INT [fCLK/ fCO]
NOTE: Writing to the LSW generates the update strobe to load the slave configuration reg when in the immediate mode
TABLE 20. SAMPLE FREQUENCY (47:32) MSW
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x04
BIT
15:0
FUNCTION
Sample Rate NCO
DESCRIPTION
SF(47:32) is loaded in this address. See Address 6.
TABLE 21. SAMPLE FREQUENCY (31:16)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x05
BIT
FUNCTION
15:0
Sample Rate NCO
DESCRIPTION
SF(31:16) is loaded in this address. See Address 6.
TABLE 22. SAMPLE FREQUENCY (15:0) LSW
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x06
BIT
FUNCTION
15:0
Sample Rate NCO
DESCRIPTION
SF(15:0) is loaded in this address. The sample rate is controlled by a 48-bit NCO clocked at the output
clock rate. The sample rate is computed by the formula:
SF (47:0) = INT [(fs / fCLK) * 2 48]
NOTE: Writing to the LSW generates the update strobe to load the slave configuration reg when in the immediate mode.
28
FN6004.3
July 8, 2005
ISL5217
TABLE 23. CARRIER PHASE OFFSET (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x07
BIT
15:0
FUNCTION
Carrier Phase Offset
DESCRIPTION
Initializes the most-significant 16-bits of the phase accumulator. The carrier phase offset is computed by
the formula:
Carrier Phase Offset (15:0) = INT [(Phase Offset 0 / 3600 * 232)) /216]
TABLE 24. CARRIER FREQUENCY (31:16) MSW
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x08
BIT
15:0
FUNCTION
Carrier NCO
DESCRIPTION
CF(31:16) is loaded in this address.
TABLE 25. CARRIER FREQUENCY (15:0) LSW
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x09
BIT
15:0
FUNCTION
Carrier NCO
DESCRIPTION
CF(15:0) is loaded in this address. The SIN/COS generator is controlled by a 32-bit NCO clocked at the
output clock rate. The center frequency is computed by the formula:
fC = CF(31:0) x fCLK x 2-32; CF(31:0) = INT(fC/fCLK X 232).
NOTE: Writing to the LSW generates the update strobe to load the slave configuration reg when in the immediate mode
TABLE 26. GAIN
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0a
BIT
15
FUNCTION
DESCRIPTION
Reserved
Not Used.
14:12
Step Atten (2:0)
Select 1 of 8 fixed attenuations
000 - scale by 4096
001 - scale by 256
010 - scale by 32
011 - scale by 16
100 - scale by 8
101 - scale by 4
110 - scale by 2
111 - scale by 1
11:0
Unsigned Gain Multiplier
The gain multiplier is computed by the formula:
Gain(11:0) =[10 |(Gain(db)| / 20 )212]Hex
Bit weight. 2-1 2-2... 2-12
Maximum 0xFFF = 1.0 - 2-12 =0.9998
0x800 = 0.5
0x001 = 2-12
Minimum 0x000 = 0.0
TABLE 27. GAIN PROFILE
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0b
BIT
FUNCTION
DESCRIPTION
8:7
Gain Profile Latency
Set bit 7 high to remove two edge latencies from the delay path. This should be combined DS=3, IP=4
settings to provide perfect symmetry through the gain block. Set bit 8 high to bypass all latency alignment
circuitry and to use TXENX as input to the channel.
6:0
Gain Profile Length
Set to the upper address used for the gain profile RAM.
29
FN6004.3
July 8, 2005
ISL5217
TABLE 28. MAIN CONTROL
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0c
BIT
FUNCTION
DESCRIPTION
15
Immediate Update
(sc conf reg update)
0 = Allows the configuration slave registers to be synchronously updated based the update mask.
1 = Allows µP writes to bypass the update mask and load the selected configuration slave register
immediately from the master, (requires 4 clk synchronization).
14
Gain Profile Hold
Allows µP access to the gain profile RAM. Upon assertion the device will hold the last address and gain
value from the ramp. When deasserted, the gain profile RAM output returns to the ramp address and
value currently loaded. Normal access would be to re-load the coefficients with the gain profile RAM
ramping function having completed (either up or down).
0 = normal access by the hardware.
1 = µP access for loading the gain profile coefficients.
13
Delay Select
0 = no delay.
1 = 1/2 coarse sample delay inserted in the I/Q path after the FIR.
12
µP Hold
Allows µP access to the I and Q coefficient RAMs.
0 = normal access by the hardware.
1 = µP access for loading filter coefficients.
11
TXENX Control
Set to one to enable the internal generation and control of TXENX based on the programmed values of
indirect registers 0x400-0x404 and 0x407. Set to zero (default) to input TXENX externally.
Almost Empty Threshold
(2:0)
Almost Empty Threshold (2:0). FIFO depth threshold (number of data samples in the FIFO - 1) at which
the Almost Empty flag will be asserted, alerting the data source that more input data is required in the
FIFO. The FIFO threshold sets both the I and Q FIFO thresholds. (2) is the MSB.
7
Complex Output Mode
Allows complex data out at the full rate when in 4-ch re output mode. The effect of this setting depends
on the channel.
CH 0 = Over-rides selection of re sum2 and selects im sum1 for output.
CH 1 = n/a.
CH 2 = Over-rides selection of re sum4 and selects im sum3 for output.
CH 3 = n/a.
6
On-Line Mode
0 = Off line - zeroes data from FIFO - (reset FIFO cntrl forces rd_addr to 0 which selects zero value data
for I and Q) This takes 24 sample-clocks to flush the channel. The status bit CH FLUSHED will be
asserted when complete.
1 = On line - allows normal operation of the IQ FIFO’s.
5
Input En
Enables input of selected hw TX_enable and hw Update.
4
Channel Output En
0 = Disables output of channel, clears data to zero.
10:8
1 = Enables output of channel. Passes data.
3
TXENX SIB Control
Disables TXENX control of the Serial Interface Block (SIB) and allows it to continue running independent
of the TXENX signal. Data input should be zeroed during TXENX low time, as the data will continue to be
processed by the SIB.
0 = normal TXENX control of SIB.
1 = TXENX SIB control disabled.
2
TXENX Channel Flush
Disables TXENX control of the channel flushing. Setting this bit will stop the device from flushing the
channel and FIR data RAM with zeroes upon the rising edge of TXENX.
0 = normal TXENX channel flushing.
1 = TXENX will not flush the channel.
1
FIFO Overflow Reset
Disables the FIFO overflow channel reset function. This is only applicable in the parallel input mode.
0 = normal FIFO overflow channel reset.
1 = FIFO overflow channel reset disabled.
0
Sw TX Enable
Rising edge flushes data RAM, (16 clks) and updates configuration slave registers as determined by the
update mask. High level allows serial requests to occur. Low level inhibits additional serial data requests,
(assertion TX frame strobe).
30
FN6004.3
July 8, 2005
ISL5217
TABLE 29. FIR CONTROL
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0d
BIT
FUNCTION
DESCRIPTION
15
Gain Profile Mode
Enables gain profile to slew gain value during transitions of TX enable
14
Clear Sample Phase
When enabled will clear sample phase on immediate update of sample frequency
0 = maintain sample phase
1 = clear sample phase.
13
FM_Mode Disable
Set to 1 to disable the internal FM_Mode signal to the serial interface block. This keeps the I/Q input
sample alignment such that the serial interface block expects both the I and Q time slot counters to count
down to 0 prior to transferring the I/Q samples to the FIFO. Loss of synchronization of the I/Q samples
can occur when switching FM modes without this bit set.
12
Fixed Integer Mode
Enables the fixed integer divider in the sample rate NCO
11:10
Phase Offset (1:0)
The phase accumulator of the sample rate NCO can be offset by increments of 90 degrees.
00 = 00
01 = 900
10 = 1800
11 = 2700
9
Half Band Filter Enable
0=Half Band filter bypassed (default).
1=Half Band filter enabled.
8
Coefficient Switch
Selects second filter coefficients in coefficient RAM.
7:4
Data Span (3:0)
Data Span(3:0). Number of data samples in shaping filter, 4-16. Load with number of data samples minus
1.
3:2
Modulation Type (1:0)
Modulation type(1:0)
00 = QASK - PSK or QAM modulation.
01 = FM post-filtering - Analog FM modulation. Filtering after FM modulation (baseband filtering provided
before ISL5217). In this mode both I and Q filters are used.
10 = FM pre-filtering - FSK, GMSK modulation. Filtering before FM modulation. In this mode, only the I
filter is used.
11 = Invalid state.
1:0
Interpolation Phases
(1:0)
Interpolation Phases(1:0) Number of coarse interpolation phases:
00 = forces coarse and fine phase to zero.
01 = 4.
10 = 8.
11 = 16.
NOTES:
21. QASK mode data flow - FIFO -> shaping filter -> interpolating filter
22. FM post mode data flow - FIFO -> FM modulator -> shaping filter -> interpolating filter
23. FM pre mode data flow - FIFO -> shaping filter -> FM modulator -> interpolating filter
24. The Q FIFO is not used when in the FM mode.
TABLE 30. UPDATE MASK
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0e
BIT
15
FUNCTION
DESCRIPTION
PN-Generator
1 = update, 0 = no update. PN-Generator is synchronously reset via the channel 0 UPDX signal anded
with this mask bit.
Reserved
Not Used.
10
Serial Control,
I and Q Time Slot
1 = Update, 0 = No Update.
9
FIR control
8
Gain
7
Carrier Phase
6
Carrier Freq
14:11
31
FN6004.3
July 8, 2005
ISL5217
TABLE 30. UPDATE MASK (Continued)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0e
BIT
FUNCTION
5
Sample Rate Divider
4
Sample Rate Freq
3
Sample Fine Phase
2
Sample Coarse Phase
1
Routing Control
0
I Strobe
DESCRIPTION
1 = Update, 0 = No Update.
NOTES:
25. The mask register enables the slave registers to be updated from a hardware or software strobe.
26. The mask register is not used when µP is updating a configuration slave register immediately.
27. There is no immediate update on the I strobe.
28. Update mask <1> only affects the top routing control nibble for this channel.
TABLE 31. IMMEDIATE ACTION
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x0f
BIT
15:2
FUNCTION
DESCRIPTION
Reserved
Not used
1
Soft Reset
(Channel Reset)
Soft reset. Self clearing pulse zeroes FIFO’s, zeroes data RAMs, and clears all but the master registers.
The device will reload the slave configuration registers on the next TX enable or update strobe
0
Software Update
(General Update)
Software update Self clearing pulse allows µP write to load all configuration slave registers synchronously
as determined by the update mask. The software equivalent of the hardware Update strobe
TABLE 32. POLARITY CONTROL
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x10
BIT
15:4
3
FUNCTION
DESCRIPTION
Reserved
N/A
Tx Enable Polarity
TX enable polarity
0 = defines an assertion as a transition from a logic low to a logic high
1 = defines an assertion as a transition from a logic high to a logic low
0=
2
Update Polarity
Update polarity.
0 = defines an assertion as a transition from a logic low to a logic high
1 = defines an assertion as a transition from a logic high to a logic low
0=
1
FSR Polarity
1=
Frame strobe polarity.
0 = defines an assertion as a transition from a logic low to a logic high
1 = defines an assertion as a transition from a logic high to a logic low
0=
0
1=
Serial CLK Polarity
Serial clk polarity.
0 = defines an assertion as a transition from a logic low to a logic high
1 = defines an assertion as a transition from a logic high to a logic low
0=
32
1=
1=
FN6004.3
July 8, 2005
ISL5217
TABLE 33. SERIAL CONTROL (13:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x11
BIT
FUNCTION
15
Serial/parallel Data
Select
Selects the source of the symbol data for input.
0 = µP port, (parallel interface)
1 = serial port, (one of four serial ports)
DESCRIPTION
14
Epoch Frame Strobe
Enable
Selects a pre-carry out of the fixed integer divider instead of the serial frame strobe. The pre-carry out is
six clocks ahead of the true carry out. This strobe is used to synchronize fixed integer dividers on other
devices.
0 = serial frame strobe.
1 = epoch frame strobe.
13:10
Serial Clock Rate (3:0)
Clock divider to generate 1 of 16 serial clock rates
0000 = clk/2
1101 = clk/28
0001 = clk/4
1110 = clk/30
0010 = clk/6
1111 = clk/32
9:8
Serial Clock Mode (1:0)
Selects the source for serial TX clock output.
00 = Disables serial clock divider and serial clock out.
01 = Select 1x clock rate.
10 = Select divided clock rate.
11 = Select 32x sample clock rate.
7:6
Select TX Enable (1:0)
Selects the TX enable port. The rising edge flushes data, (16 clks) and updates configuration slave
registers as determined by the update mask. High level allows serial requests to occur. Low level inhibits
additional serial data requests, (assertion of TX frame strobe).
00 = TX enable A.
01 = TX enable B.
10 = TX enable C.
11 = TX enable D.
5:4
Select Update(1:0)
Selects the Update port. The Update strobe is used to update all slave configuration registers as
determined by the update mask.
00 = Update A.
01 = Update B.
10 = Update C.
11 = Update D.
3:2
Serial Word Length (1:0)
Selects the word length of the incoming serial data The value is for one data word and is the same for
both I and Q data.
00 = 16 bits.
01 = 12 bits.
10 = 8 bits.
11 = 4 bits.
1:0
Select Serial Data in (1:0) Selects the serial data in port.
00 = Serial data A.
01 = Serial data B.
10 = Serial data C.
11 = Serial data D.
TABLE 34. I - SERIAL TIME SLOT
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x12
BIT
15:10
9:0
FUNCTION
DESCRIPTION
Reserved
Not Used.
I Time Slot(9:0)
The I - SERIAL TIME SLOT is a 10 bit counter clocked at the serial clock rate. The counter begins on
assertion of the Frame strobe. The carryout determines when a valid I symbol has been shifted in.
TABLE 35. Q - SERIAL TIME SLOT
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x13
BIT
15:10
9:0
FUNCTION
DESCRIPTION
Reserved
Not Used.
Q Time Slot (9:0)
The Q - SERIAL TIME SLOT is a 10 bit counter clocked at the serial clock rate. The counter begins on
assertion of the Frame strobe. The carryout determines when a valid Q symbol has been shifted in.
33
FN6004.3
July 8, 2005
ISL5217
TABLE 35. Q - SERIAL TIME SLOT (Continued)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x13
BIT
FUNCTION
DESCRIPTION
NOTES:
29. When in the QASK mode, the I and Q symbols will not be moved into the FIFO until both have been received.
30. When in the FM mode, the I symbol is moved to the FIFO after it has been shifted in.
31. The order of the I and Q symbols is based on the I and Q time slot values.
TABLE 36. RAM DATA (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x14
BIT
15:0
FUNCTION
RAM Data
DESCRIPTION
Indirect data port for the Gain profile, I and Q coefficients RAMs.
TABLE 37. RAM ADDRESS (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x15
BIT
15:0
FUNCTION
RAM Address
DESCRIPTION
Indirect address port for the Gain profile, I and Q coefficients RAMs. The MSB determines the type of
access. 1 = read 0 = write.
TABLE 38. STATUS (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x16
BIT
15:12
FUNCTION
DESCRIPTION
Reserved
Not Used.
11
Channel Flushed
Indicates zero valued data has propagated through the channel after entering the off-line mode. Counts
24 consecutive FIFO reads after deassertion of on-line control bit, Main Control, 0x0C, bit 6.
10
I FIR Overflow
I FIR accumulator output saturates to most positive value.
9
I FIR Underflow
I FIR accumulator output saturates to most negative value + 1.
8
Q FIR Overflow
Q FIR accumulator output saturates to most positive value.
7
Q FIR Underflow
Q FIR accumulator output saturates to most negative value + 1.
FIFO Read Address
<2:0>
FIFO read address range 0 to 7, 0 = empty, 7 = full.
6:4
3
FIFO Underflow
FIFO read address = 0, FIFO write =0, FIFO read =1.
2
FIFO Overflow
FIFO read address = 7.
1
FIFO Almost Empty
FIFO read address < Almost empty threshold.
0
FIFO Empty
FIFO read address = 0.
NOTES:
32. Status bits <10:7,3> are or’ed and latched by the Top µP interface.
33. Status bits <11:0> are latched by the single channel µP interface.
34. The status register is cleared by writing to the Top status register.
35. Detection of FIFO overflow puts the channel in the off-line mode.
36. The Channel flushed status is be asserted 24 sample clocks after entering the off-line mode.
34
FN6004.3
July 8, 2005
ISL5217
Single Channel Indirect Registers
TABLE 39. SINGLE CHANNEL INDIRECT REGISTER MAP
INDIRECT
ADDRESS
Page
Type
Update
strobe
000 .. 07F
0
R/W
080 .. 0FF
0
100 .. 1FF
1
200 .. 2FF
2
300 .. 3FF
3
R/W
Read Q coefficients.
Write I and Q shaping filter coefficients
when I and Q are equal.
400 .. 407
4
R/W
TXENX programmed cycle values.
408 .. 4FF
4-F
Slave location
FUNCTION
Gain profile
Not used
R/W
Read I coefficients.
Write I and Q shaping filter coefficients
when I and Q are not equal.
Not Used.
Not Used.
TABLE 40. GAIN PROFILE (15:0)
TYPE: SINGLE CHANNEL INDIRECT, ADDRESS RANGE: 0x000-0x07f (PAGE 0)
BIT
15:12
11:0
FUNCTION
DESCRIPTION
Reserved
Not Used.
Gain profile
128 location RAM that multiplies the channel gain in incremental steps at the coarse phase rate. The gain
profile is enabled by control word 0x0d[15]. The address is reset to zero on assertion of the gain profile
enable. The address is incremented by one with each change in coarse phase after assertion of the TX
enable. The address is held upon reaching the upper address used for the gain profile RAM, Gain profile
length 0x0b. On deassertion of the TX enable the gain profile address is decremented back to zero.
Bit weight 20. 2-1 2-2... 2-11
Maximum 0x800 = 1.0
0x001 = 2-11
Minimum 0x000 = 0.0
NOTES:
1. The contents of the last used location must be 0x800, (specified by the gain profile length).
Write access to the Gain Profile RAM:
1. Enable the gain profile hold mode by setting bit 14 of the Main Control register 0x0c.
2. Load the RAM data to location 0x14.
3. Load the RAM write address to location 0x15. A write strobe transfers the contents of the register at location 0x14 into the RAM location
specified by the contents of the register at location 0x15. (Indirect address[15] =0).
4. Wait 4 clock cycles before performing the next write to the RAM data register.
5. Repeat steps 2-4.
6. Return gain control back to the channel by disabling the gain profile hold 0x0c, bit 14.
Read access to the Gain Profile:
1. Enable the gain profile hold mode by setting bit 14 of the Main Control register 0x0c.
2. Load the RAM read address and 0x8000 to location 0x15. A read strobe transfers the contents of the RAM location specified by the contents
of the register at location 0x15 onto the read bus. (Indirect address[15] =1, Indirect address[9:8] =’00’).
3. Wait 4 clock cycles before performing the next write to the RAM address register.
4. Repeat steps 2-3.
5. Return gain control back to the channel by disabling the gain profile hold 0x0c, bit 14.
35
FN6004.3
July 8, 2005
ISL5217
TABLE 41. I AND Q CHANNEL COEFFICIENTS (15:0)
TYPE: SINGLE CHANNEL INDIRECT, ADDRESS RANGE: 0x100-0x1ff (PAGE 1)
BIT
15:0
FUNCTION
Filter coefficient
DESCRIPTION
256 location RAM. Use this page when the I and Q coefficients are different.
NOTES:
Coefficients RAM Read/Write Procedure (16-bit 2’s complement format)
Write access to the Coefficient RAMs when I not equal Q:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM data to location 0x14 with the Q coefficient
3. Load the RAM data to location 0x14 with the I coefficient
4. Load the RAM write address to location 0x15. A write strobe transfers the contents of the register at location 0x14 into the RAM location
specified by the contents of the register at location 0x15. (Indirect address[15] =0, Indirect address[9:8]=”01”).
5. Wait 4 clock cycles before performing the next write to the RAM data register.
6. Repeat steps 2-5.
7. Return RAM control back to the channel by disabling the µP hold mode.
Read access to the I Coefficient RAM:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM read address to location 0x15. A read strobe transfers the contents of the RAM location specified by the contents of the register
at location 0x15 onto the read bus. (Indirect address[15] =1, Indirect address[9:8]=”01”).
3. Wait 4 clock cycles before performing the next write to the RAM address register.
4. Repeat steps 2-3.
5. Return RAM control back to the channel by disabling the µP hold mode.
Read access to the Q Coefficient RAM:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM read address to location 0x15. A read strobe transfers the contents of the RAM location specified by the contents of the register
at location 0x15 onto the read bus. (Indirect address[15] =1, Indirect address[9:8] =’10’).
3. Wait 4 clock cycles before performing the next write to the RAM address register.
4. After all data has been loaded, return RAM control back to the channel by disabling the µP hold mode
Coefficients RAM Read/Write Procedure (24-bit floating point format)
Write access to the Coefficient RAMs:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM data to location 0x14 with the iCoef<3:0>, iShift<3:0>, qCoef<3:0>, qShift<3:0>.
3. Load the RAM data to location 0x14 with the qCoef<19:4>.
4. Load the RAM data to location 0x14 with the iCoef<19:4>.
5. Load the RAM write address to location 0x15. A write strobe transfers the contents of the three previously loaded registers at location 0x14
into the RAM location specified by the contents of the register at location 0x15. (Indirect address[15] =0, Indirect address[9:8] =’01’).
6. Wait 4 clock cycles before performing the next write to the RAM data register.
7. Repeat steps 2-6.
8. Return RAM control back to the channel by disabling the µP hold mode.
Read access to the Coefficient RAM:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM read address to location 0x15. Three read strobes are required to transfers the contents of the RAM location specified by the
contents of the register at location 0x15 onto the read bus. Indirect address[15] =1, Indirect address[9:8] =’01’, reads back the iCoef value,
Indirect address[15] =1, Indirect address[9:8] =’10’, reads back the qCoef value, Indirect address[15] =1, Indirect address[9:8] =’11’, reads
back the iCoef<3:0>, iShift<3:0>, qCoef<3:0>, qShift<3:0> value.
3. Wait 4 clock cycles between all of the above writes before performing the next write to the Ram address register.
4. Repeat steps 2-3.
5. Return RAM control back to the channel by disabling the µP hold mode.
36
FN6004.3
July 8, 2005
ISL5217
TABLE 42. I AND Q CHANNEL COEFFICIENTS (15:0)
BIT
15:0
NOTES:
TYPE: SINGLE CHANNEL INDIRECT, ADDRESS RANGE: 0x300-0x3ff (PAGE 3)
FUNCTION
DESCRIPTION
Filter coefficient
256 location RAM. Use this page when the I and Q coefficients are the same.
Coefficients RAM Read/Write Procedure (2’s complement format only)
Write access to the Coefficient RAMs when I equal Q:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM data to location 0x14 with the coefficient.
3. Load the RAM write address to location 0x15. A write strobe transfers the contents of the register at location 0x14 into the RAM location
specified by the contents of the register at location 0x15. (Indirect address[15] =0, Indirect address[9:8]=”11”).
4. Wait 4 clock cycles before performing the next write to the RAM data register.
5. Repeat steps 2-4.
6. Return RAM control back to the channel by disabling the µP hold mode.
Read access to the Q Coefficient RAM:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the RAM read address to location 0x15. A read strobe transfers the contents of the RAM location specified by the contents of the register
at location 0x15 onto the read bus. (Indirect address[15] =1, Indirect address[9:8]=”11”).
3. Wait 4 clock cycles before performing the next write to the RAM address register.
4. After all data has been loaded, return RAM control back to the channel by disabling the µP hold mode.
TABLE 43. TXENX CONTROL
TYPE: SINGLE CHANNEL INDIRECT, ADDRESS RANGE: 0x400-0x407 (PAGE 4)
INDIRECT
ADDRESS
0x400
0x401
0x402
0x403
0x404 0x406
0x407
NOTES:
FUNCTION
TXENX Cycle 0 Low
TXENX Cycle 0 High
TXENX Cycle 1 Low
TXENX Cycle 1 High
Reserved
TXENX cycle 0 low time count <15:0>.
TXENX cycle 0 high time count <15:0>.
TXENX cycle 1 low time count <15:0>.
TXENX cycle 1 high time count <15:0>.
Not Used.
DESCRIPTION
TXENX Cycle Lengths
FSRMode<1:0>, cycle 1 length<4:0>, cycle 0 length<4:0>
FSRMode affects what is output on the channel FSRX pin, but only if TXENX control, control word 0x0c, bit 11 is set to one. The FSRMode<1:0> is
defined as:
00 No change to FSRX output.
01 No change to FSRX output.
10 FSR = internal channel UPDX.
11 FSR = internal channel TXENX. TXENX SIB control (0x0c, bit 3) must be set when FSRMode 11 is utilized, otherwise a TXENX glitch will be
observed on the rising edge of TXENX.
To start the TXENX cycle function following a reset, the user must provide a normal channel update via one of the 2 possible update mechanisms
(software or hardware). An update also resets all of the TXENX counters and starts the device up in cycle 0 with TXENX high.
Write access to the TXENX cycle controls:
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the data to location 0x14.
3. Load the indirect write address to location 0x15. A write strobe transfers the contents of the register at location 0x14 into the location specified
by the contents of the register at location 0x15. (Indirect address[15] =0).
4. Assert the write strobe again to update the configuration register.
5. Wait 4 clock cycles before performing the next write to the data register.
6. Repeat steps 2-5.
7. Return control back to the channel by disabling the µP hold mode.
Read access to the TXENX cycle controls:
Care should be utilized to only read registers back immediately after writing since loading indirect addr 0x15 with 040X causes 0x040X to get
loaded with indirect register 0x14’s contents.
1. Enable the µP hold mode by setting bit 12 of the Main Control register 0x0c.
2. Load the read address to location 0x15. A read strobe transfers the contents of the RAM location specified by the contents of the register at
location 0x15 onto the read bus. (Indirect address[15] =1).
3. Wait 4 clock cycles before performing the next write to the address register.
4. Return control back to the channel by disabling the µP hold mode.
37
FN6004.3
July 8, 2005
ISL5217
Miscellaneous Control Registers
TABLE 44. TEST CONTROL (15:0)
TYPE: SINGLE CHANNEL DIRECT, ADDRESS: 0x17
BIT
FUNCTION
DESCRIPTION
15
FSRX and SCLKX shut off
FSRX and SCLKX, from default, turn off synchronously to CLK. Set to 1 to enable FSRX and SCLKX
signals to be shut off on the boundary of SCLKX.
Serial Transfer Delay
Set both these bits to allow back-to-back serial transfers by programming the delay for the internal
serial data. Setting 0x17, bit 14 delays the internal serial data bit by the serial clock pipeline latency
through the input pad. Setting 0x17, bit 13 delays and aligns the internal sample_clk_32x to match the
FIFO timing so no dead cycles occur.
12
Filter Coefficient mode
Set to 1 to enable 24-bit floating point mode. Default (reset) mode is 16-bit 2’s complement.
0=2’s complement.
1=24-bit floating point.
11
Reserved
Not used.
10
Pad hold adjustment
Hold select for serial data.
9
Pad Hold Adjustment
Hold select for CS and A[6:0].
8
Pad Hold Adjustment
Hold select for d in of IIN[19:0] and QIN[19:0].
7
PN Gen Enable
Turn on PN Generator.
6
PN Gen Rate
When asserted high forces PN gen to run at the clock rate. When asserted low forces PN gen to run
at the symbol rate
5
Reserved
Not used
4
Straight Thru
Pass FIFO output directly to the int filter, (bypasses the shaping filter and FM generator)
3
Select PN Generator
Select PN generator as the source for FIFO data in
2
Force Edge
Bypass sample NCO control and move data in the shaping and interpolation filter every clock
1
Force FIFO En
Bypass sample NCO control and move data from the FIFO every clock.
0
Force Carrier ROM
Force output of SIN/COS ROM, sin=cos= 0x1FFFF.
14:13
NOTE: Test controls (10:7) are valid for Channel 0 only. They are not used and cleared to zero in channels 1-3.
TABLE 45. DEVICE CONTROL
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x78
BIT
FUNCTION
DESCRIPTION
15
Immediate Update (Top
Cont. Reg Update)
Allows µP writes to bypass the update mask and load the selected top configuration slave register
immediately from the master, (requires 4 CLK synchronization). This update only affects Top Output
Routing Control, 0x79.
14
BIST Mode Control
Built in Self Test (BIST) mode control pin. Set to 1 to enter the BIST test mode.
0=BIST Disabled (default).
1=BIST mode enabled.
Reserved
Not used
10
Output 2X Select
Used to set the muxed I/Q at 2X rate output mode to output data at twice the sample rate. When enabled
the clock is used to select I data when the clock is high and Q data when the clock is low. This bit is only
used in conjunction with Output mode (1:0) = 01, selecting Four channel I data out at 104MHz, (4 x 20)
when disabled, and Muxed I/Q at the 2X rate when enabled.
0 = Disabled
1 = Enabled
9:8
Output Mode (1:0)
Configures output mode of device.a
00 = I and Q cascade in, (2 x 20), I and Q cascade out, (2 x 20)
01 = Four channel I data out at 104MHz, (4 x 20)
10 = Four channel Q data out at 104MHz, (4 x 20)
11 = Four channel muxed I/Q data out at 52MHz, (4 x 20)
14:11
38
FN6004.3
July 8, 2005
ISL5217
TABLE 45. DEVICE CONTROL (Continued)
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x78
BIT
7
FUNCTION
Sync Out Polarity
DESCRIPTION
Sync out polarity
0 = defines a sync assertion as a transition from a logic low to a logic high.
1 = defines a sync assertion as a transition from a logic high to a logic low.
0=
1=
6
Output Enable
Enables data out of the device. Zeroes the data when low.
5
I Strobe Enable
Indicates when I data is output in the muxed I/Q mode.
4
I Strobe Polarity
I strobe polarity.
0 = defines a sync assertion as a transition from a logic low to a logic high. (I out when low)
1 = defines a sync assertion as a transition from a logic high to a logic low. (I out when high)
0=
3
2:1
0
I
Q
1=
I
Q
I
Q
Cascade Input Enable
Enables I and Q cascade data into the device. Zeroes the input buses when low. Set to zero when using
any mode other than Cascade.
Cascade Delay (1:0)
Delays the 4 Ch sum to align with the cascade input summer. A cascade of 4 devices is supported.
00 = No Delay for master.
01 = Delay for first slave.
10 = Delay for second slave.
11 = Delay for last slave.
Broadcast
Enables all four channels to receive current µP write access.
NOTES:
37. There is also a complex output mode available for 4-ch summers 1 and 3 when the cascade feature is not required. This is accomplished by
setting the output mode to 0x01 in the top control register and selecting the complex output mode in the main control register of channel 0 or
channel 2. This mode allows I and Q data to be clocked out in parallel at the full rate. Refer to the Main Control register for further detail.
38. The cascade input of the first device in a cascade chain must be disabled.
TABLE 46. DEVICE OUTPUT ROUTING
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x79
BIT
FUNCTION
DESCRIPTION
OUTPUT MODE
CASCADE
COMPLEX
1
15
Channel 3 Routing Routes channel 3 output to output summer 4.
X
14
Channel 3 Routing Routes channel 3 output to output summer 3.
X
13
Channel 3 Routing Routes channel 3 output to output summer 2.
12
Channel 3 Routing Routes channel 3 output to output summer 1.
11
Channel 2 Routing Routes channel 2 output to output summer 4.
X
10
Channel 2 Routing Routes channel 2 output to output summer 3.
X
9
Channel 2 Routing Routes channel 2 output to output summer 2.
8
Channel 2 Routing Routes channel 2 output to output summer 1.
7
Channel 1 Routing Routes channel 1 output to output summer 4.
X
6
Channel 1 Routing Routes channel 1 output to output summer 3
X
5
Channel 1 Routing Routes channel 1 output to output summer 2
4
Channel 1 Routing Routes channel 1 output to output summer 1
3
Channel 0 Routing Routes channel 0 output to output summer 4
39
COMPLEX
2
COMPLEX
3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
REAL,
IMAG, or
MUXED
X
X
X
X
X
X
FN6004.3
July 8, 2005
ISL5217
TABLE 46. DEVICE OUTPUT ROUTING (Continued)
TYPE: DEVICE CONTROL DIRECT, ADDRESS: 0x79
BIT
FUNCTION
OUTPUT MODE
DESCRIPTION
CASCADE
2
Channel 0 Routing Routes channel 0 output to output summer 3
1
Channel 0 routing
Routes channel 0 output to output summer 2
0
Channel 0 routing
Routes channel 0 output to output summer 1
COMPLEX
1
COMPLEX
2
COMPLEX
3
REAL,
IMAG, or
MUXED
X
X
X
X
X
X
X
X
X
X
X
NOTE:
39. X = Channel routed to output and can be enabled. Enable = 1, disable = 0.
TABLE 47. DEVICE OUTPUT ROUTING CONTROL SUMMARY
FUNCTION
BIT
CH ASSIGNMENT TO OUTPUT SUMMERS
Channel 3 Routing
15:12
Summer 4, Summer 3, Summer 2, Summer 1.
Channel 2 Routing
11:8
Summer 4, Summer 3, Summer 2, Summer 1.
Channel 1 Routing
7:4
Summer 4, Summer 3, Summer 2, Summer 1.
Channel 0 Routing
3:0
Summer 4, Summer 3, Summer 2, Summer 1.
TABLE 48. OUTPUT MODES
OUTPUT
MODE
TRITST
OUTEN
(1:0)
IIN
(19:10)
IIN
(9:0)
QIN
(19:10)
QIN
(9:0)
IOUT
(19:10)
IOUT
(9:0)
QOUT
(19:10)
QOUT
(9:0)
00
0
00
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
Enabled
Enabled
Enabled
00
0
01
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
Enabled
HI-Z
HI-Z
00
0
10
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
Enabled
00
0
11
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
00
1
00
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
00
1
01
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
00
1
10
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
HI-Z
00
1
11
HI-Z
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
HI-Z
HI-Z
01,10,11
0
00
Enabled
Enabled
Enabled
Enabled
Enabled
Enabled
Enabled
Enabled
01,10,11
0
01
Enabled
Enabled
HI-Z
HI-Z
Enabled
Enabled
HI-Z
HI-Z
01,10,11
0
10
HI-Z
HI-Z
Enabled
Enabled
HI-Z
HI-Z
Enabled
Enabled
01,10,11
0
11
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
HI-Z
01,10,11
1
00
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
HI-Z
HI-Z
Enabled
01,10,11
1
01
HI-Z
HI-Z
Enabled
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
01,10,11
1
10
HI-Z
Enabled
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
HI-Z
01,10,11
1
11
Enabled
HI-Z
HI-Z
HI-Z
Enabled
HI-Z
HI-Z
HI-Z
40
FN6004.3
July 8, 2005
ISL5217
TABLE 49. COEFFICIENT ADDRESSES
DS[n]
DS[n-1]
DS[n-2]
DS[n-3]
DS[n-4]
...
DS[n-12]
DS[n-13]
DS[n-14]
DS[n-15]
IP0
0
16
32
48
64
...
192
208
224
240
IP1
1
17
33
49
65
...
193
209
225
241
IP2
2
18
34
50
66
...
194
210
226
242
IP3
3
19
35
51
67
...
195
211
227
243
IP4
4
20
36
52
68
...
196
212
228
244
IP5
5
21
37
53
69
...
197
213
229
245
IP6
6
22
38
54
70
...
198
214
230
246
IP7
7
23
39
55
71
...
199
215
231
247
IP8
8
24
40
56
72
...
200
216
232
248
IP9
9
25
41
57
73
...
201
217
233
249
IP10
10
26
42
58
74
...
202
218
234
250
IP11
11
27
43
59
75
...
203
219
235
251
IP12
12
28
44
60
76
...
204
220
236
252
IP13
13
29
45
61
77
...
205
221
237
253
IP14
14
30
46
62
78
...
206
222
238
254
IP15
15
31
47
63
79
...
207
223
239
255
TABLE 50. REVISION HISTORY
REVISION NUMBER
6004.2
REVISION DATE
February 20, 2003
41
REVISION DESCRIPTION
- Added a NOTE in the Pinout Diagram
- See the note for CS pin description and Microprocessor Interface section
- Figure 11, “Re-sampling NCO Block Diagram” -- corrected bit-weights
- Table 8, “Input/Output Modes” -- corrected
- Corrected the NOTE 3 in “Absolute Maximum Ratings” Table
- Table 49, “Coefficient Addresses” -- corrected
- Appendix A added
FN6004.3
July 8, 2005
ISL5217
Appendix A -- Errata Sheet
Microprocessor Interface Issue
A Chip Select (CS) operational issue has been identified and
isolated to the design of the pad input circuitry in the write
(WR) input cell. Under certain conditions, the combinational
logic contained in the pads allows an internal chip rising
edge write (WR_To_Core) signal to occur when the external
WR pin is high and the CS pin is transitioned from the
inactive high state to the active low state. The combinational
logic contained in the pads is functionally shown in Figure
29.
If after a completed write cycle to the chip, the WR is again
asserted low while CS is inactive high, as would happen if a
write to another device on the bus occurs, the state of the
control logic in the chip is changed such that the next time
CS is asserted low and WR is inactive high, as would
happen at the start of a chip read cycle, an internal
WR_To_Core strobe will be generated and the chip register
corresponding to the state of the address bus at the time of
the falling edge of CS will be inadvertently loaded with the
data present on the data bus P<15:0>.
ALT_WR
WR_PAD
RDMODE
A0
A1
S
Z
ALT_RD
RD_PAD
RDMODE
A0
A1
S
Z
WR_TO_CORE
CS_LATCHED
RD
CS_PAD
D
GN
Q
FIGURE 29. CS SIMPLIFIED SCHEMATIC
RD
WR
CS
Work Arounds
FIGURE 30. READ CYCLE
The recommended work around for the device is to place the
status register address (0x016) or any unused address on
the A<6:0>address bus prior to enabling the device with the
CS line. The excess write will then either clear the device’s
status register or perform a “dummy” write to an unused
address space as the chip is enabled. Care should be
utilized when enabling the CS such that the dummy address
remains on the bus until any CS decoding bounces are
complete.
Alternatively, if system considerations allow, on read
operations the WR could be placed in the active low state
prior to CS being asserted active low per Figure 30. This
would be enveloping the CS signal with the WR signal, thus
preventing the extra write from occurring on the falling edge
of CS. Similarly during a write cycle, the WR could be placed
in the active low state prior to CS being asserted active low
per Figure 31, with the write occurring on the rising edge of
WR.
These work arounds will prevent the occurrence of an
uncontrolled write when CS is asserted low and prevent the
alteration of operational register contents.
Future Revisions
RD
WR
CS
FIGURE 31. WRITE CYCLE
JTAG Testing
The bi-directional type pins cannot be used as inputs in
EXTEST mode, however they do work in SAMPLE mode.
Work Arounds
The test vectors should be written such that the bi-directional
pins are used only as outputs, with the device on the other
end of the line used as the input. Alternatively, the test
vectors can be written such that SAMPLE mode is used
when treating the bi-directional pins as inputs.
Hardware solutions to correct this undesired write have been
reviewed, and the design may be modified to prevent this
occurrence in future versions of the devices. Any such
changes will be backwards compatible to the existing device,
such that the recommended work-arounds will not affect the
operation of the device in existing designs.
42
FN6004.3
July 8, 2005
ISL5217
Plastic Ball Grid Array Packages (BGA)
o
A
A1 CORNER
D
V196.15x15
196 BALL PLASTIC BALL GRID ARRAY PACKAGE
A1 CORNER I.D.
INCHES
SYMBOL
E
B
TOP VIEW
0.15
M C A B
0.006
0.08
M C
0.003
b
A1
CORNER
D1
14 13 12 11 10 9 8 7 6 5 4 3 2 1
A1
A
CORNER I.D.
B
C
D
E
F
G
E1
H
J
K
L
M
N
P
S
A
e
S
A
ALL ROWS AND COLUMNS
MIN
MAX
MILLIMETERS
MIN
MAX
NOTES
A
-
0.059
-
1.50
-
A1
0.012
0.016
0.31
0.41
-
A2
0.037
0.044
0.93
1.11
-
b
0.016
0.020
0.41
0.51
7
D/E
0.587
0.595
14.90
15.10
-
D1/E1
0.508
0.516
12.90
13.10
-
N
196
196
-
e
0.039 BSC
1.0 BSC
-
MD/ME
14 x 14
14 x 14
3
bbb
0.004
0.10
-
aaa
0.005
0.12
Rev. 1 12/00
NOTES:
1. Controlling dimension: MILLIMETER. Converted inch
dimensions are not necessarily exact.
2. Dimensioning and tolerancing conform to ASME Y14.5M-1994.
3. “MD” and “ME” are the maximum ball matrix size for the “D”
and “E” dimensions, respectively.
4. “N” is the maximum number of balls for the specific array size.
5. Primary datum C and seating plane are defined by the spherical crowns of the contact balls.
6. Dimension “A” includes standoff height “A1”, package body
thickness and lid or cap height “A2”.
7. Dimension “b” is measured at the maximum ball diameter,
parallel to the primary datum C.
BOTTOM VIEW
8. Pin “A1” is marked on the top and bottom sides adjacent to A1.
A1
A2
bbb C
9. “S” is measured with respect to datum’s A and B and defines
the position of the solder balls nearest to package centerlines. When there is an even number of balls in the outer row
the value is “S” = e/2.
aaa C
C
A
SEATING PLANE
SIDE VIEW
All Intersil U.S. products are manufactured, assembled and tested utilizing ISO9000 quality systems.
Intersil Corporation’s quality certifications can be viewed at www.intersil.com/design/quality
Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design, software and/or specifications at any time without
notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and
reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result
from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries.
For information regarding Intersil Corporation and its products, see www.intersil.com
43
FN6004.3
July 8, 2005