wsn项目快到尾声了,网络通信基本已经调试差不多了,从上周末几天一直在调试Sensor和Repeater的功耗。
板子看起来很简单,主要芯片就两个,msp430和nrf905。理想状况,msp430处于LPM3状态,功耗应该不到1uA,nRF905处于powerdown模式,晶振16M的话功耗不到3uA,所以板子功耗应该4uA左右。
记得刚开始测得时候,msp430LPM3,nRF905Down了,电流1.2mA。。我靠,我的心凉了半截。
经过将近两天的调试,软硬件的修改,现在的电流是6uA,正常,因为为了用AD测量电源电压,电阻分压,这中间不可避免消耗1,2uA。
1.2mA到6uA的变化主要有以下的失误:
1.由于msp430的IO口没有高阻状态,作为输出口,外部的上拉电阻一定要注意,想想电压3.3v,如果上拉电阻是10k,那么电流可能是几百uA,在一般开发中可能不注意,可是在这个最低功耗只有6uA的板子里面,这可是不能接受的一个开销。(如果作为输出口,为了稳定电路一般都会上拉,如何用其他方式取代这个上拉电阻,是个问题,请高手指教)
2.msp430的datasheet中也有提及到,对于没有使用的io口,最好设为输出,输出值不用在意,设置PXREN,也就是msp430内部的上下拉电阻,这样可以阻止悬浮电流,我的板子这样做可以减少9uA的电流,不要小看这哦,记住我们的有用消耗只有6uA
3.msp430的外围设备,一般只要保证msp430进入了LPM3了,大部分外围设备是不工作的。我这次用到特殊的需要注意的有ADC和SPI
ADC是会在不适用的时候自动关闭,转换的时候自动打开的。但是。。但是一定注意如果你打开了REFON,那么你要注意了,这个精准源是要消耗功率的,180uA左右的电流。
SPI的问题我现在还没有想的很明白,只是试验出来的一个结果,也就是UCSWRST位是否设置也是会有额外消耗的,为什么呢,我还没像太明白,同样的接口,uart就不存在这样的问题。。我现在的理解是只要UCSWRST打开了因为我是spi的master所以我的时钟发生源开始工作了,可能是这里导致功耗了吧。
4.nRF905,只要powerup管脚关好了基本就行了,唯一注意的可能就是nRF905一个外部输出clk,如果这个clk被什么用到了,要注意设置了,他可能也是个祸害,呵呵
列出一些功耗情况:如果你的板子多出些功耗,想想是不是这个问题
nRF905(16M晶振,没有外部输出clk) powerdown模式 2.5uA
standby模式 20多个uA
Rx@433M 12.2mA
Tx@10dBm 30mA
ADC的基准源电流200uA左右
3.3v,10k上拉电阻,如果输入电流可能是300uA
调试小经验:
6uA的消耗,所以经常我把电源拔了,在插上时发现就像没拔过电源一样,是的有些电容的存电量足够板子用会了。。不要错以为是不是板子电源接口出问题了,要么断电多等会,要么那个导线把电源和地短路一下放电。
阅读(4367) | 评论(0) | 转发(0) |