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

programing SPI EEPROM through DSP when using secondary I2C for other devices

SigmaDSP & SigmaStudio Mihei Aug 22, 2019 00:00 4 replies Original on forum ↗
Subscribe
Mihei Question
Aug 22, 2019 00:00

Hi support team,

I've got a problem programing a SPI EEPROM through the DSP if I'm using the secondary I2C port in my design to configure additional devices (Class-D Amps)

I'm using the the ADAU1463 (150MHz version) together with the EEPROM (Microchip 25AA1024-I/SM) from the Eval-Bord (EVAL-ADAU1467Z).

The EEPROM is connected to pins 32 to 35 (SPI_M) and the additional devices are connected to pins 30 and 31 (SCL2_M, SDA2_M).

The issue is, as I activate the secondary I2C at the Multipurpose1 tab of the Hardware Configuration or as I have the "Master Control Port IO" function (from MasterControlPort -> Startup Boot) configured to I2C at my schematic, than the DSP will not program the SPI-EEPROM with the "Write latest Compilation through DSP" function.

If I remove any I2C function from my schematic and set the secondary I2C port to disable the programing works again.

Hope you can help me.

Best Regards

Audio Signal Processors

i2c

adau1463

spi boot

SigmaDSP Audio Processors

selfboot

Show More

Mihei Reply
Sep 1, 2019 00:00

has anybody an idea?

DaveThib Reply
Sep 3, 2019 00:00

Hello Mihei,

Are you disabling the Selfboot before you try to write the latest compilation through the DSP?

Because, when SigmaStudio loads in the small program that allows it to pass data out to the EEPROM, it performs a reset. If the selfboot pin is active then the part will try to self boot at the same time that SigmaStudio is trying to configure the port and to program the EEPROM. This can cause a failure to program the EEPROM.

My colleague, Ken, will be performing some tests and responding. He also commented that the secondary I2C port cannot be active when you compile the program because they it will be active when it tries to boot. So it has to be set in software after booting. He will reply soon with some more details. Meanwhile, try to disable selfboot and see if that makes a difference.

Thanks,

Dave T

Mihei Reply
Sep 5, 2019 00:00

Hi Dave, the selfboot is disabled before start the writing.

But I think I found the solution in a thread of the ADAU1467, which tells me to create a schematic with secondary I2C deactivated and activate on runtime by register write. I cant find the thread any more. Otherwise I would link it. It was from 2018. If you find it may you link it, so others can also use this workaround.

Thanks

Mihei

Found it:

ez.analog.com/.../adau1467-dual-master-control-port

DaveThib Reply
Sep 5, 2019 00:00

Hello Mihei,

Great job searching the forum! It is funny that it is my post!

Yes, this is the solution.

Dave T