Talaan ng mga Nilalaman:

Piliin ang SD Interface para sa ESP32: 12 Mga Hakbang (na may Mga Larawan)
Piliin ang SD Interface para sa ESP32: 12 Mga Hakbang (na may Mga Larawan)

Video: Piliin ang SD Interface para sa ESP32: 12 Mga Hakbang (na may Mga Larawan)

Video: Piliin ang SD Interface para sa ESP32: 12 Mga Hakbang (na may Mga Larawan)
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, Nobyembre
Anonim
Piliin ang SD Interface para sa ESP32
Piliin ang SD Interface para sa ESP32

Ang mga itinuturo na ito ay nagpapakita ng isang bagay tungkol sa pagpili ng isang SD interface para sa iyong proyekto sa ESP32.

Hakbang 1: SD Interface

Sa orihinal na Arduino SD library, ang SD Interface ay gumagamit ng SD SPI bus transfer mode.

Ang SD ay talagang mayroong higit na mode sa paglipat:

  • SPI bus mode: Ang ESP32 ay may higit sa 1 SPI bus, maaari itong ipasadya habang pinasimulan
  • 1-bit / 4-bit SD bus mode: inilalaan ng ESP32 ang isa pang silid-aklatan na tinatawag na SD_MMC upang ipatupad ang SD bus mode API
  • SD UHS-II mode: Hindi suportado ang ESP32

Ref.:

www.arduino.cc/en/referensi/SD

en.wikipedia.org/wiki/SD_card

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

Hakbang 2: Pagma-map ng Pins ng ESP32 GPIO

Narito ang default na pagmamapa ng mga pin ng ESP32 GPIO:

Pin ng SD card MicroSD pin Pangalan 4-bit na SD bus 1-bit na SD bus SPI bus (HSPI / VSPInative pins)
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 - -

Ang GPIO pin na pagmamapa ng 1-bit / 4-bit SD bus ay hindi mababago.

Simpleng tawagan ang SD_MMC magsisimula () sa paunang 4-bit SD bus mode:

SD_MMC.begin ();

Ang 1-bit SD bus mode ay maaaring mapili sa SD_MMC begin () na paraan, hal.

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

Maaaring mapili ang SPI bus (HSPI o VSPI) habang lilikha ng halimbawa ng SPIClass, hal.

SPIClass spi = SPIClass (HSPI);

Tulad ng nakikita mo ang 1-bit / 4-bit SD bus pin na nagbahagi ng mga pin sa HSPI ngunit ang pagmamapa ng mga kard ng SD card ay hindi pareho. Kaya't kung nakakonekta ang hardware alinsunod sa map ng SD bus pin, hindi nito maaaring direktang gamitin ang mga katutubong pin na HSPI. Ang mga GPIO pin ay maaaring ma-override sa SPIClass start () na paraan, hal.

SPIClass spi = SPIClass (HSPI);

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

At maaari ding i-override ng SD library ang SS pin, SPI bus at dalas ng bus sa paraan ng pagsisimula ng (SD), hal.

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

Hakbang 3: Mga Kinakailangan sa Pag-pull-up ng SD

Kung nais mong gumamit ng 4-bit SD bus mode, mangyaring malagkit sundin ang Mga Kinakailangan sa Pull-up na ESP32 SD, lalo na:

  • Pull-up na Mga Salungatan sa GPIO13
  • Mga Salungatan sa pagitan ng Bootstrap at SDIO sa DAT2

Ref.:

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

Hakbang 4: Iba't ibang Hardware

Iba't ibang Hardware
Iba't ibang Hardware

Ang ESP32 ay may tone-toneladang dev kit at dev board, ang ilan sa mga ito ay may built-in na slot ng MicroSD card.

