ETC AN53

AN53
The CS5322 Digital Filter
by Jerome Johnston
are lower cost but floating-point processors have
more horsepower. Fixed point processors work
with either 16, 20, or 24-bit data words, while
floating-point processors operate with 32-bit data
words. The size of the data word greatly
influences the cost of the chip and the cost of the
overall system. This is because data word length
determines the size of the registers used in the
processor, the number of pins required on the
package, and the word-width of the external
memory. If low cost is the number one goal in a
DSP design, the designer will specify a DSP
which has the smallest word size that the
application can tolerate.
Delta-Sigma A/D converters have become
widely accepted by data acquisition designers
because of their high performance. One of the
highest dynamic range Delta-Sigma converters is
the Crystal Semiconductor CS5321/CS5322 chip
set. The CS5321 is a fourth order modulator.
The CS5322 is a linear phase FIR decimation
filter. The purpose of this Technical Brief is to
compare the architecture of a general purpose
DSP chip with that of the CS5322.
General purpose DSPs are available which
support either fixed-point arithmetic or
floating-point arithmetic. Fixed-point processors
Modulator Bitstream
256 Kbit
11 Bits
Multiplier/
Accumulator
ROM
33 11-bit
Coefficients
24 bits
FIR
224 Word
24-bit RAM
1
2
3
Coefficients
33
13
101
11-bit
24-bit
24-bit
Decimation
8
4,8,16,32,64,... 256
2
24 bits
24 x 24
Multiplier
50 Bits
60 bits
ROM
96 60-bit
Coefficients
48 Bits
50-bit Accumulator Array
(9 50-bit accumulators)
24 bits
24-bit Serial Port
Figure 1. Digital Filter Block Diagram
Crystal Semiconductor Corporation
P.O. Box 17847, Austin, TX 78760
(512) 445 7222 FAX 445 7581
http://www.crystal.com
Copyright  Crystal Semiconductor Corporation 1996
(All Rights Reserved)
JUL ’96
AN53REV2
1
CS5322 Filter
Output Word Rate(Hz)
(CLKIN = 1.024 MHz)
4000
2000
1000
500
250
125
62.5
-3dB Bandwidth (Hz)
Dynamic Range* (dB)
1652.3
824.3
411.9
205.9
102.9
51.5
25.7
103
118
120
123
126
128
130
* Modulator and Filter Combination; limited by the modulator
Table 1 CS5322 Filter Bandwidth Selections
Most general purpose processors, whether they
be fixed-point, or floating point, use a central
ALU (Arithmetic Logic Unit), through which all
processing occurs.
The CS5322 is a "signal processing chip" which
performs a dedicated FIR low pass filter
function. Figure 1 illustrates the block diagram
of the CS5322. When the CS5322 is operated
from a 1.024 MHz clock, the filter provides
seven deferent selectable decimation rates as
shown in Table 1. The -3 dB bandwidth of each
decimation rate is approximately 82% of the
nyquist frequency. The filter achieves a
minimum of 130 dB attenuation at the nyquist
frequency for all filter selections.
The filter offers selection of any one of seven
filter frequencies by means of hardware pins on
the chip or by means of writing a control word
into the configuration register via the serial port.
The CS5322 is architecturally quite different
from a general purpose DSP. The CS5322
contains three FIR filter stages. The 256 kHz
1-bit stream from the modulator enters FIR1 and
is multiplied by 33 11-bit coefficients. The bit
stream is decimated by eight as it is processed
and the output data is placed in RAM. FIR2 and
FIR3 are executed using a common multiplier.
FIR2 is a 13 coefficient (24-bit) variable
decimation stage. FIR2 can be programmed to
decimate at rates of 4, 8, 16, 32, 64, 128, and
256. Computations for FIR2 are processed in a
low power 24-bit by 24-bit multiplier and
2
accumulated in eight successive 50-bit
accumulators. The decimation rate is controlled
by the choice of which of the accumulators feeds
back to the multiplier. The output of FIR2 is
then processed by the 24-bit by 24-bit multiplier
and accumulated in a ninth 50-bit accumulator.
The decimate by 2 output result of FIR3 is
placed into the 24-bit serial port register in two’s
complement format.
Each of the seven filter output selections is
designed to ensure that, given an impulse input,
that one of the output words will provide a
sample point at the peak of the impulse
response. Because of this design feature, the
clock cycle lengths of each of the actual seven
filters are not binary multiples of each other.
Instead, the filters are designed to buffer input
data (each filter has a different buffer length to
ensure it provides a sample at the impulse peak)
to facilitate proper operation. The filter is
designed that to the user the filters actually take
c1(1)=0.0d0
c1(2)=0.0d0
c1(3)=1.0d0
c1(4)=4.0d0
c1(5)=10.0d0
c1(6)=20.0d0
c1(7)=35.0d0
c1(8)=56.0d0
c1(9)=84.0d0
c1(10)=120.0d0
c1(11)=161.0d0
c1(12)=204.0d0
c1(13)=246.0d0
c1(14)=284.0d0
c1(15)=315.0d0
c1(16)=336.0d0
c1(17)=344.0d0
c1(18)=336.0d0
c1(19)=315.0d0
c1(20)=284.0d0
c1(21)=246.0d0
c1(22)=204.0d0
c1(23)=161.0d0
c1(24)=120.0d0
c1(25)=84.0d0
c1(26)=56.0d0
c1(27)=35.0d0
c1(28)=20.0d0
c1(29)=10.0d0
c1(30)=4.0d0
c1(31=1.0d0
c1(32)=0.0d0
c1(33 =0.0d0
Table 2. FIR1 Filter Coefficients
AN53REV2
CS5322 Filter
c2(1)=8192.0d0
c2(6)=6488064.0d0 c2(11)=540672.0d0
c2(2)=98304.0d0
c2(7)=7569408.0d0
c2(12)=98304.0d0
c2(3)=540672.0d0
c2(8 =6488064.0d0
c2(13)=8192.0d0
c2(4)=1802240.0d0 c2(9)=4055040.0d0
c2(5)=4055040.0d0 c2(10)=1802240.0d0
Table 3. FIR2 Filter Coefficients
binary multiples of clock cycles relative to each
other, going from slowest to the fastest, but
because of the internal data buffering the filter
actually takes one more filter output word to
settle than a strict analysis of the filter
coefficients would imply. The filter settles to
full accuracy to a input step in 57 output words.
Tables 2, 3 and 4 list the filter coefficients for
the three FIR filter stages.
The CS5322 digital filter consumes only 11
milliwatt power although it consist of
approximately 76,000 transistors. An analog
filter of comparable complexity would consist of
over 233,000 reactive elements.
c3(1)=-26.0d0
c3(2)=-247.0d0
c3(3)=-822.0d0
c3(4)=-1362.0d0
c3(5)=-839.0d0
c3(6)=1012.0d0
c3(7)=2197.0d0
c3(8)=212.0d0
c3(9)=-3443.0d0
c3(10)=-3077.0d0
c3(11)=3156.0d0
c3(12)=7168.0d0
c3(13)=-256.0d0
c3(14)=-10709.0d0
c3(15)=-7644.0d0
c3(16)=10713.0d0
c3(17)=18055.0d0
c3(18)=-3873.0d0
c3(19)=-28007.0d0
c3(20)=-11826.0d0
c3(21)=31641.0d0
c3(22)=35194.0d0
c3(23)=-22177.0d0
c3(24)=-60427.0d0
c3(25)=-5404.0d0
c3(26)=77065.0d0
c3(27)=51056.0d0
c3(28)=-71982.0d0
c3(29)=-106905.0d0
c3(30)=33416.0d0
c3(31)=156296.0d0
c3(32)=43678.0d0
c3(33)=-175718.0d0
c3(34)=-152409.0d0
c3(35)=139856.0d0 c3(69)=-175718.0d0
c3(36)=270573.0d0
c3(70)=43678.0d0
c3(37)=-29083.0d0 c3(71)=156296.0d0
c3(38)=-360427.0d0 c3(72)=33416.0d0
c3(39)=-162173.0d0 c3(73)=-106905.0d0
c3(40)=371807.0d0 c3(74)=-71982.0d0
c3(41)=417807.0d0
c3(75)=51056.0d0
c3(42)=-246840.0d0 c3(76)=77065.0d0
c3(43)=-693181.0d0 c3(77)=-5404.0d0
c3(44)=-78388.0d0 c3(78)=-60427.0d0
c3(45)=902497.0d0 c3(79)=-22177.0d0
c3(46)=685231.0d0
c3(80)=35194.0d0
c3(47)=-865217.0d0 c3(81)=31641.0d0
c3(48)=-1713558.0d0 c3(82)=-11826.0d0
c3(49)=-262.0d0
c3(83)=-28007.0d0
c3(50)=3276208.0d0 c3(84)=-3873.0d0
c3(51)=4950471.0d0 c3(85)=18055.0d0
c3(52)=3276208.0d0 c3(86)=10713.0d0
c3(53)=-262.0d0
c3(87)=-7644.0d0
c3(54)=-1713558.0d0 c3(88)=-10709.0d0
c3(55)=-865217.0d0
c3(89)=-256.0d0
c3(56)=685231.0d0
c3(90)=7168.0d0
c3(57)=902497.0d0
c3(91)=3156.0d0
c3(58)=-78388.0d0
c3(92)=-3077.0d0
c3(59)=-693181.0d0 c3(93)=-3443.0d0
c3(60)=-246840.0d0
c3(94)=212.0d0
c3(61)=417807.0d0
c3(95)=2197.0d0
c3(62)=371807.0d0
c3(96)=1012.0d0
c3(63)=-162173.0d0
c3(97)=-839.0d0
c3(64)=-360427.0d0 c3(98)=-1362.0d0
c3(65)=-29083.0d0
c3(99)=-822.0d0
c3(66)=270573.0d0
c3(100)=-247.0d0
c3(67)=139856.0d0
c3(101)=-26.0d0
c3(68)=-152409.0d0
Table 4. FIR3 Filter Coefficients
AN53REV2
3