Obsah:

Vyberte rozhranie SD pre ESP32: 12 krokov (s obrázkami)
Vyberte rozhranie SD pre ESP32: 12 krokov (s obrázkami)

Video: Vyberte rozhranie SD pre ESP32: 12 krokov (s obrázkami)

Video: Vyberte rozhranie SD pre ESP32: 12 krokov (s obrázkami)
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, December
Anonim
Vyberte rozhranie SD pre ESP32
Vyberte rozhranie SD pre ESP32

Tento návod ukazuje niečo o výbere rozhrania SD pre váš projekt ESP32.

Krok 1: Rozhranie SD

V pôvodnej knižnici Arduino SD rozhranie SD používa režim prenosu zbernice SD SPI.

SD má v skutočnosti viac režimov prenosu:

  • Režim zbernice SPI: ESP32 má viac ako 1 zbernicu SPI, dá sa prispôsobiť počas inicializácie
  • 1-bitový / 4-bitový režim zbernice SD: ESP32 vyhradilo ďalšej knižnici s názvom SD_MMC implementáciu rozhrania API režimu zbernice SD
  • Režim SD UHS-II: ESP32 nie je podporovaný

Odkaz:

www.arduino.cc/en/reference/SD

en.wikipedia.org/wiki/SD_card

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

Krok 2: Mapovanie pinov GPIO ESP32

Tu sú predvolené mapovania pinov ESP32 GPIO:

Pin karty SD MicroSD pin názov 4-bitová zbernica SD 1-bitová zbernica SD Zbernica SPI (kolíky HSPI / VSP)
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 V. 3,3 V. 3,3 V.
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 - -

Mapovanie pinov GPIO 1-bitovej / 4-bitovej zbernice SD nemožno zmeniť.

Jednoduchým volaním SD_MMC begin () do počiatočného 4-bitového režimu zbernice SD:

SD_MMC.begin ();

Režim 1-bitovej zbernice SD je možné zvoliť metódou SD_MMC begin (), napr.

SD_MMC.begin ("/cdcard", pravda);

Zbernicu SPI (HSPI alebo VSPI) je možné vybrať pri vytváraní inštancie SPIClass, napr.

SPIClass spi = SPIClass (HSPI);

Ako vidíte, 1-bitové / 4-bitové zdieľané kolíky zbernice SD s HSPI, ale mapovanie pinov kariet SD nie je rovnaké. Ak je teda hardvér pripojený podľa mapy pinov zbernice SD, nemôže priamo používať natívne piny HSPI. Piny GPIO je možné prepísať metódou SPIClass begin (), napr.

SPIClass spi = SPIClass (HSPI);

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

A tiež knižnica SD môže prepísať SS pin, frekvenciu zbernice SPI a zbernice pri metóde SD begin (), napr.

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

Krok 3: Požiadavky na vytiahnutie karty SD

Ak chcete používať 4-bitový režim zbernice SD, dôsledne dodržiavajte požiadavky na vyťahovanie ESP32 SD, najmä:

  • Vyrovnávacie konflikty na GPIO13
  • Konflikty medzi bootstrapom a SDIO na DAT2

Odkaz:

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

Krok 4: Rôzny hardvér

Rôzny hardvér
Rôzny hardvér

ESP32 má veľa vývojovej sady a vývojovej dosky, niektoré z nich majú vstavaný slot pre kartu MicroSD.

Tu je niekoľko príkladov, ktoré mám v rukách:

  • TTGO T-Watch, pripája sa k pinom GPIO 2, 13, 14 a 15 podľa 1-bitového režimu zbernice SD, takže môže používať režim 1-bitovej zbernice SD a režim zbernice SPI
  • Séria M5Stack, pripája sa k pinom GPIO 4, 18, 19 a 23 podľa natívnych pinov VSPI, takže môže používať predvolené nastavenia knižnice SD [SD.begin (4)]
  • ODROID-GO, pripája sa k pinom GPIO 18, 19, 22 a 23 podľa natívnych pinov VSPI, takže môže používať predvolené nastavenia knižnice SD [SD.begin (22)]
  • ESP32-CAM, je pripojený k pinom GPIO 2, 4, 12, 13, 14 a 15 podľa 4-bitového režimu zbernice SD, takže môže používať všetky 4-bitové / 1-bitové režimy zbernice SD a režim zbernice SPI
  • Doska TTGO T8 dev je pripojená k pinom GPIO 2, 13, 14 a 15 podľa 1-bitového režimu zbernice SD, takže môže používať režim 1-bitovej zbernice SD a režim zbernice 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

