天天看點

[筆記分享] [Hardware] PM8058 User Guide study report

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一些重要子產品電路工作以實作一些關鍵功能。

子產品圖如下:

[筆記分享] [Hardware] PM8058 User Guide study report

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可以單獨使用,也可以成對使用。在成對使用時,得注意外部的接口必須開漏。

繼續閱讀