Sisällysluettelo:

Valitse SD -liitäntä ESP32: 12 askelta (kuvien kanssa)
Valitse SD -liitäntä ESP32: 12 askelta (kuvien kanssa)

Video: Valitse SD -liitäntä ESP32: 12 askelta (kuvien kanssa)

Video: Valitse SD -liitäntä ESP32: 12 askelta (kuvien kanssa)
Video: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, Marraskuu
Anonim
Valitse SD -liitäntä ESP32: lle
Valitse SD -liitäntä ESP32: lle

Tämä ohje sisältää jotakin SD -käyttöliittymän valitsemisesta ESP32 -projektillesi.

Vaihe 1: SD -käyttöliittymä

Alkuperäisessä Arduino SD -kirjastossa SD -käyttöliittymä käyttää SD SPI -väylän siirtotilaa.

SD: llä on itse asiassa enemmän siirtotilaa:

  • SPI -väylätila: ESP32: ssa on enemmän kuin yksi SPI -väylä, se voi mukauttaa alustuksen aikana
  • 1-bittinen / 4-bittinen SD-väylätila: ESP32 omistaa toisen kirjaston nimeltä SD_MMC SD-väylätilojen sovellusliittymän toteuttamiseksi
  • SD UHS-II -tila: ESP32 ei tueta

Viite.:

www.arduino.cc/en/reference/SD

en.wikipedia.org/wiki/SD_card

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

Vaihe 2: ESP32 GPIO -nastojen kartoitus

Tässä ovat ESP32 GPIO -nastien oletuskartoitukset:

SD -kortin nasta MicroSD -nasta Nimi 4-bittinen SD-väylä 1-bittinen SD-väylä SPI -väylä (HSPI / VSPInative nastat)
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-bittisen / 4-bittisen SD-väylän GPIO-nastakartoitusta ei voi muuttaa.

Yksinkertainen puhelu SD_MMC alkaa () alkuperäiseen 4-bittiseen SD-väylätilaan:

SD_MMC.begin ();

1-bittinen SD-väylätila voidaan valita SD_MMC begin () -menetelmällä, esim.

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

SPI -väylä (HSPI tai VSPI) voidaan valita samalla, kun luot SPIClass -ilmentymän, esim.

SPIClass spi = SPIClass (HSPI);

Kuten näet, 1-bittinen / 4-bittinen SD-väylän nastan jako nastat HSPI: n kanssa, mutta SD-kortin nastojen kartoitus ei ole sama. Joten jos laitteisto on kytketty SD -väylän nastakartan mukaan, se ei voi suoraan käyttää HSPI -natiivispinnejä. GPIO -nastat voidaan ohittaa SPIClass begin () -menetelmällä, esim.

SPIClass spi = SPIClass (HSPI);

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

Ja myös SD -kirjasto voi ohittaa SS -nastan, SPI -väylän ja väylän taajuuden SD begin () -menetelmällä, esim.

SD -alku (13 / * SS * /, spi, 80000000);

Vaihe 3: SD-pull-up-vaatimukset

Jos haluat käyttää 4-bittistä SD-väylätilaa, noudata tahmeasti ESP32 SD Pull-up -vaatimuksia, erityisesti:

  • Pull-up Conflicts GPIO13: ssa
  • Ristiriidat Bootstrapin ja SDIO: n välillä DAT2: ssa

Viite.:

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

Vaihe 4: Erilaiset laitteistot

Erilaisia laitteita
Erilaisia laitteita

ESP32: ssa on useita kehityssarjoja ja kehityskortteja, joista osassa on sisäänrakennettu MicroSD-korttipaikka.

Tässä muutama esimerkki kädessäni:

  • TTGO T-Watch, se on liitetty GPIO-nastoihin 2, 13, 14 ja 15 1-bittisen SD-väylätilan mukaisesti, joten se voi käyttää 1-bittistä SD-väylätilaa ja SPI-väylätilaa
  • M5Stack -sarja, se on liitetty GPIO -nastoihin 4, 18, 19 ja 23 VSPI -natiivinastat mukaan, joten se voi käyttää SD -kirjaston oletusasetuksia [SD.begin (4)]
  • ODROID-GO, se on liitetty GPIO-nastoihin 18, 19, 22 ja 23 VSPI-natiivipinojen mukaan, joten se voi käyttää SD-kirjaston oletusasetuksia [SD.begin (22)]
  • ESP32-CAM, se on liitetty GPIO-nastoihin 2, 4, 12, 13, 14 ja 15 4-bittisen SD-väylätilan mukaisesti, joten se voi käyttää kaikkia 4-bittisiä / 1-bittisiä SD-väylätilaa ja SPI-väylätilaa
  • TTGO T8-kehityskortti, se on liitetty GPIO-nastoihin 2, 13, 14 ja 15 1-bittisen SD-väylätilan mukaisesti, joten se voi käyttää 1-bittistä SD-väylätilaa ja SPI-väylätilaa

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

