SLAU472C February 2013 – November 2023 TAS2505 , TAS2505-Q1
Depending on the selected processing block, different types and orders of digital filtering are available. Up to six biquad sections are available for specific processing blocks.
The coefficients of the available filters are arranged as sequentially-indexed coefficients in two banks. If adaptive filtering is chosen, the coefficient banks can be switched in real time.
When the DAC is running, the user-programmable filter coefficients are locked and cannot be accessed for either read or write.
However, the TAS2505 offers an adaptive filter mode as well. Setting page 8, register 1, bit D2 = 1 turns on double buffering of the coefficients. In this mode, filter coefficients can be updated through the host and activated without stopping and restarting the DAC. This enables advanced adaptive filtering applications.
In the double-buffering scheme, all coefficients are stored in two buffers (buffers A and B). When the DAC is running and adaptive filtering mode is turned on, setting page 44, register 1, bit D0 = 1 switches the coefficient buffers at the next start of a sampling period. This bit is set back to 0 after the switch occurs. At the same time, page 44, register 1, bit D1 toggles.
The flag in page 44, register 1, bit D1 indicates which of the two buffers is actually in use.
Page 44, register 1, bit D1 = 0: buffer A is in use by the DAC engine; bit D1 = 1: buffer B is in use.
While the device is running, coefficient updates are always made to the buffer not in use by the DAC, regardless of the buffer to which the coefficients have been written.
DAC Powered Up | Page 44, Reg 1, Bit D1 | Coefficient Buffer in Use | I2C Writes to | Will Updates |
---|---|---|---|---|
No | 0 | None | C1, buffer A | C1, buffer A |
No | 0 | None | C1, buffer B | C1, buffer B |
Yes | 0 | Buffer A | C1, buffer A | C1, buffer B |
Yes | 0 | Buffer A | C1, buffer B | C1, buffer B |
Yes | 1 | Buffer B | C1, buffer A | C1, buffer A |
Yes | 1 | Buffer B | C1, buffer B | C1, buffer A |
The user-programmable coefficients C1 to C70 for the DAC processing blocks are defined on pages 44 to 46 for buffer A and pages 62 to 64 for buffer B.
The coefficients of these filters are each 24-bit, 2s-complement format, occupying three consecutive 8-bit registers in the register space. Specifically, the filter coefficients are in 1.23 (one dot 23) format with a range from –1.0 (0x800000) to 0.99999988079071044921875 (0x7FFFFF) .