Narito ang ilang halimbawa sa aking kamay:

  • Ang TTGO T-Watch, kumonekta ito sa GPIO pin 2, 13, 14 at 15 ayon sa 1-bit SD bus mode, kaya maaari itong gumamit ng 1-bit SD bus mode at SPI bus mode
  • M5Stack Series, kumonekta ito sa GPIO pin 4, 18, 19 at 23 ayon sa mga katutubong pin ng VSPI, kaya maaari itong gumamit ng mga default na setting ng library ng SD [SD.begin (4)]
  • ODROID-GO, kumonekta ito sa GPIO pin 18, 19, 22 at 23 ayon sa mga katutubong pin ng VSPI, kaya maaari itong gumamit ng mga default na setting ng library ng SD [SD.begin (22)]
  • Ang ESP32-CAM, nakakonekta ito sa GPIO pin 2, 4, 12, 13, 14 at 15 ayon sa 4-bit SD bus mode, kaya maaari nitong gamitin ang lahat ng 4-bit / 1-bit SD bus mode at SPI bus mode
  • TTGO T8 dev board, nakakonekta ito sa GPIO pin 2, 13, 14 at 15 ayon sa 1-bit SD bus mode, kaya maaari itong gumamit ng 1-bit SD bus mode at SPI bus mode

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

Hakbang 5: SD Card Slot Breakout Board

SD Card Slot ng Breakout Board
SD Card Slot ng Breakout Board
SD Card Slot ng Breakout Board
SD Card Slot ng Breakout Board

Ang Dev board na may built-in na slot ng MicroSD card ay maaaring hindi konektado sa lahat ng mga pin at karamihan ay hindi maaaring gumamit ng 4-bit SD bus mode. Ang isang indibidwal na SD card slot breakout board ay nagbibigay ng mas mahusay na kakayahang umangkop.

Sa parehong oras, maraming mga breakout board ng LCD din ang breakout ng isang buong laki ng puwang ng SD card. Gayunpaman, karamihan sa kanila ay sinisira lamang ang mga pin ng SPI mode. Hindi sapat upang magamit bilang 4-bit SD bus mode, ngunit maaari mo pa rin itong magamit bilang 1-bit SD bus mode sa pamamagitan ng pagmamapa ng koneksyon na ito:

LCD -> ESP32

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

Hakbang 6: I-detach ang GPIO 2 Habang Program

I-detach ang GPIO 2 Habang Program
I-detach ang GPIO 2 Habang Program

Ang 4-bit na koneksyon ng SD bus mode na nabigo sa ESP32 ay hindi pumasok sa mode ng programa. Mangyaring tandaan na alisin ang GPIO 2 mula sa SD card slot breakout board DAT0 bago mag-upload ng bagong programa.

Hakbang 7: Benchmark

Benchmark
Benchmark
Benchmark
Benchmark

Sumulat ako ng isang simpleng programa ng Arduino para sa benchmark:

github.com/moononournation/ESP32_SD_Benchm…

Narito ang hardware para sa benchmark:

ESP32

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

Slot ng SD Card

Isang breakout board ng slot ng MicroSD card

SD Card

Mayroon akong isang SanDisk 8 GB MicroSD at isang lumang 128 MB MicroSD sa kamay.

Hakbang 8: SD_MMC 4-bit Mode Benchmark

SanDisk 8 GB MicroSD

20: 27: 46.000 -> Pagsusulat sumulat / test_1k.bin

