INTERSIL HSP50214VC

February 2000
Programmable Downconverter
Features
Description
• Up to 52 MSPS Front-End Processing Rates (CLKIN)
and 35 MSPS Back-End Processing Rates (PROCCLK)
Clocks May Be Asynchronous
The HSP50214 Programmable Downconverter converts
digitized IF data into filtered baseband data which can be
processed by a standard DSP microprocessor. The
Programmable Downconverter (PDC) performs down
conversion, decimation, narrowband low pass filtering, gain
scaling, re-sampling, and Cartesian to Polar coordinate
conversion.
• Processing Capable of >100dB SFDR8• Up to 255-Tap Programmable FIR
• Overall Decimation Factor Ranging from 4 to 16384
• Output Samples Rates to ≅8.2 MSP8-S with Output
Bandwidths to ≅625kHz Lowpass
The 14-bit sampled IF input is down converted to baseband
by digital mixers and a quadrature NCO, as shown in the
Block Diagram. A decimating (4 to 32) fifth order Cascaded
Integrator-Comb (CIC) filter can be applied to the data
before it is processed by up to 5 decimate-by-2 halfband filters. The halfband filters are followed by a 255-tap programmable FIR filter. The output data from the programmable FIR
filter is scaled by a digital AGC before being re-sampled in a
polyphase FIR filter. The output section can provide seven
types of data: Cartesian (I, Q), polar (R, θ), filtered frequency
(dθ/dt), timing error (TE), and AGC level in either parallel or
serial format.
• 32-Bit Programmable NCO for Channel Selection and
Carrier Tracking
• Digital Re-Sampling Filter for Symbol Tracking Loops
and Incommensurate Sample-to-Output Clock Ratios
• Digital AGC with Programmable Limits and Sle8- Rate
to Optimize Output Signal Resolution; Fixed or Auto
Gain Adjust
• Serial, Parallel, and FIFO 16-Bit Output Modes
• Cartesian to Polar Converter and Frequency Discriminator for AFC Loops and Demodulation of AM, FM,
FSK, and DPSK
Ordering Information
• Input Level Detector for External I.F. AGC Support
PART
NUMBER
Applications
TEMP.
RANGE (oC)
PACKAGE
PKG. NO.
• Single Channel Digital Software Radio Receivers
HSP50214VC
0 to 70
120 Ld MQFP
Q120.28x28
• Base Station Rx’s: AMPS, NA TDMA, GSM, and CDMA
HSP50214VI
-40 to 85
120 Ld MQFP
Q120.28x28
• Compatible with HSP50210 Digital Costas Loop for
PSK Reception
• Evaluation Platform Available
Block Diagram
MICROPROCESSOR
READ/WRITE
C(7:0)
CONTROL
AGC LOOP FILTER
AGC
SOF
CLKIN
PROCCLK
REFCLK
255-TAP
FIR FILTER
POLYPHASE
FIR AND
HALFBAND
FILTERS
SEROUTA
CARTESIAN
TO
POLAR
COORDINATE
CONVERTER
MAG.
PHASE
Q SYMBOL
CARRIER
NCO
DISCRIMINATOR
RE-SAMPLING
NCO
∆
CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures.
1-888-INTERSIL or 321-724-7143 | Copyright © Intersil Corporation 2000
1
OUTPUT FORMATTER
COF
5TH
ORDER
CIC
FILTER
I SYMBOL
POLYPHASE
FIR AND
HALFBAND
FILTERS
255-TAP
FIR FILTER
GAIN
ADJ
(2:0)
HALFBAND
FILTERS
IN(13:0)
5TH
ORDER
CIC
FILTER
HALFBAND
FILTERS
LEVEL DETECT
INPUT
SECTION
[ /Title
(HSP5
0214)
/Subject
(Programmable
Downconverter)
/Autho
r ()
/Keywords
(Intersil
Semiconductor,
Downconverter,
Down
Converter,
Programmable
Downconverter,
DSP,
AMPS,
TDMA
,
North
American
HSP50214
CT
ODU ODUCT
R
P
PR
TE
OLE TITUTE
S
B
O
UBS
4B
LE S SP5021
B
I
S
H
POS
SEROUTB
AOUT(15:0)
BOUT(15:0)
FREQ
TIMING ERROR
File Number
4266.3
HSP50214
Pinout
120
119
118
117
116
115
114
113
112
111
110
109
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
IN11
IN12
IN13
AGCGNSEL
VCC
REFCLK
GND
OEAH
AOUT15
AOUT14
AOUT13
AOUT12
AOUT11
AOUT10
GND
NC
AOUT9
AOUT8
AOUT7
AOUT6
AOUT5
VCC
NC
AOUT4
AOUT3
AOUT2
AOUT1
AOUT0
GND
OEAL
120 LEAD MQFP
TOP VIEW
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
31
32
33
34
35
36
37
38
39
40
51
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
SYNCOUT
INTRRP
WR
RD
GND
C7
C6
NC
C5
C4
VCC
C3
C2
C1
NC
C0
A2
A1
A0
GND
SEL2
SEL1
SEL0
GND
SEROUTA
SEROUTB
SERSYNC
SEROE
SERCLK
VCC
IN10
IN9
IN8
GND
IN7
NC
IN6
IN5
IN4
IN3
IN2
GND
IN1
IN0
VCC
CLKIN
GND
NC
ENI
GAINADJ2
GAINADJ1
GAINADJ0
COF
COFSYNC
GND
SOF
SOFSYNC
VCC
SYNCIN1
SYNCIN2
2
DATARDY
OEBH
BOUT15
BOUT14
VCC
NC
BOUT13
BOUT12
BOUT11
BOUT10
BOUT9
BOUT8
GND
GND
PROCCLK
VCC
MSYNCI
MSYNCO
GND
BOUT7
BOUT6
BOUT5
GND
BOUT4
NC
BOUT3
BOUT2
BOUT1
BOUT0
OEBL
HSP50214
Pin Descriptions
NAME
TYPE
DESCRIPTION
VCC
-
Positive Power Supply Voltage.
GND
-
Ground.
CLKIN
I
Input Clock. This clock should be a multiple of the input sample rate. All input section processing occurs on the rising edge of CLKIN.
IN(13:0)
I
Input Data. The format of the input data may be set to offset binary or 2’s complement. IN13 is the
MSB (see control word 0).
ENI
I
Input Enable. Active Low. This pin enables the input to the part in one of two modes, gated or interpolated (see control word 0). In gated mode, one sample is taken per CLKIN when ENI is asserted.
GAINADJ(2:0)
I
GAINADJ Input. Adds an offset to the gain via the shifter following the mixer. GAINADJ value is added
to the shift code from the microprocessor (µP) interface. The shift code is saturated to a maximum
code of F. The gain is offset by (6dB)(GAINADJ). (000 = 0dB gain adjust; 111 = 42dB gain adjust)
GAINADJ2 is the MSB. See “Using the Input Gain Adjust Control Signals” section.
PROCCLK
I
Processing Clock. PROCCLK is the clock for all processing functions following the CIC section. Processing is performed on PROCCLK’s rising edge. All output timing is derived from this clock.
NOTE: This clock may be asynchronous to CLKIN.
AGCGNSEL
I
AGC Gain Select. This pin selects between two AGC loop gains. This input is setup and held relative
to PROCCLK. Gain setting 1 is selected when AGCGNSEL = 1.
COF
I
Carrier Offset Frequency Input. This serial input pin is used to load the carrier offset frequency into the
Carrier NCO (see Serial Interface Section). The offset may be 8, 16, 24, or 32 bits. The setup and hold
times are relative to CLKIN. This input is compatible with the output of the HSP50210 Costas loop [1].
COFSYNC
I
Carrier Offset Frequency Sync. This signal is asserted one CLK before the most significant bit (MSB)
of the offset frequency word (see Serial Interface Section). The setup and hold times are relative to
CLKIN. This input is compatible with the output of the HSP50210 Costas loop [1].
SOF
I
Resampler Offset Frequency Input. This serial input pin is used to load the offset frequency into the
Resampler NCO (see Serial Interface Section). The offset may be 8, 16, 24, or 32 bits. The setup and
hold times are relative to PROCCLK. This input is compatible with the output of the HSP50210 Costas
loop [1].
SOFSYNC
I
Resampler Offset Frequency Sync. This signal is asserted one CLK before the MSB of the offset frequency word (see Serial Interface Section). The setup and hold times are relative to PROCCLK. This
input is compatible with the output of the HSP50210 Costas loop [1].
AOUT(15:0)
O
Parallel Output Bus A. Two parallel output sources are available on the HSP50214. The first is called
the Direct Output Port, where the source is selected through control word 20 (see the Microprocessor
Write section) and comes directly from the Output MUX section (see Output Control Section). The
most significant byte of AOUT always outputs the most significant byte of the Parallel Direct Output
Port whose format is selected via µP interface. AOUT15 is the MSB. In this mode, the AOUT(15:0)
bus is updated as soon as data is available. DATARDY is asserted to indicate new data.
The second source for parallel data is called the Buffer RAM Output Port. The Buffer RAM Output
Port acts like a FIFO for blocks of information called data sets. Within a data set is I, Q, magnitude,
phase, and frequency information; a data type is selected using SEL(2:0). Up to 7 data sets are stored
in the Buffer RAM Output Port. The LSBytes of the AOUT and BOUT busses form the 16 bits for the
buffered output mode and can be used for buffered mode while the MSBytes are outputting data in
the direct output mode.
BOUT(15:0)
O
Parallel Output Bus B. Two parallel output sources are available on the HSP50214. The first is called
the Direct Output Port, where the source is selected through control word 20 (see the Microprocessor
Write section) and comes directly from the Output MUX section (see Output Control Section). The
most significant byte of BOUT always outputs the most significant byte of the Parallel Direct Output
Port whose format is selected via µP interface. BOUT15 is the MSB. In this mode, the BOUT(15:0)
bus is updated as soon as data is available. DATARDY is asserted to indicate new data.
The second source for parallel data is called the Buffer RAM Output Port. The Buffer RAM Output
Port acts like a FIFO for blocks of information called data sets. Within a data set is I, Q, magnitude,
phase, and frequency information; a particular information is selected using SEL(2:0). Up to 7 data
sets is stored in the Buffer RAM Output Port. The least significant byte of BOUT can be used to either
output the least significant byte of the B Parallel Direct Output Port or the least significant byte of the
Buffer RAM Output Port. See Output Section.
3
HSP50214
Pin Descriptions
(Continued)
NAME
TYPE
DESCRIPTION
DATARDY
O
Output Strobe Signal. Active low. Indicates when new data from the Direct Output Port section is available. DATARDY is asserted for one PROCCLK cycle during the first clock cycle that data is available
on the parallel out busses. See Output Section.
OEAH
I
Output enable for the MSByte of the AOUT bus. Active Low.
OEAL
I
Output enable for the LSByte of the AOUT bus. Active Low.
OEBH
I
Output enable for the MSByte of the BOUT bus. Active Low.
OEBL
I
Output enable for the LSByte of the BOUT bus. Active Low.
SEL(2:0)
I
Select Address is used to choose which information in a data set from the Buffer RAM Output Port is
sent to the least significant bytes of AOUT and BOUT. SEL2 is the MSB.
INTRRP
O
Interrupt Output. Active low. This output is asserted for 8 PROCCLK cycles when the Buffer RAM Output Port is ready for reading.
SEROUTA
O
Serial Output Bus A Data. I, Q, magnitude, phase, frequency, timing error and AGC information can
be sequenced in programmable order. See Output Section and Microprocessor Write Section.
SEROUTB
O
Serial Output Bus B Data. Contents may be related to SEROUTA. I, Q, magnitude, phase, frequency,
timing error and AGC information can be sequenced in programmable order. See Output Section and
Microprocessor Write Section.
SERCLK
O
Output Clock for Serial Data Out. Derived from PROCCLK as given by control word 20 in the Microprocessor Write Section.
SERSYNC
O
Serial Output Sync Signal. Serves as serial data strobes. See Output Section and Microprocessor
Write Section.
SEROE
I
Serial Output Enable. When high, the SEROUTA, SEROUTB, SERCLK, and SERSYNC signals are
set to a high impedance.
C(7:0)
I/O
A(2:0)
I
Processor Interface Address Bus. See Microprocessor Write Section. A2 is the MSB.
WR
I
Processor Interface Write Strobe. C(7:0) is written to control words selected by A(2:0) in the Programmable Down Converter on the rising edge of this signal. See Microprocessor Write Section.
RD
I
Processor Interface Read Strobe. C(7:0) is read from output or status locations selected by A(2:0)
in the Programmable Down Converter on the falling edge of this signal. See Microprocessor Read
Section.
REFCLK
I
Reference Clock. Used as an input clock for the timing error detector. The timing error is computed
relative to REFCLK. REFCLK frequency must be less than or equal to PROCCLK/2.
MSYNCO
O
Multiple Chip Sync Output. Provided for synchronizing multiple parts when CLKIN and PROCCLK are
asynchronous. MSYNCO is the synchronization signal between the input section operating under
CLKIN and the back end processing operating under PROCCLK. This output sync signal from one
part is connected to the MSYNCI signal of all the HSP50214s.
MSYNCI
I
Multiple Chip Sync Input. The MSYNCI pin of all the parts should be tied to the MSYNCO of one part.
Processor Interface Data Bus. See Microprocessor Write Section. C7 is the MSB.
NOTE: MSYNCI must be connected to an MSYNCO signal for operation.
SYNCIN1
I
CIC Decimation/Carrier NCO Update Sync. Can be used to synchronize the CIC section, carrier NCO
update, or both. See the Multiple Chip Synchronization Section and Control Word 0 in the Microprocessor Write Section. Active High.
SYNCIN2
I
FIR/Timing NCO Update/AGC Gain Update Sync. Can be used to synchronize the FIR, Timing NCO
update, AGC gain update, or any combination of the above. See the Multiple Chip Synchronization
Section and Control Words 7, 8, and 10 in the Microprocessor Write Section. Active High.
SYNCOUT
O
Strobe Output. This synchronization signal is generated by the µP interface for synchronizing multiple
parts. Can be generated by PROCLK or CLKIN (see Control word 0 and Control word 24 in the Microprocessor Write Section). Active High.
4
AGCGNSEL
TO OUTPUT FORMATTER
AND MICROPROCESSOR
INTERFACE
PROCCLK
AGCOUT
LOOP
FILTER
LIMIT
ERROR
DETECT
A
CLKIN
GAINADJ(2:0)
(CO = 1;
Cn = 0)
INTRRP
1 TO 5 HALFBAND FILTER;
DECIMATION UP TO 32
255-TAP
PROGRAMMABLE
FIR FILTER
(DECIMATE UP TO 16)
AGC
SHIFT
COS
SIN
5
(CO = 1;
Cn = 0)
COF
RESAMPLER
AOUT(15:0)
BOUT(15:0)
Q
atan  ---- 
I
DISCRIMINATOR
63-TAP
PROGRAMMABLE
FIR FILTER
dθ
dt
(SYMBOL TRACKING)
SOF
I +Q
2
Q
NCO
(CARRIER TRACKING)
2
INTERPOLATE
BY 2/4
HALFBANDS
SEROUTB
TIMING ERROR
REFCLK
DIFFERENCE
A
MICROPROCESSOR
READ/WRITE
RD
WR
A(2:0)
C(7:0)
CONTROL
SECTION
OUTPUT SECTION
DISCRIMINATOR SECTION
INPUT SECTION
LEVEL DETECT SECTION
SYNCHRONIZATION SECTION
CARRIER NCO SECTIONS
CIC, HALFBAND FILTER, AND FIR SECTIONS
DIGITAL AGC SECTION
RESAMPLER/INTERPOLATION HALFBAND SECTION
TIMING NCO
INTRRP
SEL(2:0)
SEROUTA
NCO
SOFSYNC
OEAH
OEAL
OEBH
OEBL
CLKIN
PROCCLK
FIGURE 1. FUNCTIONAL BLOCK DIAGRAM OF THE HSP50214 PROGRAMMABLE DOWNCONVERTER
AGCOUT
CHIP
SYNCHRONIZATION
CIRCUITRY
SERCLK
SERSYNC
SEROE
MSYNCI
SYNCOUT
MSYNCO
BACK END
SYNCHRONIZATION
CIRCUITRY
SYNCIN2
FRONT END
SYNCHRONIZATION
CIRCUITRY
SYNCIN1
HSP50214
TO
µPROCESSOR
INTERFACE
COFSYNC
DATARDY
OUTPUT FORMATTER
MIXER
5TH ORDER
CIC
DECIMATE
FROM 4-32
I
POLYPHASE
FILTER
LEVEL
DETECT
CARTESIAN
TO
POLAR
POLYPHASE
FILTER
SHIFT
IN(13:0)
INPUT
SECTION
ENI
HSP50214
Functional Description
tion out of the Cartesian to Polar Coordinate converter are
routed to the frequency detector, which is followed by a 63tap, 22-bit coefficient FIR filter structure for facilitating FM and
FSK detection. The 14-bit input resolution is the smallest bit
resolution found throughout the conversion and filtering sections, providing excellent dynamic range in the DSP processing. A unique input gain scaler adds an additional 42dB of
range to the input level variation, to compensate for changes
in the analog RF front end receive equipment. Synchronization circuitry allows precise timing control of the base station
reconfiguration for all receive channels simultaneously. Portions of this table were corroborated with reference [2].
The HSP50214 Programmable Downconverter (PDC) is an
agile digital tuner designed to meet the requirements of a
wide variety of communications industry standards. The
PDC contains the processing functions needed to convert
sampled IF signals to baseband digital samples. These functions include LO generation/mixing, decimation filtering, programmable FIR shaping/bandlimiting filtering, re-sampling,
automatic gain control (AGC), frequency discrimination and
detection as well as multi-chip synchronization. The
HSP50214 interfaces directly with a DSP microprocessor to
pass baseband and status data.
TABLE 1. CELLULAR PHONE BASE STATION APPLICATIONS
USING FDMA
A top level functional block diagram of the HSP50214 is
shown in Figure 1. The diagram shows the major blocks and
multiplexers used to reconfigure the data path for various
architectures. The HSP50214 can be broken into 13 sections: Synchronization, Input, Input Level Detector, Carrier
Mixer/Numerically Control Oscillator (NCO), CIC Decimating
Filter, Halfband Decimating Filter, 255-Tap Programmable
FIR Filter, Automatic Gain Control (AGC), Resampler/Halfband Filter, Timing NCO, Cartesian to Polar Converter, Discriminator, and Output sections. All of these sections are
configured through a microprocessor interface.
STANDARD
AMPS
(IS-91)
RX BAND 824-849
(MHz)
The HSP50214 has three clock inputs; two are required and
one is optional. The input level detector, carrier NCO, and CIC
decimating filter sections operate on the rising edge of the
input clock, CLKIN. The halfband filter, programmable FIR filter, AGC, Resampler/Halfband filters, timing NCO, discriminator, and output sections operate on the rising edge of
PROCCLK. The third clock, REFCLK, is used to generate timing error information.
NOTE: All of the clocks may be asynchronous.
PDC Applications Overview
This section highlights the motivation behind the key programmable features from a communications system level perspective. These motivations will be defined in terms of ability to
provide DSP processing capability for specific modulation formats and communication applications. The versatility of the
Programmable Downconverter can be intimidating because of
the many Control Words required for chip configuration. This
section provides system level insight to help allay reservations
about this versatile DSP product. It should help the designer
capitalize on the greatest feature of the PDC - VERSATILITY
THROUGH PROGRAMMABILITY. It is this feature, when fully
understood, that brings the greatest return on design investment by offering a single receiver design that can process the
many waveforms required in the communications marketplace.
MCS-L1 NMT-400
MCS-L2 NMT-900
C450
ETACS
NTACS
925-940
453-458
890-915
451-456
871-904
915-925
CHANNEL
BW (kHz)
30
25.0
12.5
25
12.5
20.0
10.0
25.0
12.5
# TRAFFIC
CHANNELS
832
600
1200
200
1999
222
444
1240
800
VOICE
MODULATION
FM
FM
FM
FM
FM
PEAK
DEVIATION
(kHz)
12
5
5
4
9.5
CONTROL
MODULATION
FSK
FSK
FSK
FSK
FSK
PEAK
DEVIATION
(kHz)
8
4.5
3.5
2.5
6.4
CONTROL
CHANNEL
RATE
(Kbps)
10
0.3
1.2
5.3
8
TDM Based Standards and Applications
Table 2 provides an overview of some common time division
multiplying (TDM) base station applications to which the
PDC can be applied. For time division multiple access
(TDMA) applications, such as North American TDMA
(IS136), where 30kHz is the received band of interest the
PCS basestation, the PDC offers 0.012Hz frequency resolution in downconversion in addition to α = 0.35 matched (programmable) filtering capability. The π/4 DPSK modulation
can be processed using the PDC Cartesian to Polar coordinate converter and dφ/dt detector circuitry or by processing
the I/Q samples in the DSP µP. The PDC provides the ability
to change the received signal gain and frequency, synchronous with burst timing. The synchronous gain adjustment
allows the user to measure the power of the signal at the A/D
at the end of a burst, and synchronously reload that same
gain value at the arrival of the next user burst.
FDM Based Standards and Applications
Table 1 provides an overview of some common frequency
division multiplex (FDM) base station applications to which the
PDC can be applied. The PDC provides excellent selectivity
for frequency division multiple access (FDMA) signals. This
high selectivity is achieved with 0.012Hz resolution frequency
control of the NCO and the sharp filter responses capable
with a 255-tap, 22-bit coefficient FIR filter. The 16-bit resolu-
For applications other than cellular phones (where the preambles are not changed), the PDC frequency discriminator
output can be used to obtain correlation on the preamble
pattern to aid in burst acquisition.
6
HSP50214
versions of these formats, ASK and FSK are also readily processed using the PDC. Just as in the AM modulated case, ASK
signals will use 15-bit magnitude output of the Cartesian to
Polar Coordinate converter. Multi-tone FSK can be processed
several ways. The frequency information out of the discriminator can be used to identify the received tone, or the filter can be
used to identify and power detect a specific tone of the received
signal. AMPS is an example of a FM application.
TABLE 2. CELLULAR BASESTATION APPLICATIONS USING
TDMA
STANDARD
GSM
PCN
IS-54
TYPE
Cellular
Cellular
Cellular
BASESTATION RX
BAND (MHz)
935-960
1805-1880
824-849
200
200
30
8
16
3
GMSK
GMSK
π/4
CHANNEL BW (kHz)
# TRAFFIC CHANNELS
VOICE MODULATION
PM and PSK
The PDC provides the downconversion, demodulation,
matched filtering and coordinate conversion required for
demodulation of PM and PSK modulated waveforms. These
modulation formats will require external carrier and symbol
timing recovery loop filters to complete the receiver design.
The PDC was designed to interface with the HSP50210 Digital Costas Loop to implement the carrier phase and symbol
timing recovery loop filters.
DPSK
CHANNEL RATE (Kbps)
270.8
270.8
48.6
CONTROL
MODULATION
GMSK
GMSK
π/4
DPSK
CHANNEL RATE (Kbps)
270.8
270.8
48.6
Several applications are combinations of frequency and time
domain multiple access schemes. For example, GSM is a
TDMA signal that is frequency hopped. The individual channels contain Gaussian MSK modulated signals. The PDC
again offers the 0.012Hz tuning resolution for de-hopping the
received signal. The combination of halfband and 256-tap
programmable, 22-bit coefficient FIR filters readily performs
the necessary matched filtering for demodulation and optimum detection of the GMSK signals.
Digital modulation formats that combine amplitude and
phase for symbol mapping, such as m-ary QAM can also be
downconverted, demodulated, and matched filtered. The
received symbol information is provided with 16 bits of resolution in either Cartesian or Polar coordinates to facilitate
remapping into bits and to recover the carrier phase. External Symbol mapping and Carrier Recovery Loop Filtering is
required for this waveform.
Re-Sampling and Interpolation Filters
CDMA Based Standards and Applications
Two key features of the re-sampling FIR filter are that the
resampler filter allows the output sample rate to be programmed with millihertz resolution and that the output sample rate can be phase locked to an independent separate
clock. The resampler frees the front end sampling clocks
from having to be synchronous or integrally related in rate to
the baseband output. The asynchronous relationship
between front end and back end clocks is critical in applications where ISDN interfaces drive the baseband interfaces,
but the channel sample rates are not related in any way. The
interpolation halfband filters can increase the rate of the output when narrow frequency bands are being processed. The
increase in output rate allows maximum use of the programmable FIR while preserving time resolution in the baseband
data.
For Code Division Multiple Access (CDMA) type signals, the
PDC offers the ability to have a single wideband RF front
end, from which it can select a single spread channel of
interest. The synchronization circuitry provides for easy control of multiple PDC for applications where multiple received
signals are required, such as base-stations.
In IS-95 CDMA, the receive signal bandwidth is 1.2288MHz
wide with many spread spectrum channel in the band. Each
spread channel is a QPSK signal. The PDC supplies the
downconversion and filtering required to receive a single
spread channel in the presence of strong adjacent interference. Multiple PDC’s would be sourced from a single receive
RF chain, each processing a different receive frequency
channel. The despreader would usually follow the PDC. In
some very specific applications, with short, fixed codes, the
filtering and despreading may be possible with innovative
use of the programmable, 22-bit coefficient FIR filter. The
PDC offers 0.012Hz resolution on tuning to the desired
receive channel and excellent rejection of the portions of the
band not being processed, via the halfband and 255-tap programmable, 22-bit coefficient FIR filter.
14-Bit Input and Processing Resolution
The PDC maintains a minimum of 14 bits of processing resolution through to the output. Which provides over 84dB of
dynamic range. The 18 bits of resolution on the internal references provide a spurious floor that is better than 98dBc.
Furthermore, the PDC provides up to 42dB of gain scaling to
compensate for any change in gain in the RF front end as
well as up to 96dB of gain in the internal PDC AGC. This
gain maximizes the output resolution for small signals and
compensates for changes in the RF front end gain, to handle
changes in the incoming signal.
Traditional Modulation Formats
AM, ASK, FM and FSK
The PDC has the capability to fully demodulate AM and FM
modulated waveforms. The PDC outputs 15 bits of amplitude or
16 bits of frequency for these modulation formats. The FM discriminator has a 63-tap programmable, 22-bit coefficient FIR filter for additional signal conditioning of the FM signal. Digital
7
HSP50214
reset on SYNCIN2 using Control Word 7, bit 21. The
MSYNCO of one of the PDCs is then used to drive the MSI
of all the PDCs (including its own).
Summary
The greatest feature of the PDC is its ability to be reconfigured to process many common standards in the communications industry. Thus, a single hardware element can receive
and process a wide variety of signals from PCS to traditional
cellular, from wireless local loop to SATCOM. The high resolution frequency tuning and narrowband filtering are instrumental in almost all of the applications.
For application configurations where CLKIN and PROCCLK
have the same source, SYNCIN1 and SYNCIN2 can be tied
together. However, if different enabling is desired for the front
end and backend processing of the PDC’s, these signals can
still be controlled independently.
In summary, SYNCIN1 is used to update phase offset,
update center frequency, reset CIC decimation counters and
reset the carrier NCO (clear the feedback in the NCO).
SYNCIN2 is used to reset the HB filter, FIR filter,
resampler/HB state machines and the output FIFO, load a
new gain into the AGC and load a new resampler NCO center frequency and phase offset.
Multiple Chip Synchronization
Multiple PDCs are synchronized using a MASTER/SLAVE
configuration. One part is responsible for synchronizing the
front end internal circuitry using CLKIN while another part is
responsible for synchronizing the backend internal circuitry
using PROCCLK.
The PDC is synchronized with other PDCs using five control
lines: SYNCOUT, SYNCIN1, SYNCIN2, MSYNCO, and
MSYNCI. Figure 2 shows the interconnection of these five
signals for multiple chip synchronization where different
sources are used for CLKIN and PPOCCLK.
Input Section
The block diagram of the input controller is provided in Figure 3. The input can support offset binary or two’s complement data and can be operated in gated or interpolated
mode (see Control Word 0 from the Microprocessor Write
Section). The gated mode takes one sample per clock when
the input enable (ENI) is asserted. The gated mode allows
the user to synchronize a low speed sampling clock to a high
speed CLKIN.
PDC A is the Master sync through MSO.
PDC B configures the CLKIN sync through SYNCIN1.
PDC A configures the PROCCLK sync through SYNCIN2.
A
B
HSP50214
The interpolated mode allows the user to input data at a low
sample rate and to zero-stuff the data prior to filtering. This
zero stuffing effectively interpolates the input signal up to the
rate of the input clock (CLKIN). This interpolated mode
allows the part to be used at rates where the sampling frequency is above the maximum input rate range of the halfband filter section, and where the desired output bandwidth
is too wide to use a cascaded integrator comb (CIC) filter
without significantly reducing the dynamic range. See Figures 4-7 for an interpolated input example, detailing the
associated spectral results.
HSP50214
(MASTER)MSO
MSI
(MASTER
SYNCIN2) SYNCOUT
MSO
MSI
SYNCOUT
SYNCIN2
SYNCIN2
SYNCIN1
SYNCIN1
(MASTER
SYNCIN1)
ALL OTHER SYNCIN1
ALL OTHER SYNCIN2
Interpolation Example:
ALL OTHER MSI
The specifications for the interpolated input example are:
FIGURE 2. SYNCHRONIZATION CIRCUIT
Input Sample Rate = 5 MSPS
PROCCLK = 28MHz
Interpolate by 8, Decimate by 10
Desired 85dB dynamic range output bandwidth = 500kHz
SYNCOUT for PDC B should be set to be synchronous with
CLKIN (Control Word 0, bit 3 = 0. See the Microprocessor
Write Section). SYNCOUT for PDC B is tied to the SYNCIN1
of all the PDCs. The SYNCIN1 can be programmed so that
the carrier NCO and/or the 5th order CIC filter of all PDCs can
be synchronously loaded/updated using SYNCIN1. See Control Word 0, bits 19 and 20 in the Microprocessor Write Section for details.
Input Level Detector
The Input Level Detector Section measures the average
magnitude error at the PDC input for the microprocessor by
comparing the input level against a programmable threshold and then integrating the result. It is intended to provide
a gain error for use in an AGC loop with either the RF/IF or
A/D converter stages (see Figure 8). The AGC loop
includes Input Level Detector, the microprocessor and an
external gain control amplifier (or attenuator). The input
samples are rectified and added to a threshold programmed via the microprocessor interface, as shown in
Figure 9. The bit weighting of the data path through the
SYNCOUT for one of the other PDC’s besides PDC B,
should be set for PROCCLK (bit 3 = 1 in Control Word 0).
This output signal is tied to the SYNCIN2 of all PDCs. The
SYNCIN2 can be programmed so that the AGC updates its
accumulator with the contents in the master registers (Control Word 8, bit 29 in the Microprocessor Write Section).
SYNCIN2 is also used to load or reset the timing NCO using
bit 5, Control Word 11. The halfband and FIR filters can be
8
HSP50214
cessor interface through Control Word 1. Only the upper 16
bits are programmable. The 2 LSBs are always zero. Control Word 1, bits 29-14 are programmed to:
input threshold detector is shown in Figure 10. The threshold is a signed number, so it should be set to the inverse of
the desired input level. The threshold can be set to zero if
the average input level is desired instead of the error. The
sum of the threshold and the absolute value of the input is
accumulated in a 32-bit accumulator. The accumulator can
handle up to 218 samples without overflow. The integration
time is controlled by an 18-bit counter. The integration
counter preload (ICPrel) is programmed via the micropro-
ICPrel = ( N ) ⁄ 4 + 1
(EQ. 1)
where N is the desired integration period, defined as the
number of input samples to be integrated. N must be a multiple of 4: [0, 4, 8, 12, 16 .... , 218].
INPUT LEVEL DETECTOR †
STATUS (0) †
INPUT_THRESH
INTG_MODE
†
SHIFT
REG
NCO ††
LIMIT
EN
3
GAINADJ(2:0)
DELAY 3
†
∑
4
ENI
INTERP
DELAY 3
†
CONTROL WORD 0
CONTROL WORD 1
BYPASS
4
CIC
INPUT
FORMAT †
REG
REG
REG
INPUT FORMAT
INTG_INTEVAL
IN(13:0)
†
†
MUX
LEVEL
DETECT
CONTROL
LOGIC
CLKIN
INTERP †
OFFSET_BIN †
INPUT_THRESH †
INTG_MODE †
INTG_INTEVAL †
† Controlled via microprocessor interface.
†† See NCO section for more details.
FIGURE 3. BLOCK DIAGRAM OF THE INPUT SECTION
↑8 (0 STUFF) = 40MHz
BYPASS
PROCCLK = 28MHz
MUX
5MHz
CIC
FILTER
MIN. R = 4
4MHz
HB/FIR FILTER
MAX. fS = 4MHz
(EXCEEDED IN
BYPASS PATH)
5MHz
500kHz = 85dB
BANDWIDTH
(NOT ACHIEVED
WITH CIC FILTER
PATH)
CIC FILTER
R = ↓10
HB/FIR FILTER
500kHz = 85dB
BANDWIDTH
Without Interpolation, the CIC bypass path exceeds the HB/FIR filter
input sample rate and the CIC filter path will not yield the desired 85dB
dynamic range band width of 500kHz.
FIGURE 5. BLOCK DIAGRAM OF THE INTERPOLATION
APPROACH
FIGURE 4. STATEMENT OF THE PROBLEM
9
HSP50214
fS
5MHz
2fS
10MHz
3fS
4fS
5fS
6fS
7fS
8fS
15MHz
20MHz
25MHz
30MHz
35MHz
40MHz
THE INPUT DATA SPECTRUM SAMPLED AT RATE R = fS
f’S /8
5MHz
f’s/4
10MHz
3f’S /8
15MHz
f’S /2
20MHz
5f’S /8
25MHz
3f’S /4
30MHz
7f’S /8
35MHz
9fS
45MHz
10fS
50MHz
f’S
40MHz
FIGURE 6. INTERPOLATION SPECTRUM: INTERPOLATE BY 8 THE INPUT DATA WITH ZERO STUFFING; SAMPLE AT RATE R = f’S
4MHz
8MHz 12MHz 16MHz 20MHz 24MHz 28MHz 32MHz 36MHz 40MHz
DECIMATE BY 10 AND CIC FILTER; SAMPLE AT RATE R = f’S/10
85dB DYNAMIC RANGE BANDWIDTH
CIC FILTER
FREQUENCY
RESPONSE
CIC FILTER ALIAS PROFILE
O.5MHz
1MHz
2MHz
3MHz
4MHz
FIGURE 7. ALIAS PROFILE AND THE 85dB DYNAMIC RANGE BANDWIDTH
µPROC
INPUT LEVEL
DETECTOR (24-BIT
ERROR VALUE)
DAC
THRESH
IF
INPUT
A/D
PDC
GCA
FIGURE 8. PROCESSOR BASED EXTERNAL IF AGC
ACCUMULATOR
ADDR(2:0)
32
IN(13:0)
INPUT
GATING
LOGIC
+
|X|
+
CLKIN
INPUT_THRESHOLD †
R
E
G
INTEGRATION_INTERVAL†
16
START †
INTEGRATION_MODE †
“0”
COUNTER
CLKIN
† Controlled via microprocessor interface.
CONTINUOUS
SINGLE
FIGURE 9.
10
R
E
G
R
E
G
24
M
U
X
8
TO
µPROC
HSP50214
Typically, the average input error is read from the Input Level
Detector port for use in AGC applications. By setting the
threshold to 0, however, the average value of the input signal
can be read directly. The calculation is:
The integration period counter can be set up to run
continuously or to count down and stop. Continuous
integration counter operation lets the counter run, with
sampling occurring every time the counter reaches zero.
Because the processor samples the detector read port
asynchronous to the CLKIN, data can be missed unless the
status bit is monitored by the processor to ensure that a
sample is taken for every integration count down sequence.
dBFS RMS = ( 20 ) log [ ( 1.111 ) ( leve l ) ⁄ ( ( N ) ( 16 ) ) ]
where “level” is the 24-bit value read from the 3 level detector registers and “N” is the number of samples to be integrated. Note that to get the average value of a sinusoid,
multiply the RMS value by 1.111. For a full scale input sinusoid, this yields an RMS value of approximately 3dBFS.
A) INPUT SIGNAL
AMPLITUDE
AMPLITUDE
AMPLITUDE
AMPLITUDE
D) ACCUMULATOR INPUTS
F) CLOSED LOOP STEADY STATE
(CONSTANT INPUT)
AMPLITUDE
AMPLITUDE
E) DETECTOR OUTPUT
010
0
218
217
216
215
214
213
212
211
210
29
28
27
26
25
24
23
22
21
20
2-1
2-2
2-3
2-4
B) RECTIFIED SIGNAL
C) THRESHOLD
FIGURE 11. SIGNAL PROCESSING WITHIN LEVEL DETECTOR
Carrier Synthesizer/Mixer
The carrier synthesizer/mixer section of the HSP50214 is
shown in Figure 12. The NCO has a 32-bit phase accumulator, a 10-bit phase offset adder, and a sine/cosine ROM.
The frequency of the NCO is the sum of a center frequency
control word, loaded via the microprocessor interface (Control Word 3, bits 0 to 31), and an offset frequency, loaded
serially via the COF and COFSYNC pins. The offset frequency can be zeroed in Control Word 0, bit 1. Both frequency control terms are 32 bits and the addition is modulo
232. The output frequency of the NCO is computed as:
001
-20
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
.
µPROC READ
PORTS
READ CODE A(2:0)
MAGNITUDE
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
NOTE: 1.111 scales the sinusoid average (2/π) to 1/√2
000
20
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
ACCUMULATOR
20
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
THESHOLD
f
S
-6dB
-12dB
-18dB
-24dB
-30dB
-36dB
-42dB
-48dB
-54dB
-60dB
-66dB
-72dB
-78dB
-84dB
-90dB
INPUT
A/D
OUTPUT
In the count down and stop mode, the microprocessor read
commands can be synchronized to system events, such as
the start of a burst for a TDMA application. The integration
counter can be started at any time by writing to Control Word
2. At the end of the integration period (counter = 0000), the
upper 23 bits of the accumulator are transferred to a holding
register for reading by the microprocessor. Note that it is not
the restarting of the counter (by writing to Control Word 2)
that latches the current value, but the end of the integration
count. When the accumulator results are latched, a bit is set
in the status register to notify the processor. Reading the
most significant byte of the 23 bits clears the status bit. See
the Microprocessor Read Section. Figure 11 illustrates a
typical AGC detection process.
218
217
216
215
214
213
212
211
210
29
28
27
26
25
24
23
22
21
20
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
(EQ. 2)
F C = f IN * N ⁄ ( 2
32
),
(EQ. 3)
or in terms of the programmed value:
N = INT [ F C × 2
32
⁄ F IN ] HEX ,
(EQ. 3A)
where N is the 32-bit sum of the center and offset frequency
terms, fIN is the input sampling frequency, and INT is the
integer of the computation. See the Microprocessor Write
Section on instructions for writing Control Word 3.
FIGURE 10. INPUT THRESHOLD DETECTOR BIT WEIGHTING
11
HSP50214
For example, if N is 3267 (decimal), and fIN is 52MHz, then
FC is 39.55Hz. If received data is modulated at a carrier frequency of 10MHz, then the synthesizer/mixer should be programmed for N = 313B13B1 (hex) or CEC4EC4F(hex).
would produce a phase offset of 11.25o and a value of -512
would produce an offset of 180o. The phase offset is loaded via
the microprocessor interface. See the Microprocessor Write
Section on instructions for writing Control Word 4.
Because the input enable, ENI, controls the operation of the
phase accumulator, the NCO output frequency is computed
relative to the input sample rate, fIN, not to fCLKIN. The frequency control, N, is interpreted as two’s complement
because the output of the NCO is quadrature. Negative frequency L.O.s select the upper sideband; positive frequency
L.O.s select the lower sideband. The range of the NCO is fIN/2 to +fIN/2. The frequency resolution of the NCO is
fIN/(232) or approximately 0.012Hz when CLKIN is 52 MSPS
and ENI is tied low.
The most significant 18 bits from the phase adder are used
as the address a sin/cos look-up table. This look-up table
maps phase into sinusoidal amplitude. The sine and cosine
values have 18 bits of amplitude resolution. The spurious
components in the sine/cosine generation are at least
-96dBc. The sine and cosine samples are routed to the
mixer section whSere they are multiplied with the input samples to translate the signal of interest to baseband.
The mixer multiplies the 14-bit input by the 18-bit quadrature
sinusoids. The mixer equations are:
TO MIXERS
COS
SIN
18 18
REG
REG
CARRIER
PHASE
STROBE †
+
10 R
E
G
R
E
G
PHASE
ACCUMULATOR
REG
ENI
CLEAR
PHASE
ACCUM †
R
E
G
MUX
+
COF
ENABLE †
MUX
32
32
COF
0
CF
REG
COFSYNC
SYNC
CARRIER
LOAD ON
UPDATE†
REG
COF
SHIFT REG
SYNCIN1
SYNC
CIRCUITRY
(EQ. 5A)
The second technique, designed for synchronizing updates
to multiple parts, uses the SYNCIN1 pin to update the active
registers. When Control Word 1, bit 20 is set to 1, the
SYNCIN1 pin causes both the center frequency and phase
offset holding registers to be transferred to active registers.
Additionally, when Control Word 0, bit 0 is set to 1, the feedback in the phase accumulator is zeroed when the transfer
from the holding to active register occurs. This feature provides synchronization of the phase accumulator starting
phase of multiple parts. It can also be used to reset the
phase of the NCO synchronous with a specific event.
CARRIER
FREQUENCY
STROBE †
REG
Q OUT = I IN × sin ( ω c )
To allow the frequency and phase of multiple parts to be
updated synchronously, two sets of registers are used for
latching the center frequency and phase offset words. The
offset phase and center frequency control words are first
loaded into holding registers. The contents of the holding
registers are transferred to active registers in one of two
ways. The first technique involves writing to a specific Control Word Address. A processor write to Control Word 5,
transfers the center frequency value to the active register
while a processor write to Control Word 6 transfers the
phase offset value to the active register.
CARRIER
PHASE
OFFSET †
0
(EQ. 5)
The mixer output is rounded symmetrically to 15 bits.
SIN/COS
ROM
18
I OUT = I IN × cos ( ω c )
CARRIER
FREQUENCY†
† Controlled via microprocessor interface.
FIGURE 12. BLOCK DIAGRAM OF NCO SECTION
The carrier offset frequency is loaded using the COF and
COFSYNC pins. Figure 13 details the timing relationship
between COF, COFSYNC and CLKIN. The offset frequency
word can be zeroed if it is not needed. Similarly, the
Sample Offset Frequency register controlling the resampler
NCO is loaded via the SOF and SOFSYNC pins. The
procedure for loading data through the two pin NCO
interfaces is identical except that the timing of SOF and
SOFSYNC is relative to PROCCLK.
The phase of the Carrier NCO can be shifted by adding a
10-bit phase offset to the MSB’s (modulo 360o) of the output
of the phase accumulator. This phase offset control has a
resolution of 0.35o and can be interpreted as two’s complement from -180o to 180o (-π to π) or as binary from 0 to
360o (0 to 2π). The phase offset is given by:
φ OFF = 2π × ( PO ⁄ 2
10
9
9
) ;( – ( 2 – 1 ) < PO < ( 2 – 1 ) )
(EQ. 4)
or, in terms of the parameter to be programmed:
PO = INT [ ( 2
10
φ OFF ) ⁄ 2π ] HEX ;( – π < φ OFF < π )
(EQ. 4A)
where PO is the 10-bit two’s complement value loaded into the
Phase Offset register (Control Word 4, bits 9-0). For example, a
value of 32 (decimal) loaded into the Phase Offset register
12
HSP50214
CIC Decimation Filter
CLKIN
The mixer output may be filtered with the CIC filter or it may be
routed directly to the halfband filters. The CIC filter is used to
reduce the sample rate of a wideband signal to a rate that the
halfbands and programmable filters can process, given the
maximum computation speed of PROCCLK. (See Halfband
and FIR Filter Sections for techniques to calculate this value.)
COFSYNC/
SOFSYNC
COF/
SOF
OTE:
MSB
LSB
MSB
Data must be loaded MSB first.
Prior to the CIC filter, the output of the mixer goes through a
barrel shifter. The shifter is used to adjust the gain in 6dB
steps to compensate for the variation in filter gain with decimation. (See Equation 6). Fine gain adjustments must be
done in the AGC section. The shifter is controlled by the sum
of a 4-bit CIC Shift Gain word from the microprocessor and a
3-bit gain word from the GAINADJ(2:0) pins. The three bit
value is pipelined to match the delay of the input samples.
The sum of the 3 and 4-bit shift gain words saturates at a
value of 15. Table 3 details the permissible values for the
GAINADJ(2:0) barrel shifter control, while the Figure 15
shows the permissible CIC Shift Gain values.
IGURE 13. SERIAL INPUT TIMING FOR COF AND SOF INPUTS
Each serial word has a programmable word width of either 8,
16, 24, or 32 bits (See Control Word 0, bits 4 and 5, for the
Carrier NCO programming and Control Word 11, bits 3 and
4, for Timing NCO programming). On the rising edge of the
clock, data on COF or SOF is clocked into an input shift register. The beginning of a serial word is designated by asserting either COFSYNC or SOFSYNC “high” one CLK period
prior to the first data bit.
32 †
30
28
26
24 †
22
20
18
16 †
14
12
10
8†
6
4
2
0
The CIC filter structure for the HSP50214 is fifth order; that
is it has five integrator/comb pairs. A fifth order CIC has
84dB of alias attenuation for output frequencies below 1/8
the CIC output sample rate.
CIC SHIFT GAIN (FROM PROCESSOR)
SHIFT COUNTER VALUE
The assertion of the COFSYNC (or SOFSYNC) starts a count
down from the programmed word width. On following CLKs,
data is shifted into the register until the specified number of
bits have been input. At this point the contents of the register
are transferred from the shift register to the respective 32-bit
holding register. The shift register can accept new data on the
following CLK. If the serial input word is defined to be less
than 32 bits, it will be transferred to the MSBs of the 32-bit
holding register and the LSBs of the holding register will be
zeroed. See Figure 14 for details.
ASSERTION OF
COFSYNC, SOFSYNC
DATA TRANSFERRED
TO HOLDING REGISTER
(8)
(24) (32)
(16)
2
6
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
8-BIT INPUT
10-BIT INPUT
12-BIT INPUT
14-BIT INPUT
ALLOWABLE CIC SHIFT
GAINS ARE BELOW THE
CURVES
4
8
12 16 20 24 28 32 36 40 44 48 52 56 60 64
DECIMATION (R)
FIGURE 15. CIC SHIFT GAIN VALUES
10 14 18 22 26 30 34 38 42 46 50 54
CLK TIMES
TD ††
The decimation rate of the CIC filter is programmed in Control
Word 0, bits 12 - 7. The CIC Shift Gain is programmed in Control Word 0, bits 16-13. The CIC Bypass is set in Control Word
0, bit 6.
TD ††
TD ††
TD ††
† Serial word width can be: 8, 16, 24, 32 bits wide.
† TD is determined by the COFSYNC, COFSYNC rate.
TABLE 3. GAIN ADJUST CONTROL AND CIC DECIMATION
∆GAIN VALUE
(dB)
GAIN ADJ(2:0)
MAX. CIC
DECIMATION
0
000
32
6
001
27
12
010
24
18
011
21
24
100
18
NOTE: COF loading and timing is relative to CLKIN while SOF
loading and timing is relative to PROCCLK.
30
101
16
36
110
12
NOTE: TD can be 0, and the fastest rate is with 8-bit word width.
42
111
10
FIGURE 14. HOLDING REGISTERS LOAD SEQUENCE FOR
COF AND SOF SERIAL OFFSET FREQUENCY
DATA
NOTE: Serial Data must be loaded MSB first, and COFSYNC or
SOFSYNC should not be asserted for more than one CLK
cycle.
13
HSP50214
would not drop by 12dB. This fixed gain adjust eliminates the
need for the software to continually normalize.
CIC Gain Calculations
The gain through the CIC filter increases with increased decimation. The programmable barrel shifter that precedes the
first integrator in the CIC is used to offset this variation. Gain
variations due to decimation should be offset using the 4-bit
CIC Shift Gain word. This allows the input signal level to be
adjusted in 6dB steps to control the CIC output level.
One must, exercise care when using this function as it can
cause overflow in the CIC filter. Each gain adjust in the
shifter from the gain adjust control signals is the equivalent
of an extra bit of input. The maximum decimation in the CIC
is reduced accordingly. With a decimation of 32, all 40 bits of
the CIC are needed, so no input offset gain is allowed. As
the decimation is reduced, the allowable offset gain
increases. Table 3 shows the decimation range versus
desired offset gain range. Table 3 assumes that the CIC Shift
Gain has been programmed per Equation 7 or 8A.
The gain at each stage of the CIC is:
(EQ. 6)
where R is the decimation factor and N is the number of stages.
The input to the CIC from the mixer is 15 bits, and the bit widths
of the accumulators for the five stages in the HSP50214 are 40,
36, 32, 32, and 32, as shown in Figure 16. This limits the maximum decimation in the CIC to 32 for a full scale input.
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
For 14 bits, Equation 7 becomes:
5
SG = FLOOR [ 25 – log 2 ( R ) ]for 4 < R < 32
= 15
(EQ. 8A)
fo r R = 4
For 12 bits, Equation 7 becomes:
5
(EQ. 8B)
OUTPUT SHIFTER BITS TAKEN WHEN CIC IS BYPASSED
SG = FLOOR [ 27 – log 2 ( R ) ]for 5 < R < 40
= 15
for 4 ≤ R ≤ 5
For 10 bits, Equation 7 becomes:
5
SG = FLOOR [ 29 – log 2 ( R ) ]for 6 < R < 52
for 4 ≤ R ≤ 6
= 15
(EQ. 8C)
For 8 bits, Equation 7 becomes:
5
SG = FLOOR [ 31 – log 2 ( R ) ]for 9 < R < 64
= 15
(EQ. 8D)
for 4 ≤ R ≤ 9
Figure 15 is plot of Equations 8A through 8D. The 4-bit CIC
Shift Gain word has a range from 0 to 15. The 6-bit Decimation Rate Register, (R-1), has a range from 0 to 63, limited by
the input resolution as cited above.
Using the Input Gain Adjust Control Signals
The input gain offset control GAINADJ(2:0)) is provided to offset
the signal gain through the part, i.e. to keep the CIC filter output
level constant as the analog front end attenuation is changed.
The gain adjust offset is 6dB per code, so the gain adjust range is
0 to 42dB. For example, if 12dB of attenuation is switched in at
the receiver RF front end, a code of 2 would increase the gain at
the input to the CIC filter up 12dB so that the CIC filter output
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
2-24
2-25
2-26
2-27
2-28
2-29
2-30
2-31
2-32
2-33
2-34
2-35
2-36
2-37
2-38
2-39
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
2-24
2-25
2-26
2-27
2-28
2-29
2-30
2-31
2-32
2-33
2-34
2-35
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
2-24
2-25
2-26
2-27
2-28
2-29
2-30
2-31
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
2-24
2-25
2-26
2-27
2-28
2-29
2-30
2-31
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
2-24
2-25
2-26
2-27
2-28
2-29
2-30
2-31
CIC
OUTPUT
ACC5
NOTE: The number of input bits is IIN. (If the number of bits into
the CIC filter used the value 40 replaces 39).
ACC4
(EQ. 7)
ACC3
Thus the value of the CIC Shift Gain word can be calculated:
ACC2
INPUT
(SHFT=0)
If R is 32, the gain through all five integrator stages is 325 = 225.
(The gain through the last four CIC stages it is 220, through the
last 3 it is 215, etc.) The sum of the input bits and the growth
bits cannot exceed the accumulator size. This means that for a
decimation of 32 and 15 input bits, the first accumulator must
be 15 + 25 = 40 bits.
ACC1
The CIC filter decimation counter can be loaded synchronous
with other PDC chips, using the SYNCIN1 signal and the CIC
External Sync Enable bit. The CIC external Sync Enable is set
via Control Word 0, bit 19.
INPUT
(SHFT=15)
N
k = R ,
0
2-1
2-2
2-3
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
2-15
2-16
2-17
2-18
2-19
2-20
2-21
2-22
2-23
FIGURE 16. CIC FILTER BIT WEIGHTING
NOTE: If 14 input bits are not needed, the gain adjust can be increased by one for each bit that the input is shifted down
at the input. For example, if only 12 bits are needed, an
offset range of 24dB is possible for a decimation of 24.
14
HSP50214
Halfband Decimating Filters
HALFBAND
FILTER INPUT
The Programmable Down Converter has five halfband filter
stages, as shown in Figure 17. Each stage decimates by 2
and filters out half of the available bandwidth. The first halfband, or HB1, has 7 taps. The remaining halfbands; HB2,
HB3, HB4, and HB5; have 11, 15, 19, and 23 taps respectively. The coefficients for these halfbands are given in Table
4. Figure 18 shows the frequency response of each of the
halfband filters with respect to normalized frequency, FN.
Frequency normalization is with respect to the input sampling frequency of each filter section. Each stage is activated
by their respective bit location (15-20) in Control Word 7. Any
combination of halfband filters may be used, or all may be
bypassed. Figure 19 details the halfband alias profiles with
respect to normalized frequency FN .
fIN = fS
FN = fIN
HALFBAND FILTER 1
0
CONTROL WORD 7, BIT 15
FHB1 = fS OR fS/2
HALFBAND FILTER 2
0
CONTROL WORD 7, BIT 16
FN = FHB2
1
HALFBAND FILTER 3
(EQ. 9)
†
FHB2 = FHB1 OR FHB1/2
0
CONTROL WORD 7, BIT 17
N
1
FN = FHB1
Since each halfband filter section decimates by 2, the total
decimation through the halfband filter is given by:
DEC HB = 2
†
†
1
FHB3 = FHB2 OR FHB2/2
FN = FHB3
HALFBAND FILTER 4
where N = Number of Halfband Filters Selected (1 - 5).
0
CONTROL WORD 7, BIT 18
†
1
FHB4 = FHB3 OR FHB3/2
FN = FHB4
HALFBAND FILTER 5
CONTROL WORD 7, BIT 19
0
†
1
F5 = FHB4 OR FHB4/2
HALFBAND
FILTER OUTPUT
† Each halfband section decimates by 2
FIGURE 17. BLOCK DIAGRAM OF HALFBAND FILTER
SECTION
0
0
ALIAS
PROFILES
-6dB BANDWIDTH
MAGNITUDE (dB)
MAGNITUDE (dB)
-40
-60
-80
-6dB BANDWIDTH
-20
-20
HALFBAND FILTER 5
HALFBAND FILTER 4
HALFBAND FILTER 3
HALFBAND FILTER 2
HALFBAND FILTER 1
-40
-60
HALFBAND FILTER 5
-80
HALFBAND FILTER 4
HALFBAND FILTER 3
HALFBAND FILTER 2
HALFBAND FILTER 1
-100
-100
-120
-120
0.125
0.25
0.375
0.5
0.125
0.25
0.375
0.5
NORMALIZED FREQUENCY (FN)
NORMALIZED FREQUENCY (FN)
FIGURE 19. HALFBAND FILTER ALIAS CONSIDERATIONS
FIGURE 18. HALFBAND FILTER FREQUENCY RESPONSE
15
HSP50214
TABLE 4. HALFBAND FILTER COEFFICIENTS
COEFFICIENTS
HALFBAND #1
HALFBAND #2
HALFBAND #3
HALFBAND #4
HALFBAND #5
C0
- 0.031303406
0.005929947
-0.00130558
-0.000378609
-0.000347137
C1
0.000000000
0.000000000
-0.000000000
-0.000000000
-0.000000000
C2
0.281280518
-0.049036026
-0.012379646
-0.003810883
-0.00251317
C3
0.499954224
0.000000000
-0.000000000
-0.000000000
-0.000000000
C4
0.281280518
0.29309082
-0.06055069
-0.019245148
-0.010158539
C5
0.000000000
0.499969482
-0.000000000
-0.000000000
-0.000000000
C6
- 0.031303406
0.29309082
-0.299453735
-0.069904327
-0.03055191
C7
0.000000000
-0.499954224
-0.000000000
-0.000000000
C8
-0.049036026
-0.299453735
-0.304092407
-0.081981659
C9
0.000000000
-0.000000000
-0.500000000
-0.000000000
C10
0.005929947
-0.06055069
-0.304092407
-0.309417725
C11
-0.000000000
0.000000000
-0.500000000
C12
-0.012379646
-0.069904327
-0.309417725
C13
-0.000000000
-0.000000000
-0.000000000
C14
-0.00130558
-0.019245148
-0.081981659
C15
-0.000000000
-0.000000000
C16
-0.003810883
-0.03055191
C17
-0.000000000
-0.000000000
C18
-0.000378609
-0.010158539
C19
-0.000000000
C20
-0.00251317
C21
-0.000000000
C22
-0.000347137
NOTE: While Halfband filters are typically selected starting with the last stage in the filter chain to give the maximum alias free
bandwidth, a higher throughput rate may be obtained using other filter combinations. See Application Note 9720, “Calculating Maximum Processing Rates of the PDC”.
Depending on the number of halfbands used, PROCCLK
must operate a some minimum rate above the input sample
rate, FS, to the halfband. This relationship depends on the
number of multiplies for each of the halfband filter stages.
The filter calculations take 3, 4, 5, 6, and 7 multiplies per
input for HB1, HB2, HB3, HB4, and HB5 respectively. If we
keep the assumption that fS is the input sampling frequency,
then Equation 10 shows the minimum ratio needed.
where:
HB1 = 1 if this section is selected and 0 if it is bypassed;
HB2 = 1 if this section is selected and 0 if it is bypassed;
HB3 = 1 if this section is selected and 0 if it is bypassed;
HB4 = 1 if this section is selected and 0 if it is bypassed;
HB5 = 1 if this section is selected and 0 if it is bypassed;
T = number of Halfband Filters Selected. The range for T is
from 0 to 5.
fPROCCLK/fS ≥ ([(7)(HB5)(2HB5)+
Examples of PROCCLK Rate Calculations
(6)(HB4)(2(HB4 + HB5))+
Suppose we enable HB1, HB3, and HB5. Using Figure 16,
HB1= 1, HB3 = 1, and HB5 = 1. Since stage 2 and stage 4
are not used, HB2 and HB4 = 0. PROCCLK must operate
faster than (7x2+5x4+3x8)/8 = 7.25 times faster than fS.
(5)(HB3)(2(HB3+HB4+HB5))+
(4)(HB2)(2(HB2+HB3+ HB4+HB5))+
(3)(HB1)(2(HB1+HB2+HB3+HB4+HB5))]/2T
If all five halfbands are used, then PROCCLK must operate at
(7x2+6x4+5x8+4x16+3x32)/32 = 7.4375 times faster than fS .
(EQ. 10)
16
HSP50214
255-Tap Programmable FIR Filter
TA PS = ( floor [ PROCCLK ⁄ ( F SAMP ⁄ R ) – R ] ) ( 1 +
SYM ) – [ ( SYM ) ( ODD# ) ]
COEFFICIENT VALUE
For real filter configurations, use Equation 11 to calculate the
number of taps available at a given input filter sample rate.
(EQ. 11A)
for real filters, and
TA PS = floor [ (PROCCLK ⁄ ( F SAMP ⁄ R ) – ( R ] ⁄ 2 )]
CN-1
COEFFICIENT
NUMBER
EVEN SYMMETRIC
EVEN TAP FILTER
CN-1
C0
COEFFICIENT
NUMBER
EVEN SYMMETRIC
ODD TAP FILTER
C0
CN-1
COEFFICIENT
NUMBER
CN-1
COEFFICIENT
NUMBER
ODD SYMMETRIC
EVEN TAP FILTER
CN-1
C0
COEFFICIENT
NUMBER
ODD SYMMETRIC
ODD TAP FILTER
C0
CN-1
COEFFICIENT
NUMBER
ASYMMETRIC
ODD TAP FILTER
(EQ. 11B)
REAL FILTERS
IMAGINARY
COEFFICIENT
VALUE
CQ
Use Equation 12 to calculate the maximum input rate.
CQ(N-1)
COEFFICIENT
NUMBER
CQ(0)
CI(N-1)
(EQ. 12A)
CI(0)
REAL C
( SYM ) ( ODD# ) ] ⁄ ( 1 + SYM ) ] ]
OEFFIC
CI
LUE
IENT VA
COMPLEX FILTERS
for real filters, and
F SAMP = [ ( PROCCLK ) ( R ) ] ⁄ [ R + floor [ ( Ta ps ) ( 2 ) ] ] (EQ. 12B)
Definitions:
for complex filters, where floor[x], PROCCLK, FSAMP, R =
Decimation Rate, SYM, and ODD# are defined as in Equation 11.
Use Equation 13 to calculate the maximum output sample
rate for both real and complex filters.
F FIR OUT = ( F SAMP ) ⁄ R
C0
ASYMMETRIC
EVEN TAP FILTER
for complex filters, where floor is defined as the integer portion of a number; PROCCLK is the compute clock; FSAMP =
the FIR input sample rate; R = Decimation Rate; SYM = 1 for
symmetrical filter, 0 for asymmetrical filter; ODD# = 1 for an
odd number of filter taps, 0 = an even number of taps.
F SAMP = ( PROCCLK ) ( R ) ⁄ [ R + [ floor [ ( Ta ps ) +
C0
COEFFICIENT VALUE
COEFFICIENT VALUE
Additionally, the Programmable FIR filter provides for decimation rates, R, from 1 to 16. The processing rate of the Filter Compute Engine is PROCCLK. As a result, the frequency
of PROCCLK must exceed a minimum value to insure that a
filter calculation is complete before the result is required for
output. In configurations which do not use decimation, one
input sample period is available for filter calculation before
an output is required. For configurations which employ decimation, up to 16 input sample periods may be available for
filter calculation.
COEFFICIENT VALUE
COEFFICIENT VALUE
The Programmable FIR filter can be used to implement real
filters with even or odd symmetry, using up to 255 filter taps,
or complex filters with up to 64 taps. The FIR filter takes
advantage of symmetry in coefficients by summing data
samples that share a common coefficient, prior to multiplication. In this manner, two filter taps are calculated per multiply
accumulate cycle. Asymmetric filters cannot share common
coefficients, so only one tap per multiply accumulate cycle is
calculated. The filter can be effectively bypassed by setting
the coefficient C0 = 1 and all other coefficients, CN = 0.
COEFFICIENT VALUE
using Control Word 17 bit 9, then coefficients are loaded
starting with the center coefficient in Control Word 128 and
proceed to last coefficient in Control Word 128+n. The filter
symmetry type can be set to even or odd symmetric, and the
number of filter coefficients can be even or odd, as illustrated
in Figure 20. Note that complex filters can also be realized
but are only allowed to be asymmetric. Only the coefficients
that are used need to be loaded.
(EQ. 13)
Even Symmetric:
Odd Symmetric:
Asymmetric:
Even Tap filter:
Odd Tap filter:
Real Filter:
Complex Filters:
h(n) = h(N-n-1) for n = 0 to N-1
h(n) = -h(N-n-1) for n = 0 to N-1
a filter with no coefficient symmetry
a filter where N is an even number
a filter where N is an odd number
a filter implemented with real coefficients
a filter with quadrature coefficients
FIGURE 20. DEMONSTRATION OF DIFFERENT TYPES OF
DIGITAL FIR FILTERS CONFIGURED IN THE
PROGRAMMABLE DOWNCONVERTER
The coefficients are 22 bits and are loaded using writes to
Control Words 128 through 255 (see Microprocessor Write
Section). For real filters, the same coefficients are used by I
and Q paths. If the filter is configured as a symmetric filter
17
HSP50214
Automatic Gain Control (AGC)
6
The AGC section provides gain to small signals, after the
large signals and out-of-band noise have been filtered out, to
ensure that small signals have sufficient bit resolution in the
Re-Sampling/Interpolating Halfband filters and the Output
Formatter. The AGC can also be used to manually set the
gain. The AGC optimizes the bit resolution for a variety of
input amplitude signal levels. The AGC loop automatically
adds gain to bring small signals from the lower bits of the 26bit programmable FIR filter output into the 16-bit range of the
output section. Without gain control, a signal at -72dBFS =
20log10(2-12) at the input would have only 4 bits of resolution at the output (12 bits less than the full scale 16 bits). The
potential increase in the bit resolution due to processing gain
of the filters can be lost without the use of the AGC.
GAIN - LINEAR AND dB
5
–8
],
3
G (LINEAR)
2
0
0
FIGURE 21. AGC MULTIPLIER LINEAR AND dB TRANSFER
FUNCTION
100
N = 15
N = 13
80
N = 12
N = 11
70
N = 10
N=9
GAIN (dB)
60
N=8
50
N=7
N=6
40
N=5
N=4
30
N=3
20
10
where N, the shifter exponent, has a range of 0>N>15 and
X, the mantissa, has a range of 0>X>(28-1).
0
N=2
N=1
N=0
0
64
128
192
AGC CONTROL WORD (MANTISSA x 256)
Equation 14 can be expressed in dB,
N
N = 14
90
(EQ. 14)
(AGC Mult/Shift Gain)dB = 20log 10 ( 2 [ 1 + ( X )2
16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
AGC CONTROL MANTISSA VALUES (TIMES 256)
The AGC Multiplier/Shifter portion of the AGC is identified in
Figure 23. The gain control from the AGC loop filter is sampled when new data enters the Multiplier/Shifter. The limit
detector detects overflow in the shifter or the multiplier and
saturates the output of I and Q data paths independently.
The shifter has a gain from 0 to 90.31dB in 6.021dB steps,
where 90.31dB = 20log10(2N), when N = 15. The mantissa
provides an additional 6dB of gain in 0.0338dB steps where
6.004dB = 20log10[1+(X)2-8], where X = 28-1. Thus, the
AGC multiplier/shifter transfer function is expressed as:
N
G (dB)
1
Figure 23 shows the block diagram for the AGC Section. The
FIR filter data output is routed to the Re-Sampling and Halfband filters after passing through the AGC multipliers and
shift registers. The outputs of the Interpolating Halfband filters are routed to the Cartesian to Polar coordinate converter. The magnitude output of the coordinate converter is
routed through the AGC error detector, the AGC error scaler
and into the AGC loop filter. This filtered error term is used to
drive the AGC multiplier and shifters, completing the AGC
control loop.
AGC Mult/Shift Gain = 2 [ 1 + ( X )2
4
–8
FIGURE 22. AGC GAIN CONTROL TRANSFER FUNCTION
])
(EQ. 14A)
The Cartesian to Polar Coordinate converter accepts I and Q
data and generates magnitude and phase data. The magnitude output is determined by the equation:
The full AGC range of the Multiplier/Shifter is from 0 to
96.314dB (20log10[1+(28-1)2-8] + 20log10[215] = 96.314).
Figure 21 illustrates the transfer function of the AGC multiplier versus mantissa control for N = 0. Figure 22 illustrates
the complete AGC Multiplier/Shifter Transfer function for all
values of exponent and mantissa control.
˙2
2
r = 1.64676 I + Q .
(EQ. 15)
where the magnitude limits are determined by the maximum
I and Q signal levels into the Cartesian to Polar converter.
Taking fractional 2’s complement representation, magnitude
ranges from 0 to 2.329, where the maximum output is
˙ 2
2
r = 1.64676 ( 1.0 ) + ( 1.0 ) = 1.64676 × 1.414 = 2.329 .
The AGC loop feedback path consists of an error detector,
error scaling, and an AGC loop filter. The error detector subtracts the magnitude output of the coordinate converter from
18
HSP50214
the programmable AGC THRESHOLD value. The bit weighting of the AGC THRESHOLD value (Control Word 8, bits 1628) is shown in Table 5. Note that the MSB is always zero.
The range of the AGC THRESHOLD value is 0 to 7.9995.
The AGC Error Detector output has the identical range.
TABLE 6A. AGC LIMIT EXPONENT vs GAIN
GAIN(dB)
EXPONENT
MANTISSA
96.330
15
511
90.309
15
0
84.288
14
0
78.268
13
0
72.247
12
0
66.227
11
0
60.206
10
0
54.185
9
0
48.165
8
0
42.144
7
0
36.124
6
0
30.103
5
0
24.082
4
0
18.062
3
0
12.041
2
0
6.021
1
0
0.000
0
0
TABLE 5. AGC THRESHOLD (CONTROL WORD 8) BIT
WEIGHTING
28
27
26
25
24
23
22
21
20
19
18
17
16
22
21
20. 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10
The loop gain is set in the AGC Error Scaling circuitry, using
the two programmable mantissas and exponents. The mantissa, M, is a 4-bit value which weights the loop filter input
from 0.0 to 0.9375. The exponent, E, defines a shift factor
that provides additional weighting from 20 to 2-15 Together
the mantissa and exponent define the loop gain as given by,
AGC Loop Gain = M LG 2
–4
2
– ( 15 – E LG )
(EQ. 16)
where MLG is a 4-bit binary value ranging from 0 to 15, and
ELG is a 4-bit binary value ranging from 0 to 15. Table 7 and
8 detail the binary values and the resulting scaling effects of
the AGC Scaling mantissa and exponent. The composite
(shifter and multiplier) AGC scaling Gain range is from
0.0000 to 2.329(0.9375)20 = 0.0000 to 2.18344. The scaled
gain error can range (depending on threshold) from 0 to
2.18344, which maps to a “gain change per sample” range
of 0 to 3.275dB/sample.
TABLE 6B. AGC LIMIT MANTISSA vs GAIN
GAIN(dB)
EXPONENT
MANTISSA
6.000
0
509
5.750
0
480
The AGC Gain mantissa and exponent values are programmed into Control Word 8, bits 0-15. The PDC provides
for the storing of two values of AGC Scaling Gain (both exponent and mantissa). This allows for quick adjustment of the
loop gain by simply asserting the external control line
AGCGNSEL. When AGCGNSEL = 0, then AGC GAIN 0 is
selected, and when AGCGNSEL = 1, AGC Loop Gain 1 is
selected. Possible applications include acquisition/tracking,
no burst present/burst present, strong signal/weak signal,
track/hold, or fast/slow AGC values.
5.500
0
452
5.250
0
425
5.000
0
398
4.750
0
372
4.500
0
347
4.250
0
323
4.000
0
299
3.750
0
276
3.500
0
254
The AGC loop filter consists of an accumulator with a built in
limiting function. The maximum and minimum AGC gain limits are provided to keep the gain within a specified range and
are programed by 12-bit control words using the following
the equation:
3.250
0
232
3.000
0
211
2.750
0
190
2.500
0
170
2.250
0
151
2.000
0
132
1.750
0
114
1.500
0
96
1.250
0
79
1.000
0
62
0.750
0
46
0.500
0
30
0.250
0
14
0.020
0
1
AGC Gain Limit = ( 1 + m AG C 2
–9
)2
e
(EQ. 17)
( AGC Gain Limit )dB = ( 6.02 ) ( eeee ) + 20 log ( 1.0 + 0.eeeeeeee )
(EQ. 17A)
where m is an 8-bit mantissa value between 0 and 511, and e
is the 4-bit exponent ranging from 0 to 15. Control Word 9, bits
16-27 are used for programming the upper limit, while bits 011 are used to program the lower threshold. The ranges and
format for these limit values are shown in Tables 6A - C. The
bit weightings for the AGC Loop Feedback elements is
detailed in Table 9.
TABLE 6C. AGC LIMIT DATA FORMAT
CONTROL WORD 9 BIT:
27
26
25
24
23
22
21
20
19
18
17
16
FORMAT
e
e
e
e
m
m
m
m
m
m
m
m
19
HSP50214
SHIFT
LIMITER
13
+
13
EXP
MANTISSA
4
MSB = 0
LIMIT
DET
EXP=2NNNN
9
MANTISSA =
01.XXXXXXX(XXXXXXX)††
∆
UNSIGNED †
THRESHOLD
TTT.TTTTTTTTTT
EXP †
MAN †
LOOP GAIN 1
AGC REGISTER 1
13
AGC REGISTER 0
LOOP GAIN 0
UPPER LIMIT †
LOWER LIMIT †
4
4
AGCGNSEL
EXP †
µP
MSB = 0
MAN †
16
REGISTER
16
REGISTER
SERIAL
OUT
AGC
ERROR
DETECTOR
AGC ERROR SCALING
(RANGE = 0 TO 2.18344)
AGC LOOP FILTER
MAGNITUDE
(RANGE = 0 TO 2.3)
LIMIT
DET
LIMITER
26
IFIR
SHIFTER
(RANGE = 0 TO 1)
18
18
IAGC
RE-SAMPLING
FIR FILTERS
AND
INTERPOLATING
HALFBAND
FILTERS
26
18
LIMITER
QFIR
SHIFTER
LIMIT
DET
18
CARTESIAN
TO
POLAR
COORDINATE
CONVERTER
(G = 1.64676)
QAGC
AGC MULTIPLIER/SHIFTER
† Controlled via microprocessor interface.
† † Indicates additional resolution of the A version.
FIGURE 23. AGC BLOCK DIAGRAM
maximum AGC gain error by the loop gain. The expected
range for the AGC rate is ~ 0.00004 to 1.23dB/symbol time
for a threshold of 1/2 scale. See the notes at the bottom of
Table 9 for calculation of the AGC Response times. The
maximum AGC Response is given by:
Using AGC loop gain, the AGC range, and expected error
detector output, the gain adjustments per output sample for
the loop filter section of the Digital AGC can be given by:
AGC Slew Rate = 1.5dB ( THRESH – ( MAG *1.64676 ) ) ×
( M LG ) ( 2
– 4  – ( 15 – E LG )
) 2


(EQ. 18)
AGC Response Max = Input(Cart/Polar Gain)(Error Det Gain) ( AG C
Loop Gain)(AGC Output Weighting)
(EQ. 19)
The loop gain determines the growth rate of the sum in the
loop accumulator which, in turn, determines how quickly the
AGC gain traces the transfer function given in Figures 21
and 22. Since the log of the gain response is roughly linear,
the loop response can be approximated by multiplying the
Since the AGC error is scaled to adjust the gain, the loop
settles asymptotically to its final value. The loop settles to
the mean of the signal.
20
HSP50214
Resampler/Halfband Filter
TABLE 7. AGC LOOP GAIN BINARY MANTISSA TO GAIN
SCALE FACTOR MAPPING
BINARY
CODE
(MMMM)
SCALE
FACTOR
BINARY
CODE
(MMMM)
SCALE
FACTOR
0000
0.0000
1000
0.5000
0001
0.0625
1001
0.5625
0010
0.1250
1010
0.6250
0011
0.1875
1011
0.6875
0100
0.2500
1100
0.7500
0101
0.3125
1101
0.8125
0110
0.3750
1110
0.8750
0111
0.4375
1111
0.9375
The Resampler is an NCO controlled polyphase filter that
allows the output sample rate to have a non-integer relationship to the input sample rate. The filter engine can be viewed
conceptually as a fixed interpolation filter, followed by an
NCO controlled decimator.
The prototype polyphase filter has 192 taps designed at 32
times the input sample rate. Each of the 32 phases has 6 filter taps (6)(32) = 192. The stopband attenuation of the prototype filter is greater than 60dB, as shown in Figure 24. The
signal to total image power ratio is approximately 55dB, due
to the aliasing of the interpolation images. The filter is capable of decimation rates from 1 to 4. If the output is at least 2x
the baud rate, the 32 interpolation phases yield an effective
sample rate of 64x the baud rate or approximately 1.5%,
(1/64), maximum timing error.
Following the Resampler are two interpolation halfband filters. The halfband filters allow the user to up-sample by 2 or
4 to recover time resolution lost by decimating. Interpolating
by 2 or 4 gives 1/4 or 1/8 baud time resolution (assuming 2x
baud at the Resampler output). The halfband filters use the
same coefficients as HB3 and HB5 from the Halfband Filters
Section. If one halfband is used, the 23-tap filter is chosen. If
two are used, the 23-tap filter runs first followed by the
15-tap filter operating at twice the first halfband’s rate. The
23-tap filter requires 7 multiplies, and the 15-tap filter
requires 5 multiplies to complete a filter calculation.
TABLE 8. AGC LOOP GAIN BINARY EXPONENT TO GAIN
SCALE FACTOR MAPPING
BINARY
CODE
(EEEE)
SCALE
FACTOR
BINARY
CODE
(EEEE)
SCALE
FACTOR
0000
215
1000
27
0001
214
1001
26
0010
213
1010
25
0011
212
1011
24
0100
211
1100
23
0101
210-
1101
22
0110
29
1110
21
0111
28
1111
20
Using the interpolation halfband filters allows for reduction in
the FIR filter sample rate. This optimizes the use of the programmable FIR filter by allowing the FIR output sample rate
to be closer to the Nyquist rate of the desired bandwidth.
Optimizing the FIR filter performance provides better use of
the programmable FIR taps. Table 10 details the maximum
clocking rates for the possible re-sampling and interpolation
halfband filter configurations of this section of the PDC. Control Word 16, bits 2-0 identify the filter configuration. Control
Word 16, bit 3 is used to bypass the polyphase Resampler
filter.
For proper data output from the interpolation filters, the data
ready signal must account for the re-sampling and interpolation processes. Figure 25 illustrates the insertion of additional data ready pulses to provide sufficient pulses for the
new output sample rate. The Resampler Output Pulse Delay
parameter is set in Control Word 16, bits 4-11. These bits set
the delay between the output samples when interpolation is
utilized. Program this distance between pulses using
For example, if MLG = 0101 and ELG = 1100, the AGC
Loop Gain = 0.3125*2-7. The loop gain mantissas and
exponents are set in the AGC Loop Parameter control register (Control Word 8, bits 0-15). Two AGC loop gains are
provided in the Programmable Down Converter, for quick
adjustment of the AGC loop. The AGC Gain select is a control input to the device, selecting Gain 0 when AGCGNSEL
= 0, and selecting Gain 1 when AGCGNSEL = 1.
N = [ ( f PROCCLK /f OUT ) – 1 ]
(EQ. 20)
A value of at least 5 is required to have sufficient time to
update the output buffer register. (Writing 5 samples
requires 5 clock cycles) A value of at least 16 is required for
proper serial output from the part. (Conversion from 16-bit
parallel to serial) The value is programmed in numbers of
PROCCLK’s.
21
HSP50214
.
TABLE 9. BIT WEIGHTING FOR AGC LOOP FEEDBACK PATH
AGC
ACCUM
BIT
POSITION
GAIN
ERROR
INPUT
GAIN
ERROR
BIT
WEIGHT
AGC LOOP
FILTER
AGC LOOP
GAIN
FILTER GAIN MULTIPLIER
(MANTISSA)
(OUTPUT)
AGC
OUTPUT
AND AGC
AGC GAIN
LIMITS BIT RESOLUTION
WEIGHT
(dB)
SHIFT
=0
SHIFT
=4
SHIFT
=8
SHIFT
= 15
31
2
2
2
2
0
30
2
2
2
2
E
3
48
29
2
2
2
2
E
2
24
28
2
2
2
2
E
1
12
2
2
2
2
2
E
0
6
.
2
2
2
1
-1
3
2
2
2
.
M
M
-2
1.5
27
12
=2
26
11
=1
25
10
24
9
=1
x
1
2
2
2
1
M
-3
0.75
23
8
=2
x
2
2
2
2
2
M
-4
0.375
22
7
=3
x
3
2
2
2
3
M
-5
0.1875
21
6
=4
x
4
2
2
2
4
M
-6
0.09375
20
5
=5
5
2
2
2
5
M
-7
0.04688
19
4
=6
6
2
2
1
X
-8
0.02344
18
3
=7
7
2
2
.
6
7
-9
0.01172
17
2
=8
8
2
2
1
8
-10
0.00586
16
1
=9
9
2
2
2
9
-11
0.00293
15
0
= 10
10
2
1
10
-12
0.00146
14
11
2
.
3
4
11
-13
0.000732
13
12
2
1
5
12
-14
0.000366
12
13
2
2
6
13
-15
0.000183
11
14
1
.
3
7
14
-16
0.0000916
4
8
G
-17
0.0000458
.
=0
.
0
1
0
10
0
0
0
0
9
1
5
9
G
-18
0.0000229
8
2
6
10
G
-19
0.0000114
7
3
7
11
G
-20
0.00000572
6
4
8
12
G
-21
0.00000286
5
5
9
13
G
4
6
10
14
G
3
7
11
G
G
2
8
12
G
G
1
9
13
G
G
0
10
14
G
G
AGC ResponseMax = Input(Cart/PolarGain)(Error Det Gain)(AGC Loop GainMax)(AGC Output Weighting).
AGC ResponseMax = (1)(1.64676)(2-0)(1)(0.75dB) ~ 1.23dB/symbol time.
AGC ResponseMin = (1)(1.64676)(2-15)(1)(0.75dB) ~ 0.00004dB/symbol time.
Thus, the expected range for the AGC rate is ~ 0.00004 to 1.23dB/symbol time.
22
HSP50214
TABLE 10. POLYPHASE AND INTERPOLATING HALFBAND
FILTER MAXIMUM CLOCKING RATES
0
CLOCK
CYCLES
RESAMPLER
INPUT
RATE
(MHz)
INTERPOLATION
RATE
MAGNITUDE (dB)
-20
-40
MODE
-60
OUTPUT
RATE
(MHz)
Bypass
0
35.00
-
28.00
-80
Polyphase Filter
6
35/6
= 5.83
-
NCO ≤ 5.83
-100
Polyphase and
1 Halfband Filter
13
35/13
= 2.69
2
NCO ≤ 5.38
Polyphase and
2 Halfband Filters
23
35/23
= 1.52
4
NCO ≤ 6.09
1 Halfband Filter
7
35/7
= 5.00
2
10.00
2 Halfband Filters
17
35/17
= 2.059
4
8.24
-120
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16
FREQUENCY (RELATIVE TO fIN)
FIGURE 24A. POLYPHASE RESAMPLER FILTER BROADBAND
FREQUENCY RESPONSE
10
0
POLYPHASE
RESAMPLER
FILTER
-20
HALFBAND
FILTER #1
HALFBAND
FILTER #2
-30
MUX
MAGNITUDE (dB)
-10
-40
RESAMPLER
NCO
-50
-60
PULSE
DELAY
-70
PULSE DELAY
COUNTER
PROCCLK
1
FREQUENCY (RELATIVE TO fIN)
FIGURE 24B. POLYPHASE RESAMPLER FILTER PASS BAND
FREQUENCY RESPONSE
THIS BLOCK GENERATES EXTRA
DATA READY PULSES FOR THE
NEW OUTPUTS FROM THE
INTERPOLATION PROCESS.
2
1
MAGNITUDE (dB)
0
HB1
RSMPLR
PROCCLK/N
HB2
0.875
0.9375
0.75
0.8125
0.625
0.6875
0.5625
0.5
0.375
0.4375
0.3125
0.25
0.125
0.1875
0
0.0625
-80
# EXTRA
PULSES
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0 BYPASS
0
1
1
3 (NV)
3 (NV)
3
3
0
1
0
1
0
1
0
1
-1
NV = INVALAID MODE
-2
FIGURE 25. GENERATING DATA READY PULSES FOR OUTPUT
DATA
-3
-4
In burst systems (such as TDMA), time resolution is needed
for quickly identifying the optimum sample point. The timing
is adjusted by shifting the decimation in the DSP µP to the
closest sample. Use of timing error rate in this way may yield
a faster acquisition than a phase-locked loop coherent bit
synchronization. Finding the optimum sample point minimizes intersymbol interference.
-5
-6
-7
-8
-9
0.5
0.4375
0.375
0.3125
0.25
0.1875
0.125
0.0625
0
-10
Fine time resolution is needed in CDMA systems to resolve
different multipath rays. In CDMA systems, the demands on
the programmable FIR can only be relieved by the Resampler/interpolation halfband filters. Assume the chip rate for a
baseband CDMA system is 1.2288MHz and PROCCLK is limited to 35MHz. Using the symmetric filter pre-sum approach,
PROCCLK limits the programmable FIR to 70MIPS (millions
FREQUENCY (RELATIVE TO fIN)
FIGURE 24C. POLYPHASE RESAMPLER FILTER EXPANDED
RESOLUTION PASSBAND FREQUENCY
RESPONSE
23
HSP50214
trol (Control Word 11, bit 1), a Timing NCO Phase
Accumulator Load On Update control (Control Word 11, bit
0), the Timing NCO Center Frequency (Control Word 12), a
Timing Phase Offset (Control Word 13, bits 0-7), a Timing
Frequency Strobe (Control Word 14) and a Timing Phase
Strobe (Control Word 15). Refer to the Carrier Synthesizer
Mixer section for a detailed discussion of the serial interface
for the Timing NCO offset frequency word.
of instructions per second) effective due to symmetry. If the
CDMA filter (loaded into the programmable FIR section)
requires an impulse response with a span of 12 chips, the filter at 2x the chip-rate would need 24 taps. The 24 taps would
translate into 59MIPS = (1.2288MHz)(2)(24). To get the same
filtering at 8x the chip rate would require 944MIPS =
(1.2288MHz)(8)(96). Direct 8x filtering can not be accomplished with the programmable filter alone because 944MIPS
are much greater that the 60MIPs effective limit set by PROCCLK. It is necessary to decimate down to 2x the chip rate to
get a realistic number of filter taps. Both interpolation halfband
filters are used to obtain an 8x CDMA output. The MIPS for
the first halfband equals (2.4576MHz)(Number of Multiplies
for first halfband), and the second equal (4.9152MHz)(Number of Multiplies for second halfband). Combined halfband filters is equal to (1.2228MHz)(4)(48) = 236MIPS. Thus the
MIPS are 18 and 25 for the first and second halfbands respectively, and 42 for both.
A timing error detector is provided for measuring the phase
difference between the timing NCO and a external clock input,
REFCLK. Timing Error is generated by comparing the values
of two programmable counters. One counter is clocked with
the Timing NCO carry out and the other is clocked by the
REFCLK. The 12-bit NCO Divide parameter is set in Control
Word 18, bits 16-27. The NCO Divide parameter is the preload to the counter that is clocked by the Timing NCO carry
out. The 12-bit Reference Divide parameter is set in Control
Word 18, bits 0-11, and is the preload for the counter that is
clocked by the Reference clock. Figure 27 details the block
diagram of the timing error generation circuit. The 16 bits of
timing error are available both as a PDC serial output and as a
processor read parameter. See the Processor Read Section
for more details on accessing this value.
Timing NCO
The Timing NCO is very similar to the carrier NCO phase
accumulator section. It provides the NCO driven sample pulse
and associated phase information to the re-sampling filter process described in the Resampler Filter section. The Timing
NCO does not include the SIN/COS section found in the Carrier NCO. The top level block diagram is shown in Figure 26.
REG
TIMING NCO
PHASE OFFSET †
8
CARRY OUT = RUN
FILTER STROBE
PROGRAMMABLE
DIVIDER
12
4
0
REG
REFERENCE
DIVIDE †
CLEAR
PHASE
ACC †
MUX
REFCLK
TE(15:0)
+
+
PHASE
ACCUMULATOR
∆
5
(NCO DIVIDE)/2 †
REG
†
REG
TIMING PHASE STROBE
PHASE(31:28)
FILTER PHASE
SELECT
SYNC
CARRY
NCO DIVIDE†
†
EN EXT TIMING NCO SYNC
SYNCIN2
TIMING
NCO
ACC
EN
PROGRAMMABLE
DIVIDER
+
ENABLE SOF †
MUX
32
SOF
SOFSYNC
SOF
TIMING NCO
PH ACC
LOAD ON
UPDATE†
32
SCF
0
REG
REG
REG
† Controlled via microprocessor interface.
FIGURE 27. TIMING ERROR GENERATION
Figure 27A illustrates an application where the Timing Error
Generator is used to lock the receiver samples with a transmit data rate. In this example, the receive samples are at
four times the transmit data rate. An external loop filter is
required, whose frequency error output is fed into the Timing
NCO. This allows the loop to track out the long term drift
between the receive sample rate and the transmit data clock.
SYNC
TIMING FREQ
STROBE †
SYNC
SHIFT REG
NUMBER OF SOF BITS
†
TIMING NCO CENTER
FREQUENCY †
† Controlled via microprocessor interface.
FIGURE 26. TIMING NCO BLOCK DIAGRAM
The programmable parameters for the Timing NCO include
an Enable External Timing NCO Sync (Control Word 11, bit
5), the serial word width, Number of Offset Frequency Bits
(Control Word 11 bits 3-4), an Enable Offset Frequency control (Control Word 11, bit 2), a Clear NCO Accumulator con-
24
HSP50214
TABLE 11. MAG/PHASE BIT WEIGHTING
LOOP
FILTER
MAGNITUDE
15 (MSB)
22 Always 0
180
14
21
90
13
20
45
12
2-1
22.5
11
2-2
11.25
10
2-3
5.625
9
2-4
2.8125
8
2-5
1.40625
7
2-6
0.703125
6
2-7
0.3515625
5
2-8
0.17578125
4
2-9
0.087890625
3
2-10
0.043945312
2
2-11
0.021972656
1
2-12
0.010986328
0 (LSB)
2-13
0.005483164
µP
CLKIN/RT
(NCO DIVIDE)/2 †
NCO DIVIDE = 4N†
PROGRAMMABLE
DIVIDER
∆
12
+
4
REFERENCE
DIVIDE = N †
TX DATA CLK
(REFCLK)
TE(15:0)
REG
CARRY
PHASE(31:28)
TIMING
NCO
ACC.
EN
PROGRAMMABLE
DIVIDER
TO TX BLOCK
(MODULATOR)
RT = TOTAL DECIMATION (CIC, HB FILTERS AND FIR)
† Controlled via microprocessor interface.
PHASE (o)
BIT
FIGURE 27A. TIMING ERROR APPLICATION
π/2
4000 3fff
+π/2
Cartesian to Polar Converter
4000
The Cartesian to Polar converter computes the magnitude
and phase of the I/Q vector inputs. The I and Q inputs are
16 bits. The converter phase output is 18 bits (truncated)
with the 16 MSB’s routed to the output formatter and all 18
bits routed to the frequency discriminator. The 16-bit output
phase can be interpreted either as two’s complement (-0.5 to
approximately 0.5) or unsigned (0.0 to approximately 1.0),
as shown in Figure 28. The phase conversion gain is 1/2π.
The phase resolution is 16 bits. The 16-bit magnitude is
unsigned binary format with a range from 0 to 2.32. The
magnitude conversion gain is 1.64676. The magnitude resolution is 16 bits. The MSB is always zero.
3ff f
Q
7fff
±π
8000
I 0000
0
ffff
bfff
c000
-π/2
Q
7fff
π
8000
I
0000
0
ffff
c000
bfff
3π/2
FIGURE 28. PHASE BIT MAPPING OF COORDINATE
CONVERTER OUTPUT
The magnitude and phase computation requires 17 clocks
for full precision. At the end of the 17 clocks, the magnitude
and phase are latched into a register to be held for the next
stage, either the Output Formatter or frequency discriminator. If a new input sample arrives before the end of the 17
cycles, the results of the computations up until that time, are
latched. This latching means that an increase in speed
causes only a decrease in resolution. Table 12 details the
exact resolution that can be obtained with a fixed number of
clock cycles up to the required 17. The input magnitude and
phase errors induced by normal SNR values will almost
always be worse than the Cartesian to Polar conversion.
Table 11 details the phase and magnitude weighting for the
16 bits output from the PDC.
25
HSP50214
TABLE 12. MAG/PHASE ACCURACY vs CLOCK CYCLES
†
CLOCKS
MAGNITUDE
ERROR
(% fS)
PHASE
ERROR
(DEG.)†
PHASE
ERROR
(% fS)
6
0.065
3.5
2
7
0.016
1.8
1
8
0.004
0.9
0.5
9
<0.004
0.45
0.25
10
<0.004
0.22
0.12
11
<0.004
0.11
0.062
12
<0.004
0.056
0.03
13
<0.004
0.028
0.016
14
<0.004
0.014
0.008
15
<0.004
0.007
0.004
16
<0.004
0.0035
0.002
17
<0.004
0.00175
0.001
PHASE INPUT
†
†
FIR COEFFICIENTS
DISC. FIR DECIMATION
FIR SYMMETRY TYPE
FIR SYMMETRY
FIR TAPS
DELAY
(1-8)
†
†
†
†
†
+
63-TAP
FIR
FILTER
FREQ(15:0)
† Controlled via microprocessor interface.
FIGURE 29. FREQUENCY DISCRIMINATOR BLOCK DIAGRAM
The discriminator input is 18 bits, and the output is rounded
asymmetrically to 16 bits. The phase into the discriminator
can be multiplied by 20, 21, 22, or 23 (modulo 2π) to remove
PSK data modulation. All programmable parameters for the
Frequency Discriminator are set in Control Word 17. Bits 15
and 16 are the phase multiplier which represents the shift
applied to the input phase. For CW, the multiply should equal
20, (00). For BPSK, QPSK, and 8PSK, the multiply should
equal 21, (01); 22, (10); or 23, (11); respectively. Bit 14 is
used to enable or disable the discriminator. Bits 11-13 set
the decimation in the programmable FIR filter. Bit 10 sets the
filter symmetry type as either odd or even, bit 9 sets whether
the filter is asymmetric or symmetric, and bits 3-8 set the
number of FIR filter taps. Bits 0-2 set the number of delays in
the frequency discriminator.
The discriminator block delays phase from the Cartesian to
Polar section and subtracts it from the latest sample. This
delay and subtract can be modeled as a programmable
delay comb filter. The output of the filter is dθ/dt, or frequency. The transfer function of the discriminator is set by
(EQ. 21)
where D is the programmable discriminator delay expressed
in number of sample clock delays. The discriminator output
frequency is then filtered with a programmable FIR filter. The
block diagram of the Frequency Discriminator is shown in
Figure 29.
Output Section
The output section routes the 7 types of processed signals to
output pins in three basic modes. These basic modes are:
Parallel Direct Output, Serial Direct Output, and the Buffer
RAM Output. The Serial and Parallel Direct Output modes
were designed to output data strobes and “real time” continuous streams of data. The Buffer RAM Output mode outputs
data upon receipt of an asynchronous request from an external DSP processor or other baseband processing engine. The
use of the interrupt signal from the Programmable Down Converter in conjunction with the request strobes from the controller ensures that data is transferred only when both the
controller and the Programmable Down Converter are ready.
The Buffer RAM output can be operated in a First In First Out
(FIFO) or SNAPSHOT mode with the data output either via
the 8-bit processor interface or a 16-bit processor interface.
The range of delay in the discriminator is from 1 to 8 samples. Modulo 2π subtraction eliminates rollover problems in
the subtraction at 2π. The alias free discriminator frequency
range is given by:
Range FREQDISC = CW ± F SAMPOUT ⁄ ( D + 1 ) ;
DISCRIMINATOR DELAY
DISCRIMINATOR EN
+
Frequency Discriminator
–D
†
-
Assumes ±180o = fS.
H(z)= 1 – Z
PHASE MULTIPLIER
(EQ. 22)
where D is the discriminator delay defined in Equation 21
(1 < D < 8), FSAMPOUT is the Discriminator FIR filter output
sample rate and CW is the desired center frequency. When
the phase multiplier is set to a value other than 20, the discriminator range is reduced proportionally. The phase multiplier can be 1, 2, 4 or 8 (20 to 23). Thus, a multiply of 21
reduces the range by 2, a multiply of 22 reduces the range
by 4, and a multiply of 23 reduces the range by 8.
The FIR filter can be configured with up to 63 symmetric taps
and up to 32 asymmetric taps. In the symmetric mode, the
FIR can be configured for even or odd symmetry, as well as
with an even or odd number of filter taps. Decimation is provided to allow more processing time for longer (i.e., more
taps) filter structures.
26
HSP50214
Parallel Direct Output Port Mode
AOUT DIRECT PAR
OUTPUT MODE
DATA SOURCE †
The Parallel Direct Output Port Mode outputs two 16-bit
words, AOUT and BOUT, of “real time” data. Figure 30
details the parallel output circuitry. Selection of the data
source for the AOUT and BOUT parallel outputs is done via
Control Word 20, bits 22-23, and 20-21, respectively. The
AOUT port can output I, Magnitude, or Frequency data. The
BOUT port can output Q, Phase or Magnitude data. The
upper bytes of AOUT and BOUT are always in the parallel
direct mode. The 16-bit parallel direct mode is selected by
setting Control Word 20, bit 25, to zero. The DATARDY output is asserted during the first clock cycle of new data on the
AOUT bus.
DATARDY
MAG
16
FREQ
16
A(15:8)
AOUT(15:8)
A(7:0)
RAM(15:8)
MUX
16
MUX
I
AOUT(7:0)
BOUT DIRECT PAR
OUTPUT MODE
DATA SOURCE †
B(15:8)
16
16
MAG
BOUT(15:8)
B(7:0)
RAM (7:0)
MUX
PHAS
16
MUX
Q
BOUT(7:0)
RAM (15:0)
DATA SOURCE FOR LSB †
† Controlled via microprocessor interface.
FIGURE 30A. PARALLEL OUTPUT BLOCK DIAGRAM
PROCCLK
I CHOSEN FOR AOUT
I
Q
DATARDY
R CHOSEN FOR AOUT
R
Q
DATARDY
(NOTE 1)
17 PROCCLK PERIODS
DATARDY
(NOTE 2)
FREQ CHOSEN FOR AOUT
FREQ
Q
T (NOTE 4)
DATARDY
(NOTE 3)
NOTES:
1. Computation preempted by new data.
2. Computation completes.
3. If decimation is selected, the DATARDY signal will occur at 1/Deci times the I/Q output sample rate.
4. T is equal to the number of PROCCLK cycles needed to compute the discriminator FIR plus the delay from I/Q to R/φ plus 6. The delay
will change depending on whether the Θ computation is preempted or not.
FIGURE 30B. TIMING FOR PARALLEL OUTPUT
NOTE: I and Q are sample aligned in time. |r| and φ are sample aligned in time, but one sample delayed from I or Q. The frequency
sample is delayed in time from I or Q by 1 sample time + 63 tap FIR impulse response. If the FIR is set to decimate and frequencies selected for AOUT, the DATARDY signal will be at the documented rate.
27
HSP50214
Serial Direct Output Port Mode
TABLE 13. LINKING CONTROL WORDS FOR SERIAL OUTPUT
DATA TYPE
IDENTIFIER
The Serial Direct Output Port Mode offers the ability to construct
two serial output data streams, SEROUTA AND SEROUTB, from
16-bit I, Q, magnitude, phase, frequency, timing error, and AGC
level data words. The total number of data words (1 to 8) for serial
output, and the sequential order of these data word components
of the serial output are programmable. Each data word may be
used once in either the SEROUTA or SEROUTB data streams.
Figure 31 illustrates the conceptual implementation of the Serial
Direct Output Port Mode.
In the Serial Direct Mode, the output data is loaded into serial shift
registers and routed to two serial output pins, SEROUTA and
SEROUTB. The serial output shift clock, SERCLK, is PROCCLK
divided by 1, 2, 4, 8, or 16. The divide down ratio is programmed
using Control Word 20, bits 14-16. The data is shifted out on the
rising edge of the internal SERCLK . The external clock polarity of
SERCLK is programmable via Control Word 20, bit 18. A sync signal is provided for detection of the start or end of each word in the
serial sequence. Control Word 20, Bit 17, sets the SERSYNC signal location as either preceding the MSB (typical for interfacing
with microprocessors) or following the LSB (typical for interfacing
to D/A converters). Control Word 20, bit 19, sets the SERSYNC
polarity as active low or high. The LSB of each data word can be
configured as either the true LSB data, or set at a fixed logic “1” or
“0” for use as a tag bit. Control Word 20 bits 0-13 set the LSB of
each of the 7 types of data words that can be configured in the
serial output stream. Control Word 19, bits 21-24 set the number
of serial data words that will be linked to form the serial outputs.
Up to 7 data words can be linked to form the serial output.
SEROUTA and SEROUTB will have an identical number of words
in the serial output streams.
DATA TYPE
000
I Data
001
Q Data
010
Magnitude (MAG) Data
011
Phase (PHAS) Data
100
Frequency (FREQ) Data
101
Timing Error (TIMERR) Data
110
AGC Gain
111
Zeros
Two examples will illustrate the process of configuring a serial
output using the Serial Output mode.
Serial Output Configuration Example 1:
It is desired to output the I data word, followed by the Q data
word, followed by the Phase data word on the SEROUTA output.
Similarly, it is desired to output the Magnitude data word followed
by the Frequency data word, followed by the Timing Error data
word, followed by the AGC Level data word on the SEROUTB output. Table 14 illustrates how Control Word 19 should be programmed.
TABLE 14. EXAMPLE 1 SERIAL OUTPUT CONTROL SETTINGS
CONTROL
WORD 19
BIT POSITION
FUNCTION
BIT
VALUE
The 16-bit I, Q, magnitude, phase, frequency, timing error, AGC
level, and “zeros” data words for are loaded into their respective
shift registers. The Magnitude and AGC Level data word are
unsigned binary format with a leading zero, while the remaining
signals are 2’s complement format.
30-28
SEROUTA Data Source
000
(I)
27-25
SEROUTB Data Source
010
(|r|)
24-21
Number of Serial Word
Links in a Chain
100
(4)
Any of the eight data sources can be selected as the first serial
word for SEROUTA or SEROUTB. Control Word 19, bits 25-30
set the data type for the first serial word for SEROUTA and
SEROUTB. The three bit data type identifier is shown both in
Table 13 and in Figure 30, to the right of the controls for the cross
matrix switch. Serial output data word sequences are formed by
linking data words by programming the data source for each shift
requester’s shift input signal. This programming links the shift registers together in one or two serial chains. Thus the Control Word
19 term “Link follows X data”, where X is one of the seven data
types. Once the data source data word is selected (by programming a three bit word representing one of the data types into Control Word 19, bits 25-27 (SEROUTA), and 28-30 (SEROUTB)), the
process for identifying the next word is to select a three bit data
type identifier which represents the data type to follow the source
data type. Program these bits into the Control Word 19 field representing the “Link following X data”, where X = the source data
type, defines the second word in the sequence. Likewise, the third
data word is linked by selecting the Control Word 19 bits that
identify the “Link following X data”, where X = the data type of the
second word in the serial chain. The process continues until all
the desired data words have been linked.
20-18
Link following I data
001
(Q)
17-15
Link following Q data
011
(φ)
14-12
Link following |r| data
100
(f)
11-9
Link following φ data
111
(Zeros)
8-6
Link following f data
101
(Timing)
5-3
Link following AGC data
XXX
(N/A)
2-0
Link following Timing
Error data
110
(AGC)
RESULT
NOTE: Because all but the first data word in the serial output
is identified by the data type that it follows, SEROUTB
can only be fully independent of the sequence in SEROUTA if it does not use any of the same data word
types. This implies a partition as described in Example
1. Once a data word that is used in SEROUTA is called
out in SEROUTB, the remaining sequence in SEROUTB
will be identical to that portion of SEROUTA sequence
that follows the duplicate data type. This follows from
using the “Link follows ‘data type’ data” for word linkage.
NOTE: Each type of data word should be used only once in
each data stream. If the “Link following I data” is programmed with the data type identifier for I, then the
part will repeat the I data word until all of the data word
locations are filled. In Example 1, if bits 20-18 were erroneously programmed to 000 (I data) then the SEROUTA would be four sequential repeats of the I data word.
NOTE: I and Q are sample aligned in time. |r| and f are sample
aligned in time, but one sample delayed from I or Q.
The frequency sample is delayed in time from I or Q by
1 sample time + 63 tap FIR impulse response. If the FIR
is set to decimate, the FIR output will be repeated every
sample time until a new value appears at the filter output. (i.e., the frequency samples are clocked out at the
I, Q sample rate regardless of decimation.)
28
HSP50214
The serial data stream looks like:
SEROUTA:
CONTROL WORD 19 FIELD
SEROUTB:
start
CONTROL WORD 19 FIELD
start
I data word >
SEROUTA source data = 000
|r| data word >
SEROUTB source data = 010
Q data word >
Link following I data = 001
f data word >
Link following |r| data = 100
φ data word >
Link following Q data = 011
TE data word>
Link following f data = 101
Zero data word >
Link following φ data = 111
AGC data word >
Link following TE data = 110
end >
end >
I DATA SERIAL OUTPUT TAG BIT †
Q DATA SERIAL OUTPUT TAG BIT †
MAGNITUDE DATA SERIAL OUTPUT TAG BIT †
PHASE DATA SERIAL OUTPUT TAG BIT †
FREQUENCY DATA SERIAL OUTPUT TAG BIT †
TIMING ERROR DATA SERIAL OUTPUT TAG BIT †
AGC DATA SERIAL OUTPUT TAG BIT †
DATA SOURCE FOR SEROUTA †
LINK FOLLOWING I DATA †
LINK FOLLOWING Q DATA †
LINK FOLLOWING MAG DATA †
LINK FOLLOWING PHASE DATA †
LINK FOLLOWING FREQ DATA †
LINK FOLLOWING TIMING DATA †
LINK FOLLOWING AGC DATA †
REG
REG
f (15:0)
FOLLOWS Q
SHIFT REG
FOLLOWS |r|
SHIFT REG
CROSS
MATRIX
SWITCH
SHIFT REG
FOLLOWS φ
CROSS
MATRIX
SWITCH
SHIFT REG
SHIFT REG
FOLLOWS f
SHIFT REG
SHIFT REG
FOLLOWS TE
SHIFT REG
SHIFT REG
FOLLOWS AGC
REG
AGC
(15:0)
SHIFT REG
SHIFT REG
SHIFT REG
REG
TE
(15:0)
REG
φ (15:0)
REG
|r| (15:0)
REG
Q (15:0)
SOURCE
I
Q
MAG
PHASE
FREQUENCY
TIMING ERROR
AGC
ZERO
FOLLOWS I
SHIFT REG
REG
I (15:0)
XXX
000
001
010
011
100
101
110
111
SHIFT REG
SHIFT REG
SEROUTA
ZERO
SOURCE
MUX
6
5
4
3
2
1
0
SERIAL OUTPUT SHIFT REGISTER
DATA SOURCE FOR SEROUTB †
SEROUTA
SEROUTB
SOURCE
6
PROCCLK
PROGRAMMABLE
DIVIDER
5
4
3
2
1
0
SERIAL OUTPUT SHIFT REGISTER
SEROUTB
NUM OF SER WORD LINKS IN A CHAIN †
SERIAL OUT CLOCK DIVIDER †
SERIAL OUTPUT SYNC POSITION †
SERIAL OUTPUT CLOCK POLARITY †
SERIAL OUTPUT SYNC POLARITY †
† Controlled via microprocessor interface
‡ Polarity is programmable
FIGURE 31. SERIAL OUTPUT FORMATTER BLOCK DIAGRAM
29
‡
SERCLK
‡
SERSYNC
HSP50214
Serial Output Configuration Example 2:
SEROUTB:
It is desired to output only three data words on each serial output. The I data word, followed by the Q data word, followed by
the Magnitude data word is to be output on SEROUTA. The Q
data word followed by the Magnitude data word, followed by
the one other data word to be output on SEROUTB. The
choices for the remaining data word in the SEROUTB signal
are: phase, frequency, AGC level and timing error. Table 15
illustrates how Control Word 19 should be programmed.
start
FUNCTION
BIT
VALUE
30-28
SEROUTA Data Source
000
(I)
27-25
SEROUTB Data Source
001
(Q)
24-21
Number of Serial Word
Links in a Chain
011
(3)
20-18
Link following I data
001
(Q)
17-15
Link following Q data
010
(|r|)
14-12
Link following |r| data
TBD
TBD
11-9
Link following φ data
XXX
(N/A)
8-6
Link following f data
XXX
(N/A)
5-3
Link following AGC data
XXX
(N/A)
2-0
Link following Timing
Error data
XXX
(N/A)
RESULT
SEROUTA source data = 000
Link following I data = 001
|r|data word >
Link following Q data = 010
TBD data word>
Link following |r| data = TBD
As previously discussed, Control Word 20, bits 17 and 19,
set the functionality of the LSB of each data word. These bits
may be programmed to be either a logic “0”, logic “1” or as
normal data. The fixed states are designed to allow the
microprocessor to synchronize to the serial data stream.
CONTROL WORD 19 FIELD
Q data word >
Link following Q data = 010
The other signals provided with the SEROUTA and
SEROUTB are the SERSYNC and the SERCLK. The
SERSYNC signal can be programmed in either early or late
sync mode. The sync signal is pulsed active low or active
high for each information word link of the chain of data created using control word 19. Figure 33 shows the four possible configurations of SERSYNC as programmed using
Control word 20.
start
I data word >
SEROUTB source data = 001
|r|data word >
As shown by this example, once Q was linked to |r| in the
SEROUTA chain, the SEROUTB chain must have |r| following Q, if Q is selected. Figure 32 illustrates the construction
of the serial output streams. If the serial data stream was
changed to be a length of four data words, then, by default,
the SEROUTA would be whatever is selected for SEROUTB
data word 3. SEROUTB would need to identify the fourth
data word. Thus, SEROUTA and SEROUTB are not fully
independent because they share the Q data word (and by
default, the MAGNITUDE follows Q data link and whatever is
selected for data word 3 to follow MAGNITUDE data in
SEROUTB).
The serial data stream looks like:
SEROUTA:
Q data word >
end >
TABLE 15. EXAMPLE 2 SERIAL OUTPUT CONTROL SETTINGS
CONTROL
WORD 19
BIT POSITION
CONTROL WORD 19 FIELD
end >
CONTROL WORD 19 BITS 24-21 = 011
(3 DATA WORDS IN EACH SERIAL OUTPUT)
DATA WORD 3
DATA WORD 2
DATA WORD 1
MAGNITUDE
Q
I
DATA WORD 3
DATA WORD 2
DATA WORD 1
TBD
MAGNITUDE
Q
THE REMAINING CHOICES FOR THE THIRD LINK ON SEROUTB ARE:
PHASE, FREQUENCY, AGC LEVEL, AND TIMING ERROR
SEROUTB
NOTE: Once magnitude is identified to follow Q,
it must be that way on both serial outputs.
FIGURE 32. EXAMPLE 2 SERIAL OUTPUT DATA STREAM
30
SEROUTA
HSP50214
“NORMAL”
0
1
2
1
2
LATE
SERSYNC
MODE
SERSYNC FOLLOWS LSB
0
“INVERTED”
1
“NORMAL”
2
3
EARLY
SERSYNC
MODE
SERSYNC PRECEDES MSB
“INVERTED”
1
2
1
3
2
LSB WORD0
MSB WORD1
0
15
14
•••
MSB WORD2
2
1
0
DATA SHIFT MSB FIRST
15
14
•••
LSB WORD1
MSB WORD3
2
1
0
15
14
•••
2
LSB WORD2
FIGURE 33. VALID SERSYNC CONFIGURATION OPTIONS
Buffer RAM Output Port
The FIFO mode allows the processor to service the interface
only when enough samples are present in the RAM. This
mode is provided so that the µProcessor does not have to
service the PDC every output sample. An interrupt,
INTRRPT, is asserted when the desired number of samples
are available. The PDC can be programmed to assert the
interrupt when up to 7 samples are available. Control Word
21 bit 15 is used to set the Buffer RAM controller to the FIFO
mode, while Control Word 21, bits 12-14 set the number of
RAM samples to be stored (0 to 7) before the interrupt
(INTRRPT) is asserted. Control Word 20 bit 24 determines
whether the RAM output interface is the 8-bit microprocessor
interface or the 16-bit processor interface. In the 16-bit interface the MSByte is sent to AOUT(7:0) while the LSByte is
sent to BOUT(7:0).
The Buffer RAM parallel output mode utilizes a RAM to store
output data for future retrieval by either the 8-bit microprocessor that is configuring the PDC or by a 16-bit baseband processing engine (which could also be a microprocessor). Data
is output from the RAM only on request and can be obtained
from either the 8-bit µP interface or from a 16-bit interface that
uses the two LSBytes of AOUT and BOUT. The RAM holds up
to eight 80-bit sample sets. Each sample set includes 16 bits
of each I, Q, magnitude, phase, and frequency data. The
RAM samples are mapped as shown in Table 16. The Buffer
RAM controller supports both FIFO and Snapshot modes.
TABLE 16. RAM DATA STORAGE MAP
RAM
SAMPLE
SET
I
DATA
(000)
Q
DATA
(001)
|r|
DATA
(010)
Φ
DATA
(011)
F
DATA
(100)
0
I0(15:0)
Q0(15:0)
|r|0(15:0)
φ0(15:0)
f0(15:0)
1
I1(15:0)
Q1(15:0)
|r|1(15:0)
φ1(15:0)
f1(15:0)
2
I2(15:0)
Q2(15:0)
|r|2(15:0)
φ2(15:0)
f2(15:0)
3
I3(15:0)
Q3(15:0)
|r|3(15:0)
φ3(15:0)
f3(15:0)
4
I4(15:0)
Q4(15:0)
|r|4(15:0)
φ4(15:0)
f4(15:0)
5
I5(15:0)
Q5(15:0)
|r|5(15:0)
φ5(15:0)
f5(15:0)
6
I6(15:0)
Q6(15:0)
|r|6(15:0)
φ6(15:0)
f6(15:0)
7
I7(15:0)
Q7(15:0)
|r|7(15:0)
φ7(15:0)
f7(15:0)
The INTRRP output signal goes low for 8 PROCCLK cycles
when the number of samples in the Buffer RAM (depth)
reaches the programmed depth. The depth of the RAM is
calculated using Equation 23. A DSP microprocessor or the
data processing engine can use the INTRRP signal to know
that the RAM is ready to be read.
D RAM = [ ( ADDRW RITE – ADDR READ ) – 1 ] MOD8
(EQ. 23)
FIFO Operation via 16-Bit µProcessor
Interface
NOTE: I and Q are sample aligned in time. |r| and φ are sample
aligned in time, but one sample delayed from I or Q. The
frequency sample is delayed in time from I or Q by 1
sample time + 63 tap FIR impulse response. If the FIR is
set to decimate, the FIR output will be repeated every
sample time until a new value appears at the filter output.
(i.e., the frequency samples are clocked out at the I, Q
sample rate regardless of decimation.)
Figure 34 shows the conceptual configuration of the 16-bit
µProcessor interface. This interface looks like a 16-bit µProcessor read-only microprocessor interface. The SEL(2:0)
lines are the address bus and the OEAL and OEBL lines are
the read lines. The address is decoded as shown in
Table 17.
Use of the 16-bit interface for Buffer RAM output requires
Control Word 20, bit 25, to be set to a logic “0” and Control
Word 20, bit 24, to be set to a logic “1”. Once the Control
31
HSP50214
0
1
2
φ
3
ƒ
4
STATUS 6
MUX
DUAL
PORT
RAM
I
Q
|r|
DATA OUTPUT
φ
ƒ
16
16
16
16
16
DATA INPUT
I
Q
|r|
MUX
Word 20 has been set to route data to AOUT(7:0) and
BOUT(7:0), then the microprocessor must place a value on
the PDC input pins SEL(2:0), to choose which data type will
be output on AOUT(7:0) and BOUT(7:0). Table 17 defines
the data types in terms of SEL(2:0). With the control lines
set, the selected data is read MSByte on AOUT(7:0) and
LSByte on BOUT(7:0) when OEAL and OEBL (are low).
New data only read when OEBL goes low, so use µP for 8bit modes. Programming SEL(2:0) = 110 outputs a 16-bit
status signal on AOUT and BOUT. The FIFO status includes
FULL, EMPTY, FIFO Depth, and READYB. These status signals are defined in Table 18.
TABLE 18. STATUS BIT DEFINITIONS
AOUT BIT
LOCATION
INFORMATION
(7:5)
FIFO depth - When in FIFO mode, these bits
are the current depth of the FIFO.
4
EMPTY - When in FIFO mode, the FIFO is
empty, and the read pointer cannot be advanced. Active High.
3
FULL - When in FIFO mode, the FIFO is full,
and new samples will not be written.
Active High.
2
READYB - When in FIFO mode, the output buffer has reached the programmed threshold. In
the snapshot mode, the programmed number
of samples have been taken. Active Low.
OUTPUT
DATA
1-0
GND
OEBL
WRITE
SEQUENCER
NEW
DATA
“SET OF WORDS”
ADDRESS
SEQUENCER
INCR
INCR
RD
WR
SEL(2:0)
NOTE: In the Status output, BOUT(7:0) are all GND.
Figure 35 shows the interface between a 16-bit microprocessor (or other baseband processing engine) and the Buffer
RAM output section of the Programmable Down Converter,
configured for data output via the parallel outputs AOUT and
BOUT. In the 16-bit microprocessor interface configuration,
the Buffer RAM pointer is incremented when the µProcessor
reads address SEL(2:0) = 7 and OEBL = 0.
PROCCLK
FIGURE 34. 16-BIT MICROPROCESSOR INTERFACE
BUFFER RAM MODE BLOCK DIAGRAM
After reset, the FIFO must be incremented to read the first
sample set. This is because the RAM read and write pointers
cannot point to the same address. Thus, the FIFO pointer
must move to the next address before reading the next set of
data (I, Q, |r|, φ, and f) samples. 4 PROCCLK cycles are
required after an increment before reading can resume. The
FIFO write pointer is reset to zero (the first data sample) when
Control Word 22 is written to via the 8-bit microprocessor
interface. See the Microprocessor Read Section for more
detail on how to obtain the Buffer RAM output with this technique. Figure 36 shows the timing diagram required for parallel output operations. In this diagram, only the I, Q and
Frequency data are taken from each sample before incrementing to the next sample. Figure 36 assumes that the
pointer has already been incremented into a sample.
TABLE 17. BUFFER RAM OUTPUT SELECT DEFINITIONS
SEL(2:0)
OUTPUT DATA TYPE
000
I Data
001
Q Data
010
Magnitude
011
Phase
100
Frequency
101
Unused
110
Memory Status
111
Reading this address increments to the next
sample set
NOTE: For the very first sample read, the pointer must be incremented first and 4 PROCCLKs must pass before this
sample can be read.
Figure 36 shows INTRRP going low before the FIFO is read.
The FIFO can be read before the number of samples
reaches the INTRRP pointer. The number of samples in the
FIFO must be monitored by the user via a status read.
32
HSP50214
INTRRP
OEAL
HSP50214
PDC
READ
INT
6
RD
AOUT(7:0)
D(15:8)
OEBL
16-BIT
µP
7
5
0
4
1
3
2
WRITE
D(7:0)
BOUT(7:0)
FIFO
DEPTH
A: FIFO DEPTH IS (WRITE - READ)
SEL(2:0)
A(2:0)
WRITE
FIGURE 35. INTERFACE BETWEEN A 16-BIT MICROPROCESSOR AND PDC IN FIFO BUFFER RAM MODE
6
8 CLKS
INTRRP
READ
0
4
1
> 4 CLKS
3
OEAL,
OEBL
7
5
2
B: FIFO FULL IS WHEN (WRITE - READ) = 7
SEL(0:2)
0
1
4
AOUT(7:0),
BOUT(7:0)
I
Q
FR
1
2 3 4 5 6 7 8
7
0
1
I
Q
READ
6
1 2 3 4
7
5
WRITE
0
PROCCLK
4
1
3
FIGURE 36. TIMING DIAGRAM FOR PDC IN FIFO MODE WITH
OUTPUTS I, Q, AND FREQUENCY SENT TO
AOUT(7:0) AND BOUT(7:0)
2
C: FIFO EMPTY IS WHEN (WRITE - READ) = 1
READ
Suppose the depth of the Buffer RAM Output section is programmed for an INTRRP pointer depth of 4. If the output is at 4
times the baud rate, the processing routine for the microprocessor
may only need to read the buffer when the Buffer RAM had 4
samples since processing is usually on a baud by baud basis.
Figure 37 illustrates the conceptual view of the FIFO as a circular
buffer, with the Write address one step ahead of the read
address.
Figure 37A deals with clockwise read and write address incrementing. The FIFO depth is the difference between the Write and
Read pointers, modulo 8. Figure 37B illustrates a FIFO status of
Full, while Figure 37C illustrates a FIFO empty status condition.
Figure 37D illustrates a programmed FIFO depth of 3 and the
INTRRP signal indicating that the buffer has sufficient data to be
read.Following some simple rules for operating the FIFO will eliminate most operational errors:
Rule #1: The Read and Write Pointers cannot point at the same
address (the circuitry will not allow this).
Rule #2: The FIFO is full when the Write Address = Read
Address -1 (no more data will be written until some samples are
read or the FIFO is reset).
Rule #3: The FIFO is empty when the Read Address = (Write
Address -1) (the circuitry will not allow the read pointer to be
incremented).
6
WRITE
7
5
0
4
1
3
2
READY
D: FIFO READY IS WHEN (WRITE - READ) > DEPTH
FIGURE 37. FIFO REGISTER OPERATION
Rule #4: You cannot write over what you have not read.
Rule #5: RESET places the Write address pointer = 000 and
Read address pointer = 111.
Rule #6: The best addressing scheme is to read the FIFO until it
is empty. This avoids erroneous INTRRP assertions and provides
for simple FIFO depth monitoring. The interrupt is generated
when the depth increments past the threshold.
33
HSP50214
FIFO Operation via 8-Bit µProcessor
Interface
Recall that INTRRP stays low for 8 PROCCLK cycles. The
FIFO can be read before the INTRRP signal goes low; the
number of samples in the FIFO must be monitored by the user.
Figure 38 illustrates the timing for RAM load sequence.
The Buffer RAM Output may also be accessed via the 8-bit
microprocessor interface C(7:0). Figure 39 shows the conceptual configuration of the 8-bit µprocessor interface. Control Word 20 bit 24 must be set to 0 in order to obtain Buffer
RAM data to this output. The Microprocessor Read section
describes how to read the data from each sample out of the
C(7:0) interface.
The read pointer of the FIFO is incremented when Control
Word 23 is written to. The data can not be read from the
next sample until 4 PROCCLKs after the Buffer RAM
pointer has been incremented. Control Word 22 is used to
reset the Read and Write pointers of the Buffer RAM output
to the first sample to 000 and 007 for write and read
respectively.
PROCCLK
I/Q
R/φ
DELAY TO DATARDY DEPENDS ON LENGTH OF FIR IF FREQ CHOSEN
DATARDY
(I/Q SELECTED)
DATARDY
(R/φ SELECTED)
INTRPT
WRITES TO
SNAPSHOT
RAM
I
Q
ƒ
φ
R
4
LSByte
0
R1 R0 A1
“SET OF WORDS”
ADDRESS
STATUS
1
SEQUENCER
R2
1
INCR
INCR
RD
WR
MSByte
A0
0
MUX
3
R2 R1 R0 A2 A1 A0 SELECTION
0
MUX
φ
ƒ
0
1
2
MUX
I
Q
|r|
MUX
WRITE
SEQUENCER
DUAL
PORT
RAM
DATA OUTPUT
φ
ƒ
16
16
16
16
16
MUX
I
Q
|r|
DATA INPUT
FIGURE 38. RAM LOAD SEQUENCE
1
NEW
DATA
A(2:0)
INT(15:0)
WRITE
ADDRESS “5”
R2, R1, R0
A2, A1, A0
0: I;Q
1: |r|; φ
2: ƒ
4: INPUT AGC
5: AGC; TIMING
INT(22:16)
AGC
0
1
2
MUX
CONTROL
WORD 23
A2 A1 A0
3
TIMING
R0 A1
OUTPUT
DATA
0
0
0
0
0
0 RAM I LSB
0
0
0
0
0
1 RAM I MSB
0
0
0
0
1
0 RAM Q LSB
0
0
0
0
1
1 RAM Q MSB
0
0
1
0
0
0 RAM |r| LSB
0
0
1
0
0
1 RAM |r| MSB
0
0
1
0
1
0 RAM φ LSB
0
0
1
0
1
1 RAM φ MSB
0
1
0
0
0
0 RAM ƒ LSB
0
1
0
0
0
1 RAM ƒ MSB
0
1
1
X
X
X NOT USED
1
0
0
0
0
0 INPUT INTEG LSB
1
0
0
0
0
1 INPUT INTEG NMSB
1
0
0
0
1
0 INPUT INTEG MSB
1
0
1
0
0
0 AGC LSB
1
0
1
0
0
1 AGC MSB
1
0
1
0
1
0 TIMING LSB
1
0
1
0
1
1 TIMING MSB
1
1
X
X
X
X NOT USED
X
X
X
1
1
1 STATUS
RD
FIGURE 39. 8-BIT MICROPROCESSOR INTERFACE BUFFER RAM MODE BLOCK DIAGRAM
34
HSP50214
Snap Shot Operation
WRITE
ADDRESS
The snapshot mode takes sets of adjacent samples at programmed intervals. It is provided for tracking algorithms that
do not require processing of every sample, but do require
sets of adjacent samples. For example, bit sync algorithms
have narrow loop bandwidths that may not need to be
updated every sample. Computing the bit phase may require
4 adjacent samples at 2 times the baud rate. The snapshot
mode allows the processor to implement the tracking algorithms for high speed data without having to handle every
data sample.
INTRRP
INTRRP
INTRRP
RD
REEST
TIME
WR
WR
WR
RD
A COMPLETE SET OF 3 DATA SAMPLES IS IN MEMORY AT INTRRP
A: NORMAL READ/WRITE SEQUENCE
The interval from the start of one snapshot to the start of a
second snapshot is programmed into bits 11-4 (where bit 11
is the MSB) of Control Word 21. The actual interval is the
value programmed plus 1. If bits 11-4 = 11111111, then the
interval is set to 256. If sample sets are to be taken every 4
samples, then bits 11-4 = 00000011.
INTRRP
INTRRP
WRITE
ADDRESS
INTRRP
Figure 40 shows the relationship between the snapshot
samples and the snapshot interval.
ADJACENT
SAMPLES
WR
WR
RD
RD
TIME
WR
RD
THE THIRD INTERRUPT HAS ONLY 1 NEW DATA ENTRY
(INSTEAD OF 3) AT INTRRP
B: FALSE TRIGGERED INTERRUPT READ/WRITE SEQUENCE
0
1
2
3
4
62
63
64
65
FIGURE 41. AVOIDING FALSE INTRRP ASSERTIONS
# SAMPLES = 4
Microprocessor Write Section
INTERVAL = 64
FIGURE 40. SNAP SHOT SAMPLING
The microprocessor write section uses an indirect
addressing scheme where a 32-bit data word is first loaded
in a four 8-bit byte master registers using four writes via
C(7:0). The desired destination register address is then written to another address using C(7:0). Writing this address
triggers a circuit that generates a pulse, synchronous to
clock, that loads the destination register. The sync circuits
and data words are synchronized to different clocks, CLKIN
or PROCCLK, depending on the destination registers.
The PDC begins to fill the buffer each time an interval number of samples have passed. The number of sample sets the
PDC writes into the buffer is programmed into bits 3-0 of
Control Word 21. The number of samples stored is the programmed value and may be from 1 to 8 sample sets. A sample set consists of I, Q, |r|, φ and ƒ.
In snap shot operations, the buffer is read the same as for
FIFO operations. Figures 34 and 36 describe the block and
timing diagrams required to output data on AOUT(7:0) and
BOUT(7:0). Table 17 summarizes the selectable output signals. The method for reading data through the microprocessor section in snap shot mode is identical to the method
described in the FIFO mode subsection and the Microprocessor Read Section.
A(2:0) determines the destination for the data on bus,
C(7:0). Table 19 shows the address map for microprocessor interface. Figure 42 shows the control register loading
sequence. The data in C(7:0) and address map in A(2:0) is
loaded into the PDC on the rising edge of WR and is
latched into the master register on the rising edge of WR
and A(2:0) = 100. Four clocks must pass before loading the
next control word to guarantee that the data has been
transferred.
Avoiding Timing Pitfalls When Using the Buffer RAM
Output Port
Some registers can be loaded (i.e., transferred from the
master register to a configuration register or from a holding
register to an active register) by initiating a sync. For example, to load the AGC Gain, the value of the AGC gain is first
loaded into the holding registers, then a transfer is initiated
by SYNCIN2 if Control Word 8, bit 29 = 1. This allows the
AGC gain to be loaded by detecting a system event, such as
a start of a new burst. Bit 20 of Control Word 0 has the same
effect on the Carrier NCO center frequency for assertion of
SYNCIN1, except it transfers from a dedicated holding register - not the master register.
In snapshot mode, the whole buffer is written whenever the
interval counter has timed-out. After time-out, old data can
be written over. Thus, the data contained within the buffer
must be retrieved before time-out to avoid data loss.
It may be desirable to disable the INTRRPT into the controlling microprocessor during read cycles to avoid the generating extra interrupts. Figure 41 details how the WRITE
address can trigger extra interrupts Care must be taken to
either read sufficient data out of memory or RESET the
addressing to ensure that a complete set of data is the
cause of the interrupt.
35
HSP50214
Microprocessor Read Section
TABLE 19. DEFINITION OF ADDRESS MAP
A2-0
REGISTER DESCRIPTION
0
Holding Register 0. Transfers to bits 7-0 of the 32-bit destination register. Bit 0 is the LSB of the 32-bit register.
1
Holding Register 1. Transfers to bits 15-8 of a 32-bit destination register.
2
Holding Register 2. Transfers to bits 23-16 of a 32-bit destination register.
3
Holding Register 3. Transfers to bits 31-24 of a 32-bit destination register. Bit 31 is the MSB of the 32-bit register.
4
This is the destination address register. On the fourth CLK
following a write to this register, the contents of the holding
registers are transferred to the destination register. All 8
bits written to this register are decoded into the destination
register address. The configuration destination address
map is given in the tables in the Control Word section.
5
Selects data source for reading. See Microprocessor Read
Section.
The microprocessor read uses both read and write procedures to obtain data from the PDC. A write must be done to
location 5 to select the source of data to be read. The read
source is determined by the value placed on the lower three
bits of C(7:0). The output from a particular read code is
selected using a read address placed on A(2:0). The output
is sent to C(7:0) on the falling edge of RD.
If the Read Address is equal to 111, the Read Code is
ignored, and the status bits shown in Table 22 in the Output
Section is sent to C(7:0). This state was provided so that the
user could obtain the status bits quickly.
Refer to the timing diagram in Figure 43. Suppose the input
level detector has a hex value of (321AF5)H, then Table 21
details the steps to be taken.
PROCLK
WR
RD
Suppose a (0018D038)H needs to be loaded into control word
0, then Table 20 details the steps to be taken.
A2-0
TABLE 20. EXAMPLE PROCESSOR WRITE SEQUENCE
STEP
A(2:0)
C(7:0)
COMMENT
1
000
0011 1000
Loads 38 into master register
(7:0) on rising edge of WR
2
001
1101 0000
Loads D0 into master register
(15:8) on rising edge of WR
010
0001 1000
Loads 18 into master register
(23:16) on rising edge of WR
4
011
0000 0000
Loads 00 into master register
(31:24) on rising edge of WR
5
100
0000 0000
Load “0018D038” into Configuration Control Register 0
C7-0
1
2
3
OUTPUT DATA C(7:0)
LOAD ADDRESS
OF TARGET
CONTROL REGISTER
THREE-STATE
INPUT BUS
ASSERT RD
TO ENABLE DATA
OUTPUT ON C0-7
FIGURE 43. READING THE CONTROL REGISTERS USING A
LATCH CODE EQUAL TO A 5, A READ ADDRESS
AND A READ CODE
TABLE 21. PROCESSOR READ SEQUENCE (INPUT LEVEL
SETECTOR)
Wait 4 CLKS
CLK =
(PROCCLK,
CLKIN)
READ ADDRESS
READ CODE C(2:0)
3
6
5
STEP
A(2:0)
C(7:0)
COMMENT
1
101
100
Write Read Code, 100 to
Address 5, WR pulled high to
generate rising edge.
2
000
1111 1000
(F4)H
Drop RD low, Read AGC
LSB
3
001
0001 1010
(1A)H
Pull RD high, then drop low,
Read AGC NLSB
4
010
0011 0010
(32)H
Pull RD high, then drop low,
Read AGC MSB
4
WR
A2-0
0
C7-0
LSB
1
2
3
0
4
2
MSB ADD
LOAD
CONFIGURATION
DATA
LOAD ADDRESS OF
TARGET CONTROL
REGISTER AND
WAIT 4 CLKs
LOAD NEXT
CONFIGURATION
REGISTER
FIGURE 42. LOADING THE CONTROL REGISTERS WITH
32-BIT CONTROL WORDS
36
HSP50214
Applications
TABLE 22. DEFINITION OF ADDRESS MAP
READ
CODE C2-0
STATUS
TYPE
0
Buffer
RAM I and
Q
000- I LSB
001- I MSB
010- Q LSB
011- Q MSB
See Output Section.
1
Buffer
RAM
Output
(|r| and φ)
000- MAG LSB (7-0)
001- MAG MSB (15-8)
010- PHASE LSB (7-0)
011- PHASE MSB (15-8)
See Output Section.
2
For this example consider a total receive band roughly
25MHz wide containing 124 200kHz wide FDM channels as
shown in Figure 44. The design goal for the PDC is to tune to
and filter out a single 200kHz FDM channel from the FDM
band, passing only baseband samples onto the baseband
processor at a multiple of the 270.8 KBPS bit rate.
124 CHANNELS
• • •
Buffered
000- FREQ LSB
Frequency 001- FREQ MSB
See Output Section.
3
Not Used
4
Input Level Input AGC
Detector
000- input AGC LSB (0-7)
001- input AGC NLSB (8-15)
010- input AGC MSB (16-23)
5
AGC Data AGC (must write to location 10 to sample)
and Timing 000- AGC LSB (lower 8 bits of linear
Error
control word 3 used by multiplier)
mmmmmmmm LSB
001- AGC MSB (4 shift control bits and
first three bits of linear) control word
oeeeemmm MSB. This yields 11 bits of
the linear control mantissa.
010- Timing error LSB, Not stabilized.
011- Timing error MSB, Not stabilized.
6
Not Used
7
Not Used
Don’t Care
Composite Filter Response Example
READ ADDRESS A(2:0)
Status
FREQUENCY
200kHz
CHANNEL
FREQUENCY
FIGURE 44. RECEIVE SIGNAL FREQUENCY SPECTRUM
RF/IF Considerations
The input frequency to the PDC is dependent on the A/D
converter selected, the RF/IF frequency, the bandwidth of
interest and the sample rate of the converter. If the A/D converter has sufficient bandwidth, then undersampling techniques can be used to downconvert IF/RF frequencies as
part of the digitizing process, using the PDC to process a
lower frequency alias of the input signal.
111- Status (6:0) consisting of
(6:4)-FIFO depth when output is in FIFO
Buffer RAM Output Mode
(3)-EMPTY signalling the FIFO is empty
and the read pointer cannot be advanced (Active High)
(2)-FULL signalling the FIFO is full and
new samples will not be written (Active
High)
(1)-READYB Output buffer has reached
the programmed threshold in FIFO
mode or the programmed number of
samples have been taken in snapshot
mode. (Active Low)
(0)-INTEGRATION has been completed
in the input level detector and is ready to
be read. (Active High)
For example, a 70MHz IF can be sampled at 40MHz and the
resulting 10MHz signal alias can be processed by the PDC
to perform the desired downconversion/tuning and filtering. If
the IF signal is less than 1/2 the sample frequency then standard oversampling techniques can be used to process the
signal. Of the two techniques, only undersampling allows
part of the down conversion function to be brought into the
digital domain just through sampling, assuming that a sampling frequency can be found that keeps the alias signals low
and that the A/D converter has the bandwidth to accept the
unconverted analog signal.
37
HSP50214
PDC Configuration
References
For this example, the PDC is configured as follows:
For Intersil documents available on the web, see
http://www.Intersil.com/
Intersil AnswerFAX (321) 724-7800.
CLKIN: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39MHz
Mode: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gated
Input Format: . . . . . . . . . . . . . As required by digital source
Carrier NCO Fc: . . . . . . . . . As determined by channel freq.
Carrier NCO Phase Offset: . . . . . . . . . . . . . . . . . . . . . . . . . 0
Carrier NCO Offset Frequency: . . . . . . . . . . . . . . . Disabled
CIC Filter: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabled
Decimation: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
PROCCLK: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28MHz
Half Band Filters: . . . . . . . . . . . . . . . . . HB3 and 5 Enabled
FIR Filter:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gsmtemp file
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . fs = 541.667kHz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Decimation = 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passband: 90kHz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transition Band: 25kHz
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passband Atten: 3dB
. . . . . . . . . . . . . . . . . . . . . . . . . Stop Band Atten: 111.25713
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIR Order: 90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIR Symmetry: Even
Re-Sampling Filter: . . . . . . . . . . . . . . . . . . . . . HB1 Enabled
The basis for this configuration is:
[1] HSP50210 Data Sheet, Intersil Corporation, AnswerFAX
Doc. No. 3652.
[2] Cellular Radio and Personal Communications: A Book of
Selected Readings, Theodore S. Rappaport, 1995 by
IEEE, Inc.
[3] AN9720 Application Note, Intersil Corporation, “Calculating Maximum Processing Rates of the PDC
(HSP50214)”, AnswerFAX Doc. No. 99720.
Sampling Rate: Select a high rate PROCCLK
Output Rate: 1.083MHz (4x Bit Rate; 8x Baud Rate)
CIC Filtering: Primarily Rate Reduction (39/18 = 2.166MHz).
HB Filtering: Flat passband with rate reduction by 4 - low
enough (541.66kHz) for sufficient FIR Taps to be used.
FIR Filtering: Primary shaping filter/set final out of band
suppression.
Polyphase/HalfBand Filtering: Interpolate by two to output
8x baud rate or 4x bit rate.
The CIC and halfband filter responses are shown in Figure
45A and B. The composite filter response, constrained primarily by halfband filter 5 and the FIR filter are shown in Figure 46A-C.
For a more detailed discussion of design approaches and
trades when designing with the PDC, refer to AN9720 [3],
“Calculating the Maximum Processing Rates of the PDC”.
38
10
10
-10
-10
-30
-30
MAGNITUDE (dB)
MAGNITUDE (dB)
HSP50214
-50
-70
-50
-70
-90
-90
-110
-110
fS = CIC INPUT RATE
fS = CIC INPUT RATE
-130
-130
FREQUENCY
fS
R
FREQUENCY
FIGURE 45B. HB3 FILTER RESPONSE
10
-10
-10
-30
-30
MAGNITUDE (dB)
10
-50
-70
-90
fS = CIC INPUT RATE
-50
-70
-90
-110
-110
fS = CIC INPUT RATE
-130
-130
fS
R
FREQUENCY
FREQUENCY
FIGURE 46A. HB5 FILTER RESPONSE
FIGURE 46B. 255 FIR TAP FILTER RESPONSE
10
fS = CIC INPUT RATE
-10
MAGNITUDE (dB)
MAGNITUDE (dB)
FIGURE 45A. CIC FILTER RESPONSE
fS
R
-30
-50
-70
-90
-110
-130
FREQUENCY
fS
R
FIGURE 46C. COMPOSITE FILTER RESPONSE
FIGURE 46. PDC FILTER FREQUENCY SPECTRUMS EXAMPLE (NORMALIZED TO SAME SCALE)
39
fS
R
HSP50214
Configuration Control Word Definitions
to the master register. Figure 39 details the timing for proper
operation of the Microprocessor Write Section. Bits identified
as “Reserved” should be programmed to a zero.
Note that in the Configuration Control Register tables some of
the available 32 bits in a control word are not used. Unused
bits do not need to be written to the master register. If the destination only has 16 bits, then only 2 bytes need to be written
CONTROL WORD 0: CHIP CONFIGURATION, INPUT SECTION, CIC GAIN (SYNCHRONOUS TO CLKIN)
BIT
POSITION
31-21
FUNCTION
DESCRIPTION
Reserved
Reserved.
20
Carrier NCO External
Sync Enable
0- The SYNCIN1 pin has no effect on the Carrier NCO.
1- When the SYNCIN1 pin is asserted, the carrier center frequency and phase are updated from
the holding registers to the active register. Also, if bit 0 of this word is active, the carrier phase
accumulator feedback will be zeroed to set the Carrier NCO to a known phase, allowing the
NCOs of multiple parts to be initialized and updated synchronously.
19
CIC External Sync
Enable
0- The SYNCIN1 pin has no effect on the CIC filter.
1- When the SYNCIN1 pin is asserted, the decimation counter is loaded, allowing the decimation
counters in multiple chips to be synchronized.
18
Input Format
0- Two’s Complement Input Format.
1- Offset Binary Input Format.
17
Input Mode
0- Input operates in Gated Mode.
1- Input operates in Interpolated Mode.
16-13
CIC Shift Gain
These bits control the barrel shifter at the input to the CIC filter. These bits are added to the
GAINADJ(2:0) pins to determine the total shift. The sum is saturated at 15. See the CIC Decimation Filter Section for values to be programmed in this field based on CIC filter Decimation. Bit 16
is the MSB.
SG = Floor [39 - (number of input bits) - 5log2(R)] for 4 < R < 31.
SG = 15 for R = 4.
SG = 0 for R = 32.
12-7
CIC Counter Preload
These bits control the decimation in the CIC filter. Program this field to R-1, where R is the desired decimation rate in the filter. The decimation rate range is 4-32. See CIC Filter Section for
effective decimation range relative to the CIC Shift Gain value. Bit 12 is the MSB.
While this field allows values from 0 - 63, the valid values are in the range from 4- 32.
CIC Bypassed
Active high, this bit routes the output of the input shifter to the output of the CIC with no filtering.
When the CIC filter is bypassed, CLKIN must be at least twice the input sample rate (ENI should
be toggled to achieve this). When the CIC filter is bypassed, the bottom 24 bits of the barrel shifter
output are routed to the halfband filters.
Number of Offset
Frequency Bits
00 - 8 bits.
01 - 16.
10 - 24.
11 - 32.
3
Syncout CLK Select
This bit selects whether the SYNCOUT signal is generated from CLKIN of from PROCCLK
0- CLKIN.
1- PROCLK.
2
Clear Phase Accum
0- Enable accumulator in Carrier NCO.
1- Zero feedback in accumulator.
1
Carrier NCO Offset
Frequency Enable
When set to 1, this bit enables the offset frequency word to be added to the center frequency
control word. The offset is loaded serially via the COF and COFSYNC pins.
0
Carrier NCO Load
Phase Accum On
Update
When this bit is set to 1, the µP update to the Carrier NCO frequency or an external carrier NCO
load using SYNCIN1 will zero the feedback of the phase accumulator as well as update the phase
or frequency. This function can be used to set the NCO to a known phase synchronized to an
external event.
6
5-4
40
HSP50214
CONTROL WORD 1: INPUT LEVEL DETECTOR (SYNCHRONOUS TO CLKIN)
BIT
POSITION
FUNCTION
DESCRIPTION
31
Reserved
Reserved.
30
Integration Mode
0- Integration of magnitude error stops when the interval counter times out.
1- Integration runs continuously. When the interval counter times out, the integrator reloads, and
the results of the integration is sent to a register for the processor to read.
29-14
Integration Interval
These are the top 16 bits of the 18-bit integration counter, ICPrel. ICPrel = (N)/4+1; where N is
the desired integration period in CLKIN cycles, defined as the number of input samples to be
integrated. N must be a multiple of 4: [0, 4, 8, 12, 16 .... , 218]. Bit 29 is the MSB. If the input is
interpolated, then the zeros must be accounted for, as they will be added to the threshold! If the
gated input mode is used, the same input sample will be accumulated multiple times.
13-0
Input Threshold
Input magnitude threshold. Bits 12-0 correspond to input bits 12-0. The magnitude of the input
is added to this threshold, where the threshold is a signed number. Bit 13 is the MSB.
CONTROL WORD 2: INPUT LEVEL DETECTOR START STROBE (SYNCHRONIZED TO CLKIN)
BIT
POSITION
N/A
FUNCTION
Start Input Level
Detector AGC
Integrator
DESCRIPTION
Writing to this location starts/restarts the input AGC error integrator. The integrator will either
restart or stop when the integration interval counter times out depending on bit 30 of control register 1 (see Microprocessor Write Section).
CONTROL WORD 3: CARRIER NCO CENTER FREQUENCY (SYNCHRONIZED TO CLKIN)
BIT
POSITION
31-0
FUNCTION
Carrier Center
Frequency
DESCRIPTION
These bits control the frequency of the Carrier NCO. The frequency range of the NCO is ± FS/2
where FS is the input sample rate. The bits are computed by the equation N = (FNCO / FS)*232.
Bit 31 is the MSB. This location is a holding register. After loading, a transfer to the active register is done by writing to Control Word 5 or by generating a SYNCIN1 with Control Word 0 bit
20 set to 1.
CONTROL WORD 4: CARRIER PHASE OFFSET (SYNCHRONIZED TO CLKIN)
BIT
POSITION
31-10
9-0
FUNCTION
DESCRIPTION
Reserved
Reserved
Carrier Phase Offset
These bits, PO, are used to offset the phase of the carrier NCO. The bits are computed by the
equation PO= INT[(210φoff)/ 2π]HEX; (-π <φoff< π) for 10-bit 2’s complement representation or
from 0 to 2π for 10-bit offset binary representation. Bit 9 is the MSB. This location is a holding
register. After loading, a transfer to the active register is done by writing to Control Word 6 or by
generating a SYNCIN1 with Control Word 0 bit 20 set to 1.
CONTROL WORD 5: CARRIER FREQUENCY STROBE (SYNCHRONIZED TO CLKIN)
BIT
POSITION
N/A
FUNCTION
Carrier Frequency
Strobe
DESCRIPTION
Writing to this address updates the carrier frequency control word from the holding register.
CONTROL WORD 6: CARRIER PHASE STROBE (SYNCHRONIZED TO CLKIN)
BIT
POSITION
N/A
FUNCTION
Carrier Phase
Strobe
DESCRIPTION
Writing to this address updates the carrier phase offset control word with the value written to
the phase offset (PO) register.
41
HSP50214
CONTROL WORD 7: HB, FIR CONFIGURATION (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31-22
FUNCTION
DESCRIPTION
Reserved
Reserved.
21
Enable External
Filter Sync
0- The SYNCIN2 pin has no effect on the halfband and FIR filters.
1- When the SYNCIN2 pin is asserted, the filter control circuitry in the halfband filters, the FIR,
the resampler, and the discriminator are reset. SYNCIN2 can be used to synchronize the computations of the filters in multiple parts for the alignment. See Synchronization Section.
20
Halfband (HB)
Bypass
1- Bypass Halfband Filters.
0- Enable HB Filters (at least one HB must be enabled).
19
HB5 Enable
0- Disables HB number 5 (the last in the cascade).
1- Enables HB filter number 5.
18
HB4 Enable
Setting this bit enables HB filter number 4.
17
HB3 Enable
Setting this bit enables HB filter number 3.
16
HB2 Enable
Setting this bit enables HB filter number 2.
15
HB1 Enable
Setting this bit enables HB filter number 1.
FIR Decimation
Load decimation from 1-16, where 0000 = 16. Bit 14 is the MSB.
10
FIR Real/Complex
0- Complex Filter.
1- Dual Real Filters.
9
FIR Sym Type
0- Odd Symmetry.
1- Even Symmetry.
8
FIR Symmetry
0- Symmetric Filters.
1- Asymmetric Filters.
FIR Taps
Number of taps in the FIR filter. Range is 1 to 255, where 0000000 is invalid.
14-11
7-0
CONTROL WORD 8: AGC CONFIGURATION 1 (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31-30
FUNCTION
DESCRIPTION
Reserved
Reserved.
Sync AGC Updates
to SYNCIN2
When this bit is 1, the SYNCIN2 pin loads the contents of the master registers into the AGC
accumulator.
28-16
Threshold
The magnitude measurement out of the cartesian to polar converter is subtracted from this value to get the gain error. A gain of 1.647 in the cartesian to polar conversion that must be taken
into account when computing this threshold. These bits are weighted -22 down to 2-10. Bit 28 is
the MSB.
15-12
Loop Gain 1
Mantissa
Selected when AGCGNSEL = 1. These bits, MMMM, together with the exponent bits, EEEE
(11-8), set the loop gain for the AGC loop. The gain adjustment per output sample is:
1.5dB(Threshold -[Magnitude * 1.6]) 0.MMMM * 2-(15 - EEEE) where magnitude ranges from 0
to 1.414 and the threshold is programmed in bits 28-16. The decimal value for the mantissa is
calculated as DEC(MMMM)/16. Bit 15 is the MSB.
11-8
Loop Gain 1
Exponent
Selected when AGCGNSEL = 1. These bits are EEEE. See description of bits 15-12. Bit 11 is
the MSB.
29
42
HSP50214
CONTROL WORD 8: AGC CONFIGURATION 1 (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
7-4
Loop Gain 0 Mantissa
Selected when AGCGNSEL = 0. These bits are MMMM. See description for bits 15-12. Same
equations are used for Loop 0. Bit 7 is the MSB.
3-0
Loop Gain 0
Exponent
Selected when AGCGNSEL = 0. These bits are EEEE. See description for bits 15-12. Same
equations are used for Loop 0. Bit 3 is the MSB.
CONTROL WORD 9: AGC CONFIGURATION 2 (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
31-28
Reserved
Reserved
27-16
Upper Limit
Maximum gain/minimum signal. The upper four bits are used for exponent; the remaining bits
form the mantissa in the fractional offset binary: [eeeemmmmmmmm]. See the AGC Section for
details. Bit 27 is the MSB. The gain is in dB. G = (6.02)(eeee) + 20log10(1.0 + 0.mmmmmmmm)
eeee = Floor [log2(10GAIN dB/20)].
mmmmmmmm = Floor [512(10GAIN dB/20/2eeee - 1)].
15-12
Reserved
Reserved.
11-0
Lower Limit
Minimum gain/maximum signal. The upper four bits are used for exponent; the remaining bits
form the mantissa in the fractional offset binary: [eeeemmmmmmmm]. See the AGC Section for
details. Bit 11 is the MSB. The gain is in dB. G = (6.02)(eeee) + 20log10(1.0 + 0.mmmmmmmm).
eeee = Floor [log2(10GAIN dB/20)].
mmmmmmmm = Floor [512(10GAIN dB/20/2eeee - 1)].
CONTROL WORD 10: AGC SAMPLE GAIN CONTROL STROBE (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
N/A
FUNCTION
Sample AGC Gain
Level
DESCRIPTION
Writing to this location samples the output of the AGC loop filter to stabilize the value for µP
reading.
CONTROL WORD 11: TIMING NCO CONFIGURATION (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31-6
FUNCTION
DESCRIPTION
Reserved
Reserved.
5
Enable External
Timing NCO Sync
0- SYNCIN2 has no effect on the timing NCO.
1- When SYNCIN2 is asserted, the timing NCO center frequency and phase are updated with
the value loaded in their holding registers. If bit 0 of this word is set to 1, the phase accumulator
feedback is also zeroed.
4-3
Number of Offset
Frequency Bits
00 - 8 bits.
01 - 16.
10 - 24.
11 - 32.
Enable Offset
Frequency
0- Zero Offset Frequency to Adder.
1- Enable Offset Frequency.
2
43
HSP50214
CONTROL WORD 11: TIMING NCO CONFIGURATION (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
1
Clear Phase
Accumulator
0- Enable Accumulator.
1- Zero Feedback in Accumulator.
0
Timing NCO Phase
Accumulator Load
On Update
When this bit is set to 1, the µP update to the timing NCO frequency or an external timing NCO
load using SYNCIN2 will zero the feedback of the phase accumulator as well as update the
phase and frequency. This function can be used to set the NCO to a known phase synchronized
to an external event.
CONTROL WORD 12: TIMING NCO CENTER FREQUENCY (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31-0
FUNCTION
DESCRIPTION
Timing NCO Center
Frequency
These bits control the frequency of the timing NCO. The frequency range of the NCO is from 0
to FRESAMP where FRESAMP is the input sample rate to the re-sampling filter. The bits are computed by the equation: N =(fOUT /FRESAMP)*232. Bit 31 is the MSB. This location is a holding
register. After loading, a transfer to the active register is done by writing to Control Word 14 or
by generating a SYNCIN2 with Control Word 11 bit 5 set to 1.
CONTROL WORD 13: TIMING PHASE OFFSET (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
31-8
Reserved
Reserved.
7-0
Timing NCO Phase
Offset
These bits are used to offset the phase of the carrier NCO. The range is 0 to 1 times the resampler input period interpreted either as ± T/2 (2’s complement) or 0 to T (offset binary). Bit 7 is
the MSB. This location is a holding register. After loading, a transfer to the active register is done
by writing to Control Word 15 or by generating a SYNCIN2 with Control Word 11 bit 5 set to 1.
CONTROL WORD 14: TIMING FREQUENCY STROBE (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
N/A
FUNCTION
Timing Frequency
Strobe
DESCRIPTION
Writing to this address updates the active timing NCO frequency register in the timing NCO (see
Timing NCO Section).
CONTROL WORD 15: TIMING PHASE STROBE (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
N/A
Timing Phase Strobe
Writing to this address updates the active timing NCO phase offset register in the timing NCO
(see Timing NCO Section).
44
HSP50214
CONTROL WORD 16: RE-SAMPLING FILTER CONTROL (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
31-12
Reserved
11-4
Resampler Output
Pulse Delay
DESCRIPTION
Reserved.
NOTE: These bits program the delay between output samples when interpolating. The extra outputs can be delayed from 2 to 255 clocks from the first output. A delay of 2 equals 255
clocks of delay. A delay of 0 or 1 is an invalid mode. When interpolating by 2, one extra
output is generated; when interpolating by 4, 3 extra outputs are generated. Program by
the equation (PROCCLK/fOUT) - 1. Bit 11 is the MSB.
NOTE: If less than 5 is programmed, there will not be sufficient time to fully update the output buffer. If less than 16 is programmed, the serial output may be preempted. This
means that it won’t finish and if the sync is programmed to follow the data, there
may never be a sync.
3
Resampler Bypass
0- Re-Sampling Filter Enabled. A valid combination of bits 2-0 must also be selected.
1- Re-Sampling Filter is Bypassed.
2-0
Filter Mode Select;
2- HB2 Enabled
1- HB1 Enabled
0- Resampler
Enabled
000- Not Valid.
001- Resampler Enabled.
010- Halfband 1 Enabled.
011- Resampler and Halfband Filter 1 Enabled.
100- Not Valid.
101- Not Valid.
110- Both Halfband Filters Enabled.
111- Resampler and Both Halfband Filters Enabled.
CONTROL WORD 17: DISCRIMINATOR FILTER CONTROL, DISCRIMINATOR DELAY (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
31-17
Reserved
Reserved.
16-15
Phase Multiplier
These bits program allow the phase output of the cartesian to polar converter to be multiplied by
1, 2, 4, or 8 (modulo 2π) to remove phase modulation before the frequency is measured.
00- No Shift on Phase Input to frequency discriminator.
01- Shift Phase Input to frequency discriminator up 1 (one bit), discarding the MSB and zero filling
the LSB.
10- Shift Phase Input to frequency discriminator up 2 (two) bits, discarding the MSB and zero filling the LSB.
11- Shift Phase Input to frequency discriminator up 3 (three) bits, discarding the MSB and zero
filling the LSB.
Discriminator Enable
0- Disable Discriminator.
1- Enable Discriminator.
Discriminator FIR
Decimation
The decimation can be programmed from 1 to 8, where 000 = decimate by 8; 001 = decimate by
1; 010 = decimate by 2; 011 = decimate by 3; 100 = decimate by 4; 101 = decimate by 5; 110 =
decimate by 6; and 111 - decimate by 7.
10
FIR Symmetry Type
0- Odd Symmetry.
1- Even Symmetry.
9
FIR Symmetry
0- Symmetric.
1- Asymmetric.
8-3
Number of FIR Taps
Number of FIR taps from 1 to 63, where 00000 is not valid (00001 = 1 tap, 00010 = 2 taps, etc.
up to 11111 = 63 taps). Bit 8 is the MSB.
2-0
Discriminator Delay
Sets the number of delays from 1 to 8 in the discriminator. Set delay ddd to delay minus 1,
where 000 represents 1 delay; 001 represents 2 delays, 010 represents 3 delays, 011 represents 4 delays, 100 represents 5 delays, 101 represents 6 delays, 110 represents 7 delays, and
111 represents 8 delays. If ddd the decimal representation bits 2-0, then the discriminator a
transfer function H(Z) = 1-Z-(ddd + 1).
14
13-11
45
HSP50214
CONTROL WORD 18: TIMING ERROR PRELOADS (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
FUNCTION
DESCRIPTION
31-28
Reserved
Reserved.
27-16
NCO Divide
The Resampler NCO output is divided down by the value loaded into this register plus 1. Load
with a value that is one less than the desired period. Bit 27 is the MSB.
11-0
Reference Divide
The reference clock is divided down by the value loaded into this register plus 1. Load with a
value that is one less than the desired period. Bit 27 is the MSB. A minimum preload of “I” is
required.
CONTROL WORD 19: SERIAL OUTPUT ORDER (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31
FUNCTION
DESCRIPTION
Reserved
Reserved.
30-28
Data Source for
SEROUTA
Serial Output A source. The serial data source is selected using Table 12 (see Output Section).
27-25
Data Source for
SEROUTB
Serial Output B source. The serial data source is selected using Table 12 (see Output Section).
24-21
Number of Serial
Word Links in a
Chain
This parameter determines the number of SERSYNC pulses generated. It can be set from 1 to
7. If this parameter matches the number of serial words that are linked together to form a serial
output chain, then there will be a sync pulse for every word in the serial output. In applications
where a processor is receiving the serial data, it may be desirable to have a single SERSYNC
pulse for the whole serial output chain, instead of a SERSYNC for each word in the data chain.
The processor then parses out the various data words. As an example, if the I and Q are
chained together and a single SERSYNC pulse is generated for this serial output chain, no ambiguity exists in the processor about which two data samples (one from I and one from Q) are
related.
20-18
Link Following I Data
The serial data word, or link, following the I data word is selected using Table 12
(see Output Section).
17-15
Link Following Q
Data
The serial data word, or link, following the Q data word is selected using Table 12
(see Output Section).
14-12
Link Following
Magnitude Data
The serial data word, or link, following the MAG data word is selected using Table 12
(see Output Section).
11-9
Link Following
Phase Data
The serial data word, or link, following the PHAS data word is selected using Table 12
(see Output Section).
8-6
Link Following
Frequency Data
The serial data word, or link, following the FREQ data word is selected using Table 12
(see Output Section).
5-3
Link Following AGC
Level Data
The serial data word, or link, following the AGC data word is selected using Table 12
(see Output Section).
2-0
Link Following Timing
Error Data
The serial data word, or link, following the TIMERR data word is selected using Table 12
(see Output Section).
46
HSP50214
CONTROL WORD 20: BUFFER RAM, DIRECT PARALLEL, AND DIRECT SERIAL OUTPUT CONFIGURATION
(SYNCHRONIZED WITH PROCCLK)
BIT
POSITION
31-26
FUNCTION
DESCRIPTION
Reserved
Reserved.
25
Data Source for
Least Significant
Bytes of AOUT and
BOUT
Output LSBytes, bits (7:0), of AOUT and BOUT can provide:
0- Buffer RAM Mode Output or.
1- Parallel Direct Mode Output.
24
Buffered Output
Mode Interface
Buffered Mode Output interfaces to either:
0- 8-bit µP (address = µP ASEL(5:#); CLK = µP RAM read).
1- 16-bit µP (address = SEL(2:0); CLK = OEBL).
23-22
AOUT Direct Parallel
Output Mode Data
Source
The data word sent by the Direct Parallel Output Mode to AOUT is:
00- I Data.
01- Magnitude.
1X- Frequency.
21-20
BOUT Direct Parallel
Output Mode Data
Source
The data word sent by the Direct Parallel Output Mode to BOUT is:
00- Q Data.
01- Phase.
1X- Magnitude.
19
Serial Output Sync
Polarity
0- Normal Sync Mode (active high).
1- Sync Inverted (active low).
18
Serial Output Clock
Polarity
0- Output Clock Inverted rising edge aligns with data transitions.
1- Output Clock Normal falling edge aligns with data transitions.
0
17
1
Serial Output Sync
Position
0- Sync is asserted one bit time after the last bit of the serial word (Late Mode).
1- Sync is asserted one bit time prior to the first bit of the serial word (Early Mode).
16-14
Serial Out Clock
Divider
000- Serial Output at PROCCLK/16.
001- Serial Output at PROCCLK/8.
010- Serial Output at PROCCLK/4.
011- Serial Output at PROCCLK/2.
1XX- Serial Output at PROCCLK rate.
13-12
I Data Serial Output
Tag Bit
00- No Tag Bit. LSB of word is passed.
01- 0 Tag Bit. LSB of word is set to zero.
1X- 1 Tag Bit. LSB of word is set to one.
11-10
Q Data Serial Output
Tag Bit
(See I Data Serial Output Tag Selection above).
9-8
Magnitude Data Serial Output Tag Bit
(See I Data Serial Output Tag Selection above).
7-6
Phase Data Serial
Output Tag Bit
(See I Data Serial Output Tag Selection above).
5-4
Frequency Data Serial Output Tag Bit
(See I Data Serial Output Tag Selection above).
3-2
AGC Data Serial
Output Tag Bit
(See I Data Serial Output Tag Selection above).
47
HSP50214
CONTROL WORD 20: BUFFER RAM, DIRECT PARALLEL, AND DIRECT SERIAL OUTPUT CONFIGURATION
(SYNCHRONIZED WITH PROCCLK) (Continued)
BIT
POSITION
1-0
FUNCTION
Timing Error Data
Serial Output Tag Bit
DESCRIPTION
(See I Data Serial Output Tag Selection above).
CONTROL WORD 21: BUFFER RAM OUTPUT CONTROL REGISTER (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31-16
FUNCTION
DESCRIPTION
Reserved
Reserved.
Output Buffer Mode
0- The output buffer operates in snapshot mode.
1- The output buffer operates in FIFO mode.
14-12
FIFO Mode Depth
Threshold
In FIFO mode, when the FIFO depth reaches this threshold, an interrupt is generated and the
READY flag is asserted. The threshold may be set from 0 to 7. Bit 14 is the MSB. The interrupt
is generated when the FIFO depth reaches the threshold, as the FIFO fills.
11-4
Snapshot Mode
Interval
In snapshot mode, the interval between snapshots in the output sample times is determined by
this 8-bit binary number, i.e. 256, (28), sample time counts between snapshot samples. Program
this parameter to 1 less than the desired interval. Bit 11 is the MSB.
3-0
Snapshot Mode
Number of Samples
In snapshot mode, the number of samples stored each time the snapshot interval counter times
out is equal to the decimal version of this 4-bit number. The range is 1- 8. Bit 3 is the MSB.
15
CONTROL WORD 22: BUFFER RAM OUTPUT FIFO RESET (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
N/A
FUNCTION
FIFO reset
DESCRIPTION
A write to this address increments the output FIFO RAM address pointers to READ = 111 and
WRITE = 000.
CONTROL WORD 23: INCREMENT OUTPUT FIFO (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
N/A
FUNCTION
FIFO Strobe
DESCRIPTION
A write to this address increments the output FIFO/buffer to the next sample set.
CONTROL WORD 24: SYNCOUT STROBE OUTPUT PIN
(SYNCHRONIZED TO CLKIN OR PROCCLK DEPENDING ON PROGRAMMING IN CONTROL WORD 0)
BIT
POSITION
N/A
FUNCTION
SYNCOUT Strobe
DESCRIPTION
A write to this address generates a one clock period wide strobe on the SYNCOUT pin that is
synchronized to the clock. This strobe may be synchronized to CLKIN or PROCCLK based on
the programming of bit 3 of Control Word 0.
48
HSP50214
CONTROL WORD 25: COUNTER AND ACCUMULATOR RESET (SYNCHRONIZED TO BOTH CLKIN AND PROCCLK)
BIT
POSITION
N/A
FUNCTION
Counter and
Accumulator Reset
DESCRIPTION
A write to this address initializes the counters and accumulators for testing. Items that are reset are:
Carrier NCO
1. Loads phase offset <9:0> into register to be used for adding to accumulator.
2. Enables feedback on the accumulator.
CIC Filter
1.
2.
3.
4.
Resets the decimation counter.
Clears enables to CIC.
Clears accumulators in CIC.
Clears enable leaving CIC.
Halfband Filters
1.
2.
3.
4.
5.
Resets compute counter in Halfband control.
Resets read address for all Halfband Filters.
Resets write address for all Halfband Filters.
Clears input available strobe.
Resets Halfband control logic.
255 Tap FIR
1. Resets FIR read and write address pointers.
2. Zero’s coefficient read address.
AGC Loop
1. Clears accumulator in loop filter.
Resampler and Interpolation Halfband Filters.
1. Resets counters for Halfband addresses for writing.
2. Resets output enable.
3. Reset controller for Resampler.
Timing NCO
1. Initializes counters for inserting extra pulses when interpolating halfbands are enabled.
Discriminator
1. Resets read and write address pointers.
2. Zero’s coefficient read address.
Cartesian to Polar Coordinate Counter.
1. Resets Cordic counters (stops current computation).
FIFO Control
1.
2.
3.
4.
5.
6.
Resets decoder for controlling FIFO.
Resets write address for FIFO.
Clears RD and INTRRPT.
Resets “depth” and “full” flags.
Sets the empty flag.
Sets the read address to “7”, write address to “0”.
Snapshot Control
1. Zeros the group number.
2. Load interval counter.
3. Resets write address and read address for FIFO.
Output Serial Control
1.
2.
3.
4.
Reloads shift counter.
Reloads “Number of Words” counter.
Reloads counter for sync (for early or late).
Reloads counter for dividing down SERCLK.
49
HSP50214
CONTROL WORD 26: LOAD AGC GAIN (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
N/A
FUNCTION
AGC Load
DESCRIPTION
Writing to this location generates a strobe to load the AGC loop accumulator with bits (15:5) to
the master registers. These bits are loaded into the MSBs of the AGC loop filter accumulator
with bits (15:12) mapping to the shift (exponent) control bits and bits (11:5) mapping to the multiplier (mantissa) bits. Bits (11:5) represent a binary mantissa mapped to the linear gain as:
01.XXXXXXX. See AGC Section.
CONTROL WORD 27: TEST REGISTER (SYNCHRONIZED TO CLKIN)
BIT
POSITION
31-0
FUNCTION
Reserved
DESCRIPTION
A fixed value 0000 0010 0111 1000 [0278]HEX is loaded here for normal operation. A fixed value
0000 0010 0111 1010 [027A]HEX is loaded here for setting the Sin/Cos generator outputs to
7FFF.
CONTROL WORDS 64-95: DISCRIMINATOR COEFFICIENT REGISTERS (SYNCHRONIZED TO PROCCLK)
BIT
POSITION
31-10
FUNCTION
Discriminator FIR
Coefficient
DESCRIPTION
The discriminator FIR coefficients are 22-bit-two’s complement. If the filter is symmetric, the coefficients are loaded from the center coefficient at address 64 to the last coefficient. If the filter
is asymmetric the coefficients C0 to CN are loaded with C0 in address 64 up to 64+N, where N
is number of asymmetric coefficients.
CONTROL WORDS 128-255: 255 PROGRAMMABLE COEFFICIENT REGISTERS
BIT
POSITION
31-10
FUNCTION
Programmable FIR
Coefficient
DESCRIPTION
The programmable FIR coefficients are 22-bit-two’s complement. If the filter is symmetric, the
coefficients are loaded from the center coefficient at address 128 to the last coefficient. If the
filter is asymmetric the coefficients C0 to CN are loaded with C0 in address 128 up to 128+N,
where N is number of asymmetric coefficients.
Real Filters are computed as:
Xn-k+1 Ck1 + Xn-k+2 Ck-2 + ... XnC0).
where C0 is the coefficient in address 128 and Xo is the oldest data sample.
Complex filters outputs are computed as follows:
Xn is the most recent data sample.
k is the number of samples = number of (complex) taps.
C0_re is the coefficient loaded into CW128.
C0_im is the coefficient loaded into CW129.
The convolution starts with the oldest data, times the last complex coefficient, and ends with
the newest data, times the first complex coefficient loaded.
Iout
= (-Xn-k+1_q * Ck-1_im + Xn-k+1_i * Ck-1_re).
+ (-Xn-k+2_q * Ck-2_im + Xn-1+2_i * Ck-2_re).
+ ...
+ (-Xn_q * C0_im + Xn_i * C0_re).
Qout = (Xn-k+1_i * Ck-1_im + Xn-k+1_q * Ck-1_re).
+ (Xn-k+2_i * Ck-2_im + Xn-1+2_q * Ck-2_re).
+ ...
+ (Xn_i * C0_im + Xn_q * C0_re).
50
HSP50214
Absolute Maximum Ratings
Thermal Information
Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +7.0V
Input, Output or I/O Voltage . . . . . . . . . . . . GND-0.5V to VCC +0.5V
ESD Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class 2
Thermal Resistance (Typical, Note 1)
θJA (oC/W)
MQFP Package . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
Maximum Junction Temperature . . . . . . . . . . . . . . . . . . . . . . . 150oC
Maximum Storage Temperature Range . . . . . . . . . .-65oC to 150oC
Maximum Lead Temperature (Soldering 10s) . . . . . . . . . . . . . 300oC
(Lead Tips Only)
Operating Conditions
Voltage Range . . . . . . . . . . . . . . . . . . . . . . . . . . . +4.75V to +5.25V
Temperature Range
Commercial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0oC to 70oC
Industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40oC to 85oC
Input Low Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0V to +0.8V
Input High Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2V to VCC
Input Rise and Fall Time. . . . . . . . . . . . . . . . . . . . . . . . . . 1V/ns Max
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.
NOTE:
5. θJA is measured with the component mounted on an evaluation PC board in free air.
DC Electrical Specifications
PARAMETER
VCC = 5 ±5%, TA = 0oC to 70oC, Commercial; -40oC to 85oC, Industrial
MIN
MAX
UNITS
Logical One Input Voltage
SYMBOL
VIH
VCC = 5.25V
2.0
-
V
Logical Zero Input Voltage
VIL
VCC = 4.75V
-
0.8
V
Clock Input High
VIHC
VCC = 5.25V
3.0
-
V
Clock Input Low
VILC
VCC = 4.75V
-
0.8
V
Output High Voltage
VOH
IOH = -400µA, VCC = 4.75V
2.6
-
V
Output Low Voltage
VOL
IOL = +2.0mA, VCC = 4.75V
-
0.4
V
-10
10
µA
Input Leakage Current
II
Standby Power Supply Current
ICCSB
Output Leakage Current
IO
Operating Power Supply Current
ICCOP
Input Capacitance
CIN
Output Capacitance
COUT
TEST CONDITIONS
VIN = VCC or GND, VCC = 5.25V
-
500
µA
-10
10
µA
f = 52MHz, VIN = VCC or GND,
VCC = 5.25V, Outputs Not Loaded
-
364
mA
(Note 2)
Freq = 1MHz, VCC open, all measurements are referenced to device ground
-
10
pF
(Note 3)
VCC = 5.25V, Outputs Not Loaded
VIN = VCC or GND, VCC = 5.25V
NOTES:
6. Power Supply current is proportional to operation frequency. Typical rating for ICCOP is 6mA/MHz.
7. Capacitance TA = 25oC, controlled via design or process parameters and not directly tested. Characterized upon initial design and at
major process or design changes.
AC Electrical Specifications
VCC = 5 ±5%, TA = 0o to 70oC, Commercial; -40oC to 85oC, Industrial
52MHz
PARAMETER
SYMBOL
MIN
MAX
UNITS
CLKIN Clock Period
tCP
19
-
ns
CLKIN High
tCH
7
-
ns
CLKIN Low
tCL
7
-
ns
PROCCLK Period
tPCP
28.5
-
ns
PROCCLK High
tPCH
7
-
ns
PROCCLK Low
tPCL
7
-
ns
REFCLK Clock Frequency
fRCP
-
PROCCLK/2
ns
REFCLK High
tRCH
7
-
ns
51
HSP50214
AC Electrical Specifications
VCC = 5 ±5%, TA = 0o to 70oC, Commercial; -40oC to 85oC, Industrial (Continued)
52MHz
PARAMETER
SYMBOL
MIN
MAX
UNITS
REFCLK Low
tRCL
7
-
ns
Setup Time GAINADJ(2:0), IN(13:0), ENI, COF, COFSYNC, and SYNCIN1 to CLKIN
tDS
7
-
ns
Hold Time GAINADJ(2:0), IN(13:0), ENI, COF, COFSYNC, and SYNCIN1 to CLKIN
tDH
0
-
ns
Setup Time AGCGNSEL, SOF, MCSYNCI, SOFSYNC, and SYNCIN2 to PROCCLK
tDSS
7
-
ns
Hold Time AGCGNSEL, SOF, MCSYNCI, SOFSYNC, and SYNCIN2 to PROCCLK
tDHS
0
-
ns
Setup Time A(2:0), C(7:0) to Rising Edges of WR
tWS
8
-
ns
Hold Time A(2:0), C(7:0) to Rising Edges of WR
tWH
3
-
ns
WR to CLKIN
tWC
15
-
ns
(Note 6)
PROCCLK to AOUT(15:0), BOUT(15:0), DATARDY, SEROUTA, SEROUTB,
SERSYNC, INTRRP, MCSYNCO SYNCOUT Valid
tDO
-
10
ns
PROCCLK to SERCLK Valid
tDOS
-
15
ns
WR High
tWRH
15
-
ns
WR Low
tWRL
10
-
ns
RD Low
tRL
25
-
ns
Address Setup to Read Low
tAS
-
3
ns
RD LOW to Data Valid
tRDO
-
24
ns
RD HIGH to Output Disable
tROD
-
10
ns
(Note 5)
Output Enable Time
tOE
-
8
ns
Output Disable Time
tOD
-
8
ns
(Note 5)
Output Rise, Fall Time
tRF
-
3
ns
(Note 5)
NOTES:
8. AC tests performed with CL = 40pF, IOL = 2mA, and IOH = -400µA. Input reference level for CLK is 2.0V, all other inputs 1.5V.
Test VIH = 3.0V, VIHC = 4.0V, VIL = 0V.
9. Controlled via design or process parameters and not directly tested. Characterized upon initial design and at major process or design
changes.
10. Setup time required to ensure action initiated by WR will be seen by a particular CLKIN.
AC Test Load Circuit
DUT
S1
CL (NOTE)
SWITCH S1 OPEN FOR ICCSB AND ICCOP
IOH
±
1.5V
EQUIVALENT CIRCUIT
NOTE: Test head capacitance.
52
IOL
HSP50214
Waveforms
tRL
RD
tWRL
tAS
tWRH
A(2-0)
WR
tWS
tWH
C(0-7)
C(0-7), A(0-2)
tROD
tRDO
FIGURE 47. TIMING RELATIVE TO WR
FIGURE 48. TIMING RELATIVE TO RD
tCP
tCL
tCH
CLKIN
tDS
tRF
tDH
IN(13:0), COF
GAINADJ(2:0), ENI,
COFSYNC, SYNCIN1
tRF
2.0V
0.8V
WR
tWC
FIGURE 49. OUTPUT RISE AND FALL TIMES
FIGURE 50. TIMING RELATIVE TO CLKIN
tPCP
tPCL
tPCH
PROCCLK
tDSS
tDHS
AGCGNSEL, MCSYNC1
SOF, SOFSYNC, SYNCIN2
OEAH, OEAL,
OEBH, OEBL
tOE
OUTA(15:8), OUTA(7:0),
OUTB(15:8), OUTB(7:0)
AOUT(15:0), BOUT(15:0),
DATARDY, INTRRP, MCSYNC0,
SYNCOUT, SEROUTA,
SEROUTB, SERSYNC
1.5V
1.5V
tOD
1.7V
tDO
SERCLK
1.3V
tDOS
FIGURE 51. OUTPUT ENABLE/DISABLE
FIGURE 52. TIMING RELATIVE TO PROCCLK
tRCP
fRCP =
I
tRCP
tRCP = 2 tRCP
tRCH
tRCL
FIGURE 53. REFCLK
53
HSP50214
All Intersil semiconductor products are manufactured, assembled and tested under ISO9000 quality systems certification.
Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design 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 web site http://www.intersil.com
Sales Office Headquarters
NORTH AMERICA
Intersil Corporation
P. O. Box 883, Mail Stop 53-204
Melbourne, FL 32902
TEL: (321) 724-7000
FAX: (321) 724-7240
EUROPE
Intersil SA
Mercure Center
100, Rue de la Fusee
1130 Brussels, Belgium
TEL: (32) 2.724.2111
FAX: (32) 2.724.22.05
54
ASIA
Intersil (Taiwan) Ltd.
Taiwan Limited
7F-6, No. 101 Fu Hsing North Road
Taipei, Taiwan
Republic of China
TEL: (886) 2 2716 9310
FAX: (886) 2 2715 3029