Мазмұны:

ESP32 үшін SD интерфейсін таңдаңыз: 12 қадам (суреттермен)
ESP32 үшін SD интерфейсін таңдаңыз: 12 қадам (суреттермен)

Бейне: ESP32 үшін SD интерфейсін таңдаңыз: 12 қадам (суреттермен)

Бейне: ESP32 үшін SD интерфейсін таңдаңыз: 12 қадам (суреттермен)
Бейне: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Желтоқсан
Anonim
ESP32 үшін SD интерфейсін таңдаңыз
ESP32 үшін SD интерфейсін таңдаңыз

Бұл нұсқаулықтар сіздің ESP32 жобаңызға SD интерфейсін таңдау туралы бір нәрсені көрсетеді.

1 -қадам: SD интерфейсі

Түпнұсқа Arduino SD кітапханасында SD Interface SD SPI шиналарын беру режимін қолданады.

SD -де тасымалдау режимі көбірек:

  • SPI шина режимі: ESP32 -де 1 -ден астам SPI шинасы бар, оны инициализация кезінде реттеуге болады
  • 1-биттік / 4-биттік SD шиналық режимі: ESP32 SD шина режимінің API-ін енгізу үшін SD_MMC деп аталатын басқа кітапхананы бөледі.
  • SD UHS-II режимі: ESP32 қолдау көрсетілмейді

Сілт.:

www.arduino.cc/kz/reference/SD

kk.wikipedia.org/wiki/SD_card

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

2 -қадам: ESP32 GPIO түйреуіштерін салыстыру

Міне, әдепкі ESP32 GPIO түйреуіштерінің салыстыруы:

SD картасының түйрегіші MicroSD түйреуіші Аты 4 биттік SD шинасы 1 биттік SD шинасы 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 - -

1 биттік / 4 биттік SD шинасының GPIO түйреуіштерін салыстыруды өзгерту мүмкін емес.

SD_MMC қарапайым шақыруы () 4-биттік SD шинасының бастапқы режиміне () басталады:

SD_MMC.begin ();

1-разрядты SD шина режимін SD_MMC begin () әдісінде таңдауға болады, мысалы.

SD_MMC.begin («/cdcard», ақиқат);

SPIClass данасын жасау кезінде SPI шинасын (HSPI немесе VSPI) таңдауға болады, мысалы:

SPIClass spi = SPIClass (HSPI);

Көріп отырғаныңыздай, HSPI көмегімен 1-биттік / 4-биттік SD шинасының түйреуіш түйреуіштері, бірақ SD картасының түйреуіштерінің картасы бірдей емес. Егер аппараттық құрал SD картасының картасына сәйкес қосылған болса, ол HSPI түптік түйреуіштерін тікелей қолдана алмайды. GPIO түйреуіштерін SPIClass begin () әдісінде ауыстыруға болады, мысалы:

SPIClass spi = SPIClass (HSPI);

spi.begin (14 / * SCK * /, 2 / * MISO * /, 15 / * MOSI * /, 13 / * SS * /);

Сонымен қатар SD кітапханасы SS pin, SPI шинасы мен SD begin () әдісіндегі шиналар жиілігін ауыстыра алады, мысалы:

SD.begin (13 / * SS * /, spi, 80000000);

3-қадам: SD жинауға қойылатын талаптар

Егер сіз 4-биттік SD шиналық режимін қолданғыңыз келсе, ESP32 SD тарту талаптарын қатаң сақтаңыз, әсіресе:

  • GPIO13 жүйесіндегі қақтығыстар
  • DAT2 жүйесінде Bootstrap пен SDIO арасындағы қайшылықтар

Сілт.:

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

4 -қадам: Әр түрлі жабдықтар

Әр түрлі жабдықтар
Әр түрлі жабдықтар

ESP32-де көптеген жинақтар мен тақталар бар, олардың кейбірінде MicroSD карталық ұясы бар.

