记住有一次,客户拿着处理器板走进我的办公室,说它的功耗太大,耗尽了电池电量。由于咱们曾骄傲地声称该处理器归于超低功耗器材,因而举证职责在咱们这边。我预备依照常规,一个一个地堵截电路板上不同器材的电源,直至找到真实肇事者,这时我想起不久之前的一个相似事例,那个事例的“首恶”是一个单独挂在供电轨和地之间的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(复位)线中。
图3.噪声耦合到带弱上拉电阻的RESET)引脚中,或许引起处理器重启
2.幻想CMOS输入归于一个栅极驱动器的状况,该栅极驱动器操控一个高功率MOSFET/IGBT,后者在应当断开的时分意外导通!几乎糟糕透了。
图4.噪声过驱一个弱驱动的CMOS输入栅极驱动器,引起高压总线短路
另一种相关但不那么显着的问题景象是当驱动信号的上升/下降十分慢时。这种状况下,输入或许会在中心电平逗留必定的时刻,从而引起各种问题。
图5.CMOS输入的上升/下降很慢,导致过渡期间暂时短路
咱们已经在一般意义上评论了CMOS输入或许发生的一些问题,值得留意的是,就规划而言,有些器材比其他器材更拿手处理这些问题。例如,选用施密特触发器输入的器材可以更好地处理具有高噪声或慢边缘的信号。
咱们的一些最新处理器也留意到这种问题,并在规划中采取了特别预防措施,或发布了清晰的攻略,以保证运转顺畅。例如,ADSP-SC58x/ADSP-2158x数据手册清楚说明晰有些管脚具有内部端接电阻或其他逻辑电路以保证这些管脚不会浮空。
最终,正如我们常说的,正确完结一切收尾作业很重要,尤其是CMOS数字输入。