I2C总线协议分析

科技怪人 科技怪人

I2C总线概念

I2C总线是由Philips公司斥地的一种简洁、双向二线制同步串行总线。它只需要两根线即可在保持于总线上的设备之间通信。I2C的两根线SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出,需经由上拉电阻接电源VCC,当总线余暇时,两根线都是高电平。 [“原文来自”:www.666z.com]

常见的硬件构造图(一个适配器,两根线,多数设备罢了) [“转载出处”:www.666z.com]

I2C总线通信时序

使用I2C通信时,必需指定主从设备,一样包含有I2C掌握器的处理器被设置成主设备,挂接在i2c总线上的外设作为从设备。通信起头都是由主设备提议的,在i2c总线上的每个设备都有一个7bit位的地址,称为i2c设备地址。

主设备若何提议起头和住手通信旌旗?

在SCL线为高电平时,将SDA线由高拉低,即发出一个start起头旌旗;当SCL为高电平时,将SDA由低拉高,即发送一个stop住手旌旗;那么这些把持都是由主设备的I2C掌握器完成的。

I2C总线上有好多的设备,若何包管一对一的通信?

在I2C总线上的每个设备都有一个7bit位的地址,在I2C总线处于余暇状况时,若是有主设备想提议通信,那么将由它先发出一个start旌旗占有总线,紧接着发送这个主设备想要进行通信的从设备的7bit位的地址,这个地址在I2C总线上处于广播状况,即总线上的所有设备都能看到这个地址,若是某一个从设备发现总线上传输的地址和本身的设备地址一般,那么就发送一个应答旌旗,这时主从设备间的通信就竖立了,这个时候I2C总线将处于busy状况,其他的设备无法再使用总线,从而在总线上竖立了一个一对一的通信。当通信竣事时,由主设备发送一个stop旌旗,释放总线,其他的设备就能够再次占用总线通信了。

I2C上的主从设备若何通信?

在I2C总线上传输的数据都是8bit位为单元单子的,所以当主机要往从机写数据时时序如下:

发送start旌旗发送7位地址+1个读写位0(0透露写,1透露读)从机收到地址后,发送ACK应答旌旗主机收到应答旌旗后发送要写的8位数据若从机收到主机发送的数据,发送ACK应答旌旗若是主机要持续写,那么回到步伐4,若是写完了那么发送stop旌旗,完结通信

当主机要从从机读取数据时时序如下:

发送start旌旗发送7位地址+1个读写位1(0透露写,1透露读)从机收到地址后,发送ACK应答旌旗主机收到应答旌旗后守候领受从机的数据从机发送主机要读取的数据若主机收到从机发送的数据,发送ACK应答旌旗若是主机要持续读,那么回到步伐4,若是读完了那么发送stop旌旗,完结通信

那么在具体的使用场景中是什么模样呢?从机设备内部往往有好多寄放器,若何读写这些寄放器呢?以RPR0521这个sensor作为从设备的实例进行剖析:

主机写RPR0521中某个寄放器(寄放器的地址是8位的,寄放器中数据也是8位的)

主机发送完7位的从机地址和写位主机发送8位的要写的从机的内部寄放器地址从机收到后发送ACK主机收到ACK后,然后发送要往这个寄放器写的数据若是主机不持续写数据就直接发送stop,若是还要往下一个寄放器持续写(寄放器地址必需一连)那么回到步伐4发送下一个数据,直到写完发送stop

主机读RPR0521中某个寄放器的值(寄放器的地址是8位的,寄放器中数据也是8位的)

主机发送完7位的从机地址和写位(必然要注重,先写然后读)主机发送8位的要读的从机的内部寄放器地址(用于确定要读的寄放器的地址)从机收到后发送ACK主机收到ACK后发送7位的从机地址和读位,然后守候领受数据主机收到ACK和从机发送过来的数据若是主机不读了就发送stop,若是持续读就回到步伐5(从机会主动发送一连寄放器的数据)

常用debug手段

在实际项目中,平日会显现读不到数据,那么我们就需要debug,最常见的debug手段就是使用示波器抓时序,下图是I2C数据传输的时序:

SDA的数据在SCL位高电平时连结不乱,在SCL为低电平时数据改变,所以我们应该在时钟周期的高电平时代读取有效数据进行剖析。

以上是我总结的I2C总线的根基和谈,若有不足迎接指出,感谢阅读!

科技怪人微信号:暂无扫描二维码关注公众号
爱八卦,爱爆料。
小编推荐
  1. NO.1 都挺好:可贵明玉能获得大嫂赏识,却又要被年老给带“沟”里

    正午阳光的新剧《都挺好》开播以来好评如潮,网上更是掀起了收集热议,议论得热火朝天!但播出以来,姚晨主演的主角苏明玉就一向备受观众心

  2. NO.2 或者是最廉价的RTX2080ti显卡,7000元上手体验,玩扫雷流通!

    在浩瀚民用级别显卡中,或许人人认为如今这个成长趋势,买一张RTX2060显卡就够用了,究竟能畅玩大部门游戏,照样高画质,何乐而不为呢?其实这

  3. NO.3 瓜帅驳斥大话:不会搞去职休假,曼城不赶我我就不走

    虎扑 6 月 12 日讯 瓜迪奥拉日前接管了西班牙媒体的采访,个中他驳斥了比来小报中的一则传言:若曼城无缘欧冠,瓜帅或者选择 " 去职休假 "1 年。

  4. NO.4 与李小龙起名的功夫巨星,成龙叫他爸爸,73岁活成了传奇

    影坛每个时代都有传奇,李小龙在年青年头的时候,已经成为神一般的人物,感受全世界都没有人能打过他,并且一向都是备受存眷,后来在香港有

  5. NO.5 电竞圈学历研究,LOL众诠释学历吊打职业选手?

    人人好,这里是正惊游戏,我是正惊小弟。 因为电子竞技要求很快的回响,大多数职业选手都是年数很小就到场了职业战队,所以职业选手们学历遍

  6. NO.6 湖人被挖墙脚,湖管起头动作!主帅候选添新人,姚明队友成备

    北京时间4月15日凌晨,就在季后赛正在如火如荼进行中时,湖人方面再次传来新闻,湖人解雇沃顿之后,沃顿立即和国王签下了一份4年的长约,沃顿

  7. NO.7 林岫:夏湘平隶书宁朴勿华 别出一家

    夏湘平书法 “夏师长跟我是多年的书友了,他这小我一贯很低调,不是书法界有一些三天两头就搞一点动静的那类人。他在砚边耕作,从来就是本身

  8. NO.8 dnf:外观看去75奶,实则倒是蛇皮奶,主c还不敢高声说话!

    DNF:外观看去75奶,实则倒是蛇皮奶,主C还不敢高声说话! 说到DNF这款游戏,相信人人都非常熟悉了。从2008年炎天来到中国之后,也已经运营了快

Copyright2018.天天资讯网资讯站,让大家及时掌握各行各业第一手热门资讯!