Міне менің қолымда бірнеше мысал:

  • TTGO T-Watch, ол 1 биттік SD шиналық режиміне сәйкес GPIO 2, 13, 14 және 15 түйреуіштеріне қосылған, сондықтан ол 1 биттік SD шина режимі мен SPI шина режимін қолдана алады.
  • M5Stack сериясы, ол GPIO 4, 18, 19 және 23 түйреуіштеріне VSPI түптік түйреуіштері бойынша қосылған, сондықтан ол SD кітапханасының әдепкі параметрлерін қолдана алады [SD.begin (4)]
  • ODROID-GO, ол 18, 19, 22 және 23 GPIO түйреуіштеріне VSPI түптік түйреуіштері бойынша қосылған, сондықтан ол SD кітапханасының әдепкі параметрлерін қолдана алады [SD.begin (22)]
  • ESP32-CAM, ол GPIO түйреуіштеріне 2, 4, 12, 13, 14 және 15 4-биттік SD шиналық режиміне сәйкес қосылған, сондықтан ол барлық 4-биттік / 1-биттік SD шиналық режимін және SPI шина режимін қолдана алады.
  • TTGO T8 dev тақтасы, ол 1 биттік SD шиналық режиміне сәйкес GPIO 2, 13, 14 және 15 түйреуіштеріне қосылған, сондықтан ол 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 картасы ұясының үзіліс тақтасы

Кірістірілген MicroSD картасының ұясы бар құрылғы тақтасы барлық түйреуіштерді қоспауы мүмкін және олардың көпшілігі 4 биттік SD шиналық режимін қолдана алмайды. Жеке SD картасының слоттары жақсы икемділікті қамтамасыз етеді.

Сонымен қатар, көптеген LCD дисплей тақталары SD картасының толық өлшемді ұясын бұзады. Алайда, олардың көпшілігі SPI режимінің түйреуіштерін ғана бұзады. 4-разрядты SD шина режимі ретінде пайдалану жеткіліксіз, бірақ сіз оны 1-разрядты SD шина режимі ретінде осы қосылымды салыстыру арқылы пайдалана аласыз:

СКД -> ESP32

SD_CS -> нөл SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14

6 -қадам: GPIO 2 бағдарламасын ажыратыңыз

GPIO 2 бағдарламасын ажыратыңыз
GPIO 2 бағдарламасын ажыратыңыз

4-разрядты SD шина режимінің қосылымы ESP32 бағдарламалық режимге кіре алмады. Жаңа бағдарламаны жүктемес бұрын GPO 2 картасын DAT0 SD картасынан ажыратуды ұмытпаңыз.

7 -қадам: эталон

Benchmark
Benchmark
Benchmark
Benchmark

Мен эталонға арналған қарапайым Arduino бағдарламасын жаздым:

github.com/moononournation/ESP32_SD_Benchm…

Міне, эталонға арналған аппараттық құралдар:

ESP32

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

SD картасының ұясы

MicroSD картасының слоттары

SD картасы

Қолымда SanDisk 8 ГБ MicroSD және ескі 128 МБ MicroSD бар.

8-қадам: SD_MMC 4-биттік режимінің эталоны

SanDisk 8 ГБ MicroSD

20: 27: 46.000 -> Test test /test_1k.bin

20: 27: 59.399 -> Қолданылған файлды жазу: 13404 мс, 312.914368 Кб/с 20: 27: 59.399 -> Тестті жазу /test_2k.bin 20: 28: 17.248 -> Қолданылған файлды жазу: 17834 мс, 235.185822 КБ/с 20: 28: 17.248 -> Test test /test_4k.bin 20: 28: 21.122 -> Қолданылған файлды жазу: 3873 ms, 1082.959961 KB /s 20: 28: 21.122 -> Test test /test_8k.bin 20: 28: 23.147 -> Қолданылатын файлдың жазылуы: 2024 мс, 2072.284668 Кб/с 20: 28: 23.147 -> Test test/test_16k.bin 20: 28: 27.237 -> Қолданылған файлды жазу: 4097 мс, 1023.750061 КБ/с 20: 28: 27.237 -> Тест write /test_32k.bin 20: 28: 30.088 -> Қолданылған файлды жазу: 2842 ms, 1475.828247 KB /s 20: 28: 30.088 -> Test test /test_64k.bin 20: 28: 31.882 -> Қолданылған файлды жазу: 1811 мс, 2316.015381 KB /s 20: 28: 31.882 -> Тест оқуы /test_1k.bin 20: 28: 35.422 -> Қолданылған файлды оқу: 3520 мс, 1191.563599 КБ /с 20: 28: 35.422 -> Тест оқуы /test_2k.bin 20: 28: 38.813 -> Қолданылған файлды оқу: 3389 мс, 1237.622925 КБ/с 20: 28: 38.813 -> Тестті оқу /test_4k.bin 20: 28: 42.273 -> Қолданылған файлды оқу: 3474 мс, 1207.341431 Кб/с 20:28: 42.273 -> Тест оқылымы /test_8k.bin 20: 28: 45.752 - > Қолданылған файлды оқу: 3487 мс, 1202.840210 КБ/с 20: 28: 45.752 -> Тест оқуы /test_16k.bin 20: 28: 48.988 -> Қолданылған файлды оқу: 3213 мс, 1305.416748 КБ/с 20: 28: 48.988 -> Тест оқу /test_32k.bin 20: 28: 52.077 -> Қолданылған файлды оқу: 3093 мс, 1356.063354 КБ /с 20: 28: 52.077 -> Тестті оқу /test_64k.bin 20: 28: 55.141 -> Қолданылған файлды оқу: 3080 мс, 1361.786987 КБ/с

