IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> I2C基础 -> 正文阅读

[嵌入式]I2C基础

1 基本介绍

I2C (Inter-Integrated Circuit)。内部集成电路。拥有两根线,一根数据线SDA和一根时钟线SCL。
这两条线都是漏极开路或者集电极开路结构,使用时需要外加上拉电阻,可以挂载多个设备。每个接到I2C总线上的器件都有唯一的地址。其中,主动发起操作的一方为主机,另外一方为从机。I2C规定通信时的时钟,起始信号,停止信号只能由主机产生。
示意图如下
在这里插入图片描述
连接到相同总线上的IC数量只受总线最大电容400pF的限制,最多可挂112个设备,串行的8位双向数据传输位速率在标准模式下可达100Kbit/s,快速模式下可达400Kbit/s,高速模式下可达3.4Mbit/s。I2C是半双工模式。

2 特点

  • 只使用两条信号线,传输距离短
  • 支持多主机多从机
  • 有应答机制
  • 极低的电流消耗.抗高噪声干扰。
  • 速率比SPI慢。
  • IIC 是多主设备的总线

3 硬件连接

EEPROM一般与I2C连接,下面是常用的一种连接方式。
在这里插入图片描述
SCL、SDA的上拉电阻由这两个引脚的灌电流决定,保证其高低电平都满足要求。
犹豫I2C通信速率比较慢,所以在与CPU连接时,可用GPIO模拟,比较灵活。

4 通信

4.1 控制器

STM32的I2C控制器框图如下:
在这里插入图片描述

4.2 协议

I2C协议包括以下状态:

  • 空闲状态:SDA\SCL均为高电平,总线空闲
  • 开始信号:SCL为高电平,SDA的电平由高跳到低表示开始信号。
  • 终止信号:SCL为高电平,SDA的电平由低跳到高表示终止信号。
  • 应答信号:接收器反馈应答信号,应答信号为低电平,则为有效应答位,表示成功接收。
  • 数据有效性
  • 数据传输

IIC协议规定:

  • 每一支IIC设备都有一个唯一的七位设备地址;
  • 数据帧大小为8位的字节;
  • 数据(帧)中的某些数据位用于控制通信的开始、停止、方向(读写)和应答机制。
  • IIC协议标准规定发起通信的设备称为主设备,主设备发起一次通信后,其它设备均为从设备。
  • 总线上有1个主设备和多个从设备,当一个从设备响应后,其他从设备不能进行通信。
    在这里插入图片描述
    当没有数据传输的时候,两根总线都为高电平;数据传输开始时,需要发送一个起始信号;数据传输结束后,需要发送一个终止信号;每8bit数据传输结束,都需要一个ACK。起止信号都由Master发出,而ACK则可能由Master或者SLAVE来发出。

在这里插入图片描述
在这里插入图片描述
ACK和NACK
数据传输时先传MSB(most significant bit)最高有效位。接收者在每个字节后的第9个时钟周期将SDA保持低电平进行确认数据接收成功;而在第9个时钟周期将SDA保持高电平表示数据传输出错,或者主机不再想接收数据。

主机给从机写数据的过程如下:
在这里插入图片描述
主机从从机读数据过程如下:
在这里插入图片描述

5 SPI VS I2C

  • SPI使用线多,硬件资源占的多
  • SPI全双工,所以传的快,通常能达到甚至超过10 Mbps,而I2C最快3.4 Mbps。
  • SPI适合数据流应用,而IIC更适合“字节设备”的多设备应用。
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:31:28  更:2022-10-22 21:32:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:28:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码