为什么 IIC 总线对上升时间有要求?

[复制链接]
7128|37
 楼主| yb430 发表于 2017-8-16 19:31 | 显示全部楼层 |阅读模式


如图,为什么上升时间不能超过 1us / 300ns?

本帖子中包含更多资源

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

×
xyz549040622 发表于 2017-8-16 20:55 | 显示全部楼层
假设超过这个时间,就不会被认为是上升了,就会被认为是持续了一段时间的低电平或者高电平了。
 楼主| yb430 发表于 2017-8-16 21:12 | 显示全部楼层
xyz549040622 发表于 2017-8-16 20:55
假设超过这个时间,就不会被认为是上升了,就会被认为是持续了一段时间的低电平或者高电平了。 ...

快速模式是300ns,标准模式是1us,快速模式的器件在标准模式的总线上不能用?
xyz549040622 发表于 2017-8-16 21:22 | 显示全部楼层
这个应该是STM32的I2C的介绍吧。I2C器件应该都是支持100k-400k的速率的,这个在器件的介绍中应该都有说明的。100k就是标准模式,400k就是快速模式。除非器件的手册说这个器件最大支持100k的速率,那么他就不能用快速模式了。
 楼主| yb430 发表于 2017-8-16 22:21 | 显示全部楼层
xyz549040622 发表于 2017-8-16 21:22
这个应该是STM32的I2C的介绍吧。I2C器件应该都是支持100k-400k的速率的,这个在器件的介绍中应该都有说明的 ...

不是STM32的介绍,是I2C总线规范。
我觉得快速模式的器件应该可以用在标准模式总线上。但快速模式上升沿最大300ns,标准模式的1us看起来超标了。
xyz549040622 发表于 2017-8-16 22:39 | 显示全部楼层
yb430 发表于 2017-8-16 22:21
不是STM32的介绍,是I2C总线规范。
我觉得快速模式的器件应该可以用在标准模式总线上。但快速模式上升沿 ...

既然他快速模式可以运行,标准模式肯定也是可以的。降速运行肯定可以吧。
 楼主| yb430 发表于 2017-8-17 06:26 | 显示全部楼层
xyz549040622 发表于 2017-8-16 22:39
既然他快速模式可以运行,标准模式肯定也是可以的。降速运行肯定可以吧。 ...

我也认为降速应该是可以的。但我不知道上升沿最大300ns该如何理解,明显矛盾的嘛。
所以标题是:为什么 IIC 总线对上升时间有要求?

上升沿慢一点会有问题吗?慢到什么程度会有问题?道理是什么?
快速器件要求上升沿必须更快吗?如果是,那如何兼容标准器件?

山东电子小菜鸟 发表于 2017-8-17 08:37 | 显示全部楼层
yb430 发表于 2017-8-17 06:26
我也认为降速应该是可以的。但我不知道上升沿最大300ns该如何理解,明显矛盾的嘛。
所以标题是:为什么 I ...

支持楼主
kingkits 发表于 2017-8-17 09:27 | 显示全部楼层
主要是时钟有触发机制,当上升沿过长时,因为各种原因的干扰,可能会导致信号线在门限位置产生重复(误)触发。芯片在设计时有考虑过这个问题,但还要兼容快速响应真实的信号,因此在这里设置了一个最大时间限制。
datouyuan 发表于 2017-8-17 15:25 | 显示全部楼层
本帖最后由 datouyuan 于 2017-8-17 16:29 编辑

IC 总线的IO都是准双向的。下降时间由端口直接拉低,所以非常短。上升时间是由线对地电容和线的上拉电阻决定的,减小上拉电阻或缩短IIC导线能减少上升时间。上升时间和IIC器件是标准或快速无关。
在相同环境下,快速IIC和标准IIC的上升时间是一样的。假如该环境能达到快速器件的要求(上升时间小于300nS),自然就满足标准器件的要求(上升时间小于1000nS),不矛盾。假如该环境上升时间是600nS,只满足标准模式要求(上升时间小于1000nS),却不能满足快速模式要求(上升时间小于300nS),这时以快速模式操作可能会出错,以标准模式能正常工作。
快速器件要兼容标准器件,只需要用标准模式的时序就可以了。
feelhyq 发表于 2017-8-17 16:26 | 显示全部楼层
datouyuan 发表于 2017-8-17 15:25
IC 总线的IO都是准双向的。下降时间由端口直接拉低,所以非常短。上升时间是由线对地电容和线的上拉电阻决 ...

