学习IIC(I2C)原理

简介: 0概要多主机I2C总线结构1IIC协议1-1 空闲状态1-2 起始信号和停止信号1-3 应答信号1-4 数据有效性0、概要IIC(IIC,I2C,inter-Integrated circuit),两线式串行总线,用于MCU和外设间的通信。

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 数据有效性

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

这里写图片描述

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

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

Wu_Being 吴兵博客接受赞助费二维码

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

目录
相关文章
|
25天前
|
Perl
【ZYNQ】IIC 简介及 EMIO 模拟 IIC 驱动示例
【ZYNQ】IIC 简介及 EMIO 模拟 IIC 驱动示例
|
4月前
透彻理解 UART 通信的基本方法
透彻理解 UART 通信的基本方法
37 0
|
5月前
|
芯片
单片机中GPIO八种工作模式详细分析
单片机中GPIO八种工作模式详细分析
105 0
|
8月前
|
芯片
STM32F0单片机快速入门六 用库操作串口(UART)原来如此简单
STM32F0单片机快速入门六 用库操作串口(UART)原来如此简单
|
9月前
|
SoC
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
231 0
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
|
11月前
|
存储 缓存 算法
S32K3XX单片机DMA原理深度解析(上)
S32K3XX单片机DMA原理深度解析(上)
|
11月前
|
算法 程序员 调度
S32K3XX单片机DMA原理深度解析(下)
S32K3XX单片机DMA原理深度解析(下)
|
11月前
|
算法 网络协议 数据处理
一文搞懂UART通信协议
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种双向、串行、异步的通信总线,仅用一根数据接收线和一根数据发送线就能实现全双工通信。典型的串口通信使用3根线完成,分别是:发送线(TX)、接收线(RX)和地线(GND),通信时必须将双方的TX和RX交叉连接并且GND相连才可正常通信
14 STM32之IIC通信(软件模拟篇)
14 STM32之IIC通信(软件模拟篇)
|
芯片
STM32——IIC基础知识及例程使用(后续拓展)
STM32——IIC基础知识及例程使用(后续拓展)
342 1
STM32——IIC基础知识及例程使用(后续拓展)