I2C时钟频率与数据传输速率的理解

描述

在IIC协议中涉及到两根线:SCL与SDA。SCL就是时钟信号线,SCL线上的频率就叫时钟频率。在对IIC总线进行学习与使用时,经常会听到设置IIC的时钟频率为xxxHz,或者设置IIC的数据传输率为xxxKbit/s。明明概念里可以进行配置的只有一个时钟频率,那么这个数据传输率这位老兄是怎么个情况。

其实,时钟频率(Hz)与数据传输速率(bit/s)两者是相同的概念。

时钟频率与数据传输率是如何对等的喃。因为一个SCL时钟周期只能传输1bit数据(并且只能在SCL的低电平期间进行SDA数据电平的变化),假如SCL的时钟频率为100KHz,那么1s中就能产生100K个SCL时钟周期,也就是说1s中可以传输100Kbit的数据。此时,可以看出时钟频率100KHz与数据传输率100Kbit/s就是一样的了。

IIC传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s;也可以理解为时钟频率在标准模式下可达100kHz,快速模式下可达400kHz,高速模式下可达3.4MHz。

方波在1秒钟内的重复变化次数称为信号的“频率”,用f表示;而把信号波形变化一次所需的时间称作“周期”,用T表示,以秒为单位。

频率和周期的关系是:f=1/T。

我们可以计算一下100KHz的时钟速率对应的一个周期的时间为多少:

T= 1/f = 1/100 000 = 0.00001S = 10us。如果有逻辑分析仪可以看一下,确实是这样子。

下图是我调试IIC过程中,读数据时逻辑分析仪记录的波形:

I2C

审核编辑:汤梓红。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分