ΣSigmaStudio Ask AI Русский Log in

ADAU1445 safeload readback fails

SigmaDSP & SigmaStudio mbente Dec 3, 2013 00:00 2 replies Original on forum ↗
Thread Summary

Thread Summary

The user experienced incorrect coefficients in ADAU1445 biquad filters, causing noise in the output signal. The issue was resolved by adjusting the MCU port configuration to prevent unintended start conditions on the ADAU1445, after understanding the 5.23 format and ignoring the highest nibble in the readback check routine.
AI Generated Content
Subscribe
mbente Question
Dec 3, 2013 00:00

Hello to all,

i searched all your threads about my problem but find nothing to my failure.

In my system i used a adau1445 for audio signals. I load the coefficients for the biquad filters with the safeload mechanism that works almost fine but in one case not. Sometimes there are wrong coefficients in the filters and there are a lot of noise in the output signal.

To find out the problem i implement a readback function, to verify the data is correctly transfered to the safeload registers.

The Problem is that sometimes the readback values arent that i write before. For example i write that set of data:

0xFF,0x80,0xA0,0xC8,0x00

i readback:

0x0F,0x80,0xA0,0xC8,0x00

is this a normal behaviour? It happens almost every time i write a 0xFF to the register. Is there another way to check the coefficents written?

Thank you very much and best regards,

M.Bente

ADIApproved Reply
Dec 3, 2013 00:00

Hi M.Bente,

This is normal behavior. However, it shouldn't be causing noise or problems with your output signal. I'm not sure why that is happening... In any case, read these threads for an explanation of the discrepancy you're seeing between the written value and the read value:

What are the number formats for SigmaDSP?

Re: Parameter RAM: Writing 0xFF but Reading 0x0F

mbente Reply
Dec 5, 2013 00:00

Hei BrettG,

thank you very much for your help. With your information about the 5.23 Format i found the issue. I changed the check routine to ignore the highest nibble and found my mistake. After initialisation was done, i changed the Portconfig of the MCU so this change on the output pins caused a start condition on the ADAU. Now everything works as aspected and i never received another value than it was written.

Thank you very much

M.Bente