二、什么是I2C

一、总线的定义

在计算体系结构中, 总线(Bus)是计算机内部组件之间或计算机之间传送信息的公共通信干线,是由导线组成的一种电路,是cpu、RAM、ROM、输入、输出等设备传递信息的公用通道,可以理解为高速公路,数据通过总线在计算机内部传输

按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据信息、地址信息和控制信号

二、I2C总线

主要用于SOC和周边外设间的通信。在I2C电路中,多个主机器件和从机器件之间通信时只需要用到两根双向漏极开路导线互连,并利用电阻上拉,这两根导线分别为串行数据线(SDA)和串行时钟线(SCL),这两条数据线需要接上拉电阻,可以被拉低为低电平,默认情况下将其保持在高电平。

SCL:串行时钟线,传输CLK信号,一般是主设备向从设备提供
SDA:串行数据线,传输通信数据

1、所有主从器件的SDA线全部连在一根线上,这些器件分时占用这根公共数据线,实现两两互传数据;
2、所有主从器件的SCL线全部连在一根线上,它们分时占用这根公共时钟线,实现两两互传时钟

2.1 I2C特点

1、只需要两条总线——串行数据线(SDA)和串行时钟线(SCL)
2、每个设备都可通过唯一地址进行软件寻址
3、串行、8位单向数据传输
4、电流消耗低,抗扰度高,电源电压范围大

2.2 数据传输协议

在这里插入图片描述
主设备和从设备进行数据传输时遵循以下协议格式。数据通过一条SDA数据线在主设备和从设备之间传输0和1的串行数据。串行数据序列的结构可以分为,开始条件,地址位,读写位,应答位,数据位,停止条件.

2.3 如何进行通讯

2.3.1 开始条件

当主设备决定开始通讯时,需要发送开始信号,需要执行以下动作; 先将SDA线从高压电平切换到低压电平; 然后将SCL从高电平切换到低电平; 在主设备发送开始条件信号之后,所有从机即使处于睡眠模式也将变为活动状态,并等待接收地址位
在这里插入图片描述

2.3.2 地址位

通常地址位占7位数据,主设备如果需要向从机发送/接收数据,首先要发送对应从机的地址,然后会匹配总线上挂载的从机的地址; I2C还支持10位寻址;

2.3.3 读写位

该位指定数据传输的方向; 如果主设备需要将数据发送到从设备,则该位设置为 0; 如果主设备需要往从设备接收数据,则将其设置为 1 。

2.3.4 应答位

ACK / NACK 主机每次发送完数据之后会等待从设备的应答信号ACK; 在第9个时钟信号,如果从设备发送应答信号ACK,则SDA会被拉低; 若没有应答信号NACK,则SDA会输出为高电平,这过程会引起主设备发生重启或者停止

2.3.5 数据块

传输的数据总共有8位,由发送方设置,它需要将数据位传输到接收方。 发送之后会紧跟一个ACK / NACK位,如果接收器成功接收到数据,则设置为0。否则,它保持逻辑“ 1”。 重复发送,直到数据完全传输为止

2.3.6 停止条件

当主设备决定结束通讯时,需要发送开始信号,需要执行以下动作; 先将SDA线从低电压电平切换到高电压电平; 再将SCL线从高电平拉到低电平# 一、HDMI与I2C概述
HDMI的I2C主要负责终端显示设备与信号源设备进行沟通,以满足HDMI协议等,主要用于读取EDID数据

在HDMI中,HDMI音视频信号的传输通道采用了的TMDS最小化差分信号传输,分为3组数据信号和一组时钟信号。HDMI接口另外包括了DDC、CDC以及HPD信号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值