各位大哥:
我在设计充电检测电路时碰到了一个很头疼的问题,具体如下:
我使用 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,就是不知道这样行不行。
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |