最全的一篇文章,介绍i2c总线的概念和特性,一看就会

本文内容:

  • i2c总线的由来:
  • i2c总线的一些特性:
  • i2c的优点:
  • i2c总线的规范
  • i2c总线的概念
  • 总体特征

i2c总线的由来:

在消费者电子、电讯和工业电子钟,看上去不相关的设计里经常有很多相似的地方。例如,几个每个系统都包括:

  • 一些智能控制,通常是一个单片的微控制器;
  • 通用电路,例如LCD驱动器、远程I/O口,RAM、EEPROM或数据转换器。
  • 面向应用的电路,譬如收音机和视频系统的数字调谐和信号处理电路,或者是音频拨号电话的DTMF发生器;

为了使这些相似之处对系统设计者和器件厂商都得益,而且使硬件效益最大电路最简单,PHIPS公司开了一个简单的双向两线总线,实现有效的IC(integrated circuit)之间的控制,这个总线就称为Inter IC 或I2C总线。

所有符合i2c总线的器件组合了一个片上接口,使器件之间直接通过i2c总线通讯。
这个设计概念解决了很多在设计数字控制电路时遇到的接口问题。

i2c总线的一些特性:

  • 只要求两条总线线路:一条串行数据线(SDA)、一条串行时钟线(SCL);
  • 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机 / 从机关系软件设定地址;主机可以作为主机发送器或主机接收器。
  • 它是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏;
  • 串行的8位双向数据传输位速率在标准模式下可达到100kbit/s,快速模式下可达到400kbit/s,高速模式下可达到3.4Mbit/s。
  • 片上的滤波器可以滤去总线数据上的毛刺波,保证数据完整;
  • 连接到相同总线的IC数量只受到总线的最大电容400pF限制。

i2c的优点:

对设计人员而言:

  • 结构图的功能模块与实际的ic对应;设计快速从结构图向最后的原理图推进;
  • 不需要设计总线接口,因为i2c总线接口已经集成在片上;
  • 集成的寻址和数据传输协议允许系统完全由软件定义;
  • 相同类型的ic经常用于很多不同的应用;
  • 由于设计人员快速熟悉了用兼容i2c总线的ic表示经常使用的功能模块,是设计时间减少;
  • 在系统中增加或删除ic不会影响总线的其他电路;
  • 故障诊断和调试都很简单,故障可被立即寻迹;
  • 通过聚集一个可再使用的软件模块的库减少软件开发的时间;

除了这些优点,符合i2c总线的cmos ic还向设计者在特别吸引的可移植性装置和电池供电系统方面提供了特殊的功能。

  • 极低的电流消耗;
  • 抗高噪声干扰;
  • 电源电压范围宽;
  • 工作的温度范围广;

对厂商而言:

  • 简单的两线串行i2c总线将互联减到最小,因此ic的管脚更少而且PCB的线路也减少。结果使PCB更小和更便宜。
  • 完全完整的i2c总线协议不需要地址译码器和其他“胶合逻辑”。
  • i2c总线的多主机功能允许通过外部连接到生产线快速测试和调整最终用户的设备。
  • 符合i2c总线的ic提供SO(小型)、VSO(超小型)以及DIL封装,甚至减少了IC的空间要求;

这些只是一些益处 另外 兼容 I2C 总线的 IC 通过允许简单地构造设备变量和保持设计是最新的简易升级功能增加了系统设计的灵活性 这样整个装置系列可以围绕一个基本的模型开发 新设备的升级或者功能增强的模型 即 扩展的存储器 远程控制等等 可以简单地通过剪贴相应的 IC 到总线上产生 如果需要更大的 ROM 只需要从我们广泛的 IC 中选择一个有更大 ROM 的微控制器就可以了 。由于新的 IC 要取代旧的 增加新功能到装置或者提升它的性能只要简单地从总线上移去过时的 IC 然后换上它的后续 IC就可以了。

i2c总线的规范

