首页 » 科学 » 若何运用内部集成电路 (I2C) 该总线_总线_暗记

若何运用内部集成电路 (I2C) 该总线_总线_暗记

少女玫瑰心 2024-12-27 09:58:38 0

扫一扫用手机浏览

文章目录 [+]

这是由于空间不足用,无法知足所有这些 PC板走线。
办理办法是利用内部集成电路 (I2C) 总线等串行通信总线来链接 IC。
这种双线串行总线可用于办理该问题。

本文将先容 I2C 总线的起源,及其如何在 IC 之间供应有效的串行链路。
然后,本文将谈论 I2C总线的物理实现办法、协议构造,以及这种无处不在的通信总线的常见运用。
个中将利用 Microchip Technology 的 I2C接口和解决方案示例进行演示。
此外,本文还将谈论 I2C 与系统管理总线 (SMBus) 的异同。

若何运用内部集成电路 (I2C) 该总线_总线_暗记 若何运用内部集成电路 (I2C) 该总线_总线_暗记 科学

什么是 I2C 总线?

在 1980 年代早期,I2C 总线由 Phillips Semiconductors(现为 NXP Semiconductors)开拓。
这是一种大略的双向双线总线,可在一块共用 PC 板上实现集成电路的有效通信和掌握。
最早的总线规格于 1992年完成,随后即成为行业公认标准,并且 50 多家 IC 制造商的元器件中都供应该标准。
这种大规模的支配许可采取一种系统方法进行设计,可以轻松地将 IC 纳入I2C 总线构造中,而无需进行定制设计。
其他几种专用总线(例如 SMBus 和电源管理总线 (PMBus))以及其余一些总线均采取该基本架构。

若何运用内部集成电路 (I2C) 该总线_总线_暗记 若何运用内部集成电路 (I2C) 该总线_总线_暗记 科学
(图片来自网络侵删)

I2C 总线是一种可寻址总线,因此可以链接多个 IC 和传感器;7 位或 10 位地址字段许可主控器件向选定器件发送。
最初,I2C 的最大时钟速率为100 千赫兹 (kHz),但是经由多年的发展,更高速的事情模式已将这一限定推高至 3.4 兆赫兹 (MHz)。

I2C 总线利用两条线,即指定为串行数据线路 (SDA) 和串行时钟线路 (SCL)。
SDA 和 SCL是开漏/集电极双向线路,并通过电流源或上拉电阻连接到正电源总线。
该总线可以连接多个器件,最大数量受总线电容限定。
主控器件掌握着总线,总线上的每个器件都有唯一的地址。
主控器件可以通过总线收发数据(图 1)。
I2C 支持多主控操作,其冲突检测和仲裁功能可防止两个或更多主控器件同时启动数据传输。
不过,本文将重点先容单主控配置。

图 1 显示了 Microchip Technology 的 PKSERIAL-I2C1 I2C 演示板事理图。
该演示板利用五种不同的器件来实现 I2C总线,包括 EEPROM温度传感器、12 位模数转换器ADC)、10 位数模转换器DAC) 和 8位串行转并行转换器
主控器件不在板上,而是通过连接器 P1 连接。
SDA 和 SCL 总线线路以绿色框出,上拉电阻器以蓝色圈出。

SDA 和 SCL 电平一样平常为正电源电压的固定百分比,常日表示为 VDD。
对付逻辑“1”(高)和逻辑“0”(低),参考电平分别设置为 VDD 的 70%和 30%。

时钟旗子暗记以猝发模式涌现,每个传输的数据位利用一个时钟。
时钟处于高电平时,SDA 线路上的数据必须有效。
只有在时钟处于低电平时,才能变动数据。

从设计职员的角度来看,由于 I2C 接口已集成到 IC 中而无需设计接口,因此新项目得以简化。
每个器件只需直接连接到总线。
在总线上可以添加或移除IC,而不会影响其他电路(假设 IC 的总数不会超越电容极限)。
大略的双线总线可最大程度地减少每个 IC 上的引脚数和印刷电路板上的走线数。

I2C 协议

该总线为 8 位导向协议,以字节为单位进行通信。
如上所述,在现在所谓的标准模式中,最初的最大时钟速率为 100 kHz。
如今,总线在快速模式下支持 400千比特/秒 (Kb/s),在快速增强模式下支持高达 1 兆比特/秒 (Mb/s),在高速模式 (Hs-Mode) 下支持高达 3.4 Mb/s。

