Isi kandungan:

Pilih Antaramuka SD untuk ESP32: 12 Langkah (dengan Gambar)
Pilih Antaramuka SD untuk ESP32: 12 Langkah (dengan Gambar)

Video: Pilih Antaramuka SD untuk ESP32: 12 Langkah (dengan Gambar)

Video: Pilih Antaramuka SD untuk ESP32: 12 Langkah (dengan Gambar)
Video: SPI esp32 dan Arduino 2024, November
Anonim
Pilih Antaramuka SD untuk ESP32
Pilih Antaramuka SD untuk ESP32

Instruksional ini menunjukkan sesuatu tentang memilih antara muka SD untuk projek ESP32 anda.

Langkah 1: Antara Muka SD

Di perpustakaan Arduino SD yang asal, SD Interface menggunakan mod pemindahan bas SD SPI.

SD sebenarnya mempunyai lebih banyak mod pemindahan:

  • Mod bas SPI: ESP32 mempunyai lebih daripada 1 bas SPI, ia dapat disesuaikan semasa memulakan
  • Mod bas SD 1-bit / 4-bit: ESP32 mendedikasikan perpustakaan lain yang disebut SD_MMC untuk melaksanakan API mod bus SD
  • Mod SD UHS-II: ESP32 tidak disokong

Ruj:

www.arduino.cc/en/reference/SD

en.wikipedia.org/wiki/SD_card

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

Langkah 2: Pemetaan Pin GPIO ESP32

Berikut adalah pemetaan pin ESP32 GPIO lalai:

Pin kad SD Pin mikroSD Nama Bas SD 4-bit Bas SD 1-bit Bas SPI (HSPI / VSP pin Inatif)
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 - -

Pemetaan pin GPIO bus SD 1-bit / 4-bit tidak dapat diubah.

Panggilan mudah SD_MMC bermula () ke mod bas SD 4-bit awal:

SD_MMC.bermula ();

Mod bus SD 1-bit boleh dipilih dengan kaedah SD_MMC begin (), mis.

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

Bas SPI (HSPI atau VSPI) boleh dipilih semasa membuat contoh SPIClass, mis.

SPIClass spi = SPIClass (HSPI);

Seperti yang anda dapat lihat pin kongsi pin kad SD 1-bit / 4-bit dengan HSPI tetapi pemetaan pin kad SD tidak sama. Oleh itu, jika perkakasan disambungkan mengikut peta pin bas SD, ia tidak boleh menggunakan pin asli HSPI. Pin GPIO boleh diganti pada kaedah SPIClass begin (), mis.

SPIClass spi = SPIClass (HSPI);

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

Dan juga perpustakaan SD dapat mengatasi pin SS, frekuensi bas SPI dan bas pada kaedah SD begin (), mis.

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

Langkah 3: Syarat Pull-up SD

Sekiranya anda ingin menggunakan mod bas SD 4-bit, sila ikuti Syarat-syarat Penarikan SD32 SD, terutamanya:

  • Konflik Penarikan pada GPIO13
  • Konflik Antara Bootstrap dan SDIO pada DAT2

Ruj:

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

Langkah 4: Pelbagai Perkakasan

Pelbagai Perkakasan
Pelbagai Perkakasan

ESP32 mempunyai banyak kit dev dan dev board, beberapa di antaranya mempunyai slot kad MicroSD terbina dalam.

Berikut adalah beberapa contoh di tangan saya:

  • TTGO T-Watch, ia disambungkan ke pin GPIO 2, 13, 14 dan 15 mengikut mod bus SD 1-bit, sehingga dapat menggunakan mod bus SD 1-bit dan mod bus SPI
  • Seri M5Stack, ia disambungkan ke pin GPIO 4, 18, 19 dan 23 mengikut pin asli VSPI, sehingga dapat menggunakan tetapan perpustakaan SD lalai [SD.begin (4)]
  • ODROID-GO, ia disambungkan ke pin GPIO 18, 19, 22 dan 23 mengikut pin asli VSPI, sehingga dapat menggunakan tetapan perpustakaan SD lalai [SD.begin (22)]
  • ESP32-CAM, ia disambungkan ke pin GPIO 2, 4, 12, 13, 14 dan 15 mengikut mod bas SD 4-bit, sehingga dapat menggunakan semua mod bus SD 4-bit / 1-bit dan mod bus SPI
  • Papan dev TTGO T8, disambungkan ke pin GPIO 2, 13, 14 dan 15 mengikut mod bus SD 1-bit, sehingga dapat menggunakan mod bus SD 1-bit dan mod bus 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

