Read filter from I2C EEPROM
Hi!
I am using the ADAU1466 in a current project. It is selfbooting from an SPI EEPROM but uses I2C for control.
I was wondering if there is any way that the DSP could pull filter settings for one specific filter cell (such as FIR Filter) from an I2C EEPROM.
Thanks !
external
Audio Signal Processors
filter parameter
i2c
eeprom
filter
filter coefficient
SigmaDSP Audio Processors
adau1466
Show More
I looked at this not so long ago and it looks like it is possible. The tools you are looking for are in Toolbox>MasterControlPort>Runtime>SPI or I2C Read.
You need to specify some informations related to the memory in these blocks and you will then be able then get the value you desire from the EEPROM into the schema. Then from the schema you can use a BasicDSP>DSP Functions>Parameter Update to put your value in the desired Bloc Registers.
So, I didn't tried but it look doable for simple things. If you have to get 4k coefficients for a big FIR filter I would rather advise to use an external controller and feed those coeffs through the slave port.
You can also store different programs in your selfboot memory and pull one or the other depending on conditions in the schema by using Runtime>Real Time Variant.
Ah, and to complete my answer, you will not be able to use an I2C and an SPI EEPROM at the same time on the master port of the ADAU because some pin are shared. (MISO/SDA, SCKL/SCL). But you can use multiples EEPROMs of the same type. For multi I2C the peripheral is selected via standard I2C addressing; and for multi SPI you use a Multipurpose pin as a Chip Select.
Hi CopperMaze,
thanks for your reply ! looks like that could work.
Have you actually tried this in practice ?
I imagine I could use SigmaStudio to write to the EEPROM by connecting it to the USBi in the hardware config and then using the Read/Wirte window.
Do you have any info or experience regarding this practice or the data formatting required?
Thanks !
No I never actually tried to write to an EEPROM from the DSP because I never needed that solution. Also the USBi is only helpful to write and read complete programs to an EEPROM. Not chunks of data.
It can be done by designing a special EEPROM write schema that uses Tools>SPI Write. The data you write in the EEPROM are raw binary matching one to one a section of the DSP memory.
Please log in to reply.