Can I use I2C component to communicate with SMBus devices?

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

cross mob
yaga_3967241
Level 3
Level 3
50 sign-ins 25 sign-ins 10 replies posted

Hi,

The parts we are using is PSoC LP5:  CY8C5467AXI-LP108.

We are trying to get information from a battery that only supports SMBus. Can I use I2c component as SMBus master to communicate to the battery? If yes, what should be the tricks and limitations, such as I cannot set data rate to 400k, right?

Thanks,

Winston

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

Yes, you can. The I2C master will not have the timeout embedded feature in the component, but since you are the master, this is not a big deal. You can implement your own timeout mechanism.

The I2C API also doesn't support pages and commands, so you might want to build some high level functions on top of the I2C API.

View solution in original post

0 Likes
2 Replies
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

Winston,

I'm not a I2C or SMBus expert by any means.

Have you checked out the SMBus component resource already available?

Len_CONSULTRON_0-1629549756653.png

 

Len
"Engineering is an Art. The Art of Compromise."
0 Likes
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

Yes, you can. The I2C master will not have the timeout embedded feature in the component, but since you are the master, this is not a big deal. You can implement your own timeout mechanism.

The I2C API also doesn't support pages and commands, so you might want to build some high level functions on top of the I2C API.

0 Likes