Ескі 128 МБ MicroSD

20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr 0x109 қайтарылды

20: 30: 43.309 -> Картаны бекіту сәтсіз аяқталды

9-қадам: SD_MMC 1-разрядтық режимі

SanDisk 8 ГБ MicroSD

20: 31: 45.194 -> Test test /test_1k.bin

20: 31: 59.506 -> Қолданылған файлды жазу: 14325 мс, 292.796082 Кб/с 20: 31: 59.506 -> Test test /kest_2k.bin 20: 32: 17.686 -> Қолданылған файлды жазу: 18163 мс, 230.925735 КБ/с 20: 32: 17.686 -> Test test /test_4k.bin 20: 32: 21.291 -> Қолданылған файлды жазу: 3611 мс, 1161.535278 KB /s 20: 32: 21.291 -> Test test /test_8k.bin 20: 32: 23.939 -> Қолданылатын жазу файлы: 2652 ms, 1581.562622 KB/s 20: 32: 23.939 -> Test test/test_16k.bin 20: 32: 28.397 -> Қолданылған файлды жазу: 4448 мс, 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 test /test_64k.bin 20: 32: 33.882 -> Қолданылған файлды жазу: 2058 мс, 2038.048584 KB /s 20: 32: 33.882 -> Тест оқуы /test_1k.bin 20: 32: 38.031 -> Қолданылған файлды оқу: 4146 мс, 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 мс, 1017.787903 КБ/с 20: 32: 50.288 -> Тест оқуы /test_16k.bin 20: 32: 54.112 -> Қолданылған файлды оқу: 3840 мс, 1092.266724 КБ/с 20: 32: 54.112 -> Тест оқу /test_32k.bin 20: 32: 57.840 -> Қолданылған файлды оқу: 3739 ms, 1121.771606 KB /s 20: 32: 57.840 -> Test read /test_64k.bin 20: 33: 01.568 -> Қолданылған файлды оқу: 3711 мс, 1130.235474 КБ/с

Ескі 128 МБ MicroSD

20: 33: 27.366 -> Test test /test_1k.bin

20: 33: 42.386 -> Қолданылған файлды жазу: 15020 мс, 279.247925 КБ/с 20: 33: 42.386 -> Тестті жазу /test_2k.bin 20: 33: 57.927 -> Қолданылған файлды жазу: 15515 мс, 270.338654 КБ/с 20: 33: 57.927 -> Test test /test_4k.bin 20: 34: 13.108 -> Қолданылған файлды жазу: 15195 ms, 276.031860 KB /s 20: 34: 13.108 -> Test test /test_8k.bin 20: 34: 28.162 -> Қолданылған жазу файлы: 15048 мс, 278.728333 Кб/с 20: 34: 28.162 -> Test test /test_16k.bin 20: 34: 43.287 -> Қолданылған файлды жазу: 15142 мс, 276.998016 КБ/с 20: 34: 43.287 -> Тест write /test_32k.bin 20: 34: 58.278 -> Қолданылған файлды жазу: 14964 мс, 280.292969 КБ /с 20: 34: 58.278 -> Тестті жазу /test_64k.bin 20: 35: 13.370 -> Қолданылған файлды жазу: 15101 мс, 277.750092 KB /s 20: 35: 13.370 -> Тест оқуы /test_1k.bin 20: 35: 17.563 -> Қолданылған файлды оқу: 4197 мс, 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 мс, 1004.383118 КБ/с 20: 35: 30.101 -> Тест оқуы /test_16k.bin 20: 35: 34.279 -> Қолданылған файлды оқу: 4174 мс, 1004.864380 КБ/с 20: 35: 34.279 -> Тест оқу /test_32k.bin 20: 35: 38.462 -> Қолданылған файлды оқу: 4173 мс, 1005.105225 КБ /с 20: 35: 38.462 -> Оқылған тест /test_64k.bin 20: 35: 42.612 -> Қолданылған файлды оқу: 4173 мс, 1005.105225 КБ/с