Vaihe 5: SD -korttipaikan aukkolevy

SD -korttipaikan aukkolevy
SD -korttipaikan aukkolevy
SD -korttipaikan aukkolevy
SD -korttipaikan aukkolevy

Kehityskortti, jossa on sisäänrakennettu MicroSD-korttipaikka, ei ehkä liitä kaikkia nastoja eikä useimmat voi käyttää 4-bittistä SD-väylätilaa. Yksittäinen SD -korttipaikan aukko tarjoaa paremman joustavuuden.

Samaan aikaan monet LCD -murtokortit jakavat myös täysikokoisen SD -korttipaikan. Useimmat niistä kuitenkin rikkovat vain SPI -tilan nastoja. Ei riitä, että sitä käytetään 4-bittisenä SD-väylätilana, mutta voit silti käyttää sitä 1-bittisenä SD-väylätilana tällä yhteyskartoituksella:

LCD -> ESP32

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

Vaihe 6: Irrota GPIO 2 -ohjelman aikana

Irrota GPIO 2 ohjelman aikana
Irrota GPIO 2 ohjelman aikana

4-bittinen SD-väyläyhteys saa ESP32: n siirtymään ohjelmatilaan. Muista irrottaa GPIO 2 SD -korttipaikan katkaisukortilta DAT0 ennen uuden ohjelman lataamista.

Vaihe 7: Vertailuarvo

Vertailuarvo
Vertailuarvo
Vertailuarvo
Vertailuarvo

Olen kirjoittanut vertailukohteeksi yksinkertaisen Arduino -ohjelman:

github.com/moononournation/ESP32_SD_Benchm…

Tässä on vertailuarvon laitteisto:

ESP32

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

SD -korttipaikka

MicroSD -korttipaikan aukkolevy

Sd-kortti

Minulla on kädessä SanDisk 8 Gt: n MicroSD ja vanha 128 Mt: n MicroSD.

Vaihe 8: SD_MMC 4-bittinen tilan vertailuarvo

SanDisk 8 Gt: n MicroSD

20: 27: 46.000 -> Testi kirjoittaa /test_1k.bin

20: 27: 59.399 -> Kirjoitustiedostoa käytetään: 13404 ms, 312.914368 KB/s 20: 27: 59.399 -> Testikirjoitus /test_2k.bin 20: 28: 17.248 -> Kirjoita käytetty tiedosto: 17834 ms, 235.185822 KB/s 20: 28: 17.248 -> Testikirjoitus /test_4k.bin 20: 28: 21.122 -> Kirjoitustiedosto käytetty: 3873 ms, 1082.959961 KB /s 20: 28: 21.122 -> Testikirjoitus /test_8k.bin 20: 28: 23.147 -> Kirjoitustiedosto käytetty: 2024 ms, 2072.284668 KB/s 20: 28: 23.147 -> Testikirjoitus /test_16k.bin 20: 28: 27.237 -> Kirjoitustiedosto käytetty: 4097 ms, 1023.750061 KB/s 20: 28: 27.237 -> Testi write /test_32k.bin 20: 28: 30.088 -> Kirjoita käytetty tiedosto: 2842 ms, 1475,828247 KB /s 20: 28: 30.088 -> Test write /test_64k.bin 20: 28: 31.882 -> Kirjoitustiedosto käytetty: 1811 ms, 2316.015381 KB /s 20: 28: 31.882 -> Testiluku /test_1k.bin 20: 28: 35.422 -> Käytetty tiedosto: 3520 ms, 1191.563599 KB /s 20: 28: 35.422 -> Testiluku /test_2k.bin 20: 28: 38.813 -> Lue käytetty tiedosto: 3389 ms, 1237.622925 KB/s 20: 28: 38.813 -> Testiluku /test_4k.bin 20: 28: 42.273 -> Lue käytetty tiedosto: 3474 ms, 1207.341431 KB/s 20:28: 42.273 -> Testiluku /test_8k.bin 20: 28: 45.752 - > Käytetty lukutiedosto: 3487 ms, 1202.840210 KB/s 20: 28: 45.752 -> Testiluku /test_16k.bin 20: 28: 48.988 -> Lue käytetty tiedosto: 3213 ms, 1305.416748 KB/s 20: 28: 48.988 -> Testiluku /test_32k.bin 20: 28: 52.077 -> Käytetty tiedosto: 3093 ms, 1356.063354 KB /s 20: 28: 52.077 -> Testiluku /test_64k.bin 20: 28: 55.141 -> Käytetty tiedoston lukeminen: 3080 ms, 1361,7786987 kt/s

Vanha 128 Mt: n MicroSD

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

20: 30: 43.309 -> Kortin kiinnitys epäonnistui

Vaihe 9: SD_MMC 1-bittinen tilan vertailuarvo

SanDisk 8 Gt: n MicroSD

20: 31: 45.194 -> Testikirjoitus /testi_1k.bin

20: 31: 59.506 -> Kirjoitustiedoston käyttö: 14325 ms, 292.796082 KB/s 20: 31: 59.506 -> Testikirjoitus /test_2k.bin 20: 32: 17.686 -> Kirjoitustiedosto käytetty: 18163 ms, 230.925735 KB/s 20: 32: 17.686 -> Testikirjoitus /test_4k.bin 20: 32: 21.291 -> Kirjoitustiedosto käytetty: 3611 ms, 1161,535278 KB /s 20: 32: 21.291 -> Testikirjoitus /test_8k.bin 20: 32: 23.939 -> Kirjoitustiedosto käytetty: 2652 ms, 1581.562622 KB/s 20: 32: 23.939 -> Testikirjoitus /test_16k.bin 20: 32: 28.397 -> Kirjoitustiedosto käytetty: 4448 ms, 942.964050 KB/s 20: 32: 28.397 -> Testi write /test_32k.bin 20: 32: 31.835 -> Kirjoita käytetty tiedosto: 3429 ms, 1223.185791 KB /s 20: 32: 31.835 -> Test write /test_64k.bin 20: 32: 33.882 -> Kirjoitustiedosto käytetty: 2058 ms, 2038.048584 KB /s 20: 32: 33.882 -> Testiluku /test_1k.bin 20:32: 38.031 -> Käytetty lukutiedosto: 4146 ms, 1011.650757 KB /s 20: 32: 38.031 -> Testiluku /test_2k.bin 20: 32: 42.062 -> Lue käytetty tiedosto: 4019 ms, 1043.618774 KB/s 20: 32: 42.062 -> Testiluku /test_4k.bin 20: 32: 46.170 -> Käytetty tiedosto: 4106 ms, 1021.506104 KB/s 20:32: 46.170 -> Testiluku /test_8k.bin 20: 32: 50.288 -> Lue käytetty tiedosto: 4121 ms, 1017.787903 KB/s 20: 32: 50.288 -> Testiluku /test_16k.bin 20: 32: 54.112 -> Lue käytetty tiedosto: 3840 ms, 1092.266724 KB/s 20: 32: 54.112 -> Testi read /test_32k.bin 20: 32: 57.840 -> Lue käytetty tiedosto: 3739 ms, 1121.771606 KB /s 20: 32: 57.840 -> Testiluku /test_64k.bin 20: 33: 01.568 -> Käytetty tiedosto: 3711 ms, 1130,235474 kt/s

Vanha 128 Mt: n MicroSD

20: 33: 27.366 -> Testikirjoitus /test_1k.bin

