I2C to IO expander with NVM

Thread Starter

engr_david_ee

Joined Mar 10, 2023
358
Hello,

I am looking for I2C to IO expander with NVM such that upon power reset the previous programmed state of the I/O remain intact and maintain the last program state until we program the I/O pins again. We need this for slow control so speed does not matter. Any suggestion ?

I found this one PCA9558 but I am not sure if EEPROM work the same way as non-volatile Flash.
https://www.nxp.com/docs/en/data-sheet/PCA9558.pdf
 

Thread Starter

engr_david_ee

Joined Mar 10, 2023
358
I forget to mention that we already have Microcontroller on the other board which is connected via I2C. We actually need I2C to IO expander but with non volatile memory.
 

nsaspook

Joined Aug 27, 2009
16,251
Are you looking for something like this?
https://www.analog.com/media/en/technical-documentation/data-sheets/ds4520.pdf

General Description
The DS4520 is a 9-bit nonvolatile (NV) I/O expander
with 64 bytes of NV user memory controlled by an I2Ccompatible serial interface. The DS4520 offers users a
digitally programmable alternative to hardware jumpers
and mechanical switches that are being used to control
digital logic nodes. Furthermore, the digital state of each
pin can be read through the serial interface. Each I/O
pin is independently configurable. The outputs are open
drain with selectable pullups. Each output has the ability
to sink up to 12mA. Since the device is NV, it powers up
in the desired state allowing it to control digital logic inputs
immediately on power-up without having to wait for the
host CPU to initiate control.
 

nsaspook

Joined Aug 27, 2009
16,251
Who EVER said you could not have more than one processor on a board!?
I don't think that's the point here. The OP wants (from my understanding) NV I/O outputs at power up from that last powerup state of the I/O expander. A controller with EEPROM storing that last last powerup state would likely work but there are dedicated parts for that functionality.
 

BobTPH

Joined Jun 5, 2013
11,465
I was only offering an alternative when the TS said he could not find what he wanted.

Edited to add: Note that the part linked by @nsaspook is $6.98 Qty 1 at Mouser.
 
Last edited:

nsaspook

Joined Aug 27, 2009
16,251
I was only offering an alternative when the TS said he could not find what he wanted.

Edited to add: Note that the part linked by @nsaspook is $6.98 Qty 1 at Mouser.
There are times (no idea if the OP really needs this) when you need the programmable equivalent to hardware jumpers for selection of boot loaders, boot firmware, security features and the like from computer system management hardware. You can hot change pre-boot config options and other hardware functionally on a device like the non-volatile I/O expander, reset the system (while still powered up, warm start) to verify they are working correctly and then program the NV to have the same configuration of 'jumpers' from a cold boot.

1739830003207.png
 

Thread Starter

engr_david_ee

Joined Mar 10, 2023
358
Thank you very much for sharing DS4520 which is a 9-bit nonvolatile (NV) I/O expander with 64 bytes of non volatile memory.

What is the difference between DS4520 and PCA9558 I shared in original post.

PCA9558 is also I2C to IO port expander and has 2 k bit EEPROM. I am sorry I have little knowledge in memories.

Can PCA9558 also be programed once and upon power reset it hold the previous IO status until the new configuration is loaded ?
 
Top