Langkah 5: Papan Pemecahan Slot Kad SD

Papan Pemecahan Slot Kad SD
Papan Pemecahan Slot Kad SD
Papan Pemecahan Slot Kad SD
Papan Pemecahan Slot Kad SD

Papan Dev dengan slot kad MicroSD terbina dalam mungkin tidak menghubungkan semua pin dan kebanyakannya tidak dapat menggunakan mod bas SD 4-bit. Papan pemecahan slot kad SD individu memberikan fleksibiliti yang lebih baik.

Pada masa yang sama, banyak papan pemecah LCD juga melepaskan slot kad SD bersaiz penuh. Namun, kebanyakannya hanya mematahkan pin mod SPI. Tidak cukup untuk digunakan sebagai mod bus SD 4-bit, tetapi anda masih boleh menggunakannya sebagai mod bus SD 1-bit dengan pemetaan sambungan ini:

LCD -> ESP32

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

Langkah 6: Lepaskan Program GPIO 2 Semasa

Lepaskan GPIO 2 Semasa Program
Lepaskan GPIO 2 Semasa Program

Sambungan mod bus SD 4-bit menjadikan ESP32 gagal memasuki mod program. Jangan lupa lepaskan GPIO 2 dari papan pemecah slot kad SD DAT0 sebelum memuat naik program baru.

Langkah 7: Tanda aras

Tanda aras
Tanda aras
Tanda aras
Tanda aras

Saya telah menulis program Arduino sederhana untuk penanda aras:

github.com/moononournation/ESP32_SD_Benchm…

Berikut adalah perkakasan untuk penanda aras:

ESP32

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

Slot Kad SD

Papan pemecahan slot kad MicroSD

Kad SD

Saya mempunyai MicroSD SanDisk 8 GB dan MicroSD 128 MB lama.

Langkah 8: Penanda Aras Mod 4-bit SD_MMC

SanSDisk 8 GB MicroSD

20: 27: 46.000 -> Uji tulis / test_1k.bin

20: 27: 59.399 -> Tulis fail yang digunakan: 13404 ms, 312.914368 KB / s 20: 27: 59.399 -> Uji tulis / uji_2k.bin 20: 28: 17.248 -> Tulis fail yang digunakan: 17834 ms, 235.185822 KB / s 20: 28: 17.248 -> Uji tulis / test_4k.bin 20: 28: 21.122 -> Tulis fail yang digunakan: 3873 ms, 1082.959961 KB / s 20: 28: 21.122 -> Uji tulis / test_8k.bin 20: 28: 23.147 -> Tulis fail yang digunakan: 2024 ms, 2072.284668 KB / s 20: 28: 23.147 -> Uji tulis / uji_16k.bin 20: 28: 27.237 -> Tulis fail yang digunakan: 4097 ms, 1023.750061 KB / s 20: 28: 27.237 -> Uji write /test_32k.bin 20: 28: 30.088 -> Tulis fail yang digunakan: 2842 ms, 1475.828247 KB / s 20: 28: 30.088 -> Uji tulis / test_64k.bin 20: 28: 31.882 -> Tulis fail yang digunakan: 1811 ms, 2316.015381 KB / s 20: 28: 31.882 -> Ujian baca / ujian_1k.bin 20: 28: 35.422 -> Fail baca yang digunakan: 3520 ms, 1191.563599 KB / s 20: 28: 35.422 -> Uji bacaan / ujian_2k.bin 20: 28: 38.813 -> Fail baca yang digunakan: 3389 ms, 1237.622925 KB / s 20: 28: 38.813 -> Uji baca / test_4k.bin 20: 28: 42.273 -> Fail baca yang digunakan: 3474 ms, 1207.341431 KB / s 20:28: 42.273 -> Bacaan ujian /test_8k.bin 20: 28: 45.752 - > Baca fail yang digunakan: 3487 ms, 1202.840210 KB / s 20: 28: 45.752 -> Uji baca / ujian_16k.bin 20: 28: 48.988 -> Fail baca yang digunakan: 3213 ms, 1305.416748 KB / s 20: 28: 48.988 -> Bacaan ujian /test_32k.bin 20: 28: 52.077 -> Fail baca yang digunakan: 3093 ms, 1356.063354 KB / s 20: 28: 52.077 -> Uji baca / ujian_64k.bin 20: 28: 55.141 -> Fail baca yang digunakan: 3080 ms, 1361.786987 KB / s

