国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SDIO讀寫SD卡速度有多快?

這篇具有很好參考價值的文章主要介紹了SDIO讀寫SD卡速度有多快?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前兩天測試了SPI方式讀寫SD卡的速度《SPI方式讀寫SD卡速度測試》,今天來測試一下SDIO方式的讀寫速度。

測試條件:

單片機:STM32F407VET6

編譯環(huán)境:MDK 5.30+HAL庫

SD卡:閃迪32GB/64GB TF卡

文件系統(tǒng):FatFS R0.12c

之前測試中說過了,非DMA方式速度和資源利用率都不如DMA方式,所以今天主要就測試SDIO+DMA方式的極限速度。SDIO采用的4線模式,理論上比1線的要快4倍。

首先用STM32CubeMx配置SDIO,如下:4線模式,分頻系數(shù)為0,即不分頻,此時SDIO的時鐘為48MHz(單片機主頻配置的為168MHz)。

SDIO讀寫SD卡速度有多快?

使能SDIO的收發(fā)DMA:

SDIO讀寫SD卡速度有多快?

接下來需要配置FatFS文件系統(tǒng),如下:

SDIO讀寫SD卡速度有多快?

由于需要測試64GB的卡,就需要使能exFAT文件系統(tǒng)(超過32G的卡需要使能),同時也要使能“長文件名”功能,不然會報錯。

接下來直接生成代碼,生成的代碼中,底層驅(qū)動、以及文件系統(tǒng)都已經(jīng)封裝好了,直接調(diào)用相關(guān)函數(shù)就行。測試程序如下:


#define  NUM  32768

  retSD = f_mount(&SDFatFS, (TCHAR const*)SDPath, 0);//掛載

  retSD = f_open(&SDFile,(const char*)"test.txt",FA_CREATE_ALWAYS|FA_WRITE);
  for(uint32_t i=0;i<NUM;i++)
  {
    FileBuf[i] = (i%7) + 0x30;
  }
  tick = 0;//ms計數(shù)器清零
  for(uint8_t i=0;i<100;i++)//每次寫入NUM個字節(jié),連續(xù)寫入100次
  {
    retSD = f_write(&SDFile,FileBuf,NUM,&bw);
    retSD = f_sync(&SDFile);
  }
  retSD = f_close(&SDFile);

  for(uint32_t i=0;i<NUM;i++)
  {
    FileBuf[i] = 0;
  }
  retSD = f_open(&SDFile,(const char*)"test.txt",FA_OPEN_EXISTING|FA_READ);//打開文件
  tick = 0;
  for(uint8_t i=0;i<100;i++)//讀取NUM個字節(jié),連續(xù)讀取100次
  {
    retSD = f_read(&SDFile,FileBuf,NUM,&bw);
  }
  retSD = f_close(&SDFile);

打開文件后,每次寫入文件32KB或16KB數(shù)據(jù),連續(xù)寫入100次。統(tǒng)計總時間,然后計算平均寫入速度。讀取測試也是一樣。32G和64G卡測試結(jié)果如下:

SDIO讀寫SD卡速度有多快?

可以看到32G卡寫入速度在2MB/秒左右,單次寫入數(shù)據(jù)越大,速度越快。

64G卡寫入速度要更快,單次寫入32KB時,平均速度可達5.4MB/秒左右。

兩種卡的讀取速度區(qū)別不大,都比寫入速度快不少,在8~9MB/秒左右。

兩種卡是同一品牌的,但寫入速度區(qū)別比較大,懷疑可能是文件系統(tǒng)的原因,32G卡文件系統(tǒng)為FAT32,而64G卡文件系統(tǒng)為exFAT。

為了驗證這個問題,我們將32G的卡也格式化為exFAT文件系統(tǒng),再進行測試。

SDIO讀寫SD卡速度有多快?

測試結(jié)果如下??梢钥吹?,格式化為exFAT文件系統(tǒng)后,同一張卡的讀寫速度都有所提升,尤其是寫入速度,提升明顯??梢娢募到y(tǒng)的格式對速度也是有影響的。文章來源地址http://www.zghlxwxcb.cn/news/detail-432842.html

SDIO讀寫SD卡速度有多快?

