是的,灵动MCU(MindMotion MCU)完全支持通过GPIO控制外部PMOS/NMOS、LDO或负载开关来实现“电压越界自动关机或限流”功能。这种应用常用于电池保护、电源管理、负载过压/欠压切断等场景。
一、基本原理概述
灵动MCU监测电压后,若检测到电压超过或低于安全阈值,可通过控制引脚(GPIO)来:
关断外部PMOS/NMOS管,切断供电或负载;
控制一个可调LDO/电源芯片的使能脚(EN);
控制一个电子保险丝(eFuse)或负载开关(如TPS229xx);
前提是使用硬件电路让MCU控制路径足够快且具备拉载能力。
二、方案设计:以PMOS为例实现“欠压断电”
1. MCU测电压(ADC或比较器)
ADC方式适合多路电压检测并结合滤波
内置模拟比较器(COMP)适合做低功耗实时断电保护
2. MCU控制GPIO驱动PMOS关断
PMOS常接在电源高端,使用NPN或NMOS反向驱动来控制其G极(避免G-S击穿):
markdown
复制
编辑
电池正极 ─┬─ PMOS Drain(D)
│
PMOS Source(S)───── 供电输出
│
GPIO → NMOS/电阻下拉 → PMOS Gate
当MCU输出 GPIO 为高,PMOS 关断(G-S电压接近0);输出为低,PMOS导通(G-S为负)。
三、实现逻辑示例(伪代码)
c
复制
编辑
#define POWER_CTRL_PIN GPIO_Pin_0 // 控制PMOS的GPIO
#define LOW_VOLTAGE_THRESHOLD 2700 // 单位:mV
void MonitorAndProtect(void) {
uint16_t voltage = ReadVoltageFiltered(); // ADC滤波值
if (voltage < LOW_VOLTAGE_THRESHOLD) {
GPIO_ResetBits(GPIOA, POWER_CTRL_PIN); // 关闭PMOS,切断负载
} else {
GPIO_SetBits(GPIOA, POWER_CTRL_PIN); // 允许供电
}
}
⏱ 可在定时器中断或主循环中定期调用。
四、进阶保护控制方案
控制方式 描述
PMOS切断主电源 低压断电、过压断电场景常用,适合高边控制
NMOS断开负载地线 用于限流/断载控制,适合负载地端断开(如USB供电控制)
控制LDO/负载开关 控制EN脚,优雅关断,适用于多电压域系统
双比较器+滞回保护 用于避免电压反复临界抖动开/关(参考电池保护IC机制)
五、硬件设计建议
MCU控制PMOS时加限流电阻保护G极(如10k)
为避免“震荡误触发”,建议增加滞回逻辑或软件滤波
为快速关断,GPIO需配置为推挽输出
如果功率较大,控制管可能需推动电平转换器或MOS驱动芯片
|
|