在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32L4R9的QuadSPI Flash通訊速率不理想

jf_pJlTbmA9 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2023-11-06 17:06 ? 次閱讀

1. 引言

客戶反應STM32L4R9 同QSPI Flash 通訊,測出來的讀取速率為10MB/s, 和理論值相差較大。

2.問題分析

按照客戶的時鐘配置和STM32L4R9 的數據手冊中的數據,OSPI 讀數速率為10MB/s肯定存在問題。同時我們也可以在AN4760 應用手冊中看到如下說明:

wKgZomUDwSqAGFUpAAGskzl0l7c028.png

wKgaomUDwSyAN1EQAABWuoxR0EQ125.png

在客戶系統中,IO0~IO3的4線通訊模式下信號波形如下圖,可以看出每經過8 個CLK周期就有很長一段時間的延時。如果提高CPU的主頻,這個延時會縮短,但客戶測到最短的延時也有200ns,并且一直存在:

wKgaomUDwS2Adm2SAABXCNk4Jx0454.png

3.問題解決

從客戶測試波形上看,由于是4條數據線,因此8個clock正好是4bytes,也就是32bits數據。懷疑STM32L4R9 QSPI在DMA通訊中,讀到一個word(32bits)數據后需要在內部做一定的數據處理,造成時間延遲。

分析代碼發現,DMA設置的是byte傳輸模式,如下面代碼:

#define BUFFERSIZE (COUNTOF(aTxBuffer) - 1)

hdma.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;

hdma.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;

STM32L4R9是Cortex-M4 內核,系統總線是32bits的,懷疑是在32bit總線上傳輸byte數據會降低效率,造成延遲,于是修改代碼如下:

示例代碼在下面路徑,需要使用附件中的main.c文件替換掉下面文件中的main.c:

…STM32Cube_FW_L4_VxxProjects32L4R9IDISCOVERYExamplesOSPIOSPI_NOR_ReadWrite_DMAEWARM

另外程序中做如下改動:

#define BUFFERSIZE 1024 // (COUNTOF(aTxBuffer) - 1)

hdma.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;

hdma.Init.MemDataAlignment = DMA_PDATAALIGN_WORD;

配置時請留意OSPIHandle.Init.FifoThreshold = 4; //也需要4的倍數。

修改代碼后進行測試,代碼讀 4096bytes的圖像(1026 words),發現每個word數據中間的延遲已經沒有了。之前速度提不上去的問題是DMA byte設置引起,因為STM32L4R9是32bits系統,使用8bits傳輸會降低效率,需要改為DMA 32bits配置就OK了。圖形數據傳輸的總字節數也要設置為4的倍數,不足的需要補齊。

wKgZomUDwS-AF7RpAAFVkeH39SQ736.png

wKgaomUDwTmAeBiCAAe4kOuKORY077.png

DMA改為word設置后數據傳輸時沒有延遲

4. 小結

對32位系統來說,使用byte的數據傳輸在一些情況下會降低效率,建議對32bits系統使用32bits的數據傳輸方式。

來源:STM32單片機

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FlaSh
    +關注

    關注

    10

    文章

    1642

    瀏覽量

    148677
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10904

    瀏覽量

    213023
  • 通訊
    +關注

    關注

    9

    文章

    911

    瀏覽量

    35083
  • 總線
    +關注

    關注

    10

    文章

    2903

    瀏覽量

    88397
