I2C接口基本知识

合集下载

I2C总线接口详解

I2C总线接口详解

应用领域拓展
智能家居
i2c总线接口在智能家居领域的应用不断拓展,如智能照明、智 能安防等。
工业控制
i2c总线接口在工业控制领域的应用也越来越广泛,如传感器数 据采集、电机控制等。
医疗设备
随着医疗技术的进步,i2c总线接口在医疗设备领域的应用也在 逐步增加,如医疗监测设备、医疗机器人等。
未来展望
标准化
i2c总线接口详解
• i2c总线接口概述 • i2c总线接口工作原理 • i2c总线接口硬件设计 • i2c总线接口软件编程 • i2c总线接口常见问题及解决方案 • i2c总线接口发展趋势与展望
01
i2c总线接口概述
i2c总线接口定义
I2C总线是一种串行总线,用于连接微控制器和各种外围设 备。它由两条线组成:一条是数据线(SDA),另一条是 时钟线(SCL)。
I2C总线允许多个主设备 同时工作,提高了系统
的灵活性。
I2C总线具有强大的寻址 能力,可以连接多个外
围设备。
i2c总线接口应用场景
传感器接口
I2C总线可以方便地连接各种传 感器,如温度传感器、光传感 器等。
存储器接口
I2C总线可以连接各种类型的存 储器,如EEPROM、RAM等。
实时时钟
I2C总线的实时时钟(RTC)外 围设备可以用于提供系统时间。
根据设备地址的寻址方式,选择合适的寻址模式, 以实现正确的设备寻址。
寻址操作
发送设备地址
在开始数据传输之前,主设备需要发送目标设备的地址,以标识 要与之通信的设备。
接收应答信号
主设备发送地址后,等待从设备返回的应答信号,以确认从设备已 准备好进行数据传输。
发送操作指令
主设备根据需要发送相应的操作指令,如读或写,以指示接下来的 数据传输方向。

iic的接口标准

iic的接口标准

iic的接口标准
IIC(Inter-Integrated Circuit)是一种智能互连标准,它是
一种基于串行总线的接口电路,用于控制多个芯片之间的通信。

I2C接
口有很多优点,它的最大优势是允许多个芯片同时使用一条总线,这
样芯片数量可以被有效压缩,比如,可以把多个传感器和外围设备连
接到单个I2C上,然后所有设备都可以通过单个信号总线来收发数据。

I2C接口具有支持多种不同设备的能力,I2C接口支持的设备可以
在不同的总线频率下工作,设备的速率从10KHz到400KHZ不等。

从硬
件上来说,I2C接口只包含两根信号线:SDA(数据线)和SCL(时钟线),其中SDA用于传输数据,SCL用于传输时钟信号以确保数据的正
确发送和接收,并且I2C接口还可以使用内部电源,简化了外部设备
对电源的需求。

I2C接口也是一种低成本、易于维护的接口标准,所有设备都可以
通过简单的握手操作来发现其他设备,大大减少了开发者在硬件编程
过程中遇到的繁琐耗时的过程,并且I2C接口具有良好的容错性,因
此可以有效地防止数据收发的紊乱。

除了芯片间的通信标准,I2C接口还被广泛应用于其他类型的外部
设备,比如硬件传感器、外围芯片、小电磁阀等,I2C接口可以通过一
条线将许多传感器和外围芯片集中在一起,使得系统的功耗大大降低,同时可以为用户提供更加方便快捷的操作体验,将单板电脑和PCB板
设计融为一体,从而简化系统的结构,提升系统的稳定性。

【基本知识】I2C接口

【基本知识】I2C接口

【基本知识】I2C接⼝1.简介 I2C总线是PHILIPS公司推出的⼀种在电⼦通信控制领域常⽤的串⾏通信总线,是⼀种简单、双向通信、⼆线制、同步的串⾏总线,具有连接线少、控制简单、通信速率⾼等优点。

⽤数据线SDA和时钟线SCL构成通信线路,各器件可并联到总线上实现数据收发,器件间彼此独⽴,通过唯⼀的总线地址区分。

I2C标准速率为100kb/s,快速模式500kb/s 除了发送器和接收器外,在执⾏数据传输时,器件也可以被看作主器件(主机)或从器件(从机)。

主器件是⽤于启动总线传送数据,并产⽣时钟的器件,此时任何被寻址的器件均被认为是从器件(⼀主多从)。

在总线上主和从、发和收的关系取决于此时的数据传送⽅向,⽽不是恒定的。

如果主机要发送数据给从器件,则主机⾸先寻址从器件,然后主动发送数据⾄从器件,最后由主机终⽌数据传送;如果主机要接收从器件的数据,⾸先由主器件寻址从器件,然后主机接收从器件发送的数据,最后由主机终⽌接收过程。

在这种情况下,主机负责产⽣定时时钟和终⽌数据传送。

I2C总线的接⼝均为集电极开路(OC)或漏极开路(OD)的形式输出,其主要是为防⽌I2C总线上的信号混乱, I2C总线上的输出端没有安装上拉电阻时,只能输出低电平,如果需要保证I2C总线正常⼯作,就需要在I2C总线的输出端加上拉电阻R1和R2。

所有I2C设备的SDA或是SCL的端⼝连接到⼀块,如果任意⼀个I2C设备输出低电平都将控制I2C总线(即总线处于“忙”状态),即各I2C 设备的时钟串⾏线SCL是线“与”的关系,各I2C设备的数据串⾏线SDA也是线“与”的关系。

2.⼯作信号 默认状态(IDLE):当I2C不⼯作时,SDA和SCL都处于⾼电平; 开始传输(START):当 SCL保持为⾼电平,SDA由⾼电平变成低电平时表⽰传输开始(简写S); 停⽌传输(STOP):当 SCL保持为⾼电平,SDA由低电平变成⾼电平时表⽰传输结束(简写SP)。

I2C总线接口

I2C总线接口
有并行方式和串行方式两种接口
I2C串行EEPROM
常见的EEPROM有AT24C01/02/04/08/16等型号,其内部存储 容量分别是1K、2K、4K、8K和16Kbit
AT24CXX的引脚除了I2C总线所需的SCL和SDA外,还有
WP(写保护):提供硬件数据保护 A2、A1、A0(器件地址):当总线上有多片AT24CXX时,地址信
SCL ;SCL变低,SDA上数据可以变化
I2C_DELAY ;等待从设备将数据送出
SCL ;通知从设备,数据不可变化
I2C_DELAY
;等待数据稳定
C, SDA
;接收
A
;移入A
B, I2C_RNEXT_B
;循环
B
;恢复B
实现I2C时序的子程序(续)
总线必须由主设备控制 无论是主设备还是从设备,接收一个字节后必须发出一个确认
信号ACK 总线空闲时,SCL和SDA都必须保持高电平 I2C总线传送数据时,在时钟线SCL高电平期间,数据线SDA必
须保持稳定的逻辑电平状态。只有在时钟线为低时,才高电平期间,数据线出现的由高到低的跳变定义 为起始信号(S),启动I2C总线操作
;I2C信号引脚
;总线状态初始化 ;SCL和SDA都是高电平
;延时
SDA SCL I2C_DELAY SDA I2C_DELAY
;发送起始信号S ;SCL和SDA都是高电平
;SDA变低
实现I2C时序的子程序(续)
I2C_SEND_8B: PUSH MOV
I2C_SNEXT_B: CLR RLC MOV CALL SETB CALL DJNZ POP RET
每一字节数据都是由最高有效位在前 全部数据发送结束后,主设备发送终止信号P

I2C总线——总结

I2C总线——总结

I2C总线——总结I2C总线是一种串行数据通信协议,用于连接集成电路之间进行通信。

它由Phillips公司于1982年首次提出,并在随后的几十年中得到广泛应用和发展。

I2C总线采用两根线(SDA和SCL)进行通信,具有简单、高效的特点,适用于较短距离的通信。

首先,I2C总线的架构包括两个主要组成部分:主设备和从设备。

