Programming Multiple GreenPAK ISP

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
8 posts / 0 new
Last post
danapelletier1
Offline
Last seen: 3 years 1 day ago
Joined: 2018-05-03 16:22
Programming Multiple GreenPAK ISP

My question is similar to that of "The Dude".
Specifically, I want to know if I can program multiple SLG46826 ISP parts in-system utilizing different target code for each, but on the same I2C bus. To do this, I would use the I/O Pins (IO5 thru IO2) as slave addresses unique to each target code. Is the default condition of address CA (Register bits 1623:1620) set for register bits or I/O pins? I don't see a map of default values. If set for register bits 1619:1616, is there a clever workaround that doesn't require a separate I2C bus for each IC?

Thank-you.

Device: 
Device Number: 
SLG46826
david.riedell
Offline
Last seen: 3 years 5 months ago
Joined: 2018-02-02 18:29
Hi Dana,

Hi Dana,

You can program multiple SLG46826 devices on the same I2C bus as long as they are already programmed with distinct 4-bit control codes (slave addresses).

All unprogrammed SLG46826 devices have the slave address 0001 by default, and their slave addresses are set to register bits by default.

I would suggest programming each device with its own separate slave address before placing them in-system. After this you can select them individually for re-programming.

-David

Kentxu
Offline
Last seen: 11 months 3 weeks ago
Joined: 2019-12-19 00:31
Hello,

Hello,

Does this also apply to the SLG47004?

Annoying if it does as it would be nice to be able to mount multiple blank parts on the same I2C bus.

Thanks, Ken

olehs
Offline
Last seen: 9 months 1 week ago
Staff
Joined: 2018-02-07 11:40
Hi Kentxu, 

Hi Kentxu, 

Yes, this approach works with SLG47004. You can program the different chip addresses to the IC or it is also possible to choose the Control code using PIN15-PIN18, please see the attached figure. When the dedicated PINs (note: these PINs should be chosen firstly) are pulled up or pulled down, it will change the chip address respectively.

Best regards, 

olehs

Kentxu
Offline
Last seen: 11 months 3 weeks ago
Joined: 2019-12-19 00:31
Hi Olehs,

Hi Olehs,

Thanks for the reply. My understanding is that the default control code for a blank part is 0001, and to use external pins requires programming of part.

But I want to have e.g. 3 blank parts on same I2C bus, so how can I select each part if they are not programmed first?

Thanks, Ken

olehs
Offline
Last seen: 9 months 1 week ago
Staff
Joined: 2018-02-07 11:40
Kentxu,

Kentxu,

There is no other way to distinguish the blank chips on the I2C line. You definitely need to change their I2C address firstly.

Best regards,

olehs   

Kentxu
Offline
Last seen: 11 months 3 weeks ago
Joined: 2019-12-19 00:31
Thanks Olehs,

Thanks Olehs,

Can I make a suggestion for the next ISP chip design? Please make the default setting use the external pins. They can have default pull-up/down to make the code 0001, but the user can also force another address. That way we can use multiple blank parts.

Thanks, Ken

olehs
Offline
Last seen: 9 months 1 week ago
Staff
Joined: 2018-02-07 11:40
Kentxu, 

Kentxu, 

GreenPAK is flexible in its configurability and adding the PINs will only change the chip address can decrease the chip's functionality. Furthermore, you can order the preprogrammed chips, where the I2C address will be changing dependently on PIN15-PIN18 condition. The rest project bits will be empty, and ready to be changed via I2C. 

Best regards, 

olehs