找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划

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

查看数: 4405 | 评论数: 11 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-8-24 17:03

正文摘要:

I2C在SCL高电平期间,SDA电平不能发生变化,在SCL低电平期间,SDA电平可以发生变化。 5 ~6 Y: P0 i3 H( p# _! m7 w那么问题来了,I2C的Data是在SCL的上升沿采样锁存传输还是在SCL的高电平期间传输?6 N) J9 K/ M: v ...

回复

zhuzhenqiu 发表于 2016-8-29 09:07
数据在建立时间后 保持时间前采样

点评

正解  发表于 2016-8-31 11:06
xyh 发表于 2018-3-9 21:11
本帖最后由 xyh 于 2018-3-9 21:12 编辑
  k1 w5 P- b- W- q7 }, g- J! }+ \2 c; M3 d2 u+ `5 _, s
无意中翻到这个帖子,没有人回答清楚,其实I2C的采样也是边沿采样,只不过是上下沿都采一次,这样做的目的是为了检测起始和终止信号,I2C规定:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。  
" ?: [9 h8 V" J: r- w$ a因此,必须保证在每个时钟周期内对数据线SDA采样两次。对照楼主贴上去那张图,大家应该都能够理解。

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

5.jpg
cffdfg45 发表于 2016-10-25 13:34
SCL的上升沿采样锁存
chenlinfeng88 发表于 2016-9-10 22:37
xhy_hard 发表于 2016-9-9 23:18
! D- j1 [! c# a4 v6 xSCL高电平之后采样,而不是边沿采样

6 i# E2 `- g7 f5 Y有文献可以考证吗?
# e+ h; F! p5 c1 K7 j! N& i+ l4 F
xhy_hard 发表于 2016-9-9 23:18
SCL高电平之后采样,而不是边沿采样

点评

有文献可以考证吗?  详情 回复 发表于 2016-9-10 22:37
yjj198709 发表于 2016-9-9 16:41
chenlinfeng88 发表于 2016-8-25 12:05
: O7 K6 |5 p( z8 c& }5 u那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?
7 u( }3 M; c  f% e
建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取。5 f% A) V1 F& t' F
采样是在SCL高电平时采样,所以在数据转换之后到上升沿(10%)这段时间就为建立时间。
' T! |4 s5 p& {: Z$ _但是I2C的保持时间好像和以往的定义不同,是在SCL下降沿之后到数据变换之前的时间,这点不是很好理解。
5 e$ m7 X! f7 p* j
' |! l# Z; s5 r- G; z8 k8 W

2 ~2 O, Y. W% v3 N2 A2 ?2 l
6 `/ W% f' @7 [% z5 u) u" n7 ^: A4 @. Y) |! K2 ~! a2 C2 B' D- h
; E4 z- @6 i, u, q6 r; e; M
chenlinfeng88 发表于 2016-8-25 12:06
故城往事 发表于 2016-8-24 22:39
) R2 {- R( y8 P) SI2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要 ...
8 r: ]" }* D" n9 y1 T7 M
I2C要求SDA在SCL为高电平不能跳变,是因为SCL为高电平时,会触发I2C的起始条件和停止条件。( C# \# u0 Y6 a+ R" L6 |  z: x
chenlinfeng88 发表于 2016-8-25 12:05
故城往事 发表于 2016-8-24 22:39
0 i; V% d# y' VI2C通常应该在时钟的高电平而不是上升沿或者下降沿读取数据,IC抽样判决的时候只要求在时钟上升沿阶段SDA要 ...

7 U) [; G& P8 f' u& ~( N那请问数据的建立时间和保持时间是怎么回事?为什么I2C的SDA建立时间是在SCL的上升沿计算?
$ W2 ?" N5 D% g# y+ G" N1 D' V( T

点评

建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取。 采样是在SCL高电平时采样,所以在数据  详情 回复 发表于 2016-9-9 16:41
故城往事 发表于 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
chenlinfeng88 发表于 2016-8-24 18:28
kobeismygod 发表于 2016-8-24 18:13
) j) T1 s7 ]2 [8 Q* S6 R* [9 q* b4 G  a你这不是自问自答吗。

% Z5 ^5 F+ J; |' d: p! \) u% t' C我不确定啊,所以征求各位大侠答案
" K6 w9 Q8 M( N5 a) E
kobeismygod 发表于 2016-8-24 18:13
你这不是自问自答吗。

点评

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

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

巢课

技术风云榜

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

GMT+8, 2024-11-5 06:11 , Processed in 0.076563 second(s), 46 queries , Gzip On.

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

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

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