Სარჩევი:
- ნაბიჯი 1: SD ინტერფეისი
- ნაბიჯი 2: ESP32 GPIO ქინძისთავების რუქა
- ნაბიჯი 3: SD გაყვანის მოთხოვნები
- ნაბიჯი 4: სხვადასხვა აპარატურა
- ნაბიჯი 5: SD Card Slot Breakout Board
- ნაბიჯი 6: გათიშეთ GPIO 2 პროგრამის მიუხედავად
- ნაბიჯი 7: ნიშნული
- ნაბიჯი 8: SD_MMC 4 ბიტიანი რეჟიმის ნიშნული
- ნაბიჯი 9: SD_MMC 1 ბიტიანი რეჟიმის ნიშნული
- ნაბიჯი 10: SD SPI რეჟიმი HSPI ავტობუსის ნიშნულთან
- ნაბიჯი 11: SD SPI რეჟიმი VSPI ავტობუსის ნიშნულთან
- ნაბიჯი 12: დამრგვალება
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ეს ინსტრუქციები აჩვენებს რაღაცას თქვენი ESP32 პროექტისთვის SD ინტერფეისის არჩევის შესახებ.
ნაბიჯი 1: SD ინტერფეისი
ორიგინალური Arduino SD ბიბლიოთეკაში, SD ინტერფეისი იყენებს SD SPI ავტობუსის გადაცემის რეჟიმს.
SD– ს აქვს უფრო მეტი გადაცემის რეჟიმი:
- SPI ავტობუსის რეჟიმი: ESP32– ს აქვს 1 – ზე მეტი SPI ავტობუსი, მას შეუძლია მორგება ინიციალიზაციისას
- 1-ბიტიანი / 4-ბიტიანი SD ავტობუსის რეჟიმი: ESP32 გამოყოფს სხვა ბიბლიოთეკას სახელწოდებით SD_MMC SD ავტობუსის რეჟიმის API განსახორციელებლად
- SD UHS-II რეჟიმი: ESP32 არ არის მხარდაჭერილი
მითითება.:
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 ქინძისთავების რუქა:
SD ბარათის პინი | MicroSD პინი | სახელი | 4-ბიტიანი SD ავტობუსი | 1-ბიტიანი SD ავტობუსი | SPI ავტობუსი (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 | - | - |
1 ბიტიანი / 4 ბიტიანი SD ავტობუსის GPIO ქინძისთავების რუქის შეცვლა შეუძლებელია.
მარტივი ზარი SD_MMC იწყება () საწყის 4 ბიტიან SD ავტობუსის რეჟიმში:
SD_MMC. დასაწყისი ();
1-ბიტიანი SD ავტობუსის რეჟიმი შეიძლება შეირჩეს SD_MMC start () მეთოდით, მაგ.
SD_MMC.begin ("/cdcard", true);
SPI ავტობუსი (HSPI ან VSPI) შეიძლება შეირჩეს SPIClass ინსტანციის შექმნისას, მაგ.
SPIClass spi = SPIClass (HSPI);
როგორც ხედავთ, 1-ბიტიანი / 4-ბიტიანი SD ავტობუსის პინის ქინძისთავები იზიარებენ HSPI– ს, მაგრამ SD ბარათის ქინძისთავების რუქა არ არის იგივე. ასე რომ, თუ ტექნიკა დაკავშირებულია SD ავტობუსის pin რუქის მიხედვით, მას არ შეუძლია პირდაპირ გამოიყენოს HSPI მშობლიური ქინძისთავები. GPIO ქინძისთავების გადაფარვა შესაძლებელია SPIClass begin () მეთოდით, მაგ.
SPIClass spi = SPIClass (HSPI);
spi.begin (14 / * SCK * /, 2 / * MISO * /, 15 / * MOSI * /, 13 / * SS * /);
ასევე SD ბიბლიოთეკას შეუძლია შეცვალოს SS pin, SPI ავტობუსი და ავტობუსის სიხშირე SD start () მეთოდით, მაგ.
SD. დასაწყისი (13 / * SS * /, spi, 80000000);
ნაბიჯი 3: SD გაყვანის მოთხოვნები
თუ გსურთ გამოიყენოთ 4-ბიტიანი SD ავტობუსის რეჟიმი, გთხოვთ მიჰყევით ESP32 SD გაყვანის მოთხოვნებს, განსაკუთრებით:
- დაძაბული კონფლიქტები GPIO13– ზე
- კონფლიქტები Bootstrap– სა და SDIO– ს შორის DAT2– ზე
მითითება.:
docs.espressif.com/projects/esp-idf/en/lat…
ნაბიჯი 4: სხვადასხვა აპარატურა
ESP32– ს აქვს უამრავი dev ნაკრები და dev board, ზოგიერთ მათგანს აქვს ჩამონტაჟებული MicroSD ბარათის სლოტი.
აქ არის რამდენიმე მაგალითი ჩემს ხელში:
- TTGO T-Watch, იგი დაკავშირებულია GPIO ქინძისთავებთან 2, 13, 14 და 15 1-ბიტიანი SD ავტობუსის რეჟიმის შესაბამისად, ასე რომ მას შეუძლია გამოიყენოს 1-ბიტიანი SD ავტობუსის რეჟიმი და SPI ავტობუსის რეჟიმი
- M5Stack Series, იგი დაკავშირებულია GPIO ქინძისთავებთან 4, 18, 19 და 23 VSPI მშობლიური ქინძისთავების შესაბამისად, ასე რომ მას შეუძლია გამოიყენოს ნაგულისხმევი SD ბიბლიოთეკის პარამეტრები [SD. დასაწყისი (4)]
- ODROID-GO, იგი დაკავშირებულია GPIO ქინძისთავებთან 18, 19, 22 და 23 VSPI მშობლიური ქინძისთავების შესაბამისად, ასე რომ მას შეუძლია გამოიყენოს ნაგულისხმევი SD ბიბლიოთეკის პარამეტრები [SD.begin (22)]
- ESP32-CAM, იგი დაკავშირებულია GPIO ქინძისთავებთან 2, 4, 12, 13, 14 და 15 4 ბიტიანი SD ავტობუსის რეჟიმის შესაბამისად, ასე რომ მას შეუძლია გამოიყენოს ყველა 4 ბიტიანი / 1 ბიტიანი SD ავტობუსის რეჟიმი და SPI ავტობუსის რეჟიმი
- TTGO T8 dev board, იგი დაკავშირებულია GPIO ქინძისთავებთან 2, 13, 14 და 15 1 ბიტიანი SD ავტობუსის რეჟიმის შესაბამისად, ასე რომ მას შეუძლია გამოიყენოს 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: SD Card Slot Breakout Board
Dev დაფა ჩამონტაჟებული MicroSD ბარათის სლოტით შეიძლება არ იყოს დაკავშირებული ყველა ქინძისთავთან და უმეტესობას არ შეუძლია გამოიყენოს 4 ბიტიანი SD ავტობუსის რეჟიმი. ინდივიდუალური SD ბარათის სლოტის გარღვევის დაფა უზრუნველყოფს უკეთეს მოქნილობას.
ამავდროულად, ბევრი LCD ბრეაკოუტ დაფა ასევე გარღვევს სრული ზომის SD ბარათის სლოტს. თუმცა, მათი უმეტესობა მხოლოდ არღვევს SPI რეჟიმს. საკმარისი არ არის გამოიყენოთ 4-ბიტიანი SD ავტობუსის რეჟიმი, მაგრამ მაინც შეგიძლიათ გამოიყენოთ როგორც 1-ბიტიანი SD ავტობუსის რეჟიმი ამ კავშირის რუქით:
LCD -> ESP32
SD_CS -> ნულოვანი SD_MOSI -> 15 SD_MISO -> 2 SD_SCK -> 14
ნაბიჯი 6: გათიშეთ GPIO 2 პროგრამის მიუხედავად
4-ბიტიანი SD ავტობუსის რეჟიმის კავშირი ESP32 ვერ შედიოდა პროგრამის რეჟიმში. გთხოვთ დაიმახსოვროთ GPIO 2 SD ბარათის სლოტის გარღვევის დაფისგან DAT0 ახალი პროგრამის ატვირთვამდე.
ნაბიჯი 7: ნიშნული
მე დავწერე მარტივი Arduino პროგრამა საორიენტაციოდ:
github.com/moononournation/ESP32_SD_Benchm…
აქ არის აპარატურა საორიენტაციო ნიშნისთვის:
ESP32
NodeMCU ESP32-32S V1.1 (WROOM-32)
SD ბარათის სლოტი
MicroSD ბარათის სლოტის გარღვევის დაფა
SD ბარათი
მე მაქვს SanDisk 8 GB MicroSD და ძველი 128 MB MicroSD ხელში.
ნაბიჯი 8: SD_MMC 4 ბიტიანი რეჟიმის ნიშნული
SanDisk 8 GB MicroSD
20: 27: 46.000 -> ტესტი ჩაწერა /test_1k.bin
20: 27: 59.399 -> გამოყენებული ფაილის ჩაწერა: 13404 ms, 312.914368 KB/s 20: 27: 59.399 -> ტესტი ჩაწერა/test_2k.bin 20: 28: 17.248 -> გამოყენებული ფაილის ჩაწერა: 17834 ms, 235.185822 KB/s 20: 28: 17.248 -> ტესტი ჩაწერა /საცდელი_4k.bin 20: 28: 21.122 -> გამოყენებული ფაილის ჩაწერა: 3873 ms, 1082.959961 KB /s 20: 28: 21.122 -> ტესტი ჩაწერა /test_8k.bin 20: 28: 23.147 -> გამოყენებული ფაილის ჩაწერა: 2024 ms, 2072.284668 KB/s 20: 28: 23.147 -> ტესტი ჩაწერა/test_16k.bin 20: 28: 27.237 -> გამოყენებული ფაილის ჩაწერა: 4097 ms, 1023.750061 KB/s 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 კბ /წ 20: 28: 31.882 -> ტესტი წაკითხული /ტესტი_1 კ.ბინი 20: 28: 35.422 -> გამოყენებული ფაილი წაკითხული: 3520 ms, 1191.563599 კბ /წ 20: 28: 35.422 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 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 ms, 1202.840210 KB/s 20: 28: 45.752 -> ტესტი წაკითხული/test_16k.bin 20: 28: 48.988 -> გამოყენებული ფაილის წაკითხვა: 3213 ms, 1305.416748 KB/s 20: 28: 48.988 -> ტესტი წაკითხვის /test_32k.bin 20: 28: 52.077 -> წაკითხული ფაილის გამოყენება: 3093 ms, 1356.063354 KB /s 20: 28: 52.077 -> ტესტი წაკითხვის /test_64k.bin 20: 28: 55.141 -> გამოყენებული ფაილის წაკითხვა: 3080 ms, 1361.786987 კბ/წმ
ძველი 128 MB MicroSD
20: 30: 43.309 -> E (274) sdmmc_sd: sdmmc_check_scr: send_scr დაბრუნდა 0x109
20: 30: 43.309 -> ბარათის მთა ვერ მოხერხდა
ნაბიჯი 9: SD_MMC 1 ბიტიანი რეჟიმის ნიშნული
SanDisk 8 GB MicroSD
20: 31: 45.194 -> ტესტი ჩაწერე /test_1k.bin
20: 31: 59.506 -> გამოყენებული ფაილის ჩაწერა: 14325 ms, 292.796082 KB/s 20: 31: 59.506 -> ტესტი ჩაწერა/test_2k.bin 20: 32: 17.686 -> გამოყენებული ფაილის ჩაწერა: 18163 ms, 230.925735 KB/s 20: 32: 17.686 -> ტესტი ჩაწერა /ტესტი_4k.bin 20: 32: 21.291 -> გამოყენებული ფაილის ჩაწერა: 3611 ms, 1161.535278 KB /s 20: 32: 21.291 -> ტესტი ჩაწერა /test_8k.bin 20: 32: 23.939 -> გამოყენებული ფაილის ჩაწერა: 2652 ms, 1581.562622 KB/s 20: 32: 23.939 -> ტესტი ჩაწერა/test_16k.bin 20: 32: 28.397 -> გამოყენებული ფაილის ჩაწერა: 4448 ms, 942.964050 KB/s 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 კბ /წ 20: 32: 33.882 -> ტესტი წაკითხული /ტესტი_1 კ.ბინი 20: 32: 38.031 -> გამოყენებული ფაილის წაკითხვა: 4146 ms, 1011.650757 კბ /წ 20: 32: 38.031 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 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, 1130.235474 კბ/წმ
ძველი 128 MB MicroSD
20: 33: 27.366 -> ტესტი ჩაწერა /test_1k.bin
20: 33: 42.386 -> გამოყენებული ფაილის ჩაწერა: 15020 ms, 279.247925 KB/s 20: 33: 42.386 -> ტესტი ჩაწერა/test_2k.bin 20: 33: 57.927 -> ფაილის ჩაწერა გამოიყენება: 15515 ms, 270.338654 KB/s 20: 33: 57.927 -> ტესტი ჩაწერა /ტესტი_4 კ.ბინი 20: 34: 13.108 -> გამოყენებული ფაილის ჩაწერა: 15195 ms, 276.031860 კბ /წ 20: 34: 13.108 -> ტესტი ჩაწერა /ტესტი_8 კ. ბინი 20: 34: 28.162 -> გამოყენებული ფაილის ჩაწერა: 15048 ms, 278.728333 KB/s 20: 34: 28.162 -> ტესტი ჩაწერა/test_16k.bin 20: 34: 43.287 -> გამოყენებული ფაილის ჩაწერა: 15142 ms, 276.998016 KB/s 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 -> ტესტი წაკითხვა /ტესტი_1 კ.ბინი 20: 35: 17.563 -> გამოყენებული ფაილის წაკითხვა: 4197 ms, 999.357666 კბ /წ 20: 35: 17.563 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 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 კბ/წმ
ნაბიჯი 10: SD SPI რეჟიმი HSPI ავტობუსის ნიშნულთან
SanDisk 8 GB MicroSD
08: 41: 19.703 -> ტესტი ჩაწერა /test_1k.bin
08: 41: 53.458 -> გამოყენებული ფაილის ჩაწერა: 33743 ms, 124.301453 KB/s 08: 41: 53.458 -> ტესტი ჩაწერა/ტესტი_2k.bin 08: 42: 10.000 -> გამოყენებული ფაილის ჩაწერა: 16540 ms, 253.585495 KB/s 08: 42: 10.000 -> სატესტო ჩაწერა /გამოცდა_4 კ.ბინი 08: 42: 17.269 -> გამოყენებული ფაილის ჩაწერა: 7298 ms, 574.719666 კბ /წ 08: 42: 17.308 -> საცდელი ჩაწერა /გამოცდა_8 კბ. 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 კბ /წ 08: 42: 39.594 -> ტესტი წაკითხვა /ტესტი_1 კ.ბინი 08: 42: 44.774 -> გამოყენებული ფაილის წაკითხვა: 5192 ms, 807.839783 კბ /წ 08: 42: 44.774 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 08: 42: 49.969 -> წაკითხული ფაილი გამოიყენება: 5189 ms, 808.306824 KB/s 08: 42: 49.969 -> ტესტი წაკითხული/test_4k.bin 08: 42: 55.123 -> გამოყენებული ფაილის წაკითხვა: 5161 ms, 812.692139 KB/s 08:42: 55.158 -> ტესტი წაკითხვა /test_8k.bin 08: 43: 00.300 -> წაკითხვა გამოყენებული ფაილი: 5176 ms, 810.336914 KB/s 08: 43: 00.334 -> ტესტი წაკითხული/test_16k.bin 08: 43: 05.277 -> გამოყენებული ფაილის წაკითხვა: 4948 ms, 847.676636 KB/s 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 MB MicroSD
08: 43: 47.777 -> ტესტი ჩაწერა /test_1k.bin
08: 44: 04.148 -> გამოყენებული ფაილის ჩაწერა: 16390 ms, 255.906281 KB/s 08: 44: 04.183 -> ტესტი ჩაწერა/ტესტი_2 კ.ბინი 08: 44: 20.648 -> გამოყენებული ფაილის ჩაწერა: 16494 ms, 254.292709 KB/s 08: 44: 20.648 -> ტესტი ჩაწერა /სატესტო_4 კ.ბინი 08: 44: 36.674 -> გამოყენებული ფაილის ჩაწერა: 16001 ms, 262.127625 კბ /წ 08: 44: 36.674 -> საცდელი ჩაწერა /ტესტი_8 კ. ბინი 08: 44: 52.849 -> გამოყენებული ფაილის ჩაწერა: 16175 ms, 259.307831 KB/s 08: 44: 52.849 -> ტესტი ჩაწერა/test_16k.bin 08: 45: 09.225 -> გამოყენებული ფაილის ჩაწერა: 16397 ms, 255.797043 KB/s 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 კბ /წ 08: 45: 41.632 -> ტესტი წაკითხვა /ტესტი_1 კ.ბინი 08: 45: 46.488 -> გამოყენებული ფაილის წაკითხვა: 4856 ms, 863.736389 კბ /წ 08: 45: 46.488 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 08: 45: 51.332 -> გამოყენებული ფაილის წაკითხვა: 4840 ms, 866.591736 KB/s 08: 45: 51.332 -> ტესტი წაკითხვის/test_4k.bin 08: 45: 56.163 -> გამოყენებული ფაილის წაკითხვა: 4834 ms, 867.667358 KB/s 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 კბ/წმ
ნაბიჯი 11: SD SPI რეჟიმი VSPI ავტობუსის ნიშნულთან
SanDisk 8 GB MicroSD
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 -> ტესტი ჩაწერა /სატესტო_4 კ.ბინი 08: 55: 13.357 -> გამოყენებული ფაილის ჩაწერა: 7274 ms, 576.615906 კბ /წ 08: 55: 13.357 -> საცდელი ჩაწერა /ტესტი_8 კ. ბინი 08: 55: 18.691 -> გამოყენებული ფაილის ჩაწერა: 5323 ms, 787.958679 KB/s 08: 55: 18.691 -> ტესტი ჩაწერა/test_16k.bin 08: 55: 28.336 -> გამოყენებული ფაილის ჩაწერა: 9669 ms, 433.788818 KB/s 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.551 -> ფაილის ჩაწერა გამოიყენება: 2915 ms, 1438.869263 კბ /წ 08: 55: 35.584 -> ტესტი წაკითხვა /ტესტი_1 კ.ბინი 08: 55: 40.745 -> გამოყენებული ფაილის წაკითხვა: 5183 ms, 809.242554 კბ /წ 08: 55: 40.745 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 08: 55: 45.916 -> წაკითხული ფაილი გამოიყენება: 5182 ms, 809.398682 KB/s 08: 55: 45.949 -> ტესტი წაკითხული/test_4k.bin 08: 55: 51.091 -> გამოყენებული ფაილის წაკითხვა: 5162 ms, 812.534668 KB/s 08:55: 51.091 -> ტესტი წაკითხული /test_8k.bin 08: 55: 56.257 -> წაკითხვა გამოყენებული ფაილი: 5177 ms, 810.180420 KB/s 08: 55: 56.293 -> ტესტი წაკითხული/test_16k.bin 08: 56: 01.244 -> გამოყენებული ფაილის წაკითხვა: 4956 ms, 846.308289 KB/s 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 MB MicroSD
08: 51: 01.939 -> ტესტი ჩაწერა /test_1k.bin
08: 51: 18.358 -> გამოყენებული ფაილის ჩაწერა: 16422 ms, 255.407623 KB/s 08: 51: 18.358 -> ტესტი ჩაწერა/test_2k.bin 08: 51: 34.529 -> გამოყენებული ფაილის ჩაწერა: 16173 ms, 259.339874 KB/s 08: 51: 34.529 -> ტესტი ჩაწერა /სატესტო_4 კ.ბინი 08: 51: 50.911 -> გამოყენებული ფაილის ჩაწერა: 16372 ms, 256.187653 კბ /წ 08: 51: 50.911 -> ტესტი ჩაწერა /ტესტი_8 კ. ბინი 08: 52: 07.056 -> გამოყენებული ფაილის ჩაწერა: 16137 ms, 259.918457 KB/s 08: 52: 07.056 -> ტესტი ჩაწერა/test_16k.bin 08: 52: 23.383 -> გამოყენებული ფაილის ჩაწერა: 16351 ms, 256.516663 KB/s 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 კბ /წ 08: 52: 55.764 -> ტესტის წაკითხვა /ტესტი_1 კ.ბინი 08: 53: 00.645 -> გამოყენებული ფაილის წაკითხვა: 4855 ms, 863.914307 კბ /წ 08: 53: 00.645 -> ტესტი წაკითხვის /ტესტი_2 კ.ბინი 08: 53: 05.459 -> გამოყენებული ფაილის წაკითხვა: 4839 ms, 866.770813 KB/s 08: 53: 05.459 -> ტესტი წაკითხვის/test_4k.bin 08: 53: 10.306 -> გამოყენებული ფაილის წაკითხვისას: 4833 ms, 867.846863 KB/s 08:53: 10.306 -> ტესტი წაკითხული /test_8k.bin 08: 53: 15.127 -> რ 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 კბ/წმ
ნაბიჯი 12: დამრგვალება
4-ბიტიანი SD ავტობუსის რეჟიმი აქვს საუკეთესო შესრულებას, 1-ბიტიანი SD ავტობუსის რეჟიმი დაახლოებით 20% -ით ნელია და SPI რეჟიმი დაახლოებით 50% -ით ნელია. ერთ -ერთი მთავარი მიზეზი არის SD_MMC პროტოკოლის ფენა არ ახორციელებს რაიმე სახის ჩაკეტვას, მაგრამ SPI აკეთებს. ასევე 4-ბიტიანი SD ავტობუსის რეჟიმს აქვს ორმაგი მონაცემთა ხაზი, ასე რომ თეორიულად ორმაგი სიჩქარე. მაგრამ ჩემს ძველ MicroSD– ს არ შეუძლია 4-ბიტიანი SD ავტობუსის რეჟიმის მხარდაჭერა.
უმეტეს შემთხვევაში გირჩევთ 1-ბიტიანი SD ავტობუსის რეჟიმს, რადგან:
- კარგი შესრულება
- უკეთესი SD ბარათის თავსებადობა
- looser SD Pull-up მოთხოვნები
- საჭიროა მხოლოდ 3 GPIO პინი
- ნაკლები კოდის კონფიგურაცია
- ბევრ dev kit, dev board და breakout board- ს შეუძლიათ გამოიყენონ ეს რეჟიმი
გირჩევთ:
ინტერფეისი HMC5883L კომპასის სენსორი Arduino– სთან ერთად: 10 ნაბიჯი (სურათებით)
ინტერფეისი HMC5883L კომპასის სენსორი Arduino– სთან ერთად: აღწერა HMC5883L არის 3 ღერძიანი ციფრული კომპასი, რომელიც გამოიყენება ორი ზოგადი მიზნისთვის: ფერომაგნიტის მსგავსად მაგნიტური მასალის მაგნეტიზაციის გასაზომად, ან სიძლიერის და, ზოგიერთ შემთხვევაში, მიმართულების გასაზომად. მაგნიტური ველი ერთ წერტილში
ინტერფეისი MicroPython– ისთვის: 9 ნაბიჯი
UI MicroPython– ისთვის: ცოტა ხნის წინ, მე მივიღე esp8266 დაფა და დავაინსტალირე მასზე MicroPython. მისი კონტროლი შესაძლებელია ბრძანების აკრეფით ან მასში პითონის კოდის ატვირთვით. MicroPython- ის დაყენების მიზნით esp8266, გთხოვთ შეამოწმოთ https://MicroPython.org/download/#esp8266 ან https: // Mic
MIDI ნაბიჯი ინტერფეისი: 12 ნაბიჯი (სურათებით)
MIDI ნაბიჯი ინტერფეისი: ესპანური ვერსია აქ. ამ სასწავლო ჩვენ გაჩვენებთ თუ როგორ უნდა გააკეთოთ მსუბუქი და ხმოვანი ინტერფეისი, რომლის გამოყენებაც შესაძლებელია " სიმონ ამბობს " და როგორც MIDI ინტერფეისი. ორივე რეჟიმი ითამაშებს თქვენს ფეხებს. ფონზე პროექტი დაიბადა, რადგან
უფასო ვიდეოები ITunes– ისთვის (და თქვენი IPod– ისთვის): 5 ნაბიჯი
უფასო ვიდეოები ITunes– ისთვის (და თქვენი IPod): მარტივი გზა მიიღოთ უფასო ვიდეოები და დაამატოთ ისინი iTines ბიბლიოთეკაში. ამის შემდეგ, თქვენ შეგიძლიათ დაამატოთ ისინი თქვენს iPod– ში (თუ ის მხარს უჭერს ვიდეოს) *ჩემი პირველი ინსტრუქცია
მარტივი პარალელური/სერია აირჩიეთ გადამრთველი: 3 ნაბიჯი
მარტივი პარალელური/სერიის არჩევის გადამრთველი: ამ ინსტრუქციაში მე განვმარტავ, თუ როგორ გამოვიყენოთ მარტივი ორმაგი ბოძზე, ორმაგი გადაყრის (DPDT) გადამრთველი სერიის ან პარალელური გაყვანილობის შერჩევისთვის ერთ ენერგიაზე. სერიული ორი დატვირთვის გაყვანილობა უზრუნველყოფს მთელ დენს, რომელიც ხელმისაწვდომია ორივე ლომისათვის