Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Two masters different speed i2c

Status
Not open for further replies.

bhadmanathan

Junior Member level 1
Joined
May 7, 2016
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
187
Hello everyone,

i know the basic concepts of i2c arbitration.

If two masters try to communicate with a single slave at the same time means, master which sends the low will win the arbitration and another will back off.

But what happens, if two masters are configured with different speed say 100Khz and 400Khz.

Is it possible to configure like this ?

or

what happens in this case ?
 

Should work. Clock speed does not matter during arbitration, and then winning master will drive SCL itself.
 

If clock speed does not matters means, how arbitration will happen.

Master2 will send faster than master1, if so always master2 wins the arbitration, right ?
 

Hi,

You may be correct. But only if always both masters start to acces the bus at exactely the same time.

Not very likely.

Klaus
 

If clock speed does not matters means, how arbitration will happen.
Confusion of topics. Purpose of arbitration is to solve bus access conflicts and will always work if both masters comply with the I2C protocol. To achieve bus load balance, both masters must limit their bus activity to a suitable level. Also the slow master can block the bus by endless access...
 

If clock speed does not matters means, how arbitration will happen.

Master2 will send faster than master1, if so always master2 wins the arbitration, right ?

Master should free the bus after transmission. So we have 4 options:
1. Bus is busy and the second master gives up for some time
2. Bus is free and both masters try to access it at the same time - normal bus arbitration procedure applies
3. Bus is free and only one master takes control over the bus.
4. Bus error - for example master has not finished reading from the slave transmiter - application code on both masters should have way to recover from such errors (for example to drive SCL about times to finish slave tranmition and NACK it.)
Clock speed does not matter in any of those circumstances.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top