通过图示总线上的范例传输,可以很好地解释 I2C 协议(图 2)。
屏幕图像的来源是 Teledyne LeCroy的示波器,其包含低速串行数据触发器和解码选件 WS4KHD-EMB TD。
该示波器选件可以触发和解码多达 19 个低速串行数据接口,个中就包括 I2C。

该示波器可以在特定的串行事宜触发,包括起始、停滞、丢失应答 (ACK)、地址、数据、地址加数据、帧长和 EEPROM数据传输。
串行数据标准的协议组件由带色码的叠加层标识。
每个协议字段都以二进制、十六进制或 ASCII 解码,并且所选代码显示在叠加层内。

SDA 旗子暗记显示为黄色迹线,而 SCL旗子暗记显示为赤色迹线。
灰色的叠加框指示起始和停滞功能。
砖赤色叠加层标记地址数据,蓝色字段为数据包数据,橄榄色叠加框标记 ACK 功能。

顶部迹线显示了从起始到停滞的全体 I2C SDA 数据包。
紧靠下方是相应的 SCL 旗子暗记。
再向下第三条迹线是 SDA 旗子暗记的韶光扩展缩放迹线,其下方是同步SCL 旗子暗记。

在数据传输之间总线空闲时,SDA 和 SCL 线均处于高电平状态。
SCL 旗子暗记包括以时钟速率发出的九个猝发脉冲,每个传输的数据位利用一个,还有一个用于ACK 位。

所有总线事务都由一个主控器件天生的起始位开始,该位在缩放的 SDA 轨迹中显示为灰色叠加框。
主控器件在 SCL 线处于高电平状态时将 SDA线拉低,即表示起始旗子暗记。
一旦主控器件发出起始位后,总线就即视为处于繁忙状态。
主控器件可以发出多次起始旗子暗记,这种情形下的后续起始旗子暗记常日称为重新起始。

所有数据传输的长度均为 8 位(一个字节),每个后跟一个 ACK 位。
位传输顺序是先传输最高有效位(MSB)。
每个字节传输必须得到应答。
如果从器件处于繁忙状态,而无法吸收或发送数据,则可以将 SCL 线拉低。
这将迫使主空器件进入等待状态,直到从器件开释SCL 线。

当发送器件在第九个应答时钟脉冲之前开释 SDA 线后,即会形成 ACK 位。
如果吸收器件已吸收到数据字节,则会将 SDA 线拉低。
在图 2 的 SDA放大视图中,紧靠第九个时钟脉冲之前有一个窄峰,这表示 SDA 线经开释返回到高电平状态。
吸收器件拉低 SDA 线以产生 ACK旗子暗记,该旗子暗记由橄榄色叠加框作为符号标记。
如果吸收器件未在第九个时钟脉冲之前将 SDA 线拉低,则是一个非应答 (NACK) 相应。
如果发生NACK,则主控器件可以天生停滞旗子暗记并中止传输,也可以发出重复起始旗子暗记以重试。

在起始条件之后,即会发出从器件地址。
这由砖赤色叠加框表示。
地址格式可能有两种:7 位或 10 位,个中最常见的是 7 位地址。
起始后的前 7位代表地址数据。
第 8 位指示数据方向:读或写。
SDA 线处于低电平表示写入,而此时 SDA 线处于高电平,表示读取操作。
10位寻址利用起始条件后的前两个字节。
I2C 为内部功能保留了多个地址。
解码地址数据以二进制、十六进制或 ASCII 格式显示在地址叠加框中。

蓝色的叠加字段标记数据传输。
每个为八位长,后跟一个 ACK/NACK 相应。
I2C 数据包中的数据字节数不受限定,但是图 2 包含 17个字节。
解码后的数据(例如地址解码)显示在数据叠加框中。
数据流之后是在数据传输结束时主控器件天生的一个停滞位,由顶部数据迹线中的灰色叠加框表示。
当 SCL线处于高电平状态时,该停滞位是 SDA 线从低到高的跳变。
在发出停滞旗子暗记后,总线再次空闲。

