美文网首页
I2C通信一

I2C通信一

作者: 技术是神奇的 | 来源:发表于2021-07-24 17:09 被阅读0次

一、什么是I2C通信

物理接口:SCL + SDA
(1) SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。
(2) SDA(serial data): 数据线,通信数据都通过SDA线传输

二、I2C通信特征:串行、同步、非差分、低速率

(1) I2C属于串行通信,所有的数据以位为单位在SDA线上串行传输。
(2) 同步通信就是通信双方工作在同一个时钟下,一般是通信的A方通过一根CLK信号线传输A自己的时钟给B,B工作在A传输的时钟下。所以同步通信的显著特征就是:通信线中有CLK.
(3) 非差分。因为I2C通信速率不高,而且通信双方距离很近,所以使用电平信号通信。(注: 非差分信号用电平传输, 差分信号用差分信号传输, 差分信号可以抗干扰, 可以提高速度).
(4) 低速率。I2C一般是用在同一个板子上的2个IC之间的通信,而且用来传输的数据量不大,所以本身通信速率很低(一般几百KHz,不同的I2C芯片的通信速率可能不同,具体在编程的时候要看自己所使用的设备允许的I2C通信最高速率,不能超过这个速率).

注: 串口通信和I2C通信属于低速通信, 用电平信号即可. 网线和USB线属于高速通信, 所以用差分信号.

三、I2C通信的突出特征

突出特征1:主设备+从设备
(1) I2C通信的时候,通信双方地位是不对等的,而是分主设备和从设备。通信由主设备发起,由主设备主导,从设备只是按照I2C协议被动的接受主设备的通信,并及时响应。(比如, 现实生活中的记者采访, 受采访者只能按照记者(主设备)的节奏回答问题, 由主设备把握节奏)
(2) 谁是主设备、谁是从设备是由通信双方来定的(I2C协议并无规定),一般来说一个芯片可以只能做主设备、也可以只能做从设备、也可以既能当主设备又能当从设备(做主设备还是从设备一般在芯片设计阶段就决定了, 对于那些既能当主设备又能当从设备的器件, 一般可以通过软件配置的方式去选择该设备是做主还是从)。

注: 主设备会以广播的形式发送8位的从设备地址(其实8位中只有7位是从设备地址, 还有一位bit0是读写位)到总线, 总线上的所有从设备都能收到这个地址, 并且收到地址后和自己的地址比较. 如果相等, 则发送ACK应答. 否则不应答.

突出特征2:可以多个设备挂在一条总线上(同一条总线上, 从设备地址需要互不相同)
(1)I2C通信可以一对一(1个主设备对1个从设备),也可以一对多(1个主设备对多个从设备)。
(2)主设备来负责调度总线,决定某一时间和哪个从设备通信。注意:同一时间内,I2C的总线上只能传输一对设备的通信信息,所以同一时间只能有一个从设备和主设备通信,其他从设备处于“冬眠”状态,不能出来捣乱,否则通信就乱套了。
(3)每一个I2C从设备在通信中都有一个I2C从设备地址,这个设备地址是从设备本身固有的属性,然后通信时主设备需要知道自己将要通信的那个从设备的地址,然后在通信中通过地址来甄别是不是自己要找的那个从设备。(这个地址是一个电路板上唯一的,不是全球唯一的)

四、I2C通信的主要用途

SoC和周边外设之间的通信(典型的如EEPROM、电容触摸IC、各种传感器sensor等)

Acknowledge: 以上部分资料文字来自@朱有鹏

I2C burst mode
是I2C连续写的mode和速率没有关系,使用该功能可以写寄存器节约时间。

I2C transmission speed
standard mode: 100kbps
fast mode: 400kbps
high-speed mode: 3.4Mbps (但是有些外设不支持这么高的速率,所以不能跑到这么高的速率。具体能支持到多大需要查看具体外设的spec)

相关文章

  • 项目15 之 I2C通信方式原理与应用

    项目15 之 I2C通信方式原理与应用 I2C是各类传感器与模块与Arduino通信的最常用方式之一 I2C的全称...

  • OSError: [Errno 121] Remote I/O

    打开raspberryPi I2C功能,连接上I2C通信的扩展板即可

  • 9.26总结

    今天学习了I2C通信协议 I2C是串行同步半双工通信 IIC通信处于空闲状态时,两条信号线各自上拉处于高电平 数据...

  • 张高兴的 .NET Core IoT 入门指南:(三)使用 I2

    什么是 I2C 总线 I2C 总线(Inter-Integrated Circuit Bus)是设备与设备间通信方...

  • I2C通信一

    一、什么是I2C通信 物理接口:SCL + SDA(1) SCL(serial clock):时钟线,传输CLK信...

  • 基于I2C的STM32与树莓派通信

      传统的串口通信会丢失数据,不可靠,故采用I2C(同步串行总线)通信。  树莓派上使用python脚本,后期将使...

  • 高速电路_四轴飞行器_1

    四轴飞行器 1.结构组成 2.通信方式 串行通信:一位一位的传 USB,UART,I2C,SPI 并行...

  • i2c协议笔记

    camera sensor与主控芯片是通过i2c通信的,摄像头读id,初始化寄存器,开启流,写曝光都是通过i2c总...

  • I2C通信二

    一、数据在I2C总线上的传输协议 (1) I2C通信时的基本数据单位也是以字节为单位的,每次传输的有效数据都是1个...

  • I2C通信

    借鉴:https://blog.csdn.net/qq_29344757/article/details/7652...

网友评论

      本文标题:I2C通信一

      本文链接:https://www.haomeiwen.com/subject/kphimltx.html