主设备通常是微控制器或其他控制器,负责发起和控制通信。

从设备是主设备的外围设备,例如传感器、电池芯片、存储器等。

主设备通过发送信号来控制从设备,并接收从设备发送的响应信号。

在I2C通信中,数据以字节为单位传输,每个字节都包含8位。

通信的起始由主设备发起,并发送设备地址标识。

从设备必须匹配该地址才能进入通信状态。

在通信过程中,主设备发送读取或写入指令,然后发送或接收数据。

每个数据字节都由从设备发送确认信号,以确保数据的准确接收。

除了基本的读写操作,I2C总线还支持一些高级功能,例如时钟同步、主从模式切换和热插拔功能。

这些功能使得I2C总线适用于各种应用场景,包括电子设备、通信系统、工业控制和汽车电子等。

然而,尽管I2C总线具有许多优点,但也存在一些限制和挑战。

首先,I2C总线在传输速度方面不如其他通信协议(如SPI和CAN)。

其次,长距离传输可能受到电压下降、信号失真和干扰等因素的影响。

此外,I2C总线的主设备需要额外的控制逻辑和处理能力,这可能增加系统的复杂性和成本。

综上所述,I2C总线是一种非常常用和实用的串行通信协议。

它具有简单、高效的特点,适用于较短距离的设备间通信。

通过多主机配置和高级功能支持,I2C总线可以满足各种应用的需求。

然而,需要根据具体的应用场景和要求来选择合适的通信协议,以确保系统的性能和可靠性。

I2C接口

I2C接口

I2C 模块结构
I2C模块包括下列的基本部分:

串行接口:一个数据引脚(SDA)和一个时钟引脚(SCL)


数据寄存器:用来临时保存在SDA引脚和CPU或DMA控制器之间流通的接收数据和发送数据
控制和状态寄存器 一个外围数据总线接口:用来使能CPU和dMAX控制器来访问I2C模块寄存器
一个时钟同步器:用来将I2C输入时钟(来自DSP时钟产生器的SYSCLK2)和SCL引脚上的时钟同步,以及 用来将数据传输跟具有不同时钟速度的主机同步
I2C 自由数据格式
开始状态后紧跟一个数据字。在每个字后面都要插入一个ACK位,字的位 数可以是2到8之间的任意数。不发送地址和数据方向位。这样,发送机和 接收机必须都支持自由数据格式,而且在传输过程中数据方向必须恒定。
I2C 使用一个重复的开始状态
在7位寻址,10位寻址和自由数据格式中,可以使用重复的开 始状态。使用重复开始状态的7位寻址格式如下图所示。在每 个数据字的末尾主模块都可以驱动另一个开始状态。在结束状 态之前,主模块可以发送/接收任意数目的数据字。数据字的长 度可以是2到8之间的任意值。
从发送模式
主接收模式 主发送模式
I2C 开始和停止状态
START状态定义为当SCL为高时,SDA线上从高到低的转变。主模块驱
动这一状态是用来指示出数据传输的开始。
STOP状态定义为当SCL为高时,SDA线上从低到高的转变。主模块驱动
这一状态是用来指示出数据传输的结束。
I2C 串行数据格式
I2C模块支持1到8位的数据长度。下图中给出的是8位数据格式。 SDA线上的每一位等同于SCL线上的一个脉冲,并且数据传输 时一般是以最高有效位(MSB)开始。可以发送或接收的数据长度 是没有限制的,但是发送器和接收器传输的数据长度必须一致。 I2C模块支持下列数据格式:

I2C接口——精选推荐

I2C接口——精选推荐

I2C接⼝I2C是⼀种多向控制总线,它是由PHILIPS公司在⼆⼗世纪⼋⼗年代初设计出来的,利⽤该总线可实现多主机系统所需的裁决和⾼低速设备同步等功能,是⼀种⾼性能的串⾏总线。

I2C总线只⽤两根双向传输线就可以将128个不同的设备互连到⼀起。

这两根线⼀根是时钟线SCL,⼀根是数据线SDA。

外部硬件只需要接两个上拉电阻,每根线上⼀个。

