透過客製化電源管理IC輕鬆縮短上市時間

作者:ADI 資深工程師 Franco Contadini


摘要

電源管理IC(PMIC)有益於簡化最終應用並縮小其尺寸,也因此備受青睞。然而,當預設啟動時序和輸出電壓與應用要求不符時,就需要客製上電設定。大多數情況下,電路沒有可以儲存這些設定的非揮發性記憶體(NVM)。對此,低功耗微控制器是一個很好的解決方案,其功能特性和所包含的工具可以在上電時對PMIC控制暫存器進行編程,而不需要開發韌體。本文將探討如何使用工具鏈來解決整合難題。該工具鏈無需開發韌體,能夠簡化PMIC的客製過程,並明顯縮短開發週期。

簡介

為了縮小行動裝置、智慧型相機和其他可攜式裝置的尺寸並降低成本,設計時需使用高度整合且功能強大的元件。 MAX77714是一款高度整合的PMIC,包含多個降壓轉換器、低壓差(LDO)穩壓器、通用輸入輸出(GPIO)和即時時脈(RTC),可用於生成應用所需的所有電源軌。

彈性的時序控制器支援針對目標應用客製上電和關斷時序。

此款PMIC提供的幾種VOUT/時序控制器選項(由完整產品型號定義)不符合應用要求。為了提高彈性,可以使用低功耗微控制器作為替代解決方案。該元件可以在上電時喚醒,對元件暫存器進行編程,然後休眠以節省電力。

要求高整合度的中等規模應用需要採用現成元件的簡單解決方案,並根據需求客製化操作。

硬體設計人員一直希望能夠擁有可以自動生成韌體代碼的工具,讓其可以在前期開發時避免涉及軟體資源,同時還能優化資源的使用。

MAX28200

MAX28200是一款低功耗、小尺寸(1.7 mm × 1.8 mm)RISC微控制器,具有多種周邊。對於此應用,我們使用兩個GPIO接腳作為位元觸發I2C main主機。

電源電壓最高為3.6 V,因此如果輸入電壓超過3.6 V,則使用始終開啟的LDO穩壓器為微控制器供電。該元件可以透過 I2C節點介面進行編程。

MAX77714

MAX77714(圖1)是一款高度整合的PMIC,包含四個降壓轉換器、九個LDO穩壓器、八個GPIO、一個RTC和一個彈性的電源時序控制器(FPS)。降壓轉換器和LDO穩壓器按照預設時序和電壓上電,並遵循電壓軌規範。使用者可以透過I2C嵌入式介面進行修改。然而,在大多數情況下,我們需確保預設時序和電壓與連接到PMIC的元件的要求相匹配;如果電壓超過其最大額定值,元件可能會損壞。

上電和關斷時序也是重要的考量因素,因為現場可編程閘陣列(FPGA)等元件為了正常運行,需要按照正確的時序致能和禁用電壓。圖2為默認上電時序,共有八個時隙,電壓可以在任意一個時隙中致能。該元件可以由高達5.5 V的電壓供電。

Figure 1. A MAX77714 simplified block diagram.

圖1.MAX77714簡化功能框圖。

Figure 2. A MAX77714EWC+ default power-up sequence.

圖2.MAX77714EWC+默認上電時序。

元件介面

P0.0和P0.1用於生成針對PMIC的 I2C事務;P0.2負責監控GPIO4的狀態;P0.3利用SPDT開關選擇I2C主機(MAX28200或主機微控制器)。類比開關是選配項,僅在主機微控制器需在上電後控制PMIC時才需要配置(見圖3)。

Figure 3. The MAX28200 and MAX77714 interfacing with the MAX14689 and the ADP166.

圖 3. MAX28200 及 MAX77714 與 MAX14689 和 ADP166 的接口連接。

上電復位(POR)如圖4所示:

  1. P0.3置為低位準,選擇該元件作為PMIC的I2C主機。
  2. 寫入以下所需的資料暫存器。
  3. P0.3置為高位準,選擇主機微控制器作為I2C主機,該元件進入休眠模式。
  4. P0.2連接到GPIO4,用於在關斷時喚醒元件並對暫存器重新編程。

請注意,在配置結束時,必須將GPIO4置為高位準。

一旦使用EN0和EN1訊號致能PMIC,其就會以新的時序/電壓配置上電。

Figure 4. A MAX28200 program flow.

圖4.MAX28200程式流程。

MAX77714上電和關斷時序由 此處提供的MAX77714 GUI定義。

使用「GUI導入/匯出」選項卡,可以將暫存器值匯出為Excel檔。

在展示如何使用GUI EVKIT之前,我們需要先知道哪些暫存器對於客製化啟動很重要。

MAX77714暫存器詳細資訊

降壓轉換器

每個降壓轉換器實例都有三個相關暫存器(SDx_CNFG1、SDx_CNFG2和SDx_CNFG3),用於定義啟動電壓、斜坡速率和工作模式。

CNFG1用於設定輸出電壓,7位元至8位元欄位如下:

VSD0 = 0.26 V + ((SD0VOUT[6:0] - 1) × 10 mV) 範圍為0.26 V到1.56 V

VSD1 = 0.26 V + ((SD1VOUT[6:0] - 1) × 10 mV) 範圍為0.26 V到1.56 V

VSD2 = 0.6 V + (SD2VOUT[7:0] × 6.25 mV) 範圍為0.6 V到2.194 V