20: 27: 59.399 -> Sumulat ng ginamit na file: 13404 ms, 312.914368 KB / s 20: 27: 59.399 -> Pagsulat ng pagsusulat /test_2k.bin 20: 28: 17.248 -> Sumulat ng ginamit na file: 17834 ms, 235.185822 KB / s 20: 28: 17.248 -> Pagsulat ng pagsusulat / test_4k.bin 20: 28: 21.122 -> Sumulat ng ginamit na file: 3873 ms, 1082.959961 KB / s 20: 28: 21.122 -> Pagsulat isulat /test_8k.bin 20: 28: 23.147 -> Sumulat ng file na ginamit: 2024 ms, 2072.284668 KB / s 20: 28: 23.147 -> Pagsulat ng pagsusulat / test_16k.bin 20: 28: 27.237 -> Sumulat ng ginamit na file: 4097 ms, 1023.750061 KB / s 20: 28: 27.237 -> Pagsubok isulat /test_32k.bin 20: 28: 30.088 -> Sumulat ng ginamit na file: 2842 ms, 1475.828247 KB / s 20: 28: 30.088 -> Pagsubok isulat /test_64k.bin 20: 28: 31.882 -> Sumulat ng ginamit na file: 1811 ms, 2316.015381 KB / s 20: 28: 31.882 -> Basahin ang pagsubok / test_1k.bin 20: 28: 35.422 -> Basahin ang ginamit na file: 3520 ms, 1191.563599 KB / s 20: 28: 35.422 -> Basahin ang pagsubok /test_2k.bin 20: 28: 38.813 -> Basahin ang ginamit na file: 3389 ms, 1237.622925 KB / s 20: 28: 38.813 -> Basahin ang pagsubok / pagsubok_4k.bin 20: 28: 42.273 -> Basahin ang ginamit na file: 3474 ms, 1207.341431 KB / s 20:28: 42.273 -> Basahin ang pagsubok / pagsubok_8k.bin 20: 28: 45.752 - > Basahin ang ginamit na file: 3487 ms, 1202.840210 KB / s 20: 28: 45.752 -> Basahin ang pagsubok / test_16k.bin 20: 28: 48.988 -> Basahin ang ginamit na file: 3213 ms, 1305.416748 KB / s 20: 28: 48.988 -> Basahin ang pagsubok / test_32k.bin 20: 28: 52.077 -> Basahin ang ginamit na file: 3093 ms, 1356.063354 KB / s 20: 28: 52.077 -> Basahin ang pagsubok / test_64k.bin 20: 28: 55.141 -> Basahin ang ginamit na file: 3080 ms, 1361.786987 KB / s

Lumang 128 MB MicroSD

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

20: 30: 43.309 -> Nabigo ang Mount Mount

Hakbang 9: SD_MMC 1-bit Mode Benchmark

SanDisk 8 GB MicroSD

20: 31: 45.194 -> Pagsubok isulat /test_1k.bin

20: 31: 59.506 -> Sumulat ng ginamit na file: 14325 ms, 292.796082 KB / s 20: 31: 59.506 -> Pagsulat isulat /test_2k.bin 20: 32: 17.686 -> Sumulat ng ginamit na file: 18163 ms, 230.925735 KB / s 20: 32: 17.686 -> Pagsulat ng pagsusulat / test_4k.bin 20: 32: 21.291 -> Sumulat ng file na ginamit: 3611 ms, 1161.535278 KB / s 20: 32: 21.291 -> Pagsulat ng pagsusulat /test_8k.bin 20: 32: 23.939 -> Sumulat ng file na ginamit: 2652 ms, 1581.562622 KB / s 20: 32: 23.939 -> Pagsulat ng pagsusulat / test_16k.bin 20: 32: 28.397 -> Sumulat ng ginamit na file: 4448 ms, 942.964050 KB / s 20: 32: 28.397 -> Pagsubok isulat /test_32k.bin 20: 32: 31.835 -> Sumulat ng ginamit na file: 3429 ms, 1223.185791 KB / s 20: 32: 31.835 -> Pagsubok isulat /test_64k.bin 20: 32: 33.882 -> Sumulat ng ginamit na file: 2058 ms, 2038.048584 KB / s 20: 32: 33.882 -> Basahin ang pagsubok / test_1k.bin 20: 32: 38.031 -> Basahin ang ginamit na file: 4146 ms, 1011.650757 KB / s 20: 32: 38.031 -> Basahin ang pagsubok / test_2k.bin 20: 32: 42.062 -> Basahin ang file na ginamit: 4019 ms, 1043.618774 KB / s 20: 32: 42.062 -> Basahin ang pagsubok / test_4k.bin 20: 32: 46.170 -> Basahin ang ginamit na file: 4106 ms, 1021.506104 KB / s 20:32: 46.170 -> Basahin ang pagsubok / test_8k.bin 20: 32: 50.288 -> Basahin ang ginamit na file: 4121 ms, 1017.787903 KB / s 20: 32: 50.288 -> Basahin ang pagsubok / test_16k.bin 20: 32: 54.112 -> Basahin ang ginamit na file: 3840 ms, 1092.266724 KB / s 20: 32: 54.112 -> Pagsubok basahin /test_32k.bin 20: 32: 57.840 -> Basahin ang file na ginamit: 3739.771606 KB / s 20: 32: 57.840 -> Basahin ang pagsubok / test_64k.bin 20: 33: 01.568 -> Basahin ang ginamit na file: 3711 ms, 1130.235474 KB / s