对于面向8位的数字控制应用,譬如那些要求用微控制器的,要建立一些设计标准:

  • 一个完整的系统通常由至少一个微控制器和其他外围器件例如存储器和I/O扩展器组成;
  • 系统中不同器件的连接成本必须最小;
  • 执行控制功能的系统不要求高速的数据传输;
  • 总的效益由选择的器件和互连总线结构的种类决定。

产生一个满足这些标准的系统需要一个串行的总线结构,尽管串行总线没有并行总线的数据吞吐能力,但它们只要很少的配线和IC连接管脚。然后,总线不仅仅是互连的线,还包含系统通讯的所有格式和过程。

串行总线的器件间通讯必须有某种形式的协议避免所有混乱、数据丢失和妨碍信息的可能性。快速器件必须可以和慢速器件通讯。系统必须不能基于所连接的器件,否则不可能进行修改或改进。应当设计一个过程决定哪些器件何时可以控制总线。而且,如果有不同时钟速度的器件连接到总线,必须定义总线的时钟源。所有这些标准都是I2C总线的规范中。

i2c总线的概念

i2c总线支持任何IC生产过程(NMOS、CMOS、双极性)。两性——串行数据(SDA)和串行时钟(SCL)线在连接到总线的器件间传递信息。

每个器件都有一个唯一的地址识别(无论是微控制器、LCD驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。很明显,LCD驱动器只是一个接收器,而存储器则既可以接受又可以发送数据。

除了发送器和接收器外 器件在执行数据传输时也可以被看作是主机或从机 见表 1 主机是初始化总线的数据传输并产生允许传输的时钟信号的器件 此时 任何被寻址的器件都被认为是从机。

最全的一篇文章,介绍i2c总线的概念和特性,一看就会_第1张图片
I2C 总线是一个多主机的总线。这就是说可以连接多于一个能控制总线的器件到总线,由于主机通常是微控制器,让我们考虑以下数据在两个连接到 I2C 总线的微控制器之间传输的情况(见图 2)。

这突出了 I2C 总线的主机——从机和接收器——发送器的关系。应当注意的是:这些关系不是持久的,只由当时数据传输的方向决定。传输数据的过程如下:

1)假设微控制器 A 要发送信息到微控制器 B:
• 微控制器 A(主机) 寻址微控制器 B(从机)
• 微控制器 A (主机——发送器) 发送数据到微控制器 B (从机 —— 接收器)
• 微控制器 A 终止传输
2)如果微控制器 A 想从微控制器 B 接收信息:
• 微控制器 A (主机) 寻址微控制器 B (从机)
• 微控制器 A (主机 —— 接收器) 从微控制器 B(从机—— 发送器) 接收数据
• 微控制器 A 终止传输

甚至在这种情况下,主机 (微控制器 A) 也产生定时而且终止传输。

连接多于一个微控制器到 I2C 总线的可能性意味着超过一个主机可以同时尝试初始化传输数据。为了
避免由此产生混乱,发展出一个仲裁过程。它依靠线与连接所有 I2C 总线接口到 I2C 总线。

如果两个或多个主机尝试发送信息到总线,在其他主机都产生 “0” 的情况下,首先产生一个 1 的
主机将丢失仲裁 。

最全的一篇文章,介绍i2c总线的概念和特性,一看就会_第2张图片
在 I2C 总线上产生时钟信号通常是主机器件的责任;当在总线上传输数据时,每个主机产生自己的时
钟信号。主机发出的总线时钟信号只有在以下的情况才能被改变:慢速的从机器件控制时钟线并延长时钟信号,或者在发生仲裁时被另一个主机改变。

总体特征

SDA 和 SCL 都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压(见图 3)。 当总线空闲时,这两条线路都是高电平。连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。I2C 总线上数据的传输速率在标准模式下可达 100kbit/s,在快速模式下可达 400kbit/s,在高速模式下可达 3.4Mbit/s,连接到总线的接口数量只由总线电容是 400pF 的限制决定 。

材料专业转行,小白蒋学验证,学习记录,2020年9月7日!你的点赞是我最大的动力!

你可能感兴趣的:(芯片验证,ic验证,i2c,ic设计,arm)