查看: 1982|回复: 1

i2c协议

[复制链接]
  • TA的每日心情
    开心
    2014-1-27 10:34
  • 签到天数: 67 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2017-8-15 15:19:20 | 显示全部楼层 |阅读模式
    分享到:
    i2c协议是同步半双工协议,所以有两条线,一条为SCl为时钟线,另一条为SDA为数据传输线。
    协议规定:开始和结束
    1173680-20170707150951175-1545423486.png

    在 SDA和SCL都是高电平的情况下,SDA产生下降沿信号,此时建立了I2C通信的开始
    在SDA为低电平,SCL为高电平的情况下,SDA产生上升沿信号,则表明传输结束
    根据上面的规则可以得出,1.在通信开始之前,两根线都是高电平,通信结束之后,两根线也都是高电平。所以可以得出结论,在总线闲的时候,两根线都是高电平。I所以I2C的2根线上都必须接上拉电阻,阻值一般是4.7K
    2.总线只有两种状态要么处在正在传输,要么处在传输结束,要注意着两种状态的转变条件都是SCL为高的情况下,SDA只要有变化就会产生状态的变化,所以要注意在SCL为高的时候,SDA不要有任何变化,也就是说在SCL为低的时候,才有数据传出。

    1173680-20170707152116690-345761021.png

    写数据时
    1173680-20170707161458487-1912025534.png

    s表示start开始条件,然后会输出7位的从设备地址,和1位的写命令,将这8位数据送出去之后,会接到从设备的ack应答,接着主设备会发出数据,从设备要是没有ack应答,则会产生停止条件,下图网格表示主设备发出的,空白格表示从设备发出的
    读数据时

    1173680-20170707161814784-802982929.png

    芯片的引脚上一般有专门的I2C引脚


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-11-3 15:38
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-8-15 15:49:00 | 显示全部楼层
    然后呢?你想说什么?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 01:26 , Processed in 0.124448 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.