资讯详情

【IIC通信】Chap.2 (I2C)IIC协议的特点;为什么IIC需要开漏输出、上拉电阻?

【IIC通信】Chap.2 (I2C)IIC协议的特点;为什么?IIC泄漏输出和上拉电阻需要打开吗?

  • 1. Inter-Integrated Circuit protocol (简称,I2C或IIC协议)
  • 2. IIC的特点
    • 2.1 总线驱动能力强,IIC节点数量受电容限制
    • 2.2 互联网简单有效
    • 2.3 设备在总线的唯一地址
    • 2.4 多主从控制 (Multi-Mastering)
    • 2.5 传输速率
  • 3. IIC配置上拉电阻,泄漏输出
    • 3.1 泄漏输出和上拉电阻
    • 3.2 为什么Open-Drain泄漏输出需要上拉电阻
    • 3.3 为什么iic开路需要漏极
      • 防止短路
      • 增强端口扇出能力,降低功耗
      • 利用线与来判断总线占用状态
      • 增加驱动能力
      • 控制高电平输出
  • 参考文献

1. Inter-Integrated Circuit protocol (简称,I2C或IIC协议)

??IIC以两条连线实现完善, 构成多机系统和外围设备扩展系统很容易。把I2C设备植入协议I/O接口, 使用时直接挂设备I2C总线上, 这一特点给用户在设计应用系统时带来了极大的便利。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有惟一的地址。I2C该装置由地址决定I2C总线委员会统一编制, 装置出厂时已给定。例如:I2C总线E2PROM AT24CXX设备地址为1010。

在这里插入图片描述

  • 与SPI (Serial Peripheral Interface) 同样,它只适用于单个设备中的短距离通信。
  • 与异步串行接口(如 RS-232 或 UART)同样,它只需要可以交换信息。①SCL(Serial Clock),②SDA(Serial Data Line);而且两条线都是双向线,但在大多数情况下,会SCL用作单向线。

2. IIC的特点

  • 串行传输 ,数据是一个一个传输的。
  • 同步方式 ,有时钟线,按时钟线节拍同步收发数据。
  • 半双工 ,半双工通信不能同时收发。
  • 主从模式 ,只有主机才能主动启动读写过程,从机只能被动响应。
  • 多主多从 。所有机器都有唯一的地址,地址为7或10,只有通信中匹配地址的机器才能响应。多主机房可以通过仲裁解决冲突。
  • 逐字响应 ,每次发送一个字节,对方都会有响应位(ACK,NACK),方便发送方相应处理。
  • 电路简洁 ,只需要两条线,使用TTL电平通信,硬件成本低,易于实现。
  • 短距低速 ,因为是串行TTL电平通信,所以波特率不高,带宽窄,通信距离不远,一般用于CPU和板级外设间通信。

2.1 总线驱动能力强,IIC节点数量受电容限制

??I2C总线外围扩展装置均为CMOS型的, 功耗极低, 因此总线上扩展的节点数不是由电流负载能力决定的, 但由电容负载决定。通常I2C总线负载能力最大电容400 pF限制一般每个设备不超过20个pF,因此,可以计算总线长度和所带设备的数量。总线扩展I2C设备的数量主要受设备地址的限制。

2.2 互联网简单有效

??任何一个I2C总线接口的外围设备, 不管功能有多不同, 通过串行数据线 (SDA) 串行时钟线 (SCL) 连接到I2C总线。这一特点给用户在设计应用系统时带来了极大的便利。用户不必理解每一个I2C总线接口器件的功能如何?, 只需设备SDA和SCL引脚连到I2C总线上, 然后独立设计设备模块, 从而简化了系统设计的复杂性, 提高了系统抗干扰的能力, 符合EMC (Electromagnetic Compatibility) 设计原则。因为接口直接在组件上, 因此I2C总线占用的空间很小, 减少了电路板和芯片管脚的空间, 降低了互联网成本。

2.3 设备在总线的唯一地址

每一个挂在总线上I2C所有设备都有唯一的地址,可以通过软件找到地址 ??在单主系统中, 每个I2C总线接口芯片具有唯一的设备地址, 各器件不相互干扰, 不能互相通信。MCU与I2C设备之间的通信是通过独特的设备地址来实现的

2.4 多主从控制 (Multi-Mastering)

