0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用筆記|STM32MP1 系列 MPU 的 DDR 配置

STM32單片機(jī) ? 來(lái)源:未知 ? 2023-03-25 20:30 ? 次閱讀

本文檔描述在 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)諧。

8396fcbc-cb08-11ed-bfe3-dac502259ad0.png

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)練。

83af09ce-cb08-11ed-bfe3-dac502259ad0.png

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ù)如下圖所示

83c65a70-cb08-11ed-bfe3-dac502259ad0.png

按照第 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)擊“閱讀原文”下載原文檔。

83d893e8-cb08-11ed-bfe3-dac502259ad0.png

長(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)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何在STM32上運(yùn)行AI應(yīng)用

    1.X-Linux-AI概述X-LINUX-AI是STM32MPUOpenSTLinux擴(kuò)展包,面向STM32MP1STM32MP2系列
    的頭像 發(fā)表于 09-30 08:00 ?2492次閱讀
    如何在<b class='flag-5'>STM32</b>上運(yùn)行AI應(yīng)用

    TLC3702 TLC3704系列應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《TLC3702 TLC3704系列應(yīng)用筆記.pdf》資料免費(fèi)下載
    發(fā)表于 09-20 09:14 ?0次下載
    TLC3702 TLC3704<b class='flag-5'>系列</b>應(yīng)<b class='flag-5'>用筆記</b>

    STM32mp157AAC3 1GB DDR編譯運(yùn)行報(bào)錯(cuò)的原因?

    開(kāi)發(fā)板:野火電子STM32MP157 MPU:STM32MP157AAC3 DDR:1GB DDR
    發(fā)表于 07-23 06:17

    STM32MP157F-DK2配置的4G DDR3L,為什么輸入free指令的時(shí)候,顯示只有300M的運(yùn)行內(nèi)存?

    STM32MP157F-DK2配置的 4G DDR3L,但為什么輸入free指令的時(shí)候,顯示只有300M的運(yùn)行內(nèi)存。
    發(fā)表于 05-30 06:22

    STM32MP1STM32MP2有什么不同?

    想用MPU自學(xué)自制圖像識(shí)別與建模系統(tǒng),哪個(gè)系列更適合呢
    發(fā)表于 05-30 06:21

    芯海通用 MCU 應(yīng)用筆記 :CS32F103 系列 MCU IAP 升級(jí)指南

    本應(yīng)用筆記旨在幫助指導(dǎo)用戶針對(duì)芯海 CORTEX-M3 MCU CS32F103 系列單片機(jī) IAP 應(yīng)用的快速開(kāi)發(fā)。本應(yīng)用筆記實(shí)現(xiàn)了 CAN 和 USART 兩種接口方式來(lái)開(kāi)發(fā) IAP 應(yīng)用,協(xié)議
    發(fā)表于 05-16 11:40

    芯海通用 MCU 應(yīng)用筆記: CS32F03x 系列硬件設(shè)計(jì)指南

    本技術(shù)說(shuō)明文檔提供關(guān)于 CS32F03x 系列 MCU 的電源,啟動(dòng)引導(dǎo)配置,應(yīng)用注意事項(xiàng)的說(shuō)明,旨在幫助用戶更好地使用 CS32F03x 系列 MCU,進(jìn)行芯海科技 CS32F03x 系列
    發(fā)表于 05-16 11:32

    芯海通用 MCU 應(yīng)用筆記: C32F03x 系列快速應(yīng)用指南

    本應(yīng)用筆記旨在指導(dǎo)用戶搭建 CS32F03x/F03x-RA 系列 MCU 開(kāi)發(fā)環(huán)境并進(jìn)行開(kāi)發(fā)和調(diào)試,包括:軟件開(kāi)發(fā)與移植、軟硬件注意事項(xiàng)、開(kāi)發(fā)板說(shuō)明、如何 Keil/IAR/GCC 下安裝 SDK
    發(fā)表于 05-16 11:29

    CSU18MX86應(yīng)用筆記

    本應(yīng)用筆記旨在為用戶提供關(guān)于CSU18MX86的詳細(xì)信息和使用指南,幫助用戶快速開(kāi)發(fā)基于CSU18MX86的應(yīng)用。*附件:CSU18MX86應(yīng)用筆記_V1.0.pdf
    發(fā)表于 05-16 10:21

    MCU友好過(guò)渡MPU,米爾基于STM32MP135開(kāi)發(fā)板裸機(jī)開(kāi)發(fā)應(yīng)用筆記

    MPU之間的區(qū)別變得越來(lái)越模糊。STM32MP135是一款入門(mén)級(jí)的高性價(jià)比MPU,適用于MCU性能達(dá)不到要求或者需要跑Linux的場(chǎng)景。米爾的STM32MP135開(kāi)發(fā)板提供基于
    發(fā)表于 03-29 18:35

    STM32MP157F-DK2 tsv下載錯(cuò)誤的原因?

    問(wèn)題 按照官網(wǎng)教程 Getting_started 操作測(cè)試開(kāi)發(fā)板 進(jìn)行到使用 CubeProgrammer 下載 STM32MP1 OpenSTLinux Starter Package 至
    發(fā)表于 03-29 08:11

    STM32MP157A-DK1老是提示電源有問(wèn)題怎么解決?

    : STMicroelectronics STM32MP157A-DK1 Discovery Board Board: stm32mp1 in trusted mode (st
    發(fā)表于 03-27 08:07

    請(qǐng)問(wèn)STM32MP135裸機(jī)開(kāi)發(fā)DDR怎么配置?

    使用STM32CubeMx 配置4Gb DDR3L,目前是這樣配置
    發(fā)表于 03-11 08:35

    STM32MP135-DK的STM32MP13XX_CUSTOM_HW文件夾中DDR_init是否是通用的模板?

    使用的是STM32MP135DA芯片,搭載4GbMT41K256M16TW-107 IT:P,開(kāi)發(fā)板, 請(qǐng)問(wèn) 1、是否可以直接燒錄DDR_init工程。 2、要使得程序在DDR中運(yùn)行
    發(fā)表于 03-11 07:44

    STM32mp135裸機(jī)開(kāi)發(fā)無(wú)法使用DDR嗎?

    /STM32CubeMP13_Package_-_Getting_started#Integrating_AzureRTOS_middleware 咨詢一下關(guān)于DDR的使用問(wèn)題: 1.只有RTOS的才能對(duì)
    發(fā)表于 03-11 07:01