所有连接到总线上的设备都有⾃⼰的地址。

I2C总线上传输的数据是通过在时钟线(SCL)⾼电平期间所对应的数据线(SDA)上的电平来判别的。

在SCL线拉⾼期间对应到SDA线的电平,如果为⾼则这位数据为1,反之则为0。

只有在SCL线为低电平期间,SDA线才可以更新下⼀位数据。

除了传送的数据以外,I2C总线在每⼀帧数据传送之前,还会有⼀个启动信号,以通知从机准备接收数据。

在数据传送结束之后,也会有⼀个停⽌信号,以通知从机数据传输结束。

在SCL为⾼电平期间,若对应的SDA线上有⼀个由⾼变低的电平下降沿,表⽰这是⼀个启动信号。

同样,在SCL为⾼电平期间,若对应的SDA线上有⼀个由低变⾼的电平上升沿,表⽰这是⼀个停⽌信号。

当已经有⼀个启动信号之后,在没有停⽌信号出现之前若再次出现启动信号,则表⽰该信号是⼀个重新启动信号,它主要⽤于在主机不放弃总线控制的情况下启动新的传送。

在启动信号之后紧接着的是地址帧,所有的地址包均为9位,包括7位地址位、1位READ/WRITE控制位(即⽅向位,表明是主机写从机还是从机写主机)与1位应答位。

如果READ/WRITE为1,则执⾏读(从机写主机)操作;否则执⾏写(主机写从机)操作。

从机被寻址后,必须在第九个SCL(ACK)周期通过拉低SDA 作出应答。

地址帧发送后,紧接着就要发送数据帧。

所有在I2C总线上传送的数据包长度为9位,包括8位数据位及1位应答位。

在数据传送中,主机产⽣时钟及START与STOP状态,接收器响应接收。

应答是由从机在第9个SCL周期拉低SDA实现的,如果接收器在第9个SCL周期使SDA为⾼,则发出的是NACK信号。

I2C接口基本知识

I2C接口基本知识
R/W ̄是方向位,R/W ̄=0表示主器件向从器件发送数据,R/W ̄=1 表示主器件读取从器件数据。
a
9
• I2C总线上所有的外围器件都需要唯一的地址,由器件地址和引脚地址两 部分构成,共七位。器件地址是I2C器件固有的地址编码,器件出厂时就 已经给定,不可更改。引脚地址由I2C总线外围器件的地址引脚(A2,A1, AO)决定,根据其在电路中接电源正极,接地或悬空的不同,形成不同 的地址代码。引脚地址数决定了同一种器件可接入总线的最大数目。
a
3
a
4
两根线
• I2C 串行总线有两根信号线:一根双向的数据线 SDA;另一根是时 钟线 SCL。所有接到 I2C 总线上的设备的串行数据都接到总线的 SDA 线,各设备的时钟线 SCL接到总线的 SCL。
a
5
a
6
上拉电阻与传输速率
I2C总线的SCL和SDA端口输出为漏极开路,因此使用时必须连接上拉电阻。上拉电阻的大 小与电源电压,传输速率等由关系。这是由于外围器件是漏极开路,上拉电阻的大小在一 定程度上影响外围器件信号传输的延迟时间。
I2C总线接口基本知识
a
1
总线和接口的区别:
总线是一组传输通道,比如说IIC总线。 接口是一种连接标准,比 如说IIC接口。 两者之间的关系就是IIC接口的设备都要通过IIC总线 来进行通信,而IIC总线上走的设备并不全是IIC接口的。
a
2
什么是I2C总线?
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开 发的两线式串行总线,一根数据线SDA,一根串行时钟线SCL, 用于连接微处理器及其外围设备,实现全双工同步数据处理。 是微电子通信控制领域广泛采用的一种总线标准。它是同步通 信的一种特殊形式,具有接口线少,控制方式简单,器件封装 形式小,通信速率较高等优点。

单片机中I2C接口技术的研究与应用

单片机中I2C接口技术的研究与应用

