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

How to read input level for ADAU1452?

SigmaDSP & SigmaStudio fish May 8, 2020 00:00 3 replies Original on forum ↗
Subscribe
fish Question
May 8, 2020 00:00

Hello,

My project use TDM8 for ADAU1452, ADAU1452 is slave.

But I want to read input level for every channel.
How can I get it, please suggest.

Thank you very much.

Fish.

Audio Signal Processors

adau1452

SigmaDSP Audio Processors

DaveThib Reply
May 13, 2020 00:00

Hello Fish,

I have attached a test program. The details are in the file as comments.

I do want to mention that if you are going to use a sample rate higher than 48kHz then I recommend that the serial output port be setup as a master and the serial input ports be setup as a slave. You might have to increase the drive strength of the clock and data output pins. This all depends on the PCB layout details.

Dave T

ADAU1452 TDM8 input and output test.zip

fish Reply
May 18, 2020 00:00

Hello Dave,

Thanks for you reply.

My points is reading level by MCU.
From your example project, I export to file and got a one file, "ADAU1452 TDM8 input and output test_IC_1_PARAM.h", the contents for level 1 is,

/* Module Level1 - Single Level Detector w Numerical Display*/
#define MOD_LEVEL1_COUNT 8
#define MOD_LEVEL1_DEVICE "IC1"
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001_ADDR 0
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001_TYPE SIGMASTUDIOTYPE_8_24
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001TCONST_ADDR 30
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001TCONST_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0.00240140490349172)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001TCONST_TYPE SIGMASTUDIOTYPE_8_24
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001HOLD_ADDR 31
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001HOLD_FIXPT 0x000001E0
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001HOLD_VALUE SIGMASTUDIOTYPE_INTEGER_CONVERT(480)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001HOLD_TYPE SIGMASTUDIOTYPE_INTEGER
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001DECAY_ADDR 32
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001DECAY_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0.000217013888888889)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001DECAY_TYPE SIGMASTUDIOTYPE_8_24
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001X_ADDR 40
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001X_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001X_TYPE SIGMASTUDIOTYPE_8_24
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001XLO_ADDR 41
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001XLO_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001XLO_TYPE SIGMASTUDIOTYPE_8_24
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001LINX_ADDR 42
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001LINX_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001LINX_TYPE SIGMASTUDIOTYPE_8_24
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001LINXLO_ADDR 43
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001LINXLO_VALUE SIGMASTUDIOTYPE_8_24_CONVERT(0)
#define MOD_LEVEL1_ALG0_SINGLEBANDLEVELDETS3001LINXLO_TYPE SIGMASTUDIOTYPE_8_24

How can I use these address to read data by MCU, please suggest.

Thanks.

Fish.

DaveThib Reply
May 21, 2020 00:00

Hello Fish,

Have a look at this post:

https://ez.analog.com/dsp/sigmadsp/f/q-a/118203/reading-meters-with-a-controller-on-the-adau1452

This should get you started on how to read the meters with a microcontroller.

There are other posts that will help with this question.

Dave T