VSD3 = 0.6 V + (SD3VOUT[7:0] × 12.5 mV) 範圍為0.6 V到3.7875 V

CNFG2和CNFG3暫存器用於選擇斜坡速率(2.5 mV/μs或10 mV/μs)、致能/禁用主動放電、致能/禁用跳頻模式、選擇回應時間和過壓閾值。

LDO電壓調節器

每個LDO穩壓器實例都有兩個相關暫存器(LDO_CNFG1_Lx和LDO_CNFG2_Lx)。

CNFG1設定輸出電壓:

LDO0和LDO1為0.8 V至2.375 V。

VLDO = 0.8 V + (VOUT_LDO[5:0] × 25 mV)

LDO2、LDO3、LDO5、LDO6、LDO7、LDO8為0.8 V至3.95 V

VLDO = 0.8 V + (VOUT_LDO[5:0] × 50 mV)

LDO4為0.4 V至1.275 V

VLDO = 0.4 V + (VOUT_LDO[5:0] × 12.5 mV)

CNFG2用於致能/禁用過壓箝位、致能/禁用自動低功耗模式、致能/禁用主動放電、選擇快速/慢速啟動。

GPIOs

每個GPIO實例都有一個相關暫存器CNFG_GPIOx,該元件負責選擇方向GPO/GPI、輸出類型(開漏/推挽)和輸出驅動位準(若為GPO),以及輸入驅動位準、中斷行為和去抖動配置(若為GPI)。

FPS

時序由xxxFPS暫存器定義,LDO0FPS至LDO8FPS用於線性穩壓器,SD0FPS至SD3FPS用於降壓轉換器,GPIO0FPS、GPIO1FPS、GPIO2FPS、GPIO7FPS用於GPIO,RSTIOFPS用於復位。

FPS[2:0]用於設定關斷時隙(SLOT0至SLOT7)

FPS[5:3]用於設定上電時隙(SLOT0至SLOT7)

FPS[7:6]用於設定分配的時序控制器(FPS0、FPS1)

FPS0由EN0致能,FPS1由EN1致能

上電和關斷時隙的大小可以利用MSTR_PU_PD暫存器指定:

MSTR_PU_PD[2:0]用於指定關斷時隙,MSTR_PU_PD[6:4]用於指定上電時隙

可能的步驟為:31 μs、63 μs、127 μs、253 μs、508 μs、984 μs、1936 μs、3904 μs,MAX77714EWC+的預設值為3904 μs。

GUI實際應用

在圖5中,已利用GUI將SD0的輸出電壓修改為0.7 V。

Figure 5. GUI used to modify SD0 voltage.

圖5.用於修改SD0電壓的GUI。

SD0上電和關斷時序已修改為時隙2(圖6)。

Figure 6. GUI used to modify SDO slot number.

圖6.用於修改SDO時隙號的GUI。

GPIO4已配置為推挽輸出,驅動位準為高位準(圖7)。

Figure 7. GUI used to configure GPIO4.

圖7.用於配置GPIO4的GUI。

最後,使用「導入/匯出」選項卡將修改後的暫存器值匯出為Excel檔(圖8)。

Figure 8. GUI used to export register values.

圖8.用於匯出暫存器值的GUI。

以下是生成的.csv文件(圖9)。

Figure 9. The format of the MAX77714 .csv file.

圖9.MAX77714 .csv檔的格式。

請注意,如果必須在上電期間對連接到I2C的其他元件進行編程,用戶可以使用相同格式將其他命令附加到.csv文件。

從.csv檔創建I2C主機韌體

您可以點擊 此處 獲取MAX28200 GUI,按照以下步驟可對元件進行編程:

  1. 從.csv文件建構.hex文件(圖10)。
  2. 對元件進行編程(圖11和圖12)

Figure 10. Build a .hex file from the original .csv file.

圖10.從原始.csv文件建構.hex文件。

Figure 11. A programming device with the selected script.

圖11.使用選定腳本對元件進行編程。

Figure 12. A programming device with a data pattern.

圖12.使用資料模式對元件進行編程。

對建議解決方案進行測試

一旦在上電時使用MAX77714.hex進行編程,P0.3就會置為低位準,以將MAX77714 I2C線連接到MAX28200,並使用新值對SD0和GPIO4暫存器進行編程(圖13)。

Figure 13. The MAX77714 SD0 and GPIO4 registers are programmed with new values.

圖13.MAX77714 SD0和GPIO4暫存器已用新值進行程式設計。

現在,當MAX77714致能時,EN0置為高位準,SD0將按照編程設定,以0.7 V在時隙2上電。圖14為暫存器寫入之前上電(a)和暫存器寫入之後上電(b)的情況。

Figure 14. SDO power-up before and after registering writing. (a) Power-up before register writing. (b) Power-up after register writing.

圖14.SDO在暫存器寫入之前和之後上電。(a)暫存器寫入之前上電。(b)暫存器寫入之後上電。

結論

MAX28200為一款具吸引力的微控制器解決方案,能夠為PMIC提供上電設定。此過程可以使用工具來自動執行,無需設計人員編寫任何程式碼。對於不熟悉軟體的硬體設計人員來說,這是一個非常方便的解決方案。微控制器就像黑盒子一樣,工作時無需韌體設計人員參與,相關優勢使設計人員可以透過針對特定應用客製化的現成元件來達到整合目標。