Izvēlieties SD saskarni ESP32: 12 soļi (ar attēliem)
Izvēlieties SD saskarni ESP32: 12 soļi (ar attēliem)
Anonim
ESP32 izvēlieties SD saskarni
ESP32 izvēlieties SD saskarni

Šīs instrukcijas parāda kaut ko par SD saskarnes izvēli jūsu ESP32 projektam.

1. darbība: SD saskarne

Oriģinālajā Arduino SD bibliotēkā SD saskarne izmanto SD SPI kopnes pārsūtīšanas režīmu.

SD faktiski ir vairāk pārsūtīšanas režīma:

  • SPI kopnes režīms: ESP32 ir vairāk nekā 1 SPI kopne, to var pielāgot inicializācijas laikā
  • 1 bitu / 4 bitu SD kopnes režīms: ESP32 veltīt citu bibliotēku ar nosaukumu SD_MMC, lai ieviestu SD kopnes režīma API
  • SD UHS-II režīms: ESP32 netiek atbalstīts

Atsauce:

www.arduino.cc/en/reference/SD

en.wikipedia.org/wiki/SD_card

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

2. darbība: ESP32 GPIO tapas kartēšana

Šeit ir noklusējuma ESP32 GPIO tapas kartēšana:

SD kartes tapa MicroSD tapa Vārds 4 bitu SD kopne 1 bitu SD kopne SPI kopne (HSPI / VSPInative tapas)
1 2 D3 13 - SS (15/5)
2 3 CMD 15 15 MOSI (13/23)
3 - VSS GND GND GND
4 4 VDD 3.3V 3.3V 3.3V
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 bitu / 4 bitu SD kopnes GPIO tapas kartēšanu nevar mainīt.

Vienkāršs zvans SD_MMC sākas () uz sākotnējo 4 bitu SD kopnes režīmu:

SD_MMC.begin ();

1 bitu SD kopnes režīmu var izvēlēties, izmantojot SD_MMC begin () metodi, piem.

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

SPI kopni (HSPI vai VSPI) var izvēlēties, veidojot SPIClass instanci, piem.

SPIClass spi = SPIClass (HSPI);

Kā redzat, 1 bitu / 4 bitu SD kopnes tapu koplietošanas tapas ar HSPI, bet SD karšu tapu kartēšana nav vienāda. Tātad, ja aparatūra ir savienota saskaņā ar SD kopnes tapu karti, tā nevar tieši izmantot HSPI vietējās tapas. GPIO tapas var ignorēt, izmantojot SPIClass begin () metodi, piem.

SPIClass spi = SPIClass (HSPI);

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

Un arī SD bibliotēka var ignorēt SS tapu, SPI kopni un kopnes frekvenci, izmantojot SD sākuma () metodi, piem.

SD sākums (13 / * SS * /, spi, 80000000);

3. darbība. Prasības SD pievilkšanai

Ja vēlaties izmantot 4 bitu SD kopnes režīmu, lūdzu, ievērojiet ESP32 SD Pull-up prasības, jo īpaši:

  • Pievilkšanas konflikti GPIO13
  • Konflikti starp Bootstrap un SDIO DAT2

Atsauce:

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

4. darbība. Dažāda aparatūra

Dažāda aparatūra
Dažāda aparatūra

ESP32 ir daudz izstrādātāju komplekta un izstrādātāju plates, dažās no tām ir iebūvēts MicroSD karšu slots.

Šeit ir daži piemēri manā rokā:

  • TTGO T-Watch, tas ir savienots ar GPIO tapām 2, 13, 14 un 15 saskaņā ar 1 bitu SD kopnes režīmu, tāpēc var izmantot 1 bitu SD kopnes režīmu un SPI kopnes režīmu
  • M5Stack sērija, tā ir savienota ar GPIO tapām 4, 18, 19 un 23 saskaņā ar vietējām VSPI tapām, tāpēc var izmantot noklusējuma SD bibliotēkas iestatījumus [SD.begin (4)]
  • ODROID-GO, tas ir savienots ar GPIO tapām 18, 19, 22 un 23 atbilstoši VSPI vietējām tapām, tāpēc var izmantot noklusējuma SD bibliotēkas iestatījumus [SD.begin (22)]
  • ESP32-CAM, tas ir savienots ar GPIO tapām 2, 4, 12, 13, 14 un 15 atbilstoši 4 bitu SD kopnes režīmam, tāpēc var izmantot visu 4 bitu / 1 bitu SD kopnes režīmu un SPI kopnes režīmu
  • TTGO T8 dev plate, tā ir savienota ar GPIO tapām 2, 13, 14 un 15 saskaņā ar 1 bitu SD kopnes režīmu, tāpēc var izmantot 1 bitu SD kopnes režīmu un SPI kopnes režīmu

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. solis: SD kartes slota sadalīšanas panelis

