विषयसूची:

ESP32 के लिए SD इंटरफ़ेस चुनें: 12 चरण (चित्रों के साथ)
ESP32 के लिए SD इंटरफ़ेस चुनें: 12 चरण (चित्रों के साथ)

वीडियो: ESP32 के लिए SD इंटरफ़ेस चुनें: 12 चरण (चित्रों के साथ)

वीडियो: ESP32 के लिए SD इंटरफ़ेस चुनें: 12 चरण (चित्रों के साथ)
वीडियो: 12 Channels ESPNOW Wireless Transmitter Receiver using ESP32 | DIY 👌 2024, नवंबर
Anonim
ESP32 के लिए SD इंटरफ़ेस चुनें
ESP32 के लिए SD इंटरफ़ेस चुनें

यह निर्देश आपके ESP32 प्रोजेक्ट के लिए SD इंटरफ़ेस चुनने के बारे में कुछ दिखाते हैं।

चरण 1: एसडी इंटरफ़ेस

मूल Arduino SD लाइब्रेरी में, SD इंटरफ़ेस SD SPI बस स्थानांतरण मोड का उपयोग कर रहा है।

एसडी में वास्तव में अधिक स्थानांतरण मोड है:

  • SPI बस मोड: ESP32 में 1 से अधिक SPI बस हैं, यह आरंभीकरण के दौरान अनुकूलित कर सकता है
  • 1-बिट / 4-बिट एसडी बस मोड: ईएसपी 32 एसडी बस मोड एपीआई को लागू करने के लिए एसडी_एमएमसी नामक एक और पुस्तकालय समर्पित करता है
  • एसडी यूएचएस-द्वितीय मोड: ईएसपी 32 समर्थित नहीं है

संदर्भ।:

www.arduino.cc/en/reference/SD

en.wikipedia.org/wiki/SD_card

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

चरण 2: ESP32 GPIO पिन मैपिंग

यहाँ डिफ़ॉल्ट ESP32 GPIO पिन मैपिंग हैं:

एसडी कार्ड पिन माइक्रोएसडी पिन नाम 4-बिट एसडी बस 1-बिट एसडी बस SPI बस (HSPI / VSPInative पिन)
1 2 डी3 13 - एसएस (15/5)
2 3 अध्यक्ष एवं प्रबंध निदेशक 15 15 मोसी (13 / 23)
3 - वीएसएस जीएनडी जीएनडी जीएनडी
4 4 वीडीडी 3.3 3.3 3.3
5 5 सीएलके 14 14 एससीके (14 / 18)
6 6 वीएसएस जीएनडी जीएनडी जीएनडी
7 7 डी0 2 2 मिसो (12/19)
8 8 डी1 4 - -
9 1 डी2 12 - -

1-बिट / 4-बिट एसडी बस की GPIO पिन मैपिंग को बदला नहीं जा सकता है।

साधारण कॉल SD_MMC start() प्रारंभिक 4-बिट SD बस मोड में:

SD_MMC.begin ();

1-बिट एसडी बस मोड को SD_MMC start() विधि पर चुना जा सकता है, उदा।

SD_MMC.begin ("/ सीडीकार्ड", सत्य);

SPIClass उदाहरण बनाते समय SPI बस (HSPI या VSPI) का चयन किया जा सकता है, उदा।

SPIClass spi = SPIClass (HSPI);

जैसा कि आप एचएसपीआई के साथ 1-बिट / 4-बिट एसडी बस पिन शेयर पिन देख सकते हैं लेकिन एसडी कार्ड पिन मैपिंग समान नहीं हैं। तो अगर हार्डवेयर एसडी बस पिन मैप के अनुसार जुड़ा हुआ है, तो यह सीधे एचएसपीआई देशी पिन का उपयोग नहीं कर सकता है। GPIO पिन को SPIClass start() विधि से ओवरराइड किया जा सकता है, उदा।

SPIClass spi = SPIClass (HSPI);

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

और एसडी पुस्तकालय एसएस पिन, एसपीआई बस और बस आवृत्ति को एसडी शुरू() विधि पर ओवरराइड कर सकता है, उदा।

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

चरण 3: एसडी पुल-अप आवश्यकताएँ

यदि आप 4-बिट एसडी बस मोड का उपयोग करना चाहते हैं, तो कृपया विशेष रूप से ईएसपी 32 एसडी पुल-अप आवश्यकताओं का पालन करें:

  • GPIO13 पर पुल-अप विरोध
  • DAT2 पर बूटस्ट्रैप और SDIO के बीच संघर्ष

संदर्भ।:

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

चरण 4: विभिन्न हार्डवेयर

विभिन्न हार्डवेयर
विभिन्न हार्डवेयर

ESP32 में बहुत सारे देव किट और देव बोर्ड हैं, उनमें से कुछ में अंतर्निहित माइक्रोएसडी कार्ड स्लॉट है।

मेरे हाथ में कुछ उदाहरण हैं:

  • TTGO T-Watch, यह 1-बिट SD बस मोड के अनुसार GPIO पिन 2, 13, 14 और 15 से जुड़ा है, इसलिए यह 1-बिट SD बस मोड और SPI बस मोड का उपयोग कर सकता है
  • M5Stack सीरीज, यह VSPI देशी पिन के अनुसार GPIO पिन 4, 18, 19 और 23 से जुड़ा है, इसलिए यह डिफ़ॉल्ट SD लाइब्रेरी सेटिंग्स का उपयोग कर सकता है [SD.begin(4)]
  • ODROID-GO, यह VSPI नेटिव पिन के अनुसार GPIO पिन 18, 19, 22 और 23 से जुड़ा है, इसलिए यह डिफ़ॉल्ट SD लाइब्रेरी सेटिंग्स का उपयोग कर सकता है [SD.begin(22)]
  • ESP32-CAM, यह 4-बिट SD बस मोड के अनुसार GPIO पिन 2, 4, 12, 13, 14 और 15 से जुड़ा है, इसलिए यह सभी 4-बिट / 1-बिट SD बस मोड और SPI बस मोड का उपयोग कर सकता है
  • TTGO T8 देव बोर्ड, यह 1-बिट SD बस मोड के अनुसार GPIO पिन 2, 13, 14 और 15 से जुड़ा है, इसलिए यह 1-बिट SD बस मोड और 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

चरण 5: एसडी कार्ड स्लॉट ब्रेकआउट बोर्ड

एसडी कार्ड स्लॉट ब्रेकआउट बोर्ड
एसडी कार्ड स्लॉट ब्रेकआउट बोर्ड
एसडी कार्ड स्लॉट ब्रेकआउट बोर्ड
एसडी कार्ड स्लॉट ब्रेकआउट बोर्ड

बिल्ट-इन माइक्रोएसडी कार्ड स्लॉट वाला देव बोर्ड सभी पिनों को कनेक्ट नहीं कर सकता है और अधिकांश 4-बिट एसडी बस मोड का उपयोग नहीं कर सकते हैं। एक व्यक्तिगत एसडी कार्ड स्लॉट ब्रेकआउट बोर्ड बेहतर लचीलापन प्रदान करता है।

उसी समय, कई एलसीडी ब्रेकआउट बोर्ड भी एक पूर्ण आकार के एसडी कार्ड स्लॉट को तोड़ते हैं। हालाँकि, उनमें से अधिकांश केवल SPI मोड पिन को तोड़ते हैं। यह 4-बिट एसडी बस मोड के रूप में उपयोग करने के लिए पर्याप्त नहीं है, लेकिन आप अभी भी इस कनेक्शन मैपिंग द्वारा इसे 1-बिट एसडी बस मोड के रूप में उपयोग कर सकते हैं:

एलसीडी -> ESP32

एसडी_सीएस -> शून्य एसडी_एमओएसआई -> 15 एसडी_एमआईएसओ -> 2 एसडी_एससीके -> 14

चरण 6: प्रोग्राम के दौरान GPIO 2 को अलग करें

कार्यक्रम के दौरान GPIO 2 को अलग करें
कार्यक्रम के दौरान GPIO 2 को अलग करें

4-बिट एसडी बस मोड कनेक्शन ESP32 को प्रोग्राम मोड में प्रवेश करने में विफल बनाता है। कृपया याद रखें कि नया प्रोग्राम अपलोड करने से पहले GPIO 2 को SD कार्ड स्लॉट ब्रेकआउट बोर्ड DAT0 से अलग करें।

चरण 7: बेंचमार्क

बेंचमार्क
बेंचमार्क
बेंचमार्क
बेंचमार्क

मैंने बेंचमार्क के लिए एक साधारण Arduino प्रोग्राम लिखा है:

github.com/moononournation/ESP32_SD_Benchm…

यहाँ बेंचमार्क के लिए हार्डवेयर हैं:

ESP32

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

एसडी कार्ड स्लॉट

एक माइक्रोएसडी कार्ड स्लॉट ब्रेकआउट बोर्ड

एसडी कार्ड

मेरे पास एक सैनडिस्क 8 जीबी माइक्रोएसडी और एक पुराना 128 एमबी माइक्रोएसडी हाथ में है।

चरण 8: SD_MMC 4-बिट मोड बेंचमार्क

सैनडिस्क 8 जीबी माइक्रोएसडी

20:27:46.000 -> टेस्ट राइट /test_1k.bin

20:27:59.399 -> उपयोग की गई फ़ाइल लिखें: 13404 एमएस, 312.914368 केबी/एस 20:27:59.399 -> परीक्षण लिखें /test_2k.bin 20:28:17.248 -> उपयोग की गई फ़ाइल लिखें: 17834 एमएस, 235.185822 केबी/एस 20:28:17.248 -> टेस्ट राइट /test_4k.bin 20:28:21.122 -> उपयोग की गई फाइल लिखें: 3873 ms, 1082.959961 KB/s 20:28:21.122 -> टेस्ट राइट /test_8k.bin 20:28:23.147 -> उपयोग की गई फ़ाइल लिखें: 2024 एमएस, 2072.284668 केबी/एस 20:28:23.147 -> परीक्षण लिखें /test_16k.bin 20:28:27.237 -> उपयोग की गई फ़ाइल लिखें: 4097 एमएस, 1023.750061 केबी/एस 20:28:27.237 -> परीक्षण लिखें /test_32k.bin 20:28:30.088 -> उपयोग की गई फ़ाइल लिखें: 2842 ms, 1475.828247 KB/s 20:28:30.088 -> परीक्षण लिखें /test_64k.bin 20:28:31.882 -> उपयोग की गई फ़ाइल लिखें: 1811 ms, 2316.015381 KB/s 20:28:31.882 -> टेस्ट रीड /test_1k.bin 20:28:35.422 -> उपयोग की गई फ़ाइल पढ़ें: 3520 ms, 1191.563599 KB/s 20:28:35.422 -> टेस्ट रीड /test_2k.bin 20: 28:38.813 -> उपयोग की गई फ़ाइल पढ़ें: 3389 ms, 1237.622925 KB/s 20:28:38.813 -> टेस्ट रीड /test_4k.bin 20:28:42.273 -> उपयोग की गई फ़ाइल पढ़ें: 3474 ms, 1207.341431 KB/s 20:28:42.273 -> टेस्ट रीड /test_8k.bin 20:28:45.752 - > उपयोग की गई फ़ाइल पढ़ें: 3487 एमएस, 1202.840210 केबी/एस 20:28:45.752 -> परीक्षण पढ़ें /test_16k.bin 20:28:48.988 -> उपयोग की गई फ़ाइल पढ़ें: 3213 एमएस, 1305.416748 केबी/एस 20:28:48.988 -> टेस्ट रीड /test_32k.bin 20:28:52.077 -> उपयोग की गई फ़ाइल पढ़ें: 3093 एमएस, 1356.063354 केबी/एस 20:28:52.077 -> टेस्ट रीड /test_64k.bin 20:28:55.141 -> उपयोग की गई फ़ाइल पढ़ें: 3080 एमएस, १३६१.७८६९८७ KB/s

