当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

I2C总线信号与测试案例(一)

时间:2023-11-20 | 栏目:接口/总线/驱动 | 点击:

1、I2C 总线介绍

I2C bus是Inter-IC bus的缩写,意思是IC器件之间的通讯总线;I2C 总线的特点如下:

2、I2C总线的电气设计

图片

上图展示了I2C的电气连接架构

2.1 电平转换的基本逻辑和原理

图片

如上图所示,主要有3种状态:

2.2 上拉电阻

图片

图片

2.2.1 上拉电阻的阻值如何选择

图片

图片

图片

3、I2C的数据帧结构

图片

起始位:开始状态位,1bit,SCL为高时SDA由高至低的过程称作起始位;还有一种重复起始条件,指的是主机对于同一个从器件进行同一操作的时候,不需要先发送停止条件结束总线,再开始;

地址位:7bit,是当前总线需要访问的器件地址;特殊的情况是10bit,一般不用。7bit地址里一般前四位是由器件类型定死,我们自己可以配置的是低三位,也就意味着,同类型的器件在同一根总线上最多可以挂载8个;

读写操作位:1bit,0代表写,1代表读;

应答位:1bit,低电平,每8bit之后跟一位应答位,表示接收端接收成功;还有一种非应答位(NCK)高电平,表示终止传输。

数据位:8bit,一个字节后面必须跟着一个应答位;一般数据的第一个字节传输的是要操作的寄存器地址,后面字节是要写入或者读出的数据。

停止位:当SCL为高电平时,SDA总线由低电平向高电平切换表示停止条件

4、I2C的时钟同步与仲裁

图片

主机只能在总线空闲的时候启动传输。两个或多个主机在起始条件的最小持续时间内产生一个起始条件;

当SCL为高电平时,仲裁在SDA线上发生;在其他主机发送低电平时,发送高电平的主机将断开他的输出,因为总线上电平与自己电平不一致。

图片

5、I2C与CBUS的兼容

C-BUS接收器可以连接到标准的I2C总线。但是必须连接第三条叫DLEN的线,而且要省略响应位。通常I2C的传输是8位的字节传输,兼容C-BUS的器件有不同的格式。在混合总线中,想要访问操作C-BUS器件,需要发送特定的C-BUS地址(0x0000001x);发送C-BUS地址后,DLEN线被激活,发送C-BUS格式的报文,如下图所示:

图片

您可能感兴趣的文章:

相关文章