Krok 5: Oddeľovacia doska na slot pre kartu SD

Oddeľovacia doska na slot pre kartu SD
Oddeľovacia doska na slot pre kartu SD
Oddeľovacia doska na slot pre kartu SD
Oddeľovacia doska na slot pre kartu SD

Doska pre vývojárov so vstavaným slotom pre kartu MicroSD nemusí pripojiť všetky piny a väčšina z nich nemôže používať 4-bitový režim zbernice SD. Oddelená doska samostatného otvoru na kartu SD poskytuje lepšiu flexibilitu.

Mnoho oddeľovacích panelov LCD súčasne rozbije aj slot na kartu SD v plnej veľkosti. Väčšina z nich však vylamuje iba kolíky režimu SPI. Nestačí používať ako 4-bitový režim zbernice SD, ale stále ho môžete použiť ako režim 1-bitovej zbernice SD podľa tohto mapovania pripojenia:

LCD -> ESP32

SD_CS -> nulové SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14

Krok 6: Odpojte GPIO 2 počas programu

Odpojte GPIO 2 počas programu
Odpojte GPIO 2 počas programu

Vďaka 4-bitovému pripojeniu v režime zbernice SD sa ESP32 nepodarilo vstúpiť do režimu programu. Pred nahraním nového programu nezabudnite odpojiť GPIO 2 z oddeľovacej dosky slotu pre karty SD DAT0.

Krok 7: Benchmark

Benchmark
Benchmark
Benchmark
Benchmark

Pre benchmark som napísal jednoduchý program Arduino:

github.com/moononournation/ESP32_SD_Benchm…

Tu je hardvér pre benchmark:

ESP32

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

Slot na SD kartu

Prelomová doska na slot pre kartu MicroSD

SD karta

V ruke mám SanDisk 8 GB MicroSD a starý 128 MB MicroSD.

Krok 8: benchmark 4-bitového režimu SD_MMC

SanDisk 8 GB MicroSD

20: 27: 46 000 -> Testovací zápis /test_1k.bin

20: 27: 59,399 -> Použitý zapisovací súbor: 13404 ms, 312,914368 KB/s 20: 27: 59,399 -> Testovací zápis /test_2k.bin 20: 28: 17,248 -> Použitý zapisovací súbor: 17834 ms, 235,185822 KB/s 20: 28: 17.248 -> Test zápisu /test_4k.bin 20: 28: 21,122 -> Použitý súbor zápisu: 3873 ms, 1082,959961 KB /s 20: 28: 21,122 -> Test zápisu /test_8k.bin 20: 28: 23,147 -> Použitý zapisovací súbor: 2024 ms, 2072,284668 KB/s 20: 28: 23,147 -> Test zápisu/test_16k.bin 20: 28: 27,237 -> Použitý zapisovací súbor: 4097 ms, 1023,750061 KB/s 20: 28: 27,237 -> Test zapíšte /test_32k.bin 20: 28: 30,088 -> Použitý zapisovací súbor: 2842 ms, 1475,828247 KB /s 20: 28: 30,088 -> Testovací zápis /test_64k.bin 20: 28: 31,882 -> Použitý zapisovací súbor: 1811 ms, 2316.015381 KB /s 20: 28: 31,882 -> Testovacie čítanie /test_1k.bin 20: 28: 35,422 -> Použitý súbor na čítanie: 3520 ms, 1191,563599 KB /s 20: 28: 35,422 -> Testovacie čítanie /test_2k.bin 20: 28: 38,813 -> Použitý prečítaný súbor: 3389 ms, 1237,622925 KB/s 20: 28: 38,813 -> Testovacie čítanie /test_4k.bin 20: 28: 42,273 -> Použitý prečítaný súbor: 3474 ms, 1207,341431 KB/s 20:28: 42,273 -> Testovacie čítanie /test_8k.bin 20: 28: 45,752 - > Použitý prečítaný súbor: 3487 ms, 1202,840210 KB/s 20: 28: 45,752 -> Testovacie čítanie /test_16k.bin 20: 28: 48,988 -> Použitý prečítaný súbor: 3213 ms, 1305,416748 KB/s 20: 28: 48,988 -> Testovacie čítanie /test_32k.bin 20: 28: 52.077 -> Použitý prečítaný súbor: 3093 ms, 1356.063354 KB /s 20: 28: 52.077 -> Testovacie čítanie /test_64k.bin 20: 28: 55.141 -> Použitý prečítaný súbor: 3080 ms, 1361,786987 KB/s

