Can I use several CY8CMBR3116 in the same board with the same I2C bus ?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ThBi_3905606
Level 2
Level 2
10 replies posted 10 questions asked 10 sign-ins

Hello,

I need to have 64 capsense buttons on the same board.

Can I use 4 differents CY8CMBR3116 (with 4 differents I2C adresses) in the same board ?

If I can do that, what is the easy way to send each adresses to each CY8CMBR3116, from the host  by I2C

Thomas

0 Likes
1 Solution

Hello Thomas,

1) If I change the I2C address of my MBR device 1 and I power off / reset, for the next run is my custom address stay the same, or is come back at 0x37.

in other words is the MBR device keep all the custom registers after a reset?

-> Yes, MBR3 saves the configuration registers to flash, after a reset.

Please refer to Section 5.2.4 of https://www.cypress.com/file/46366/download​, where the commands to be sent from host are explained.

2) How I can specify to each MBR device is own custom address (with I2C protocol by the Host) ?

-> Yes, you need to modify the I2C_ADDR configuration register, while you send the 128 bytes of configuration data and save the configuration to flash.

3) How I can "disconect" 2 devices, in order to use default address to the last device and give to hit is new address?

-> Yes, you could hold the XRES low. This is a good option. Please place a capacitor on XRES pin to avoid glitches.

Else, you would have to use switches to power off the respective devices or place the devices separately in a socket to configure and then, place them on the production board.

Thanks,

Shanmathi

View solution in original post

0 Likes
4 Replies
ShanmathiN_06
Employee
Employee
100 replies posted 50 replies posted 25 replies posted

Hi Thomas,

Yes, you could connect many MBR3 slaves with different I2C slave addresses to a single I2C host master.

You will have to configure each slave device with the specific slave address beforehand, for which you could use EzClick software to modify address in Global Configuration tab.

Else, you could also modify I2C_ADDR register through your host I2C master.

Please refer to Register TRM for more details.(https://www.cypress.com/file/127221/download)

EzClick software-> https://www.cypress.com/documentation/software-and-drivers/ez-click-20

However, please ensure that bus capacitance may be large in that case and pull-up resistors are selected accordingly. You could refer to Section 7.1 of https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Thanks,

Shanmathi

0 Likes

Hello Shanmathi,

Good news, however I have more questions,

If I change the I2C address of my MBR device 1 and I power off / reset, for the next run is my custom address stay the same, or is come back at 0x37.

in other words is the MBR device keep all the custom registers after a reset .

If the answer is yes, I understand that I can configure each MBR device with is own programming port.

Is there a way to use I2C between Host and device ? the devices are on the same I2C bus, so conflict can happen.

So my next question is,

Can I "disconnect" / keep off a MBR device 1 with XRES reset in order to talk to an another MBR device ?

Do i have to keep XRES at Low in order to off the device ?

Thomas

0 Likes

Hello,

To complete the question I just sent, I would like to specify ma situation:

I design a board with 1 Host and 3 MBR devices.

The first time I power on the board, the 3 MBR devices have the same I2C default address.

How I can specify to each MBR device is own custom address (with I2C protocol by the Host) ?

How I can "disconect" 2 devices, in order to use defautl address to the last device and give to hit is new address ?

Thomas

0 Likes

Hello Thomas,

1) If I change the I2C address of my MBR device 1 and I power off / reset, for the next run is my custom address stay the same, or is come back at 0x37.

in other words is the MBR device keep all the custom registers after a reset?

-> Yes, MBR3 saves the configuration registers to flash, after a reset.

Please refer to Section 5.2.4 of https://www.cypress.com/file/46366/download​, where the commands to be sent from host are explained.

2) How I can specify to each MBR device is own custom address (with I2C protocol by the Host) ?

-> Yes, you need to modify the I2C_ADDR configuration register, while you send the 128 bytes of configuration data and save the configuration to flash.

3) How I can "disconect" 2 devices, in order to use default address to the last device and give to hit is new address?

-> Yes, you could hold the XRES low. This is a good option. Please place a capacitor on XRES pin to avoid glitches.

Else, you would have to use switches to power off the respective devices or place the devices separately in a socket to configure and then, place them on the production board.

Thanks,

Shanmathi

0 Likes