STM32MP1 系列 MPU 的 DDR 配置

本文檔描述在 STM32MP1 系列 MPU 產品上配置 DDR 子系統(DDRSS)所需的流程和步驟。 

設定 DDR 控制器(DDRCTRL)、PHY 接口(DDRPHYC)和 SDRAM 模式寄存器的多個參數以及設置完成 DDRSS 配置。 

根據 DDR 類型、DDR 大小、DRAM 拓撲、運行時間頻率和 SDRAM 器件數據手冊參數確定這些參數。所有這些參數必須在初始化序列期間設定。

STM32CubeMX DDR 測試套件使用直觀的面板和菜單隱藏了與確定正確參數和初始化啟動相關的複雜性(請參考STM32CubeMX for STM32 configuration and initialization C code generation - User manual)。
為了快速設置要運行的 DDRSS,用戶只需提供很少幾個輸入參數即可完成配置。可以使用一些高級用戶模式和特殊功能(當它們對於應用而言十分重要時)。 

在系統啟動階段,為了優化時序裕量,支持多種 PHY 調諧。可以使用 STM32CubeMX 啟動這些調諧。PHY 調諧結果可以保存並在後續冷復位時恢復。 

在啟動階段,用戶可以運行大量測試套件。這些測試可以使用 STM32CubeMX 啟動,並用於確認 DDR 配置的穩健性。

目錄預覽

1 概述

2 DDR 子系統初始化和配置

3 配置參數

4 配置序列和參數 

5 DDR3/3L 配置

6 LPDDR2 配置

7 LPDDR3 配置

8 STM32CubeMX 的 DDR 測試

9 進階用戶配置

1. 概述

本文檔適用於 STM32MP1 系列基於 Arm®的 MPU。 

2.DDR 子系統初始化和配置

DDR 子系統包括 DDRCTRL 和 DDRPHYC(參見下圖)。  

DDRCTRL 支持在正常操作期間通過命令和刷新調度進行 DDR 命令調度。  

DDRPHYC 是一種 DDR PHY 接口,具有連接 DDRCTL 的 DFI 接口[7]和字節通道架構,適合連接頻率不超過 533MHz 的 DDR3/3L 和 LPDDR2/3。  

DDRPHYC 完全支持具有多個 PHY 調諧選項(內置)的 DDR 初始化。 

DDRPYC 包含 BIST 引擎,用於支持軟體驅動的調諧。
 

2.1 DDRSS 和 SDRAM 初始化 

器件根據 SDRAM 啟動序列對電源、時鐘和復位進行內部排序。  

圖 2 所示的 PHY 初始化序列由 DDRPHYC 物理實用模塊(PUB)控制。這一基於 PUB 的初始化序列在DDRPHYC 從復位狀態釋放後啟動,並根據 DDRPHYC.PIR 寄存器進行排序。 

 初始化序列包括以下步驟: 

1.DDRCTRL 和 DDRPHYC 初始化包括內部時序模塊(ITM)復位以及 DLL 復位和鎖定 

 2. DDRPHYC I/O 初始校準(ZCAL),與 DLL 鎖定同時啟動  

3. 通過模式寄存器寫入和校準命令執行 SDRAM 初始化  

4. 內置 DQS 門控訓練(DQSTRN) 

 提示 :

• 在 SSTL 模式下為所有 SDRAM 設置 DDRPHYC I/O。 

• DQS 門控訓練是可選的。但是,建議在每次初始化時運行內置 DQS 門控訓練。

 
2.2 DDRCTRL 配置  

大多數 DDRCTRL 寄存器是靜態的,並在 DDRCTRL 從復位狀態釋放和 AXI 埠使能前加載。這是在 DDR 軟體驅動器的支持下實現的。

 在 DDRPHYC 和 DDCTRL 完成初始化後,DDR 子系統就緒,使能 AXI 埠是最後一個步驟。  

通過從 STM32CubeMX DDR 面板選擇的菜單/選項提供的極少信息確定 DDRCTRL 和 DDRPHYC 寄存器的配置。  

然後,DDRSS 配置被保存並恢復到 DDRCTRL 和 DDRPHYC 寄存器,用於後續的復位和正常操作。

2.3 DDR 配置 

配置 DDR 所需的步驟如下: 

1.為 DDRCTRL 和 DDRPHYC 寄存器確定並設定合適值。  

2. 啟動 DDRCTRL 和 DDRPHYC 初始化序列。  

3. 啟動具有參數保存和恢復功能的 DDR 調諧(可選)。 

4. 啟動 DDR 測試(可選)。完整配置流程和參數如下圖所示


按照第 3 節 配置參數中的類型描述配置參數。 

2.4 DDR PHY 調諧 

除了使用強制 DQS 門控訓練(DQSTRN)確定讀脈衝期間 DQS 門控的最佳位置,DDRPHYC 還支持兩種讀取時序優化,即 PHY 調諧。 

 以下從 STM32CubeMX 驅動的軟體例程支持 PHY 調諧,以優化讀時序裕量: 

• DQS 門控訓練(可在 DDR PHY 調諧期間以交互方式啟動的軟體) 

• DQ 位去時滯,以補償 DQ 位通道讀取延遲 

• DQS 眼圖居中,用於調節 DQS/DQS#延遲以實現最佳 DQ 採樣

 建議在系統初啟階段進行 PHY 調諧。為每個字節通道執行調諧。由於 PHY 調諧時間可能較長(幾十秒),必須為後續復位和 PHY 初始化(例如,在冷復位和待機退出時)保存和恢復調諧參數。 

更多詳細信息,請參見第 3.4 節 PHY 調諧。

2.5 DDR 測試 

在配置 DDR 並為優化時序調諧 PHY 後,必須通過運行從 STM32CubeMX 啟動的大量測試序列檢查配置的穩健性。 

在初啟階段使用 DDR 之前, 必須運行 STM32CubeMx 建議的所有測試和級別。第 8 節 STM32CubeMX 的 DDR 測試中描述了 DDR 測試和測試流程,以及故障診斷和處理措施。 

DDR 子系統初啟在 DDR 配置、調諧和壓力測試成功後完成。保存配置參數用於正常運行模式初始化和 DDR run 模式。

3.配置參數

DDR 配置參數(無論適用於 DDRCTRL 還是 DDRPHYC)可分為以下幾組:

• 系統參數:DDR 類型(DDR3/LPDDR2/3)、總線寬度(16 位/32 位)、時鐘頻率和密度。脈衝長度和時序模式取決於系統配置並由 STM32CubeMX 設置,用戶只需在 DDR 配置面板中輸入幾個必填項。  

• 時序參數,根據 DDR 時鐘頻率和 SDRAM 數據手冊確定。該組包括以下參數: 

– 基礎時序 

– JEDEC 內核時序 

– 次級時序  

• 運行模式和特殊參數,與性能調度、刷新時序和地址映射有關。從配置面板上推薦給用戶的預定義設置中選擇這些參數。STM32CubeMX DDR 配置提示了一些參數和選項(例如,設置特定模式或擴展溫度支持)。  

• PHY 調諧參數,與在初始化期間使用一些 PHY 內置模塊或執行的軟體序列確定的 PHY 時序有關。該組包括以下參數: 

– DQS 門控訓練(DQSTRN) 

– DQ 通道位去時滯細步長延遲

– DQS 眼圖居中細步長延遲PHY 調諧結果可通過 STM32CubeMx 進行保存和恢復。 

更多詳細信息,請參見STM32MP1 series reference manuals and datasheets
STM32MP1 Series - PDF Documentation 

本文檔主要描述在 STM32MP1 系列 MPU產品 上配置 DDR 子系統(DDRSS)所需的流程和步驟。

完整內容請點擊https://www.stmcu.com.cn/Designresource/detail/localization_document/711483
下載原文檔。

技術文檔

類型標題檔案
硬件Application note

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論