Starý 128 MB microSD

20: 30: 43,309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr vrátil 0x109

20: 30: 43,309 -> Pripojenie karty zlyhalo

Krok 9: benchmark 1-bitového režimu SD_MMC

SanDisk 8 GB MicroSD

20: 31: 45,194 -> Testovací zápis /test_1k.bin

20: 31: 59,506 -> Použitý zapisovací súbor: 14325 ms, 292,796082 KB/s 20: 31: 59,506 -> Testovací zápis /test_2k.bin 20: 32: 17,686 -> Použitý zapisovací súbor: 18163 ms, 230,925735 KB/s 20: 32: 17,686 -> Test zápisu /test_4k.bin 20: 32: 21,291 -> Použitý súbor zápisu: 3611 ms, 1161,535278 KB /s 20: 32: 21,291 -> Test zápisu /test_8k.bin 20: 32: 23,939 -> Použitý zapisovací súbor: 2652 ms, 1581,562622 KB/s 20: 32: 23,939 -> Test zápisu /test_16k.bin 20: 32: 28,397 -> Použitý zapisovací súbor: 4448 ms, 942,964050 KB/s 20: 32: 28,397 -> Test zápis /test_32k.bin 20: 32: 31,835 -> použitý súbor na zápis: 3429 ms, 1223,185791 KB /s 20: 32: 31,835 -> test zápisu /test_64k.bin 20: 32: 33,882 -> použitý súbor na zápis: 2058 ms, 2038.048584 KB /s 20: 32: 33,882 -> Testovacie čítanie /test_1k.bin 20: 32: 38,031 -> Použitý súbor na čítanie: 4146 ms, 1011,650757 KB /s 20: 32: 38,031 -> Testovacie čítanie /test_2k.bin 20: 32: 42,062 -> Použitý prečítaný súbor: 4019 ms, 1043,618774 KB/s 20: 32: 42,062 -> Testovacie čítanie /test_4k.bin 20: 32: 46,170 -> Použitý prečítaný súbor: 4106 ms, 1021,506104 KB/s 20:32: 46,170 -> Testovacie čítanie /test_8k.bin 20: 32: 50,288 -> Použitý prečítaný súbor: 4121 ms, 1017,778903 KB/s 20: 32: 50,288 -> Testovacie čítanie /test_16k.bin 20: 32: 54,112 -> Použitý súbor na čítanie: 3840 ms, 1092,266724 KB/s 20: 32: 54,112 -> Test čítanie /test_32k.bin 20: 32: 57,840 -> použitý súbor na čítanie: 3739 ms, 1121,771606 KB /s 20: 32: 57,840 -> test čítania /test_64k.bin 20: 33: 01,568 -> použitý súbor na čítanie: 3711 ms, 1130,235474 KB/s

Starý 128 MB microSD

20: 33: 27,366 -> Testovací zápis /test_1k.bin

