咱先说说PG信号到底是啥玩意儿。PG就是Power Good的缩写,翻译过来就是“电源良好”的意思。这个信号从电源管理芯片或者DC-DC转换器里冒出来,专门告诉系统“我的输出电压已经稳定在正常范围了,你该干啥干啥去吧”。说白了,它就像宿舍楼里那个负责通知“水电都通了,可以拎包入住了”的宿管大爷。

PG信号的电气特性也挺有意思。这玩意儿通常是开漏输出,高电平有效,电压标准一般跟着系统电压走,3.3V或者5V都常见。时序上,它跟复位信号关系特别铁——PG信号延迟个几十到几百毫秒,等电源完全稳定了才拉高,复位信号再紧跟着释放,让CPU或FPGA开始跑程序。你要是拿示波器看,PG信号的上升沿跟复位信号的释放几乎挨着,跟跳双人舞似的。
PG信号在现实电路里的应用场景可多了去了。CPU供电那边,电源轨上的PG信号得保证核心电压稳了才让CPU开始执行指令,不然一开机就跑飞了。FPGA更讲究,多路电源轨都得等PG信号都到位了才能开始配置。DC-DC转换器自己也会出PG信号,告诉后级电路“我这边电压稳了,你该充电充电,该上电上电”。多轨电源系统里,每个电源轨的PG信号还得组合起来用,哪个轨没到位都不行。
PG信号要是罢工了,那场面可就热闹了。欠压的时候PG信号拉低,系统直接不启动,跟闹脾气似的。过压或者纹波太大,PG信号也会乱跳,搞得系统一会儿启动一会儿重启,像得了帕金森。最头疼的是那种偶发性的PG失效,可能让系统在关键时刻突然复位或者死锁,你说气人不气人。
搞PG电路的硬件设计,说白了就是伺候好那几个外部元件。开漏输出得上拉电阻,阻值选个10kΩ到100kΩ都行,看你要多快的上升沿,上拉电阻越小边沿越陡,代价是静态功耗大点。旁路电容也别落下,0.1μF的陶瓷电容怼在PG引脚附近,把那些高频毛刺滤掉,不然PG信号一抖动,系统就跟着抽风。还有一点特关键,开漏输出的上拉电压别乱接,得根据接收端的电平标准来选,3.3V系统接3.3V,5V系统接5V,接错了轻则逻辑混乱,重则烧管子。
PG跟系统时序的配合,才是我觉得最考验功力的地方。上电顺序这事,CPU和FPGA最矫情,核电压跟IO电压得按先后顺序来,不然内部闩锁电路就给你颜色看。你可以在每个电源轨的PG输出端串个RC延迟网络,让后级电路的使能信号等前级PG稳定了再拉高,这就实现了简单的上电顺序控制。下电顺序同样讲究,反向操作就行,利用PG信号的下降沿触发关断后级的使能信号。故障快速响应这块,PG信号可以直接接到系统的复位引脚或者中断控制器上,电源一旦出问题,系统立马进入安全状态,别硬撑着跑。
多电源轨系统的PG监控,那叫一个错综复杂。你可以把所有电源轨的PG信号用与门凑一块,只要有一路不正常,输出就拉低,系统就复位,这叫"一票否决制"。也有用或门的方案,某路电源掉了还能继续跑,适合那些对故障容忍度高的系统。级联的方式也挺常见,主电源轨的PG信号去控制从电源轨的使能,像多米诺骨牌一样一串连一串。这些PG信号组合之后,最好都接进MCU的外部中断引脚,出故障了立刻触发中断服务程序,该保存数据保存数据,该切备用电源切备用电源。
PG的测试和调试,我干的活儿也不算少了,给你唠唠实操经验。示波器探头别用标配的那种,推荐用差分探头或者带长地线的无源探头,测出来的波形才真实,别让探头的寄生电容把上升沿搞变形。测试的时候把触发模式设在PG信号的下降沿上,看看系统复位那一瞬其他电源轨的状态对不对。模拟故障注入这块,我一般拿个电子负载或者电阻排,故意拉低某路输出电压,看PG信号响应得快不快,系统能不能及时复位。想提升系统鲁棒性的话,PG后面再接个看门狗,PG失效了看门狗也能拉系统一把,或者用双PG信号互为冗余,一个挂了另一个顶上。