SD kartes slota sadalīšanas panelis
SD kartes slota sadalīšanas panelis
SD kartes slota sadalīšanas panelis
SD kartes slota sadalīšanas panelis

Izstrādātāja plate ar iebūvētu MicroSD kartes slotu var nebūt savienota ar visām tapām, un lielākā daļa nevar izmantot 4 bitu SD kopnes režīmu. Atsevišķa SD karšu slotu sadales plāksne nodrošina lielāku elastību.

Tajā pašā laikā daudzi LCD sadalīšanas paneļi arī izjauc pilna izmēra SD kartes slotu. Tomēr lielākā daļa no tām izlauž tikai SPI režīma tapas. Nepietiek izmantot kā 4 bitu SD kopnes režīmu, bet jūs joprojām varat to izmantot kā 1 bitu SD kopnes režīmu, izmantojot šo savienojuma kartēšanu:

LCD -> ESP32

SD_CS -> nulle SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14

6. darbība: atvienojiet GPIO 2 programmas laikā

Programmas laikā atvienojiet GPIO 2
Programmas laikā atvienojiet GPIO 2

Pateicoties 4 bitu SD kopnes režīma savienojumam, ESP32 neizdevās pāriet programmas režīmā. Lūdzu, atcerieties, ka pirms jaunas programmas augšupielādes atvienojiet GPIO 2 no SD kartes slota sadalīšanas paneļa DAT0.

7. solis: etalons

Etalons
Etalons
Etalons
Etalons

Es esmu uzrakstījis vienkāršu Arduino programmu etalonam:

github.com/moononournation/ESP32_SD_Benchm…

Šeit ir etalona aparatūra:

ESP32

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

SD kartes slots

MicroSD kartes slota sadalīšanas panelis

SD karte

Man rokā ir SanDisk 8 GB MicroSD un veca 128 MB MicroSD.

8. darbība: SD_MMC 4 bitu režīma etalons

SanDisk 8 GB MicroSD

20: 27: 46.000 -> Testa rakstīšana /test_1k.bin

20: 27: 59.399 -> Izmantotais rakstīšanas fails: 13404 ms, 312.914368 KB/s 20: 27: 59.399 -> Testa rakstīšana /test_2k.bin 20: 28: 17.248 -> Izmantotais rakstīšanas fails: 17834 ms, 235.185822 KB/s 20: 28: 17.248 -> Testa rakstīšana /test_4k.bin 20: 28: 21.122 -> Izmantotais rakstīšanas fails: 3873 ms, 1082.959961 KB /s 20: 28: 21.122 -> Testa rakstīšana /test_8k.bin 20: 28: 23.147 -> Izmantotais rakstīšanas fails: 2024 ms, 2072.284668 KB/s 20: 28: 23.147 -> Testa rakstīšana /test_16k.bin 20: 28: 27.237 -> Izmantotais rakstīšanas fails: 4097 ms, 1023.750061 KB/s 20: 28: 27.237 -> Tests rakstīt /test_32k.bin 20: 28: 30.088 -> Izmantotais rakstīšanas fails: 2842 ms, 1475,828247 KB /s 20: 28: 30.088 -> Testa rakstīšana /test_64k.bin 20: 28: 31.882 -> Izmantotais rakstīšanas fails: 1811 ms, 2316.015381 KB /s 20: 28: 31.882 -> Testa lasījums /test_1k.bin 20: 28: 35.422 -> Izmantotais fails: 3520 ms, 1191.563599 KB /s 20: 28: 35.422 -> Testa lasījums /test_2k.bin 20: 28: 38.813 -> Izlasītais fails: 3389 ms, 1237.622925 KB/s 20: 28: 38.813 -> Testa lasījums /test_4k.bin 20: 28: 42.273 -> Izlasītais fails: 3474 ms, 1207.341431 KB/s 20:28: 42.273 -> Testa lasījums /test_8k.bin 20: 28: 45.752 - > Izlasītais fails: 3487 ms, 1202.840210 KB/s 20: 28: 45.752 -> Testa lasījums /test_16k.bin 20: 28: 48.988 -> Izlasītais fails: 3213 ms, 1305.416748 KB/s 20: 28: 48.988 -> Testa lasījums /test_32k.bin 20: 28: 52.077 -> Izlasītais fails: 3093 ms, 1356.063354 KB /s 20: 28: 52.077 -> Testa lasījums /test_64k.bin 20: 28: 55.141 -> Izlasītais fails: 3080 ms, 1361.786987 KB/s

Vecs 128 MB MicroSD

20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr atgriezts 0x109

20: 30: 43.309 -> Kartes stiprinājums neizdevās

9. darbība: SD_MMC 1 bitu režīma etalons

SanDisk 8 GB MicroSD

20: 31: 45.194 -> Testa rakstīšana /test_1k.bin

20: 31: 59.506 -> Izmantotais rakstīšanas fails: 14325 ms, 292.796082 KB/s 20: 31: 59.506 -> Testa rakstīšana /test_2k.bin 20: 32: 17.686 -> Izmantotais rakstīšanas fails: 18163 ms, 230.925735 KB/s 20: 32: 17.686 -> Testa rakstīšana /test_4k.bin 20: 32: 21.291 -> Izmantotais rakstīšanas fails: 3611 ms, 1161.535278 KB /s 20: 32: 21.291 -> Testa rakstīšana /test_8k.bin 20: 32: 23.939 -> Izmantotais rakstīšanas fails: 2652 ms, 1581.562622 KB/s 20: 32: 23.939 -> Testa rakstīšana /test_16k.bin 20: 32: 28.397 -> Izmantotais rakstīšanas fails: 4448 ms, 942.964050 KB/s 20: 32: 28.397 -> Tests rakstīt /test_32k.bin 20: 32: 31.835 -> Izmantotais rakstīšanas fails: 3429 ms, 1223.185791 KB /s 20: 32: 31.835 -> Testa rakstīšana /test_64k.bin 20: 32: 33.882 -> Izmantotais rakstīšanas fails: 2058 ms, 2038.048584 KB /s 20: 32: 33.882 -> Testa lasījums /test_1k.bin 20: 32: 38.031 -> Izmantotais lasītais fails: 4146 ms, 1011.650757 KB /s 20: 32: 38.031 -> Testa lasījums /test_2k.bin 20: 32: 42.062 -> Izlasītais fails: 4019 ms, 1043.618774 KB/s 20: 32: 42.062 -> Testa lasījums /test_4k.bin 20: 32: 46.170 -> Izlasītais fails: 4106 ms, 1021.506104 KB/s 20:32: 46.170 -> Testa lasījums /test_8k.bin 20: 32: 50.288 -> Izlasītais izmantotais fails: 4121 ms, 1017.787903 KB/s 20: 32: 50.288 -> Testa lasījums /test_16k.bin 20: 32: 54.112 -> Izlasītais fails: 3840 ms, 1092.266724 KB/s 20: 32: 54.112 -> Tests lasīt /test_32k.bin 20: 32: 57.840 -> Lasīt izmantoto failu: 3739 ms, 1121.771606 KB /s 20: 32: 57.840 -> Testa lasījums /test_64k.bin 20: 33: 01.568 -> Izlasītais fails: 3711 ms, 1130,235474 KB/s

Vecs 128 MB MicroSD

20: 33: 27.366 -> Testa rakstīšana /test_1k.bin