MicroSD 128 MB lama

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

20: 30: 43.309 -> Pemasangan Kad Gagal

Langkah 9: Penanda Aras Mod 1-bit SD_MMC

SanSDisk 8 GB MicroSD

20: 31: 45.194 -> Uji tulis / test_1k.bin

20: 31: 59.506 -> Tulis fail yang digunakan: 14325 ms, 292.796082 KB / s 20: 31: 59.506 -> Uji tulis / uji_2k.bin 20: 32: 17.686 -> Tulis fail yang digunakan: 18163 ms, 230.925735 KB / s 20: 32: 17.686 -> Uji tulis / test_4k.bin 20: 32: 21.291 -> Tulis fail yang digunakan: 3611 ms, 1161.535278 KB / s 20: 32: 21.291 -> Uji tulis / test_8k.bin 20: 32: 23.939 -> Tulis fail yang digunakan: 2652 ms, 1581.562622 KB / s 20: 32: 23.939 -> Uji tulis / uji_16k.bin 20: 32: 28.397 -> Tulis fail yang digunakan: 4448 ms, 942.964050 KB / s 20: 32: 28.397 -> Uji write /test_32k.bin 20: 32: 31.835 -> Tulis fail yang digunakan: 3429 ms, 1223.185791 KB / s 20: 32: 31.835 -> Uji tulis / test_64k.bin 20: 32: 33.882 -> Tulis fail yang digunakan: 2058 ms, 2038.048584 KB / s 20: 32: 33.882 -> Bacaan ujian /test_1k.bin 20: 32: 38.031 -> Fail baca yang digunakan: 4146 ms, 1011.650757 KB / s 20: 32: 38.031 -> Bacaan ujian / test_2k.bin 20: 32: 42.062 -> Fail baca yang digunakan: 4019 ms, 1043.618774 KB / s 20: 32: 42.062 -> Test read /test_4k.bin 20: 32: 46.170 -> Fail baca yang digunakan: 4106 ms, 1021.506104 KB / s 20:32: 46.170 -> Baca ujian /test_8k.bin 20: 32: 50.288 -> Fail baca yang digunakan: 4121 ms, 1017.787903 KB / s 20: 32: 50.288 -> Uji baca / ujian_16k.bin 20: 32: 54.112 -> Fail baca yang digunakan: 3840 ms, 1092.266724 KB / s 20: 32: 54.112 -> Uji read /test_32k.bin 20: 32: 57.840 -> Fail baca yang digunakan: 3739 ms, 1121.771606 KB / s 20: 32: 57.840 -> Uji baca / test_64k.bin 20: 33: 01.568 -> Fail baca yang digunakan: 3711 ms, 1130.235474 KB / s

MicroSD 128 MB lama

20: 33: 27.366 -> Uji tulis / test_1k.bin

