嵌入式原理图入门-I2C总线

I2C是一种由Philips公司开发的二线制同步串行总线,用于嵌入式系统的设备间通信。其优点包括简单硬件接线和多从设备支持。数据传输通过起始和结束信号,以及包含从设备地址和读写操作的数据帧进行。每个从设备有7位地址,加上1位读写指示,总共可支持128个从设备。
摘要由CSDN通过智能技术生成

I2C是嵌入式开发中最基本的也是应用很广泛的协议,那么它是什么?有哪些优点?通信是什么原理?就是这篇的内容:

I2C是由Philips公司开发的一种简单的、双向二线制的同步串行总线。简单说就是由2根线组成,串行的,可双向通信。

优点:

1.硬件接线简单,一条串行数据线和一条串行时钟线构成;

2.最大可接入128个从设备;

缺点:

数据帧的大小限制为8位,传输效率低。

I2C在硬件上如何接线的,看下图:

图1.I2C设备接线图

由上图我们知道:

1.当总线空闲时,SCL、SDA是被上拉电阻钳位在高电平的;

2.I2C设备之间由串行时钟线SCL、串行数据线SDA连接通信;

3.I2C总线可接入多个从设备,最多可支持2^7,即128个从设备。

那问题来了,只由两根线通信,而从设备有多个,主控是怎么找到对应的从设备,数据是怎么传输的呢?

我们来了解下I2C的通信的数据格式:

图2.I2C通信的数据格式

如上图,I2C通信的数据格式由几部分组成:

1.起始信号:当SCL为高,SDA为下降沿时触发起始信号,从设备被触发, 知道主控准备通信了;

2.结束信号:当SCL为高,SDA为上升沿时触发结束信号,从设备停止通信;

3.响应信号:每隔8位数据,设备接收方都会将SDA拉低触发响应信号,以让对方知道自己已收到数据;

4.从设备地址:从设备地址由7位组成,因此最多有128个从设备,第8位表示读/写操作,1为读,0为写;

设备地址和读写操作均是由SCL为高的8个周期,读取到的SDA的电平组成,具体的地址要看此I2C芯片手册,通常地址的高位是确定的,低位根据I2C芯片pin脚的连接方式确定。

5.数据:1个字节,传输的数据。数据由SCL为高的8个周期,读取到的SDA的电平组成。

看具体时序图会有助于理解以上内容,如下:

图3.I2C通信时序图

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值