简述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位,如图所示:

相关文章
|
7月前
|
传感器 芯片 内存技术
嵌入式系统中SPI 子系统基本原理实现
嵌入式系统中SPI 子系统基本原理实现
167 0
|
7月前
|
存储 Linux 芯片
嵌入式系统中I2C总线通信基本方法(下)
嵌入式系统中I2C总线通信基本方法(下)
248 0
|
7月前
|
传感器 物联网 SoC
嵌入式系统中I2C总线通信基本方法(上)
嵌入式系统中I2C总线通信基本方法(上)
185 0
|
存储 网络性能优化 vr&ar
深入理解AMBA总线(十七)AXI是如何提高性能的
深入理解AMBA总线(十七)AXI是如何提高性能的
2128 1
|
SoC
深入理解AMBA总线(十六)AXI设计的关键问题(二)
深入理解AMBA总线(十六)AXI设计的关键问题(二)
900 0
深入理解AMBA总线(十六)AXI设计的关键问题(二)
|
SoC
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
519 0
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
|
存储 Go 芯片
单片机外围模块漫谈之四,USB总线基本概念。
单片机外围模块漫谈之四,USB总线基本概念。
|
缓存 内存技术
深入理解AMBA总线(十六)AXI设计的关键问题(一)
深入理解AMBA总线(十六)AXI设计的关键问题
489 0
|
存储 传感器 开发者
一文搞懂I2C通信总线
I2C(集成电路总线),由Philips公司(2006年迁移到NXP)在1980年代初开发的一种简单、双线双向的同步串行总线,它利用一根时钟线和一根数据线在连接总线的两个器件之间进行信息的传递,为设备之间数据交换提供了一种简单高效的方法。每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。