alexxx
Advanced Member level 4
PA3040 said:Please explain what is the meaning of general call condition in I2C
The general call address is used to do broad cast over the entire bus. It addresses all the slaves connected to the bus irrespective of their programmed address. But it is not mandatory that all the connected devices should respond to general call addressing. The devices that not interested in general call can ignore the same. But those devices make use of general call should acknowledge properly. The byte follows the general call address usually define what action needs to be taken by the slaves in response to the call. The command in the second byte is interpreted based on the value of its LSB. If LSB is zero, the following commands are defined.
00000110 (0x06): When receiving this command, all devices should reset and take in the programmable part of their address.
00000100 (0x04): Take in the programmable part of the address, but do not reset
Other values in this scenario are undefined and should be ignored by slaves.
When the LSB of the second byte in general call is one , it means that this call is made by a hardware master device who does not have any prior information of the connected slave addresses. In this case the master does the call with its own address so that the slaves can identify the source of the message.
I2C Bus: General Call Address
**broken link removed**
An I2C Tutorial.
**broken link removed**