i.MX RT1170 是 NXP 推出的一款高性能 MCU,擁有強大的處理能力和豐富的周邊介面,然而,要確保晶片能正常運作,首先需要確保整體的電源系統正常運作。i.MX RT1170 的電源系統可以分為外部 ( External ) 和內部 ( Internal ) 兩個部分。在本文中,將介紹這兩種電源分別提供給哪些地方、大約的耗電量,以及一些注意事項,以幫助讀者建立起有關電源系統的正確觀念。
二. Internal & External
根據源頭可以分成外部 ( External ) DCDC 和 LDO 或是內部 ( Internal ) DCDC 和 LDO,前者透過 DCDC 或 LDO 元件轉出需要的電壓給到 MCU;後者則是透過 MCU 內部的 DCDC 或 LDO 將外部的輸入電壓轉成內部需要的電壓;各個電源域 ( Power Domain ) 都需提供正確的電源,且 i.MX RT1170 在開機時需要遵循電源時序,每個電源域的啟動時機都有規定,如果採用外部供電時則需注意是否符合電源時序。
以下圖為例,這是一顆 DCDC 轉換器,將 5V 的輸入轉成 3.3V 供給 MCU 和其他周邊元件
下圖是 MCU 的內部 LDO,將外部輸入的電源轉成內部需要的電壓
三. i.MX RT1170 內部電源介紹
雖然晶片的部分內部電源需要的電壓與外部電源提供的相同,但 RT1170 在啟動時有規定的電源時序 ( Power Sequence ) 需要遵循,各組電源啟動的先後順序皆有規定的,若由外部進行供電,可能會因為錯誤的時序而導致 MCU 無法正常啟動,以下先介紹有哪些內部電源,稍後的章節會再說明什麼是電源時序。
以下是原廠資料中 RT1170 的內部電源架構
有些電源是系統所必需的,缺少它們將無法正常運作;有些電源則是與周邊設備相關的,只有在需要時才需要接上
必需的電源:
1. SNVS_IN:
SNVS_IN 通常由外部電源提供,經由內部 LDO 轉換成 SNVS_ANA 和 SNVS_DIG,再供應給內部模組使用
2. DCDC_IN:
DCDC_IN 是供應給內部 DCDC 轉換器的電源,通常由外部電源提供,負責轉換出核心和其他內部電源所需的電壓
3. VDD_LPSR_IN:
VDD_LPSR_IN 通常由外部電源提供,經由內部 LDO 轉換成 LPSR_ANA 和 LPSR_DIG,供應給振盪器、eFuse 或 LSPR_GPIO 等區塊使用
4. VDDA_ADC_3P3:
VDDA_ADC_3P3 是供應給 ADC ( 類比數位轉換器 ) 的電源。通常由外部電源提供,用於提供 ADC 模組所需的電壓
5. VDD_USB_3P3:
VDD_USB_3P3 是供應給 USB 介面的電源。通常由外部電源提供,用於提供 USB 接口所需的 3.3V 電壓
6. VDD_USB_1P8:
VDD_USB_1P8 是供應給 USB 介面的電源。通常由外部電源提供,用於提供 USB 接口所需的 1.8V 電壓
7. DCDC_DIG_1V:
DCDC_DIG_1V 是供應給 VDD_SOC_IN 的電源,由內部 DCDC 轉換而來,提供給 VDD_SOC_IN 使用
8. VDD_SOC_IN:
VDD_SOC_IN 是供應給系統芯片 ( SOC ) 的電源,由 DCDC_DIG_1V 提供
可選的電源:
1. VDD_MIPI_1P8:
VDD_MIPI_1P8 是供應給 MIPI 介面的電源。通常由外部電源提供,用於提供 MIPI 介面所需的 1.8V 電壓
2. NVCC_DISP1、NVCC_DISP2、NVCC_GPIO、NVCC_EMC1、NVCC_EMC2、NVCC_SD1、NVCC_SD2:
這些是供應給不同周邊模組的電源。通常由外部電源提供,用於提供相應模組所需的電壓。具體包括顯示器接口 ( DISP )、通用 I/O 接口 ( GPIO )、外部存儲控制器 ( EMC ) 和 SD 卡接口 ( SD ) 等。
除了上述提到的電源之外,還有其他電源如 VDD_SNVS_ANA、NVCC_SNVS、DCDC_ANA_1P8 等等。關於每組電源的詳細描述,可以參考原廠 RT1170 的相關文件。內部電源系統的電壓都是透過內部的 DCDC 或 LDO 轉換而來,為了確保電壓的精準度並減少雜訊,會要求擺放 Bypass 電容,以下是原廠文件中的部分描述:
根據表格顯示,每組電源都有特定的電容值和擺放位置要求。為了確保系統的穩定性,我們必須遵守這些要求。關於每組電源的具體要求,建議參考原廠的 Hardware Development Guide。至於電容的具體擺放方式,可以參考公板的線路設計。這些步驟都是為了確保系統的正常運作和穩定性。
四. i.MX RT1170 電源時序
i.MX RT1170 晶片在啟動時有一套需要遵循的上電順序,這包括了哪些電源域應該先啟動、哪些應該後啟動,以及它們之間的時間間隔等相關規定。這些規定合起來最終呈現的就是電源時序 ( Power Sequence ),為了確保系統能夠正常啟動,我們必須嚴格遵守這些規定。以下是原廠資料中提供的兩張圖示,幫助讀者更好的理解什麼是電源時序。
1. 電源控制方塊圖,用來描述各組電源之間的關係
這張圖是原廠開發板的所使用的設計,可以作為參考。然而,最重要的是確保我們的電源時序符合開關機的要求
_1. 由外部 LDO 轉出 3.3V 提供給 SNVS_IN
_2. 發出 PMIC_REQ_ON 控制信號,Enable 外部 DC/DC 開始轉換
_3. DC/DC 轉出 3.3V 供應給內部 DCDC_IN 和其他電源組
_4. 透過 R/C 電路延遲 1ms 發出 DCDC_PSWITCH 控制信號,通知內部 DCDC_IN 開始轉換
_5. 內部 DCDC_DIG 轉出 1V 給 VDD_SOC_IN,啟動核心
2. 電源時序圖,描述各組電源的啟動或關閉順序
下圖是 i.MX RT1170 的電源時序,這是一個硬性規定,我們必須嚴格遵守這個上電順序
根據上圖可以得知每組電源的啟動和關閉順序有特定的要求,以下是其中幾個重要的要點:
- 從控制方塊圖可以看出,VDD_SNVS_IN 需要最先上電
- 當 PMEC_REQ_ON 信號發出後,DC/DC 開始轉換,DCDC_IN 等電源組啟動
- DCDC_PSWITCH 信號在延遲 1ms 後發出
- POR_B 信號在全部電源組啟動後,才上電
電源時序在系統設計和運作中起著重要的作用,確認各個電源組按照正確的順序啟動和關閉,從而確保系統的穩定性、可靠性和安全性。當新板子無法正常啟動時,可以透過量測電源時序幫助釐清問題的源頭。檢查電源時序,可以確認是否有 Module 未正確啟動或關閉,從而幫助排除問題。
五. i.MX RT1170 各組電源耗電量
當每組電源都提供正確的電壓時,下一步要考慮的就是電流消耗量了。要驅動裝置,需要提供足夠的電流給它。以下是從原廠文件擷取的各組電源的最大消耗量:
雖然在實際運作中,大部分情況下不會使用到最大電量 ( Max Current ),但在設計階段仍需以此為基準進行規劃。同時釐清各組電源之間的供需關係,包括供電者、接收者以及電源的來源。在進行規劃時,主要需要注意以下幾點:
- 每條分支電源的耗電量,從末端的 Module 一階一階往前推,確保每處的供電量足夠
- LDO 的輸入和輸出,通常會有最小壓降值 ( Dropout Voltage ),輸入減輸出一定要大於這個值,以 SG Micro 的 SGM2036S 來舉例,如下圖:
假如要在常溫 ( 25℃ ) 下輸出 3.3V 的電壓,輸出電流是 250mA,則輸入電壓要大於 3.45V
- DCDC 的輸入和輸出,每顆 DCDC 都有自己的轉換效率,跟輸入和輸出的電壓電流有關,以 SG Micro 的 SGM61230 來舉例,如下圖:
假設輸入為 12V,輸出需要 5V 1A,根據上表轉換效率約為 95%,則輸入電壓 * 電流 * 轉換效率 = 輸出電壓 * 電流12V * A * 95% = 5V * 1Ad,輸入電流需要 0.438A,調整電源架構,盡量拉高每顆 DCDC 的轉化效率,降低損耗
六. 結論
- 確確保每處的電壓準位正確,因為錯誤的電壓可能導致損壞,進而使整個元件報廢。
- 確保提供足夠的電流量,換句話說,要提供足夠的功率才能驅動裝置。
- 確保符合時序的規定,因為在錯誤的時間啟動可能導致整體無法正常開機
七. 參考資料
- MX RT1170 Datasheet
- Hardware Development Guide for the MIMXRT1170
評論