这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » C8051F980 (Silicon Lab) 单片机遇到了怪问题

共3条 1/1 1 跳转至

C8051F980 (Silicon Lab) 单片机遇到了怪问题

菜鸟
2014-03-17 20:38:59     打赏
各位大哥:
    我在设计充电检测电路时碰到了一个很头疼的问题,具体如下:
    我使用 C8051F980单片机 做电源管理,涉及到单片机进行充电检测和充电 激活单片机 的问题。
    因为 充电输入是5V,单片机IO口电平典型值为2.8V,最高能承受3.6V的电平,所以用了2个电阻分压,如附图所示:

    5V经过两个电阻分压,分出一个2.8V左右的电压然后接到 单片机的IO口 。
    其中,CHARGE_IN_DET为充电检测,MCU_VDD_CTL为 MCU的LDO电源使能脚。

    我的设计思路是 ,当充电器插入时,MCU_VDD_CTL脚拉高,LDO使能,MCU就能上电工作,此时,再去单片机检测CHARGE_IN
_DET脚被拉高,就认为是在充电。
为了防止 不充电时,MCU_VDD_CTL到 CHARGE_IN_DET脚漏电,用了二极管做单向导通。
碰到了头疼问题是: 发现 插上充电器后(接入5V),发现 本应该被拉高的两个管脚 都不嫩拉高,CHARGE_IN_DET是0.5V左右,MCU_VDD_CTL是0.3V左右。
但是人为使MCU上电后,这两个管脚就电平正常了。
询问单片机的供应商,说是,单片机在未上电时,IO口到地阻抗是不确定的,导致了这个结果。

那我这个电路就陷入了死循环,,MCU_VDD_CTL不能被拉高,MCU就不能工作,也就导致 这两个管脚永远不会正常。
头疼了,想了好久都没想出什么电路来解决这个问题。

请教一下,大家有什么好的建议没。

目前,我实验得到,如果直接给单片机 IO口个电压,就能拉高,如果经过一个电阻,就不行。所以,想用一个 LDO来做电压变化,就是5V转3.6V或者2.8V,利用LDO的输出电压来直接拉高 CHARGE_IN_DET和MCU_VDD_CTL,就是不知道这样行不行。



关键词: C8051F980     Silicon    

菜鸟
2014-03-20 14:53:28     打赏
2楼
单片机正常工作后,要求单片机把 CHARGE_IN_DECT脚置低的,这样,就不会认为一直在充电,这个也就是我们加二极管的原因,二极管反向不导通。也就是 MCU_VDD_CTL的高电平不会导致 CHARGE_IN_DECT 也产生高电平。

菜鸟
2014-03-20 14:54:20     打赏
3楼
刚开始我也是这样想的,把分压电阻改小点,我把R503改到了4.7K,后,分压才能达到1.0V,还是不行,再小的话,即使能把管脚拉高,但是单片机工作后,R503后面的电压就会很大(5V用4.7K和1M电阻分压),会烧掉IO口。如果把R504也改小的话,那就会存在 从IO口漏电的风险,这个是必须避免的。

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]