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.

i2c fsm designing doubts - what is debouncing circuit in I2C

Status
Not open for further replies.

vikas_33

Junior Member level 2
Joined
Apr 16, 2009
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,439
i2c fsm designing

Hello all,
i was studying I2c slave specification.I noticed there are 2 clk in one is SCL and other is system CLK. My doubt is i saw a code on open core and i found they were registering data on System clk rather SCL.
what is debouncing circuit in I2C?
thanks in advance!
 

vikas_33

Junior Member level 2
Joined
Apr 16, 2009
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,439
i2c debounce

can any one help on this?
 

heartfree

Advanced Member level 4
Joined
Oct 31, 2004
Messages
100
Helped
3
Reputation
8
Reaction score
2
Trophy points
1,298
Activity points
738
i2c glitch

debouncing circuit is used to remove the gitch of SCL .
 

    vikas_33

    Points: 2
    Helpful Answer Positive Rating

vikas_33

Junior Member level 2
Joined
Apr 16, 2009
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,439
I2c doubts

Thanks heartfree,
Do u have any documents for debouncing circuit of I2C or can you please elaborate it?
 

ljxpjpjljx

Advanced Member level 3
Joined
May 5, 2008
Messages
972
Helped
80
Reputation
162
Reaction score
55
Trophy points
1,308
Location
Shang Hai
Activity points
4,679
Re: I2c doubts

you can see the spec of I2c to investigate !
 

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
Re: I2c doubts

@heartfree
Can you explain more about de-bouncing circuit usage in I2C ???
 

heartfree

Advanced Member level 4
Joined
Oct 31, 2004
Messages
100
Helped
3
Reputation
8
Reaction score
2
Trophy points
1,298
Activity points
738
I2c doubts

System clock is generally faster than SCL. We can use system clock to measure the width of SDA or SCL, for example ,if the width is larger then 8cycle of system clock, that means that SDA and SCL is stable and the transistion is not glitch.
 

vikas_33

Junior Member level 2
Joined
Apr 16, 2009
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,439
Re: I2c doubts

Deboucing circuit is not required in all the cases.Mostly debouncing is required in FPGA.In Asic's Mostly the SDA And SCL input should be made spike free by using schmit switch..
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
49,160
Helped
14,393
Reputation
29,050
Reaction score
13,144
Trophy points
1,393
Location
Bochum, Germany
Activity points
283,322
I2c doubts

Yes. Bus clocked I2C slave interfaces mainly need some precautions against false double clocking from ringing edges. Industry standard devices are said to have e.g. 50 ns spike filtering, typically achiedved by a schmitt trigger.
 

rakko

Full Member level 4
Joined
Jun 1, 2001
Messages
233
Helped
10
Reputation
20
Reaction score
6
Trophy points
1,298
Location
mozambic
Activity points
2,065
Re: I2c doubts

heartfree is full of it with his debouncing BS. There is no such thing in I2C. The clk as some people already mentioned is a real free running clock used for system tasks. For example it clocks your flops in the state machine and the interface logic. SCL is not really a clock since it does not run all the time and is used by both I2C slave and master to stop each other from transmitting data. Some type of wait state. So, you see, it can not be used as a normal, always running clock by the rest of your logic.

I wish those who don't know would stop posting BS to rack up their points.
 

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
49,160
Helped
14,393
Reputation
29,050
Reaction score
13,144
Trophy points
1,393
Location
Bochum, Germany
Activity points
283,322
Re: I2c doubts

As far as I see, there are two types of I2C slave interfaces: Complex peripherals, that utilize a system clock and simple asynchronous ones without it. If a system clock is present, you won't treat SCL as a clock rather processing the I2C signals synchronously. Up to medium system clock speeds, no debouncing logic is necessary, as rakko stated. (Personally I prefer to ignore meaningless contributions rather than commenting them or using strong words about it. You mainly get points for helping people, and the originator has to decide, if your answer is helpful somehow.)

But there are also simple I2C interfaces without a system clock. They have to process SCL and possibly SDA by edge sensitive circuits and typically use debouncing circuits. I can imagine several applications, where CPLD based I2C slave designs of this type are suitable.
 

vikas_33

Junior Member level 2
Joined
Apr 16, 2009
Messages
24
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,439
Re: I2c doubts

Thanks Rakko, FVM for your KS.
As we will use schmit switch on our SDA and SCL input of I2C slave I am not going to debounce the SDA, SCL anymore. My slave is running at 1MHZ Fast mode plus but still i think I don't need Deboucing circuit .Deboucing ckt is required in FPGA because i guess there is no Schmidt switch implemented on its inputs.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top