I2C - use "General Call Address" to get all slaves address on master?

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

cross mob
HuYa_4249091
Level 4
Level 4
25 replies posted 25 sign-ins 10 replies posted

Dear All:

Our FX3 connects to a lot of slave devices by I2C, and I found the general call address from the I2C spec as the following figure:

I2C spec - general call.jpg

I don't realize the meaning exactly.

It means I can get ALL slave devices ID by the general call address with (0x00, 0x04)?

ex: FX3 connects to 3 devices which slave address is 0x0A, 0x0B & 0x0C respectively.

      After writing (0x00, 0x04), FX3 will receive (0x0A, 0x0B, 0x0C)?

Hope guys could provide me some suggestions,

Thank you!

Hughes

0 Likes
1 Solution
YashwantK_46
Moderator
Moderator
Moderator
100 solutions authored 50 solutions authored 50 likes received

Hey Hughes,

General Call Address is not intended to get the slave device ID's connected to the bus.


General Call Address is just used to address or communicate with all the device connected to the I2C bus at the same time. But, the catch is that the devices need to be intelligent enough to be able to process the bytes of data from the general call address.
The master is not aware of the number of devices connected to the bus. If a device wants the data or can process every byte of the call, it will act as a slave-receiver and if not, the device ignores the call entirely and doesn't send an acknowledgement.


Regards,
Yashwant

View solution in original post

1 Reply