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

ADAU17001 Safeload and Level

SigmaDSP & SigmaStudio Jack-George Oct 5, 2015 00:00 5 replies Original on forum ↗
Subscribe
Jack-George Question
Oct 5, 2015 00:00

Hello everyone,

i am working with a ADAU1701 connected to a BeagleBoneBlack over spi , and after a lot

of trial and error everything is working fine !

But i have two problems :

1.) When i execute the FIRST SafeloadWrite after a reset, it looks like the Safeload-mechanism

don't writes only the requested addresses, but i writes address 0 too. I have attached a trace of a "Mute-command" at address 3

and address 11.

And as you can see before the write, in address 0 we have a 0xFF after the Safeload we have a 0x00 in this register.

When i rewrite the address 0 after the first safeload everything works fine !

TX(7): 01 00 00 00 00 00 00

RX(7): ff ff ff 00 00 00 ff

Register0=000000ff

TX(5): 00 08 15 00 03

RX(5): ff ff ff ff ff

TX(8): 00 08 10 00 00 00 00 00

RX(8): ff ff ff ff ff ff ff ff

TX(5): 00 08 16 00 0a

RX(5): ff ff ff ff ff

TX(8): 00 08 11 00 00 00 00 00

RX(8): ff ff ff ff ff ff ff ff

TX(5): 00 08 1c 00 3c

RX(5): ff ff ff ff ff

TX(7): 01 00 00 00 00 00 00

RX(7): ff ff ff 00 00 00 00

Register0=00000000

2.) Even when i connect the adc input to ground ( i mean K3 and K4 in the second picture ), i have a level of approx -33dB at the Level-Indicator ( see the attached picture1 -> it's a modified elektor board).

The input ADC has a 18k Resistor in series with a Condensator ( Picture 2 ). When i press "Mute" the display goes to -max.

Why is the level not -max ?

Thanks in advance to anyone who helps.

Audio Signal Processors

SigmaDSP Audio Processors

SigmaDSP

adau1701

a8e2c24023de0a0a838881c3cd4f825a.png
a8e2c24023de0a0a838881c3cd4f825a.png
a8e2c24023de0a0a838881c3cd4f825a.png-1171x324.png
a8e2c24023de0a0a838881c3cd4f825a.png-1171x324.png
626d6b6d0a59997fc65dae21c6af4368.png
626d6b6d0a59997fc65dae21c6af4368.png
626d6b6d0a59997fc65dae21c6af4368.png-297x500.png
626d6b6d0a59997fc65dae21c6af4368.png-297x500.png
KJBob Reply
Oct 5, 2015 00:00

Hello Jack,

I can help with your second issue -- the ADCs have a small DC offset which the Level Meters respond to. Please see https://ez.analog.com/message/211193#211193 for more on this, and a solution.

Best regards,

Bob

Jack-George Reply
Oct 5, 2015 00:00

Hello KJBob,

thanks a lot for this answer, i had already tried it with a low pass filter, but that wasn't a good solution.

With this Block / which i haven't found, i think have a correct output.

KJBob Reply
Oct 5, 2015 00:00

Glad the DC Block filter helped with your level indication.

Thinking about your other problem: First of all, congratulations on successfully safeloading your -1701 -- it's not exactly a walk in the park. I'm not familiar with the BeagleBoards, but I do have a possible workaround for you. It appears from your description that you sometimes get an undesired write to parameter location zero when safeloading other location(s). Presumably this results in an unwanted change in operation. The workaround simply renders parameter address zero irrelevant:

Add a DC Source to your project, leaving it unconnected. Likely the SigmaStudio compiler will assign parameter address zero to this source, as it tends to work on DC Sources before other blocks. If your project already includes DC Source(s), you'll need to move the function of the DC Source presently at location zero to your new one. You can see which one is assigned to which parameter location by observing the Capture Window while changing the "voltage" values of the various sources.

The unconnected DC source serves as a placeholder to move your relevant parameters away from address zero. It costs two instructions, but should have no other side effects.

Best regards,

Bob

Jack-George Reply
Oct 6, 2015 00:00

Thanks Bob for your fast answer.

Your solution will work, but it's a workaround as my current solution is:

After the "downloads" i simply rewrite one register with all 5 safeload-registers.

( filling all 5 registers with the same address/data and then setting the IST-Flag )

--> It looks like there is a flag telling the core that all 5 safeload-registers are filled after the "download".

If i only fill two registers, the other remains with zeros and so they will write to address zero.

What i'm wondering is the fact that it is nearly impossible to write accidentially to a safeload-register.

And again : it's only the FIRST "safeload write" after the download/reset. After that everything works fine.

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin