通常当有外接电源连接时,它用P沟道MOS管断开USB电源,但有一点我不理解。如果没有外接电源,启动时MOS的状态是什么?如果是导通的,USB电源给LMV358供电,比较3.3V与0V,把MOS的栅极拉低,电路正常工作(尽管初始时MOS的源极电压是浮空的)。但是如果MOS是关断的,LMV358就没有电源,所以MOS的栅极电压是未定的,所以MOS会怎么样?这就像先有鸡还是先有蛋一样。
世界上最常用的开发板,Arduino Uno,支持多种供电方式,大致分为两类:5V直接供电与更高电压经LDO(Low Dropout Regulator,低压差线性稳压器)后供电。神奇的是,当两种电源都连接时,开发板会自动选择后者,而不会让两者冲突。
完整的原理图可以在这里查看。由于整张图比较大,我把电源部分抽出来自己画了一遍。
V1和VBUS分别是外接电源和USB供电;S1和S2用于控制两个电源的连接状态;D1是防反接保护二极管;U1和U2分别是5V和3.3V LDO;U3是LMV358低压轨至轨运放,起到比较器的作用;R1和R2构成分压电路,把外接输入电压减去二极管压降的一半作为运放同相输入;Q1是一个P沟道MOS管;VCC是输出的5V电源。(以上名词不懂的请自行百度。)
简单分析一下:如果S1闭合,U1给VCC5V输出,运放有供电,反相输入为U2输出的3.3V,正相电压高于反相,运放输出5V,Q1栅极与源极电压相等,不导通,无论S2是否闭合,VBUS都不会输出电流。
如果S1断开,且电路已经通过VBUS电源供应正常工作,那么类似分析可得运放输出0V,Q1栅极电压比源极电压低5V,MOS管导通,VBUS通过Q1给VCC5V输出,电路继续正常工作。