فهرست مطالب:

رابط SD را برای ESP32 انتخاب کنید: 12 مرحله (همراه با تصاویر)
رابط SD را برای ESP32 انتخاب کنید: 12 مرحله (همراه با تصاویر)

تصویری: رابط SD را برای ESP32 انتخاب کنید: 12 مرحله (همراه با تصاویر)

تصویری: رابط SD را برای ESP32 انتخاب کنید: 12 مرحله (همراه با تصاویر)
تصویری: ESP32 Tutorial 40 - Reading and writing to Micro SD Card | SunFounder's ESP32 IoT Learnig kit 2024, نوامبر
Anonim
رابط SD را برای ESP32 انتخاب کنید
رابط SD را برای ESP32 انتخاب کنید

این دستورالعمل ها چیزی در مورد انتخاب رابط SD برای پروژه ESP32 شما نشان می دهد.

مرحله 1: رابط SD

در کتابخانه اصلی Arduino SD ، رابط SD از حالت انتقال گذرگاه SD SPI استفاده می کند.

SD در واقع حالت انتقال بیشتری دارد:

  • حالت گذرگاه SPI: ESP32 دارای بیش از 1 گذرگاه SPI است ، می تواند هنگام راه اندازی سفارشی شود
  • حالت گذرگاه SD 1 بیتی / 4 بیتی: ESP32 کتابخانه دیگری به نام SD_MMC را برای پیاده سازی API حالت گذرگاه SD اختصاص می دهد
  • حالت SD UHS-II: ESP32 پشتیبانی نمی شود

مرجع.:

www.arduino.cc/fa/reference/SD

fa.wikipedia.org/wiki/SD_card

docs.espressif.com/projects/esp-idf/fa/lat…

مرحله 2: ESP32 GPIO Pins Mapping

در اینجا نقشه پین های ESP32 GPIO به صورت پیش فرض آمده است:

پین کارت SD پین MicroSD نام گذرگاه 4 بیتی SD گذرگاه SD 1 بیتی گذرگاه SPI (پین های HSPI / VSPInative)
1 2 D3 13 - SS (15/5)
2 3 CMD 15 15 MOSI (13 /23)
3 - VSS GND GND GND
4 4 VDD 3.3 ولت 3.3 ولت 3.3 ولت
5 5 CLK 14 14 SCK (14 /18)
6 6 VSS GND GND GND
7 7 D0 2 2 MISO (12/19)
8 8 D1 4 - -
9 1 D2 12 - -

پین GPIO نقشه گذرگاه 1 بیت / 4 بیت SD قابل تغییر نیست.

تماس ساده SD_MMC شروع () به حالت اولیه گذرگاه 4 بیتی SD:

SD_MMC.begin ()؛

حالت گذرگاه 1 بیتی SD را می توان در روش SD_MMC begin () انتخاب کرد ، به عنوان مثال.

SD_MMC.begin ("/cdcard" ، true) ؛

گذرگاه SPI (HSPI یا VSPI) را می توان هنگام ایجاد نمونه SPIClass انتخاب کرد ، به عنوان مثال.

SPIClass spi = SPIClass (HSPI) ؛

همانطور که مشاهده می کنید پین های گذرگاه 1 بیت / 4 بیت SD با HSPI به اشتراک می گذارند ، اما نقشه پین کارت SD یکسان نیست. بنابراین اگر سخت افزار مطابق نقشه پین گذرگاه SD متصل شود ، نمی تواند مستقیماً از پین های اصلی HSPI استفاده کند. پین های GPIO را می توان در روش SPIClass begin () لغو کرد ، به عنوان مثال.

SPIClass spi = SPIClass (HSPI) ؛

spi.begin (14 / * SCK * /، 2 / * MISO * /، 15 / * MOSI * /، 13 / * SS * /) ؛

و همچنین کتابخانه SD می تواند پین SS ، گذرگاه SPI و فرکانس گذرگاه را در روش SD begin () نادیده بگیرد ، به عنوان مثال.

SD.begin (13 / * SS * /، spi ، 80000000) ؛

مرحله 3: SD Pull-Up Requirements

اگر می خواهید از حالت گذرگاه 4 بیتی SD استفاده کنید ، لطفاً الزامات کشش ESP32 SD را دنبال کنید ، به ویژه:

  • کشمکش های کشنده در GPIO13
  • تضاد بین Bootstrap و SDIO در DAT2