datouyuan 发表于 2017-8-17 16:42 | 显示全部楼层
本帖最后由 datouyuan 于 2017-8-17 17:03 编辑
yb430 发表于 2017-8-17 06:26
我也认为降速应该是可以的。但我不知道上升沿最大300ns该如何理解,明显矛盾的嘛。
所以标题是:为什么 I ...
上升沿慢一点会有问题吗?慢到什么程度会有问题?道理是什么?

楼主可以极端的考虑一下,假如IIC线对地并一个比较大的电容,这时不管以哪种模式的时序操作,IIC线上将不会出现高电平。

所以对上升沿有要求。

我估计稍微超出范围也没问题,但既然有这个标准,我们就尽量满足这标准。
songchenping 发表于 2017-8-17 16:59 | 显示全部楼层
主要是时钟决定的,总线需要足够的时间来识别数据发送结束后的总线释放。
NE5532 发表于 2017-8-18 08:32 | 显示全部楼层
是触发器都有要求,不是I2C才有。
pkuzhx 发表于 2017-8-19 09:31 | 显示全部楼层
快速模式要求<300,标准模式要求<1000。
假设快速器件上升沿是299,满足299<300,当然也满足299<1000,怎么就不能在标准模式下使用了?
linqing171 发表于 2017-8-19 17:09 | 显示全部楼层
上升沿占时间。
如果上升沿用一个小时,那么低电平和高电平时间再短,通讯速率也不可能快上去。
ddllxxrr 发表于 2017-8-20 07:40 | 显示全部楼层
因为,总线上有好几个器件,不给个时间限制,你老占道做什么呢
 楼主| yb430 发表于 2017-8-21 09:10 | 显示全部楼层
本帖最后由 yb430 于 2017-8-21 09:36 编辑
datouyuan 发表于 2017-8-17 15:25
IC 总线的IO都是准双向的。下降时间由端口直接拉低,所以非常短。上升时间是由线对地电容和线的上拉电阻决 ...

比方说,一群IIC标准器件正在愉快地玩耍(信号上升时间是1us),这时进来一个要求上升时间小于300ns的快速器件(从器件)。
从常识,新进来的器件肯定可以跟标准器件们一起玩耍。但快速器件指标要求的最大上升沿300ns该如何理解?好像有点矛盾的啊。


ningling_21 发表于 2017-8-21 10:26 | 显示全部楼层
yb430 发表于 2017-8-21 09:10
比方说,一群IIC标准器件正在愉快地玩耍(信号上升时间是1us),这时进来一个要求上升时间小于300ns的快速 ...

快速器件可以运行在标准速率下,但标准器件不能运行在快速模式下。

这里是最大值一般不运行在这个速率下,且主机支持这个速率才可以
datouyuan 发表于 2017-8-21 10:51 | 显示全部楼层
本帖最后由 datouyuan 于 2017-8-21 11:12 编辑
yb430 发表于 2017-8-21 09:10
比方说,一群IIC标准器件正在愉快地玩耍(信号上升时间是1us),这时进来一个要求上升时间小于300ns的快速 ...

我前面说那么多白说了。
这信号上升时间不由IIC器件决定,是由IIC器件所在的环境决定的。他们玩耍时的实际上升时间有可能只有10nS,当然满足(信号上升时间是1us)要求。快速器件只是对使用环境要求比标准器件严了些(300ns)。
假如这个环境造成信号上升时间明显大于1us,那标准器件也不能愉快的玩耍了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

74

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部