Taula de continguts:
- Pas 1: interfície SD
- Pas 2: Assignació de pins ESPIO GPIO
- Pas 3: Requisits d'extracció de SD
- Pas 4: diversos maquinaris
- Pas 5: Tauler SD Breakout Slot
- Pas 6: desenganxeu GPIO 2 mentre esteu programat
- Pas 7: punt de referència
- Pas 8: benchmark de mode SD_MMC de 4 bits
- Pas 9: benchmark de mode SD_MMC a 1 bit
- Pas 10: mode SD SPI a HSPI Bus Benchmark
- Pas 11: mode SD SPI a la referència de bus VSPI
- Pas 12: arrodoneix cap amunt
Vídeo: Seleccioneu la interfície SD per ESP32: 12 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Aquest instructable mostra alguna cosa sobre com seleccionar una interfície SD per al vostre projecte ESP32.
Pas 1: interfície SD
A la biblioteca SD Arduino original, SD Interface utilitza el mode de transferència de bus SD SPI.
La SD té en realitat més mode de transferència:
- Mode de bus SPI: ESP32 té més d’un bus SPI, es pot personalitzar mentre s’inicialitza
- Mode de bus SD de 1 bit / 4 bits: ESP32 dedica una altra biblioteca anomenada SD_MMC per implementar l'API de mode de bus SD
- Mode SD UHS-II: ESP32 no compatible
Ref.:
www.arduino.cc/ca/referència/SD
ca.wikipedia.org/wiki/SD_card
docs.espressif.com/projects/esp-idf/en/lat…
Pas 2: Assignació de pins ESPIO GPIO
Aquests són els mapes de pins ESPIO GP32 per defecte:
Pin de la targeta SD | Pin microSD | Nom | Bus SD de 4 bits | Bus SD d'1 bit | Bus SPI (pins pins 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,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 | - | - |
El mapatge de pins GPIO del bus SD d'1 bit / 4 bits no es pot canviar.
Simpla trucada SD_MMC begin () al mode inicial de bus SD de 4 bits:
SD_MMC.begin ();
El mode de bus SD de 1 bit es pot seleccionar amb el mètode SD_MMC begin (), p.
SD_MMC.begin ("/ cdcard", cert);
Es pot seleccionar el bus SPI (HSPI o VSPI) mentre es crea la instància SPIClass, per exemple.
SPIClass spi = SPIClass (HSPI);
Com podeu veure, els pins de bus SD de 1 bit / 4 bits comparteixen pins amb HSPI, però el mapatge dels pins de la targeta SD no és el mateix. Per tant, si el maquinari està connectat segons el mapa de pins del bus SD, no pot utilitzar directament els pins natius HSPI. Els pins GPIO es poden substituir en el mètode SPIClass begin (), p.
SPIClass spi = SPIClass (HSPI);
spi.begin (14 / * SCK * /, 2 / * MISO * /, 15 / * MOSI * /, 13 / * SS * /);
I també la biblioteca SD pot anul·lar el pin SS, el bus SPI i la freqüència del bus al mètode SD begin (), per exemple.
SD.begin (13 / * SS * /, spi, 80000000);
Pas 3: Requisits d'extracció de SD
Si voleu utilitzar el mode de bus SD de 4 bits, seguiu els requisits d'explotació ESP32 SD, especialment:
- Conflictes extrets a GPIO13
- Conflictes entre Bootstrap i SDIO a DAT2
Ref.:
docs.espressif.com/projects/esp-idf/en/lat…
Pas 4: diversos maquinaris
Els ESP32 tenen un munt de kit de desenvolupament i placa de desenvolupament, alguns d’ells tenen ranura per a targetes MicroSD incorporada.
Aquí hi ha alguns exemples a la meva mà:
- TTGO T-Watch, es va connectar als pins GPIO 2, 13, 14 i 15 segons el mode de bus SD de 1 bit, de manera que pot utilitzar el mode de bus SD de 1 bit i el mode de bus SPI
- M5Stack Series, es va connectar als pins GPIO 4, 18, 19 i 23 segons els pins natius de VSPI, de manera que pot utilitzar la configuració de biblioteca SD predeterminada [SD.begin (4)]
- ODROID-GO, es va connectar als pins GPIO 18, 19, 22 i 23 segons els pins natius de VSPI, de manera que pot utilitzar la configuració de biblioteca SD predeterminada [SD.begin (22)]
- ESP32-CAM, es va connectar als pins GPIO 2, 4, 12, 13, 14 i 15 segons el mode de bus SD de 4 bits, de manera que pot utilitzar tot el mode de bus SD de 4 bits / 1 bit i el mode de bus SPI
- Taula de desenvolupament TTGO T8, es va connectar als pins GPIO 2, 13, 14 i 15 segons el mode de bus SD de 1 bit, de manera que pot utilitzar el mode de bus SD de 1 bit i el mode de 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
Pas 5: Tauler SD Breakout Slot
És possible que la targeta de desenvolupament amb ranura de targeta MicroSD integrada no connecti tots els pins i la majoria no pugui utilitzar el mode de bus SD de 4 bits. Un tauler de separació de ranura de targeta SD individual proporciona una millor flexibilitat.
Al mateix temps, molts taulers LCD de ruptura també presenten una ranura per a targetes SD de mida completa. Tanmateix, la majoria d’ells només trenquen els pins del mode SPI. No n’hi ha prou d’utilitzar-lo com a mode de bus SD de 4 bits, però encara podeu utilitzar-lo com a mode de bus SD de 1 bit mitjançant aquest mapatge de connexions:
LCD -> ESP32
SD_CS -> zero SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14
Pas 6: desenganxeu GPIO 2 mentre esteu programat
La connexió de mode de bus SD de 4 bits fa que ESP32 no pugui entrar al mode de programa. Recordeu que heu de desprendre el GPIO 2 del tauler de separació de la ranura de la targeta SD DAT0 abans de penjar el programa nou.
Pas 7: punt de referència
He escrit un senzill programa Arduino per al punt de referència:
github.com/moononournation/ESP32_SD_Benchm…
Aquí teniu el maquinari per al punt de referència:
ESP32
NodeMCU ESP32-32S V1.1 (WROOM-32)
Ranura per a targeta SD
Una placa de separació de ranures per a targetes MicroSD
Targeta SD
Tinc un SanDisk de 8 GB MicroSD i un vell MicroSD de 128 MB a la mà.
Pas 8: benchmark de mode SD_MMC de 4 bits
SanDisk 8 GB MicroSD
20: 27: 46.000 -> Prova d'escriptura /t_1_1.bin
20: 27: 59.399 -> Fitxer d'escriptura utilitzat: 13404 ms, 312.914368 KB / s 20: 27: 59.399 -> Prova d'escriptura /test_2k.bin 20: 28: 17.248 -> Fitxer d'escriptura utilitzat: 17834 ms, 235.185822 KB / s 20: 28: 17.248 -> Prova d'escriptura /test_4k.bin 20: 28: 21.122 -> Fitxer d'escriptura utilitzat: 3873 ms, 1082.959961 KB / s 20: 28: 21.122 -> Prova d'escriptura /test_8k.bin 20: 28: 23.147 -> Fitxer d'escriptura utilitzat: 2024 ms, 2072.284668 KB / s 20: 28: 23.147 -> Prova d'escriptura /test_16k.bin 20: 28: 27.237 -> Fitxer d'escriptura utilitzat: 4097 ms, 1023.750061 KB / s 20: 28: 27.237 -> Prova write /test_32k.bin 20: 28: 30.088 -> Fitxer d'escriptura utilitzat: 2842 ms, 1475.828247 KB / s 20: 28: 30.088 -> Test write /test_64k.bin 20: 28: 31.882 -> Fitxer d'escriptura utilitzat: 1811 ms, 2316.015381 KB / s 20: 28: 31.882 -> Prova de lectura / test_1k.bin 20: 28: 35.422 -> Llegir fitxer utilitzat: 3520 ms, 1191.563599 KB / s 20: 28: 35.422 -> Prova de lectura /test_2k.bin 20: 28: 38.813 -> Llegir fitxer utilitzat: 3389 ms, 1237.622925 KB / s 20: 28: 38.813 -> Prova de lectura /test_4k.bin 20: 28: 42.273 -> Llegir fitxer utilitzat: 3474 ms, 1207.341431 KB / s 20:28: 42.273 -> Prova de lectura /test_8k.bin 20: 28: 45.752 - > Llegir fitxer utilitzat: 3487 ms, 1202.840210 KB / s 20: 28: 45.752 -> Llegir prova /test_16k.bin 20: 28: 48.988 -> Llegir fitxer utilitzat: 3213 ms, 1305.416748 KB / s 20: 28: 48.988 -> Prova de lectura /test_32k.bin 20: 28: 52.077 -> Llegiu fitxer utilitzat: 3093 ms, 1356.063354 KB / s 20: 28: 52.077 -> Prova de lectura /test_64k.bin 20: 28: 55.141 -> Llegiu fitxer utilitzat: 3080 ms, 1361,786987 KB / s
MicroSD antiga de 128 MB
20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr va retornar 0x109
20: 30: 43.309 -> Error de muntatge de la targeta
Pas 9: benchmark de mode SD_MMC a 1 bit
SanDisk 8 GB MicroSD
20: 31: 45.194 -> Prova d'escriptura / test_1k.bin
20: 31: 59.506 -> Fitxer d'escriptura utilitzat: 14325 ms, 292.796082 KB / s 20: 31: 59.506 -> Prova d'escriptura /test_2k.bin 20: 32: 17.686 -> Fitxer d'escriptura utilitzat: 18163 ms, 230.925735 KB / s 20: 32: 17.686 -> Prova d'escriptura /test_4k.bin 20: 32: 21.291 -> Fitxer d'escriptura utilitzat: 3611 ms, 1161.535278 KB / s 20: 32: 21.291 -> Prova d'escriptura /test_8k.bin 20: 32: 23.939 -> Fitxer d'escriptura utilitzat: 2652 ms, 1581,562622 KB / s 20: 32: 23.939 -> Prova d'escriptura /test_16k.bin 20: 32: 28.397 -> Fitxer d'escriptura utilitzat: 4448 ms, 942.964050 KB / s 20: 32: 28.397 -> Prova write /test_32k.bin 20: 32: 31.835 -> Fitxer d'escriptura utilitzat: 3429 ms, 1223.185791 KB / s 20: 32: 31.835 -> Test write /test_64k.bin 20: 32: 33.882 -> Fitxer d'escriptura utilitzat: 2058 ms, 2038.048584 KB / s 20: 32: 33.882 -> Prova de lectura /test_1k.bin 20: 32: 38.031 -> Llegir fitxer utilitzat: 4146 ms, 1011.650757 KB / s 20: 32: 38.031 -> Prova de lectura /test_2k.bin 20: 32: 42.062 -> Llegir fitxer utilitzat: 4019 ms, 1043.618774 KB / s 20: 32: 42.062 -> Prova de lectura /test_4k.bin 20: 32: 46.170 -> Llegir fitxer utilitzat: 4106 ms, 1021.506104 KB / s 20:32: 46.170 -> Prova de lectura /test_8k.bin 20: 32: 50.288 -> Llegiu el fitxer utilitzat: 4121 ms, 1017.787903 KB / s 20: 32: 50.288 -> Prova de lectura /test_16k.bin 20: 32: 54.112 -> Llegiu el fitxer utilitzat: 3840 ms, 1092.266724 KB / s 20: 32: 54.112 -> Prova llegir /test_32k.bin 20: 32: 57.840 -> Llegir fitxer utilitzat: 3739 ms, 1121.771606 KB / s 20: 32: 57.840 -> Llegir prova /test_64k.bin 20: 33: 01.568 -> Llegir fitxer utilitzat: 3711 ms, 1130.235474 KB / s
MicroSD antiga de 128 MB
20: 33: 27.366 -> Prova d'escriptura / test_1k.bin
20: 33: 42.386 -> Fitxer d'escriptura utilitzat: 15020 ms, 279.247925 KB / s 20: 33: 42.386 -> Prova d'escriptura /test_2k.bin 20: 33: 57.927 -> Fitxer d'escriptura utilitzat: 15515 ms, 270.338654 KB / s 20: 33: 57.927 -> Prova d'escriptura /test_4k.bin 20: 34: 13.108 -> Fitxer d'escriptura utilitzat: 15195 ms, 276.031860 KB / s 20: 34: 13.108 -> Prova d'escriptura /test_8k.bin 20: 34: 28.162 -> Fitxer d'escriptura utilitzat: 15048 ms, 278.728333 KB / s 20: 34: 28.162 -> Prova d'escriptura /test_16k.bin 20: 34: 43.287 -> Fitxer d'escriptura utilitzat: 15142 ms, 276.998016 KB / s 20: 34: 43.287 -> Prova write /test_32k.bin 20: 34: 58.278 -> Fitxer d'escriptura utilitzat: 14964 ms, 280.292969 KB / s 20: 34: 58.278 -> Test write /test_64k.bin 20: 35: 13.370 -> Fitxer d'escriptura utilitzat: 15101 ms, 277.750092 KB / s 20: 35: 13.370 -> Prova de lectura / test_1k.bin 20: 35: 17.563 -> Llegir fitxer utilitzat: 4197 ms, 999.357666 KB / s 20: 35: 17.563 -> Prova de lectura /test_2k.bin 20: 35: 21.746 -> Llegir fitxer utilitzat: 4191 ms, 1000.788330 KB / s 20: 35: 21.746 -> Prova de lectura /test_4k.bin 20: 35: 25.942 -> Llegir fitxer utilitzat: 4181 ms, 1003.182007 KB / s 20:35: 25.942 -> Prova de lectura /test_8k.bin 20: 35: 30.101 -> Llegir fitxer utilitzat: 4176 ms, 1004.383118 KB / s 20: 35: 30.101 -> Llegir prova /test_16k.bin 20: 35: 34.279 -> Llegir fitxer utilitzat: 4174 ms, 1004.864380 KB / s 20: 35: 34.279 -> Prova llegir /test_32k.bin 20: 35: 38.462 -> Llegir fitxer utilitzat: 4173 ms, 1005.105225 KB / s 20: 35: 38.462 -> Llegir prova /test_64k.bin 20: 35: 42.612 -> Llegir fitxer utilitzat: 4173 ms, 1005,105225 KB / s
Pas 10: mode SD SPI a HSPI Bus Benchmark
SanDisk 8 GB MicroSD
08: 41: 19.703 -> Prova d'escriptura / test_1k.bin
08: 41: 53.458 -> Fitxer d'escriptura utilitzat: 33743 ms, 124.301453 KB / s 08: 41: 53.458 -> Prova d'escriptura /test_2k.bin 08: 42: 10.000 -> Fitxer d'escriptura utilitzat: 16540 ms, 253.585495 KB / s 08: 42: 10.000 -> Prova d'escriptura /test_4k.bin 08: 42: 17.269 -> Fitxer d'escriptura utilitzat: 7298 ms, 574.719666 KB / s 08: 42: 17.308 -> Prova d'escriptura /test_8k.bin 08: 42: 22.640 -> Fitxer d'escriptura utilitzat: 5345 ms, 784.715454 KB / s 08: 42: 22.640 -> Prova d'escriptura /test_16k.bin 08: 42: 32.285 -> Fitxer d'escriptura utilitzat: 9662 ms, 434.103088 KB / s 08: 42: 32.285 -> Prova write /test_32k.bin 08: 42: 36.659 -> Fitxer d'escriptura utilitzat: 4355 ms, 963.100830 KB / s 08: 42: 36.659 -> Test d'escriptura /test_64k.bin 08: 42: 39.594 -> Fitxer d'escriptura utilitzat: 2949 ms, 1422.280151 KB / s 08: 42: 39.594 -> Prova de lectura / test_1k.bin 08: 42: 44.774 -> Llegiu fitxer utilitzat: 5192 ms, 807.839783 KB / s 08: 42: 44.774 -> Prova de lectura / test_2k.bin 08: 42: 49.969 -> Llegir fitxer utilitzat: 5189 ms, 808.306824 KB / s 08: 42: 49.969 -> Prova de lectura /test_4k.bin 08: 42: 55.123 -> Llegir fitxer utilitzat: 5161 ms, 812.692139 KB / s 08:42: 55.158 -> Prova de lectura /test_8k.bin 08: 43: 00.300 -> Lectura fitxer utilitzat: 5176 ms, 810.336914 KB / s 08: 43: 00.334 -> Prova de lectura /test_16k.bin 08: 43: 05.277 -> Llegiu fitxer utilitzat: 4948 ms, 847.676636 KB / s 08: 43: 05.277 -> Prova de lectura /test_32k.bin 08: 43: 10.028 -> Llegir fitxer utilitzat: 4773 ms, 878.756348 KB / s 08: 43: 10.028 -> Prova de lectura /test_64k.bin 08: 43: 14.760 -> Llegir fitxer utilitzat: 4731 ms, 886.557617 KB / s
MicroSD antiga de 128 MB
08: 43: 47.777 -> Prova d'escriptura / test_1k.bin
08: 44: 04.148 -> Fitxer d’escriptura utilitzat: 16390 ms, 255.906281 KB / s 08: 44: 04.183 -> Prova d’escriptura /test_2k.bin 08: 44: 20.648 -> Fitxer d’escriptura utilitzat: 16494 ms, 254.292709 KB / s 08: 44: 20.648 -> Prova d'escriptura /test_4k.bin 08: 44: 36.674 -> Fitxer d'escriptura utilitzat: 16001 ms, 262.127625 KB / s 08: 44: 36.674 -> Prova d'escriptura /test_8k.bin 08: 44: 52.849 -> Fitxer d'escriptura utilitzat: 16175 ms, 259.307831 KB / s 08: 44: 52.849 -> Prova d'escriptura /test_16k.bin 08: 45: 09.225 -> Fitxer d'escriptura utilitzat: 16397 ms, 255.797043 KB / s 08: 45: 09.225 -> Prova write /test_32k.bin 08: 45: 25.363 -> Fitxer d'escriptura utilitzat: 16143 ms, 259.821838 KB / s 08: 45: 25.397 -> Test write /test_64k.bin 08: 45: 41.632 -> Fitxer d'escriptura utilitzat: 16263 ms, 257.904694 KB / s 08: 45: 41.632 -> Prova de lectura / test_1k.bin 08: 45: 46.488 -> Llegir fitxer utilitzat: 4856 ms, 863.736389 KB / s 08: 45: 46.488 -> Prova de lectura / test_2k.bin 08: 45: 51.332 -> Llegir fitxer utilitzat: 4840 ms, 866.591736 KB / s 08: 45: 51.332 -> Prova de lectura /test_4k.bin 08: 45: 56.163 -> Llegir fitxer utilitzat: 4834 ms, 867.667358 KB / s 08:45: 56.163 -> Prova llegida /test_8k.bin 08: 46: 00.998 -> R ead fitxer utilitzat: 4827 ms, 868.925598 KB / s 08: 46: 00.998 -> Prova llegida /test_16k.bin 08: 46: 05.808 -> Llegiu fitxer utilitzat: 4825 ms, 869.285828 KB / s 08: 46: 05.843 -> Prova llegir /test_32k.bin 08: 46: 10.637 -> Llegir fitxer utilitzat: 4824 ms, 869.466003 KB / s 08: 46: 10.637 -> Llegir prova /test_64k.bin 08: 46: 15.478 -> Llegir fitxer utilitzat: 4825 ms, 869.285828 KB / s
Pas 11: mode SD SPI a la referència de bus VSPI
SanDisk 8 GB MicroSD
08: 54: 17.412 -> Prova d'escriptura / test_1k.bin
08: 54: 48.398 -> Fitxer d'escriptura utilitzat: 30994 ms, 135.326324 KB / s 08: 54: 48.398 -> Prova d'escriptura /test_2k.bin 08: 55: 06.079 -> Fitxer d'escriptura utilitzat: 17677 ms, 237.274658 KB / s 08: 55: 06.079 -> Prova d'escriptura /test_4k.bin 08: 55: 13.357 -> Fitxer d'escriptura utilitzat: 7274 ms, 576.615906 KB / s 08: 55: 13.357 -> Prova d'escriptura /test_8k.bin 08: 55: 18.691 -> Fitxer d'escriptura utilitzat: 5323 ms, 787.958679 KB / s 08: 55: 18.691 -> Prova d'escriptura /test_16k.bin 08: 55: 28.336 -> Fitxer d'escriptura utilitzat: 9669 ms, 433.788818 KB / s 08: 55: 28.336 -> Prova write /test_32k.bin 08: 55: 32.646 -> Fitxer d'escriptura utilitzat: 4309 ms, 973.382202 KB / s 08: 55: 32.646 -> Test write /test_64k.bin 08: 55: 35.551 -> Fitxer d'escriptura utilitzat: 2915 ms, 1438.869263 KB / s 08: 55: 35.584 -> Prova de lectura /test_1k.bin 08: 55: 40.745 -> Llegiu fitxer utilitzat: 5183 ms, 809.242554 KB / s 08: 55: 40.745 -> Prova de lectura /test_2k.bin 08: 55: 45.916 -> Llegiu el fitxer utilitzat: 5182 ms, 809.398682 KB / s 08: 55: 45.949 -> Llegiu la prova /test_4k.bin 08: 55: 51.091 -> Llegiu el fitxer utilitzat: 5162 ms, 812.534668 KB / s 08:55: 51.091 -> Prova de lectura /test_8k.bin 08: 55: 56.257 -> Lectura fitxer utilitzat: 5177 ms, 810.180420 KB / s 08: 55: 56.293 -> Prova de lectura /test_16k.bin 08: 56: 01.244 -> Llegiu fitxer utilitzat: 4956 ms, 846.308289 KB / s 08: 56: 01.244 -> Prova de lectura /test_32k.bin 08: 56: 06.006 -> Llegir fitxer utilitzat: 4764 ms, 880.416443 KB / s 08: 56: 06.006 -> Prova de lectura /test_64k.bin 08: 56: 10.716 -> Llegir fitxer utilitzat: 4728 ms, 887.120117 KB / s
MicroSD antiga de 128 MB
08: 51: 01.939 -> Prova d'escriptura /test_1k.bin
08: 51: 18.358 -> Fitxer d'escriptura utilitzat: 16422 ms, 255.407623 KB / s 08: 51: 18.358 -> Prova d'escriptura /test_2k.bin 08: 51: 34.529 -> Fitxer d'escriptura utilitzat: 16173 ms, 259.339874 KB / s 08: 51: 34.529 -> Prova d'escriptura /test_4k.bin 08: 51: 50.911 -> Fitxer d'escriptura utilitzat: 16372 ms, 256.187653 KB / s 08: 51: 50.911 -> Prova d'escriptura /test_8k.bin 08: 52: 07.056 -> Fitxer d'escriptura utilitzat: 16137 ms, 259.918457 KB / s 08: 52: 07.056 -> Prova d'escriptura /test_16k.bin 08: 52: 23.383 -> Fitxer d'escriptura utilitzat: 16351 ms, 256.516663 KB / s 08: 52: 23.383 -> Prova write /test_32k.bin 08: 52: 39.533 -> Fitxer d'escriptura utilitzat: 16128 ms, 260.063507 KB / s 08: 52: 39.533 -> Test write /test_64k.bin 08: 52: 55.764 -> Fitxer d'escriptura utilitzat: 16250 ms, 258.111023 KB / s 08: 52: 55.764 -> Prova de lectura / test_1k.bin 08: 53: 00.645 -> Llegir fitxer utilitzat: 4855 ms, 863.914307 KB / s 08: 53: 00.645 -> Prova de lectura / test_2k.bin 08: 53: 05.459 -> Llegir fitxer utilitzat: 4839 ms, 866.770813 KB / s 08: 53: 05.459 -> Llegir prova /test_4k.bin 08: 53: 10.306 -> Llegir fitxer utilitzat: 4833 ms, 867.846863 KB / s 08:53: 10.306 -> Prova llegida /test_8k.bin 08: 53: 15.127 -> R ead fitxer utilitzat: 4827 ms, 868.925598 KB / s 08: 53: 15.127 -> Prova llegida /test_16k.bin 08: 53: 19.963 -> Llegiu fitxer utilitzat: 4826 ms, 869.105652 KB / s 08: 53: 19.963 -> Prova read /test_32k.bin 08: 53: 24.758 -> Llegiu el fitxer utilitzat: 4824 ms, 869.466003 KB / s 08: 53: 24.792 -> Prova de lectura /test_64k.bin 08: 53: 29.592 -> Llegiu el fitxer utilitzat: 4824 ms, 869,466003 KB / s
Pas 12: arrodoneix cap amunt
El mode de bus SD de 4 bits té el millor rendiment, el mode de bus SD d’1 bit és al voltant d’un 20% més lent i el mode SPI al voltant d’un 50% més lent. Un dels motius principals és que la capa de protocol SD_MMC no implementa cap tipus de bloqueig, però sí SPI. I també el mode de bus SD de 4 bits té línies de dades dobles, de manera que teòricament el doble de velocitat. Però la meva antiga MicroSD no pot suportar el mode de bus SD de 4 bits.
Recomanaré el mode de bus SD de 1 bit en la majoria dels casos, perquè:
- bon rendiment
- millor compatibilitat amb la targeta SD
- requisits SD Pull-up més solts
- només es necessiten 3 pins GPIO
- configuració de codi menor
- molts equips de desenvolupament, taulers de desenvolupament i taulers poden utilitzar aquest mode
Recomanat:
Introducció a la interfície del sensor I2C ?? - Interfície del MMA8451 mitjançant ESP32: 8 passos
Introducció a la interfície del sensor I2C ?? - Interfície del MMA8451 mitjançant ESP32s: en aquest tutorial, aprendreu tot sobre com iniciar, connectar-se i aconseguir que el dispositiu I2C (acceleròmetre) funcioni amb el controlador (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Tutorial per a la interfície Sensor de brúixola HMC5883L amb Arduino: 10 passos (amb imatges)
Tutorial per a la interfície Sensor de brúixola HMC5883L amb Arduino: Descripció HMC5883L és una brúixola digital de 3 eixos que s’utilitza per a dos propòsits generals: per mesurar la magnetització d’un material magnètic com un ferromagnet o per mesurar la força i, en alguns casos, la direcció del camp magnètic en un punt de s
Selector de colors Arduino RGB: seleccioneu els colors dels objectes de la vida real: 7 passos (amb imatges)
Arduino RGB Color Picker: seleccioneu els colors dels objectes de la vida real: escolliu fàcilment els colors dels objectes físics amb aquest selector de colors RGB basat en Arduino, que us permetrà recrear els colors que veieu als objectes de la vida real al vostre PC o telèfon mòbil. Simplement premeu un botó per escanejar el color de l'objecte amb un TCS347 barat
Gesture Hawk: robot controlat amb gestos manuals mitjançant la interfície basada en el processament d’imatges: 13 passos (amb imatges)
Gesture Hawk: robot controlat amb gestos manuals mitjançant interfície basada en el processament d’imatges: Gesture Hawk es va mostrar a TechEvince 4.0 com una interfície simple màquina basada en el processament d’imatges. La seva utilitat rau en el fet que no es requereixen cap sensor addicional ni un dispositiu portàtil, excepte un guant, per controlar el cotxe robòtic que funciona amb diferents
Tutorial per a la interfície RGB Led WS2812B amb Arduino UNO: 7 passos (amb imatges)
Tutorial per a la interfície RGB Led WS2812B amb Arduino UNO: Aquest tutorial us ensenyarà alguns conceptes bàsics sobre l'ús de Sparkfun RGB Led WS2812B amb Arduino UNO