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.

[SOLVED] what are the issues if we operate i2c bus above its maximum frequency?

Status
Not open for further replies.

kaushikrvs

Member level 5
Joined
Jan 27, 2017
Messages
82
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
613
what are the issues if we operate i2c bus above its maximum frequency?
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
19,927
Helped
4,368
Reputation
8,745
Reaction score
4,347
Trophy points
1,393
Activity points
131,903
Hi,

the operation may not be reliable. Expect wrong data. Reading, writing, or both.

Maybe the device even doesn´t respond to your access.

Klaus
 

schmitt trigger

Advanced Member level 5
Joined
Apr 17, 2013
Messages
2,726
Helped
859
Reputation
1,722
Reaction score
846
Trophy points
1,393
Activity points
18,420
I once had a system with a mix of 100 and 400 Khz devices.

Of course, I operated everything at low speed.

One lazy afternoon, I decided to play a little bit, and using exactly the same proven code, increased the speed to 400 khz.

The 100 Khz devices would never respond, that was expected.
What was a surprise was the fact that even when addressing the high speed devices, they would sometimes hang the bus.

So no....don't do it.
 

asdf44

Advanced Member level 3
Joined
Feb 15, 2014
Messages
999
Helped
355
Reputation
710
Reaction score
343
Trophy points
1,363
Activity points
9,695
I assume the low speed devices, which may not properly track the bus activity may think they 'hear' their address being called randomly when it isn't. That's the worst case scenario which will hang the whole bus.
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
48,515
Helped
14,270
Reputation
28,805
Reaction score
12,973
Trophy points
1,393
Location
Bochum, Germany
Activity points
280,589
It's well-known that an I2C slave can lock the bus if it has been put into slave transmitter mode by bus glitches or otherwise misunderstood bus signals. According to the Philips/NXP I2C-manual, a reset procedure is required in this case.

Bus recovery sequence is done as following:
1-Send 9 clock pulses on SCL line
2-Ask the master to keep SDA High until the “Slave-Transmitter” releases the SDA line to perform the ACK operation
3-Keeping SDA High during the ACK means that the “Master-Receiver” does not acknowledge the previous byte receive
4-The “Slave-Transmitter” then goes in an idle state
5-The master then sends a STOP command initializing completely the bus
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top