20: 33: 42.386 -> Kirjoitustiedoston käyttö: 15020 ms, 279.247925 KB/s 20: 33: 42.386 -> Testikirjoitus /test_2k.bin 20: 33: 57.927 -> Kirjoitustiedosto käytetty: 15515 ms, 270.338654 KB/s 20: 33: 57.927 -> Testikirjoitus /test_4k.bin 20: 34: 13.108 -> Kirjoitustiedostoa käytetään: 15195 ms, 276.031860 KB /s 20: 34: 13.108 -> Testikirjoitus /test_8k.bin 20: 34: 28.162 -> Kirjoitustiedosto käytetty: 15048 ms, 278.728333 KB/s 20: 34: 28.162 -> Testikirjoitus /test_16k.bin 20: 34: 43.287 -> Kirjoitustiedosto käytetty: 15142 ms, 276.998016 KB/s 20: 34: 43.287 -> Testi write /test_32k.bin 20: 34: 58.278 -> Kirjoita käytetty tiedosto: 14964 ms, 280.292969 KB /s 20: 34: 58.278 -> Test write /test_64k.bin 20: 35: 13.370 -> Kirjoitustiedosto käytetty: 15101 ms, 277.750092 KB /s 20: 35: 13.370 -> Testiluku /test_1k.bin 20: 35: 17.563 -> Käytetty lukutiedosto: 4197 ms, 999.357666 KB /s 20: 35: 17.563 -> Testiluku /test_2k.bin 20: 35: 21.746 -> Lue käytetty tiedosto: 4191 ms, 1000.788330 KB/s 20: 35: 21.746 -> Testiluku /test_4k.bin 20: 35: 25.942 -> Lue käytetty tiedosto: 4181 ms, 1003.182007 KB/s 20:35: 25.942 -> Testiluku /test_8k.bin 20: 35: 30.101 -> Lue käytetty tiedosto: 4176 ms, 1004.383118 KB/s 20: 35: 30.101 -> Testiluku /test_16k.bin 20: 35: 34.279 -> Lue käytetty tiedosto: 4174 ms, 1004.864380 KB/s 20: 35: 34.279 -> Testi read /test_32k.bin 20: 35: 38.462 -> Lue käytetty tiedosto: 4173 ms, 1005.105225 KB /s 20: 35: 38.462 -> Testiluku /test_64k.bin 20: 35: 42.612 -> Lue käytetty tiedosto: 4173 ms, 1005,105225 kt/s

Vaihe 10: SD SPI -tila HSPI Bus Benchmarkissa

SanDisk 8 Gt: n MicroSD

08: 41: 19.703 -> Testikirjoitus /testi_1k.bin

08: 41: 53.458 -> Kirjoitustiedoston käyttö: 33743 ms, 124.301453 KB/s 08: 41: 53.458 -> Testikirjoitus /test_2k.bin 08: 42: 10.000 -> Kirjoitustiedosto käytetty: 16540 ms, 253.585495 KB/s 08: 42: 10.000 -> Testikirjoitus /test_4k.bin 08: 42: 17.269 -> Kirjoitustiedostoa käytetään: 7298 ms, 574.719666 KB /s 08: 42: 17.308 -> Testikirjoitus /test_8k.bin 08: 42: 22.640 -> Kirjoitustiedosto käytetty: 5345 ms, 784.715454 KB/s 08: 42: 22.640 -> Testikirjoitus /test_16k.bin 08: 42: 32.285 -> Kirjoitustiedosto käytetty: 9662 ms, 434.103088 KB/s 08: 42: 32.285 -> Testi write /test_32k.bin 08: 42: 36.659 -> Kirjoita käytetty tiedosto: 4355 ms, 963.100830 KB /s 08: 42: 36.659 -> Test write /test_64k.bin 08: 42: 39.594 -> Kirjoitustiedosto käytetty: 2949 ms, 1422.280151 KB /s 08: 42: 39.594 -> Testiluku /test_1k.bin 08: 42: 44.774 -> Käytetty tiedosto: 5192 ms, 807.839783 KB /s 08: 42: 44.774 -> Testiluku /test_2k.bin 08: 42: 49.969 -> Lue käytetty tiedosto: 5189 ms, 808.306824 KB/s 08: 42: 49.969 -> Testiluku /test_4k.bin 08: 42: 55.123 -> Lue käytetty tiedosto: 5161 ms, 812.692139 KB/s 08:42: 55.158 -> Testiluku /test_8k.bin 08: 43: 00.300 -> Lue käytetty tiedosto: 5176 ms, 810.336914 KB/s 08: 43: 00.334 -> Testiluku /test_16k.bin 08: 43: 05.277 -> Lue käytetty tiedosto: 4948 ms, 847.676636 KB/s 08: 43: 05.277 -> Testiluku /test_32k.bin 08: 43: 10.028 -> Lue käytetty tiedosto: 4773 ms, 878.756348 KB /s 08: 43: 10.028 -> Testiluku /test_64k.bin 08: 43: 14.760 -> Käytetty tiedosto: 4731 ms, 886.557617 KB/s

Vanha 128 Mt: n MicroSD

