找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 4420|回复: 15
打印 上一主题 下一主题

I2C的Data是在时钟上升沿采样还是下降沿采样?

[复制链接]

129

主题

602

帖子

3027

积分

五级会员(50)

Rank: 5

积分
3027
跳转到指定楼层
1#
发表于 2016-8-24 17:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
I2C在SCL高电平期间,SDA电平不能发生变化,在SCL低电平期间,SDA电平可以发生变化。9 g9 P3 h4 ]* {% j
那么问题来了,I2C的Data是在SCL的上升沿采样锁存传输还是在SCL的高电平期间传输?7 ]. j. z& e! K7 {3 q1 U! t2 x
从I2C的建立时间和保持时间来看,应该是上升沿采样锁存。
- f8 Q, ]3 B! v$ `. Q8 A8 a各位大侠请给点答案啊9 F' r2 N% z$ }6 P

1.jpg (75.08 KB, 下载次数: 2)

I2C时序图

I2C时序图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏2 支持!支持! 反对!反对!

9

主题

97

帖子

-1万

积分

未知游客(0)

积分
-11878
推荐
发表于 2016-8-29 09:07 | 只看该作者
数据在建立时间后 保持时间前采样

点评

正解  发表于 2016-8-31 11:06

16

主题

348

帖子

3760

积分

五级会员(50)

Rank: 5

积分
3760
2#
发表于 2016-8-24 18:13 | 只看该作者
你这不是自问自答吗。

点评

我不确定啊,所以征求各位大侠答案  详情 回复 发表于 2016-8-24 18:28

129

主题

602

帖子

3027

积分

五级会员(50)

Rank: 5

积分
3027
3#
 楼主| 发表于 2016-8-24 18:28 | 只看该作者
kobeismygod 发表于 2016-8-24 18:137 B, I4 D, [& n$ ^2 t
你这不是自问自答吗。
. \) @4 i; Q  k1 E, S
我不确定啊,所以征求各位大侠答案
% {* a9 r6 w' D1 h) {  k5 Z

110

主题

371

帖子

1291

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1291
4#
发表于 2016-8-24 22:39 | 只看该作者
I2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要能够稳定的保持一段时间。

点评

I2C要求SDA在SCL为高电平不能跳变,是因为SCL为高电平时,会触发I2C的起始条件和停止条件。  详情 回复 发表于 2016-8-25 12:06
那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?  详情 回复 发表于 2016-8-25 12:05

129

主题

602

帖子

3027

积分

五级会员(50)

Rank: 5

积分
3027
5#
 楼主| 发表于 2016-8-25 12:05 | 只看该作者
故城往事 发表于 2016-8-24 22:39) j! t4 P& [* u3 G
I2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要 ...

- s' u. ?- @8 S那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?$ ~8 E, d. o6 z( s

点评

建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取。 采样是在SCL高电平时采样,所以在数据  详情 回复 发表于 2016-9-9 16:41

129

主题

602

帖子

3027

积分

五级会员(50)

Rank: 5

积分
3027
6#
 楼主| 发表于 2016-8-25 12:06 | 只看该作者
故城往事 发表于 2016-8-24 22:39
4 b( ?8 e5 A7 r9 p) W) sI2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要 ...

1 k$ @9 x7 N. `9 TI2C要求SDA在SCL为高电平不能跳变,是因为SCL为高电平时,会触发I2C的起始条件和停止条件。
* J: s9 @* g" `1 N7 C9 C

31

主题

247

帖子

697

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
697
8#
发表于 2016-9-9 16:41 | 只看该作者
chenlinfeng88 发表于 2016-8-25 12:05! V+ X. `" }! c5 j9 C0 p
那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?

/ v+ m5 X. @4 b! H9 R, f建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取。& G" [# G' s% ]! X4 m* x3 _& L8 G% ~5 \
采样是在SCL高电平时采样,所以在数据转换之后到上升沿(10%)这段时间就为建立时间。
7 G: O0 b- S; J但是I2C的保持时间好像和以往的定义不同,是在SCL下降沿之后到数据变换之前的时间,这点不是很好理解。2 i) X9 J' P$ c) {) P
% r" f  V8 r! w9 [8 w4 ?4 {- x

8 c8 A3 N7 P/ A7 ~1 E
+ Y0 U) X2 h& V( `
* X4 I* s( z6 l& a3 l( ]3 a* ^
8 k0 t  q; N  r( h9 p3 q

9

主题

141

帖子

601

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
601
9#
发表于 2016-9-9 23:18 | 只看该作者
SCL高电平之后采样,而不是边沿采样

点评

有文献可以考证吗?  详情 回复 发表于 2016-9-10 22:37

129

主题

602

帖子

3027

积分

五级会员(50)

Rank: 5

积分
3027
10#
 楼主| 发表于 2016-9-10 22:37 | 只看该作者
xhy_hard 发表于 2016-9-9 23:18' ^- a5 A7 z, F+ B4 s+ W; ?  ^: I
SCL高电平之后采样,而不是边沿采样
4 l- y1 J( M- E; y% B5 w+ g8 ]4 \* B
有文献可以考证吗?6 z! A# J8 Z2 g8 T, b

43

主题

526

帖子

656

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
656
11#
发表于 2016-10-25 13:34 | 只看该作者
SCL的上升沿采样锁存

6

主题

58

帖子

402

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
402
12#
发表于 2018-3-9 21:11 | 只看该作者
本帖最后由 xyh 于 2018-3-9 21:12 编辑 ; s" ~" b9 Y/ F9 u4 m3 }

, A+ n0 @+ G# A, g' u  j, A无意中翻到这个帖子,没有人回答清楚,其实I2C的采样也是边沿采样,只不过是上下沿都采一次,这样做的目的是为了检测起始和终止信号,I2C规定:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。  / g" Q% |6 p' u+ {
因此,必须保证在每个时钟周期内对数据线SDA采样两次。对照楼主贴上去那张图,大家应该都能够理解。

5.jpg (21.96 KB, 下载次数: 0)

5.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-11 15:51 , Processed in 0.075813 second(s), 43 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表