I2c Slave to I2C master bridge

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

cross mob
EyLa_1625036
Level 3
Level 3
10 likes given 10 sign-ins 25 replies posted

Hello all , 

I have a custom psoc5lp board ,

I  want to implement an I2C SLAVE to I2C MASTER bridge ,

So the psoc is just a short between those 2 i2c interfaces  .

I want a pc connected to the i2c slave to control the i2c slave devices

and not the PSOC.

as shown in my attached picture :

 how to implement a bridge between i2c slave to i2c masterhow to implement a bridge between i2c slave to i2c master

I have seen one implementation of a short (its not so easy because i2c communication works both ways ).

but this kind of implementation is not good for me because in some cases in my design the psoc need to take 

control and not pass the i2c traffic .

so What are my options ? 

record the pc i2c master commands and mirror them to the i2c master component ? 

Maybe something else ?  

Thanks Lampel.

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

You might be interested on this post.

https://community.infineon.com/t5/PSoC-5-3-1/PSoC5LP-Muxing-an-external-I2C-master-onto-an-internal-...

If  you have an internal I2C Master that takes control sometimes, you can add a digital mux on the SDA and SCL lines to mux between your internal I2C Master and the I2C passthrough component. Then, use a control register to mux between them.

Attached you find a project with this concept.

View solution in original post

0 Likes
4 Replies
lock attach
Attachments are accessible only for community members.
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

You might be interested on this post.

https://community.infineon.com/t5/PSoC-5-3-1/PSoC5LP-Muxing-an-external-I2C-master-onto-an-internal-...

If  you have an internal I2C Master that takes control sometimes, you can add a digital mux on the SDA and SCL lines to mux between your internal I2C Master and the I2C passthrough component. Then, use a control register to mux between them.

Attached you find a project with this concept.

0 Likes

Thank you! 

This  design seems very close to what  I am looking for , 

but just let me understand , 

in your design  you have two I2C slaves and one I2C MASTER.

but I have one I2C SLAVE and one I2C MASTER .

the selectmux bit is choosing between a short from i2c MASTER to downstream_I2C 

or a short between 2c MASTER to upstream_I2C is this correct ? 

i2c_desgin.PNG

 

0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

You don't need the two I2C Slaves (UpStream_I2C and DownStream_I2C). That's only for testing.

0 Likes
EyLa_1625036
Level 3
Level 3
10 likes given 10 sign-ins 25 replies posted

Thank you so much

I can confirm it is a working solution !