显示屏底部的表格汇总了有关数据包的所有信息,包括自触发以来的韶光、地址长度、地址,读或写操作、数据包长度,以及数据内容的择要。
该表中的条款数与示波器获取的I2C 数据包数相匹配,后者在本例中仅为一行。

如果发生协议缺点,则由协议叠加框后面的亮赤色框表示。

I2C 器件

I2C 总线的最大上风之一是,有大量的器件已将该总线纳入自己的设计中。
Microchip Technologies 演示板供应了一些 IC类型的示例,这些 IC 包含 I2C 总线或其衍生品之一,如 SMBus。

Microchip Technology 的 PIC16F677 是一款 8位微掌握器,其在许多嵌入式设计中均有采取。
产品履行了一个同步串口,经由适当掌握后,可通过串行外设接口 (SPI) 或 I2C 与其他掌握器或外设进行通信(图3)。

这款微掌握器支持利用 7 位或 10 位寻址的 I2C 主模式和从模式。
该器件将 SCK/SCL 引脚用于 I2C SCL 时钟旗子暗记,将 SDI/SDA引脚用于数据旗子暗记。

这两个引脚连接到 I2C 总线上的 SCL 和 SDA 线,以实现与其他器件的通信。
常见的连接是连接至基于 I2C 的传感器,例如 Microchip Technology 的 TCN75AVOA713 双线串行温度传感器(图 4)。

此温度传感器能够进行串行通信,因此功能方面得以增强。
内置的用户可编程寄存器可用于设置温度丈量分辨率、节能关机模式,乃至可设置警报输出,以在温度范围超出预设限值时发出提醒。

此外,还有许多器件可以解码 I2C 串行数据流并将其分解为并行数据。
这里先容一下 Microchip Technology 的 MIC74YQS-TR双线 I/O 扩展器和风扇掌握器(图 5)。

该 IC 是完备可编程的 I/O 扩展器,供应八根独立的 I/O 线。
这些 I/O 线可以单独编程为输入或输出。
图 5 显示了 MIC74YQS-TR在串行总线的掌握下驱动八个 LED。
这与图 1 中 I2C 演示板上 MCO23008 的用法相似。
MIC74YQS-TR与电源稳压器结合利用,也可以利用其四个最高有效位来实现风扇电机的速率掌握。

SMBus 和 I2C

I/O 扩展器的串行输入是专为 SMBus 设计,但也与 I2C 总线兼容。
SMBus 规格基于 I2C,由 Intel 和 Duracell 于1994 年定义。
紧张差异在于标准模式 I2C 逻辑电平相对付 VDD 变革,而 SMBus 的逻辑电平则是固定不变。
在大多数情形下,当 VDD 介于 3 伏和5 伏之间时,履历表明这不是问题。

另一个差异是 SMBus 的时钟速率限定为 100 kHz 或更低,而 I2C 有几种模式支持更高的时钟速率。
当涉及总线兼容性时,这会将最大时钟速率限定为100 kHz 或 I2C 标准时钟模式。

因此,除了非常分外的情形外,SMBus 和 I2C 都是兼容的。

总结

I2C 总线及其衍生品广泛运用于各种类型的数百种IC,从而使它们在多层面设计和运用中易于连接。
稠浊旗子暗记和仿照传感器经由耦合后,即可扩展基于微掌握器的嵌入式系统范围。
所有这些都通过一个大略的双线串行数字接口实现。

声明:本文内容及配图仅代表作者本人态度。
文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。

标签:

相关文章

小米会员IT,智能生活的便捷守护者

随着科技的飞速发展,智能家居已经逐渐走进千家万户。小米公司作为智能家居领域的领军企业,凭借其强大的研发实力和卓越的产品品质,赢得了...

科学 2024-12-29 阅读0 评论0

山东IT大厂崛起,数字经济时代的新引擎

随着信息技术的飞速发展,我国数字经济蓬勃发展,已成为推动经济增长的重要引擎。山东作为我国东部沿海的重要省份,近年来IT产业蓬勃发展...

科学 2024-12-29 阅读0 评论0

7个常见的mcu功能异常情况总结_芯片_原由

针对类似严重非常情形的缘故原由我在这里大致总结下,与大家分享。1、时钟问题。一样平常表现在时钟配置非常,比方配置超出芯片主频事情范...

科学 2024-12-29 阅读0 评论0