20: 33: 42.386 -> Izmantotais rakstīšanas fails: 15020 ms, 279.247925 KB/s 20: 33: 42.386 -> Testa rakstīšana /test_2k.bin 20: 33: 57.927 -> Izmantotais rakstīšanas fails: 15515 ms, 270.338654 KB/s 20: 33: 57.927 -> Testa rakstīšana /test_4k.bin 20: 34: 13.108 -> Izmantotais rakstīšanas fails: 15195 ms, 276.031860 KB /s 20: 34: 13.108 -> Testa rakstīšana /test_8k.bin 20: 34: 28.162 -> Izmantotais rakstīšanas fails: 15048 ms, 278.728333 KB/s 20: 34: 28.162 -> Testa rakstīšana /test_16k.bin 20: 34: 43.287 -> Izmantotais rakstīšanas fails: 15142 ms, 276.998016 KB/s 20: 34: 43.287 -> Tests rakstīt /test_32k.bin 20: 34: 58.278 -> Izmantotais rakstīšanas fails: 14964 ms, 280.292969 KB /s 20: 34: 58.278 -> Testa rakstīšana /test_64k.bin 20: 35: 13.370 -> Izmantotais rakstīšanas fails: 15101 ms, 277.750092 KB /s 20: 35: 13.370 -> Testa lasījums /test_1k.bin 20: 35: 17.563 -> Izlasītais fails: 4197 ms, 999.357666 KB /s 20: 35: 17.563 -> Testa lasījums /test_2k.bin 20: 35: 21.746 -> Izlasītais fails: 4191 ms, 1000.788330 KB/s 20: 35: 21.746 -> Testa lasījums /test_4k.bin 20: 35: 25.942 -> Izlasītais fails: 4181 ms, 1003.182007 KB/s 20:35: 25.942 -> Testa lasījums /test_8k.bin 20: 35: 30.101 -> Izlasītais izmantotais fails: 4176 ms, 1004.383118 KB/s 20: 35: 30.101 -> Testa lasījums /test_16k.bin 20: 35: 34.279 -> Izlasītais fails: 4174 ms, 1004.864380 KB/s 20: 35: 34.279 -> Tests lasīt /test_32k.bin 20: 35: 38.462 -> Lasīt izmantoto failu: 4173 ms, 1005.105225 KB /s 20: 35: 38.462 -> Testa lasījums /test_64k.bin 20: 35: 42.612 -> Lasīt izmantoto failu: 4173 ms, 1005.105225 KB/s

10. solis: SD SPI režīms HSPI kopnes etalonā

SanDisk 8 GB MicroSD

08: 41: 19.703 -> Testa rakstīšana /test_1k.bin

08: 41: 53.458 -> Izmantotais rakstīšanas fails: 33743 ms, 124.301453 KB/s 08: 41: 53.458 -> Testa rakstīšana /test_2k.bin 08: 42: 10.000 -> Izmantotais rakstīšanas fails: 16540 ms, 253.585495 KB/s 08: 42: 10.000 -> Testa rakstīšana /test_4k.bin 08: 42: 17.269 -> Izmantotais rakstīšanas fails: 7298 ms, 574.719666 KB /s 08: 42: 17.308 -> Testa rakstīšana /test_8k.bin 08: 42: 22.640 -> Izmantotais rakstīšanas fails: 5345 ms, 784.715454 KB/s 08: 42: 22.640 -> Testa rakstīšana /test_16k.bin 08: 42: 32.285 -> Izmantotais rakstīšanas fails: 9662 ms, 434.103088 KB/s 08: 42: 32.285 -> Tests rakstīt /test_32k.bin 08: 42: 36.659 -> Izmantotais rakstīšanas fails: 4355 ms, 963.100830 KB /s 08: 42: 36.659 -> Testa rakstīšana /test_64k.bin 08: 42: 39.594 -> Izmantotais rakstīšanas fails: 2949 ms, 1422.280151 KB /s 08: 42: 39.594 -> Testa lasījums /test_1k.bin 08: 42: 44.774 -> Izmantotais fails: 5192 ms, 807.839783 KB /s 08: 42: 44.774 -> Testa lasījums /test_2k.bin 08: 42: 49.969 -> Izlasītais fails: 5189 ms, 808.306824 KB/s 08: 42: 49.969 -> Testa lasījums /test_4k.bin 08: 42: 55.123 -> Izlasītais fails: 5161 ms, 812.692139 KB/s 08:42: 55.158 -> Testa lasījums /test_8k.bin 08: 43: 00.300 -> Lasīt izmantotais fails: 5176 ms, 810.336914 KB/s 08: 43: 00.334 -> Testa lasījums /test_16k.bin 08: 43: 05.277 -> Izlasītais fails: 4948 ms, 847.676636 KB/s 08: 43: 05.277 -> Testa lasījums /test_32k.bin 08: 43: 10.028 -> Izlasītais fails: 4773 ms, 878.756348 KB /s 08: 43: 10.028 -> Testa lasījums /test_64k.bin 08: 43: 14.760 -> Izlasītais fails: 4731 ms, 886.557617 KB/s

Vecs 128 MB MicroSD

08: 43: 47.777 -> Testa rakstīšana /test_1k.bin

