h1_key

当前位置:首页 >新闻资讯 > 行业资讯>I2C基础知识介绍
I2C基础知识介绍
2023-04-24 6132次

  I2C是什么?

  在消费电子和工业电子等领域中,会使用各种类型的芯片,有时需要快速地进行数据交互,为了使用最简单的方式使这些芯片互联互通,于是I2C诞生了。I2C(Inter-Integrated Circuit)是一种通用的总线协议。它是Philips公司半导体事业部(现在的NXP)在80年代初为方便主板、嵌入式系统设计的一种简单、双向二线制同步串行总线。由于其简单性,它被广泛用于微控制器与传感器阵列、显示器、IoT设备、EEPROM等之间的通信。I2C的专利在2006年11月1日已到期,大家可以免费使用。

  对于硬件工程师来说,只需要2个管脚,极少的连接线和面积,就可以实现芯片间的通信,对于软件设计人员来说,可以使用同一个I2C驱动库,来实现不同器件的驱动,大大减少了软件的开发时间。极低的工作电流,降低了系统的功耗,完善的应答机制大大增强了通信的可靠性。



  I2C总线的介绍

  

 

  I2C总线概述

  I2C总线采用两条线路——串行数据(SDA)和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器(由器件的功能决定)。比如,在系统中LCD驱动器只是一个接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。


  I2C总线特点

  ●它是一个支持多器件的总线。在一个I2C通信总线中,可连接多个I2C通信器件,支持多个通信主机及多个通信从机。

  ●SDA和SCL都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压(见下图),当总线空闲时,两条线路上都是高电平。连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。

  ●多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个器件占用总线。在I2C总线上产生时钟信号通常是主机器件的责任。当在总线上传输数据时,每个主机产生自己的时钟信号。主机发出的总线时钟信号只有在以下的情况才能被改变:慢速地从机器件控制时钟线并延长时钟信号,或者在发生仲裁时被另一个主机改变。

  


 

  I2C总线基础知识

  I2C总线通信的常识与术语


  常识

  ●多主机总线,如果两个或更多主机同时初始化,数据传输可以通过重提检测和仲裁防止数据被破坏。

  ●串行的8bit双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。

  ●连接到相同I2C总线的器件数量只受到总线的最大电容400pF的限制。

  ●I2C通信的数据以8bit为单位,每次发送完一个数据都要等待接收方的ACK信号。


  术语

  发送器:发送数据到总线的器件。

  接收器:从总线接收数据的器件。

  主机:发送起始/终止信号和时钟信号的器件。

  从机:被主机寻址的器件。

  仲裁:是一个在有多个主机同时尝试控制总线但只允许其中一个控制总线并使传输不被破坏的过程。

  同步:两个或多个器件同步时钟信号的过程。

  SDA:数据线通信期间,SDA的电平改变只能发生在SCL在低电平期间。

  SCL:时钟线。

  

 


  I2C总线通信中共有以下几种状态

  ●空闲状态:SDA和SCL两条信号线同时处于高电平。

  ●起始状态:SCL为高电平,SDA由高电平到低电平。起始信号由主控器发起,发起前处于空闲状态。

  ●结束状态:SCL为高电平,SDA由低电平到高电平。结束信号由主控器发起,发起后处于空闲状态。

  


 

  有效的数据位传输:

  在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),即在SCL串行时钟的配合下,数据在SDA上从高位向低位依次串行传送每一位的数据。

  进行数据传送时,在SCL呈现高电平期间,SDA上的电平必须保持稳定,低电平为数据0,高电平为数据1。只有在SCL为低电平期间,才允许SDA上的电平改变状态。

  应答信号与非应答信号:

  I2C总线上的所有数据都是以8位字节传送的,发送器每发送一个字节,就在第9个时钟脉冲期间释放数据线,由接收器反馈一个应答信号。应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。对于反馈有效应答位ACK的要求是,接收器在第9个时钟脉冲之前的低电平期间将SDA线拉低,并且确保在该时钟的高电平期间为稳定的低电平。

  

 

  关于I2C总线的基础知识大概介绍到这里,I2C总线经过这么多年行业应用已非常广泛,下面我们就来聊下大家所关心的I2C总线的应用。


  I2C总线的应用

  I2C总线的主要用途

  用于与显示器件的对接:通过I2C总线,可以使处理器和显示器件之间的交互更加方便与快捷,实现更加智能化的人机交互控制。

  用于外围芯片的接口:I2C总线可以和可编程的外围芯片进行对接,如定时器,继电器和存储器等,可以大大减少数据通信和控制电路的连接线数量,降低系统复杂度,节省成本。

  用于传感器的接口:I2C总线可以实现各种类型的传感器和微处理器或微控制器之间的高速通信,从而可以实现复杂的控制系统,以及实时监测系统状态。

  用于模拟和数字芯片的接口:I2C总线用于主机与模拟和数字芯片之间的数据传输,同时也可以实现外设和外设之间的快速传输,这种链路通信方式有助于满足系统各部分通信协作和控制需求。

  用于系统间的扩展:I2C总线可以连接两个或者更多的系统,实现系统间的快速扩展,避免系统因拓扑结构问题而出现混乱情况。比如:GPIO扩展、电平转换、系统热插拔缓冲等等。


  I2C总线的使用注意事项

  I2C总线不支持多级主机,只支持单级,只有一个主机可以激活总线,这个主机负责控制和管理,总线的数据传输,多个主机存在时,只能有一个处于激活状态,其他主机要进行数据通信时,必须先通知当前主机放权,再等待放权成功后才能激活。

  I2C总线只支持先进先出等单向数据传输,不支持双向数据传输和多级传输。

  主机要保证在总线上传输的数据字节不能超过1024字节。

  在I2C总线中,主机只能改变数据传输的速度,从机只能接受主机传输的数据速度。

  如果使用多根I2C总线时,可以设置不同的总线地址来辨别不同的从机和主机,不同总线之间应尽量避免长度和信号强度两者可能存在差异。如果需要连接多根I2C总线,就需要使用I2C总线纠错技术,确保数据传输的正确性。

 

  • 一文读懂DRAM(动态随机存取存储器)工作原理、分类、主要厂商
  • DRAM是一种易失性半导体存储器,用于计算机和其他数字设备作为主内存。它的名字“动态”源于需要周期性刷新存储的数据。
    2025-06-19 248次
  • 一文读懂FPGA的工作原理、关键参数、品牌、运用
  • FPGA代表Field-Programmable Gate Array,中文译为现场可编程门阵列。它是一种非常特殊的半导体集成电路芯片。与 CPU、GPU 或专用集成电路芯片在出厂时功能就固定不同,FPGA的硬件逻辑功能在制造完成后,可以由用户在现场(Field)根据需要进行编程(Programmable)来定义。 它本质上是由大量可配置逻辑块、可编程互连资源和丰富的输入/输出单元组成的阵列(Array)。
    2025-06-05 185次
  • 一文读懂ADC(模数转换器)与DAC(数模转换器)类型、应用
  • ADC(模数转换器)与DAC(数模转换器)芯片是连接模拟世界与数字系统的核心元器件,广泛应用于通信、工业控制、医疗设备、消费电子等领域。以下是它们的核心技术原理、类型及市场应用解析:
    2025-05-21 145次
  • 一文读懂GNSS模组产品分类、品牌、运用
  • 全球导航卫星系统(GNSS,Global Navigation Satellite System)是一种通过卫星信号提供地理定位、导航和时间同步服务的技术。常见的GNSS包括美国的GPS、俄罗斯的GLONASS、欧盟的伽利略(Galileo)和中国的北斗(BDS)。以下从产品、品牌和应用领域三个方面进行介绍:
    2025-04-28 312次
  • 一文读懂什么是MEMS压力传感器?
  • MEMS压力传感器是一种基于微机电系统(Micro-Electro-Mechanical Systems, MEMS)技术制造的微型传感器,主要用于测量气体或液体的压力。凭借其小型化、高灵敏度和低成本等优势,MEMS压力传感器被广泛应用于汽车、医疗、工业、消费电子和航空航天等领域。
    2025-04-17 229次

    万联芯微信公众号

    元器件现货+BOM配单+PCBA制造平台
    关注公众号,优惠活动早知道!
    10s
    温馨提示:
    订单商品问题请移至我的售后服务提交售后申请,其他需投诉问题可移至我的投诉提交,我们将在第一时间给您答复
    返回顶部