مرجع.:

docs.espressif.com/projects/esp-idf/fa/lat…

مرحله 4: سخت افزارهای مختلف

انواع سخت افزار
انواع سخت افزار

ESP32 دارای چندین کیت dev و dev board است ، برخی از آنها دارای شکاف کارت MicroSD داخلی هستند.

در اینجا چند نمونه در دست من است:

  • TTGO T-Watch ، با توجه به حالت گذرگاه 1 بیتی SD ، به پینهای GPIO 2 ، 13 ، 14 و 15 متصل شد ، بنابراین می تواند از حالت گذرگاه SD 1 بیتی و حالت گذرگاه SPI استفاده کند
  • سری M5Stack ، به پین های GPIO 4 ، 18 ، 19 و 23 مطابق پین های اصلی VSPI متصل شد ، بنابراین می تواند از تنظیمات پیش فرض کتابخانه SD استفاده کند [SD.begin (4)]
  • ODROID-GO ، طبق پین های اصلی VSPI به پین های GPIO 18 ، 19 ، 22 و 23 متصل شد ، بنابراین می تواند از تنظیمات پیش فرض کتابخانه SD استفاده کند [SD.begin (22)]
  • ESP32-CAM ، با توجه به حالت گذرگاه 4 بیتی SD ، به پین های GPIO 2 ، 4 ، 12 ، 13 ، 14 و 15 متصل شد ، بنابراین می تواند از همه حالت گذرگاه 4 بیت / 1 بیت SD و حالت گذرگاه SPI استفاده کند
  • TTGO T8 dev board ، به پین های GPIO 2 ، 13 ، 14 و 15 مطابق حالت گذرگاه 1 بیتی SD متصل است ، بنابراین می تواند از حالت گذرگاه 1 بیتی SD و حالت گذرگاه SPI استفاده کند

www.lilygo.cn/prod_view.aspx؟Id=1123

docs.m5stack.com/

wiki.odroid.com/odroid_go/odroid_go

wiki.ai-thinker.com/esp32-cam

github.com/LilyGO/TTGO-T8-ESP32

مرحله 5: تخته شکست SD شکاف کارت SD

تخته شکست SD شکاف کارت
تخته شکست SD شکاف کارت
کارت SD شکاف برد شکستن
کارت SD شکاف برد شکستن

هیئت مدیره با اسلات کارت MicroSD داخلی ممکن است همه پین ها را به هم متصل نکند و اکثر آنها نمی توانند از حالت گذرگاه 4 بیتی SD استفاده کنند. یک برد جداگانه شکاف کارت SD انعطاف پذیری بیشتری را ارائه می دهد.

در عین حال ، بسیاری از بردهای بریکت LCD یک شکاف کارت SD با اندازه کامل را نیز باز می کنند. با این حال ، اکثر آنها فقط پین های حالت SPI را می شکنند. استفاده از حالت گذرگاه SD 4 بیتی کافی نیست ، اما با استفاده از این نگاشت اتصال می توانید از آن به عنوان حالت گذرگاه SD 1 بیتی استفاده کنید:

LCD -> ESP32

SD_CS -> هیچ SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14

مرحله 6: GPIO 2 while Program را جدا کنید

GPIO 2 while Program را جدا کنید
GPIO 2 while Program را جدا کنید

اتصال حالت بوت SD 4 بیتی باعث می شود ESP32 وارد حالت برنامه نشود. لطفاً به خاطر داشته باشید قبل از بارگذاری برنامه جدید ، GPIO 2 را از برد شکست DAT0 شکاف کارت SD جدا کنید.

مرحله 7: معیار

معیار
معیار
معیار
معیار

من یک برنامه آردوینو ساده برای معیار نوشتم:

github.com/moononournation/ESP32_SD_Benchm…

در اینجا سخت افزار معیار است:

ESP32

NodeMCU ESP32-32S V1.1 (WROOM-32)

شکاف کارت SD

برد شکاف کارت حافظه MicroSD

کارت SD

من یک MicroSD SanDisk 8 گیگابایتی و یک MicroSD قدیمی 128 مگابایتی در دست دارم.

مرحله 8: معیار حالت 4 بیتی SD_MMC

MicroSD SanDisk 8 گیگابایت

20: 27: 46.000 -> تست بنویسید /test_1k.bin

20: 27: 59.399 -> نوشتن فایل مورد استفاده: 13404 ms ، 312.914368 کیلوبایت/ثانیه 20: 27: 59.399 -> تست نوشتن /test_2k.bin 20: 28: 17.248 -> نوشتن فایل مورد استفاده: 17834 ms ، 235.185822 کیلوبایت/ثانیه 20: 28: 17.248 -> نوشتن تست /test_4k.bin 20: 28: 21.122 -> نوشتن فایل مورد استفاده: 3873 ms ، 1082.959961 کیلوبایت /ثانیه 20: 28: 21.122 -> نوشتن تست /test_8k.bin 20: 28: 23.147 -> نوشتن فایل مورد استفاده: 2024 ms ، 2072.284668 KB/s 20: 28: 23.147 -> تست نوشتن /test_16k.bin 20: 28: 27.237 -> نوشتن فایل مورد استفاده: 4097 ms ، 1023.750061 KB/s 20: 28: 27.237 -> آزمایش write /test_32k.bin 20: 28: 30.088 -> نوشتن فایل مورد استفاده: 2842 ms ، 1475.828247 KB /s 20: 28: 30.088 -> تست نوشتن /test_64k.bin 20: 28: 31.882 -> نوشتن فایل مورد استفاده: 1811 ms ، 2316.015381 کیلوبایت /ثانیه 20: 28: 31.882 -> خواندن تست /test_1k.bin 20: 28: 35.422 -> خواندن فایل مورد استفاده: 3520 ms ، 1191.563599 کیلوبایت /ثانیه 20: 28: 35.422 -> تست خواندن /test_2k.bin 20: 28: 38.813 -> خواندن فایل مورد استفاده: 3389 ms ، 1237.622925 کیلوبایت/ثانیه 20: 28: 38.813 -> مطالعه خواندن /test_4k.bin 20: 28: 42.273 -> خواندن فایل مورد استفاده: 3474 ms ، 1207.341431 کیلوبایت/ثانیه 20:28: 42.273 -> تست بخوانید /test_8k.bin 20: 28: 45.752 - > خواندن فایل مورد استفاده: 3487 ms ، 1202.840210 کیلوبایت/ثانیه 20: 28: 45.752 -> مطالعه خواندن /test_16k.bin 20: 28: 48.988 -> خواندن فایل مورد استفاده: 3213 ms ، 1305.416748 کیلوبایت/ثانیه 20: 28: 48.988 -> تست خواندن /test_32k.bin 20: 28: 52.077 -> خواندن فایل مورد استفاده: 3093 ms ، 1356.063354 KB /s 20: 28: 52.077 -> خواندن تست /test_64k.bin 20: 28: 55.141 -> خواندن فایل مورد استفاده: 3080 ms ، 1361.786987 کیلوبایت بر ثانیه

MicroSD قدیمی 128 مگابایت

20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr برگشت 0x109

20: 30: 43.309 -> کارت نصب نشد

مرحله 9: معیار حالت 1 بیتی SD_MMC

MicroSD SanDisk 8 گیگابایت

20: 31: 45.194 -> تست بنویسید /test_1k.bin

20: 31: 59.506 -> نوشتن فایل مورد استفاده: 14325 میلی ثانیه ، 292.796082 کیلوبایت/ثانیه 20: 31: 59.506 -> تست نوشتن /test_2k.bin 20: 32: 17.686 -> نوشتن فایل مورد استفاده: 18163 ms ، 230.925735 کیلوبایت/ثانیه 20: 32: 17.686 -> نوشتن تست /test_4k.bin 20: 32: 21.291 -> نوشتن فایل مورد استفاده: 3611 ms ، 1161.535278 کیلوبایت /ثانیه 20: 32: 21.291 -> نوشتن تست /test_8k.bin 20: 32: 23.939 -> نوشتن فایل مورد استفاده: 2652 ms ، 1581.562622 کیلوبایت/ثانیه 20: 32: 23.939 -> تست نوشتن /test_16k.bin 20: 32: 28.397 -> نوشتن فایل مورد استفاده: 4448 ms ، 942.964050 کیلوبایت/ثانیه 20: 32: 28.397 -> تست write /test_32k.bin 20: 32: 31.835 -> نوشتن فایل مورد استفاده: 3429 ms ، 1223.185791 KB /s 20: 32: 31.835 -> تست نوشتن /test_64k.bin 20: 32: 33.882 -> نوشتن فایل مورد استفاده: 2058 ms ، 2038.048584 کیلوبایت /ثانیه 20: 32: 33.882 -> تست خواندن /test_1k.bin 20: 32: 38.031 -> خواندن فایل مورد استفاده: 4146 ms ، 1011.650757 کیلوبایت /ثانیه 20: 32: 38.031 -> تست خواندن /test_2k.bin 20: 32: 42.062 -> خواندن فایل مورد استفاده: 4019 میلی ثانیه ، 1043.618774 کیلوبایت/ثانیه 20: 32: 42.062 -> خواندن تست /test_4k.bin 20: 32: 46.170 -> خواندن فایل مورد استفاده: 4106 میلی ثانیه ، 1021.506104 کیلوبایت/ثانیه 20:32: 46.170 -> تست خواندن /test_8k.bin 20: 32: 50.288 -> خواندن فایل مورد استفاده: 4121 ms ، 1017.787903 کیلوبایت/ثانیه 20: 32: 50.288 -> تست خواندن /test_16k.bin 20: 32: 54.112 -> خواندن فایل مورد استفاده: 3840 ms ، 1092.266724 کیلوبایت/ثانیه 20: 32: 54.112 -> آزمایش read /test_32k.bin 20: 32: 57.840 -> خواندن فایل مورد استفاده: 3739 ms ، 1121.771606 KB /s 20: 32: 57.840 -> خواندن تست /test_64k.bin 20: 33: 01.568 -> خواندن فایل مورد استفاده: 3711 ms ، 1130.235474 کیلوبایت بر ثانیه

MicroSD قدیمی 128 مگابایت

20: 33: 27.366 -> تست نوشتن /test_1k.bin

20: 33: 42.386 -> نوشتن فایل مورد استفاده: 15020 ms ، 279.247925 کیلوبایت/ثانیه 20: 33: 42.386 -> تست نوشتن /test_2k.bin 20: 33: 57.927 -> نوشتن فایل مورد استفاده: 15515 ms ، 270.338654 کیلوبایت/ثانیه 20: 33: 57.927 -> نوشتن تست /test_4k.bin 20: 34: 13.108 -> نوشتن فایل مورد استفاده: 15195 ms ، 276.031860 کیلوبایت /ثانیه 20: 34: 13.108 -> نوشتن تست /test_8k.bin 20: 34: 28.162 -> نوشتن فایل مورد استفاده: 15048 ms ، 278.728333 کیلوبایت/ثانیه 20: 34: 28.162 -> تست نوشتن /test_16k.bin 20: 34: 43.287 -> نوشتن فایل مورد استفاده: 15142 ms ، 276.998016 کیلوبایت/ثانیه 20: 34: 43.287 -> آزمایش write /test_32k.bin 20: 34: 58.278 -> نوشتن فایل مورد استفاده: 14964 ms ، 280.292969 KB /s 20: 34: 58.278 -> تست نوشتن /test_64k.bin 20: 35: 13.370 -> نوشتن فایل مورد استفاده: 15101 ms ، 277.750092 کیلوبایت /ثانیه 20: 35: 13.370 -> تست خواندن /test_1k.bin 20: 35: 17.563 -> خواندن فایل مورد استفاده: 4197 ms ، 999.357666 کیلوبایت /ثانیه 20: 35: 17.563 -> مطالعه خواندن /test_2k.bin 20: 35: 21.746 -> خواندن فایل مورد استفاده: 4191 میلی ثانیه ، 1000.788330 کیلوبایت/ثانیه 20: 35: 21.746 -> مطالعه خواندن /test_4k.bin 20: 35: 25.942 -> خواندن فایل مورد استفاده: 4181 میلی ثانیه ، 1003.182007 کیلوبایت/ثانیه 20:35: 25.942 -> تست خواندن /test_8k.bin 20: 35: 30.101 -> خواندن فایل مورد استفاده: 4176 ms ، 1004.383118 کیلوبایت/ثانیه 20: 35: 30.101 -> تست خواندن /test_16k.bin 20: 35: 34.279 -> خواندن فایل مورد استفاده: 4174 ms ، 1004.864380 کیلوبایت/ثانیه 20: 35: 34.279 -> آزمایش خواندن /test_32k.bin 20: 35: 38.462 -> خواندن فایل مورد استفاده: 4173 ms ، 1005.105225 KB /s 20: 35: 38.462 -> خواندن تست /test_64k.bin 20: 35: 42.612 -> خواندن فایل مورد استفاده: 4173 ms ، 1005.105225 کیلوبایت بر ثانیه

مرحله 10: حالت SD SPI در معیار گذرگاه HSPI

MicroSD SanDisk 8 گیگابایت

08: 41: 19.703 -> تست نوشتن /test_1k.bin

08: 41: 53.458 -> نوشتن فایل مورد استفاده: 33743 ms ، 124.301453 کیلوبایت/ثانیه 08: 41: 53.458 -> نوشتن تست/تست_2k.bin 08: 42: 10.000 -> نوشتن فایل مورد استفاده: 16540 ms ، 253.585495 کیلوبایت/ثانیه 08: 42: 10.000 -> نوشتن تست /test_4k.bin 08: 42: 17.269 -> نوشتن فایل مورد استفاده: 7298 ms ، 574.719666 KB /s 08: 42: 17.308 -> نوشتن تست /test_8k.bin 08: 42: 22.640 -> نوشتن فایل مورد استفاده: 5345 ms ، 784.715454 KB/s 08: 42: 22.640 -> تست نوشتن /test_16k.bin 08: 42: 32.285 -> نوشتن فایل مورد استفاده: 9662 ms ، 434.103088 KB/s 08: 42: 32.285 -> تست write /test_32k.bin 08: 42: 36.659 -> نوشتن فایل مورد استفاده: 4355 ms ، 963.100830 KB /s 08: 42: 36.659 -> تست نوشتن /test_64k.bin 08: 42: 39.594 -> نوشتن فایل مورد استفاده: 2949 ms ، 1422.280151 کیلوبایت /ثانیه 08: 42: 39.594 -> تست خواندن /test_1k.bin 08: 42: 44.774 -> خواندن فایل مورد استفاده: 5192 ms ، 807.839783 کیلوبایت /ثانیه 08: 42: 44.774 -> تست خواندن /test_2k.bin 08: 42: 49.969 -> خواندن فایل مورد استفاده: 5189 میلی ثانیه ، 808.306824 کیلوبایت/ثانیه 08: 42: 49.969 -> خواندن تست /test_4k.bin 08: 42: 55.123 -> خواندن فایل مورد استفاده: 5161 میلی ثانیه ، 812.692139 کیلوبایت/ثانیه 08:42: 55.158 -> تست خواندن /test_8k.bin 08: 43: 00.300 -> خواندن فایل مورد استفاده: 5176 میلی ثانیه ، 810.336914 کیلوبایت/ثانیه 08: 43: 00.334 -> خواندن آزمایش /test_16k.bin 08: 43: 05.277 -> خواندن فایل مورد استفاده: 4948 ms ، 847.676636 کیلوبایت/ثانیه 08: 43: 05.277 -> تست خواندن /test_32k.bin 08: 43: 10.028 -> خواندن فایل مورد استفاده: 4773 ms ، 878.756348 کیلوبایت /ثانیه 08: 43: 10.028 -> خواندن تست /test_64k.bin 08: 43: 14.760 -> خواندن فایل مورد استفاده: 4731 ms ، 886.557617 کیلوبایت بر ثانیه

MicroSD قدیمی 128 مگابایت

08: 43: 47.777 -> تست بنویسید /test_1k.bin

08: 44: 04.148 -> نوشتن فایل مورد استفاده: 16390 میلی ثانیه ، 255.906281 کیلوبایت/ثانیه 08: 44: 04.183 -> نوشتن تست/تست_2k.bin 08: 44: 20.648 -> نوشتن فایل مورد استفاده: 16494 ms ، 254.292709 کیلوبایت/ثانیه 08: 44: 20.648 -> نوشتن تست /test_4k.bin 08: 44: 36.674 -> نوشتن فایل مورد استفاده: 16001 ms ، 262.127625 کیلوبایت /ثانیه 08: 44: 36.674 -> نوشتن تست /test_8k.bin 08: 44: 52.849 -> نوشتن فایل مورد استفاده: 16175 ms ، 259.307831 کیلوبایت/ثانیه 08: 44: 52.849 -> تست نوشتن /test_16k.bin 08: 45: 09.225 -> نوشتن فایل مورد استفاده: 16397 ms ، 255.797043 کیلوبایت/ثانیه 08: 45: 09.225 -> تست write /test_32k.bin 08: 45: 25.363 -> نوشتن فایل مورد استفاده: 16143 ms ، 259.821838 KB /s 08: 45: 25.397 -> تست نوشتن /test_64k.bin 08: 45: 41.632 -> نوشتن فایل مورد استفاده: 16263 ms ، 257.904694 کیلوبایت /ثانیه 08: 45: 41.632 -> خواندن تست /test_1k.bin 08: 45: 46.488 -> خواندن فایل مورد استفاده: 4856 میلی ثانیه ، 863.736389 کیلوبایت /ثانیه 08: 45: 46.488 -> تست خواندن /test_2k.bin 08: 45: 51.332 -> خواندن فایل مورد استفاده: 4840 میلی ثانیه ، 866.591736 کیلوبایت/ثانیه 08: 45: 51.332 -> خواندن تست /test_4k.bin 08: 45: 56.163 -> خواندن فایل مورد استفاده: 4834 میلی ثانیه ، 867.667358 کیلوبایت/ثانیه 08:45: 56.163 -> خواندن آزمایش /test_8k.bin 08: 46: 00.998 -> R فایل ead استفاده شده: 4827 ms ، 868.925598 KB/s 08: 46: 00.998 -> تست خواندن /test_16k.bin 08: 46: 05.808 -> خواندن فایل مورد استفاده: 4825 ms ، 869.285828 کیلوبایت/ثانیه 08: 46: 05.843 -> تست read /test_32k.bin 08: 46: 10.637 -> خواندن فایل مورد استفاده: 4824 ms ، 869.466003 KB /s 08: 46: 10.637 -> خواندن تست /test_64k.bin 08: 46: 15.478 -> خواندن فایل مورد استفاده: 4825 ms ، 869.285828 کیلوبایت بر ثانیه

مرحله 11: حالت SD SPI در معیار VSPI Bus

MicroSD SanDisk 8 گیگابایت

08: 54: 17.412 -> تست بنویسید /test_1k.bin

08: 54: 48.398 -> نوشتن فایل مورد استفاده: 30994 ms ، 135.326324 کیلوبایت/ثانیه 08: 54: 48.398 -> نوشتن تست /test_2k.bin 08: 55: 06.079 -> نوشتن فایل مورد استفاده: 17677 ms ، 237.274658 کیلوبایت/ثانیه 08: 55: 06.079 -> نوشتن تست /test_4k.bin 08: 55: 13.357 -> نوشتن فایل مورد استفاده: 7274 ms ، 576.615906 کیلوبایت /ثانیه 08: 55: 13.357 -> نوشتن تست /test_8k.bin 08: 55: 18.691 -> نوشتن فایل مورد استفاده: 5323 ms ، 787.958679 KB/s 08: 55: 18.691 -> تست نوشتن /test_16k.bin 08: 55: 28.336 -> نوشتن فایل مورد استفاده: 9669 ms ، 433.788818 کیلوبایت/ثانیه 08: 55: 28.336 -> آزمایش write /test_32k.bin 08: 55: 32.646 -> نوشتن فایل مورد استفاده: 4309 ms ، 973.382202 KB /s 08: 55: 32.646 -> تست نوشتن /test_64k.bin 08: 55: 35.551 -> نوشتن فایل مورد استفاده: 2915 ms ، 1438.869263 کیلوبایت /ثانیه 08: 55: 35.584 -> خواندن تست /test_1k.bin 08: 55: 40.745 -> خواندن فایل مورد استفاده: 5183 میلی ثانیه ، 809.242554 کیلوبایت /ثانیه 08: 55: 40.745 -> تست خواندن /test_2k.bin 08: 55: 45.916 -> خواندن فایل مورد استفاده: 5182 میلی ثانیه ، 809.398682 کیلوبایت/ثانیه 08: 55: 45.949 -> خواندن تست /test_4k.bin 08: 55: 51.091 -> خواندن فایل مورد استفاده: 5162 میلی ثانیه ، 812.534668 کیلوبایت/ثانیه 08:55: 51.091 -> تست خواندن /test_8k.bin 08: 55: 56.257 -> خواندن فایل مورد استفاده: 5177 میلی ثانیه ، 810.180420 کیلوبایت/ثانیه 08: 55: 56.293 -> تست خواندن /test_16k.bin 08: 56: 01.244 -> خواندن فایل مورد استفاده: 4956 میلی ثانیه ، 846.308289 کیلوبایت/ثانیه 08: 56: 01.244 -> تست خواندن /test_32k.bin 08: 56: 06.006 -> خواندن فایل مورد استفاده: 4764 ms ، 880.416443 KB /s 08: 56: 06.006 -> خواندن تست /test_64k.bin 08: 56: 10.716 -> خواندن فایل مورد استفاده: 4728 ms ، 887.120117 کیلوبایت بر ثانیه

