在i.MX RT060項目(采用QSPI Flash)的實際應用中,有客戶反饋,其在設計階段并未預留DQS信號引腳,而是將該引腳作為GPIO用于控制關鍵外設的開關,這導致程序無法正常運行。在此背景下,本文將以MIMXRT060-EVKB開發板為例,詳細演示如何在不啟用DQS引腳的情況下,通過修改代碼確保開發板的正常運行。
通常情況下,為了提升存儲器訪問速度,i.MXRT系列產品采用QSPIFlash會建議使用DQS信號,設置懸空模式(loopbackfrom DQS pad mode).
然而,當DQS引腳被占用時,就需要采用一些特殊的處理方法。本文所介紹的方法即為在此種情況下的一種可行方案。
DQS信號簡介
首先我們需要了解什么是DSQ信號, DQS信號是數據采樣信號,用于確保數據在高速傳輸過程中的正確性和穩定性。通過提供數據同步與時序控制、提高數據傳輸可靠性以及支持高速數據傳輸等功能。在IMXRT060RM參考手冊中可知RXclock source有以下三種配置:
1. Internaldummy read strobe and loopbacked internally(MCR0[RXCLKSRC]==0)
2. Internaldummy read strobe and loopbacked from DQS pad(MCR0[RXCLKSRC]==1)
3. Flashprovided read strobe(MCR0[RXCLKSRC]==3)
其中設置Internaldummy read strobe and loopbacked Internally這個模式正是本文需要設置的,數據手冊中描述了本模式下節省了一個DQS引腳。使用這個模式的設置限制條件在i.MX RT1060datasheet中有描述, 最大時鐘頻率是60MHz。
二、硬件與軟件準備
1. 硬件:MIMXRT060-EVKB開發板
2. 軟件:NXPSDK(version24.12.0)Demo“evkbmimxrt1060_flash_component_nor_flexspi”
三、代碼修改點
本文使用i.MX RT1060開發板驗證,不使用FlexSPIDQS信號,并將DQS引腳設置成GPIO輸出使用。
我們主要修改xip文件夾下的evkbmimxrt1060_flexspi_nor_config.c文件中readSampleClkSrc和serialClkFreq這兩個設置。
因導入的SDK例程關于演示如何使用NorFlash組件來擦除、編程和讀取外部NorFlash設備。
因此我們還需要修改軟件部分包括:
1. 設置N3引腳為GPIO輸出
2. 修改hardware_init.c文件中代碼.flexspiRootClk= 60000000
3.修改fsl_flexspi_nor_flash.c文件中代碼為flexspiConfig.rxSampleClock=kFLEXSPI_ReadSampleClkLoopbackInternally
4. 修改app.h文件中代碼為CLOCK_SetDiv(kCLOCK_FlexspiDiv,4)
此外,在main函數的最后添加相應代碼。
完成上述修改后,將工程燒寫進開發板,使用萬用表測量N3(FlexSPI_DQS)引腳電壓,可觀察到N3引腳周期拉高拉低。串口終端顯示Nor Flash組件的擦除、編程和讀取外部Nor Flash設備均成功,表明程序運行正常。
總結
本文詳細闡述了在 i.MX RT系列產品中使用外部QSPI Flash芯片且不使用DQS信號引腳的情況下,如何修改代碼并進行驗證的過程。在某些特定場景下,如DQS引腳被其他功能占用或存儲器不需要高訪問速度時,可參考本文介紹的方法修改代碼,以確保工程正常運行。
-
FlaSh
+關注
關注
10文章
1669瀏覽量
151100 -
引腳
+關注
關注
16文章
1618瀏覽量
52458 -
開發板
+關注
關注
25文章
5570瀏覽量
102864 -
GPIO
+關注
關注
16文章
1277瀏覽量
53645
原文標題:i.MX RT系列中FlexSPI DQS信號引腳配置GPIO方法
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
i.MX RT10xx系列外部晶振相關引腳的作用
求助,可以忽略FlexSPI DQS嗎?
01:i.MX RT的市場應用和參考解決方案

恩智浦i.MX RT1170開創GHz MCU時代
恩智浦i.MX RT1170在將該系列帶上了更高的層面
i.MX RT開發筆記-08 | i.MX RT1062嵌套中斷向量控制器NVIC(按鍵中斷檢測)

RT-Thread & NXP 發布 i.MX RT 系列 BSP 新框架

適用于i.MX RT500和i.MX RT600 MCU的Xtensa音頻框架介紹
探討i.MX RT下FlexSPI driver實現Flash編程時對于中斷支持問題
理解i.MX RT中FlexSPI外設lookupTable里配置訪問行列混合尋址Memory的參數值

評論