PCA9956 I2C clock frequency

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PCA9956 I2C clock frequency

849 Views
dare_bgd
Contributor I

Hello, 

I have built a LED controller for 24 LEDs and it works perfectly if I use I2C clock rate of 100kHz. If I try to use 400kHz, I cant see the LEDs powering up, the device doesn't work. I have tried to monitor I2C lines on the scope, they seem OK, my device do not add too much capacitance to the I2C bus.  I have tried it with two different microcontrollers, so I'd rule out slew rate control of the I2C pins or bad libraries...

My question is: do I need to follow some specific I2C initialization (such as sending 0001xxx I2C code) to work with 400kHz, or the problem lies elsewhere ?

Thanks in advance

1 Reply

708 Views
dare_bgd
Contributor I

To answer my question to myself: the device needs a RESET. As already discussed on another topic, it needs to be reset, but to be more specific, it needs both hardware and software reset. Software reset is issued using the I2C interface command. HW reset is the initial reset, followed by a SW reset. This allowed I2C clock above 100kHz to be used. 

There it is, maybe someone else had this issue, too, I hope he'll find it useful.