08: 43: 47.777 -> Testikirjoitus /testi_1k.bin

08: 44: 04.148 -> Kirjoitustiedoston käyttö: 16390 ms, 255.906281 KB/s 08: 44: 04.183 -> Testikirjoitus /test_2k.bin 08: 44: 20.648 -> Kirjoita käytetty tiedosto: 16494 ms, 254.292709 KB/s 08: 44: 20.648 -> Testikirjoitus /test_4k.bin 08: 44: 36.674 -> Kirjoitustiedosto käytetty: 16001 ms, 262.127625 KB /s 08: 44: 36.674 -> Testikirjoitus /test_8k.bin 08: 44: 52.849 -> Kirjoitustiedosto käytetty: 16175 ms, 259.307831 KB/s 08: 44: 52.849 -> Testikirjoitus /test_16k.bin 08: 45: 09.225 -> Kirjoitustiedosto käytetty: 16397 ms, 255.797043 KB/s 08: 45: 09.225 -> Testi write /test_32k.bin 08: 45: 25.363 -> Kirjoita käytetty tiedosto: 16143 ms, 259.821838 KB /s 08: 45: 25.397 -> Test write /test_64k.bin 08: 45: 41.632 -> Kirjoitustiedosto käytetty: 16263 ms, 257.904694 KB /s 08: 45: 41.632 -> Testiluku /test_1k.bin 08: 45: 46.488 -> Käytetty tiedosto: 4856 ms, 863.736389 KB /s 08: 45: 46.488 -> Testiluku /test_2k.bin 08: 45: 51.332 -> Lue käytetty tiedosto: 4840 ms, 866.591736 KB/s 08: 45: 51.332 -> Testiluku /test_4k.bin 08: 45: 56.163 -> Lue käytetty tiedosto: 4834 ms, 867.667358 KB/s 08:45: 56.163 -> Testiluku /test_8k.bin 08: 46: 00.998 -> R käytetty ead -tiedosto: 4827 ms, 868.925598 KB/s 08: 46: 00.998 -> Testiluku /test_16k.bin 08: 46: 05.808 -> Lue käytetty tiedosto: 4825 ms, 869.285828 KB/s 08: 46: 05.843 -> Testi read /test_32k.bin 08: 46: 10.637 -> Lue käytetty tiedosto: 4824 ms, 869.466003 KB /s 08: 46: 10.637 -> Testiluku /test_64k.bin 08: 46: 15.478 -> Käytetty tiedosto: 4825 ms, 869,285828 kt/s

Vaihe 11: SD SPI -tila VSPI Bus Benchmarkissa

SanDisk 8 Gt: n MicroSD

08: 54: 17.412 -> Testi kirjoittaa /test_1k.bin

08: 54: 48.398 -> Kirjoitustiedoston käyttö: 30994 ms, 135.326324 KB/s 08: 54: 48.398 -> Testikirjoitus /test_2k.bin 08: 55: 06.079 -> Kirjoita käytetty tiedosto: 17677 ms, 237.274658 KB/s 08: 55: 06.079 -> Testikirjoitus /test_4k.bin 08: 55: 13.357 -> Kirjoitustiedostoa käytetään: 7274 ms, 576.615906 KB /s 08: 55: 13.357 -> Testikirjoitus /test_8k.bin 08: 55: 18.691 -> Kirjoitustiedosto käytetty: 5323 ms, 787.958679 KB/s 08: 55: 18.691 -> Testikirjoitus /test_16k.bin 08: 55: 28.336 -> Kirjoitustiedosto käytetty: 9669 ms, 433.788818 KB/s 08: 55: 28.336 -> Testi write /test_32k.bin 08: 55: 32.646 -> Kirjoitustiedostoa käytetään: 4309 ms, 973.382202 KB /s 08: 55: 32.646 -> Test write /test_64k.bin 08: 55: 35.551 -> Kirjoitustiedosto käytetty: 2915 ms, 1438.869263 KB /s 08: 55: 35.584 -> Testiluku /test_1k.bin 08: 55: 40.745 -> Käytetty tiedosto: 5183 ms, 809.242554 KB /s 08: 55: 40.745 -> Testiluku /test_2k.bin 08: 55: 45.916 -> Lue käytetty tiedosto: 5182 ms, 809.398682 KB/s 08: 55: 45.949 -> Testiluku /test_4k.bin 08: 55: 51.091 -> Lue käytetty tiedosto: 5162 ms, 812.534668 KB/s 08:55: 51.091 -> Testiluku /test_8k.bin 08: 55: 56.257 -> Lue käytetty tiedosto: 5177 ms, 810.180420 KB/s 08: 55: 56.293 -> Testiluku /test_16k.bin 08: 56: 01.244 -> Lue käytetty tiedosto: 4956 ms, 846.308289 KB/s 08: 56: 01.244 -> Testiluku /test_32k.bin 08: 56: 06.006 -> Lue käytetty tiedosto: 4764 ms, 880.416443 KB /s 08: 56: 06.006 -> Testiluku /test_64k.bin 08: 56: 10.716 -> Käytetty lukutiedosto: 4728 ms, 887.120117 KB/s

