请教guzhuli大师关于单片机open-drain口输出1的静态电流问题

2020-01-24 12:03发布

首先感谢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输出,是否还是存在大电流风险?



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
y595906642
1楼-- · 2020-01-24 12:12
本帖最后由 y595906642 于 2014-3-17 17:11 编辑

我的理解是OPEN-DRAIN输出相当于负载接在一个NMOS上且此时MOS是关断的,漏电流就取决于这个MOS的结构。
0.5 和0.3不同可能是接口结构不同造成的。
gzhuli
2楼-- · 2020-01-24 13:54
 精彩回答 2  元偷偷看……
Firman
3楼-- · 2020-01-24 19:21
gzhuli 发表于 2014-3-17 17:22
没用过这个片子,不太清楚。
P0.3是不是和其他外设有复用?

P0.3/P0.5的外部电路都只接LED.
我估计很少人会用到这个片子,不过我想分析的是为什么设置open-drain输出1会有十几uA的电流.按我理解来说不应该有电流才对.
而设置P0.3为PUSH-PULL输出1没有电流.

谢谢guzhuli老师!
gzhuli
4楼-- · 2020-01-25 01:15
Firman 发表于 2014-3-17 20:22
P0.3/P0.5的外部电路都只接LED.
我估计很少人会用到这个片子,不过我想分析的是为什么设置open-drain输出1 ...

我的意思是说P0.3会不会和片内其它功能复用,尤其是逻辑输入。
如果芯片设计有bug,即使外设不使能也没有关闭逻辑输入,那么OD输出接不完全上拉就相当于floating input,可能造成静态电流增大。
Firman
5楼-- · 2020-01-25 04:14
gzhuli 发表于 2014-3-18 10:34
我的意思是说P0.3会不会和片内其它功能复用,尤其是逻辑输入。
如果芯片设计有bug,即使外设不使能也没有 ...

Sorry,之前没明白你的意思.
P0.3口硬件可以与T0复用,但程序没设置T0映射到P0.3口.
IC厂家解释是LED和电阻产生分压,使P0.3的上拉达不到VDD,但我想它电流只有十来个uA,产生的分压完全可以无视.
也许这东西跟他工艺有关,因为相同的做法用别的IC没发现有问题.我也感觉我这样做应该没有错.
gzhuli
6楼-- · 2020-01-25 09:32
Firman 发表于 2014-3-18 11:41
Sorry,之前没明白你的意思.
P0.3口硬件可以与T0复用,但程序没设置T0映射到P0.3口.
IC厂家解释是LED和电阻 ...

有可能它在映射前就已经接到了一个输入缓冲器上,所以在过渡电平就会产生额外的静态电流,说到底估计还是IC本身设计问题吧。
IC设计问题无解,不过打开内部上拉(如果有的话)或者在LED上并联一个电阻应该就可以解决这个问题。

一周热门 更多>