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