Abhinay Patil
在我之前的文章中,我谈到了设备消耗太少的功率——是的,有这样的事情——给我带来了麻烦。但这种情况很少见。我处理的更常见的情况是客户抱怨零件消耗的功率超过他们的数据手册要求。
我记得有一个例子,当一位客户带着他的处理器板走进我的办公室时,他说他消耗了太多的电量并耗尽了电池电量 - 由于我们自豪地声称该处理器是超低功耗处理器,因此我们有责任证明这一点。当我准备进行通常的磨练,一个接一个地切断板上不同设备的电源,直到找到真正的罪犯时,我想起了不久前的一个类似案例,我发现罪魁祸首是一个 LED 独自悬挂在电源轨和接地之间,没有公司限流电阻器。我不能确定是过流还是纯粹的无聊最终杀死了 LED,但我跑题了。从那次经历来看,我做的第一件事就是在板上的某个地方寻找一个燃烧明亮的 LED。然而,这一次没有这样的希望。此外,事实证明处理器是板上唯一的设备,因此,我没有其他设备可以尝试将责任归咎于此。当客户漏出另一条信息时,我的心进一步沉了下去:当他在实验室进行测试时,他发现功耗和电池寿命处于预期水平,但是当系统部署在现场时,电池很快就会耗尽。这些是最难调试的问题,因为它们首先很难重现。这为数字世界问题增加了一种模拟的不可预测性和挑战,而数字世界问题通常存在于可预测和舒适的1和0世界中。
在最简单的层面上,处理器消耗功率有两个主要领域:内核和 I/O。在控制内核功耗方面,我会考虑PLL配置/时钟速度、内核电源轨以及内核繁忙的计算活动量等因素。有一些方法可以最大限度地降低内核功耗,例如,降低内核时钟速度或执行某些指令,迫使内核停止或进入睡眠/休眠状态。如果我怀疑是I/O占用了所有电力,我会注意I/O电源、I/O切换的频率以及它们驱动的负载。
这是我唯一可以探索的两条途径。事实证明,在核心方面,我没有什么可以真正怀疑的。它必须与 I/O 有关。此时,客户透露他使用处理器纯粹是为了计算功能,并且 I/O 活动非常少。事实上,他没有使用设备上大多数可用的 I/O 接口。
“等等!您没有使用某些 I/O。你的意思是那些 I/O 引脚未使用。你是如何将它们联系起来的?
“当然,我没有在任何地方连接它们!”
“啊哈!”
那是我的尤里卡时刻。虽然我没有尖叫着跑到街上,但我确实花了一点时间让它沉入其中,然后才坐下来解释。
典型的CMOS数字输入如下所示:
图1.典型的CMOS输入电路(左)和CMOS电平逻辑(右)。
当该输入以推荐的高电平(1)或低电平(0)驱动时,PMOS和NMOS FET一次导通一个,但绝不会同时导通。输入驱动电压中存在一个称为阈值区域的不确定区域,PMOS和NMOS可以同时部分导通,从而在电源轨和接地之间形成泄漏路径。当输入保持浮动并拾取杂散噪声时,可能会发生这种情况。这既解释了客户电路板上的高功耗,也解释了为什么它是随机发生的。
图2.PMOS和NMOS都部分开启,在电源和接地之间形成泄漏路径。
在某些情况下,这可能会导致类似闩锁的情况,即设备继续消耗过多的电流并烧坏。有人可能会说这是一个更容易识别和调试的问题,因为你面前有一把冒烟的枪。我的客户报告的问题更难处理,因为当您在实验室的凉爽范围内进行测试时,它不会引发很大的危险信号,但当它在现场时会引起很多悲伤。
现在我们知道了问题的根本原因,显而易见的解决方案是将所有未使用的输入驱动到有效的逻辑电平(高或低)。但是,您需要注意细则中的某些内容。让我们再看一些处理不当的CMOS输入可能会给您带来麻烦的场景。我们需要扩大范围,不仅包括完全开放/浮动的输入,还包括那些似乎与适当的逻辑水平相关的输入。
如果选择简单地通过电阻将引脚连接到电源轨或接地,请注意您使用的上拉或下拉电阻的大小。这与引脚的源/灌电流相结合,可能会将引脚看到的实际电压电平移动到不希望的水平。换句话说,您需要确保上拉或下拉足够强。
如果选择主动驱动引脚,则应始终确保驱动强度足以满足手头的CMOS负载。否则,电路周围的噪声可能足够强,足以覆盖驱动信号并迫使引脚进入不需要的状态。
让我们研究几个场景:
在实验室中工作正常的处理器可能会在现场无缘无故地开始重新启动,因为噪声耦合到没有足够强上拉的RESET线路中。
您可以想象,如果CMOS输入属于控制高功率MOSFET/IGBT的栅极驱动器,则可能会在不应该打开时无意中打开!确实是严峻的消息。
图4.噪声覆盖弱驱动CMOS输入栅极驱动器,导致高压总线短路。
另一个相关但不那么明显的问题场景是当驱动信号的上升/下降时间非常慢时。在这种情况下,输入可以在有限的时间内停留在中间电压电平上,这可能会导致各种麻烦。
图5.CMOS输入端的缓慢上升和下降时间在过渡期间造成瞬时短路。
既然我们已经研究了一般适用于CMOS输入的一些潜在问题,那么值得注意的是,一些器件在设计上处理这些问题方面比其他器件更好。例如,具有施密特触发器输入的器件本质上更擅长处理噪声或边沿较慢的信号。
我们的一些最新一代处理器也注意到了这一点,并在设计中采取了特殊的预防措施或明确的指导方针,以确保一切顺利进行。例如,ADSP-SC58x/ADSP-2158x数据手册清楚地突出显示了具有内部端接或其他逻辑电路的引脚,以确保引脚永不浮动。
图6.ADSP-SC58x/ADSP-2158x数据手册快速参考。
最后,正如他们常说的那样,最好将所有松散的末端捆绑起来,尤其是CMOS数字输入。
图3.通过弱上拉耦合到RESET引脚的噪声会导致处理器重新启动。
审核编辑:郭婷
-
电源
+关注
关注
184文章
17504浏览量
249286 -
处理器
+关注
关注
68文章
19135浏览量
228921 -
led
+关注
关注
240文章
23100浏览量
657677
发布评论请先 登录
相关推荐
评论