How to read input level for ADAU1452?
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
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
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.
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
Please log in to reply.