20: 33: 42,386 -> Použitý zapisovací súbor: 15020 ms, 279,2479925 KB/s 20: 33: 42,386 -> Testovací zápis /test_2k.bin 20: 33: 57,927 -> Použitý zapisovací súbor: 15515 ms, 270,338654 KB/s 20: 33: 57,927 -> Test zápisu /test_4k.bin 20: 34: 13,108 -> Použitý súbor zápisu: 15195 ms, 276,031860 KB /s 20: 34: 13,108 -> Test zápisu /test_8k.bin 20: 34: 28,162 -> Použitý zapisovací súbor: 15048 ms, 278,728333 KB/s 20: 34: 28,162 -> Testovací zápis/test_16k.bin 20: 34: 43,287 -> Použitý zapisovací súbor: 15142 ms, 276,998016 KB/s 20: 34: 43,287 -> Test zapisovať /test_32k.bin 20: 34: 58,278 -> použitý súbor na zápis: 14964 ms, 280,292969 KB /s 20: 34: 58,278 -> test zápisu /test_64k.bin 20: 35: 13,370 -> použitý súbor na zápis: 15101 ms, 277,750092 KB /s 20: 35: 13,370 -> Testovacie čítanie /test_1k.bin 20: 35: 17,563 -> Použitý súbor na čítanie: 4197 ms, 999,357666 KB /s 20: 35: 17,563 -> Testovacie čítanie /test_2k.bin 20: 35: 21,746 -> Použitý prečítaný súbor: 4191 ms, 1000,788330 KB/s 20: 35: 21,746 -> Testovacie čítanie /test_4k.bin 20: 35: 25,942 -> Použitý prečítaný súbor: 4181 ms, 1003,182007 KB/s 20:35: 25.942 -> Testovacie čítanie /test_8k.bin 20: 35: 30.101 -> Použitý prečítaný súbor: 4176 ms, 1004,383118 KB/s 20: 35: 30,01 -> Testovacie čítanie /test_16k.bin 20: 35: 34,279 -> Použitý prečítaný súbor: 4174 ms, 1004,864380 KB/s 20: 35: 34,279 -> Test čítať /test_32k.bin 20: 35: 38,462 -> použitý súbor na čítanie: 4173 ms, 1005,105225 KB /s 20: 35: 38,462 -> test čítanie /test_64k.bin 20: 35: 42,612 -> použitý súbor na čítanie: 4173 ms, 1005,105225 KB/s

Krok 10: Režim SD SPI v benchmarku HSPI Bus

SanDisk 8 GB MicroSD

08: 41: 19,703 -> Testovací zápis /test_1k.bin

08: 41: 53,458 -> Použitý zapisovací súbor: 33743 ms, 124,301453 KB/s 08: 41: 53,458 -> Skúšobný zápis /test_2k.bin 08: 42: 10 000 -> Použitý zapisovací súbor: 16540 ms, 253,585495 KB/s 08: 42: 10 000 -> Test zápisu /test_4k.bin 08: 42: 17,269 -> Použitý súbor zápisu: 7298 ms, 574,719666 KB /s 08: 42: 17,308 -> Test zápisu /test_8k.bin 08: 42: 22,640 -> Použitý zapisovací súbor: 5345 ms, 784,715454 KB/s 08: 42: 22,640 -> Test zápisu/test_16k.bin 08: 42: 32,285 -> Použitý zapisovací súbor: 9662 ms, 434,103088 KB/s 08: 42: 32,285 -> Test písať /test_32k.bin 08: 42: 36,659 -> Použitý zapisovací súbor: 4355 ms, 963,100830 KB /s 08: 42: 36,659 -> Test zápis /test_64k.bin 08: 42: 39,594 -> Použitý zapisovací súbor: 2949 ms, 1422.280151 KB /s 08: 42: 39,594 -> Testovacie čítanie /test_1k.bin 08: 42: 44,7774 -> Použitý súbor na čítanie: 5192 ms, 807,839783 KB /s 08: 42: 44,777 -> Testovacie čítanie /test_2k.bin 08: 42: 49,969 -> Použitý prečítaný súbor: 5189 ms, 808,306824 KB/s 08: 42: 49,969 - -> Testovacie čítanie/test_4k.bin 08: 42: 55,123 -> Použitý prečítaný súbor: 5161 ms, 812,692139 KB/s 08:42: 55.158 -> Testovacie čítanie /test_8k.bin 08: 43: 00.300 -> Prečítajte si použitý súbor: 5176 ms, 810,336914 KB/s 08: 43: 00,334 -> Test čítania /test_16k.bin 08: 43: 05.277 -> Použitý súbor na čítanie: 4948 ms, 847,676636 KB/s 08: 43: 05,277 -> Testovacie čítanie /test_32k.bin 08: 43: 10.028 -> Použitý prečítaný súbor: 4773 ms, 878,756348 KB /s 08: 43: 10,028 -> Testovacie čítanie /test_64k.bin 08: 43: 14,760 -> Použitý prečítaný súbor: 4731 ms, 886,557617 KB/s

Starý 128 MB microSD

08: 43: 47,777 -> Testovací zápis /test_1k.bin

