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 专业家政员用这个办法1分钟杀灭螨虫,简单实用

    有一种让人满身起鸡皮疙瘩的神秘物种,天天在你床上爬来往来,混吃混喝。你睡多久,它就陪你多久,这种天天与你亲密接触的生物,就是螨虫!

  2. NO.2 14款卸妆产物良心测评!越贵的还真纷歧定越好用!

    源: Lisa的美妆日志(文/蓝酱) 迎接来到你们最爱看的测评单元! 前不久Lisa给人人科普了一些卸妆误区,不看谈论不知道,本来有好多小可爱都忽

  3. NO.3 娱乐圈中热爱健身的女星,第一位很不轻易,最后一位身体完美

    我们都知道娱乐圈的女星都是需要看脸和看身体的,所以不管是上岁数的照样刚出道的,人人都邑把身体练的非常完美,而且在娱乐圈中也有很多就

  4. NO.4 这五大星座一点也错误群!

  5. NO.5 【新机】iPhone 11 系列还未开售已破发:到手优惠约800元

    苹果2019秋季新品发布会在昨日凌晨举办,iPhone 11 系列正式发布,将于9月13日晚8点开启预购。 然则不得不服国内电商的壮大,iPhone 11 系列还未发售,

  6. NO.6 佩莱或缺战上港 格德斯有望再次为己“正名”

    鲁能客战上港,受伤外援佩莱或者因为伤病再次休战。因为赛前练习中,他并没有列入全队合练,而格德斯和德尔加多都列入了踩场练习。 本场竞赛

  7. NO.7 魔兽世界下周大事件:大米暴怒死疽 8.1.5 正式上线

    下周没卵事(别名 下周大事件 ……) 神器常识品级lv23 S2神器常识每周恢复主动增进!持续到3月28日!8.2之前,艾泽拉斯之心最高档级50级! 8.0的神器

  8. NO.8 为企业供应现金流治理办事 “司库立方”获信天创投、海贝资源

    铅笔道获悉,企业智能全生命周期现金流治理平台司库立方,获信天创投、海贝资源数万万元preA轮投资,本轮融资资源将用于市场拓展和产物研发。

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