JAJSFA9E November 2011 – April 2018 ADS5294
PRODUCTION DATA.
ADDR. (HEX) | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | NAME |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
29 | X | GLOBAL_EN_FILTER | |||||||||||||||
2E | X | X | X | FILTER1_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER1_RATE<2:0> | ||||||||||||||
X | ODD_TAP1 | ||||||||||||||||
X | USE_FILTER1 | ||||||||||||||||
2F | X | X | X | FILTER2_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER2_RATE<2:0> | ||||||||||||||
X | ODD_TAP2 | ||||||||||||||||
X | USE_FILTER2 | ||||||||||||||||
30 | X | X | X | FILTER3_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER3_RATE<2:0> | ||||||||||||||
X | ODD_TAP3 | ||||||||||||||||
X | USE_FILTER3 | ||||||||||||||||
31 | X | X | X | FILTER4_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER4_RATE<2:0> | ||||||||||||||
X | ODD_TAP4 | ||||||||||||||||
X | USE_FILTER4 | ||||||||||||||||
32 | X | X | X | FILTER5_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER5_RATE<2:0> | ||||||||||||||
X | ODD_TAP5 | ||||||||||||||||
X | USE_FILTER5 | ||||||||||||||||
33 | X | X | X | FILTER6_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER6_RATE<2:0> | ||||||||||||||
X | ODD_TAP6 | ||||||||||||||||
X | USE_FILTER6 | ||||||||||||||||
34 | X | X | X | FILTER7_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER7_RATE<2:0> | ||||||||||||||
X | ODD_TAP7 | ||||||||||||||||
X | USE_FILTER7 | ||||||||||||||||
35 | X | X | X | FILTER8_COEFF_SET<2:0> | |||||||||||||
X | X | X | FILTER8_RATE<2:0> | ||||||||||||||
X | ODD_TAP8 | ||||||||||||||||
X | USE_FILTER8 |
The decimation filter is implemented as 24-tap FIR with symmetrical coefficients (each coefficient is 12-bit signed). The filter equation is:
By setting the register bit <ODD_TAPn> = 1, a 23-tap FIR is implemented:
In Equation 2 and Equation 3, h0, h1 …h11 are 12-bit signed representation of the coefficients, x(n) is the input data sequence to the filter and y(n) is the filter output sequence.
A decimation filter can be introduced at the output of each channel. To enable this feature, the GLOBAL_EN_FILTER should be set to ‘1’. Setting this bit to ‘1’ increases the overall latency of each channel to 20 clock cycles irrespective of whether the filter for that particular channel has been chosen or not (using the USE_FILTER bit). The bits marked FILTERn_COEFF_SET<2:0>, FILTERn_RATE<2:0>, ODD_TAPn and USE_FILTERn represent the controls for the filter for Channel n. Note that these bits are functional only when the GLOBAL_EN_FILTER gets set to '1' and USE_FILTERn bit is set to '1'. For illustration, the controls for channel 1 are listed in Table 9:
The USE_FILTER1 bit determines whether the filter for Channel 1 is used or not. When this bit is set to ‘1’, the filter for channel 1 is enabled. When this bit is set to ‘0’, the filter for channel 1 is disabled but the channel data passes through a dummy delay so that the overall latency of channel 1 is 20 clock cycles. With the USE_FILTER1 bit set to ‘1’, the characteristics of the filter can be set by using the other sets of bits.
The ADS5294 has six sets of filter coefficients stored in memory. Each of these sets define a unique pass band in the frequency domain and contain 12 coefficients (each coefficient is 12-bit long). These 12 coefficients are used to implement either a symmetric 24-tap (even-tap) filter, or a symmetric 23-tap (odd-tap) filter. Setting the register bit ODD_TAP1 to ‘1’ enables the odd-tap configuration (the default is even tap with this bit set to ‘0’) for Channel 1. The bits FILTER1_COEFF_SET<2:0> are used to choose the required set of coefficients for Channel 1.
The passbands corresponding to of each of these filter coefficient sets is shown in Figure 56
Coefficient Sets 1 and 2 are the most appropriate when decimation by a factor of 2 is required, whereas Coefficient Sets 3, 4, 5, and 6 are appropriate when decimation by a factor of 4 is desired. The computation rate of the filter output is set independently using the bits FILTERn_RATE<2:0>. The settings are shown in Table 9.
The choice of the odd or even tap setting, filter coefficient set, and the filter rate uniquely determines the filter to be used. In addition to the preset filter coefficients, the coefficients for each of the eight filter channels can be programmed by the user. Each of the eight channels has 12 programmable coefficients, each 12-bit long. The 96 registers with addresses from 5A (Hex) to B9 (Hex) are used to program these eight sets of 12 programmable coefficients. Registers 5A to 65 are used to program the first filter, with the first coefficient occupying the bits D11..D0 of register 5A, the second coefficient occupying the bits D11..D0 of register 5B, and so on. Similarly registers 66 (Hex) to 71 (Hex) are used to program the second filter, and so on.
When programming the filter coefficients, the D15 bit, EN_CUSTOM_FILT, of each of the 12 registers corresponding to that filter should be set to ‘1’. If the D15 bit of these 12 registers is set to ‘0’, then the preset coefficient (as programmed by FILTERn_COEFF_SET<2:0>) is used even if the bits D11..D0 get programmed. By setting or not setting the D15 bits of individual filter channels to ‘1’, some filters can be made to operate with preset coefficient sets, and some others can be made to simultaneously operate with programmed coefficient sets.