20: 33: 42.386 -> Tulis fail yang digunakan: 15020 ms, 279.247925 KB / s 20: 33: 42.386 -> Uji tulis / uji_2k.bin 20: 33: 57.927 -> Tulis fail yang digunakan: 15515 ms, 270.338654 KB / s 20: 33: 57.927 -> Uji tulis / test_4k.bin 20: 34: 13.108 -> Tulis fail yang digunakan: 15195 ms, 276.031860 KB / s 20: 34: 13.108 -> Uji tulis / test_8k.bin 20: 34: 28.162 -> Tulis fail yang digunakan: 15048 ms, 278.728333 KB / s 20: 34: 28.162 -> Uji tulis / ujian_16k.bin 20: 34: 43.287 -> Tulis fail yang digunakan: 15142 ms, 276.998016 KB / s 20: 34: 43.287 -> Uji tulis /test_32k.bin 20: 34: 58.278 -> Tulis fail yang digunakan: 14964 ms, 280.292969 KB / s 20: 34: 58.278 -> Uji tulis / uji_64k.bin 20: 35: 13.370 -> Tulis fail yang digunakan: 15101 ms, 277.750092 KB / s 20: 35: 13.370 -> Bacaan ujian /test_1k.bin 20: 35: 17.563 -> Fail baca yang digunakan: 4197 ms, 999.357666 KB / s 20: 35: 17.563 -> Uji baca / ujian_2k.bin 20: 35: 21.746 -> Fail baca yang digunakan: 4191 ms, 1000.788330 KB / s 20: 35: 21.746 -> Uji baca / uji_4k.bin 20: 35: 25.942 -> Fail baca yang digunakan: 4181 ms, 1003.182007 KB / s 20:35: 25.942 -> Bacaan ujian /test_8k.bin 20: 35: 30.101 -> Fail baca yang digunakan: 4176 ms, 1004.383118 KB / s 20: 35: 30.101 -> Uji baca / ujian_16k.bin 20: 35: 34.279 -> Fail baca yang digunakan: 4174 ms, 1004.864380 KB / s 20: 35: 34.279 -> Uji read /test_32k.bin 20: 35: 38.462 -> Baca fail yang digunakan: 4173 ms, 1005.105225 KB / s 20: 35: 38.462 -> Uji baca / test_64k.bin 20: 35: 42.612 -> Baca fail yang digunakan: 4173 ms, 1005.105225 KB / s

Langkah 10: Mod SPI SD di Tanda Aras Bas HSPI

SanSDisk 8 GB MicroSD

08: 41: 19.703 -> Uji tulis / test_1k.bin

08: 41: 53.458 -> Tulis fail yang digunakan: 33743 ms, 124.301453 KB / s 08: 41: 53.458 -> Uji tulis / uji_2k.bin 08: 42: 10.000 -> Tulis fail yang digunakan: 16540 ms, 253.585495 KB / s 08: 42: 10.000 -> Uji tulis / test_4k.bin 08: 42: 17.269 -> Tulis fail yang digunakan: 7298 ms, 574.719666 KB / s 08: 42: 17.308 -> Uji tulis / test_8k.bin 08: 42: 22.640 -> Tulis fail yang digunakan: 5345 ms, 784.715454 KB / s 08: 42: 22.640 -> Uji tulis / uji_16k.bin 08: 42: 32.285 -> Tulis fail yang digunakan: 9662 ms, 434.103088 KB / s 08: 42: 32.285 -> Uji write /test_32k.bin 08: 42: 36.659 -> Tulis fail yang digunakan: 4355 ms, 963.100830 KB / s 08: 42: 36.659 -> Uji tulis / test_64k.bin 08: 42: 39.594 -> Tulis fail yang digunakan: 2949 ms, 1422.280151 KB / s 08: 42: 39.594 -> Bacaan ujian / ujian_1k.bin 08: 42: 44.774 -> Fail baca yang digunakan: 5192 ms, 807.839783 KB / s 08: 42: 44.774 -> Baca ujian / ujian_2k.bin 08: 42: 49.969 -> Fail baca yang digunakan: 5189 ms, 808.306824 KB / s 08: 42: 49.969 -> Uji baca / uji_4k.bin 08: 42: 55.123 -> Fail baca yang digunakan: 5161 ms, 812.692139 KB / s 08:42: 55.158 -> Uji bacaan /test_8k.bin 08: 43: 00.300 -> Baca fail yang digunakan: 5176 ms, 810.336914 KB / s 08: 43: 00.334 -> Uji bacaan /test_16k.bin 08: 43: 05.277 -> Fail baca yang digunakan: 4948 ms, 847.676636 KB / s 08: 43: 05.277 -> Bacaan ujian /test_32k.bin 08: 43: 10.028 -> Fail baca yang digunakan: 4773 ms, 878.756348 KB / s 08: 43: 10.028 -> Uji baca / test_64k.bin 08: 43: 14.760 -> Fail baca yang digunakan: 4731 ms, 886.557617 KB / s

MicroSD 128 MB lama

08: 43: 47.777 -> Uji tulis / test_1k.bin