收藏 人收藏

    評論

    相關推薦

    STM32L4R9驅動480*800的LCD屏幕,結果屏幕刷新看起來是逐行進行,刷新速度較慢,是否正常?

    請問一下,用STM32L4R9驅動480*800的LCD屏幕(采用一個數據通道),結果屏幕刷新看起來是逐行進行,刷新速度較慢,是否正常,如果有問題可能會是哪里?例程和資料都可以看出整屏同時刷新才對。謝謝
    發表于 03-22 07:04

    使用STM32L4R9單片機開發板,DfuSeDemo無法檢測到設備的原因?

    使用STM32L4R9單片機開發板,官方例程STM32Cube_FW_L4_V1.16.0Projects32L4R9IDISCOVERYApplicationsUSB_DeviceDFU_Standalone 實現USB的IAP,下載完DFU程序后,DfuSeDemo無
    發表于 04-09 07:59

    STM32L4R9如何節省空間和成本

    STM32L4R9:利用 HyperBus 擴展微型物聯網和可穿戴式設計中的存儲器以節省空間和成本
    發表于 12-31 07:42

    STM32L4R9復位標志始終為0為什么會這樣

    細節:單片機:STM32L4R9ZGJ6集成開發環境:STM32CubeIDE v1.6.1開發工具包:STM32Cube_FW_L4_V1.14.0電路板:定制印刷電路板我看到非常奇怪的行為,其中
    發表于 12-02 06:56

    探索板上停止模式下的STM32L4R9功耗數據與電氣特性不匹配怎么處理?

    您好,我們目前正在與我的團隊一起研究 DISCOVERY 板上 STM32L4R9 MCU 的低功耗特性。 我們正在測量 JP1 上的電流消耗,在引腳 3 和 2 之間插入一個外部電流表。我們想在
    發表于 12-05 06:45

    請問如何在STM32L4R9上實現CANOpen協議?

    我正在使用 STWIN SensorTile 無線工業節點開發板,它有一個微型超低功耗 ARM Cortex-M4 MCU,頻率為 120 MHz,帶有 FPU,2048 KB 閃存 (STM32L4R9)。我需要與使用 CANopen 的設備連接,是否可以使用開源庫在該
    發表于 12-09 07:43

    STM32L4R9 LQFP100可以支持多路復用hyperbus ram/flash設備嗎?

    你好根據數據表,STM32L4R9 LQFP100 設備應該能夠支持多路復用 hyperbus ram/flash 設備。(例如cypress S71KSS12SCO)但是在 STM32
    發表于 01-03 07:04

    如何將SPI與STM32L4R9探索板一起使用?

    不幸的是,STM32L4R9 Disco 板上沒有為 SPI 提供示例。我可以從用戶手冊中得知,我需要將電路板上的四通道 SPDT 開關設置為 SPI 配置。如果我理解用戶手冊中的表20,我需要
    發表于 01-11 08:17

    STM32L4R9芯片的圖形加速器DMA2D實例使用

    摘要:本文首先介紹STM32L4R9芯片的圖形特性及相關的硬件模塊,以及圖形顯示時各個模塊的功能劃分。尤其是針對DMA2D模塊,詳細描述主要特性和支持的顏色模式,以及不同顏色模式之間像素的轉換。然后
    發表于 02-07 14:27

    基于STM32L4R9I-DISCO的低功耗系統設計

    本動手實驗的目的是學會自己構建工程,實現STM32L4R9不同的低功耗模式和理解如何進入、退出的觸發機制,并且對比分析實測功耗和理論推導功耗。? 實驗1 :STM32L4R9低功耗模式和特性? 任務
    發表于 09-07 07:08

    利用QuadSPI外擴串行NOR Flash的實現

    利用QuadSPI外擴串行NOR Flash的實現(嵌入式開發軟件學習)-STM32提供了靈活多樣的外擴存儲器訪問實現。本文中,介紹如何利用QSPI (QuadSPI) 外擴串行NOR
    發表于 07-30 11:02 ?16次下載
    利用<b class='flag-5'>QuadSPI</b>外擴串行NOR <b class='flag-5'>Flash</b>的實現

    AN4943_STM32L496_L4A6_L4R_L4S上LCD顯示刷新

    AN4943_STM32L496_L4A6_L4R_L4S上LCD顯示刷新
    發表于 11-21 17:06 ?0次下載
    AN4943_<b class='flag-5'>STM32L496_L4A6_L4R_L4</b>S上LCD顯示刷新

    UM2271_板載STM32L4R9AI微控制器的探索板

    UM2271_板載STM32L4R9AI微控制器的探索板
    發表于 11-22 08:22 ?0次下載
    UM2271_板載<b class='flag-5'>STM32L4R9</b>AI微控制器的探索板

    STM32L4R9I-DISCO的低功耗系統設計實驗

    電子發燒友網站提供《STM32L4R9I-DISCO的低功耗系統設計實驗.pdf》資料免費下載
    發表于 08-01 10:18 ?0次下載
    <b class='flag-5'>STM32L4R9</b>I-DISCO的低功耗系統設計實驗

    應用筆記 | STM32L4R9QuadSPI Flash 通訊速率不理想

    關鍵字:Octo-SPI, Quad Serial Flash 目錄預覽 1 引言 2 問題分析 3 問題解決 4 小結 1. 引言 客戶反應STM32L4R9 同QSPI Flash
    的頭像 發表于 08-04 08:05 ?1535次閱讀
    應用筆記 | <b class='flag-5'>STM32L4R9</b> 的<b class='flag-5'>QuadSPI</b> <b class='flag-5'>Flash</b> <b class='flag-5'>通訊</b><b class='flag-5'>速率</b><b class='flag-5'>不理想</b>
    主站蜘蛛池模板: 福利视频自拍 | 九色伊人| 国产美女视频爽爽爽 | www.色播| 视频一区亚洲 | 四虎影院在线免费播放 | 91福利国产在线观看网站 | 久久欧洲视频 | 国产一级做a爰片久久毛片 国产一级做a爰片久久毛片男 | 性欧美黑人 | 激情深爱 | 大片免费看| 色婷婷视频 | 人人玩人人添天天爽 | 国产一区二卡三区四区 | 99久久婷婷免费国产综合精品 | 亚洲一级毛片中文字幕 | 黄色毛片播放 | 婷婷性| 花怜write. as | 国产色av| 中文字幕在线播放一区 | 午夜精品福利影院 | 狠狠色丁香久久婷婷 | 国产黄色大片网站 | 老师下面很湿很爽很紧 | 国产精品欧美激情第一页 | 日韩特黄特色大片免费视频 | 美女扒开尿口给男人桶动态图 | 亚洲无线码一区在线观看 | 爽好舒服快受不了了老师 | 免费看一级黄色录像 | 国产成人精品一区 | 免费看黄色一级毛片 | 1024手机看片欧美日韩 | 欧美一区二区三区在线观看 | 国产欧美久久久精品影院 | 日本加勒比在线视频 | 正在播放羽月希与黑人bd在线 | 久久草在线观看 | 欧美性xxxx巨大黑人猛 |