PM8058 overview
PM8058由輸入電源管理、輸出電壓調整、housekeeping和使用者接口這四大子產品構成,內建了所有手機電源管理功能。适合于多種制式手機或者其他無線裝置,如GSM, CDMA, UMTS。
在輸入源方面,可以有充電器,外部usb裝置,電池, 備用電容這幾種源,具體使用哪種通過PMIC控制。此外,PMIC還對過壓、過流保護,瞬間斷電保護,溫度,熱量,電池等進行監控,以防電源子產品出現問題。
Operating modes
PMIC hardwire option通過OPT_X(1-3)來設定的(在powerup的時候起作用),每個引腳都有ground, open, vdd三種接法,是以可達27中,不同晶片組使用不同的設定。
MSM和PMIC之間通過SBI接口來連接配接,而且兩邊的支援電壓必須一緻,這部分功能由PMIC來實作了。兩者之間,PMIC作為slave,MSM充當master的角色,對PMIC進行初始化,模式、參數控制、認證等控制。這些控制,上層已經提供了相應的API,開發人員直接調用即可。
另外PMIC還有若幹種操作模式(active, sleep, off1~3), 具體用哪種依賴于寄存器的設定、電池和支援條件,而内部某些電路功能是否開啟又依賴于選擇的是哪種操作模式。
Input power management
輸入電源管理的主要功能就是監視和控制輸入源,看其是否在操作許可範圍内,還有調節電池和對紐扣電池充電進而使手機能正常地工作。
PMIC依靠外部電路連接配接進而能接受充電器和USB 藍牙免提,除此之外還有電池。通過對OVP_SNS,VCHG,VPH_PWR引腳來探測是否有電源連上來。當充電器和電池都沒有的時候,使用外部電容來使PMIC一些重要子產品電路工作以實作一些關鍵功能。
子產品圖如下:
External components and pass device
a. VCHG resistor and capacitor
兩者組成RC網絡。可以濾波,提高穩定、電磁幹擾。當無裝置連接配接時,由于電阻的下拉避免懸空。
b. bulk capacitor
至少22UF來確定VDD穩定性,可放在battery MOSFET或者 VPH_PWR其中一個旁邊。
c. battery transistor
必須是P溝道MOSFET, 通過BAT_FET_N信号來對電池是否和VDD連接配接的控制,當transistor off時,電池不提供電源,也不受管理。當transistor on時,有兩種不同的情況
1. 當pass transistor on時, 電池保持原狀。
2. 當pass transistor off時, 電池給手機供電。
有一點要注意的是,VDD很重要,當内部所有負載都需要關閉電源的時候,不能靠VDD變成0V,而是通過device控制實作。
Overvoltage protection
過壓保護部分可以保護外部的充電器或者USB 藍牙免提故障,不過需要外部帶LDO IC的N溝道MOSFET支援。
OVP_CLAMP電壓5-16V,用來給PMIC電壓探測和LDO電路提供基準電壓。OVP_SNS最大電壓28V,不過這裡是5.5 – 7.0V,由detector 決定。Detector控制分兩種情況:
1. 當充電器okay時,detector 禁止通過LDO和控制器來使得FET關閉,充電器和VCHG連接配接。
2. 當充電器輸出電壓過高時,detector通過LDO和控制器使得FET開路,斷開和VCHG的連接配接,PMIC部分受保護。
另外,當不用過壓保護時,OVP_SNS應被連到VCHG,OVP_CLAMP和 OVP_CTL應該被懸空。
Detectors, sensors
a. Voltage detectors. 通過VCHG和VPH_PWR來探測是否有外部電源連上來,看其是否在有效範圍,探測結果以中斷的方式被送到軟體或者狀态機去。有三種detectors:charger removal, battery alarms and low-battery detection.
1. Charger removal
充電器拔掉時,電壓降到100mv,控制器就關掉pass transistor。防止pass transistor的反向操作能在VCHG引腳産生足夠的電壓來不讓device和充電器斷開。
2. Battery alarms
Window detector對VBAT引腳不斷地探測,探測的電壓上下限可設定,觸發延時也可設定。
3. Low-battery detection
和battery alarms有點類似,中斷觸發産生所需要的延時可參照time hysteresis。當在這段延時時間内,電量又變正常的情況下,那麼延遲被重新計數,中斷也不會産生。
不過有一點要注意的是,當VBAT比lower-battery低時,low-battery alarm肯定會産生。
b.undervoltage lockout
UVLO會在VDD點電壓過低的時候關閉device。當然,UVLO電壓肯定比low-battery alarm的電壓低。除此之外,UVLO還有SMPL修複、看門狗逾時複位、poweron sequence abort功能。
裝置power up時,VDD必須要超過rising threshold來初始化powerup sequence。當VDD比falling threshold低時,PON_RESET_N拉低,device關閉。
UVLO的hysteresis和time delays是不可配置的,而且ULVO不會産生中斷,它是通過PON_RESET_N引腳來通知MSM的。
Charging transistor thermal protection
當溫度超過合理限制時,通過降低穿透電流和控制charging transistor temperature。
在設計的時候也可以通過下面幾種方法來降低損耗:
1. 使用過壓保護功能
2. 通過使用外部供電來使穿過charging transistor的電壓達到最小
3. 設計一個充電器
當過熱而且VDD比VBAT低的時候,PMIC會關閉battery MOSFET來防止手機關閉。
Voltage regulation
主要實作選擇哪種電壓(VDD 、VBAT)作為電源,和操作模式有關。當外部電源連上來時,使用VDD,當電池被充電或者充電完成的時候,用VBAT。
Current regulation and protection
和thermal protection類似,電流保護也用了on-chip sensor。當過流的時候,charging transistor被設成高阻抗,VDD或VBAT被打亂來保護過流。
Main battery charging
系統提供了兩種方法,一種是軟體控制,另外一種是通過PM電路而不用軟體的幹預來完成。
a. 軟體控制充電
對于一個用光的電池來說,充電需要以下步驟。一開始為trickle charging。主要是為了限制電流,因為一開始整個耗盡的電池充電時會吸走很大的電流,這樣手機就無法正常工作了。一旦電池最小電壓建立後,就是用constant current charging這種模式,也可稱為fast charging。當充電接近目标電壓的時候,轉為constant voltage charging或者 pulse charging。
b. 自動充電
狀态機在剛啟動的時候建立VDD,判斷輸入源、是否需要trickle charging等。在成功了啟動之後判斷電池是否需要充電和從哪個充電步驟開始。當充電完成以後停止充電,允許用外部電源啟動手機。
另外,自動充電中是沒有pulse charging這一模式的。
SMPL
它的作用是在短暫的斷電(如手機震動)時,在沒有軟體幹預的情況下提供poweron sequence。當SMPL使能的時候,PMIC是關閉的。紐扣電池或者充電電容作為電源。SMPL是使用計數脈沖用在UVLO探測上,如果在計數允許範圍内,VDD正常了,那麼poweron sequence被初始化。如果RTC由于電壓不夠或者是電壓暫時丢失或者沒有實作正常的poweron sequence,那麼會産生中斷發送到MSM。
當在規定計數内VDD沒傳回有效值,手機要負責正常poweron sequence。
當需要正常關機時,SMPL必須被禁止,否則會重新開機而不能正常關機。重新開機有看門狗重新開機和軟體複位重新開機兩種。使用哪種要看UVLO detector 的狀态,如果UVLO事件沒發生,那麼看門狗複位,相反則是SMPL事件。
Output voltage regulation
OPT_x hardware
輸出電壓調整(OVR)電路的兩個功能由外部3個引腳來決定。一種功能是輸出預設穩壓器電壓,另一種功能是poweron sequence 和他們的positions with sequence。
Bandgap voltage reference circuit
所有的PMIC穩壓器或者其他内部電路都由這個reference來提供基準源。
Buck SMPS circuits
這部分電路用作降壓電路對輸入電源進行降壓,PWM技術用來使電壓輸出多種多樣,但是它的輸出頻率是固定的(也就是說不能是交流電壓)。
為了減少功耗,電路可工作在low-power 模式。
由于buck converters輸出額定電流相對比較大(1500mA),是以可直接驅動外部電流而作為首選之用。
LDO liner regulators
它内部的閉環控制系統使得輸出無錯誤,直接調整輸出電壓到需要的基準電壓,不過它不會管負載是什麼就直接輸出電流到負載上。
每種電壓穩壓器輸出端要求接有不同大小的陶瓷電容來使輸出穩定。
Negative charge pump
對于負壓輸出,性能上主要在于PCB布局對它的影響。
Low-power modes
所有線性穩壓器都可工作在low-power模式,在手機sleep模式的時候特别有用,不同器件工作方式不同。由于VREG_4内部問題而不能工作在這種模式。
a. Linear regulators
它是通過來降低回報循環來實作的。不過性能會有所下降。當負載大于1mA時,輸出電壓可能出規定範圍。
b. Buck SMPS
有兩種控制模式: PFM, PWM, 由XO_EN引腳控制。在PFM模式時,當負載過重時,輸出紋波會變差。
General housekeeping
Analog multiplexing and scaling circuits
通過它來選擇一路信号到ADC,被選擇的信号可被軟體監視。另外,電壓縮放電流也依賴于他。
HK/XO ADC circuits
支援兩種模式。一般的HK操作,用來輸入模拟多路複用器信号。另一種是XO熱量監控器,通過XO_THREM來選擇。
Buffered reference voltage output
任何一個MPP可被配置成為buffer的1.25v基準信号。
System clocks
包括一個19.2Mhz内部晶振和一個32.768Khz的外部晶振。前者主要用于PMIC内部,後者可為裝置提供多種clock,如mp3 、sleep、 SMPS clock等。
Realtime clock
輸入源為32.768kHz的晶振,由于是按秒計數,是以先得将32.768分成1Hz,可程式設計時鐘校正來提高rtc的精度,如果沒開啟着功能,精度就依賴于晶振。
事件設定通過write enable線,讀計數通過32-bit register,alarm設定通過8-bit alarm register。
User interface
之是以在上面內建使用者接口是為了減少手機主子產品部分的應用,可以分擔一部分。它所包含的功能有:
1. 光脈沖産生器
2. 電流驅動器
3. 靜音震動
4. 麥克風
5. 近場通信
6. 搖杆
7. 鍵盤
有些功能都是通過GPIO的複用來進行支援的。
IC-level interfaces
Poweron circuits
可同時監測5個可能産生觸發的事件。
Power sequence
根據OPT_x(1~3)的配置(接地、拉高、開路)能有27中不同選擇,每個平台都根據IC來選擇用哪種配置。
兩外,不同的電壓穩壓器是否開啟也根據OPT_x的設定和modem IC的支援。
對于power,有4中不同的狀态。Poweron sequence, ON state, OFF state, Poweroff sequence。
Watchdog timeout and software reset
當固件鎖住的時候,可用通過軟體(看門狗定時器)來複位。注意,當要使用正常關機的時候,看門狗複位和SMPL一定要禁止,否則PMIC會探測到關鍵動作而産生軟體複位,導緻不能正常關機。
另外,使用SMPL還是看門狗來進行複位決定于UVLO是否發生。
Hard reset using RESIN_N
當手機鎖死時,可通過外部按鈕來強制關機,這樣會引起PMIC複位手機。
SBI
它是PMIC和MSM之間的通信接口。MSM通過SBI寄存器來控制PMIC,包括參數設定,檢視裝置狀态,中斷事件等。設計人員可以在上層直接調用相應的API來操作PMIC。
另外,coin cell作為備份電池來給PMIC服務。
Interrupt manager
PMIC提供三種中斷:
1. 标準中斷送到modem ARM
2. 安全中斷送到application processor
3. 使用者中斷送到application processor
MPM support
PMIC可以在MSM power down(in a low-power sleep mode)的時候和MSM通信。它通過一些專用的引腳來支援MPM。
此外,PMIC還對UIM, UART,PA等功能支援。
Configurable I/O
有兩種類型,一種是一般GPIOs,另一種是MPPs。
a. GPIOs
它以每兩個GPIO(奇偶相連)作為一對出現,兩個I/O口電壓不同可以作為digital level translator。
在這裡,GPIO一般作為一些特殊的功能。如clock output, Keypad, Joystick等。
b. MPPs
它可配置成一下幾種功能:
1. 數字輸入。可通過軟體直接讀取電平引腳。
2. 數字輸出。可通過軟體直接設定電平的高低。
3. 雙向I/O。在成對中使用,兩個MPP可以互補。
4. 模拟輸入。被路由到模拟多路複用器中。
5. 模拟輸出。作為Vref。
6. 驅動LEDs。
MPP可以單獨使用,也可以成對使用。在成對使用時,得注意外部的接口必須開漏。