到了這里,關(guān)于SDIO讀寫SD卡速度有多快?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • STM32CubeMX教程28 SDIO - 使用FatFs文件系統(tǒng)讀寫SD卡

    正點原子stm32f407探索者開發(fā)板V2.4 STM32CubeMX軟件(Version 6.10.0) keil μVision5 IDE(MDK-Arm) ST-LINK/V2驅(qū)動 野火DAP仿真器 XCOM V2.6串口助手 使用STM32CubeMX軟件配置STM32F407開發(fā)板 SDIO使用FatFs中間件讀寫4線SD卡,并實現(xiàn)以輪詢方式讀寫SD卡或以DMA方式讀取SD卡 FatFs文件系統(tǒng)相關(guān)知識請讀者

    2024年02月19日
    瀏覽(30)
  • 快速排序到底有多快

    快速排序到底有多快

    作者主頁: paper jie的博客_CSDN博客-C語言,算法詳解領(lǐng)域博主 本文作者: 大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于 《算法詳解》專欄,本專欄是針對于大學(xué)生,編程小白精心打造的。筆者用重金(時間和精力)打造,將算法基礎(chǔ)知識一網(wǎng)打盡,希望

    2024年02月10日
    瀏覽(17)
  • Redis為什么會這么快?Redis到底有多快?

    Redis為什么會這么快?Redis到底有多快?

    官方文檔:https://redis.io/docs/management/optimization/benchmarks/ 我們使用redis自帶的benchmark腳本測試: 我們發(fā)現(xiàn),每秒可以執(zhí)行11萬多次set、lpush命令。 執(zhí)行Lua腳本也能達到每秒10萬多次,按照這個測試結(jié)果,redis的10萬qps還是比較準(zhǔn)確的,在高性能服務(wù)器上性能還能更強。 總結(jié)起來主

    2024年02月07日
    瀏覽(21)
  • 用Spring Boot 3.2虛擬線程搭建靜態(tài)文件服務(wù)器有多快?

    用Spring Boot 3.2虛擬線程搭建靜態(tài)文件服務(wù)器有多快?

    Spring Boot 3.2 于 2023 年 11 月大張旗鼓地發(fā)布,標(biāo)志著 Java 開發(fā)領(lǐng)域的一個關(guān)鍵時刻。這一突破性的版本引入了一系列革命性的功能,包括: 虛擬線程:利用 Project Loom 的虛擬線程釋放可擴展性,從而減少資源消耗并增強并發(fā)性。 Native Image支持:通過Native Image編譯制作速度極快

    2024年02月03日
    瀏覽(26)
  • ubuntu環(huán)境下測試硬盤讀寫速度

    ubuntu環(huán)境下測試硬盤讀寫速度

    開始之前,先使用 sudo fdisk -l 命令來列出系統(tǒng)中所有的硬盤和分區(qū): 1.使用hdparm測試硬盤讀取速度: 安裝hdparm: sudo apt-get install hdparm 通過以下命令測試硬盤的讀取速度: 其中 sda 應(yīng)替換為你要測試的磁盤的設(shè)備名稱。 2.使用dd測試硬盤讀寫速度: 打開終端,并輸入以下命令

    2024年02月10日
    瀏覽(19)
  • STM32——SDIO的學(xué)習(xí)(驅(qū)動SD卡)(實戰(zhàn)篇)

    STM32——SDIO的學(xué)習(xí)(驅(qū)動SD卡)(實戰(zhàn)篇)

    目錄 一、SDIO寄存器 1.1 SDIO電源控制寄存器(SDIO_POWER) 1.2 SDIO時鐘控制寄存器(SDIO_CLKCR) 1.3 SDIO參數(shù)寄存器(SDIO_ARG) 1.4 SDIO命令寄存器(SDIO_CMD) 1.5 SDIO命令響應(yīng)寄存器(SDIO_RESPCMD) 1.6 SDIO響應(yīng) 1..4 寄存器(SDIO_RESPx) 1.7 SDIO數(shù)據(jù)定時器寄存器(SDIO_DTIMER) 1.8?SDIO數(shù)據(jù)長度寄存器(SDIO_DLEN) 1.9 SDI

    2024年02月16日
    瀏覽(17)
  • STM32——SDIO的學(xué)習(xí)(驅(qū)動SD卡)(理論篇)

    STM32——SDIO的學(xué)習(xí)(驅(qū)動SD卡)(理論篇)

    目錄 一、SD卡簡介 1.1歷史 1.2 tf卡和SD卡的區(qū)別 1.3 mmc,emmc,nand,flash的關(guān)系 1.4 SD卡的規(guī)格等級 1.4.1按容量分 1.4.2 class等級 1.4.3 UHS總線模式 1.4.4 UHS速度等級 1.4.5 VSC視頻速度等級 二、SD卡的內(nèi)部結(jié)構(gòu) 三、SDIO的學(xué)習(xí) 3.1 SDIO的主要功能 3.2 SDIO總線拓撲 ?3.3 SDIO功能描述? 3.3.1 SD

    2024年02月16日
    瀏覽(22)
  • stm32在SDIO模式下SD寫入錯誤的問題

    stm32在SDIO模式下SD寫入錯誤的問題

    1、問題描述 使用FAT32 f_write 多次執(zhí)行寫操作時,會報FR_DISK_ERR錯誤,而且是剛開始寫不報錯,寫幾次后會一直報錯。 設(shè)斷點跟蹤到HAL_SD_WriteBlocks中,在調(diào)用SDMMC_CmdWriteMultiBlock時,會報SDMMC_ERROR_TX_UNDERRUN,意思 是Transmit FIFO underrun 2、原因分析 如下圖所示,SDMMC開始寫操作時,首

    2023年04月24日
    瀏覽(31)
  • linux下使用dd命令測試磁盤的讀寫速度

    最近打包更新總是特別慢,其中有一步使用 md5sum 命令計算MD5值的操作有時居然要卡一個小時,雖說計算MD5比較耗時,但通常計算5個G數(shù)據(jù)的md5值也就1分多鐘,卡一個多小時有點說不過去了,所以在卡頓時使用 top 命令查看了進程情況,發(fā)現(xiàn)md5sum進程在卡頓時總是處于 D 狀態(tài),

    2023年04月27日
    瀏覽(20)
  • STM32F4X SDIO(七) 例程講解-SD_InitializeCards & SD_GetCardInfo

    STM32F4X SDIO(七) 例程講解-SD_InitializeCards & SD_GetCardInfo

    本節(jié)例程基于 野火電子的STM32F407的SD卡讀寫例程 進行講解。上一節(jié)中講解了SD卡上電過程,這節(jié)將會講解一下SD卡的初始化過程,包括 獲取SD卡的CID、CSD和SD卡RCA地址 。 CMD2的作用是 通知所有卡通過CMD線返回CID值 ,CID值包括 SD卡的識別號、制造商ID、OEMID、產(chǎn)品名稱、版本號、

    2024年02月05日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包