use of GPIO as index input for 1701 vs 1452
Hello,
I have successfully used GPIO input to feed the index input of MUX block for ADAU1452.
But there is different story with ADAU1701. The output format of GPIO block is not compatible with input format for the index input of MUX block.
What is "nice" way to change (convert) format in such case? There is no SHIFT block for 1701 as it is for 1452.
BR,
Raimonds
Audio Signal Processors
adau1452
SigmaDSP Audio Processors
adau1701
Sorry for some trouble!
I found an answer in
KJBob on Dec 1, 2018 12:14 AM post that BUFFER GATE is good for this purpose.
Hello Raimonds,
Glad you found a solution. I will just add a bit of explanation for you and others. We have two different categories of control input pins, those that take a real number in 5.23 format, (or 8.24 format for the 1452), and cells that take an unsigned integer format as an input. In the ADAU1452 the AUXADC output is an unsigned integer. So if you use it with a mux you only have to limit its value. If you use it with a real number input between 0 and 1 then you have to shift the 10 bits over to give you a top value that is just below a 1. The ADAU1452 has a hardware accelerator to do arithmetic shifts left and right so it is really quick and easy to do the shift.
In the ADAU1701, the AUXADC output is in a real format. The 8 bit output is already shifted over and goes between 0 and 1. Since this core does not have the hardware shift capability (you can multiply by 2^-8 but it takes MIPS) then what you have to do is use a table that is set to take in real values (fractional) and outputs integer values. It does this reasonably efficiently.
I am attaching an example to this post.
Thanks!
Dave T
ADAU1701 AUXADC Index Selectable Filter.zip
Please log in to reply.