本文檔描述在 STM32MP1 系列 MPU 產(chǎn)品上配置 DDR 子系統(tǒng)(DDRSS)所需的流程和步驟。
設定 DDR 控制器(DDRCTRL)、PHY 接口(DDRPHYC)和 SDRAM 模式寄存器的多個參數(shù)以及設置完成 DDRSS 配置。
根據(jù) DDR 類型、DDR 大小、DRAM 拓撲、運行時間頻率和 SDRAM 器件數(shù)據(jù)手冊參數(shù)確定這些參數(shù)。所有這些參數(shù)必須在初始化序列期間設定。
STM32CubeMX DDR 測試套件使用直觀的面板和菜單隱藏了與確定正確參數(shù)和初始化啟動相關的復雜性(請參考[6])。為了快速設置要運行的 DDRSS,用戶只需提供很少幾個輸入?yún)?shù)即可完成配置??梢允褂靡恍└呒売脩裟J胶吞厥夤δ埽ó斔鼈儗τ趹枚允种匾獣r)。
在系統(tǒng)啟動階段,為了優(yōu)化時序裕量,支持多種 PHY 調(diào)諧??梢允褂?STM32CubeMX 啟動這些調(diào)諧。PHY 調(diào)諧結(jié)果可以保存并在后續(xù)冷復位時恢復。
在啟動階段,用戶可以運行大量測試套件。這些測試可以使用 STM32CubeMX 啟動,并用于確認 DDR 配置的穩(wěn)健性。
目錄預覽
1 概述
2 DDR 子系統(tǒng)初始化和配置
3 配置參數(shù)
4 配置序列和參數(shù)
5 DDR3/3L 配置
6 LPDDR2 配置
7LPDDR3 配置
8STM32CubeMX 的 DDR 測試
9 高級用戶配置
1. 概述
本文檔適用于 STM32MP1 系列基于 Arm的 MPU。
2.DDR 子系統(tǒng)初始化和配置
DDR 子系統(tǒng)包括 DDRCTRL 和 DDRPHYC(參見下圖)。
DDRCTRL 支持在正常操作期間通過命令和刷新調(diào)度進行 DDR 命令調(diào)度。
DDRPHYC 是一種 DDR PHY 接口,具有連接 DDRCTL 的 DFI 接口[7]和字節(jié)通道架構,適合連接頻率不超過 533MHz 的 DDR3/3L 和 LPDDR2/3。
DDRPHYC 完全支持具有多個 PHY 調(diào)諧選項(內(nèi)置)的 DDR 初始化。
DDRPYC 包含 BIST 引擎,用于支持軟件驅(qū)動的調(diào)諧。

2.1 DDRSS 和 SDRAM 初始化
器件根據(jù) SDRAM 啟動序列對電源、時鐘和復位進行內(nèi)部排序。
圖 2 所示的 PHY 初始化序列由 DDRPHYC 物理實用模塊(PUB)控制。這一基于 PUB 的初始化序列在DDRPHYC 從復位狀態(tài)釋放后啟動,并根據(jù) DDRPHYC.PIR 寄存器進行排序。
初始化序列包括以下步驟:
1.DDRCTRL 和 DDRPHYC 初始化包括內(nèi)部時序模塊(ITM)復位以及 DLL 復位和鎖定
2. DDRPHYC I/O 初始校準(ZCAL),與 DLL 鎖定同時啟動
3. 通過模式寄存器寫入和校準命令執(zhí)行 SDRAM 初始化
4. 內(nèi)置 DQS 門控訓練(DQSTRN)
提示 :
? 在 SSTL 模式下為所有 SDRAM 設置 DDRPHYC I/O。
? DQS 門控訓練是可選的。但是,建議在每次初始化時運行內(nèi)置 DQS 門控訓練。

2.2DDRCTRL 配置
大多數(shù) DDRCTRL 寄存器是靜態(tài)的,并在 DDRCTRL 從復位狀態(tài)釋放和 AXI 端口使能前加載。這是在 DDR 軟件驅(qū)動器的支持下實現(xiàn)的。
在 DDRPHYC 和 DDCTRL 完成初始化后,DDR 子系統(tǒng)就緒,使能 AXI 端口是最后一個步驟。
通過從 STM32CubeMX DDR 面板選擇的菜單/選項提供的極少信息確定 DDRCTRL 和 DDRPHYC 寄存器的配置。
然后,DDRSS 配置被保存并恢復到 DDRCTRL 和 DDRPHYC 寄存器,用于后續(xù)的復位和正常操作。
2.3 DDR 配置
配置 DDR 所需的步驟如下:
1.為 DDRCTRL 和 DDRPHYC 寄存器確定并設定合適值。
2. 啟動 DDRCTRL 和 DDRPHYC 初始化序列。
3. 啟動具有參數(shù)保存和恢復功能的 DDR 調(diào)諧(可選)。
4. 啟動 DDR 測試(可選)。完整配置流程和參數(shù)如下圖所示

