Hey there,
I'm trying to set up the PCA9955 Led Driver with I2C. I set the four hardware selectable pins A0-A3 to ground (VSS), so that the device adress should be 110 0000 (C0h including R/W bit). Problem is, the driver doesn't send an acknowledge bit as a response (I connected the I2C to an oscilloscope).
By addressing it with the ALLCALLADR (E0h) or SUBADDRESS (ECh) an acknowledge bit is set und the following messages can be transmitted.
As I got only one driver on the bus I could use this addresses to set up the driver, but as I read in the datasheet, this address is only for read transactions?
I can't get the issue of the addressing problem. The selected address shouldn't be a permitted one...
Hope someone can help.
Greeting,
Phil
Hello Phil,
The I2C-bus slave address of the PCA9955B is shown in Figure 3 from datasheet. The 7-bit slave address is determined by the quinary input pads AD0, AD1 and AD2.
When the input pins are connected to ground, the I2C address is 0000001 based on the Table 5 below:
Can you please verity your input pins connection?
Regards,
David
Yes I did an PR for the PCA 9955 but purchasing got the PCA9955B as that is what is now out there.
So the address is working as it should but I now have the problem of being on address 5 as that is a reserved address for high speed I2C. Time for a PCB redesign and Fix.
I have 5 of these chips on a PCB and one other chip on the I2C bus
I do get a Ack from the other chip on the bus a PCA 9555 at 0100 000
but none of the PCA 9955 chips are giving ack on the addresses expected for direct addressing.
I do get responses at these address
0000 000
0000 001
0000 101
0010 101
0011 010
1100 101
1110 000
1110 110
I should be getting responses at
0000 000
1100 000
1100 001
1100 010
1100 011
1100 100
1110 000
1110 110