08: 44: 04.148 -> Izmantotais rakstīšanas fails: 16390 ms, 255.906281 KB/s 08: 44: 04.183 -> Testa rakstīšana /test_2k.bin 08: 44: 20.648 -> Izmantotais rakstīšanas fails: 16494 ms, 254.292709 KB/s 08: 44: 20.648 -> Testa rakstīšana /test_4k.bin 08: 44: 36.674 -> Izmantotais rakstīšanas fails: 16001 ms, 262.127625 KB /s 08: 44: 36.674 -> Testa rakstīšana /test_8k.bin 08: 44: 52.849 -> Izmantotais rakstīšanas fails: 16175 ms, 259.307831 KB/s 08: 44: 52.849 -> Testa rakstīšana /test_16k.bin 08: 45: 09.225 -> Izmantotais rakstīšanas fails: 16397 ms, 255.797043 KB/s 08: 45: 09.225 -> Tests rakstīt /test_32k.bin 08: 45: 25.363 -> Izmantotais rakstīšanas fails: 16143 ms, 259.821838 KB /s 08: 45: 25.397 -> Testa rakstīšana /test_64k.bin 08: 45: 41.632 -> Izmantotais rakstīšanas fails: 16263 ms, 257.904694 KB /s 08: 45: 41.632 -> Testa lasījums /test_1k.bin 08: 45: 46.488 -> Izmantotais fails: 4856 ms, 863.736389 KB /s 08: 45: 46.488 -> Testa lasījums /test_2k.bin 08: 45: 51.332 -> Izlasītais fails: 4840 ms, 866.591736 KB/s 08: 45: 51.332 -> Testa lasījums /test_4k.bin 08: 45: 56.163 -> Izlasītais fails: 4834 ms, 867.667358 KB/s 08:45: 56.163 -> Testa lasījums /test_8k.bin 08: 46: 00.998 -> R izmantotais ead fails: 4827 ms, 868.925598 KB/s 08: 46: 00.998 -> Testa lasījums /test_16k.bin 08: 46: 05.808 -> Izlasītais fails: 4825 ms, 869.285828 KB/s 08: 46: 05.843 -> Tests lasīt /test_32k.bin 08: 46: 10.637 -> Lasīt izmantoto failu: 4824 ms, 869.466003 KB /s 08: 46: 10.637 -> Testa lasījums /test_64k.bin 08: 46: 15.478 -> Izlasītais fails: 4825 ms, 869,285828 KB/s

11. solis: SD SPI režīms VSPI kopnes etalonā

SanDisk 8 GB MicroSD

08: 54: 17.412 -> Testa rakstīšana /test_1k.bin

08: 54: 48.398 -> Izmantotais rakstīšanas fails: 30994 ms, 135.326324 KB/s 08: 54: 48.398 -> Testa rakstīšana /test_2k.bin 08: 55: 06.079 -> Izmantotais rakstīšanas fails: 17677 ms, 237.274658 KB/s 08: 55: 06.079 -> Testa rakstīšana /test_4k.bin 08: 55: 13.357 -> Izmantotais rakstīšanas fails: 7274 ms, 576.615906 KB /s 08: 55: 13.357 -> Testa rakstīšana /test_8k.bin 08: 55: 18.691 -> Izmantotais rakstīšanas fails: 5323 ms, 787.958679 KB/s 08: 55: 18.691 -> Testa rakstīšana /test_16k.bin 08: 55: 28.336 -> Izmantotais rakstīšanas fails: 9669 ms, 433.788818 KB/s 08: 55: 28.336 -> Tests rakstīt /test_32k.bin 08: 55: 32.646 -> Izmantotais rakstīšanas fails: 4309 ms, 973.382202 KB /s 08: 55: 32.646 -> Testa rakstīšana /test_64k.bin 08: 55: 35.551 -> Izmantotais rakstīšanas fails: 2915 ms, 1438.869263 KB /s 08: 55: 35.584 -> Testa lasījums /test_1k.bin 08: 55: 40.745 -> Izmantotais fails: 5183 ms, 809.242554 KB /s 08: 55: 40.745 -> Testa lasījums /test_2k.bin 08: 55: 45.916 -> Izlasītais fails: 5182 ms, 809.398682 KB/s 08: 55: 45.949 -> Testa lasījums /test_4k.bin 08: 55: 51.091 -> Izlasītais fails: 5162 ms, 812.534668 KB/s 08:55: 51.091 -> Testa lasījums /test_8k.bin 08: 55: 56.257 -> Lasīt izmantotais fails: 5177 ms, 810.180420 KB/s 08: 55: 56.293 -> Testa lasījums /test_16k.bin 08: 56: 01.244 -> Izlasītais fails: 4956 ms, 846.308289 KB/s 08: 56: 01.244 -> Testa lasījums /test_32k.bin 08: 56: 06.006 -> Izlasītais fails: 4764 ms, 880.416443 KB /s 08: 56: 06.006 -> Testa lasījums /test_64k.bin 08: 56: 10.716 -> Izlasītais fails: 4728 ms, 887.120117 KB/s