पुराना 128 एमबी माइक्रोएसडी

20:30:43.309 -> ई (274) sdmmc_sd: sdmmc_check_scr: send_scr 0x109 लौटा

20:30:43.309 -> कार्ड माउंट विफल

चरण 9: SD_MMC 1-बिट मोड बेंचमार्क

सैनडिस्क 8 जीबी माइक्रोएसडी

20:31:45.194 -> टेस्ट राइट /test_1k.bin

20:31:59.506 -> उपयोग की गई फ़ाइल लिखें: 14325 एमएस, 292.796082 केबी/एस 20:31:59.506 -> परीक्षण लिखें /test_2k.bin 20:32:17.686 -> उपयोग की गई फ़ाइल लिखें: 18163 एमएस, 230.925735 केबी/एस 20:32:17.686 -> टेस्ट राइट /test_4k.bin 20:32:21.291 -> इस्तेमाल की गई फाइल लिखें: 3611 ms, 1161.535278 KB/s 20:32:21.291 -> टेस्ट राइट /test_8k.bin 20:32:23.939 -> उपयोग की गई फ़ाइल लिखें: 2652 एमएस, 1581.562622 केबी/एस 20:32:23.939 -> परीक्षण लिखें /test_16k.bin 20:32:28.397 -> उपयोग की गई फ़ाइल लिखें: 4448 एमएस, 942.964050 केबी/एस 20:32:28.397 -> परीक्षण लिखें /test_32k.bin 20:32:31.835 -> उपयोग की गई फ़ाइल लिखें: 3429 ms, 1223.185791 KB/s 20:32:31.835 -> परीक्षण लिखें /test_64k.bin 20:32:33.882 -> उपयोग की गई फ़ाइल लिखें: 2058 ms, 2038.048584 KB/s 20:32:33.882 -> टेस्ट रीड /test_1k.bin 20:32:38.031 -> उपयोग की गई फ़ाइल पढ़ें: 4146 ms, 1011.650757 KB/s 20:32:38.031 -> टेस्ट रीड /test_2k.bin 20: 32:42.062 -> उपयोग की गई फ़ाइल पढ़ें: 4019 ms, 1043.618774 KB/s 20:32:42.062 -> टेस्ट रीड /test_4k.bin 20:32:46.170 -> उपयोग की गई फ़ाइल पढ़ें: 4106 ms, 1021.506104 KB/s 20:32:46.170 -> टेस्ट पढ़ें /test_8k.bin 20:32:50.288 -> उपयोग की गई फ़ाइल पढ़ें: 4121 ms, 1017.787903 KB/s 20:32:50.288 -> टेस्ट रीड /test_16k.bin 20:32:54.112 -> उपयोग की गई फ़ाइल पढ़ें: 3840 ms, 1092.266724 KB/s 20:32:54.112 -> परीक्षण पढ़ें /test_32k.bin 20:32:57.840 -> उपयोग की गई फ़ाइल पढ़ें: 3739 ms, 1121.771606 KB/s 20:32:57.840 -> टेस्ट रीड /test_64k.bin 20:33:01.568 -> उपयोग की गई फ़ाइल पढ़ें: 3711 ms, ११३०.२३५४७४ KB/s

पुराना 128 एमबी माइक्रोएसडी

20:33:27.366 -> टेस्ट राइट /test_1k.bin