??因为在总线上可能有多个主线I2C器件,因此I2C冲突监测和仲裁机制存在于总线接口协议中,以防止通信中的数据丢失或错误。 ??I2C总线的另一个优点是, 它支持多主控制 (Multi-Mastering) , 任何可以发送和接收的设备都可以成为主要设备, 当它从总线接收信息时, 再次成为接收器 (也称从设备) 。主控器可以控制信号传输和时钟频率。只能在任何时候有一个主控器。连接多个I2C 总线设备的可能性意味着超过一个主机可以同时尝试初始化数据传输, 总线使用权的裁决将在仲裁过程中产生。

2.5 传输速率

??在标准模式下,串行的8位双向数据传输位率为100kbit/s,在快速模式下,速率为400kbit/s,3.高速模式.4Mbit/s。 【参考】彻底理解IIC总线(5)I2C总线传输速度

3. IIC配置上拉电阻,泄漏输出

??IIC装置内部的输出端是漏极开路的场效应管(MOS管),(即总线无数据传输时)(SDA、SCL)都处于。开漏(opendrain)电路是指以MOSFET泄漏极输出的电路需要在泄漏极外的电路上增加拉电阻。泄漏输出只能输出低电平,不能输出高电平,另一种输出是高电阻。

3.1 泄漏输出和上拉电阻

??场效应管是电压控制型元器件,栅极G,漏极D,源极S。

??只栅极施电压,DS会导致。结型场效应管的一个特点是其输入阻抗非常大,这意味着没有电流从控制电路流出,也没有电流进入控制电路。

连接到总线的设备输出级必须是漏极开路或集电极开路,才能执行线路和功能

3.2 为什么Open-Drain泄漏输出需要上拉电阻

??开漏Pin不连接外部上拉电阻,只能输出低电平。当输出电平较低时,N沟通三极管是导通的,所以在Vcc’和GND上拉电阻R和三极管之间有连续电流Q1。这将影响整个系统的功耗。上拉电阻电阻可以降低电流。然而,大阻值会减缓输出信号的上升时间。即上拉电阻R pull-up的阻值 它决定了逻辑电平转换沿的速度。电阻越大,功耗越低。反之亦然。

3.3 为什么iic开路需要漏极

防止短路

如果不设置为泄漏,而设置为推拉,则几个设备连接在同一条总线上。此时,某个设备的某个设备IO输出高电平,另一个设备IO当你输出低电平时,你会发现这两个IO的VCC和GND短路;但是泄漏不会有这个问题。

增强端口扇出能力,降低功耗

??IC为了提高端口的风扇输出能力,设计为漏极开路风格。使用时,端口设置为低电平有效的灌溉电流模式,同时获得最大输出电流IC功耗最低。当输出高电平时,此类端口需要外部上拉电阻。

利用线与来判断总线占用状态

??多个泄漏输出可以输出Pin脚,连接到一条线上,形成与逻辑的关系,即线与的功能。任何一个变低后,开线上的逻辑都是0。I2C,SMBus等待总线判断总线占用状态的原理。 如果总线上的一个A设备将SDA此时,总线上的另一个B设备将被拉高SDA因为1&0=因此A设备检查SDA会发现不是高电平而是低电平,这说明总线上已经有其他设备占据了总线,A如果检测是高电平,就必须放弃。

增加驱动能力

如果在漏极drain_output如果连接到拉电阻,可以进行电平转换动能力较强。 利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。

控制输出高电平大小

可以利用改变上拉电源的电压,改变传输电平:图表 5 open-drain输出电平的原理,IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。

参考文献

  1. https://learn.sparkfun.com/tutorials/i2c/all

  2. 赵辉,董德存.I~2C总线技术及其应用实例[J].微型电脑应用,2005(04):61-63+66.

  3. 沈华,王俞心.基于FPGA的I2C总线主控器的设计与实现[J].航空计算技术,2007,(06):109-111.

  4. 苏建志,王冰峰.I~2C总线及其应用[J].现代电子技术,2004,(22):22-24.

  5. 石宗义.I~2C总线时序分析及其模拟[J].太原理工大学学报,2004,(01):53-56.

  6. TWI-I2C学习详解

  7. I2C 时序详解,精确到每一个时钟

  8. I2C通信中的坑

  9. “I2C”通信的那些坑,新手必看!

标签: 判断电阻大小内接外接j330三极管二三极管电源ic103j脚距电阻器三极管j112g三极管j30330

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台