最近在调的低功耗产品中,用到了PCA9555这颗IO扩展芯片。调试过程中发现产品功耗比理论值高出100uA左右。经过反复排查,初步定位高功耗由PCA9555这颗料造成的。进一步排查发现,如果将PCA9555的IO上外接的3颗10K下拉电阻去掉,功耗立即恢复正常。因此,可以得出结论:100uA的电流是由于外接了下拉电阻造成的。接下来就是要搞清楚为什么接下拉电阻会有漏电流。
查看PCF9555芯片数据手册,可以发现该芯片的每个IO内部有一个100K的上拉电阻,如下图所示:
该内部的上拉电阻默认存在且不可配置,因此如果外部接下拉电阻的的话,必然会有漏电流。通过计算,3个10K电阻的漏电流刚好是100uA左右。因此,用PCA9555的扩展IO,外部是不能长时间拉低的,在硬件设计时应避免这种情况。