10 -қадам: HSPI Bus Benchmark бағдарламасындағы SD SPI режимі

SanDisk 8 ГБ MicroSD

08: 41: 19.703 -> Test test /test_1k.bin

08: 41: 53.458 -> Қолданылған файлды жазу: 33743 мс, 124.301453 Кб/с 08: 41: 53.458 -> Test test /kest_2k.bin 08: 42: 10.000 -> Қолданылған файлды жазу: 16540 мс, 253.585495 КБ/с 08: 42: 10.000 -> Test test /test_4k.bin 08: 42: 17.269 -> Қолданылған файлды жазу: 7298 ms, 574.719666 KB /s 08: 42: 17.308 -> Test test /test_8k.bin 08: 42: 22.640 -> Қолданылған файлды жазу: 5345 мс, 784.715454 Кб/с 08: 42: 22.640 -> Test test/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 мс, 963.100830 КБ /с 08: 42: 36.659 -> Test test /test_64k.bin 08: 42: 39.594 -> Қолданылған файлды жазу: 2949 мс, 1422.280151 KB /s 08: 42: 39.594 -> Тест оқуы /test_1k.bin 08: 42: 44.774 -> Қолданылған файлды оқу: 5192 мс, 807.839783 KB /s 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 мс, 847.676636 КБ/с 08: 43: 05.277 -> Тест оқылуы /test_32k.bin 08: 43: 10.028 -> Қолданылған файлды оқу: 4773 ms, 878.756348 KB /s 08: 43: 10.028 -> Test read /test_64k.bin 08: 43: 14.760 -> Қолданылған файлды оқу: 4731 мс, 886.557617 КБ/с

Ескі 128 МБ MicroSD

08: 43: 47.777 -> Test test /test_1k.bin

08: 44: 04.148 -> Қолданылған файлды жазу: 16390 мс, 255.906281 КБ/с 08: 44: 04.183 -> Test /test_2k.bin 08: 44: 20.648 -> Қолданылған файлды жазу: 16494 мс, 254.292709 КБ/с 08: 44: 20.648 -> Test test /test_4k.bin 08: 44: 36.674 -> Қолданылған файлды жазу: 16001 ms, 262.127625 KB /s 08: 44: 36.674 -> Test test /test_8k.bin 08: 44: 52.849 -> Қолданылған жазу файлы: 16175 мс, 259.307831 КБ/с 08: 44: 52.849 -> Test test /test_16k.bin 08: 45: 09.225 -> Қолданылған файлды жазу: 16397 ms, 255.797043 KB/s 08: 45: 09.225 -> Тест write /test_32k.bin 08: 45: 25.363 -> Қолданылған файлды жазу: 16143 мс, 259.821838 KB /s 08: 45: 25.397 -> Test test /test_64k.bin 08: 45: 41.632 -> Қолданылған файлды жазу: 16263 мс, 257.904694 KB /s 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 мс, 868.925598 KB/s 08: 46: 00.998 -> Тест оқуы /test_16k.bin 08: 46: 05.808 -> Қолданылған файлды оқу: 4825 ms, 869.285828 KB/s 08: 46: 05.843 -> Тест оқу /test_32k.bin 08: 46: 10.637 -> Қолданылған файлды оқу: 4824 мс, 869.466003 КБ /с 08: 46: 10.637 -> Оқылған тест /test_64k.bin 08: 46: 15.478 -> Қолданылған файлды оқу: 4825 мс, 869.285828 КБ/с