08: 44: 04.148 -> Tulis fail yang digunakan: 16390 ms, 255.906281 KB / s 08: 44: 04.183 -> Uji tulis / uji_2k.bin 08: 44: 20.648 -> Tulis fail yang digunakan: 16494 ms, 254.292709 KB / s 08: 44: 20.648 -> Uji tulis / uji_4k.bin 08: 44: 36.674 -> Tulis fail yang digunakan: 16001 ms, 262.127625 KB / s 08: 44: 36.674 -> Uji tulis / ujian_8k.bin 08: 44: 52.849 -> Tulis fail yang digunakan: 16175 ms, 259.307831 KB / s 08: 44: 52.849 -> Uji tulis / ujian_16k.bin 08: 45: 09.225 -> Tulis fail yang digunakan: 16397 ms, 255.797043 KB / s 08: 45: 09.225 -> Uji write /test_32k.bin 08: 45: 25.363 -> Tulis fail yang digunakan: 16143 ms, 259.821838 KB / s 08: 45: 25.397 -> Uji tulis / test_64k.bin 08: 45: 41.632 -> Tulis fail yang digunakan: 16263 ms, 257.904694 KB / s 08: 45: 41.632 -> Bacaan ujian /test_1k.bin 08: 45: 46.488 -> Fail baca yang digunakan: 4856 ms, 863.736389 KB / s 08: 45: 46.488 -> Bacaan ujian / ujian_2k.bin 08: 45: 51.332 -> Fail baca yang digunakan: 4840 ms, 866.591736 KB / s 08: 45: 51.332 -> Uji baca / ujian_4k.bin 08: 45: 56.163 -> Fail baca yang digunakan: 4834 ms, 867.667358 KB / s 08:45: 56.163 -> Bacaan ujian /test_8k.bin 08: 46: 00.998 -> R fail ead digunakan: 4827 ms, 868.925598 KB / s 08: 46: 00.998 -> Uji baca / ujian_16k.bin 08: 46: 05.808 -> Fail baca yang digunakan: 4825 ms, 869.285828 KB / s 08: 46: 05.843 -> Uji read /test_32k.bin 08: 46: 10.637 -> Fail baca yang digunakan: 4824 ms, 869.466003 KB / s 08: 46: 10.637 -> Uji baca / test_64k.bin 08: 46: 15.478 -> Baca fail yang digunakan: 4825 ms, 869.285828 KB / s

Langkah 11: Mod SPI SD di Tanda Aras Bas VSPI

SanSDisk 8 GB MicroSD

08: 54: 17.412 -> Uji tulis / test_1k.bin

08: 54: 48.398 -> Tulis fail yang digunakan: 30994 ms, 135.326324 KB / s 08: 54: 48.398 -> Uji tulis / uji_2k.bin 08: 55: 06.079 -> Tulis fail yang digunakan: 17677 ms, 237.274658 KB / s 08: 55: 06.079 -> Uji tulis / test_4k.bin 08: 55: 13.357 -> Tulis fail yang digunakan: 7274 ms, 576.615906 KB / s 08: 55: 13.357 -> Uji tulis / test_8k.bin 08: 55: 18.691 -> Tulis fail yang digunakan: 5323 ms, 787.958679 KB / s 08: 55: 18.691 -> Uji tulis / ujian_16k.bin 08: 55: 28.336 -> Tulis fail yang digunakan: 9669 ms, 433.788818 KB / s 08: 55: 28.336 -> Uji write /test_32k.bin 08: 55: 32.646 -> Tulis fail yang digunakan: 4309 ms, 973.382202 KB / s 08: 55: 32.646 -> Uji tulis / test_64k.bin 08: 55: 35.551 -> Tulis fail yang digunakan: 2915 ms, 1438.869263 KB / s 08: 55: 35.584 -> Bacaan ujian / ujian_1k.bin 08: 55: 40.745 -> Fail baca yang digunakan: 5183 ms, 809.242554 KB / s 08: 55: 40.745 -> Bacaan ujian / ujian_2k.bin 08: 55: 45.916 -> Fail baca yang digunakan: 5182 ms, 809.398682 KB / s 08: 55: 45.949 -> Uji baca / ujian_4k.bin 08: 55: 51.091 -> Fail baca yang digunakan: 5162 ms, 812.534668 KB / s 08:55: 51.091 -> Uji bacaan /test_8k.bin 08: 55: 56.257 -> Baca fail yang digunakan: 5177 ms, 810.180420 KB / s 08: 55: 56.293 -> Uji baca / ujian_16k.bin 08: 56: 01.244 -> Fail baca yang digunakan: 4956 ms, 846.308289 KB / s 08: 56: 01.244 -> Ujian dibaca /test_32k.bin 08: 56: 06.006 -> Fail baca yang digunakan: 4764 ms, 880.416443 KB / s 08: 56: 06.006 -> Uji baca / ujian_64k.bin 08: 56: 10.716 -> Fail baca yang digunakan: 4728 ms, 887.120117 KB / s