按照第 3 節(jié) 配置參數(shù)中的類型描述配置參數(shù)。
2.4 DDR PHY 調(diào)諧
除了使用強制 DQS 門控訓練(DQSTRN)確定讀脈沖期間 DQS 門控的最佳位置,DDRPHYC 還支持兩種讀取時序優(yōu)化,即 PHY 調(diào)諧。
以下從 STM32CubeMX 驅(qū)動的軟件例程支持 PHY 調(diào)諧,以優(yōu)化讀時序裕量:
? DQS 門控訓練(可在 DDR PHY 調(diào)諧期間以交互方式啟動的軟件)
? DQ 位去時滯,以補償 DQ 位通道讀取延遲
? DQS 眼圖居中,用于調(diào)節(jié) DQS/DQS#延遲以實現(xiàn)最佳 DQ 采樣
建議在系統(tǒng)初啟階段進行 PHY 調(diào)諧。為每個字節(jié)通道執(zhí)行調(diào)諧。由于 PHY 調(diào)諧時間可能較長(幾十秒),必須為后續(xù)復位和 PHY 初始化(例如,在冷復位和待機退出時)保存和恢復調(diào)諧參數(shù)。
更多詳細信息,請參見第 3.4 節(jié) PHY 調(diào)諧。
2.5DDR 測試
在配置 DDR 并為優(yōu)化時序調(diào)諧 PHY 后,必須通過運行從 STM32CubeMX 啟動的大量測試序列檢查配置的穩(wěn)健性。
在初啟階段使用 DDR 之前, 必須運行 STM32CubeMx 建議的所有測試和級別。第 8 節(jié) STM32CubeMX 的 DDR 測試中描述了 DDR 測試和測試流程,以及故障診斷和處理措施。
DDR 子系統(tǒng)初啟在 DDR 配置、調(diào)諧和壓力測試成功后完成。保存配置參數(shù)用于正常運行模式初始化和 DDR run 模式。
3.配置參數(shù)
DDR 配置參數(shù)(無論適用于 DDRCTRL 還是 DDRPHYC)可分為以下幾組:
? 系統(tǒng)參數(shù):DDR 類型(DDR3/LPDDR2/3)、總線寬度(16 位/32 位)、時鐘頻率和密度。脈沖長度和時序模式取決于系統(tǒng)配置并由 STM32CubeMX 設置,用戶只需在 DDR 配置面板中輸入幾個必填項。
? 時序參數(shù),根據(jù) DDR 時鐘頻率和 SDRAM 數(shù)據(jù)手冊確定。該組包括以下參數(shù):
– 基礎時序
– JEDEC 內(nèi)核時序
– 次級時序
? 運行模式和特殊參數(shù),與性能調(diào)度、刷新時序和地址映射有關。從配置面板上推薦給用戶的預定義設置中選擇這些參數(shù)。STM32CubeMX DDR 配置提示了一些參數(shù)和選項(例如,設置特定模式或擴展溫度支持)。
? PHY 調(diào)諧參數(shù),與在初始化期間使用一些 PHY 內(nèi)置模塊或執(zhí)行的軟件序列確定的 PHY 時序有關。該組包括以下參數(shù):
– DQS 門控訓練(DQSTRN)
– DQ 通道位去時滯細步長延遲
– DQS 眼圖居中細步長延遲PHY 調(diào)諧結(jié)果可通過 STM32CubeMx 進行保存和恢復。
更多詳細信息,請參見[1]。
本文檔主要描述在 STM32MP1 系列 MPU產(chǎn)品上配置 DDR 子系統(tǒng)(DDRSS)所需的流程和步驟。由于文章篇幅有限僅展示部分信息,完整內(nèi)容請點擊“閱讀原文”下載原文檔。

長按掃碼關注公眾號
更多資訊,盡在STM32
▽點擊“閱讀原文”,可下載原文檔
原文標題:應用筆記|STM32MP1 系列 MPU 的 DDR 配置
文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
-
單片機
+關注
關注
6067文章
44970瀏覽量
649811 -
STM32
+關注
關注
2293文章
11031瀏覽量
364259
原文標題:應用筆記|STM32MP1 系列 MPU 的 DDR 配置
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
參考STM32 MPU生態(tài)資源利用Yocto構建STM32MP2芯片鏡像運行docker
【米爾-STM32MP257開發(fā)板試用體驗】初次體驗米爾-STM32MP257開發(fā)板
如何關閉STM32MP1 Developer Package開機默認的gtk演示程序?
STM32MP135D 操作DDR過慢怎么解決?
X-CUBE-CLASSB以及生態(tài)系統(tǒng)為何如此重要
TLC3702 TLC3704系列應用筆記

評論