单片机中I2C接口技术的研究与应用I2C(Inter-Integrated Circuit)是一种常用的串行通信接口,被广泛应用于单片机系统中。

本文将对I2C接口技术进行研究,并探讨其在单片机系统中的应用。

首先,我们来了解一下I2C接口的基本原理。

I2C总线由两根线组成,即SDA (Serial Data Line)和SCL(Serial Clock Line)。

其中,SDA线用于数据传输,而SCL线用于时钟同步。

I2C总线采用主从模式,主设备负责启动和管理通信过程,从设备则根据主设备的指令进行响应。

在I2C通信中,每个设备都需要有一个唯一的地址,以便与其他设备进行区分。

地址由7位或10位组成,其中7位地址模式被广泛应用。

在通信开始时,主设备将目标设备的地址发送到总线上,并指定读取或写入操作。

从设备会检测地址并响应主设备的操作请求。

I2C通信协议也支持终止、重复开始和应答等特性。

终止信号由主设备生成,用于结束通信过程。

重复开始信号用于在同一个通信过程中与多个从设备通信。

应答信号由从设备发送,用于确认接收到的数据。

接下来,我们来探讨I2C接口在单片机系统中的应用。

I2C接口具有以下优点,使其成为单片机系统中常用的通信接口之一:1. 多设备连接:I2C总线允许多个设备通过同一根总线连接到单片机,减少了硬件连接的复杂性。

这种特性使得I2C接口适用于需要与多个外设进行通信的应用,例如传感器、存储器等。

2. 低引脚占用:相比其他串行通信接口,I2C总线所需的引脚更少,节省了系统中的IO资源。

这对于单片机来说,意味着可以控制更多的外设或执行其他任务。

3. 可编程性:通过编程,开发人员可以灵活地控制和配置I2C接口的各个参数,如时钟频率、地址位数等。

这使得I2C接口适应不同的应用需求。

4. 快速数据传输:I2C接口支持高达400kHz的时钟频率,可以实现快速的数据传输。

这对于实时数据采集和控制应用非常重要。

5. 多主模式:I2C总线还支持多主模式,允许多个主设备在同一个总线上交替使用。

单片机中的I2C总线接口设计原理及应用

单片机中的I2C总线接口设计原理及应用

单片机中的I2C总线接口设计原理及应用I2C(Inter-Integrated Circuit)是一种串行通信协议,广泛应用于单片机系统中的外设设备间的通信。

本文将介绍I2C总线接口的设计原理及应用,包括原理介绍、硬件设计要点、软件实现以及应用案例等。

一、I2C总线接口的原理介绍I2C总线是由飞利浦(Philips)公司于上世纪80年代提出的一种串行通信协议,它使用两根线(SDA和SCL)进行数据和时钟的传输。

其中,SDA线用于数据传输,SCL线用于时钟同步。

I2C总线接口的原理非常简洁,主要分为两个角色:主设备(Master)和从设备(Slave)。

主设备负责控制总线的访问和数据的传输,而从设备则响应主设备的指令,并将数据发送给主设备。

在I2C总线上,每个设备都有一个唯一的7位或10位地址。

主设备通过发送起始信号和目标设备的地址来选择与之通信的从设备。

通信的开始由主设备发送起始信号(Start),结束由主设备发送停止信号(Stop)。

数据传输过程中,起始信号和停止信号的边沿触发时机非常重要。

起始信号是在时钟高电平时,数据线由高电平转为低电平,而停止信号则是在时钟高电平时,数据线由低电平转为高电平。

数据传输是在时钟低电平时进行,每个时钟周期传输一个bit的数据,传输的顺序是从高位到低位,同时每传输完一个bit,需要由接收端发送应答信号。

二、I2C总线接口的硬件设计要点1. 电平转换器:由于I2C总线的工作电平是标准的3.3V或5V,因此需要使用电平转换器来适应不同的设备电平要求。

常用的电平转换器有双向电平转换器和单向电平转换器两种,选择合适的电平转换器可以提高系统的稳定性和兼容性。

2. 上拉电阻:I2C总线上的数据线(SDA)和时钟线(SCL)都需要连接上拉电阻,以确保在传输过程中电平稳定。