20:33:42.386 -> उपयोग की गई फ़ाइल लिखें: 15020 एमएस, 279.247925 केबी/एस 20:33:42.386 -> परीक्षण लिखें /test_2k.bin 20:33:57.927 -> उपयोग की गई फ़ाइल लिखें: 15515 एमएस, 270.338654 केबी/एस 20:33:57.927 -> टेस्ट राइट /test_4k.bin 20:34:13.108 -> उपयोग की गई फाइल लिखें: 15195 ms, 276.031860 KB/s 20:34:13.108 -> टेस्ट राइट /test_8k.bin 20:34:28.162 -> उपयोग की गई फ़ाइल लिखें: 15048 एमएस, 278.728333 केबी/एस 20:34:28.162 -> परीक्षण लिखें /test_16k.bin 20:34:43.287 -> उपयोग की गई फ़ाइल लिखें: 15142 एमएस, 276.998016 केबी/एस 20:34:43.287 -> परीक्षण लिखें /test_32k.bin 20:34:58.278 -> उपयोग की गई फ़ाइल लिखें: 14964 ms, 280.292969 KB/s 20:34:58.278 -> परीक्षण लिखें /test_64k.bin 20:35:13.370 -> उपयोग की गई फ़ाइल लिखें: 15101 ms, 277.750092 KB/s 20:35:13.370 -> टेस्ट रीड /test_1k.bin 20:35:17.563 -> उपयोग की गई फ़ाइल पढ़ें: 4197 ms, 999.357666 KB/s 20:35:17.563 -> टेस्ट रीड /test_2k.bin 20: 35:21.746 -> उपयोग की गई फ़ाइल पढ़ें: 4191 ms, 1000.788330 KB/s 20:35:21.746 -> टेस्ट रीड /test_4k.bin 20:35:25.942 -> उपयोग की गई फ़ाइल पढ़ें: 4181 ms, 1003.182007 KB/s 20:35:25.942 -> टेस्ट रीड /test_8k.bin 20:35:30.101 -> उपयोग की गई फ़ाइल पढ़ें: 4176 ms, 1004.383118 KB/s 20:35:30.101 -> टेस्ट रीड /test_16k.bin 20:35:34.279 -> उपयोग की गई फ़ाइल पढ़ें: 4174 ms, 1004.864380 KB/s 20:35:34.279 -> परीक्षण पढ़ें /test_32k.bin 20:35:38.462 -> उपयोग की गई फ़ाइल पढ़ें: 4173 ms, 1005.105225 KB/s 20:35:38.462 -> टेस्ट रीड /test_64k.bin 20:35:42.612 -> उपयोग की गई फ़ाइल पढ़ें: 4173 ms, 1005.105225 KB/s

चरण 10: एचएसपीआई बस बेंचमार्क पर एसडी एसपीआई मोड

सैनडिस्क 8 जीबी माइक्रोएसडी

08:41:19.703 -> टेस्ट राइट /test_1k.bin