Vanha 128 Mt: n MicroSD

08: 51: 01.939 -> Testikirjoitus /test_1k.bin

08: 51: 18.358 -> Kirjoitustiedoston käyttö: 16422 ms, 255.407623 KB/s 08: 51: 18.358 -> Testikirjoitus /test_2k.bin 08: 51: 34.529 -> Kirjoita käytetty tiedosto: 16173 ms, 259.339874 KB/s 08: 51: 34.529 -> Testikirjoitus /test_4k.bin 08: 51: 50.911 -> Kirjoitustiedostoa käytetty: 16372 ms, 256.187653 KB /s 08: 51: 50.911 -> Testikirjoitus /test_8k.bin 08: 52: 07.056 -> Kirjoitustiedosto käytetty: 16137 ms, 259.918457 KB/s 08: 52: 07.056 -> Testikirjoitus /test_16k.bin 08: 52: 23.383 -> Kirjoitustiedosto käytetty: 16351 ms, 256.516663 KB/s 08: 52: 23.383 -> Testi write /test_32k.bin 08: 52: 39.533 -> Kirjoita käytetty tiedosto: 16128 ms, 260.063507 KB /s 08: 52: 39.533 -> Test write /test_64k.bin 08: 52: 55.764 -> Kirjoitustiedosto käytetty: 16250 ms, 258.111023 KB /s 08: 52: 55.764 -> Testiluku /test_1k.bin 08: 53: 00.645 -> Käytetty lukutiedosto: 4855 ms, 863.914307 KB /s 08: 53: 00.645 -> Testiluku /test_2k.bin 08: 53: 05.459 -> Lue käytetty tiedosto: 4839 ms, 866.770813 KB/s 08: 53: 05.459 -> Testiluku /test_4k.bin 08: 53: 10.306 -> Lue käytetty tiedosto: 4833 ms, 867.846863 KB/s 08:53: 10.306 -> Testiluku /test_8k.bin 08: 53: 15.127 -> R Käytetty ead -tiedosto: 4827 ms, 868.925598 KB/s 08: 53: 15.127 -> Testiluku /test_16k.bin 08: 53: 19.963 -> Lue käytetty tiedosto: 4826 ms, 869.105652 KB/s 08: 53: 19.963 -> Testi read /test_32k.bin 08: 53: 24.758 -> Lue käytetty tiedosto: 4824 ms, 869.466003 KB /s 08: 53: 24.792 -> Testiluku /test_64k.bin 08: 53: 29.592 -> Käytetty tiedosto: 4824 ms, 869.466003 kt/s

Vaihe 12: Pyöristä ylös

4-bittinen SD-väylätila on paras suorituskyky, 1-bittinen SD-väylätila on noin 20% hitaampi ja SPI-tila on noin 50% hitaampi. Yksi tärkeimmistä syistä on se, että SD_MMC -protokollakerros ei käytä minkäänlaista lukitusta, mutta SPI tekee sen. Ja myös 4-bittisessä SD-väylätilassa on kaksinkertaiset datalinjat, joten teoreettisesti kaksinkertainen nopeus. Mutta vanha MicroSD ei tue 4-bittistä SD-väylätilaa.

Suosittelen useimmiten 1-bittistä SD-väylätilaa, koska:

  • hyvä suoritus
  • parempi SD -korttien yhteensopivuus
  • löysempi SD Pull-up -vaatimus
  • tarvitaan vain 3 GPIO -nastaa
  • pienempi koodikokoonpano
  • monet kehittäjäpaketit, kehityskortit ja katkaisulaudat voivat käyttää tätä tilaa

Suositeltava: