I2C接口总结

发布者:电子思维最新更新时间:2019-04-22 来源: eefocus关键字:I2C接口  信号线  总线 手机看文章 扫描二维码
随时随地手机看文章

1 I2C总线的特点

I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,通常最大频率为400Khz,能够以10Kbps的最大传输速率支持40个组件。另一个优点是,它支持多主控,其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。


2 I2C串行总线概述

I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。

I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。



I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。



每个接到I2C总线上的器件都有唯一的地址。主机与其他器件间的数据传送可以是由主机发送数据到其他器件,这时主机即为发送器。由总线上接收数据的器件即为接收器。


在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。


3 总线的数据传输


3.1 数据位的有效性规定


I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。



3.2 起始和终止信号


SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。



起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。


连接到I2C总线上的器件,若具有I2C总线的硬件接口,则很容易检测到起始和终止信号。对于不具备I2C总线硬件接口的有些单片机来说,为了检测起始和终止信号,必须保证在每个时钟周期内对数据线SDA采用两次。


接收器件收到一个完整的数据字节后,有可能需要完成一些其他工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将SCL线拉成低电平,从而使主机处于等待状态。直到接收器件准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数据传送可以继续进行。


3.3 数据传输格式


3.3.1 字节传送和应答


每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。



由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据置于高电平,而由主机产生一个终止信号以结束总线的数据传送。


如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续发送。


当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。这个信号是由对从机的“非应答”来实现的。然而,从机释放SDA线,以允许主机产生终止信号。


3.3.2  数据帧格式


I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。


在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。每次数据传送总是由主机产生的终止信号结束。但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发起起始信号对另一从机进行寻址。


在总线的一次数据传送过程中,可以有以下几种组合方式:


    (1) 主机向从机发送数据,数据传送方向在整个传送过程中不变



注:有阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送。A表示应答,表示 非应答(高电平)。S表示起始信号,P表示终止信号。


(2)主机在发送完第一个字节后,立即读取从机数据



(3)在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正 好反向;



3.4总线的寻址


I2C总线协议有明确的规定:采用7位的寻址字节(寻址字节是起始信号后的第一个字节)。


3.4.1 寻址字节定义



D7~D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。


主机发送地址时,总线上的每个从机都将这7位地址与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/位将自己确定为发送器或接收器。


从机的地址由固定部分和可编辑部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。


3.4.2 寻址字节中特殊地址


固定地址编号0000和1111已被保留作为特殊用途



起始信号后的第一字节的8位为“0000 0000”时,称为通用呼叫地址。通用呼叫地址的用意在第二字节中加以说明。格式为:



第二字节为06H时,所有能响应通用呼叫地址的从机器件复位,并由硬件装入从机地址的可编程部分。能响应命令的从机器件复位时不拉低SDA和SCL线,以免堵塞总线。


第二字节为04H时,所有能响应通用呼叫地址并通过硬件来定义其可编程地址的从机器件将锁定地址中的可编程位,但不进行复位。


如果第二字节的方向位B为“1”,则这两个字节命令称为硬件通用呼叫命令。


在这第二字节的高7位说明自己的地址。接在总线上的智能器件,如单片机或其他微处理器能识别这个地址,并与之传送数据。硬件主器件作为从机使用时,也用这个地址作为从机地址。格式为:




在系统中另一种选择可能是系统复位时硬件主机器件工作在从机接收器方式,这时由系统中的主机先告诉硬件主机器件数据应送往的从机器件地址,当硬件主机器件要发送数据时就可以直接向指定从机器件发送数据了。



关键字:I2C接口  信号线  总线 引用地址:I2C接口总结

上一篇:关于I2C和SPI总线协议的优缺点
下一篇:UART SPI I²C对比总结

推荐阅读最新更新时间:2024-11-17 16:36

【C51入门笔记】单总线协议+DS18B20
DS18B20芯片: 简介: DS18B20是DALLAS公司生产的一种“单总线”温度传感器,它采用独特的单线接口方式,仅需要一个端口引脚来发送或接收信息,在MCU和DS18B20之间仅需一条数据线。 每个DS18B20都有一个唯一的ROM序列号,所以可以将多只DS18B20同时连在一根单总线上,进行简单的多点分布应用。 DS18B20极为小巧,大小和一个普通的三极管相当,所以在温度测量方面有着比较广泛的应用,包括温度控制,工业系统,消费电子,温度计已经其他的一下热感测系统。 DS18B20内部有三个主要数字部件:64位激光ROM,温度传感器,非易失性温度报警触发器TH和TL。 DS18B20可以采用寄生电源方式工
[单片机]
【C51入门笔记】单<font color='red'>总线</font>协议+DS18B20
8位单片机的16位外部总线扩展与应用
  随着电子设计技术的进步和芯片制造工艺水平的提高,16位和32位单片机的使用越来越广泛,但是8位单片机因其制造工艺成熟、价格低廉等特点,仍然在市场上占有相当大的比例,尤其在成本敏感和可靠性要求极高的汽车电子领域,更占用绝对优势,带有外部总线的8位单片机,可以方便地与8位总线设备(如A/D、RAM和CAN总线)相连。随着对传输性能要求的提高,出现了大量的16位总线设备(如网络接口芯片),8位单片机要与16位总线设备相连接,通常的做法是利用I/O端口来模拟16位总线的读/写时序,数据传输速率较低,且原有的8位设备的传输速率也随之降低,因而限制了8位单片机的使用范围,本文提出一种8位单片机扩展16为外部总线的方法,不影响原有8位器件的
[单片机]
基于CAN总线的分布式嵌入式远程监控研制
      摘 要: 介绍了针对通信用多逆变模块电源设备的远程监控要求,利用CAN总线与底层多逆变模块连接、通过Web服务器连入Internet的嵌入式远程监控系统。本系统授权用户可在Internet任意一点应用浏览器访问该系统,实现对底层设备群的监控和管理。该系统也可以移植应用到楼宇自动化、工业底层现场设备网络等远程监控场合。    关键词: 远程监控;嵌入式系统;分布式;CAN总线    前 言   随着计算机技术和网络技术的飞速发展,Internet网已成为信息交流的重要渠道,基于WebB/S(BroWser/Server)远程监控技术的应用也越来越广泛。将这种技术应用于工业现场控制,用户可在Internet接入的地
[工业控制]
基于CAN<font color='red'>总线</font>的分布式嵌入式远程监控研制
基于Flexray总线的车载指挥控制设计与实现
0 引言     在现代战争中,无人机相对有人机而言具有低成本、零伤亡、高机动、可重复使用等诸多优势,其使用范围已扩展到军事、民用等领域。在军事上可用于侦察、监视、通信中继、电子对抗、战果评估等;在民用上可用于大地测量、气象观测、城市环境监测、地球资源勘探、森林防火、核污染生化污染区的取样与监控等。无人机系统通常由机载系统、数据链和地面站组成。     地面站是无人机系统的中枢,它的主要功能包括:任务计划、飞行控制、信息处理显示、目标检测和定位、数据记录等。车载地面站由于其机动性好、便于快速部署、可迅速到达任务区域附近而受到用户青睐。但车载地面站面临高低温、高湿、冲击、振动、电磁辐射干扰等恶劣环境,以及对其性能、体积、重量、功耗等的
[嵌入式]
各类型现场总线的体系结构综述
  按照国际电工委员会IEC/SC65C的定义,安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行和多点通信的数据总线称为现场总线。根据使用场合和用途不同,现场总线又分为H1低速现场总线和H2高速现场总线。IEC/SC65C最初定义H1总线为用于制造或过程区域的、通过两根传输线向现场装置供电的低速串行总线,H2总线为无需解决两线制供电,用于装置间传送信息的高速串行总线。H1和H2总线相辅相成构成了完整的工业自动化系统信息通信网络。   经过长达15年的争论,IEC61158用于工业控制系统的现场总线国际标准于2000年初终于获得通过,现场总线之争逐渐随之退潮,IEC/SC65C/WG6现场总线标准委员会到此也
[嵌入式]
CAN总线控制器与DSP的接口
摘要:讨论了CAN总线控制器与DSP之间的接口,介绍了流行的CAN控制器芯片SJA1000和TMS320系列DSP芯片的接口时序,并给出了它们的接口方法和电路。 关键词:CAN控制器 DSP 时序 接口电路 现场总线是一种开放式、数字化、多点通信的控制系统局域网络,是当今自动化领域中最具有应用前景的技术之一。CAN总线是现场总线中的应用热点,CAN总线支持分布式控制和适时控制的串行通信网络。由于CAN总线具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越受到人们的关注。基于CAN总线的CAN控制器具有完成CAN总线通信协议所要求的全部必要功能,因此CAN控制器与其它微处理器的接口成为
[应用]
CAN总线BusOff原理
汽车内部挂有很多的ECU节点,当其中一个节点发生故障进入总线关闭状态时,会很大程度上影响整车CAN网络的通讯。例如,当汽车发生碰撞时,传感器将电信号传送给安全气囊ECU,将信号进行处理,当确定需要打开安全气囊时,ECU会立即发出点火信号,气体发生器才会充满气囊,对驾驶员和乘客提供安全保护,如下图1所示。若此时安全气囊ECU处于总线关闭状态,则无法正常弹出气囊,会导致严重后果。 图1 ECU工作示意图 因此,对于新能源汽车行业工程师,了解CAN总线Bus Off原理是非常有必要的。CAN控制器可以判断出错误的类型是总线上暂时的数据错误(如外部干扰等)还是持续的数据错误(如单元内部故障、驱动器故障、断线、短路等)
[汽车电子]
LIN总线及其对环保汽车的贡献
  是否真的有绿色汽车?   原油价格上升及全球气候的明显变化增强了消费者对生态环境的意识 (ecological awareness)。但即便如此,汽车工业仍然在不断发展。那么,是否真的有所谓的绿色汽车呢?这当然是没有的,或者说,目前还没有。不过,情况也不至于这样差,例如现有引擎的功率比20年前增大了许多倍,但油耗却减少了差不多三分之一。   降低油耗的因素   汽车的重量和其电子系统是降低油耗、进而减少二氧化碳 (CO2) 排放的主要因素。30多年前,几乎没听说过诸如电动助力转向,主动和被动安全或空调之类的系统,而如今这些功能甚至在各种基本汽车型款上都成了不可缺少的组成部分。正是这类 (以及许多其它的) 功能构成了汽车额
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved