在电池供电低功耗场景下,对处理器功耗是否敏感。在低功耗产品中开发中发现过处理器功耗比数据手册中功耗大,处理器功耗主要有两方面:内核和IO。内核功耗主要和PLL配置/时钟速度、内核供电轨、内核的运算量。通过降低内核时钟速度或执行某些指令迫使内核停止运行或进入睡眠/休眠状态可以降低功耗。
未使用IO处理不当会引起处理器“漏电”,使处理器功耗增加。典型CMOS数字输入类似下图:
当以推荐的高(1)或低(0)电平驱动该输入时,PMOS和NMOS FET一次导通一个,绝不会同时导通 。输入驱动电压有一个不确定区,称为“阈值区域”,其中PMOS和NMOS可能同时部分导通,从而在供电轨和地之间产生一个泄露路径。
当输入浮空并遇到杂散噪声时,可能会发生这种情况,且该功耗是随机的,更为糟糕的情况会导致芯片烧坏,因为VDD对地有直通路径,电流过大会导致芯片烧坏。这种情况和工作环境有比较大的关系,通常实验室环境相对比较干净,不太容易出现这种现象。
上述问题原因知道后解决办法就比较明显了,将未使用的IO驱动至有效逻辑电平(高或低)。 这里面若通过上拉/下拉电阻实现,则需要考虑驱动能力,否则芯片端口的电压可能不是
期望的电平。例如以下几种情况:
在实验室正常工作的处理器,在现场可能莫名重启,因为噪声耦合到没有足够强上拉电阻(弱上拉)的RESET(复位)线上。
为啥弱上拉抗干扰的能力会变差,图下图所示,VCC为处理器电源,Vn为干扰信号,R1为上拉电阻,R2为干扰耦合到IO口的等效电阻,Vin为IO输入电压。
具体推导如下:
想象CMOS输入属于一个栅极驱动器的情况,该栅极驱动器控制一个高功率MOSFET/IGBT,后者在应当断开的时候意外导通!