11 -қадам: VSPI Bus Benchmark бағдарламасындағы SD SPI режимі

SanDisk 8 ГБ MicroSD

08: 54: 17.412 -> Test test /test_1k.bin

08: 54: 48.398 -> Қолданылған файлды жазу: 30994 мс, 135.326324 КБ/с 08: 54: 48.398 -> Test test /t_2_2.k.bin 08: 55: 06.079 -> Қолданылған файлды жазу: 17677 мс, 237.274658 КБ/с 08: 55: 06.079 -> Test test /test_4k.bin 08: 55: 13.357 -> Қолданылған файлды жазу: 7274 ms, 576.615906 KB /s 08: 55: 13.357 -> Test test /test_8k.bin 08: 55: 18.691 -> Қолданылған жазу файлы: 5323 мс, 787.958679 Кб/с 08: 55: 18.691 -> Test test/test_16k.bin 08: 55: 28.336 -> Қолданылған файлды жазу: 9669 мс, 433.788818 КБ/с 08: 55: 28.336 -> Тест write /test_32k.bin 08: 55: 32.646 -> Қолданылған файлды жазу: 4309 мс, 973.382202 KB /s 08: 55: 32.646 -> Test test /test_64k.bin 08: 55: 35.551 -> Қолданылған файлды жазу: 2915 мс, 1438.869263 KB /s 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 мс, 880.416443 КБ /с 08: 56: 06.006 -> Тестті оқу /test_64k.bin 08: 56: 10.716 -> Қолданылған файлды оқу: 4728 мс, 887.120117 КБ/с

Ескі 128 МБ MicroSD

08: 51: 01.939 -> Test test /test_1k.bin

08: 51: 18.358 -> Қолданылған файлды жазу: 16422 мс, 255.407623 КБ/с 08: 51: 18.358 -> Test test /t_2_2.k.bin 08: 51: 34.529 -> Қолданылған файлды жазу: 16173 мс, 259.339874 КБ/с 08: 51: 34.529 -> Test test /test_4k.bin 08: 51: 50.911 -> Қолданылған файлды жазу: 16372 ms, 256.187653 KB /s 08: 51: 50.911 -> Test test /test_8k.bin 08: 52: 07.056 -> Қолданылған жазу файлы: 16137 мс, 259.918457 KB/s 08: 52: 07.056 -> Test test /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 test /test_64k.bin 08: 52: 55.764 -> Қолданылған файлды жазу: 16250 мс, 258.111023 KB /s 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 мс, 868.925598 Кб/с 08: 53: 15.127 -> Тест оқуы /test_16k.bin 08: 53: 19.963 -> Қолданылған файлды оқу: 4826 мс, 869.105652 КБ/с 08: 53: 19.963 -> Тест оқу /test_32k.bin 08: 53: 24.758 -> Қолданылған файлды оқу: 4824 мс, 869.466003 КБ /с 08: 53: 24.792 -> Оқылған тест /test_64k.bin 08: 53: 29.592 -> Қолданылған файлды оқу: 4824 мс, 869.466003 КБ/с

12 -қадам: дөңгелектеу

4-биттік SD шиналық режимі ең жақсы өнімділікке ие, 1-разрядты SD шинасының режимі шамамен 20% -ға, SPI режимі шамамен 50% -ға баяу. Негізгі себептердің бірі - SD_MMC протокол қабаты ешқандай құлыптауды енгізбейді, бірақ SPI жасайды. Сондай-ақ, 4-разрядты SD шина режимінде екі есе деректер желісі бар, сондықтан теориялық жылдамдықты екі есе арттырады. Бірақ менің ескі MicroSD 4 биттік SD шиналық режимін қолдай алмайды.

Мен көп жағдайда 1-биттік SD шиналық режимін ұсынамын, себебі:

  • жақсы өнімділік
  • SD картасының жақсы үйлесімділігі
  • SD тартуға қойылатын талаптар
  • тек 3 GPIO түйреуіші қажет
  • кіші код конфигурациясы
  • бұл режимді көптеген дев жиынтығы, дев тақтасы мен үзіліс тақтасы қолдана алады

Ұсынылған: