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

Smaller and cheaper I2C programmer solution

SigmaDSP & SigmaStudio MadsM Feb 25, 2023 00:00 5 replies Original on forum ↗
Subscribe
MadsM Question
Feb 25, 2023 00:00

Working on a ADAU1452 board with 4 input and 4 output.

I have in recent constructions with ADAU1701 used the ICP3 programmer from Wondom which is basically a USBi interface with only I2C exposed. This has worked really well.

For the ADAU1452 I'll use a SPI E2PROM, but would like to use the I2C interface for programming.

Question 1:

I would use 2k2 pull up to 3.3V for the lines SCL, SDA

RST connected to pin 24, which is already puled up with 1k for the boot reset.

For programming the ADAU1701 there is a WP line (Write Protect) which would be tied to the I2C E2PROM, but as I will be using SPI E2PROM I think it can be omitted.

The address pins on the ADAU1452 I2C slave interface pin 32, 33 should be tied to GND

Is this correct??

Question 2:

Is there any way to use a simpler USB-I2C interface for programming than the USBi.

It seems a bit overkill to use a relatively big and expensive controller like the CY7C68013A-56 used by the USBi interface, for running 100kHz I2C.

Is it possible to use an universal USB-I2C converter?

If so you could use something like a ATTiny chip or similar.

(Thanks for all the brilliant info here on the Engineering Zone ... really helpful :) )

Audio Signal Processors

adau1452

hardware

SigmaDSP Audio Processors

adau1701

ADAU1452-I2C-Programming-interface.JPG
ADAU1452-I2C-Programming-interface.JPG
Harishgowtham Reply
Feb 27, 2023 00:00

Hello MadsM,

MadsM said:
For the ADAU1452 I'll use a SPI E2PROM, but would like to use the I2C interface for programming.

So, SPI EEPROM for self-booting and I2C for programming the DSP by USBi right? This can be done.

You can use I2C for programming the DSP by USBi and compile the program and do write latest compilation thru DSP etc. follow the usual self-boot procedure. The DSP will self-boot by SPI EEPROM once the self-boot procedure is done.

MadsM said:
RST connected to pin 24, which is already puled up with 1k for the boot reset.

A reset is triggered on a high to low edge and exited on a low to high edge. A reset event sets all RAMs and registers to their default values.

If your reset pin is pulled high, then the only way to reset the board is powering OFF and ON. You can have a switch like set up if you want like our every eval board has.

Your self-boot switch is also tied to 3.3V. This may give you trouble while self-booting from an EEPROM. Usually, the self-boot switch will be in LOW while writing to the EEPROM and changed to HIGH to trigger the self-boot. You can follow the circuit that was given in the user manual like below.

MadsM said:
Is there any way to use a simpler USB-I2C interface for programming than the USBi.

Sorry, it's not possible to use any other USB to I2C converter than our USBi. Our code is specially for the cypress chip which is on the USBi. So, other converters wouldn't work.

Regards,

Harish

pastedimage1677497262747v1.png
pastedimage1677497262747v1.png
pastedimage1677497716581v2.png
pastedimage1677497716581v2.png
MadsM Reply
Feb 28, 2023 00:00

Thanks a lot for the answer Harish, very helpful information.

With regards to using any USB-I2C converter, that is very interesting info, and haven´t really seen any info like that before.

So in SigmaStudio you would still chose USBi from the menu as programmer, but just using a "normal" USB-I2C bridge or transceiver HW, instead of the actual USBi?

As for the Reset and Self boot .... maybe this is why I (and many others have some troubles in connecting the programmer to a ADAU1701 board, as it seems to need to be in the exact right order)!

Harishgowtham Reply
Mar 1, 2023 00:00

Hello MadsM,

MadsM said:
With regards to using any USB-I2C converter

Sorry, I'm not very certain about using other USB to I2C converters than the USBi. Let me get back to you soon.

Regards,

Harish

Harishgowtham Reply
Mar 2, 2023 00:00

Hello,

Sorry, it's not possible to use any other USB to I2C converter than our USBi. Our code is specially for the cypress chip which is on the USBi. So, other converters wouldn't work.

Aardvark can do that since SS has a DLL for it. If you don't want to use an USBi then you can have a look at aardvark if you want.

Programming the DSP from any external uC can be done by I2C/SPI with those files extracted from Sigma studio. Have a look at uC interfacing page here.

Regards,

Harish

MadsM Reply
Mar 2, 2023 00:00

Ok, that was also my understanding, Thanks ;)