首先感谢guzhuli大师,在各个领域给我们坛友很多精辟的讲解!
现在小弟有个小问题,我现在用Silan的单片机,睡眠单设置Open-drain输出,发现电流有点大.我也把这个问题向MCU厂家咨询,但得到的回得是"估计是......"
现在小弟把这问题贴一下出来,请大师和坛友帮分析分析:
无标题.jpg (314.29 KB, 下载次数: 0)
下载附件
2014-3-17 15:39 上传
我们有个项目部份原理图设置如下,程序设置P0.5/P0.3为OPEN-DRAIN输出,正常输出点亮LED没问题.
进入睡眠前程序设置P0.5/P0.3输出1,进入睡眠后的静态电流在12uA-27uA不等(约测50PCS).已经超出我们可接受的范围.
进入睡眠后,把P0.5外接的LED和电阻短路,相当于P0.5接VDD,静态电流变化不大(可能总静态电流减小2uA左右);同样做法短接P0.3外
接的LED和电阻,静态电流会大范围下降(总静态电流约3uA左右).
1 电路串电阻和LED,OPEN-DRAIN口输出1为什么会有电流,而电阻和LED短路后没有电流?
2 P0.5/P0.3同为OPEN-DRAIN输出,为什么会不同? (P0.5是open-drain输出口与复位口共用,程序上电时必须设置用于复位口或输出口)
为了解决静态大电流问题,睡眠前把P0.3改为PUSH-PULL输出1,大电流问题得到解决.
3 大电流问题暂时得到解决,但P0.5 还是保持OPEN-DRAIN输出,是否还是存在大电流风险?
我的意思是说P0.3会不会和片内其它功能复用,尤其是逻辑输入。
如果芯片设计有bug,即使外设不使能也没有关闭逻辑输入,那么OD输出接不完全上拉就相当于floating input,可能造成静态电流增大。
一周热门 更多>