为什么IIC 对上升沿时间有要求

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:46:13
如题
感谢batmanck的回答,但是我指的不是这方面。IIC总线规范中,规定上升沿不能大于330ns。在实际中我也发现,对于某些硬件IIC的芯片,上升沿达到七八百ns的时候,经常出现通信错误。减少上升沿的时间,就可以避免错误的出现。 当然,在七八百ns的时候,用示波器观察,波形看上去还是很完美的,1跟0逻辑都很清楚。
所以,我想问,IIC 对上升沿时间小于330ns的原因是什么?对数据的锁存和上升速度有关系吗?

你可以了解一下I2C的协议标准。其实不只是I2C对上升时间有要求,应该是在所有的数字电路中,对上升沿都是有要求。
I2C由两根线组成,数据线SDA,时钟线SCL,标准模式的时候,SCL的频率可达100KHZ,高速模式的时候,频率可达400KHZ。频率越高,对上升沿的要求越高。
现在拿100KHZ的频率来说,一个SCL周期为10uS,这其中包括一个上升沿,一个下降沿,一个高电平时间和一个低电平的时间。如果SCL的上升沿要15uS,那么波形都还么有上升到1就开始向0变化了,这样连I2C的起始条件都不能达到。
因为I2C从设备一般都是MOS工艺,所以I2C总线都有上拉电阻,而传输线是有电容效应的,你接的设备越多,电容会增大,在上升的时候就会造成延时,连接到总线的接口数量只由总线电容限制决定。

我们也曾经遇到过类似问题,就是外围从设备I2C的速度太慢,用主设备的I2C去通讯出错,最后的解决方法是不用主设备的I2C,而是用I/O去模拟I2C去跟外围设备通讯。希望对你有帮助。

决定了瞬态响应

什么是IIC??