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

PSoC™ 5, 3 & 1 Forum Discussions

Ronny
Level 1
Level 1
First reply posted First question asked First like given

Dear All:

There is a I2C mater and several slaves with the same address so I need a mux to determine which slave device i want to control. And i use analog mux in the CY8CKIT-059 kit to implement  my purpose.

p1[2] is SDAT source signal from master

p3[1] is connected to SDAT0 of slave device_0

p3[4] is connected to SDAT1 of slave device_1

as attached p1 shows.

and then I found it didn't work. So i took a measurement using scop as attached p2 shows.

channl4(green color) is clock from master

ch1(yellow) is measured by p1[2]

ch2(blue) is measured by  p3[1] .

ch1 and ch2 should get the same signal when using analog mux as their connection bridge, but they don't.

how do i solve the issue?

Thank you.

by the way, all of my pins' type setting is "analog", drive mode is "high impedance analog". 

 

 

0 Likes
1 Solution

Ronny,

Take a look at this link:

Two-I2C-slaves-with-the-same-address  

Len
"Engineering is an Art. The Art of Compromise."

View solution in original post

3 Replies
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

It is trather strange choice to use Analog Mux and pins for digital communication. Why standard Digital Mux is not used?

0 Likes
Ronny
Level 1
Level 1
First reply posted First question asked First like given

Because I2C is bidirectional signal, and digital mux don't allow bidirectional pin to be connected with it .

All I can choose is analog MUX.

0 Likes

Ronny,

Take a look at this link:

Two-I2C-slaves-with-the-same-address  

Len
"Engineering is an Art. The Art of Compromise."