08:41:53.458 -> उपयोग की गई फ़ाइल लिखें: 33743 एमएस, 124.301453 केबी/एस 08:41:53.458 -> परीक्षण लिखें /test_2k.bin 08:42:10.000 -> उपयोग की गई फ़ाइल लिखें: 16540 एमएस, 253.585495 केबी/एस 08:42:10.000 -> टेस्ट राइट /test_4k.bin 08:42:17.269 -> उपयोग की गई फाइल लिखें: 7298 ms, 574.719666 KB/s 08:42:17.308 -> टेस्ट राइट /test_8k.bin 08:42:22.640 -> उपयोग की गई फ़ाइल लिखें: 5345 ms, 784.715454 KB/s 08:42:22.640 -> परीक्षण लिखें /test_16k.bin 08:42:32.285 -> उपयोग की गई फ़ाइल लिखें: 9662 ms, 434.103088 KB/s 08:42:32.285 -> परीक्षण लिखें /test_32k.bin 08:42:36.659 -> उपयोग की गई फ़ाइल लिखें: 4355 ms, 963.100830 KB/s 08:42:36.659 -> टेस्ट राइट /test_64k.bin 08:42:39.594 -> उपयोग की गई फ़ाइल लिखें: 2949 ms, 1422.280151 KB/s 08:42:39.594 -> टेस्ट रीड /test_1k.bin 08:42:44.774 -> उपयोग की गई फ़ाइल पढ़ें: 5192 ms, 807.839783 KB/s 08:42:44.774 -> टेस्ट रीड /test_2k.bin 08: 42:49.969 -> उपयोग की गई फ़ाइल पढ़ें: 5189 एमएस, 808.306824 केबी/एस 08:42:49.969 -> टेस्ट रीड /test_4k.bin 08:42:55.123 -> उपयोग की गई फ़ाइल पढ़ें: 5161 एमएस, 812.692139 केबी/एस 08:42:55.158 -> टेस्ट रीड /test_8k.bin 08:43:00.300 -> पढ़ें उपयोग की गई फ़ाइल: 5176 एमएस, 810.336914 केबी/एस 08:43:00.334 -> टेस्ट रीड /test_16k.bin 08:43:05.277 -> उपयोग की गई फ़ाइल पढ़ें: 4948 एमएस, 847.676636 केबी/एस 08:43:05.277 -> टेस्ट रीड /test_32k.bin 08:43:10.028 -> उपयोग की गई फ़ाइल पढ़ें: 4773 ms, 878.756348 KB/s 08:43:10.028 -> टेस्ट रीड /test_64k.bin 08:43:14.760 -> उपयोग की गई फ़ाइल पढ़ें: 4731 ms, 886.557617 केबी/एस

पुराना 128 एमबी माइक्रोएसडी

08:43:47.777 -> टेस्ट राइट /test_1k.bin

08:44:04.148 -> प्रयुक्त फ़ाइल लिखें: 16390 ms, 255.906281 KB/s 08:44:04.183 -> टेस्ट राइट /test_2k.bin 08:44:20.648 -> उपयोग की गई फ़ाइल लिखें: 16494 ms, 254.292709 KB/s 08:44:20.648 -> टेस्ट राइट /test_4k.bin 08:44:36.674 -> उपयोग की गई फाइल लिखें: 16001 ms, 262.127625 KB/s 08:44:36.674 -> टेस्ट राइट /test_8k.bin 08:44:52.849 -> उपयोग की गई फ़ाइल लिखें: 16175 एमएस, 259.307831 केबी/एस 08:44:52.849 -> परीक्षण लिखें /test_16k.bin 08:45:09.225 -> उपयोग की गई फ़ाइल लिखें: 16397 एमएस, 255.797043 केबी/एस 08:45:09.225 -> परीक्षण लिखें /test_32k.bin 08:45:25.363 -> उपयोग की गई फ़ाइल लिखें: 16143 ms, 259.821838 KB/s 08:45:25.397 -> टेस्ट राइट /test_64k.bin 08:45:41.632 -> उपयोग की गई फ़ाइल लिखें: 16263 ms, 257.904694 KB/s 08:45:41.632 -> टेस्ट रीड /test_1k.bin 08:45:46.488 -> उपयोग की गई फ़ाइल पढ़ें: 4856 ms, 863.736389 KB/s 08:45:46.488 -> टेस्ट रीड /test_2k.bin 08: 45:51.332 -> उपयोग की गई फ़ाइल पढ़ें: 4840 एमएस, 866.591736 केबी/एस 08:45:51.332 -> टेस्ट रीड /test_4k.bin 08:45:56.163 -> उपयोग की गई फ़ाइल पढ़ें: 4834 एमएस, 867.667358 केबी/एस 08:45:56.163 -> टेस्ट रीड /test_8k.bin 08:46:00.998 -> R उपयोग की गई ead फ़ाइल: 4827 ms, 868.925598 KB/s 08:46:00.998 -> टेस्ट रीड /test_16k.bin 08:46:05.808 -> उपयोग की गई फ़ाइल पढ़ें: 4825 ms, 869.285828 KB/s 08:46:05.843 -> टेस्ट पढ़ें /test_32k.bin 08:46:10.637 -> उपयोग की गई फ़ाइल पढ़ें: 4824 ms, 869.466003 KB/s 08:46:10.637 -> टेस्ट रीड /test_64k.bin 08:46:15.478 -> उपयोग की गई फ़ाइल पढ़ें: 4825 ms, 869.285828 KB/s

चरण 11: वीएसपीआई बस बेंचमार्क पर एसडी एसपीआई मोड

सैनडिस्क 8 जीबी माइक्रोएसडी

08:54:17.412 -> टेस्ट राइट /test_1k.bin

08:54:48.398 -> उपयोग की गई फ़ाइल लिखें: 30994 ms, 135.326324 KB/s 08:54:48.398 -> टेस्ट राइट /test_2k.bin 08:55:06.079 -> उपयोग की गई फ़ाइल लिखें: 17677 ms, 237.274658 KB/s 08:55:06.079 -> टेस्ट राइट /test_4k.bin 08:55:13.357 -> उपयोग की गई फाइल लिखें: 7274 ms, 576.615906 KB/s 08:55:13.357 -> टेस्ट राइट /test_8k.bin 08:55:18.691 -> उपयोग की गई फ़ाइल लिखें: 5323 एमएस, 787.958679 केबी/एस 08:55:18.691 -> परीक्षण लिखें /test_16k.bin 08:55:28.336 -> उपयोग की गई फ़ाइल लिखें: 9669 एमएस, 433.788818 केबी/एस 08:55:28.336 -> परीक्षण लिखें /test_32k.bin 08:55:32.646 -> उपयोग की गई फ़ाइल लिखें: 4309 ms, 973.382202 KB/s 08:55:32.646 -> टेस्ट राइट /test_64k.bin 08:55:35.51 -> उपयोग की गई फ़ाइल लिखें: 2915 ms, 1438.869263 KB/s 08:55:35.584 -> टेस्ट रीड /test_1k.bin 08:55:40.745 -> उपयोग की गई फ़ाइल पढ़ें: 5183 ms, 809.242554 KB/s 08:55:40.745 -> टेस्ट रीड /test_2k.bin 08: 55:45.916 -> उपयोग की गई फ़ाइल पढ़ें: 5182 एमएस, 809.398682 केबी/एस 08:55:45.949 -> टेस्ट रीड /test_4k.bin 08:55:51.091 -> उपयोग की गई फ़ाइल पढ़ें: 5162 एमएस, 812.534668 केबी/एस 08:55:51.091 -> टेस्ट रीड /test_8k.bin 08:55:56.257 -> पढ़ें उपयोग की गई फ़ाइल: 5177 एमएस, 810.180420 केबी/एस 08:55:56.293 -> टेस्ट रीड /test_16k.bin 08:56:01.244 -> उपयोग की गई फ़ाइल पढ़ें: 4956 एमएस, 846.308289 केबी/एस 08:56:01.244 -> टेस्ट रीड /test_32k.bin 08:56:06.006 -> उपयोग की गई फ़ाइल पढ़ें: 4764 ms, 880.416443 KB/s 08:56:06.006 -> टेस्ट रीड /test_64k.bin 08:56:10.716 -> उपयोग की गई फ़ाइल पढ़ें: 4728 ms, 887.120117 केबी/एस

पुराना 128 एमबी माइक्रोएसडी

०८:५१:०१.९३९ -> टेस्ट राइट /test_1k.bin

08:51:18.358 -> उपयोग की गई फ़ाइल लिखें: 16422 एमएस, 255.407623 केबी/एस 08:51:18.358 -> टेस्ट राइट /test_2k.bin 08:51:34.529 -> उपयोग की गई फ़ाइल लिखें: 16173 एमएस, 259.339874 केबी/एस 08:51:34.529 -> टेस्ट राइट /test_4k.bin 08:51:50.911 -> इस्तेमाल की गई फाइल लिखें: 16372 ms, 256.187653 KB/s 08:51:50.911 -> टेस्ट राइट /test_8k.bin 08:52:07.056 -> उपयोग की गई फ़ाइल लिखें: 16137 एमएस, 259.918457 केबी/एस 08:52:07.056 -> परीक्षण लिखें /test_16k.bin 08:52:23.383 -> उपयोग की गई फ़ाइल लिखें: 16351 एमएस, 256.516663 केबी/एस 08:52:23.383 -> परीक्षण लिखें /test_32k.bin 08:52:39.533 -> उपयोग की गई फ़ाइल लिखें: 16128 ms, 260.063507 KB/s 08:52:39.533 -> परीक्षण लिखें /test_64k.bin 08:52:55.764 -> उपयोग की गई फ़ाइल लिखें: 16250 ms, 258.111023 KB/s 08:52:55.764 -> टेस्ट रीड /test_1k.bin 08:53:00.645 -> उपयोग की गई फ़ाइल पढ़ें: 4855 ms, 863.914307 KB/s 08:53:00.645 -> टेस्ट रीड /test_2k.bin 08: 53:05.459 -> उपयोग की गई फ़ाइल पढ़ें: 4839 एमएस, 866.770813 केबी/एस 08:53:05.459 -> टेस्ट रीड /test_4k.bin 08:53:10.306 -> उपयोग की गई फ़ाइल पढ़ें: 4833 एमएस, 867.846863 केबी/एस 08:53:10.306 -> टेस्ट रीड /test_8k.bin 08:53:15.127 -> R उपयोग की गई ead फ़ाइल: 4827 ms, 868.925598 KB/s 08:53:15.127 -> टेस्ट रीड /test_16k.bin 08:53:19.963 -> उपयोग की गई फ़ाइल पढ़ें: 4826 ms, 869.105652 KB/s 08:53:19.963 -> टेस्ट पढ़ें /test_32k.bin 08:53:24.758 -> उपयोग की गई फ़ाइल पढ़ें: 4824 ms, 869.466003 KB/s 08:53:24.792 -> टेस्ट रीड /test_64k.bin 08:53:29.592 -> उपयोग की गई फ़ाइल पढ़ें: 4824 ms, 869.466003 KB/s

चरण 12: राउंड अप

4-बिट एसडी बस मोड में सबसे अच्छा प्रदर्शन है, 1-बिट एसडी बस मोड लगभग 20% धीमा है और एसपीआई मोड लगभग 50% धीमा है। मुख्य कारणों में से एक है SD_MMC प्रोटोकॉल परत किसी भी प्रकार के लॉकिंग को लागू नहीं करता है लेकिन SPI करता है। और 4-बिट एसडी बस मोड में डबल डेटा लाइनें हैं इसलिए सैद्धांतिक रूप से गति दोगुनी है। लेकिन मेरा पुराना माइक्रोएसडी 4-बिट एसडी बस मोड का समर्थन नहीं कर सकता।

मैं ज्यादातर मामलों में 1-बिट एसडी बस मोड की सिफारिश करूंगा, क्योंकि:

  • अच्छा प्रदर्शन
  • बेहतर एसडी कार्ड संगतता
  • शिथिल एसडी पुल-अप आवश्यकताएं
  • केवल 3 GPIO पिन की आवश्यकता है
  • कम कोड विन्यास
  • कई देव किट, देव बोर्ड और ब्रेकआउट बोर्ड इस मोड का उपयोग कर सकते हैं

सिफारिश की: