本文檔描述在 STM32MP1 系列 MPU 產品上配置 DDR 子系統(DDRSS)所需的流程和步驟。
設定 DDR 控制器(DDRCTRL)、PHY 接口(DDRPHYC)和 SDRAM 模式寄存器的多個參數以及設置完成 DDRSS 配置。
根據 DDR 類型、DDR 大小、DRAM 拓撲、運行時間頻率和 SDRAM 器件數據手冊參數確定這些參數。所有這些參數必須在初始化序列期間設定。
STM32CubeMX DDR 測試套件使用直觀的面板和菜單隱藏了與確定正確參數和初始化啟動相關的復雜性(請參考[6])。為了快速設置要運行的 DDRSS,用戶只需提供很少幾個輸入參數即可完成配置。可以使用一些高級用戶模式和特殊功能(當它們對于應用而言十分重要時)。
在系統啟動階段,為了優化時序裕量,支持多種 PHY 調諧。可以使用 STM32CubeMX 啟動這些調諧。PHY 調諧結果可以保存并在后續冷復位時恢復。
在啟動階段,用戶可以運行大量測試套件。這些測試可以使用 STM32CubeMX 啟動,并用于確認 DDR 配置的穩健性。
目錄預覽
1 概述
2 DDR 子系統初始化和配置
3 配置參數
4 配置序列和參數
5 DDR3/3L 配置
6 LPDDR2 配置
7LPDDR3 配置
8STM32CubeMX 的 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.2DDRCTRL 配置
大多數 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.5DDR 測試
在配置 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 進行保存和恢復。
更多詳細信息,請參見[1]。
本文檔主要描述在 STM32MP1 系列 MPU產品上配置 DDR 子系統(DDRSS)所需的流程和步驟。由于文章篇幅有限僅展示部分信息,完整內容請點擊“閱讀原文”下載原文檔。
長按掃碼關注公眾號
更多資訊,盡在STM32
▽點擊“閱讀原文”,可下載原文檔
原文標題:應用筆記|STM32MP1 系列 MPU 的 DDR 配置
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
-
單片機
+關注
關注
6032文章
44516瀏覽量
633025 -
STM32
+關注
關注
2266文章
10871瀏覽量
354806
原文標題:應用筆記|STM32MP1 系列 MPU 的 DDR 配置
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論