| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> I2C详解(4) I2C总线的规范以及用户手册(3) I2C电气规格和时序 -> 正文阅读 |
|
[嵌入式]I2C详解(4) I2C总线的规范以及用户手册(3) I2C电气规格和时序 |
I2C详解(4) I2C总线的规范以及用户手册(3) I2C电气规格和时序I2C详解(1) 一文快速了解I2C的工作原理 文章目录6. I/O级和总线的电气规格和时序6.1 标准、快速和快速模式+ 设备I/O 电平, I/O 电流,尖峰抑制、输出斜率控制和引脚电容见 Table 10. I2C 总线定时特性、总线线路电容和噪声裕量见 Table 10. Figure 38 展示了 I2C 总线的时序定义。 Table 10.? SDA 和 SCL I/O 级的特性 n/a = not applicable.
[1] 一些传统标准模式器件的固定输入电平为 VIL = 1.5 V 和 VIH = 3.0 V。参考元件的数据手册。 Table 11.? 标准、快速和快速模式+的 I2C 总线器件的 SDA 和 SCL 总线线路特性
[1] tHD;DAT 是从 SCL 的下降沿测量的数据保持时间,适用于传输中的数据和应答。. Figure 38.?I2C总线上F/S模式器件的时序定义 6.2 高速模式设备I2C 总线 Hs 模式器件的 I/O 电平、I/O 电流、尖峰抑制、输出斜率控制和引脚电容如 Table 12所示。 总线上高电平和低电平的噪声裕量与F/S模式 I2C 总线器件的噪声裕量相同。 Figure 39 显示了Hs模式时序的所有时序参数。“正常”START 条件 S 在 Hs 模式下不存在。地址位、R/W 位、确认位和 DATA 位的时序参数都是相同的。只有应答位后第一个SCLH时钟信号的上升沿具有较大的值,因为外部RP 必须在没有内部电流源的帮助下拉起SCLH。 对于每条总线高达 100 pF 的容性负载,时序参数是独立的,允许最大可能的比特率为 3.4 Mbit/s。在总线线路上较高的容性负载下,比特率逐渐降低。400 pF容性总线负载的时序参数在 Table 12中规定,允许的最大比特率为1.7 Mbit/s。对于100 pF至400 pF之间的容性总线负载,时序参数必须线性插值。上升和下降时间与传输线SDAH和SCLH的最大传播时间相同,以防止开路端的反射。 Table 12.? Hs 模式 I2C 总线器件的 SDAH、SCLH、SDA 和 SCL I/O 电平特性
[1] 使用不符合预期 I2C 总线系统电平的非标准电源电压的器件必须将其输入电平与上拉电阻RP 所连接的 VDD 电压相关联。 Table 12.? Hs 模式 I2C 总线器件的 SDAH、SCLH、SDA 和 SCL I/O 电平特性
Table 13.? 用于 Hs 模式 I2C 总线器件的 SDAH、SCLH、SDA 和 SCL 总线线路的特性[1]
[1] 所有值均参考 VIH(min) 和 VIL(max) 电平 (参阅 Table 12).
Figure 39.?I2C总线上 Hs 模式器件的时序定义 6.3 超快速模式设备I/O电平、I/O电流、尖峰抑制、输出斜率控制和引脚电容如 Table 14所示。UFm I2C总线时序特性如 Table 15所示。 Table 14.?USDA 和 USCL I/O 级的特性 n/a = 不适用。
[1] 有关实际开关点的信息,请参阅元件数据手册。 Table 15.?UFm I2C 总线频率和时序规格
[1] tVD;DAT = USDA数据在USCL 低电平之后有效的最短时间。 Figure 40.? I2C 总线上超快速模式器件的时序 7. I2C 总线设备与总线设备的电气连接7.1 上拉电阻规格总线电容是导线、连接和引脚的总电容。由于指定的上升时间,该电容限制了 RP 的最大值。Figure 41 显示了 RP(max) 作为总线电容的函数。 在计算RC时间常数时,考虑 VDD 相关的输入阈值 VIH = 0.7VDD 和 VIL = 0.3VDD。则 V ( t ) = V D D ( 1 ? e ? t / R C ) V_{(t)}=V_{DD}(1-e^{-t/RC}) V(t)?=VDD?(1?e?t/RC) 其中 t 是自充电开始以来的时间,RC 是时间常数。 V ( t 1 ) = 0.3 × V D D = V D D ( 1 ? e ? t 1 / R C ) V_{(t1)}=0.3\times{V_{DD}}=V_{DD}(1-e^{-t1/RC}) V(t1)?=0.3×VDD?=VDD?(1?e?t1/RC) 其中 t 1 = 0.3566749 × R C t_1=0.3566749\times{RC} t1?=0.3566749×RC V ( t 2 ) = 0.7 × V D D = V D D ( 1 ? e ? t 2 / R C ) V_{(t2)}=0.7\times{V_{DD}}=V_{DD}(1-e^{-t2/RC}) V(t2)?=0.7×VDD?=VDD?(1?e?t2/RC) 其中 t 2 = 1.2039729 × R C t_2=1.2039729\times{RC} t2?=1.2039729×RC T = t 2 ? t 1 = 0.8473 × R C T=t_2-t_1=0.8473\times{RC} T=t2??t1?=0.8473×RC Figure 41 和 Equation 1 显示了最大 RP 作为标准、快速和快速模式Plus的总线电容的函数。 对于每种模式, RP(max) 是Table 10 上升时间最大值 (tr)和估计总线电容 (Cb) 的函数: R p ( m a x ) = t r 0.8473 × C b R_{p(max)}=\frac{t_r}{0.8473\times{C_b}} Rp(max)?=0.8473×Cb?tr?? 公式1
Figure 41.?RP(max) 作为总线电容的函数
Figure 42.?RP(min) 作为VDD的函数 电源电压限制了电阻RP的最小值,因为标准模式和快速模式的最小灌电流为3 mA,快速模式Plus的最小灌电流为20 mA。RP(min) 作为 VDD 的函数如 Figure 42所示。迹线使用 Equation 2 计算: R p ( m i n ) = V D D ? V O L ( m a x ) I O L R_{p(min)}=\frac{V_{DD}-V_{OL(max)}}{I_{OL}} Rp(min)?=IOL?VDD??VOL(max)?? 公式2 设计器现在具有满足时序规范所需的最小和最大 RP 值。对电源电流消耗敏感的便携式设计可以使用一个接近该范围较高端的值来限制 IDD. 7.2 工作在最大允许总线电容以上的情况总线电容限值的指定是为了限制上升时间的减少,并允许在额定频率下工作。虽然大多数设计可以很容易地保持在这个限制之内,但有些应用可能会超过这个限制。系统设计人员可以使用多种策略来应对过多的总线电容。 ? 低速 fSCL (Section 7.2.1): 总线可以以较低的速度运行(较低的 fSCL)。 ? 更高的驱动输出 (Section 7.2.2):可以使用具有较高驱动电流的设备,例如快速模式+ 额定值的设备(PCA96xx)。 ? 总线缓冲器 (Section 7.2.3): 有许多总线缓冲器设备可以将总线划分为多个段,以便每个段的电容低于允许的限值,例如 PCA9517 总线缓冲器或 PCA9546A 开关。 ? 开关上拉电路 (Section 7.2.4) 开关上拉电路可用于加速上升沿,必要时交替切换低阻值上拉电路。 7.2.1 低速 fSCL要确定较低的允许总线工作频率,首先查找总线上限制最大器件的 tLOW 和 tHIGH 有关这些值,请参阅各个元件的数据手册。实际上升时间 (tr) 取决于 RC 时间常数。最大限幅下降时间 (tf) 取决于总线上的最低输出驱动。请务必允许任何具有最小 tr 或 tf 的设备。参考Equation 3 来计算 fmax。 f m a x = 1 t L O W ( m i n ) + t H I G H ( m i n ) + t r ( a c t u a l ) + t f ( a c t u a l ) f_{max}=\frac{1}{t_{LOW(min)}+t_{HIGH(min)}+t_{r(actual)}+t_{f(actual)}} fmax?=tLOW(min)?+tHIGH(min)?+tr(actual)?+tf(actual)?1? 公式3 备注:非常长的总线长度也必须考虑信号的传输时间。 实际结果较慢,因为实际部件不倾向于将 tLOW 和 tHIGH 控制在 30 % 到 70 %,或者 70 % 到 30 %。 7.2.1 更高的驱动输出如果使用PCA96xx快速模式+或P82B总线缓冲器等更高驱动器件,则强度较高的输出驱动器会吸收更多电流,从而产生相当快的边沿速率,或者从另一个角度来看,允许更高的总线电容。有关实际输出驱动能力,请参阅各个组件数据手册。使用 Cb, RP, tr 和 tf 的新值重复上述计算,以确定最大频率。请记住,Table 10 中指定的 fSCL 的最大额定值(100 kHz、400 kHz 和 1000 kHz)可能会受到限制。 7.2.3 总线缓冲器、多路复用器和开关应对过大总线电容的另一种方法是使用总线缓冲器、多路复用器或开关将总线分成更小的段。 Figure 43 显示了一个使用PCA9515缓冲器来处理高总线电容的总线示例。然后允许每个段具有最大电容,因此总总线可以具有两倍的最大电容。请记住,添加缓冲器总是会增加延迟 — 缓冲器延迟加上每个边沿的额外转换时间,这会降低最大工作频率,还可能引入特殊的 VIL 和 VOL 注意事项。 有关此主题以及恩智浦半导体提供的器件的更多详细信息,请参阅应用笔记 AN255, I2C / SMBus Repeaters, Hubs and Expanders 和 AN262, PCA954x Family of I2C / SMBus Multiplexers and Switches。
7.2.4 开关上拉电路电源电压 (VDD) 和最大输出低电平决定了上拉电阻 RP (参阅 Section 7.1)。例如,当电源电压 VDD = 5 V ± 10 % 且 3 mA工作电流 VOL(max) = 0.4 V 时, RP(min) = (5.5 - 0.4) / 0.003 = 1.7 kΩ。如 Figure 42 所示,RP 值将最大总线电容限制在约 200 pF,以满足300 ns的最大tr 要求。如果总线电容大约此值,则可以使用开关上拉电路(如 Figure 44 所示)。
Figure 44 中的开关上拉电路适用于 VDD = 5 V ± 10 % 的电源电压和400 pF的最大容性负载。由于它由总线电平控制,因此不需要额外的开关控制信号。在上升沿/下降沿期间,HCT4066 中的双边开关在 0.8 V 至 2.0 V 的总线电平下切换上拉电阻 RP2 开关。组合电阻RP1和 RP2 可在 300 ns 的最大指定上升时间 (tr) 内拉起总线线路。 串联电阻 RS 是可选的。它们可保护 I2C 总线器件的 I/O 级免受总线线路上高压尖峰的影响,并最大限度地减少总线线路信号的串扰和下冲。 RS 的最大值由总线线路切换到低电平以关闭 RP2时该电阻上允许的最大压降决定。 此外,一些总线缓冲器包含积分上升时间加速器。还提供独立的上升时间加速器。 7.3 串联保护电阻器如图 Figure 45所示,例如,300 Ω的串联电阻( RS) 可用于防止SDA和SCL线路上的高压尖峰 (例如,由电视显像管引起的闪烁)。 如果使用串联电阻,设计人员必须在计算 RP 和允许总线电容时添加额外的电阻。
低电平所需的噪声裕量为 0.1VDD ,限制了 RS的最大值, RS(max) 作为 RP 的函数如 Figure 46所示。请注意,串联电阻会影响输出下降时间。 Figure 46.? RS 最大值作为以电源电压为参数的 RP 值的函数 7.4 输入泄漏每个输入/输出连接的最大高电平输入电流指定最大值为 10 μA。由于高电平所需的噪声裕量为 0.2VDD ,该输入电流限制了 RP的最大值。此限制取决于 VDD。总高电平输入电流如Figure 47所示为RP(max) 的函数。
7.5 总线线路的布线模式通常,必须选择布线,以便最大限度地减少总线之间的串扰和干扰。总线线路在高电平上最容易受到串扰和干扰的影响,因为上拉器件的阻抗相对较高。 如果 PCB 或带状电缆上的总线线长度超过 10 cm,并且包括 VDD 和 VSS 线,则接线模式应为: SDA______________________________________ 如果只包括 VSS 线,则接线模式应为: SDA______________________________________ 这些接线模式还导致SDA和SCL线路具有相同的容性负载。如果使用具有 VSS 和/或 VDD 层的PCB,则可以省略VSS 和 VDD 线。 如果总线线路是双绞线,则每条总线线路都必须使用 VSS 回路进行双绞线。或者, SCL 线可以使用 VSS 回路进行扭曲,SDA 线可以通过 VDD 回路进行扭曲。在后一种情况下,必须使用电容器将 VDD 线与双绞线两端的 VSS 线去耦。 如果总线线路被屏蔽 (屏蔽连接到 VSS) 则干扰最小化。但是,屏蔽电缆必须在 SDA 和 SCL 线路之间具有低电容耦合,以最大限度地减少串扰。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:34:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |