跳转到主要内容

PIC单片机功耗问题的解决

cathy /

最近一周一直在做pic单片机功耗问题。由于项目使用电池供电,所以功耗问题显得非常重要。根据数据手册以及网络上的资料,影响单片机功耗主要由以下几个因素:

1:所有I/O引脚保持为高阻输入高点平或低电平

2:关闭比较器和CVref(可编程偏上参考电压)、WTD、T1OSC、BOR(欠压复位)等

3:PORTB片内弱上拉

4:所有不用的模块全部关闭,在用到时再打开

5:MCLR引脚必须处于逻辑高电平

PIC单片机在执行SLEEP指令后进入睡眠省电模式。进入SLEEP模式后,主振荡停止,如果看门狗在烧写时打开了,看门狗定时器将被清并保持运行。I/O口,周边模块和内部RAM将保持原来状态,所以如果要求睡眠后有很低功耗,应该在进入SLEEP前把IO口置为高阻抗的输入状态,不用的模块也要关闭。另有些周边模块与主时钟有关,如在异步模式下的USART,将不工作。

唤醒SLEEP的条件有很多,如IO口电平变化,AD转换结束,外部复位、看门狗溢出等,具体请参考数据手册。

为何我的处理器功耗大于数据手册给出的值,是因为漏电?

cathy /

为什么我的处理器漏电?这听起来像一个开放式问题。我处理过最常见情况是客户抱怨器件功耗大于数据手册所宣称的值。

记得有一次,客户拿着处理器板走进我的办公室,说它的功耗太大,耗尽了电池电量。由于我们曾骄傲地宣称该处理器属于超低功耗器件,因此举证责任在我们这边。我准备按照惯例,一个一个地切断电路板上不同器件的电源,直至找到真正肇事者,这时我想起不久之前的一个类似案例,那个案例的"元凶"是一个独自挂在供电轨和地之间的LED,没有限流电阻与之为伍。

LED最终失效是因为过流,还是纯粹因为它觉得无聊了,我不能完全肯定,不过这是题外话,我们暂且不谈。从经验出发,我做的第一件事是检查电路板上有无闪闪发光的LED。但遗憾的是,这次没有类似的、昭示问题的希望曙光。另外,我发现处理器是板上的唯一器件,没有其他器件可以让我归咎责任。客户接下来抛出的一条信息让我的心情更加低落:通过实验室测试,他发现功耗和电池寿命处于预期水平,但把系统部署到现场之后,电池电量快速耗尽。此类问题是最难解决的问题,因为这些问题非常难以再现"第一案发现场"。这就给数字世界的问题增加了模拟性的无法预测性和挑战,而数字世界通常只是可预测的、简单的1和0的世界。

物联网智能传感器的噪声与功耗

cathy /

对于那些为物联网应用领域开发智能传感器的人士而言,性能与功耗的关系是最微妙的权衡考虑。在广阔的性能空间中,噪声常常是一个重要的评估因素,因为它能制约智能传感器中关键功能模块的器件选择,进而提高功耗负担。此外,噪声特性在很大程度上决定了滤波要求,而这又会影响传感器对条件快速变化的响应能力,延长产生高质量测量结果所需的时间。

在支持连续观测(采样、处理、通信)的应用中,系统架构师常常不得不解决噪声与功耗相互对立的关系,因为噪声最低的解决方案很少正好也是功耗最低的解决方案(就特定功能类别的器件而言)。例如,MEMS加速度计常常用作远程倾斜测量系统的核心传感器。表1显示了两款不同产品的重要特性,它们提供目前在业界领先的噪声或功耗性能:ADXL355(低噪声)和ADXL362(低功耗)。

功耗