找回密码
 注册
关于网站域名变更的通知
查看: 22500|回复: 15
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
I2C在SCL高电平期间,SDA电平不能发生变化,在SCL低电平期间,SDA电平可以发生变化。. m$ V7 ^8 J' M* B. \' h; w
那么问题来了,I2C的Data是在SCL的上升沿采样锁存传输还是在SCL的高电平期间传输?; g3 C" j" k9 A0 ]
从I2C的建立时间和保持时间来看,应该是上升沿采样锁存。
' V* o' x. b8 J. k各位大侠请给点答案啊. q0 y( q1 e* {* g3 ]' \+ t

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

I2C时序图

I2C时序图

该用户从未签到

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

点评

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

该用户从未签到

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

点评

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

该用户从未签到

3#
 楼主| 发表于 2016-8-24 18:28 | 只看该作者
kobeismygod 发表于 2016-8-24 18:134 q1 |" o/ C% p" l2 S3 B
你这不是自问自答吗。

# h" \$ X" f6 t. L, x我不确定啊,所以征求各位大侠答案- D6 D5 u$ ^. g; A+ {- K  U

该用户从未签到

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

该用户从未签到

5#
 楼主| 发表于 2016-8-25 12:05 | 只看该作者
故城往事 发表于 2016-8-24 22:39# ]6 o: X0 o# b6 z0 F- G( z
I2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要 ...
. T( T0 P0 q9 k3 Y$ a# ]3 @
那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?8 h1 i0 N; n/ `9 j

点评

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

该用户从未签到

6#
 楼主| 发表于 2016-8-25 12:06 | 只看该作者
故城往事 发表于 2016-8-24 22:39: Y7 l- |; s' l. }: I( h
I2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要 ...
# g% Q0 g9 O6 @- x+ ?
I2C要求SDA在SCL为高电平不能跳变,是因为SCL为高电平时,会触发I2C的起始条件和停止条件。
/ j- s# y1 p8 S7 C5 g9 }, ?& }

该用户从未签到

8#
发表于 2016-9-9 16:41 | 只看该作者
chenlinfeng88 发表于 2016-8-25 12:05
3 |) @, Q+ z' z9 H4 ~2 C/ w9 T那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?

% g; I/ {* T" z- B1 j) I建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取。
$ Z. P: \% R$ ~0 u/ |1 C! m5 V采样是在SCL高电平时采样,所以在数据转换之后到上升沿(10%)这段时间就为建立时间。
5 \% q2 F6 h3 _4 x9 p8 r但是I2C的保持时间好像和以往的定义不同,是在SCL下降沿之后到数据变换之前的时间,这点不是很好理解。
( g5 C! ~3 o0 V& n1 ?" z
3 E& n3 E( q1 j  b  w
( d3 ^2 a2 ~6 i5 G  k6 ^- D

6 `- _0 n& @  e; G+ t# \! T0 R7 J3 Z: _5 d& r4 x) k
( E5 o: E  U. f

该用户从未签到

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

点评

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

该用户从未签到

10#
 楼主| 发表于 2016-9-10 22:37 | 只看该作者
xhy_hard 发表于 2016-9-9 23:18* E0 N5 n# p# l. s9 a. J% X
SCL高电平之后采样,而不是边沿采样
9 U9 j. t' M6 y4 u: L
有文献可以考证吗?
7 Y. |# V) }& \. h8 {

该用户从未签到

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

该用户从未签到

12#
发表于 2018-3-9 21:11 | 只看该作者
本帖最后由 xyh 于 2018-3-9 21:12 编辑
( W& D% K4 ?% A
' C4 o8 A+ l( L5 M- F, f# A无意中翻到这个帖子,没有人回答清楚,其实I2C的采样也是边沿采样,只不过是上下沿都采一次,这样做的目的是为了检测起始和终止信号,I2C规定:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。  
, p, s( P3 p) \  G6 _; M& f. u9 a8 U因此,必须保证在每个时钟周期内对数据线SDA采样两次。对照楼主贴上去那张图,大家应该都能够理解。

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

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

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-30 04:59 , Processed in 0.156250 second(s), 29 queries , Gzip On.

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

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

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