Vecs 128 MB MicroSD

08: 51: 01.939 -> Testa rakstīšana /test_1k.bin

08: 51: 18.358 -> Izmantotais rakstīšanas fails: 16422 ms, 255.407623 KB/s 08: 51: 18.358 -> Testa rakstīšana /test_2k.bin 08: 51: 34.529 -> Izmantotais rakstīšanas fails: 16173 ms, 259.339874 KB/s 08: 51: 34.529 -> Testa rakstīšana /test_4k.bin 08: 51: 50.911 -> Izmantotais rakstīšanas fails: 16372 ms, 256.187653 KB /s 08: 51: 50.911 -> Testa rakstīšana /test_8k.bin 08: 52: 07.056 -> Izmantotais rakstīšanas fails: 16137 ms, 259.918457 KB/s 08: 52: 07.056 -> Testa rakstīšana /test_16k.bin 08: 52: 23.383 -> Izmantotais rakstīšanas fails: 16351 ms, 256.516663 KB/s 08: 52: 23.383 -> Tests rakstīt /test_32k.bin 08: 52: 39.533 -> Izmantotais rakstīšanas fails: 16128 ms, 260.063507 KB /s 08: 52: 39.533 -> Testa rakstīšana /test_64k.bin 08: 52: 55.764 -> Izmantotais rakstīšanas fails: 16250 ms, 258.111023 KB /s 08: 52: 55.764 -> Testa lasījums /test_1k.bin 08: 53: 00.645 -> Izmantotais fails: 4855 ms, 863.914307 KB /s 08: 53: 00.645 -> Testa lasījums /test_2k.bin 08: 53: 05.459 -> Izlasītais fails: 4839 ms, 866.770813 KB/s 08: 53: 05.459 -> Testa lasījums /test_4k.bin 08: 53: 10.306 -> Izlasītais fails: 4833 ms, 867.846863 KB/s 08:53: 10.306 -> Testa lasījums /test_8k.bin 08: 53: 15.127 -> R izmantotais ead fails: 4827 ms, 868.925598 KB/s 08: 53: 15.127 -> Testa lasījums /test_16k.bin 08: 53: 19.963 -> Izlasītais fails: 4826 ms, 869.105652 KB/s 08: 53: 19.963 -> Tests lasīt /test_32k.bin 08: 53: 24.758 -> Lasīt izmantoto failu: 4824 ms, 869.466003 KB /s 08: 53: 24.792 -> Testa lasījums /test_64k.bin 08: 53: 29.592 -> Izlasītais fails: 4824 ms, 869.466003 KB/s

12. solis: noapaļojiet uz augšu

4 bitu SD kopnes režīmam ir vislabākā veiktspēja, 1 bita SD kopnes režīmam ir aptuveni 20% lēnāks un SPI režīmam ir aptuveni 50% lēnāks. Viens no galvenajiem iemesliem ir tas, ka SD_MMC protokola slānis neīsteno jebkāda veida bloķēšanu, bet SPI to dara. Un arī 4 bitu SD kopnes režīmam ir dubultas datu līnijas, tāpēc teorētiski dubulto ātrumu. Bet mans vecais MicroSD nevar atbalstīt 4 bitu SD kopnes režīmu.

Lielākajā daļā gadījumu es ieteikšu 1 bitu SD kopnes režīmu, jo:

  • labs sniegums
  • labāka SD karšu saderība
  • brīvākas SD Pull-up prasības
  • Nepieciešamas tikai 3 GPIO tapas
  • mazāka koda konfigurācija
  • šo režīmu var izmantot daudzi izstrādātāju komplekti, izstrādātāju panelis un sadalīšanas panelis

Ieteicams: