这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 换个思路使用I²C总线,功率节约75%

共3条 1/1 1 跳转至

换个思路使用I²C总线,功率节约75%

高工
2024-08-12 14:40:50     打赏

流行的I2C通信标准,只需要一条非常简单的双引脚总线(SCL和SDA),即可实现灵活的串行I/O。它通过双向时序和数据流来实现这一功能。其中,双向数据流有利于节省引脚,但由于使用了无源上拉电阻,因此在省电方面并不理想。总线上拉电阻必须选得足够低(从而能通过足够的电流),以便在所选数据速率所决定的速度下对寄生总线电容充电。

图1举例说明了这种不便的计算方法:

image.png图1:I2C总线速度与最大有效上拉电阻成反比(来源:德州仪器)

无源“上拉”过程中消耗的V/R电流和V2/R功率取决于总线电容、上拉电压和占空比;如图1所示,对于快速模式400kHz、V=5V和Cb=400pF,消耗的电流可能高达5V/1k=5mA和52/1k=25mW。这很容易就会占到整个系统功耗的很大一部分,不仅对电池不利,也不利于“绿色”和“可持续性”发展的需要。

那么,如何节省一些多余的电流和功率呢?

图2显示了一种方法:有源上拉,其值是根据图1所示高速(400kHz)和高电容(400pF)的最差情况组合而选择的。

image.png

图2:再生有源上拉电路(所需的两个电路之一),其值是根据图1所示的最坏情况组合选择的

这种简单的电路拓扑结构,虽然宣称其目的是节省上拉功率,但其起点并不高:只是一个无源上拉电阻R1。

整个电路的工作原理如图3所示:

image.png

图3:图像内标记的是有源上拉波形和4步序列

有源上拉过程分为四个步骤:

  1. 释放相关总线信号线(即SCL或SDA)可使R1开始无源上拉并开始为总线电容充电。由此产生的电压上升很慢,因为R1比图1中计算所需的1k大4倍多。显然,它永远不会很快完成上升时间!
  2. 但请稍等:由此产生的信号正通过C1耦合到Q2的基极。因此,在过程的第2步,Q2导通,Q1也随之导通,并启动一个非常快速的正反馈回路,该回路驱动两个晶体管进入饱和状态,并在数十纳秒内完成总线电容充电,消除R1上的压降并结束其功率消耗。
  3. 22pF C1的时间常数非常短,它作用于Q2的基极阻抗,使C1放电并终止对晶体管的驱动,从而使它们开始关断并结束有源上拉。这为Q1和Q2提供了从饱和状态恢复的时间。
  4. 下拉开始总线活动的下一个周期并通过D1对C1重新充电,这也可以保护Q2有限的(仅4.5V)最大反向Vbe额定值。

因此,我们关于节省上拉功率有了一个圆满的结局,节省了大约75%的功率,而且无需进行任何软件修改。





关键词: I2C     总线     使用    

院士
2024-08-12 18:09:00     打赏
2楼

学习了,谢谢分享。


专家
2024-08-14 11:01:48     打赏
3楼

学习了,很容易理解,看得懂,谢谢分享!


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]