简述I2C总线

简介: 简述I2C总线

一、I2C总线简介

I2C总线:串行、半双工方式,用于近距离、低速的芯片之间通信。

两根双向的信号线:一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟同步。I2C总线是一种多主机总线,连接在I2C总线还是那个的器件分为主机和从机,主机有权发起和结束一次通信,而从机只能被主机呼叫。I2C具备冲突检测和仲裁。


二、I2C总线的通信过程

1、主机发送起始信号启动总线

2、主机发送一个字节数据指明从机地址和后续字节的传送方向,如图所示

最低位表示后续字节的传送方向,如果为“0”表示主机给从机发送数据,如果为“1”则表示主机接收从机数据。

3、被寻址的从机发送应答信号回应主机

4、发送器发送一个字节数据数据

5、接收器发送应答信号回应发送器

循环4、5步骤可以发送任意多个字节。

6、通信完成后主机发送停止信号释放总线


三、I2C总线信号的实现

1、起始信号和停止信号

SCL为高电平时,SDA由高变低表示为起始信号。

SCL为高电平时,SDA由低变高表示为停止信号。

起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态,其他主机就不能用了,停止信号产生后总线处空闲状态。


2、字节传送和应答

I2C总线通信时每个字节为8位,数据传送时,先发送最高位,后传送低位,如0xAA(10101010),先发送1。发送器发送完一个字节数据后接收器必须发送1位应答位来回应发送器,即一帧共有9位,如图所示:

相关文章
|
2月前
【通信协议讲解】单片机基础重点通信协议解析与总结之SPI(二)
【通信协议讲解】单片机基础重点通信协议解析与总结之SPI(二)
|
6月前
|
IDE 开发工具
【CAN总线】手把手教你学习CAN总线(一)
【CAN总线】手把手教你学习CAN总线(一)
|
7月前
|
传感器 物联网 SoC
嵌入式系统中I2C总线通信基本方法(上)
嵌入式系统中I2C总线通信基本方法(上)
190 0
|
7月前
|
存储 Linux 芯片
嵌入式系统中I2C总线通信基本方法(下)
嵌入式系统中I2C总线通信基本方法(下)
258 0
|
SoC
深入理解AMBA总线(十六)AXI设计的关键问题(二)
深入理解AMBA总线(十六)AXI设计的关键问题(二)
919 0
深入理解AMBA总线(十六)AXI设计的关键问题(二)
|
SoC
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
533 0
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
|
存储 Go 芯片
单片机外围模块漫谈之四,USB总线基本概念。
单片机外围模块漫谈之四,USB总线基本概念。
|
监控 Scala 虚拟化
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
784 0
|
缓存 内存技术
深入理解AMBA总线(十六)AXI设计的关键问题(一)
深入理解AMBA总线(十六)AXI设计的关键问题
492 0

热门文章

最新文章