学习IIC(I2C)原理

版权声明:本文为博主原创文章,未经博主允许不得转载。——Wu_Being https://blog.csdn.net/u014134180/article/details/78264817

0、概要

IICIICI2C,inter-Integrated circuit),两线式串行总线,用于MCU和外设间的通信。
IIC只需两根线:数据线SDA时钟线SCL。以半双工方式实现MCU和外设之间数据传输,速度最高可达400kbps,因此适用于慢速设备。
IIC设备使用7位地址(也有的是10位地址),所以在总线上最多支持127个设备,即我们看到代码的IIC地址一般不会超过0xff

多主机I2C总线结构

注意SDA和SCL两根总线需要上拉,使总线处于空闲状态。

这里写图片描述

1、IIC协议

1-1 空闲状态

协议规定,SDA和SCL同时为高电平时,总线处于空闲状态。上拉电阻保证电平处于高电平。

1-2 起始信号和停止信号

  • 起始信号:SCL为高电平时,SDA电平发生高到低的跳变
  • 停止信号:SCL为高电平时,SDA电平发生低到高的跳变

这里写图片描述

1-3 应答信号

发送器每发送完一个字节(8个脉冲)在第9个脉冲间释放总线,接收器返回一个ACK信号,协议规定,低电平为有效应答,高电平为无效应答。

这里写图片描述

1-4 数据有效性

协议对有效数据进行了规定:即时钟信号为高电平期间,数据必须保持稳定;时钟信号低电平期间,数据线上的电平才允许变化。也就是说,数据在时钟信号到来前必须准备好,并保持到时钟信号的下降沿之后。

这里写图片描述

扫描二维码关注公众号,回复: 3480077 查看本文章

Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!

《学习IIC(I2C)原理》: http://blog.csdn.net/u014134180/article/details/78264817

Wu_Being 吴兵博客赞赏码

如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。

猜你喜欢

转载自blog.csdn.net/u014134180/article/details/78264817
I2C
今日推荐