在移植新版u-boot的時(shí)候,上網(wǎng)搜電源管理芯片的使用方法資料,發(fā)現(xiàn)幾乎沒(méi)有,就算是datasheet也很難下載得到,不知是何原因?我只能理解成這部分知識(shí)比較簡(jiǎn)單,沒(méi)人愿意寫(xiě)吧。但記錄一下原理和使用方法做為備忘,總歸沒(méi)有什么壞處。另外仍然需要提前聲明的是,這里只提供官方手冊(cè)推薦的配置方法,自由玩法不保證可行及穩(wěn)定性。
一、概覽
LDO和BUCK的概念:請(qǐng)參考《嵌入式電路中的BUCK VS LDO》。
S5M8767A有9路BUCK和28路LDO,暫且可以當(dāng)成共有37路供電電路。這37路供電電路最低可以使用6.25mV的步進(jìn)電壓,多達(dá)60多個(gè)電壓檔位可以做到對(duì)輸出電壓的精確控制。另外S5M8767A還有一個(gè)硬件RTC,可以在有外部電池供電的情況下保存時(shí)鐘信息。
二、PMIC與uboot的關(guān)系
uboot按模塊初始化硬件,有其自己的代碼順序,這就要求PMIC在特定的時(shí)間點(diǎn)給特定的硬件提前提供電源,以供uboot進(jìn)行初始化配置。否則uboot的執(zhí)行必然失敗,例如PMIC需要在eMMC初始化前對(duì)其兩路電源進(jìn)行供電。
另外PMIC的初始化時(shí)間在uboot里有其默認(rèn)的時(shí)間點(diǎn),但是這個(gè)時(shí)間點(diǎn)還是與核心板與底板的實(shí)際電路密切相關(guān)的,需要根據(jù)實(shí)際需要提前或延后。
2.0 PMIC中BUCK與LDO的分類(lèi)
PMIC中的BUCK和LDO都大概可以分成兩種:
一種是PMIC上電即可直接輸出電壓的BUCK和LDO。
另一種是PMIC上電不輸出電壓,需要使用i2c對(duì)PMIC配置后才可輸出電壓的BUCK和LDO。
2.1 PMIC與DDR的關(guān)系
對(duì)于4412來(lái)講,DDR的初始化是在BL2中進(jìn)行的,這時(shí)如果使用匯編初始化硬件i2c來(lái)對(duì)PMIC進(jìn)行配置個(gè)人感覺(jué)沒(méi)有什么意義,所以DDR的電源需要連接到PMIC的默認(rèn)ON的BUCK上,即PMIC上電即可直接輸出電壓的BUCK,不需代碼配置。
S5M8767A推薦使用BUCK5做為DDR的電源,
但是,BUCK5這里的默認(rèn)輸出是1.2V,DDR需要的是標(biāo)準(zhǔn)1.5V,問(wèn)題出在哪里?
三星早就替我們考慮好了這個(gè)問(wèn)題,為了適配不同類(lèi)型的DDR,BUCK5可以通過(guò)K9 K10兩個(gè)引腳的電平搭配,輸出四種默認(rèn)電壓:
在這里,迅為的開(kāi)發(fā)板是這樣設(shè)置的:
這樣一來(lái),B5S1:B5S2 = 1:0 即BUCK5輸出1.5V電壓,正好與DDR的需求相吻合。
2.2 PMIC與4412主芯片的關(guān)系
給ARM核芯提供電壓的是PMIC的BUCK2,BUCK2也是默認(rèn)ON的,默認(rèn)輸出1.1V。經(jīng)過(guò)查閱4412 spec后,需要注意的是,在1.1V電壓下,給ARM核心提供時(shí)鐘的APLL最大只能輸出1000MHz,即剛上電時(shí)如果不設(shè)置PMIC,ARM核心只能工作在1000MHz,無(wú)法使用最高頻率1.4GHz。
三、PMIC的設(shè)置方法
3.1 通信協(xié)議
S5M8767A使用I2C協(xié)議與4412進(jìn)行通信,從機(jī)地址分為兩部分,PM(Power Manager)和RTC,也就是說(shuō)PM和RTC的寄存器地址是分開(kāi)的,可以看作兩個(gè)單獨(dú)芯片。
3.2 舉例
以BUCK1舉例說(shuō)明寄存器設(shè)置方法,其它BUCK和LDO基本類(lèi)似,需要時(shí)認(rèn)真閱讀手冊(cè)即可:
BUCK1有兩個(gè)8位控制寄存器,
CTRL1的低6位可以按照默認(rèn)值設(shè)置即可,高兩位需要解釋一下,00和1x的意思就不需解釋了,01的意思是 BUCK1的開(kāi)關(guān)由PWREN外部引腳控制,而這個(gè)PWREN引腳一般與4412的XPWRRGTON引腳連接在一起,這個(gè)XPWRRGTON是由CPU自動(dòng)控制的,CPU處于休眠狀態(tài)此腳為低,工作狀態(tài)此腳為高,就是說(shuō)CPU一旦退出休眠狀態(tài),PMIC就會(huì)給所有受PWREN控制的BUCK & LDO上電。
CTRL2就是控制BUCK2輸出電壓的,6.25mV的步進(jìn)值,需要多少電壓自行計(jì)算然后寫(xiě)入即可。
四、引用高手的PMIC技術(shù)貼
原載于:《什么是PMU》
什么是PMU(PMIC)
PMU(power management unit)就是電源管理單元,一種高集成的、針對(duì)便攜式應(yīng)用的電源管理方案,即將傳統(tǒng)分立的若干類(lèi)電源管理芯片,如低壓差線性穩(wěn)壓器(LDO)、直流直流轉(zhuǎn)換器(DC/DC),但現(xiàn)在它們都被集成到手機(jī)的電源管理單元(PMU)中,這樣可實(shí)現(xiàn)更高的電源轉(zhuǎn)換效率和更低功耗,及更少的組件數(shù)以適應(yīng)縮小的板級(jí)空間,成本更低。
PMU作為消費(fèi)電子(手機(jī)、MP4、GPS、PDA等)特定主芯片配套的電源管理集成單元,能提供主芯片所需要的、所有的、多檔次而各不相同電壓的電源,同電壓的能源供給不同的手機(jī)工作單元,像處理器、射頻器件、相機(jī)模塊等,使這些單元能夠正常工作。按主芯片需要而集成了電源管理,充電控制,開(kāi)關(guān)機(jī)控制電路。包括自適應(yīng)的USB-Compatible的PWM充電器,多路直流直流轉(zhuǎn)換器(BuckDC-DCconverter),多路線性穩(wěn)壓器(LDO),Charge Pump,RTC電路,馬達(dá)驅(qū)動(dòng)電路,LCD背光燈驅(qū)動(dòng)電路,鍵盤(pán)背光燈驅(qū)動(dòng)電路,鍵盤(pán)控制器,電壓/電流/溫度等多路12-BitADC,以及多路可配置的GPIO。此外還整合了過(guò)/欠壓(OVP/UVP)、過(guò)溫(OTP)、過(guò)流(OCP)等保護(hù)電路。高級(jí)的PMU可以在USB以及外部交流適配器、鋰電池和應(yīng)用系統(tǒng)負(fù)載之間安全透明的分配電能。動(dòng)態(tài)電源路徑管理 (DPPM) 在系統(tǒng)和電池充電之間共享交流適配器電流,并在系統(tǒng)負(fù)載上升時(shí)自動(dòng)減少充電電流。調(diào)整充電電流和系統(tǒng)電流分配關(guān)系,最大程度保證系統(tǒng)的正常工作,當(dāng)通過(guò) USB 端口充電時(shí),如果輸入電壓降至防止 USB 端口崩潰的閾值以下,則基于輸入電壓的動(dòng)態(tài)電源管理 (IDPM) 便減少輸入電流。當(dāng)適配器無(wú)法提供峰值系統(tǒng)電流時(shí),電源路徑架構(gòu)還允許電池補(bǔ)償這類(lèi)系統(tǒng)電流要求。
LDO是利用較低的工作壓差,通過(guò)負(fù)反饋調(diào)整輸出電壓使之保持不變的穩(wěn)壓器件。壓差小的話用LDO,帶可關(guān)斷功能便于電源管理。壓差大的還是用DC-DC效率高。
按照系統(tǒng)需要能提供多種電壓的電源,這些電壓是電壓調(diào)整所需的,另外這些電源還可以與功能同步開(kāi)、關(guān)這些供電電壓,以支持電壓域切換。
PMU一般是和主芯片綁定定制的。因?yàn)樗浜螩PU的上電時(shí)序。某些電壓的上電順序和之間的時(shí)間間隔有先后關(guān)系和時(shí)間要求。這個(gè)是掩模好的。PMU其實(shí)是帶有掩模程序的專(zhuān)用電源控制器。要32.768KHZ的晶體和19.2M的晶體。待機(jī)狀態(tài)是32.768KHZ的晶體工作,正常工作是19.2M的主晶體工作。
靠上電池后PMIC進(jìn)入待機(jī)狀態(tài),PMU由32.768KHZ的晶體提供時(shí)鐘,按POWER按鍵觸發(fā)開(kāi)機(jī)后,按照定制的開(kāi)機(jī)順序?qū)?duì)應(yīng)的LDO,DC-DC打開(kāi),19.2M的主時(shí)鐘工作,CPU電源正常后,輸出設(shè)置給CPU,輸出復(fù)位信號(hào)給CPU,釋放復(fù)位信號(hào),CPU開(kāi)始啟動(dòng)。CPU輸出PS_HOLD信號(hào)將PMIC的狀態(tài)處于工作狀態(tài)。(關(guān)機(jī)的時(shí)候CPU將PS_HOLD拉低電,PMIC關(guān)閉進(jìn)入關(guān)機(jī)狀態(tài))
CPU工作正常后,可以通過(guò)I2C接口對(duì)PMIC的各個(gè)模塊進(jìn)行控制。比如系統(tǒng)變頻的時(shí)候,不同的工作頻率要調(diào)整core電壓到對(duì)應(yīng)的電壓。RTC時(shí)間的設(shè)置和ALARM的時(shí)鐘。同時(shí)PMIC可以將異常事件產(chǎn)生中斷信號(hào)給CPU,CPU再進(jìn)行中斷處理。
PMIC的電源越多,對(duì)系統(tǒng)的模塊供電就越細(xì),各個(gè)模塊的電源受牽連就小,所以就越省電。
參考資料:
[1] SEC_S5M8767A01-6070_Data Sheet_Ver.0.10.00_Preliminary.pdf
[2] DS_K4B2G1646Q-BC_Rev103.pdf
[3] SEC_Exynos 4412 SCP.pdf
評(píng)論