HSP43220 ® Data Sheet July 2004 FN2486.9 Decimating Digital Filter Features The HSP43220 Decimating Digital Filter is a linear phase low pass decimation filter which is optimized for filtering narrow band signals in a broad spectrum of a signal processing applications. The HSP43220 offers a single chip solution to signal processing applications which have historically required several boards of ICs. This reduction in component count results in faster development times as well as reduction of hardware costs. • Single Chip Narrow Band Filter with up to 96dB Attenuation The HSP43220 is implemented as a two stage filter structure. As seen in the block diagram, the first stage is a high order decimation filter (HDF) which utilizes an efficient sample rate reduction technique to obtain decimation up to 1024 through a coarse low-pass filtering process. The HDF provides up to 96dB aliasing rejection in the signal pass band. The second stage consists of a finite impulse response (FIR) decimation filter structured as a transversal FIR filter with up to 512 symmetric taps which can implement filters with sharp transition regions. The FIR can perform further decimation by up to 16 if required while preserving the 96dB aliasing attenuation obtained by the HDF. The combined total decimation capability is 16,384. The HSP43220 accepts 16-bit parallel data in 2’s complement format at sampling rates up to 33MSPS. It provides a 16-bit microprocessor compatible interface to simplify the task of programming and three-state outputs to allow the connection of several ICs to a common bus. The HSP43220 also provides the capability to bypass either the HDF or the FIR for additional flexibility. • DC to 33MHz Clock Rate • 16-Bit 2’s Complement Input • 20-Bit Coefficients in FIR • 24-Bit Extended Precision Output • Programmable Decimation up to a Maximum of 16,384 • Standard 16-Bit Microprocessor Interface • Filter Design Software Available DECIMATE™ • Up to 512 Taps Applications • Very Narrow Band Filters • Zoom Spectral Analysis • Channelized Receivers • Large Sample Rate Converter Ordering Information PART NUMBER TEMP. RANGE (°C) PACKAGE PKG. DWG. # HSP43220JC-25 0 to 0 84 Ld PLCC N84.1.15 HSP43220JC-33 0 to 70 84 Ld PLCC N84.1.15 DECIMATE Software Development Tool (This software tool may be downloaded from our Internet site: www.intersil.com) Block Diagram INPUT CLOCK DATA INPUT CONTROL AND COEFFICIENTS DECIMATION UP TO 1024 DECIMATION UP TO 16 HIGH ORDER DECIMATION FILTER FIR DECIMATION FILTER 16 16 24 DATA OUT DATA READY FIR CLOCK 1 CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures. 1-888-INTERSIL or 321-724-7143 | Intersil (and design) is a registered trademark of Intersil Americas Inc. Copyright © Intersil Americas Inc. 2000, 2004. All Rights Reserved DECIMATE™ is a trademark of Intersil Corporation. HSP43220 Pinout GND DATA_IN 0 DATA_IN 1 DATA_IN 2 DATA_IN 3 DATA_IN 4 DATA_IN 5 DATA_IN 6 DATA_IN 7 DATA_IN 8 DATA_IN 9 DATA_IN 10 DATA_IN 11 DATA_IN 12 DATA_IN 13 DATA_IN 14 DATA_IN 15 VCC GND CK_IN VCC 84 PLASTIC LEADED CHIP CARRIER (PLCC) 11 10 9 8 7 6 5 4 3 2 1 84 83 82 81 80 79 78 77 76 75 STARTOUT VCC STARTIN ASTARTIN RESET A1 A0 WR CS C_BUS 15 C_BUS 14 C_BUS 13 C_BUS 12 C_BUS 11 C_BUS 10 C_BUS 9 VCC GND C_BUS 8 C_BUS 7 C_BUS 6 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 GND DATA_OUT 0 DATA_OUT 1 DATA_OUT 2 DATA_OUT 3 DATA_OUT 4 DATA_OUT 5 DATA_OUT 6 DATA_OUT 7 DATA_OUT 8 DATA_OUT 9 DATA_OUT 10 DATA_OUT 11 GND VCC DATA_OUT 12 DATA_OUT 13 DATA_OUT 14 DATA_OUT 15 DATA_OUT 16 DATA_OUT 17 C_BUS 5 C_BUS 4 C_BUS 3 C_BUS 2 C_BUS 1 C_BUS 0 OUT_SELH OUT_ENP OUT_ENX VCC GND FIR_CK VCC GND DATA_RDY DATA_OUT 23 DATA_OUT 22 DATA_OUT 21 DATA_OUT 20 DATA_OUT 19 DATA_OUT 18 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 Pin Description NAME TYPE DESCRIPTION VCC The +5V power supply pins. GND The device ground. CK_IN I Input Sample Clock. Operations in the HDF are synchronous with the rising edge of this clock signal. The maximum clock frequency is 33MHz. CK_IN is synchronous with FIR_CK and thus the two clocks may be tied together if required, or CK_IN can be divided down from FIR_CK. CK_IN is a CMOS level signal. FIR_CK I Input Clock for the FIR Filter. This clock must be synchronous with CK_IN. Operations in the FIR are synchronous with the rising edge of this clock signal. The maximum clock frequency is 33MHz. FIR_CK is a CMOS level signal. DATA_IN015 I Input Data Bus. This bus is used to provide the 16-bit input data to the HSP43220. The data must be provided in a synchronous fashion, and is latched on the rising edge of the CK_IN signal. The data bus is in 2's complement fractional format. Bit 15 is the MSB. C_BUS0-15 I Control Input Bus. This input bus is used to load all the filter parameters. The pins WR, CS and A0, A1 are used to select the destination of the data on the Control bus and write the Control bus data into the appropriate register as selected by A0 and A1 DATA_OUT 0-23 O Output Data Bus. This 24-Bit output port is used to provide the filtered result in 2's complement format. The upper 8 bits of the output, DATA_OUT16-23 will provide extension or growth bits depending on the state of OUT_SELH and whether the FIR has been put in bypass mode. Output bits DATA_OUT0-15 will provide bits 20 through 2-15 when the FIR is not bypassed and will provide the bits 2-16 through 2-31 when the FIR is in bypass mode. DATA_RDY O An active high output strobe that is synchronous with FIR_CK that indicates that the result of the just completed FIR cycle is available on the data bus. 2 HSP43220 Pin Description (Continued) NAME TYPE DESCRIPTION RESET I RESET is an asynchronous signal which requires that the input clocks CK_IN and FIR_CK are active when RESET is asserted. RESET disables the clock divider and clears all of the internal data registers in the HDF. The FIR filter data path is not initialized. The control register bits that are cleared are F_BYP, H_STAGES, and H_DRATE. The F_DIS bit is set. In order to guarantee consistent operation of the part, the user must reset the DDF after power up. WR I Write Strobe. WR is used for loading the internal registers of the HSP43220. When CS and WR are asserted, the rising edge of WR will latch the C_BUS0-15 data into the register specified by A0 and A1. CS I Chip Select. The Chip Select input enables loading of the internal registers. When CS and WR are low, the A0 and A1 address lines are decoded to determine the destination of the data on C_BUS0-15. The rising edge of WR then loads the appropriate register as specified by A0 and A1. A0, A1 I Control Register Address. These lines are decoded to determine which control register is the destination for the data on C_BUS0-15. Register loading is controlled by the A0 and A1, WR and CS inputs. ASTARTIN I ASTARTIN is an asynchronous signal which is sampled on the rising edge of CK_IN. It is used to put the DDF in operational mode. ASTARTIN is internally synchronized to CK_IN and is used to generate STARTOUT. STARTOUT O STARTOUT is a pulse generated from the internally synchronized version of ASTARTIN. It is provided as an output for use in multi-chip configurations to synchronously start multiple HSP43220's. The width of STARTOUT is equal to the period of CK_IN. STARTIN I STARTIN is a Synchronous Input. A high to low transition of this signal is required to start the part. STARTIN is sampled on the rising edge of CK_IN. This synchronous signal can be used to start single or multiple HSP43220's. OUT_SELH I Output Select. The OUT_SELH input controls which bits are provided at output pins DATA_OUT16-23. A HIGH on this control line selects bits 28 through 21 from the accumulator output. A LOW on this control line selects bits 2-16 through 2-23 from the accumulator output. Processing is not interrupted by this pin. OUT_ENP I Output Enable. The OUT_ENP input controls the state of the lower 16 bits of the output data bus, DATA_OUT0-15. A LOW on this control line enables the lower 16 bits of the output bus. When OUT_ENP is HIGH, the output drivers are in the high impedance state. Processing is not interrupted by this pin. OUT_ENX I Output Enable. The OUT_ENX input controls the state of the upper 8 bits of the output data bus, DATA_OUT16-23. A LOW on this control line enables the upper 8 bits of the output bus. When OUT_ENX is HIGH, the output drivers are in the high impedance state. Processing is not interrupted by this pin. The HDF Integrator Section The first filter section is called the High Order Decimation Filter (HDF) and is optimized to perform decimation by large factors. It implements a low pass filter using only adders and delay elements instead of a large number of multiplier/ accumulators that would be required using a standard FIR filter. The data from the shifter goes to the Integrator section. This is a cascade of 5 integrator (or accumulator) stages, which implement a low pass filter. Each accumulator is implemented as an adder followed by a register in the feed forward path. The integrator is clocked by the sample clock, CK_IN as shown in Figure 2. The bit width of each integrator stage goes from 66 bits at the first integrator down to 26 bits at the output of the fifth integrator. Bit truncation is performed at each integrator stage because the data in the integrator stages is being accumulated and thus is growing, therefore the lower bits become insignificant, and can be truncated without losing significant data. The HDF is divided into 4 sections: the HDF filter section, the clock divider, the control register logic and the start logic (Figure 1). Data Shifter After being latched into the Input Register the data enters the Data Shifter. The data is positioned at the output of the shifter to prevent errors due to overflow occurring at the output of the HDF. The number of bits to shift is controlled by H_GROWTH. 3 HSP43220 A0-1 WR CS C_BUS CK_IN RESET CK_IN ASTARTIN RESET STARTIN H_DRATE CONTROL REGISTER LOGIC 6 5 H_GROWTH ISTART CLOCK DIVIDER H_BYP STARTOUT START LOGIC 5 CK DEC COMB_EN1-5 INT_EN1-5 HDF FILTER SECTION ISTART H_GROWTH INT_EN1-5 6 DATA IN 16 INPUT REG 16 RESET COMB_EN1-5 5 DATA SHIFTER 66 RESET 5 INTEGRATOR TO FIR DEC REG 26 26 COMB FILTER ROUND 19 16 REG CK_IN 16 TO FIR CK_DEC FIGURE 1. HIGH ORDER DECIMATION FILTER FIGURE 0 FROM SHIFTER 66 CK 0 0 0 0 MUX MUX MUX MUX MUX INT_EN5 INT_EN4 INT_EN3 INT_EN2 INT_EN1 ∑ REG 63 ∑ REG 53 ∑ REG 43 ∑ REG 35 ∑ TO DECIMATION REGISTER REG 26 IN FIGURE 2. INTEGRATOR There are three signals that control the integrator section; they are H_STAGES, H_BYP and RESET. In Figure 2 these control signals have been decoded and are labelled INT_EN1 - INT_EN5. The order of the filter is loaded via the control bus and is called H_STAGES. H_STAGES is decoded to provide the enables for each integrator stage. When a given integrator stage is selected, the feedback path is enabled and the integrator accumulates the current data sample with the previous sum. The integrator section can be put in bypass mode by the H_BYP bit. When H_BYP or RESET is asserted, the feedback paths in all integrator stages are cleared. Comb Filter Section Decimation Register There are three signals that control the Comb Filter; H_ STAGES, H_BYP and RESET. In Figure 3 these control signals are decoded as COMB_EN1 - COMB_EN5. The order of the Comb filter is controlled by H_STAGES, which is programmed over the control bus. H_BYP is used to put the comb section in bypass mode. RESET causes the register output in each Comb stage to be cleared. The H_ BYP and RESET control pins, when asserted force the output of all registers to zero so data is passed through the subtractor unaltered. When the H_STAGES control bits enable a given stage the output of the register is subtracted from the input. The output of the Integrator section is latched into the Decimation Register by CK_DEC. The output of the Decimation register is cleared when RESET is asserted. The HDF decimation rate = H_DRATE +1, which is defined as HDEC for convenience. 4 The output of the Decimation Register is passed to the Comb Filter Section. The Comb section consists of 5 cascaded Comb filters or differentiators. Each Comb filter section calculates the difference between the current and previous integrator output. Each Comb filter consists of a register which is clocked by CK_DEC, followed by an subtractor, where the subtractor calculates the difference between the input and output of the register. Bit truncations are done at each stage as shown in Figure 3. The first stage bit width is 26 bits and the output of the fifth stage is 19 bits. HSP43220 COMB_EN5 COMB_EN4 COMB_EN3 COMB_EN2 COMB_EN1 RESET RESET RESET RESET FROM DECIMATION REGISTER RESET REG 26 B A-B 22 A REG B A-B 21 A REG 19 B A-B 20 A REG B A-B 19 A REG TO ROUNDER B A-B A CK_DEC FIGURE 3. COMB FILTER It is important to note that the Comb filter section has a speed limitation. The Input sampling rate divided by the decimation factor in the HDF (CK_IN/HDEC) should not exceed 4MHz. Violating this condition causes the output of the filter to be incorrect. When the HDF is put in bypass mode this limitation does not apply. Equation 1 describes the relationship between F_TAPS, F_DRATE, H_DRATE, CK_IN and FIR_CK. Rounder The filter accuracy is limited by the 16-bit data input. To maintain the maximum accuracy, the output of the comb is rounded to 16 bits. The Rounder performs a symmetric round of the 19-bit output of the last Comb stage. Symmetric rounding is done to prevent the synthesis of a 0Hz spectral component by the rounding process and thus causing a reduction in spurious free dynamic range. Saturation logic is also provided to prevent roll over from the largest positive value to the most negative value after rounding. The output of the last comb filter stage in the HDF section has a 16-bit integer portion with a 3-bit fractional part in 2's complement format. The rounding algorithm is as follows: POSITIVE NUMBERS Fractional Portion Greater Than or Equal to 0.5 Round Up Fractional Portion Less Than 0.5 Truncate NEGATIVE NUMBERS Fractional Portion Less Than or Equal to 0.5 Round Up Fractional Portion Greater Than 0.5 Truncate The output of the rounder is latched into the HDF output register with CK_DEC. CK_DEC is generated by the Clock Divider section. The output of the register is cleared when RESET is asserted. 5 Clock Divider and Control Logic The clock divider divides CK_IN by the decimation factor HDEC to produce CK_DEC. CK_DEC clocks the Decimation Register, Comb Filter section, HDF output register. In the FIR filter CK_DEC is used to indicate that a new data sample is available for processing. The clock generator is cleared by RESET and is not enabled until the DDF is started by an internal start signal (see Start Logic). The Control Register Logic enables the updating of the Control registers which contain all of the filter parameter data. When WR and CS are asserted, the control register addressed by bits A0 and A1 is loaded with the data on the C_BUS. HSP43220 DDF Control Registers F_Register (A1 = 0, A0 = 0) F_OAD F_BYP F_ESYM FA0 FB0 ES0 15 14 F_DRATE F_TAPS D3 D2 D1 D0 T8 13 12 11 10 9 8 T7 T6 7 6 T5 5 T4 4 T3 3 T2 2 T1 1 T0 0 F_TAPS Bits T0-T8 are used to specify the number of FIR filter taps. The number entered is one less than the number of taps required. For example, to specify a 511 tap filter F_TAPS would be programmed to 510. The minimum number of FIR taps = 3 (F_TAPS = 2). F_DRATE Bits D0-D3 are used to specify the amount of FIR decimation. The number entered is one less than the decimation required. For example, to specify decimation of 16, F_DRATE would be programmed to 15. For no FIR decimation, F_DRATE would be set equal to 0. FDRATE +1 is defined as FDEC. F_ESYM Bit ES0 is used to select the FIR symmetry. F_ESYM is set equal to one to select even symmetry and set equal to zero to select odd symmetry. When F_ESYM is one, data is added in the pre-adder; when it is zero, data is subtracted. Normally set to one. F_BYP FB0 is used to select FIR bypass mode. FIR bypass mode is selected by setting F_BYP = 1. When FIR bypass mode is selected, the FIR is internally set up for a 3 tap even symmetric filter, no decimation (F_DRATE = 0) and F_OAD is set equal to one to zero one side of the preadder. In FIR bypass mode all FIR filter parameters, except F_CLA, are ignored, including the contents of the FIR coefficient RAM. In FIR bypass mode the output data is brought output on the lower 16 bits of the output bus DATA_OUT 0-15. To disable FIR bypass mode, F_BYP is set equal to zero. When F_BYP is returned to zero, the coefficients must be reloaded. F_OAD Bit FA0 is used to select the zero the preadder mode. This mode zeros one of the inputs to the pre-adder. Zero preadder mode is selected by setting F_OAD equal to one. This feature is useful when implementing arbitrary phase filters or can be used to verify the filter coefficients. To disable the Zero Preadder mode F_OAD is set equal to zero. FIGURE 4. 6 HSP43220 DDF Control Registers (Continued) FC_Register (A1 = 0, A0 = 1) F_CF C19 C18 C17 C16 C15 C14 C13 C12 C11 C10 X X X X X X 15 14 13 12 11 10 X X 9 X 8 X 7 6 C9 C8 C7 C6 C5 C4 X X C3 C2 C1 C0 3 2 1 0 5 4 F_CF Bits C0-C19 represent the coefficient data, where C19 is the MSB. Two writes are required to write each coefficient which is 2's complement fractional format. The first write loads C19 through C4; C3 through C0 are loaded on the second write cycle. As the coefficients are written into this register they are formatted into a 20-bit coefficient and written into the Coefficient RAM sequentially starting with address location zero. The coefficients must be loaded sequentially, with the center tap being the last coefficient to be loaded. See coefficient RAM, below. FIGURE 5. H_Register 1 (A1 = 1, A0 = 0) RESERVED 15 14 13 F_DIS F_CLA H_BYP H_DRATE FD0 FC0 HB0 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 12 11 10 9 8 7 6 5 4 3 2 1 0 H_DRATE Bits R0-R9 are used to select the amount of decimation in the HDF. The amount of decimation selected is programmed as the required decimation minus one; for instance to select decimation of 1024 H_DRATE is set equal to 1023. HDRATE +1 is defined as HDEC. H_BYP Bit HB0 is used to select HDF bypass mode. This mode is selected by setting H_BYP = 1. When this mode is selected the input data passes through the HDF unfiltered. Internally H_STAGES and H_DRATE are both set to zero and H_GROWTH is set to 50. H_REGISTER 2 must be reloaded when H_BYP is returned to 0. To disable HDF bypass mode H_BYP = 0. The relationship between CK_IN and FIR_CK in this and all other modes is defined by Equation 1. F_CLA Bit FC0 is used to select the clear accumulator mode in the FIR. This mode is enabled by setting F_CLA = 1 and is disabled by setting F_CLA = 0. In normal operation this bit should be set equal to zero. This mode zeros the feedback path in the accumulator of the multiplier/accumulator (MAC). It also allows the multiplier output to be clocked off the chip by FIR_CK, thus DATA_RDY has no meaning in this mode. This mode can be used in conjunction with the F_OAD bit to read out the FIR coefficients from the coefficient RAM. F_DIS Bit FD0 is used to select the FIR disable mode. This feature enables the FIR parameters to be changed. This feature is selected by setting F_DIS = 1. This mode terminates the current FIR cycle. While this feature is selected, the HDF continues to process data and write it into the FIR data RAM. When the FIR re-programming is completed, the FIR can be re-enabled either by clearing F_DIS, or by asserting one of the start inputs, which automatically clears F_DIS. FIGURE 6. 7 HSP43220 DDF Control Registers (Continued) H_Register 2 (A1 = 1, A0 = 1) RESERVED H_GROWTH 15 14 13 12 11 10 9 8 H_STAGES G5 G4 G3 G2 G1 G0 N2 N1 7 6 5 4 3 2 1 0 N0 H_STAGES Bits N0-N2 are used to select the number of stages or order of the HDF filter. The number that is programmed in is equal to the required number of stages. For a 5th order filter, H_STAGES would be set equal to 5. H_GROWTH Bits G0-G5 are used to select the proper amount of growth bits. H_GROWTH is calculated using the following equation: H_GROWTH = 50 - CEILING {H_STAGES X log (HDEC)/ log(2)} where the CEILING { } means use the next largest integer of the result of the value in brackets and log is the log to the base 10. The value of H_GROWTH represents the position of the LSB on the output of the data shifter. FIGURE 7. Start Logic The Start Logic generates a start signal that is used internally to synchronously start the DDF. If ASTARTIN is asserted (STARTIN must be tied high) the Start Logic synchronizes it to CK_IN by double latching the signal and generating the signal STARTOUT, which is shown in Figure 8. The STARTOUT signal is then used to synchronously start other DDFs in a multi-chip configuration (the STARTOUT signal of the first DDF would be tied to the STARTIN of the second DDF). The NAND gate shown in Figure 8 then passes this synchronized signal to be used on chip to provide a synchronous start. Once started, the chip requires a RESET to halt operation. RESET STARTIN S ASTARTIN D S Q D Q CK_IN ISTART STARTOUT FIGURE 8. START LOGIC When STARTIN is asserted (ASTARTIN must be tied high) the NAND gate passes STARTIN which is used to provide the internal start, ISTART, for the DDF. When RESET is asserted the internal start signal is held inactive, thus it is necessary to assert either ASTARTIN or STARTIN in order to start the DDF. The timing of the first valid DATA_IN with respect to START_IN is shown in the Timing Waveforms. 8 In using ASTARTIN or STARTIN a high to low transition must be detected by the rising edge of CK_IN, therefore these signals must have been high for more than one CK_IN cycle and then taken low. The FIR Section The second filter in the top level block diagram is a Finite Impulse Response (FIR) filter which performs the final shaping of the signal spectrum and suppresses the aliasing components in the transition band of the HDF. This enables the DDF to implement filters with narrow pass bands and sharp transition bands. The FIR is implemented in a transversal structure using a single multiplier/accumulator (MAC) and RAM for storage of the data and filter coefficients as shown in Figure 9. The FIR can implement up to 512 symmetric taps and decimation up to 16. The FIR is divided into 2 sections: the FIR filter section and the FIR control logic. Coefficient RAM The Coefficient RAM stores the coefficients for the current FIR filter being implemented. The coefficients are loaded into the Coefficient RAM over the control bus (C_BUS). The coefficients are written into the Coefficient RAM sequentially, starting at location zero. It is only necessary to write one half of the coefficients when symmetric filters are being implemented, where the last coefficient to be written in is the center tap. HSP43220 The coefficients are loaded into address 01 in two writes. The first write loads the upper 16 bits of the 20-bit coefficient, C4 through C19. The second write loads the lower 4 bits of the coefficient, C0 through C3, where C19 is the MSB. The two 16-bit writes are then formatted into the 20-bit coefficient that is then loaded into the Coefficient RAM starting at RAM address location zero, where the coefficient at this location is the outer tap (or the first coefficient value). To reload coefficients, the Coefficient RAM Address pointer must be reset to location zero so that the coefficients will be loaded in the order the FIR filter expects. There are two methods that can be used to reset the Coefficient RAM address pointer. The first is to assert RESET, which automatically resets the pointer, but also clears the HDF and alters some of the control register bits. (RESET does not change any of the coefficient values.) The second method is to set the F_DIS bit in control register H_ REGISTER1. This control bit allows any of the FIR control register bits to be reprogrammed, but does not automatically modify any control registers. When the programming is completed, the FIR is re-started by clearing the F_DIS bit or by asserting one of the start inputs (ASTARTIN or STARTIN). The F_DIS bit allows the filter parameters to be changed more quickly and is thus the recommended reprogramming method. Data RAM The Data RAM stores the data needed for the filter calculation. The format of the data is: 20.2-12-22-32-42-52-62-72-82-92-102-112-122-132-142-15 where the sign bit is in the 20 location. The 16-bit output of the HDF Output Register is written into the Data Ram on the rising edge of CK_DEC. RESET initializes the write pointer to the data RAM. After a RESET occurs, the output of the FIR will not be valid until the number of new data samples written to the Data RAM equals TAPS. The filter always operates on the most current sample and the taps-1 previous samples. Thus if the F_DIS bit is set, data continues to be written into the data RAM coming from the HDF section. When the FIR is enabled again the filter will be operating on the most current data samples and thus another transient response will not occur. The maximum throughput of the FIR filter is limited by the use of a single Multiplier/Accumulator (MAC). The data output from the HDF being clocked into the FIR filter by CK_DEC must not be at a rate that causes an erroneous result being calculated because data is being overwritten. The equation shown below describes the relationship between, FIR_CK, CK_DEC, the number of taps that can be implemented in the FIR, the decimation rate in the HDF and the decimation rate in the FIR. (In the Design Considerations 9 section of the OPERATIONAL SECTION there is a chart that shows the tradeoffs between these parameters.) CK_IN [ ( TAPS/2 ) + 4 + F DEC ] FIR_CK ≥ ---------------------------------------------------------------------------------H DEC F DEC (EQ. 1) This equation expresses the minimum FIR_CK. The minimum FIR_CK is the smallest integer multiple of CK_IN that satisfies Equation 1. In addition, the TSK specification must be met (see AC Electrical Specifications). FDEC is the decimation rate in the FIR (FDEC = F_DRATE +1), where TAPS = the number of taps in the FIR for even length filters and equals the number of taps+1 for odd length filters. Solving the above equation for the maximum number of taps: FIR_CK H DEC F DEC TAPS = 2 --------------------------------------------------------- – F DEC -4 CK_IN (EQ. 2) In using this equation, it must be kept in mind that CK_IN/ HDEC must be less than or equal to 4MHz (unless the HDF is in bypass mode in which case this limitation in the HDF does not apply). In the OPERATIONAL SECTION under the Design Considerations, there is a table that shows the tradeoffs of these parameters. In addition, Intersil provides a software package called DECI MATE™ which designs the DDF filter from System specifications. The registered outputs of the data RAM are added or subtracted in the 17-bit pre-adder. The F_OAD control bit allows zeros to be input into one side of the pre-adder. This provides the capability to implement non-symmetric filters. The selection of adding the register outputs for an even symmetric filter or for subtracting the register outputs for odd symmetric filter is provided by the control bit F_ESYM, which is programmed over the control bus. When subtraction is selected, the new data is subtracted from the old data. The 17-bit output of the adder forms one input of the multiplier/accumulator. A control bit F_CLA provides the capability to clear the feedback path in the accumulator such that multiplier output will not be accumulated, but will instead flow directly to the output register. The bit weightings of the data and coefficients as they are processed in the FIR is shown below. Input Data (from HDF) 20.2-1 . . . 2-15 Pre-adder Output 2120.2-1 . . . 2-15 Coefficient 20.2-1 . . . 2-19 Accumulator 28 . . . 20 .21 . . . 2-34 FIR Output The 40 most significant bits of the accumulator are latched into the output register. The lower 3 bits are not brought to the output. The 40 bits out of the output register are selected to be output by a pair of multiplexers. This register is clocked by FIR_CK (see Figure 9). HSP43220 output bus, DATA_OUT0-15. The output formatter is shown in detail in Figure 10. There are two multiplexers that route 24 of the 40 output bits from the output register to the output pins. The first multiplexer selects the output register bits that will be routed to output pins DATA_OUT16-23 and the second multiplexer selects the output register bits that will be routed to output pins DATA_OUT0-15. FIR Control Logic The DATA_RDY strobe indicates that new data is available on the output of the FIR. The rising edge of DATA_RDY can be used to load the output data into an external register or RAM. The multiplexers are controlled by the control signal F_BYP and the OUT_SELH pin. F_BYP and OUT_SELH both control the first multiplexer that selects the upper 8 bits of the output bus, DATA_OUT16-23. F_BYP controls the second multiplexer that selects the lower 16 bits of the Data Format The DDF maintains 16 bits of accuracy in both the HDF and FIR filter stages. The data formats and bit weightings are shown in Figure 11. PRE-ADDER LOGIC FROM HDF 16 REG 16 16 x 512 DATA RAM 16 PRE-ADDER F_OAD REG 16 REG 17 16 F_ESYM FROM COEFFICIENT FORMATTER 20 x 256 COEFFICIENT RAM 20 REG 20 REG 20 17 17 17 x 20 BIT MULTIPLIER ARRAY MULTIPLIER/ ACCUMULATOR SECTION FROM CONTROL REGISTERS F_DRATE F_TAPS F_BYP 37 REG F_DIS 37 43 F_CLA 43-BIT ACCUMULATOR FIR CONTROL LOGIC 43 FIR_CK FIR_CK OUTPUT REG MUX REG DATA_RDY 40 F_CLA OUTPUT FORMATTER 24 DATA_RDY DATA_OUT 0 -23 FIGURE 9. FIR FILTER 40 F_BYP = 0 OUT_SELH = 1 F_BYP 8 8 28 - 21 2-16 - 2-23 F_BYP = 0 MUX OUT_SELH 8 20 - 2-15 F_BYP = 0 OUT_SELH = 0 OR F_BYP = 1 16 16 2-16 - 2-31 F_BYP = 1 MUX 16 OUT_ENX OUT_ENP DATA_OUT16-23 FIGURE 10. FIR OUTPUT FORMATTER 10 F_BYP DATA_OUT0 -15 HSP43220 INPUT DATA FORMAT Fractional Two's Complement Input 15 14 13 12 11 10 9 8 7 6 -20 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 . 5 4 3 2 1 0 2-10 2-11 2-12 2-13 2-14 2-15 FIR COEFFICIENT FORMAT Fractional Two's Complement Input 19 18 17 16 15 14 13 12 11 10 -20 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 . 9 8 7 6 5 4 3 2-10 2-11 2-12 2-13 2-14 2-15 2 1 0 2-16 2-17 2-18 2-19 OUTPUT DATA FORMAT Fractional Two's Complement Output FOR: OUT_SELH = 1, F_BYP = 0 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 -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 5 4 3 2 1 0 . 5 4 3 2 1 0 2-10 2-11 2-12 2-13 2-14 2-15 FOR: OUT_SELH = 0, F_BYP = 0 15 14 13 12 11 10 9 8 7 6 -20 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 15 14 . 2-10 2-11 2-12 2-13 2-14 2-15 23 22 21 20 19 18 17 16 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 FOR: OUT_SELH = X, F_BYP = 1 23 22 21 20 19 18 17 16 2-16 2-17 2-18 2-19 2-20 2-21 2-22 2-23 13 12 11 10 9 8 7 6 5 4 3 2 1 0 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 FIGURE 11. Operational Section Start Configurations Multi-Chip Start Configurations The scenario to put the DDF into operational mode is: reset the DDF by asserting the RESET input, configure the DDF over the control bus, and apply a start signal, either by ASTARTIN or STARTIN. Until the DDF is put in operational mode with a start pulse, the DDF ignores all data inputs. Since there are two methods to start up the DDF, there are also two configurations that can be used to start up multiple chips. To use the asynchronous start, an asynchronous active low pulse is applied to the ASTARTIN input. ASTARTIN is internally synchronized to the sample clock, CK_IN, and generates STARTOUT. This signal is also used internally when the asynchronous mode is selected. It puts the DDF in operational mode and allows the DDF to begin accepting data. When the ASTARTIN input is being used, the STARTIN input must be tied high to ensure proper operation. To start the DDF synchronously, the STARTIN is asserted with a active low pulse that has been externally synchronized to CK_IN. Internally the DDF then uses this start pulse to put the DDF in operate mode and start accepting data inputs. When STARTIN is used to start the DDF the ASTARTIN input must be tied high to prevent false starts. 11 The first method is shown in Figure 12. The timing of the STARTOUT circuitry starts the second DDF on the same clock as the first. If more DDFs are also to be started synchronously, STARTOUT is connected to their STARTIN's. The second method to start up DDFs in a multiple chip configuration is to use the synchronous start scenario. The STARTIN input is wired to all the chips in the chain, and is asserted by a active low synchronous pulse that has been externally synchronized to CK_IN. In this way all DDFs are synchronously started. The ASTARTIN input on all the chips is tied high to prevent false starts. The STARTOUT outputs are all left unconnected. This configuration is illustrated in Figure 13. HSP43220 TO OTHER DDF'S +5V STARTIN +5V DDF ASTARTIN ASTARTIN CK_IN FIR_CK FIR_CK NC STARTOUT NC DDF STARTIN STARTOUT CK_IN STARTOUT FIGURE 12. ASYNCHRONOUS START UP +5V STARTIN +5V CK_IN ASTARTIN DDF STARTOUT ASTARTIN DDF STARTIN CK_IN FIR_CK FIR_CK FIGURE 13. SYNCHRONOUS START UP Chip Set Application The HSP43220 is ideally suited for narrow band filtering in Communications, Instrumentation and Signal Processing applications. The HSP43220 provides a fully integrated solution to high order decimation filtering. The combination of the HSP43220 and the HSP45116 (which is a NCOM Numerically Controlled Oscillator / Modulator) provides a complete solution to digital receivers. The diagram in Figure 14 illustrates this concept. The HSP45116 down converts the signal of interest to baseband, generating a real component and an imaginary component. A HSP43220 then performs low pass filtering and reduces the sampling rate of each of the signals. The system scenario for the use of the DDF involves a narrow band signal that has been over-sampled. The signal is over-sampled in order to capture a wide frequency band containing many narrow band signals. The NCOM is “tuned” to the frequency of the signal of interest and performs a complex down conversion to baseband of this signal, which results in a complex signal centered at baseband. A pair of DDFs then low pass filters the NCOM output, extracting the signal of interest. Design Trade-Off Considerations Equation 2 in the Functional Description section expresses the relationship between the number of TAPS which can be implemented in the FIR as a function of CK_IN, FIR_CK, HDEC, FDEC. Table 1 provides a tradeoff of these parameters. For a given speed grade and the ratio of the clocks, and assuming minimum decimation in the HDF, the number of FIR taps that can be implemented is given in Equation 2. HSP45116 NCOM COS (WT) HSP43220 DDF SIN (WT) HSP43220 DDF SAMPLED INPUT DATA 0 10MHz 0 20MHz FIGURE 14. DIGITAL CHANNELIZER 12 0 HSP43220 TABLE 1. DESIGN TRADE OFF FOR MINIMUM HDEC SPEED GRADE (MHz) TAPS FIR_CK CK_IN MIN HDEC FDEC = 1 FDEC = 2 FDEC = 4 FDEC = 8 FDEC = 16 33 1 9 8 24 56 120 248 25.6 1 7 4 16 40 88 184 15 1 4 (Note) 4 16 40 88 33 2 5 10 28 64 136 280 25.6 2 4 6 20 48 104 216 15 2 2 (Note) 4 16 40 88 33 4 3 14 36 80 168 344 25.6 4 2 6 20 48 104 216 15 4 1 (Note) 4 16 40 88 33 8 2 22 52 112 232 472 25.6 8 1 6 20 48 104 216 15 8 1 6 20 48 104 216 NOTE: Filter not realizable. DECIMATE Intersil provides a development system which assists the design engineer to utilizing this filter. The DECIMATE software package provides the user with both filter design and simulation environments for filter evaluation and design. These tools are integrated within one standard DSP CAD environment, The Athena Group's Monarch Professional DSP Software package. The software package is designed specifically for the DDF. It provides all the filter design software for this proprietary architecture. It provides a user-friendly menu driven interface to allow the user to input system level filter requirements. It provides the frequency response curves and a data flow simulation of the specified filter design (Figure 15). It also creates all the information necessary to program the DDF, including a PROM file for programming the control registers. 13 This software package runs on an IBM™ PC™, XT™, AT™, PS/2™ computer or 100% compatible with the following configuration: 640K RAM 5.25” or 3.5” Floppy drive hard disk math co-processor MS/PC-DOS 2.0 or higher CGA, MCGA, EGA, VGA and Hercules graphics adapters For more information, see the description of DECIMATE in the Development Tools Section of this data book. HSP43220 FIGURE 15. DECIMATE DESIGN MODULE SCREENS 14 HSP43220 Absolute Maximum Ratings TA = 25°C Thermal Information Supply Voltage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +6.0V Input, Output or I/O Voltage Applied . . . . . GND -0.5V to VCC +0.5V ESD Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class 1 Thermal Resistance (Typical, Note 1) Operating Conditions Temperature Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . 0°C to 70°C Voltage Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . +4.75V to +5.25V θJA (°C/W) PLCC Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Maximum Storage Temperature Range . . . . . . . . . . -65°C to 150°C Maximum Junction Temperature PLCC Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150°C Maximum Lead Temperature (Soldering 10s) . . . . . . . . . . . . . 300°C (PLCC - Lead Tips Only) Die Characteristics Component Count . . . . . . . . . . . . . . . . . . . . . . . 193,000 Transistors 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: 1. θJA is measured with the component mounted on an evaluation PC board in free air. DC Electrical Specifications PARAMETER SYMBOL TEST CONDITIONS MIN MAX UNITS Logical One Input Voltage VIH VCC = 5.25V 2.0 - V Logical Zero Input Voltage VIL VCC = 4.75V - 0.8 V High Level Clock Input VIHC VCC = 5.25V 3.0 - V Low Level Clock Input 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 Input Leakage Current II VIN = VCC or GND, VCC = 5.25V -10 10 µA I/O Leakage Current IO VOUT = VCC or GND, VCC = 5.25V -10 10 µA Standby Power Supply Current ICCSB VIN = VCC or GND VCC = 5.25V, Note 3 - 500 µA Operating Power Supply Current ICCOP f = 15MHz, VIN = VCC or GND, VCC = 5.25V, Notes 2 and 4 - 120 mA Capacitance TA = 25°C, Note 3 PARAMETER SYMBOL TEST CONDITIONS MIN MAX UNITS Input Capacitance CIN - 12 pF Output Capacitance CO FREQ = 1MHz, VCC = Open, All measurements are referenced to device ground - 10 pF NOTES: 2. Power supply current is proportional to operating frequency. Typical rating for ICCOP is 8mA/MHz. 3. Not tested, but characterized at initial design and at major process/design changes. 4. Output load per test load circuit with switch open and CL = 40pF. 15 HSP43220 AC Electrical Specifications VCC = +4.75V to +5.25V, TA = 0°C to 70°C -15 PARAMETER SYMBOL NOTES -25 -33 MIN MAX MIN MAX MIN MAX UNITS 0 15 0 25.6 0 33 MHz Input Clock Frequency FCK FIR Clock Frequency FFIR 0 15 0 25.6 0 33 MHz Input Clock Period tCK 66 - 39 - 30 - ns FIR Clock Period tFIR 66 - 39 - 30 - ns Clock Pulse Width Low tSPWL 26 - 16 - 13 - ns Clock Pulse Width High tSPWH 26 - 16 - 13 - ns tSK 0 tFIR-25 0 tFIR-15 0 tFIR-15 ns Clock Skew Between FIR_CK and CK_IN CK_IN Pulse Width Low tCH1L Notes 5, 8 29 - 19 - 19 - ns CK_IN Pulse Width High tCH1H Notes 5, 8 29 - 19 - 19 - ns CK_IN Setup to FIR_CK tCIS Notes 5, 8 27 - 17 - 17 - ns CK_IN Hold from FIR_CK tCIH Notes 5, 8 2 - 2 - 2 - ns RESET Pulse Width Low tRSPW 4tCK - 4tCK - 4tCK - ns Recovery Time on RESET tRTRS 8tCK - 8tCK - 8tCK - ns ASTARTIN Pulse Width Low tAST tCK+10 - tCK+10 - tCK+10 - ns STARTOUT Delay from CK_IN tSTOD - 35 - 20 - 18 ns STARTIN Setup to CK_IN tSTIC 25 - 15 - 10 - ns Setup Time on DATA_IN tSET 20 - 15 - 14 - ns tHOLD 0 - 0 - 0 - ns Write Pulse Width Low tWL 26 - 15 - 12 - ns Write Pulse Width High tWH 26 - 20 - 18 - ns tSTADD 26 - 20 - 20 - ns Setup Time on Chip Select Before the Rising Edge of Write tSTCS 26 - 20 - 20 - ns Setup Time on Control Bus Before the Rising Edge of Write tSTCB 26 - 20 - 20 - ns DATA_RDY Pulse Width Low tDRPWL 2tFIR-20 - 2tFIR-10 - 2tFIR-10 - ns DATA_OUT Delay Relative to FIR_CK tFIRDV - 50 - 35 - 28 ns DATA RDY Valid Delay Relative to FIR_CK tFIRDR - 35 - 25 - 20 ns DATA_OUT Delay Relative to OUT_SELH tOUT - 25 - 20 - 20 ns Output Enable to Data Out Valid tOEV Note 6 - 15 - 15 - 15 ns Output Disable to Data Out Three-State tOEZ Note 5 - 15 - 15 - 15 ns Output Rise, Output Fall Times tr, tf from 0.8V to 2V, Note 5 - 8 - 8 - 6 ns Hold Time on All inputs Setup Time on Address Bus Before the Rising Edge of Write NOTES: 5. Controlled by design or process parameters and not directly tested. Characterized upon initial design and after major process and/or design changes. 6. Transition is measured at ±200mV from steady state voltage with loading as specified in test load circuit with and CL = 40pF. 7. AC Testing is performed as follows: Input levels (CLK Input) 4.0V and 0V, Input levels (all other Inputs) 0V and 3.0V, Timing reference levels (CLK) = 2.0V, (Others) = 1.5V, Output load per test load circuit and CL = 40pF. 8. Applies only when H_BYP = 1 or H_DRATE = 0. 16 HSP43220 AC Test Load Circuit DUT S1 CL (NOTE) ± 1.5V IOH SWITCH S1 OPEN FOR ICCSB AND ICCOP IOL EQUIVALENT CIRCUIT NOTE: Test head capacitance. Timing Waveforms tFIR FIR_CK tSET CLK_IN tSPWH tHOLD tSPWL tCHIH tSK tCHIL DATA_IN CLK_IN tCK FIGURE 16A. FIGURE 16B. FIGURE 16. INPUT TIMING tAST ASTARTIN RESET tRSPW tRTRS CK_IN WR tWL tSTOD STARTOUT tWH tHOLD AO-1 tSET CK_IN tSTIC STARTIN C_BUS tHOLD CS tSTADD tHOLD tSTCB tHOLD tSTCS DATA_IN FIGURE 17A. FIGURE 17B. FIGURE 17. START TIMING 17 HSP43220 Timing Waveforms (Continued) FIR_CK tFIRDR tFIRDR DATA_RDY DATA_OUT 16-23 tDRPWL UPPER 8 BITS tFIRDV DATA_OUT OUT_SELH PREVIOUS OUTPUT LOWER 8 BITS tOUT CURRENT OUTPUT FIGURE 18A. FIGURE 18B. OUT_ENP OUT_ENX tOEV 2.0V DATA_OUT 0-d23 tr 0.8V tOEZ DATA_OUT 1.7V VALID 1.3V tf FIGURE 18D. FIGURE 18C. FIGURE 18. All Intersil U.S. products are manufactured, assembled and tested utilizing ISO9000 quality systems. Intersil Corporation’s quality certifications can be viewed at www.intersil.com/design/quality Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design, software and/or specifications at any time without notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate and reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries. For information regarding Intersil Corporation and its products, see www.intersil.com 18