Lumang 128 MB MicroSD

20: 33: 27.366 -> Pagsubok isulat /test_1k.bin

20: 33: 42.386 -> Sumulat ng ginamit na file: 15020 ms, 279.247925 KB / s 20: 33: 42.386 -> Pagsulat ng pagsusulat / pagsusulit_2k.bin 20: 33: 57.927 -> Sumulat ng ginamit na file: 15515 ms, 270.338654 KB / s 20: 33: 57.927 -> Pagsulat ng pagsusulat / test_4k.bin 20: 34: 13.108 -> Sumulat ng file na ginamit: 15195 ms, 276.031860 KB / s 20: 34: 13.108 -> Pagsubok isulat /test_8k.bin 20: 34: 28.162 -> Sumulat ng file na ginamit: 15048 ms, 278.728333 KB / s 20: 34: 28.162 -> Pagsulat ng pagsusulat / test_16k.bin 20: 34: 43.287 -> Sumulat ng ginamit na file: 15142 ms, 276.998016 KB / s 20: 34: 43.287 -> Pagsubok isulat /test_32k.bin 20: 34: 58.278 -> Sumulat ng ginamit na file: 14964 ms, 280.292969 KB / s 20: 34: 58.278 -> Pagsubok isulat /test_64k.bin 20: 35: 13.370 -> Sumulat ng ginamit na file: 15101 ms, 277.750092 KB / s 20: 35: 13.370 -> Basahin ang pagsubok / test_1k.bin 20: 35: 17.563 -> Basahin ang ginamit na file: 4197 ms, 999.357666 KB / s 20: 35: 17.563 -> Basahin ang pagsubok / test_2k.bin 20: 35: 21.746 -> Basahin ang ginamit na file: 4191 ms, 1000.788330 KB / s 20: 35: 21.746 -> Basahin ang pagsubok / test_4k.bin 20: 35: 25.942 -> Basahin ang ginamit na file: 4181 ms, 1003.182007 KB / s 20:35: 25.942 -> Basahin ang pagsubok / pagsubok_8k.bin 20: 35: 30.101 -> Basahin ang ginamit na file: 4176 ms, 1004.383118 KB / s 20: 35: 30.101 -> Basahin ang pagsubok / test_16k.bin 20: 35: 34.279 -> Basahin ang ginamit na file: 4174 ms, 1004.864380 KB / s 20: 35: 34.279 -> Pagsubok basahin /test_32k.bin 20: 35: 38.462 -> Basahin ang ginamit na file: 4173 ms, 1005.105225 KB / s 20: 35: 38.462 -> Basahin ang pagsubok / test_64k.bin 20: 35: 42.612 -> Basahin ang ginamit na file: 4173 ms, 1005.105225 KB / s

Hakbang 10: SD SPI Mode sa HSPI Bus Benchmark

SanDisk 8 GB MicroSD

