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.

Pull up resistor in I2C communication

Status
Not open for further replies.

bharat_in

Member level 4
Joined
Oct 5, 2006
Messages
78
Helped
9
Reputation
18
Reaction score
7
Trophy points
1,288
Activity points
1,716
Can anyone please explain the communication over i2c bus?

if master releases a line after transmitting address on the SDA, the pull up resistor will pull that line to logic HIGH, now If slave drives SDA to logic LOW to provide ACK.
won't this condition create "X" on SDA line?
 

i2c weak pull up

It is only pull up to HIGH. So it will not cause "X" I think.
 

weak pull up for i2c

No.
The pull-up resistor only acts as a "weak" pull-up source.

So when slave drives low, the net will be pulled-down to '0'.
--------------------------------------------------------------------------------

You can also refer to the open-drain circuit.
 

Re: I2C pull up

agreed, but in verilog when you do
pullup(SDA)
it's high pull up, then what can be the solution for avoiding the "X"?
 

I2C pull up

I think pull will not cause 'X' except you have multi-driven on this net. If you set pullup on an undriven net, it will not be 'X'
 

Re: I2C pull up

Hi,
The pull up resistor used for SDA is normally 5K for 5v supply. This is required for open drain configuration as a load resistor. this resistor provides weak pull-up and will not cause X on the line.
cheers,
 

I2C pull up

Master will listen on 9th clock (Whether driver is sending ack or not) then it will take further action ,
so never X condition will occur.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top