multiple PCA9632 on same bus and led blinking

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

multiple PCA9632 on same bus and led blinking

Jump to solution
3,112 Views
nikkolas
Contributor II

Hi Staff,

we are designing a product with a distribuited architecture in order to avoid led driving by using I2c at high rate because this involves a lot of fw effort and hw resources : we dont want to blink the leds by i2c high rate commands. Do to so we need to design the i2c bus like the following architecture:

1. Telemetry: on the I2c bus there will be 2-3 sensor  queried every 2 seconds (low rate)

2. Led dimmering/blinking:

  1. Group 1 of LED: in this group there will be 2 of PCA9632/subroup each of one with "x" number of led in which we want syncronize all together with a blinking rate of 250msec up to 2 sec. The blinking must be syncronized and start on each subgroup (each PCA9632) at the same time.
  2. Group 2 of LED: in this group will be 1 of PCA9632 with "y" led in which we want a blinking of the "y" led all togehter with a rate different from the blink rate of the previous point (1).

From what we see the chip is able to blink group of led by superimposing the blink signal on the pwm and I see there are capability like "ALLCALLADR" or "subaddress" that in our opinion can help us to achieve this result.

Could you please:

  1. Confirm the use case above if is feasible?
  2. If yes, how the HW address  pin should be configured?
  3. If yes which are the register address to configure for grouping and syncronize the blinking in the Group1 (composed of 2 subgroup/PCA9632 ) and group 2 (composed of just a PCA9632 /group) ?

Please in order to finish our design we need you support.

Thanks a lot .

 

 

0 Kudos
Reply
1 Solution
2,856 Views
nikkolas
Contributor II
0 Kudos
Reply
7 Replies
3,087 Views
nikkolas
Contributor II

Hi guoweisun and thaks for reply.

  • by clicking one button1 i want for  Group 1 (composed of 2xPCA9632) send a common command in the bus in order to have them changing the blinking rate (for example from 1hz to 1/2 hz) and starting blinking togheter . Is this possible ? Could I have some problem in doing this , related to slew rate since they are 2 different chip even if with the same part number ? Will they start blinking synchronized , ot there will be some delay?
  • by pressing another button I want to change the blink rate of group2 ( 1 x PCA9632) . I think this is feasable since i would change the group blink  frequency just to this chip. Right ?
  • Is there any problem to use PCA9632 with other subsystems sharing the same bus assuming these sensor will have different i2c addresses?
0 Kudos
Reply
3,089 Views
nikkolas
Contributor II

Hi guoweisun and thaks for reply.

  • by clicking one button1 i want for  Group 1 (composed of 2xPCA9632) send a common command in the bus in order to have them changing the blinking rate (for example from 1hz to 1/2 hz) and starting blinking togheter . Is this possible ? Could I have some problem in doing this , related to slew rate since they are 2 different chip even if with the same part number ? Will they start blinking synchronized , ot there will be some delay?
  • by pressing another button I want to change the blink rate of group2 ( 1 x PCA9632) . I think this is feasable since i would change the group blink  frequency just to this chip. Right ?
  • Is there any problem to use PCA9632 with other subsystems sharing the same bus assuming these sensor will have different i2c addresses?
0 Kudos
Reply
3,079 Views
guoweisun
NXP TechSupport
NXP TechSupport

1:I suggest the PCA9633 with OE pin version to cover your this application.

---The active LOW Output Enable input pin (OE) allows asynchronous control of the LED
outputs and can be used to set all the outputs to a defined I2C-bus programmable logic
state. The OE can also be used to externally PWM the outputs, which is useful when
multiple devices need to be dimmed or blinked together using software control. This
feature is available for the 16-pin version only.

2:No problem for sharing the same bus with different i2c addresses sensors.

0 Kudos
Reply
3,063 Views
nikkolas
Contributor II

Hi Guoweisun,

thanks a lot . this clarified me. 

In order to avoid 16bit channel PCA9633 (using the OE signal)  and leave PCA9632 4 bit solution, do you think the attached solution will work? Pseudo code will be:

  1. cut 3v3_LED power for the 2 PCA9632
  2. set by I2C the same I2C PWM duty for same LED0 output (just for intensity)
  3. power the 3v3_LED to start the blink 
  4. wait one second(1Hz blinking)
  5. cut 3v3_LED power for the 2 PCA9632
  6. go to 3

In addition we have a sensor on the bus with 0x60 address (we cant change the address) so can you confirm:

  1. we can configure PCA9632 with 0x61,0x62 and 0x63 in the bus right ?
  2. what to do if we need another LED PCA9632 on the bus? 

Please let us know in order to buy the chip.

Thanks 

 

 

 

 

0 Kudos
Reply
2,857 Views
nikkolas
Contributor II

thanks a lot.

 

0 Kudos
Reply
2,891 Views
guoweisun
NXP TechSupport
NXP TechSupport

Hi

1: PCA9633 is not 16bit,it's also 4bit.

2:we can configure PCA9632 with 0x61,0x62 and 0x63 in the bus right ? 

[gw]Yes.

3:what to do if we need another LED PCA9632 on the bus? 

[gw]Can't directly use it but can add the I2C-bus switch for example PCA954X.

0 Kudos
Reply
3,086 Views
guoweisun
NXP TechSupport
NXP TechSupport

Hi

You don't want to use the IIC interface for setting registers then control the blink function, right?

0 Kudos
Reply