08: 41: 19.703 -> Pagsubok isulat /test_1k.bin

08: 41: 53.458 -> Sumulat ng ginamit na file: 33743 ms, 124.301453 KB / s 08: 41: 53.458 -> Pagsulat ng pagsusulat /test_2k.bin 08: 42: 10.000 -> Sumulat ng ginamit na file: 16540 ms, 253.585495 KB / s 08: 42: 10.000 -> Pagsulat ng pagsusulat / test_4k.bin 08: 42: 17.269 -> Sumulat ng ginamit na file: 7298 ms, 574.719666 KB / s 08: 42: 17.308 -> Pagsulat ng pagsusulat / test_8k.bin 08: 42: 22.640 -> Sumulat ng file na ginamit: 5345 ms, 784.715454 KB / s 08: 42: 22.640 -> Pagsulat ng pagsusulat / test_16k.bin 08: 42: 32.285 -> Sumulat ng ginamit na file: 9662 ms, 434.103088 KB / s 08: 42: 32.285 -> Pagsubok isulat /test_32k.bin 08: 42: 36.659 -> Sumulat ng ginamit na file: 4355 ms, 963.100830 KB / s 08: 42: 36.659 -> Pagsubok isulat /test_64k.bin 08: 42: 39.594 -> Sumulat ng ginamit na file: 2949 ms, 1422.280151 KB / s 08: 42: 39.594 -> Basahin ang pagsubok / test_1k.bin 08: 42: 44.774 -> Basahin ang ginamit na file: 5192 ms, 807.839783 KB / s 08: 42: 44.774 -> Basahin ang pagsubok /test_2k.bin 08: 42: 49.969 -> Basahin ang file na ginamit: 5189 ms, 808.306824 KB / s 08: 42: 49.969 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 42: 55.123 -> Basahin ang ginamit na file: 5161 ms, 812.692139 KB / s 08:42: 55.158 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 43: 00.300 -> Basahin ginamit na file: 5176 ms, 810.336914 KB / s 08: 43: 00.334 -> Basahin ang pagsubok / test_16k.bin 08: 43: 05.277 -> Basahin ang ginamit na file: 4948 ms, 847.676636 KB / s 08: 43: 05.277 -> Basahin ang pagsubok /test_32k.bin 08: 43: 10.028 -> Basahin ang file na ginamit: 4773 ms, 878.756348 KB / s 08: 43: 10.028 -> Basahin ang pagsubok / test_64k.bin 08: 43: 14.760 -> Basahin ang ginamit na file: 4731 ms, 886.557617 KB / s

Lumang 128 MB MicroSD

08: 43: 47.777 -> Pagsusulat sumulat / test_1k.bin

