I2C协议浅谈

导语:此为个人对I2C总线协议的一点总结,如若想深度了解I2C总线协议可参考相关文档

I2C总线实用性

  • 简单的双向两线总线,硬件效益最大、电路简单、硬件兼容性好。
  • 真正的多主机总线,数十个IC可连接在一路I2C总线接口上通信。

I2C接口电路结构

**标准模式器件和快速模式器件连接到 I2C 总线**
  • 一个OD门输出和一个BUFFER门输入连接到一起构成了SDA或者SCL接口。
  • I2C协议规定这种与门结构构成的电路总线空闲时电平为高电平。

I2C通信遵循的协议

两根线的I2C总线如何使上面的多主机实现正常通信使用以下方式来解决

  • 时钟同步的握手机制,可以使主、从机器通信数据正确。
  • 仲裁机制,可以使任意时刻只有一个主机获得I2C总线使用权。
  • 从机地址码,给了通信时寻找指定设备的钥匙。

1、SCL高电平期间,SDA值稳定的情况

  • 正常传输数据期间SCL高电平期间SDA数据保持稳定,SCL低电平期间,SDA数据允许修改,如下图。
**I2C总线的位传输**

2、SCL高电平期间,SDA值变化的几种情况

①起始和停止条件产生时

起始和停止条件时序

②两主机仲裁时

  • 当 SCL 线是高电平时,仲裁在 SDA 线发生,这样,在其他主机发送低电平时,发送高电平的主机将断开它的数据输出级,因为总线上的电平与它自己的电平不相同;
  • 下图显示了两个主机的仲裁过程,当然,可能包含更多的内容 (由连接到总线的主机数量决定 )此时,产生 DATA1 的主机的内部数据电平与 SDA 线的实际电平有一些差别,如果关断数据输出,这就意味着总线连接了一个高输出电平,这不会影响由赢得仲裁的主机初始化的数据传输。
两主机仲裁

3、时钟同步和应答

I2C总线上有许多主机,每一个时钟频率可能不一样。在某一个主机发起并获得I2C总线通信时需要有时钟同步机制

①仲裁过程中的时钟同步

仲裁过程中的时钟同步
  • 所有主机在 SCL 线上产生它们自己的时钟来传输 I2C 总线上的报文。数据只在时钟的高电平周期有效。因此 需要一个确定的时钟进行逐位仲裁。
  • 时钟同步通过线与连接 I2C 接口到 SCL 线来执行,这就是说 SCL 线的高到低切换会使器件开始数它们的低电平周期,而且一旦器件的时钟变低电平, 它会使 SCL 线保持这种状态直到到达时钟的高电平 (见
    图 )。但是 如果另一个时钟仍处于低电平周期,这个时钟的低到高切换不会改变 SCL 线的状态。 因此SCL 线被有最长低电平周期的器件保持低电平。此时,低电平周期短的器件会进入高电平的等待状态。
  • 当所有有关的器件数完了它们的低电平周期后,时钟线被释放并变成高电平之后,器件时钟和 SCL线的状态没有差别,而且所有器件会开始数它们的高电平周期 首先完成高电平周期的器件会再次将 SCL线拉低。
  • 这样,产生的同步 SCL 时钟的低电平周期由低电平时钟周期最长的器件决定,而高电平周期由高电平时钟周期最短的器件决定。

②应答机制

  • 每次传输完一个8位的字节后,I2C上需要产生一个应答信号(SCL高电平,SDA低电平)。
I2C总线相应

③从机地址格式

**7位从机地址格式**
  • 数据的传输遵循图所示的格式,在起始条件 (S) 后,发送了一个从机地址。这个地址共有 7 位,紧接着的第 8 位是数据方向位 (R/ W)-- 0 表示发送(写),1 表示请求数据 (读)。
  • 数据传输一般由主机产生的停止位(P)终止。但是,如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr)和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中,可能有不同的读 写格式结合。
主机 发送器用 7 位地址寻址从机接收器 传输方向不变

在第一个字节后主机立即读从机

复合格式
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容