通常选择2.2kΩ到10kΩ的上拉电阻,使总线电平维持在高电平状态。

3. 保持电容:为了提高I2C总线的稳定性,可以在每个从设备的SDA和SCL线上连接一个保持电容。

i2c方案原理

i2c方案原理

i2c方案原理
I2C(Inter-Integrated Circuit)是一种串行通信接口,由飞利浦公司开发。

它的特点是只需要两根线(SCL和SDA),可以连接多个设备,实现数据传输和控制。

I2C采用了主从结构,主设备控制传输的时序,从设备响应数据传输请求。

I2C通信协议的基本原理是同步通信。

主控设备向从设备发送一个数据时序,从设备通过响应的时序来确认收到数据。

主设备与从设备之间
的数据传输通过“起始位”和“停止位”来分隔。

设备之间的通讯有
两种状态:传输状态和应答状态。

在传输状态中,主设备向从设备发
送数据请求,从设备接收并处理请求,返回应答信号。

在应答状态中,主设备以信号通知从设备需要传输的数据类型。

I2C协议的通信速率受到主设备和从设备的限制。

I2C通信的速率一般比SPI和UART慢,但它可以同时向多个设备发送数据,从而在复杂
的嵌入式系统中使用,提高系统的可靠性和灵活性。

I2C实现的过程需要遵循一些规则。

首先,主设备需要发起通信请求并控制总线。

从设备需要及时回应请求信号并处理请求。

其次,在同步
传输过程中,主设备和从设备需要释放传输缓冲区。

最后,I2C协议通信需要设备具备相同的速率。

总的来说,I2C是一种传输数据和控制的通信协议,使用两根线实现,可以增加系统的可靠性和灵活性。

