首页 > 其他分享 >IIC总线学习笔记

IIC总线学习笔记

时间:2022-10-01 16:33:34浏览次数:76  
标签:SCL 主机 总线 笔记 SDA IIC I2C 发送器

IIC(Inter-Integrated Circuit)其实是IICBus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板嵌入式系统手机用以连接低速周边设备而发展。I²C的正确读法为“I平方C”("I-squared-C"),而“I二C”("I-two-C")则是另一种错误但被广泛使用的读法。自2006年10月1日起,使用I²C协议已经不需要支付专利费,但制造商仍然需要付费以获取I²C从属设备地址。

常见术语介绍:

三种不同的通信方式: 单工、半双工、全双工。

串行传输和并行传输。串行传输是设备之间的数据传输,传输中只有一个数据位。并行传输是指在多个并行通道上分组同时传输数据。它是同时在设备之间传输多个数据位。

IIC总线是一种串行、半双工、近距离、低速总线。

I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

 

I2C总线是各种总线中使用信号线最少,并具有自动寻址、多主机时钟同步和仲裁等功能的总线。

知识笔记:1、I2C是一个多主机总线,但同一时间只能有一个主机。2、主机有权发起和结束一次通信。3、I2C在同一时间,只能有一个主机使用总线,I2C具有冲突检测和仲裁的功能,当总线上有多个主机使用主线时,I2C会仲裁,选择合适的主机优先使用总线。4、在通信时,发送数据的叫:发送器,接收器的数据:接收器。5、每个连接I2C总线上的设备都有唯一一个地址(7位)。6、每个器件可作主机也可作从机。(同一时刻只能有一个主机)。7、增加或删除设备,不影响其他器件正常工作。

I2C的通信过程:

1、主机发送起始信号,启用总线。

2、主机发送一个字节信号,指明从机地址,和后续字节的传递方向。

 

 最后一位指明传递方向,0 表示 主机→从机。 1表示 从机 → 主机。

3、被寻址从机发送应答信号给主机。

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

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

循环 4&5

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

I2C的四个主要信号。

 

 启动和停止信号都是由主机发送,由主机控制总线的占用和释放。

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

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

 

 

字节传送:数据传送时,串行传输。发送器先传送最高位,后传送最低位。

 

 

发送器发送一个字节数据,接收器发送一位应答位回答发送器,一帧共9位。

应答:低电平  0

非应答: 高电平 1

 

I2C的同步信号: 在通信时,同步接收器和发送器的时序,目的保持数据传输正确。

SCL 为 低电平 SDA 数据线发送一位数据,允许数据变化。

SCL 为 高电平 SDA数据线上不允许数据变化 ,必须保持稳定。

 

I2C的典型时序

 

 

 参考资料:

1、IIC(Inter-Integrated Circuit(集成电路总线))_百度百科 (baidu.com)

2、IIC典型时序_哔哩哔哩_bilibili

标签:SCL,主机,总线,笔记,SDA,IIC,I2C,发送器
From: https://www.cnblogs.com/yhm1314/p/16747365.html

相关文章

  • Django学习笔记(二)--创建应用程序
    1、创建应用程序pythonmanage.pystartapplearning_logs(应用程序名)├──learning_logs应用程序目录│  ├──admin.py使用Django提供的管......
  • I2C总线(模拟)
    本次实验I2C总线传输I2C分为硬件I2C和模拟I2C。其中硬件I2C是单独的I2C硬件驱动,有固定的引脚,和一般芯片驱动使用一样需要操作其寄存器进行数据收发而不用知道I2C的协议内......
  • 论文笔记:An Overview of Query Optimization in Relational Systems
    论文笔记:AnOverviewofQueryOptimizationinRelationalSystems这篇文章发表于1998年,是数据库系统查询优化领域的入门必读文章。执行计划物理算子构成的树状结构......
  • 初学C语言笔记221001
    int(*p)[5]  此时数组指针p约等于一个含有5个int型元素数组的数组名*p就是数组int[5]的第一个元素的地址p+1就是跳过int[5]数组的下一个同int[5]类型的数组名*(p+1)再解......
  • mybatis puls学习笔记(二)
    mapperpackagecom.ychen.mybatis.mapper;importcom.baomidou.mybatisplus.core.conditions.Wrapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom......
  • CSS入门学习笔记
    CSS入门学习笔记一、CSS简介1、什么是CSS?2、为什么使用CSS?3、CSS的作用二、CSS语法1、CSS基础语法2、CSS注释语法3、CSS应用方法三、CSS选择器1、元素选择器2、类选择器3、......
  • JS基础笔记汇总
    JS基础笔记最全的汇总javascript介绍以及起源目录1.变量和常量的知识2.基本数据类型3.运算符4.基本数据类型间的转换5.流程控制语句 一、javascript介绍以及起源 js......
  • 社会学笔记
    社会学不是单一理论体系的学科.其不同理论体系之间的研究基础是不同的,即使有同一概念在不同理论体系中理解是不同的社会学学生和经济学学生的差异:经济学由于其体系......
  • CSS入门学习笔记
    CSS入门学习笔记一、CSS简介1、什么是CSS?2、为什么使用CSS?3、CSS的作用二、CSS语法1、CSS基础语法2、CSS注释语法3、CSS应用方法三、CSS选择器1、元素选择器2、类选择器3、......
  • Django学习笔记(一)--环境搭建
    1、建立虚拟环境目的:隔离项目,便于部署(1)创建存放项目和虚拟环境的目录,并切换到该目录中work@wanglin:~$mkdirlearning_logwork@wanglin:~$c......