08: 44: 04,148 -> Použitý zapisovací súbor: 16390 ms, 255,906281 KB/s 08: 44: 04,183 -> Testovací zápis /test_2k.bin 08: 44: 20,648 -> Použitý zapisovací súbor: 16494 ms, 254,292709 KB/s 08: 44: 20.648 -> Test zápisu /test_4k.bin 08: 44: 36,674 -> Použitý súbor zápisu: 16001 ms, 262,127625 KB /s 08: 44: 36,674 -> Test zápisu /test_8k.bin 08: 44: 52,849 -> Použitý zapisovací súbor: 16175 ms, 259,307831 KB/s 08: 44: 52,849 -> Test zápisu /test_16k.bin 08: 45: 09,225 -> Použitý zapisovací súbor: 16397 ms, 255,797043 KB/s 08: 45: 09,225 -> Test zapíšte /test_32k.bin 08: 45: 25,363 -> použitý súbor na zápis: 16143 ms, 259,821838 KB /s 08: 45: 25,397 -> test zápisu /test_64k.bin 08: 45: 41,632 -> použitý súbor na zápis: 16263 ms, 257,904694 KB /s 08: 45: 41,632 -> Testovacie čítanie /test_1k.bin 08: 45: 46,488 -> Použitý súbor na čítanie: 4856 ms, 863,736389 KB /s 08: 45: 46,488 -> Testovacie čítanie /test_2k.bin 08: 45: 51,332 -> Použitý súbor na čítanie: 4840 ms, 866,591736 KB/s 08: 45: 51,332 -> Testovacie čítanie /test_4k.bin 08: 45: 56,163 -> Použitý súbor na čítanie: 4834 ms, 867,667358 KB/s 08:45: 56.163 -> Skúšobné čítanie /test_8k.bin 08: 46: 00.998 -> R použitý súbor ead: 4827 ms, 868,925598 KB/s 08: 46: 00,998 -> Test čítania /test_16k.bin 08: 46: 05.808 -> Použitý súbor na čítanie: 4825 ms, 869,285828 KB/s 08: 46: 05,843 -> Test čítať /test_32k.bin 08: 46: 10,637 -> Použitý prečítaný súbor: 4824 ms, 869,466003 KB /s 08: 46: 10,637 -> Testovacie čítanie /test_64k.bin 08: 46: 15,478 -> Použitý prečítaný súbor: 4825 ms, 869,285828 KB/s

Krok 11: Režim SD SPI v benchmarku zbernice VSPI

SanDisk 8 GB MicroSD

08: 54: 17,412 -> Testovací zápis /test_1k.bin

08: 54: 48,398 -> Použitý zapisovací súbor: 30994 ms, 135,326324 KB/s 08: 54: 48,398 -> Skúšobný zápis /test_2k.bin 08: 55: 06.079 -> Použitý zapisovací súbor: 17677 ms, 237,274658 KB/s 08: 55: 06.079 -> Test zápisu /test_4k.bin 08: 55: 13,357 -> Použitý súbor zápisu: 7274 ms, 576,615906 KB /s 08: 55: 13,357 -> Test zápisu /test_8k.bin 08: 55: 18,691 -> Použitý zapisovací súbor: 5323 ms, 787,958679 KB/s 08: 55: 18,691 -> Test zápisu /test_16k.bin 08: 55: 28,336 -> Použitý zapisovací súbor: 9669 ms, 433,788818 KB/s 08: 55: 28,336 -> Test písať /test_32k.bin 08: 55: 32,646 -> použitý súbor na zápis: 4309 ms, 973,382202 KB /s 08: 55: 32,646 -> test zápisu /test_64k.bin 08: 55: 35,551 -> použitý súbor na zápis: 2915 ms, 1438.869263 KB /s 08: 55: 35,584 -> Testovacie čítanie /test_1k.bin 08: 55: 40,745 -> Použitý súbor na čítanie: 5183 ms, 809,242554 KB /s 08: 55: 40,745 -> Testovacie čítanie /test_2k.bin 08: 55: 45,916 -> Použitý prečítaný súbor: 5182 ms, 809,398682 KB/s 08: 55: 45,949 -> Testovacie čítanie/test_4k.bin 08: 55: 51,091 -> Použitý prečítaný súbor: 5162 ms, 812,534668 KB/s 08:55: 51.091 -> Testovacie čítanie /test_8k.bin 08: 55: 56.257 -> Prečítajte si použitý súbor: 5177 ms, 810,180420 KB/s 08: 55: 56,293 -> testovacie čítanie /test_16k.bin 08: 56: 01,244 -> použitý súbor na čítanie: 4956 ms, 846,308289 KB/s 08: 56: 01,244 -> testovacie čítanie /test_32k.bin 08: 56: 06.006 -> Použitý prečítaný súbor: 4764 ms, 880,416443 KB /s 08: 56: 06,006 -> Testovacie čítanie /test_64k.bin 08: 56: 10,716 -> Použitý prečítaný súbor: 4728 ms, 887.120117 KB/s

Starý 128 MB microSD

08: 51: 01,939 -> Testovací zápis /test_1k.bin

08: 51: 18,358 -> Použitý zapisovací súbor: 16422 ms, 255,407623 KB/s 08: 51: 18,358 -> Testovací zápis /test_2k.bin 08: 51: 34,529 -> Použitý zapisovací súbor: 16173 ms, 259,339874 KB/s 08: 51: 34.529 -> Test zápisu /test_4k.bin 08: 51: 50,911 -> Použitý súbor zápisu: 16372 ms, 256,187653 KB /s 08: 51: 50,911 -> Test zápisu /test_8k.bin 08: 52: 07,056 -> Použitý zapisovací súbor: 16137 ms, 259,918457 KB/s 08: 52: 07,056 -> Test zápisu /test_16k.bin 08: 52: 23,383 -> Použitý zapisovací súbor: 16351 ms, 256,516663 KB/s 08: 52: 23,383 -> Test písať /test_32k.bin 08: 52: 39,533 -> použitý súbor na zápis: 16128 ms, 260,063507 KB /s 08: 52: 39,533 -> test zápisu /test_64k.bin 08: 52: 55,764 -> použitý súbor na zápis: 16250 ms, 258,111023 KB /s 08: 52: 55,764 -> Testovacie čítanie /test_1k.bin 08: 53: 00,645 -> Použitý súbor na čítanie: 4855 ms, 863,914307 KB /s 08: 53: 00,645 -> Testovacie čítanie /test_2k.bin 08: 53: 05,459 -> Použitý prečítaný súbor: 4839 ms, 866,770813 KB/s 08: 53: 05,459 -> Testovacie čítanie/test_4k.bin 08: 53: 10,306 -> Použitý prečítaný súbor: 4833 ms, 867,846863 KB/s 08:53: 10.306 -> Skúšobné čítanie /test_8k.bin 08: 53: 15,127 -> R použitý použitý súbor: 4827 ms, 868,925598 KB/s 08: 53: 15,127 -> Testovacie čítanie /test_16k.bin 08: 53: 19,963 -> Použitý prečítaný súbor: 4826 ms, 869,105652 KB/s 08: 53: 19,963 -> Test čítať /test_32k.bin 08: 53: 24,758 -> Použitý prečítaný súbor: 4824 ms, 869,466003 KB /s 08: 53: 24,792 -> Testovacie čítanie /test_64k.bin 08: 53: 29,592 -> Použitý prečítaný súbor: 4824 ms, 869,466003 KB/s

Krok 12: Zaokrúhlite nahor

4-bitový režim zbernice SD má najlepší výkon, režim 1-bitovej zbernice SD je o 20% pomalší a režim SPI je o 50% pomalší. Jedným z hlavných dôvodov je, že vrstva protokolu SD_MMC neimplementuje žiadny druh zamykania, ale SPI. A tiež 4-bitový režim zbernice SD má dvojité dátové linky, takže teoreticky zdvojnásobuje rýchlosť. Ale môj starý MicroSD nemôže podporovať 4-bitový režim zbernice SD.

Vo väčšine prípadov odporúčam 1-bitový režim zbernice SD, pretože:

  • dobrý výkon
  • lepšia kompatibilita s kartami SD
  • voľnejšie SD Vyťahovacie požiadavky
  • sú potrebné iba 3 piny GPIO
  • menšia konfigurácia kódu
  • tento režim môže používať mnoho vývojárskych balíkov, vývojových a vývojových dosiek

Odporúča: