下面以我所做过的一款SOC芯片来说明
SOC芯片集成一个DCDC, 该DCDC具有动态电压调节,可以通过配置寄存器调节输出电压大小,另外DCDC输出的电压可能有偏差,通过TRIM值可以调节精度。SOC芯片的外部供电电压是3.3v,其作为输入提供给DCDC,DCDC输出为1.0v和1.8v两个电压,其中1.8v专供给USB PHY使用,而1.0v给CPU core、储存器以及数字模块使用。
SOC芯片集成四个LDO(低压差线性稳压器),LDO_PLL、LDO_AON_ANA、LDO_AON_DIG、LDO_BBSM_ANA,其中LDO_BBSM_ANA位于BBSM MIX中,BBSM MIX是由纽扣电池供电,LDO_BBSM_ANA的输入为纽扣电池电压,输出供BBSM MIX中的模块使用,由于纽扣电池是不断电的,从而BBSM MIX是不断电的,因此LDO_BBSM_ANA是常开的。LDO_AON_ANA和LDO_AON_DIG位于AONMIX中,LDO_AON_ANA的输入为3.3v电压,输出1.8v电压供AONMIX和WAKEUPMIX中的模拟模块使用,同时,LDO_AON_ANA输出的1.8v电压作为输入给LDO_AON_DIG,产生1.0v电压给AONMIX中的数字模块使用。此外,LDO_AON_ANA输出的1.8v电压也作为LDO_PLL的输入,产生的输出1.0v电压电压供PLL使用。因此,四个LDO中,只有LDO_PLL是可关闭的,其他三个LDO是常开的。在pre_main函数中,需要打开LDO_PLL,以便PLL可以工作。
连接有power switch的MIX或模块,可以在low power mode时,通过power switch关掉供应电压,以降低功耗。整个SOC芯片有三个电源,第一个是3.3v电压,第二个是1.8v电压,第三个是纽扣电池电压。3.3V电压给PAD、USB_PHY和DCDC供电,DCDC以3.3v为输入电压产生1.8v和1.0v两个电压,1.8v电压给DCDC供电,此时DCDC工作于bypass模式,但其两个输出端短接,只输出1.0v电压。同时LDO_BBSM_ANA、LDO_PLL和LDO_AON_ANA的输出接电容,电容的另一端接地,实际上由电容供电,以LDO_PLL为例,LDO_PLL的输出给电容充电,电容给PLL供电,这样做的目的是为了保证电压的稳定。