Visible to Intel only — GUID: iga1458085967300
Ixiasoft
Visible to Intel only — GUID: iga1458085967300
Ixiasoft
16.2.6. Interacting with Multi-Hosts
This IP core is able to integrate multiple I2C hosts provided the I2C hosts support the arbitration feature. The hosts which support arbitration always compares the data value it drives into the bus with the actual value observed on the bus. If both sets of data do not match, then the host loses arbitration. The I2C agent core in the bridge does not observe the bus.
For example, let’s say Host 1 is writing to the bridge while Host 2 is performing a read. Host 1 will win the arbitration during the R/W bit because Host 1 is pulling down the bus, while Host 2 is driving high to the bus. The effective value of the bus during the R/W bit cycle is zero. In this case, Host 2 knows it loses the arbitration because it observes a different value on the bus than what is being driven.
If both hosts are performing a write, then the arbitration process checks the different data value driven by both hosts to determine which one wins the arbitration.
If both hosts are performing a read, then no one loses the arbitration since the single agent is driving the bus to both hosts (no collision).