Hi there,
I've made a prototype board using the TAS5825m and we have some troubles about setting up the DSP over I2C.
I'm trying to implement a low pass filter and be able to set the cut off frequency on the fly over a custom app.
So, I first tried to use the EQ, after some research on this forum I've found this file Audio-EQ-Cookbook.txt and this thread and I'm now able to calculate BQ coefficients.
But when I write the coefficients over I2C the output signal become really low, like there's already a band pass nor high pass somewhere else ?
I've seen in the document "TAS5825m process flows" that the chip allow differents process flows with differents features.
I don't know how we can switch from one process flow to another, or enable / disable features?
For example, maybe the crossover is more suitable than the EQ to implement a simple low pass filter but if it's the case I don't see how I can drive the crossover in the memory map.
Is there somewhere a document with an exhaustive register list please ?
I put below detailed process we used, with the I2C registers and the calculated BQ coefficients. If someone can help me or tell me if I'm wrong somewhere that would be really great.
Thanks
// For example with these values Fs = 48000; f0 = 500; Q = 0.707; // Using the LPF formula from Audio-EQ-cookbook we found these coef : b0 :0.00107053 b1 :0.00214106 b2 :0.00107053 a0 :1.04625403 a1 :-1.99571790 a2 :0.95374603 // As the document "SLAA786A - TAS5825M Process Flows" seems to indicate // we need to make some extra calculations before sending // Final BQ coef : B0_DSP :0.00102320 B1_DSP :0.00102320 B2_DSP :0.00102320 A1_DSP :0.95374441 A2_DSP :-0.91158170 // We transform coefficients to 5.27 HEX using this formula : // DEC2HEX(MOD(MIN(ROUND(2^27*[B0,B1,B2,A1,A2];0); 2^31-1); 2^32);8) B0_DSP_HEX :0x00021874 B1_DSP_HEX :0x00021874 B2_DSP_HEX :0x00021874 A1_DSP_HEX :0x07A144C0 A2_DSP_HEX :0xF8B514A8 // Init TAS5825m w 98 00 00 w 98 7F 00 w 98 4C 30 w 98 54 02 w 98 03 03 w 98 78 80 // Gang LR w 98 00 00 w 98 7F 8C w 98 00 0B w 98 28 00 00 00 01 // Write BQ coefficients L w 98 00 00 w 98 7F AA w 98 00 01 w 98 30 00 02 18 74 00 02 18 74 00 02 18 74 07 A1 44 C0 F8 B5 14 A8 // Write BQ coefficients R w 98 00 00 w 98 7F AA w 98 00 03 w 98 6C 00 02 18 74 00 02 18 74 00 02 18 74 07 A1 44 C0 F8 B5 14 A8 // Other coefficients are left at their default values. // B0 0x08000000 // B1 0x00000000 // B2 0x00000000 // A1 0x00000000 // A2 0x00000000