MicroSD قدیمی 128 مگابایت

08: 51: 01.939 -> تست نوشتن /test_1k.bin

08: 51: 18.358 -> نوشتن فایل مورد استفاده: 16422 ms ، 255.407623 کیلوبایت/ثانیه 08: 51: 18.358 -> تست نوشتن /test_2k.bin 08: 51: 34.529 -> نوشتن فایل مورد استفاده: 16173 ms ، 259.339874 کیلوبایت/ثانیه 08: 51: 34.529 -> نوشتن تست /test_4k.bin 08: 51: 50.911 -> نوشتن فایل مورد استفاده: 16372 ms ، 256.187653 کیلوبایت /ثانیه 08: 51: 50.911 -> نوشتن تست /test_8k.bin 08: 52: 07.056 -> نوشتن فایل مورد استفاده: 16137 ms ، 259.918457 KB/s 08: 52: 07.056 -> تست نوشتن /test_16k.bin 08: 52: 23.383 -> نوشتن فایل مورد استفاده: 16351 ms ، 256.516663 KB/s 08: 52: 23.383 -> تست write /test_32k.bin 08: 52: 39.533 -> نوشتن فایل مورد استفاده: 16128 ms ، 260.063507 KB /s 08: 52: 39.533 -> تست نوشتن /test_64k.bin 08: 52: 55.764 -> نوشتن فایل مورد استفاده: 16250 ms ، 258.111023 کیلوبایت /ثانیه 08: 52: 55.764 -> خواندن آزمایش /test_1k.bin 08: 53: 00.645 -> خواندن فایل مورد استفاده: 4855 میلی ثانیه ، 863.914307 کیلوبایت /ثانیه 08: 53: 00.645 -> مطالعه خواندن /test_2k.bin 08: 53: 05.459 -> خواندن فایل مورد استفاده: 4839 میلی ثانیه ، 866.770813 کیلوبایت/ثانیه 08: 53: 05.459 -> خواندن تست /test_4k.bin 08: 53: 10.306 -> خواندن فایل مورد استفاده: 4833 میلی ثانیه ، 867.846863 کیلوبایت/ثانیه 08:53: 10.306 -> تست خواندن /test_8k.bin 08: 53: 15.127 -> R فایل ead استفاده شده: 4827 ms ، 868.925598 کیلوبایت/ثانیه 08: 53: 15.127 -> تست خواندن /test_16k.bin 08: 53: 19.963 -> خواندن فایل مورد استفاده: 4826 ms ، 869.105652 کیلوبایت/ثانیه 08: 53: 19.963 -> تست read /test_32k.bin 08: 53: 24.758 -> خواندن فایل مورد استفاده: 4824 ms ، 869.466003 KB /s 08: 53: 24.792 -> خواندن تست /test_64k.bin 08: 53: 29.592 -> خواندن فایل مورد استفاده: 4824 ms ، 869.466003 کیلوبایت بر ثانیه

مرحله 12: گرد کردن

حالت گذرگاه 4 بیتی SD دارای بهترین عملکرد ، حالت گذرگاه 1 بیتی SD حدود 20 درصد کندتر و حالت SPI حدود 50 درصد کندتر است. یکی از دلایل اصلی این است که لایه پروتکل SD_MMC هیچ نوع قفل را اجرا نمی کند اما SPI این کار را انجام می دهد. و همچنین حالت باس 4 بیتی SD دارای خطوط داده دوگانه است بنابراین از لحاظ تئوری سرعت را دو برابر می کند. اما MicroSD قدیمی من نمی تواند از حالت گذرگاه 4 بیتی SD پشتیبانی کند.

من در بیشتر موارد حالت گذرگاه 1 بیتی SD را توصیه می کنم ، زیرا:

  • عملکرد خوب
  • سازگاری بهتر با کارت SD
  • looser SD Pull-up مورد نیاز
  • فقط 3 پین GPIO مورد نیاز است
  • پیکربندی کد کمتر
  • بسیاری از کیت dev ، dev board و board breakout می توانند از این حالت استفاده کنند

توصیه شده: