Part Number: TAA5212
Tool/software:
Hello, I'm trying to setup biquad filters with the TAA5212, to do some filtering in the 20~100kHz region.
I drive the TAA5212 with the SAI interface of a STM32L4 microcontroller.
Using 187.5Khz as sample frequency and a bclk of 12Mhz.
I can read out the raw signal just fine, but I never notice the effect of the filter, can someone take a look at my register settings and tell my what I am doing wrong.
Register setup code:
writeByte(0x00, 0x00); // set page 0 writeByte(0x01, 0x01); // software reset ThisThread::sleep_for(3); // device settle time after power on / reset writeByte(0x02, 0x09); // Wake up with AVDD > 2v and all VDDIO level ThisThread::sleep_for(3); // device settle time after wake writeByte(0x10, 0x50); // Configure DOUT as Primary ASI (PASI) DOUT writeByte(0x19, 0x00); // 1 data input and 1 data output for PASI writeByte(0x1A, 0x70); // PASI I2S, 32 bit format writeByte(0x50, 0x50); // ADC Ch1 single ended, mux inp1, 10KOhm, ac-coupled, 1Vrms writeByte(0x76, 0x80); // Enable Input Ch1, disable output channels // Set up filters before powering up any adc channel 30kHz low pass writeByte(0x00, 0x08); // set page 8 writeByte(0x08, 0x2e); // N0 = 0x2e8f9340 writeByte(0x09, 0x8f); writeByte(0x0A, 0x93); writeByte(0x0B, 0x40); writeByte(0x0C, 0xd1); // N1 = 0xd1706cc0 writeByte(0x0D, 0x70); writeByte(0x0E, 0x6c); writeByte(0x0F, 0xc0); writeByte(0x10, 0x2e); // N2 = 0x2e8f9340 writeByte(0x11, 0x8f); writeByte(0x12, 0x93); writeByte(0x13, 0x40); writeByte(0x14, 0x11); // D0 = 0x114fb4c0 writeByte(0x15, 0x4f); writeByte(0x16, 0xb4); writeByte(0x17, 0xc0); writeByte(0x14, 0xE8); // D0 = 0xe8611cc0 writeByte(0x15, 0x61); writeByte(0x16, 0x1c); writeByte(0x17, 0xc0); writeByte(0x00, 0x00); // set page 0 again writeByte(0x72, 0x08); // No HPF enable 1 biquad writeByte(0x78, 0xa0); // Power up ADC and MICBIAS