它是嵌入式系统中常用的通信方式之一,能够在多个设备之间实现高速、可靠和灵活的通信。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行的8位双向数据传输位速率在: 标准模式下可达 100kbit/s,采用10K欧姆的上拉电阻。 快速模式下可达 400kbit/s,采用2K欧姆的上拉电阻。 高速模式下可达3.4Mbit/s,高速模式下不执行仲裁和时钟同步
以加速位处理能力,同时高速模式主机器件有一个SDAH 信号 的开漏输出缓冲器和一个在SCLH 输出的开漏极下拉和电流源上 拉电路。这个电流源电路缩短了SCLH 信号的上升时间,任何时 侯在Hs 模式,只有一个主机的电流源有效
两根线
I2C 串行总线有两根信号线:一根双向的数据 线 SDA;另一根是时钟线 SCL。所有接到 I2C 总线上的设备的串行数据都接到总线的 SDA 线,各设备的时钟线 SCL接到总线的 SCL。
上拉电阻与传输速率
I2C总线的SCL和SDA端口输出为漏极开路,因此使用时必须连接 上拉电阻。上拉电阻的大小与电源电压,传输速率等由关系。这 是由于外围器件是漏极开路,上拉电阻的大小在一定程度上影响 外围器件信号传输的延迟时间。
I2IIC总线。 接口 是一种连接标准,比如说IIC接口。 两者之间 的关系就是IIC接口的设备都要通过IIC总线来 进行通信,而IIC总线上走的设备并不全是IIC 接口的。
什么是I2C总线?
I2C(Inter-Integrated Circuit)总线是由 PHILIPS公司开发的两线式串行总线,一 根数据线SDA,一根串行时钟线SCL,用 于连接微处理器及其外围设备,实现全双 工同步数据处理。是微电子通信控制领域 广泛采用的一种总线标准。它是同步通信 的一种特殊形式,具有接口线少,控制方 式简单,器件封装形式小,通信速率较高 等优点。
R/W ̄是方向位,R/W ̄=0表示主器件向从器件发送 数据,R/W ̄=1表示主器件读取从器件数据。
位序 D7 D6 D5 D4 D3 D2 D1 D0
定义
器件地址
引脚地址
DA3 DA2 DA1 DA0 A2 A1 A0
方向 位
_ R/W
主从通信
I2C规程运用主/从双向通讯。I2C总线的运行 (数据传输)由主机控制。所谓主机即启动数 据的传送时(发出启动信号)发出时钟信号, 传送结束时发出停止信号的设备,通常主机是 微处理器。被主机寻访的设备都称为从机。主 机和从机的数据传送,可以由主机发送数据到 从机,凡是发送数据到总线的设备称为发送器, 也可以是从机发到主机。从总线上接收数据的 设备被称为接受器。
I2C总线上的外围扩展器件的数量
I2C总线上的外围扩展器件为电压型负载的 CMOS器件,因此总线上的器件数量不是由电 流负载能力决定,而是由电容负载能力决定。 通常I2C总线的负载能力为400PF。同时由于 外围器件的地址唯一,所以外围器件的数量还 受器件地址空间的限制。
地址唯一
I2C总线上所有的外围器件都需要唯一的地址 由器件地址和引脚地址两部分构成,共七位。 器件地址是I2C器件固有的地址编码,器件出 厂时就已经给定,不可更改。引脚地址由I2C 总线外围器件的地址引脚(A2,A1,AO)决 定,根据其在电路中接电源正极,接地或悬空 的不同,形成不同的地址代码。引脚地址数决 定了同一种器件可接入总线的最大数目。
I2C总线在传送数据过程中共有三种类型信号, 它们分别 是:启动信号、停止信号和应答信号。
启动信号:SCL为高电平时,SDA由高电平向低电平跳 变,开始传送数据。
停止信号:SCL为低电平时,SDA由低电平向高电平跳 变,结束传送数据。
应答信号:接收数据的IC在接收到8bit数据后,向发送 数据的IC发出特定的低电平脉冲,表示已收到数据。CPU 向受控单元发出一个信号后,等待受控单元发出一个应答 信号,CPU接收到应答信号后,根据实际情况作出是否继 续传递信号的判断。若未收到应答信号,由判断为受控单 元出现故障。
R/W ̄是方向位,R/W ̄=0表示主器件向从器 件发送数据,R/W ̄=1表示主器件读取从器件 数据。
I2C总线上所有的外围器件都需要唯一的地址,由器 件地址和引脚地址两部分构成,共七位。器件地址是 I2C器件固有的地址编码,器件出厂时就已经给定, 不可更改。引脚地址由I2C总线外围器件的地址引脚 (A2,A1,AO)决定,根据其在电路中接电源正极, 接地或悬空的不同,形成不同的地址代码。引脚地址 数决定了同一种器件可接入总线的最大数目。
I2C接口应用
由于串行总线连线少,结构简单,往往不用专用的母 板和插座而直接用导线连接各个设备即可。因此,采 用串行总线大大简化了系统硬件设计。PHILIPS公司 早在十几年就前推出了I2C串行总线,它是具备多主 机系统所需的包括裁决和高低速设备同步等功能的高 性能串行总线。最初为音频和视频设备开发,如今主 要在服务器管理中使用,其中包括单个组件状态的通 信。例如管理员可对各个组件进行查询,以管理系统 的配置或掌握组件的功能状态,如电源和系统风扇。 可随时监控内存、硬盘、网络、系统温度等多个参数, 增加了系统的安全性,方便了管理。
总线竞争的仲裁
总线上可能挂接有多个器件,有时会发生两个或多个 主器件同时想占用总线的情况,这种情况叫做总线竞 争。I2C总线具有多主控能力,可以对发生在SDA线 上的总线竞争进行仲裁,其仲裁原则是这样的:当多 个主器件同时想占用总线时,如果某个主器件发送高 电平,而另一个主器件发送低电平,则发送电平与此 时SDA总线电平不符的那个器件将自动关闭其输出级。 总线竞争的仲裁是在两个层次上进行的。首先是地址 位的比较,如果主器件寻址同一个从器件,则进入数 据位的比较,从而确保了竞争仲裁的可靠性。由于是 利用I2C总线上的信息进行仲裁,因此不会造成信息 的丢失。
相关文档
最新文档