本文檔描述在 STM32MP1 系列 MPU 產(chǎn)品上配置 DDR 子系統(tǒng)(DDRSS)所需的流程和步驟。
設(shè)定 DDR 控制器(DDRCTRL)、PHY 接口(DDRPHYC)和 SDRAM 模式寄存器的多個參數(shù)以及設(shè)置完成 DDRSS 配置。
根據(jù) DDR 類型、DDR 大小、DRAM 拓撲、運行時間頻率和 SDRAM 器件數(shù)據(jù)手冊參數(shù)確定這些參數(shù)。所有這些參數(shù)必須在初始化序列期間設(shè)定。
STM32CubeMX DDR 測試套件使用直觀的面板和菜單隱藏了與確定正確參數(shù)和初始化啟動相關(guān)的復(fù)雜性(請參考[6])。為了快速設(shè)置要運行的 DDRSS,用戶只需提供很少幾個輸入?yún)?shù)即可完成配置。可以使用一些高級用戶模式和特殊功能(當(dāng)它們對于應(yīng)用而言十分重要時)。
在系統(tǒng)啟動階段,為了優(yōu)化時序裕量,支持多種 PHY 調(diào)諧??梢允褂?STM32CubeMX 啟動這些調(diào)諧。PHY 調(diào)諧結(jié)果可以保存并在后續(xù)冷復(fù)位時恢復(fù)。
在啟動階段,用戶可以運行大量測試套件。這些測試可以使用 STM32CubeMX 啟動,并用于確認 DDR 配置的穩(wěn)健性。
目錄預(yù)覽
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é)通道架構(gòu),適合連接頻率不超過 533MHz 的 DDR3/3L 和 LPDDR2/3。
DDRPHYC 完全支持具有多個 PHY 調(diào)諧選項(內(nèi)置)的 DDR 初始化。
DDRPYC 包含 BIST 引擎,用于支持軟件驅(qū)動的調(diào)諧。
2.1 DDRSS 和 SDRAM 初始化
器件根據(jù) SDRAM 啟動序列對電源、時鐘和復(fù)位進行內(nèi)部排序。
圖 2 所示的 PHY 初始化序列由 DDRPHYC 物理實用模塊(PUB)控制。這一基于 PUB 的初始化序列在DDRPHYC 從復(fù)位狀態(tài)釋放后啟動,并根據(jù) DDRPHYC.PIR 寄存器進行排序。
初始化序列包括以下步驟:
1.DDRCTRL 和 DDRPHYC 初始化包括內(nèi)部時序模塊(ITM)復(fù)位以及 DLL 復(fù)位和鎖定
2. DDRPHYC I/O 初始校準(zhǔn)(ZCAL),與 DLL 鎖定同時啟動
3. 通過模式寄存器寫入和校準(zhǔn)命令執(zhí)行 SDRAM 初始化
4. 內(nèi)置 DQS 門控訓(xùn)練(DQSTRN)
提示 :
? 在 SSTL 模式下為所有 SDRAM 設(shè)置 DDRPHYC I/O。
? DQS 門控訓(xùn)練是可選的。但是,建議在每次初始化時運行內(nèi)置 DQS 門控訓(xùn)練。
2.2DDRCTRL 配置
大多數(shù) DDRCTRL 寄存器是靜態(tài)的,并在 DDRCTRL 從復(fù)位狀態(tài)釋放和 AXI 端口使能前加載。這是在 DDR 軟件驅(qū)動器的支持下實現(xiàn)的。
在 DDRPHYC 和 DDCTRL 完成初始化后,DDR 子系統(tǒng)就緒,使能 AXI 端口是最后一個步驟。
通過從 STM32CubeMX DDR 面板選擇的菜單/選項提供的極少信息確定 DDRCTRL 和 DDRPHYC 寄存器的配置。
然后,DDRSS 配置被保存并恢復(fù)到 DDRCTRL 和 DDRPHYC 寄存器,用于后續(xù)的復(fù)位和正常操作。
2.3 DDR 配置
配置 DDR 所需的步驟如下:
1.為 DDRCTRL 和 DDRPHYC 寄存器確定并設(shè)定合適值。
2. 啟動 DDRCTRL 和 DDRPHYC 初始化序列。
3. 啟動具有參數(shù)保存和恢復(fù)功能的 DDR 調(diào)諧(可選)。
4. 啟動 DDR 測試(可選)。完整配置流程和參數(shù)如下圖所示
按照第 3 節(jié) 配置參數(shù)中的類型描述配置參數(shù)。
2.4 DDR PHY 調(diào)諧
除了使用強制 DQS 門控訓(xùn)練(DQSTRN)確定讀脈沖期間 DQS 門控的最佳位置,DDRPHYC 還支持兩種讀取時序優(yōu)化,即 PHY 調(diào)諧。
以下從 STM32CubeMX 驅(qū)動的軟件例程支持 PHY 調(diào)諧,以優(yōu)化讀時序裕量:
? DQS 門控訓(xùn)練(可在 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ù)復(fù)位和 PHY 初始化(例如,在冷復(fù)位和待機退出時)保存和恢復(fù)調(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 設(shè)置,用戶只需在 DDR 配置面板中輸入幾個必填項。
? 時序參數(shù),根據(jù) DDR 時鐘頻率和 SDRAM 數(shù)據(jù)手冊確定。該組包括以下參數(shù):
– 基礎(chǔ)時序
– JEDEC 內(nèi)核時序
– 次級時序
? 運行模式和特殊參數(shù),與性能調(diào)度、刷新時序和地址映射有關(guān)。從配置面板上推薦給用戶的預(yù)定義設(shè)置中選擇這些參數(shù)。STM32CubeMX DDR 配置提示了一些參數(shù)和選項(例如,設(shè)置特定模式或擴展溫度支持)。
? PHY 調(diào)諧參數(shù),與在初始化期間使用一些 PHY 內(nèi)置模塊或執(zhí)行的軟件序列確定的 PHY 時序有關(guān)。該組包括以下參數(shù):
– DQS 門控訓(xùn)練(DQSTRN)
– DQ 通道位去時滯細步長延遲
– DQS 眼圖居中細步長延遲PHY 調(diào)諧結(jié)果可通過 STM32CubeMx 進行保存和恢復(fù)。
更多詳細信息,請參見[1]。
本文檔主要描述在 STM32MP1 系列 MPU產(chǎn)品上配置 DDR 子系統(tǒng)(DDRSS)所需的流程和步驟。由于文章篇幅有限僅展示部分信息,完整內(nèi)容請點擊“閱讀原文”下載原文檔。
長按掃碼關(guān)注公眾號
更多資訊,盡在STM32
▽點擊“閱讀原文”,可下載原文檔
原文標(biāo)題:應(yīng)用筆記|STM32MP1 系列 MPU 的 DDR 配置
文章出處:【微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
單片機
+關(guān)注
關(guān)注
6039文章
44583瀏覽量
636514 -
STM32
+關(guān)注
關(guān)注
2270文章
10910瀏覽量
356606
原文標(biāo)題:應(yīng)用筆記|STM32MP1 系列 MPU 的 DDR 配置
文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論