MicroSD 128 MB lama

08: 51: 01.939 -> Uji tulis / test_1k.bin

08: 51: 18.358 -> Tulis fail yang digunakan: 16422 ms, 255.407623 KB / s 08: 51: 18.358 -> Uji tulis / uji_2k.bin 08: 51: 34.529 -> Tulis fail yang digunakan: 16173 ms, 259.339874 KB / s 08: 51: 34.529 -> Uji tulis / test_4k.bin 08: 51: 50.911 -> Tulis fail yang digunakan: 16372 ms, 256.187653 KB / s 08: 51: 50.911 -> Uji tulis / test_8k.bin 08: 52: 07.056 -> Tulis fail yang digunakan: 16137 ms, 259.918457 KB / s 08: 52: 07.056 -> Uji tulis / ujian_16k.bin 08: 52: 23.383 -> Tulis fail yang digunakan: 16351 ms, 256.516663 KB / s 08: 52: 23.383 -> Uji write /test_32k.bin 08: 52: 39.533 -> Tulis fail yang digunakan: 16128 ms, 260.063507 KB / s 08: 52: 39.533 -> Uji tulis / test_64k.bin 08: 52: 55.764 -> Tulis fail yang digunakan: 16250 ms, 258.111023 KB / s 08: 52: 55.764 -> Bacaan ujian / ujian_1k.bin 08: 53: 00.645 -> Fail baca yang digunakan: 4855 ms, 863.914307 KB / s 08: 53: 00.645 -> Uji bacaan / ujian_2k.bin 08: 53: 05.459 -> Baca fail yang digunakan: 4839 ms, 866.770813 KB / s 08: 53: 05.459 -> Uji baca / uji_4k.bin 08: 53: 10.306 -> Fail baca yang digunakan: 4833 ms, 867.846863 KB / s 08:53: 10.306 -> Bacaan ujian /test_8k.bin 08: 53: 15.127 -> R fail ead digunakan: 4827 ms, 868.925598 KB / s 08: 53: 15.127 -> Uji baca / ujian_16k.bin 08: 53: 19.963 -> Fail baca yang digunakan: 4826 ms, 869.105652 KB / s 08: 53: 19.963 -> Uji read /test_32k.bin 08: 53: 24.758 -> Fail baca yang digunakan: 4824 ms, 869.466003 KB / s 08: 53: 24.792 -> Uji baca / test_64k.bin 08: 53: 29.592 -> Baca fail yang digunakan: 4824 ms, 869.466003 KB / s

Langkah 12: Bundarkan

Mod bus SD 4-bit mempunyai prestasi terbaik, mod bus SD 1-bit sekitar 20% lebih perlahan dan mod SPI sekitar 50% lebih perlahan. Salah satu sebab utama adalah lapisan protokol SD_MMC tidak melaksanakan penguncian apa pun tetapi SPI melakukannya. Dan mod bus SD 4-bit mempunyai garis data berganda sehingga secara teorinya menggandakan kelajuan. Tetapi MicroSD lama saya tidak dapat menyokong mod bas SD 4-bit.

Saya akan mengesyorkan mod bas 1-bit SD dalam kebanyakan kes, kerana:

  • persembahan bagus
  • keserasian kad SD yang lebih baik
  • Syarat Pull-up SD yang lebih longgar
  • hanya diperlukan 3 pin GPIO
  • konfigurasi kod yang lebih rendah
  • banyak dev kit, dev board dan breakout board boleh menggunakan mod ini

Disyorkan: