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

Read filter from I2C EEPROM

SigmaDSP & SigmaStudio nneu Dec 27, 2020 00:00 4 replies Original on forum ↗
Subscribe
nneu Question
Dec 27, 2020 00:00

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

CopperMaze Reply
Dec 28, 2020 00:00

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.

CopperMaze Reply
Dec 28, 2020 00:00

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.

nneu Reply
Dec 28, 2020 00:00

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 !

CopperMaze Reply
Dec 29, 2020 00:00

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.