08: 44: 04.148 -> Sumulat ng ginamit na file: 16390 ms, 255.906281 KB / s 08: 44: 04.183 -> Pagsulat ng pagsusulat /test_2k.bin 08: 44: 20.648 -> Sumulat ng ginamit na file: 16494 ms, 254.292709 KB / s 08: 44: 20.648 -> Pagsulat ng pagsusulat / test_4k.bin 08: 44: 36.674 -> Sumulat ng file na ginamit: 16001 ms, 262.127625 KB / s 08: 44: 36.674 -> Pagsubok isulat /test_8k.bin 08: 44: 52.849 -> Sumulat ng file na ginamit: 16175 ms, 259.307831 KB / s 08: 44: 52.849 -> Pagsulat ng pagsusulat / test_16k.bin 08: 45: 09.225 -> Sumulat ng ginamit na file: 16397 ms, 255.797043 KB / s 08: 45: 09.225 -> Pagsubok isulat /test_32k.bin 08: 45: 25.363 -> Sumulat ng ginamit na file: 16143 ms, 259.821838 KB / s 08: 45: 25.397 -> Pagsubok isulat /test_64k.bin 08: 45: 41.632 -> Sumulat ng ginamit na file: 16263 ms, 257.904694 KB / s 08: 45: 41.632 -> Basahin ang pagsubok / pagsubok_1k.bin 08: 45: 46.488 -> Basahin ang ginamit na file: 4856 ms, 863.736389 KB / s 08: 45: 46.488 -> Basahin ang pagsubok / test_2k.bin 08: 45: 51.332 -> Basahin ang file na ginamit: 4840 ms, 866.591736 KB / s 08: 45: 51.332 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 45: 56.163 -> Basahin ang ginamit na file: 4834 ms, 867.667358 KB / s 08:45: 56.163 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 46: 00.998 -> R ginamit ang file ng ead: 4827 ms, 868.925598 KB / s 08: 46: 00.998 -> Basahin ang pagsubok / test_16k.bin 08: 46: 05.808 -> Basahin ang ginamit na file: 4825 ms, 869.285828 KB / s 08: 46: 05.843 -> Pagsubok basahin /test_32k.bin 08: 46: 10.637 -> Basahin ang ginamit na file: 4824 ms, 869.466003 KB / s 08: 46: 10.637 -> Basahin ang pagsubok / test_64k.bin 08: 46: 15.478 -> Basahin ang ginamit na file: 4825 ms, 869.285828 KB / s

Hakbang 11: SD SPI Mode sa VSPI Bus Benchmark

SanDisk 8 GB MicroSD

08: 54: 17.412 -> Pagsusulat sumulat / test_1k.bin

08: 54: 48.398 -> Sumulat ng ginamit na file: 30994 ms, 135.326324 KB / s 08: 54: 48.398 -> Pagsulat ng pagsusulat / pagsusulit_2k.bin 08: 55: 06.079 -> Sumulat ng ginamit na file: 17677 ms, 237.274658 KB / s 08: 55: 06.079 -> Pagsulat ng pagsusulat / test_4k.bin 08: 55: 13.357 -> Sumulat ng file na ginamit: 7274 ms, 576.615906 KB / s 08: 55: 13.357 -> Pagsubok isulat /test_8k.bin 08: 55: 18.691 -> Sumulat ng file na ginamit: 5323 ms, 787.958679 KB / s 08: 55: 18.691 -> Pagsulat ng pagsusulat / test_16k.bin 08: 55: 28.336 -> Sumulat ng ginamit na file: 9669 ms, 433.788818 KB / s 08: 55: 28.336 -> Pagsubok isulat /test_32k.bin 08: 55: 32.646 -> Sumulat ng ginamit na file: 4309 ms, 973.382202 KB / s 08: 55: 32.646 -> Pagsubok isulat /test_64k.bin 08: 55: 35.551 -> Sumulat ng ginamit na file: 2915 ms, 1438.869263 KB / s 08: 55: 35.584 -> Basahin ang pagsubok / test_1k.bin 08: 55: 40.745 -> Basahin ang ginamit na file: 5183 ms, 809.242554 KB / s 08: 55: 40.745 -> Basahin ang pagsubok /test_2k.bin 08: 55: 45.916 -> Basahin ang file na ginamit: 5182 ms, 809.398682 KB / s 08: 55: 45.949 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 55: 51.091 -> Basahin ang ginamit na file: 5162 ms, 812.534668 KB / s 08:55: 51.091 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 55: 56.257 -> Basahin ginamit na file: 5177 ms, 810.180420 KB / s 08: 55: 56.293 -> Basahin ang pagsubok / test_16k.bin 08: 56: 01.244 -> Basahin ang ginamit na file: 4956 ms, 846.308289 KB / s 08: 56: 01.244 -> Basahin ang pagsubok /test_32k.bin 08: 56: 06.006 -> Basahin ang ginamit na file: 4764 ms, 880.416443 KB / s 08: 56: 06.006 -> Basahin ang pagsubok / test_64k.bin 08: 56: 10.716 -> Basahin ang ginamit na file: 4728 ms, 887.120117 KB / s

Lumang 128 MB MicroSD

08: 51: 01.939 -> Pagsusulat isulat /test_1k.bin

08: 51: 18.358 -> Sumulat ng ginamit na file: 16422 ms, 255.407623 KB / s 08: 51: 18.358 -> Pagsulat ng pagsusulat /test_2k.bin 08: 51: 34.529 -> Sumulat ng ginamit na file: 16173 ms, 259.339874 KB / s 08: 51: 34.529 -> Pagsulat ng pagsusulat / test_4k.bin 08: 51: 50.911 -> Sumulat ng ginamit na file: 16372 ms, 256.187653 KB / s 08: 51: 50.911 -> Pagsulat ng pagsusulat /test_8k.bin 08: 52: 07.056 -> Sumulat ng file na ginamit: 16137 ms, 259.918457 KB / s 08: 52: 07.056 -> Pagsulat ng pagsusulat / test_16k.bin 08: 52: 23.383 -> Sumulat ng ginamit na file: 16351 ms, 256.516663 KB / s 08: 52: 23.383 -> Pagsubok isulat /test_32k.bin 08: 52: 39.533 -> Sumulat ng ginamit na file: 16128 ms, 260.063507 KB / s 08: 52: 39.533 -> Pagsubok isulat /test_64k.bin 08: 52: 55.764 -> Sumulat ng ginamit na file: 16250 ms, 258.111023 KB / s 08: 52: 55.764 -> Basahin ang pagsubok / test_1k.bin 08: 53: 00.645 -> Basahin ang ginamit na file: 4855 ms, 863.914307 KB / s 08: 53: 00.645 -> Basahin ang pagsubok / test_2k.bin 08: 53: 05.459 -> Basahin ang ginamit na file: 4839 ms, 866.770813 KB / s 08: 53: 05.459 -> Basahin ang pagsubok / pagsubok_4k.bin 08: 53: 10.306 -> Basahin ang ginamit na file: 4833 ms, 867.846863 KB / s 08:53: 10.306 -> Basahin ang pagsubok / pagsubok_8k.bin 08: 53: 15.127 -> R ginamit ang file ng ead: 4827 ms, 868.925598 KB / s 08: 53: 15.127 -> Basahin ang pagsubok / test_16k.bin 08: 53: 19.963 -> Basahin ang ginamit na file: 4826 ms, 869.105652 KB / s 08: 53: 19.963 -> Pagsubok basahin /test_32k.bin 08: 53: 24.758 -> Basahin ang ginamit na file: 4824 ms, 869.466003 KB / s 08: 53: 24.792 -> Basahin ang pagsubok / test_64k.bin 08: 53: 29.592 -> Basahin ang ginamit na file: 4824 ms, 869.466003 KB / s

Hakbang 12: Pag-ikot

Ang 4-bit SD bus mode ay may pinakamahusay na pagganap, ang 1-bit SD bus mode ay nasa 20% mas mabagal at ang SPI mode ay halos 50% mas mabagal. Ang isa sa pangunahing dahilan ay ang layer ng protokol ng SD_MMC ay hindi nagpapatupad ng anumang uri ng pagla-lock ngunit ginagawa ng SPI. At ang mode na 4-bit SD bus ay mayroong dobleng mga linya ng data kaya't theoretically doble ang bilis. Ngunit ang aking matandang MicroSD ay hindi maaaring suportahan ang 4-bit SD bus mode.

Inirerekumenda ko ang 1-bit SD bus mode sa karamihan ng kaso, dahil:

  • magandang pagganap
  • mas mahusay na pagiging tugma ng SD card
  • looser SD Mga kinakailangan sa paghugot
  • 3 GPIO pins lang ang kinakailangan
  • mas mababang pagsasaayos ng code
  • maraming mga dev kit, dev board at breakout board ang maaaring gumamit ng mode na ito

Inirerekumendang: