一起游 手游攻略 手游评测 瑞萨RA系列FSP库开发实战指南之I2C通讯协议的物理层和协议层简介

瑞萨RA系列FSP库开发实战指南之I2C通讯协议的物理层和协议层简介

时间: 来源:互联网 浏览:0

21.1

I2C简介

I2C通信协议(Inter-Integrated Circuit)是由Philips开发的。由于其引脚少、硬件实现简单、扩展性强,并且不需要外部收发器设备进行USART、CAN等通信协议,因此目前被广泛用于系统内多个集成电路(IC)之间的通信。

在计算机科学中,大多数复杂的问题都可以通过层层简化。例如,芯片分为核心层和片上外设; Renesas 的FPS 库是寄存器和用户代码之间的软件层。

我们还以分层的方式理解通信协议。最基本的就是分为物理层和协议层。物理层规定了通信系统中机械和电子功能部件的特性,以保证原始数据在物理介质上的传输。协议层主要规定通信逻辑,统一发送方和接收方的数据打包和解包标准。

简单来说,物理层规定了我们用嘴还是身体来交流,协议层规定了我们用中文还是英文交流。

下面我们将分别讲解I2C协议的物理层和协议层。

21.1.1

I2C物理层

I2C 通信设备之间常见的连接方式如图22_1 所示。

917de8a8-f0fe-11f0-92de-92fbcf53809c.png

图221 常见的I2C 通信系统

其物理层具有以下特点:

(1)它是支持设备的总线。 “总线”是指多个设备共享的信号线。在一条I2C通信总线中,可以连接多个I2C通信设备,支持多个通信主站和多个通信从站。

(2) I2C总线仅使用两条总线,一条双向串行数据线(SDA)和一条串行时钟线(SCL)。数据线用来表示数据,时钟线用来同步数据的发送和接收。

(3)总线上连接的每个设备都有独立的地址,主机可以利用这个地址访问不同的设备。

(4) 总线通过上拉电阻连接到电源。当I2C设备空闲时,会输出高阻状态。当所有设备空闲且全部输出高阻状态时,上拉电阻会将总线拉至高电平。

(5)当多台主机同时使用总线时,为了防止数据冲突,会采用仲裁的方式来决定哪一个设备占用总线。

(6)具有三种传输模式:标准模式传输速率为100kbit/s,快速模式为400kbit/s,高速模式可达3.4Mbit/s。然而,目前大多数I2C设备不支持高速模式。

(7) 连接到同一总线的IC 数量受到总线最大电容400pF 的限制。

21.1.2

协议层

I2C协议定义了通信开始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播。

21.1.2.1

I2C基本读写流程

我们先看一下I2C通信流程的基本结构。其通信流程如图22_2、图22_3、图22_4所示。

922c73b4-f0fe-11f0-92de-92fbcf53809c.png

图22-2 主设备向从设备写入数据

928c0950-f0fe-11f0-92de-92fbcf53809c.png

图22-3 主机从从机读取数据

92e23154-f0fe-11f0-92de-92fbcf53809c.png

图224 I2C 通信复合格式

传奇

933ff7e4-f0fe-11f0-92de-92fbcf53809c.png

数据从主机传输到从机

S:发送开始信号

SLAVE_ADDRESS:从机地址

939629e8-f0fe-11f0-92de-92fbcf53809c.png

数据从从机传输到主机

R/W-:传输方向选择位,1为读,0为写

A/A-:确认(ACK)或非确认(NACK)信号

P:停止发射信号

这些图代表了主从通信时SDA线的数据包序列。

其中S表示主机I2C接口产生的传输起始信号(S)。此时,所有连接到I2C总线的从机都会收到该信号。

起始信号产生后,所有从机开始等待主机接下来广播的从机地址信号(SLAVE_ADDRESS)。在I2C总线上,每个设备的地址都是唯一的。当主机广播的地址与设备的地址相同时,该设备被选中。未被选中的设备将忽略后续的数据信号。根据I2C协议,该从机地址可以是7位或10位。

地址位之后有一个传输方向选择位。当该位为0时,表示后续数据传输方向是从主机到从机,即主机向从机写入数据。当该位为1时,情况相反,即主机从从机读取数据。

从机收到匹配的地址后,从机返回响应(ACK)或不响应(NACK)信号。主机只有收到响应信号后才能继续发送或接收数据。

写入数据

如果配置的方向传输位是“写数据”方向,即第一张图的情况,主机广播地址并收到响应信号后,开始正式向从机传输数据(DATA)。数据包的大小为8位。主机每发送一个字节的数据,就必须等待从机的响应信号(ACK)。重复这个过程,就可以向从机发送N条数据。该N没有大小限制。当数据传输结束时,主机向从机发送停止传输信号(P),表示不再传输数据。

读取数据

如果配置的方向传输位是“读数据”方向,即第二张图的情况,从机广播地址并收到响应信号后,开始向主机返回数据(DATA)。数据包大小也是8位。从机每发送一条数据,都会等待主机的响应信号(ACK)。重复此过程,即可返回N条数据。这个N没有大小限制。当主机想停止接收数据时,它向从机返回非应答信号(NACK),从机自动停止数据传输。

读取和写入数据

I2C通信除了基本的读写之外,更常用的是复合格式,即第三张图的情况,传输过程有两个起始信号(S)。一般情况下,第一次传输时,主机通过SLAVE_ADDRESS找到从设备后,发送一段“数据”。该数据通常用来表示从设备的内部寄存器或内存地址(注意它和SLAVE_ADDRESS的区别);在第二次传输中,读取或写入地址的内容。也就是说,第一次通信是告诉从机读写地址,第二次通信是告诉从机实际读写的内容。

上述通信过程中包含的各种信号细分如下:

22.1.2.2。通讯开始和停止信号

上述启动(S)和停止(P)信号是两种特殊状态,见图22-5。当SCL线为高电平时,SDA线从高电平切换到低电平,这种情况表明通信开始。当SCL为高电平时,SDA线由低电平切换为高电平,表示通信停止。启动和停止信号一般由主机产生。

wKgZO2lwNuSAR9lQAABwhQX39XQ95.jpeg

图22-5 启动和停止信号

22.1.2.3。数据有效性

I2C使用SDA信号线传输数据,使用SCL信号线进行数据同步。参见图22_6。 SDA 数据线在SCL 的每个时钟周期传输一位数据。传输时,SCL为高电平时SDA所代表的数据有效,即SDA为高电平时代表数据“1”,为低电平时代表数据“0”。当SCL为低电平时,SDA中的数据无效。一般来说,SDA此时会切换电平,为下一次数据的表示做准备。

wKgZPGlwNuSAa6LwAABqSYNMTMQ56.jpeg

图226 数据有效性

每次数据传输以字节为单位,每次传输的字节数没有限制。

22.1.2.4。地址和数据方向

I2C总线上的每个设备都有自己独立的地址。当主机发起通信时,通过SDA信号线发送设备地址(SLAVE_ADDRESS)来寻找从机。 I2C协议规定设备地址可以是7位或10位。在实践中,7位地址被广泛使用。紧跟在设备地址之后的数据位用于指示数据传输的方向。是数据方向位(R/),位8或位11。当数据方向位为“1”时,表示主机从从机读取数据。当该位为“0”时,表示主机向从机写入数据。参见图22_7。

wKgZPGlwNuSAOUOXAAA2Z5aQHx833.jpeg

图22-7 设备地址(7 位)和数据传输方向

读数据方向时,主机释放对SDA信号线的控制,从机控制SDA信号线,主机接收信号;写数据方向时,SDA由主机控制,从机接收信号。

22.1.2.5。回应

I2C 数据和地址传输响应灵敏。该响应包括两个信号:“ACK”和“NACK”。作为数据接收方时,当设备(无论主机还是从机)接收到I2C传输的一个字节的数据或地址时,如果想让对方继续发送数据,则需要向对方发送“应答(ACK)”信号,发送方才会继续发送下一个数据;如果接收端想结束数据传输,就会向对方发送“无应答(NACK)”信号。发送方不会继续发送下一个数据,然后主机会产生停止信号,结束信号传输。参见图22_8。

wKgZO2lwNuSAF1tRAADlmtkNsC080.jpeg

图228 响应和非响应信号

主机在传输过程中生成时钟。第9个时钟时,数据发送端释放对SDA的控制,数据接收端控制SDA。如果SDA为高电平,则表示非应答信号(NACK),低电平则表示应答信号(ACK)。

标题:瑞萨RA系列FSP库开发实战指南之I2C通讯协议的物理层和协议层简介
链接:https://yqqlyw.com/news/sypc/71066.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
  • 如何使用Modelsim仿真I2C控制器
  • 瑞芯微(EASY EAI)RV1126B I2C使用
  • 绯红之境兑换码最新2021 礼包兑换码大全

    绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

    2026-01-21
    三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

    三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

    2026-01-21
    妄想山海怎么加好友 加好友方法大全

    妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

    2026-01-21
    江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

    江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

    2026-01-21