Jak mogę podłączyć ten czytnik kart SD do RaspberryPi?

11

Muszę dodać drugi czytnik kart SD do mojego Raspberry Pi do projektu www.samplerbox.org (RPI zostanie osadzony w pudełku, więc muszę obsługi czytnika kart -SD).

Oto, co chciałbym użyć:

wprowadź opis zdjęcia tutaj

Jak podłączyć to do RaspberryPi? Przez GPIO? (jeśli tak, to w jaki sposób?) Przez port USB? (jeśli tak, to jak podłączyć te piny do standardowej wtyczki USB?)

AKTUALIZACJA : Oto 2 * 8 pinów GND, 3V3, 5V, CS, MOSI, SCK, MISO, GND:

wprowadź opis zdjęcia tutaj

Basj
źródło
Czy planujesz uruchomić komputer z zewnętrznej karty SD? Lub jest Pi do rozruchu z wewnętrznej karty SD. Do czego będzie używana zewnętrzna karta SD?
joan
@joan Nie Nie planuję go uruchamiać, zewnętrzna karta SD będzie tam, aby umożliwić użytkownikowi załadowanie / zapisanie niektórych danych. Użytkownik nie będzie miał dostępu do wewnętrznej karty SD (RPi osadzonej w pudełku). Łatwiej to zrozumieć za pomocą zdjęcia: www.samplerbox.org
Basj
1
Możesz zaoszczędzić sobie wiele kłopotów, jeśli po prostu podasz użytkownikowi pamięć USB do przesyłania danych. Wdrożenie drugiego interfejsu karty SD będzie bardzo trudne. Po prostu wyjmij port USB na zewnątrz pudełka.
joan
1
Możesz także użyć adaptera SDCard na USB, co stanowi kompromis między nimi. Po prostu google SDCard USB adapter.
user236012,
4
Chociaż zgadzam się, że używanie pamięci USB może być łatwiejsze, interfejs karty SD nie powinien być trudny. Wszystkie karty SD obsługują napięcie SPI3,3 V (wiele z tych płyt ma konwertery poziomów do interfejsu do 5 V). Użyłem podobnego adaptera na Arduino i zamierzam wypróbować Pi. Istnieje oprogramowanie FAT dla Arduino. (UWAGA: Nie oczekuję dostępu do niego za pośrednictwem standardowych sterowników jądra.)
Milliways,

Odpowiedzi:

6

Wygląda na to, że jest to urządzenie SPI. Najpierw powinieneś włączyć SPI przy użyciu raspi-config. Następnie musisz połączyć:

(Reader) GND  --  GND       (GPIO-Raspberry Pi2) 
         3V3  --  3.3 V (Pin 1)
         5V   --  NC
         CS   --  GPIO8 (Pin24)
         MOSI --  GPIO10 (Pin 19)
         SCK  --  GPIO11 (Pin 23)
         MISO --  GPIO9 (Pin 21)
         GND  -- NC
KeremE
źródło
2
Czy masz pomysł na lepszą prędkość transferu niż 1 megabajt / s za pomocą takiej techniki? Czy istnieje inny sposób niż czytnik USB SD, który może pozwolić na 10 MB / s?
Basj
wysokie prędkości to więcej niż jedna linia dla danych karty SD, wygląda na to, że ich tu nie ma, i nie jest to prosta konfiguracja okablowania przez interfejs SPI
Alexey Vesnin
6

Raspberry pi pinout

Powinieneś podłączyć GND, 5V i 3V3 do odpowiednich styków na pi. Następnie MOSI i MISO są również zaznaczone na zdjęciu, SCK powinien połączyć się z SCLK (jest to zegar 10 MHz, który powinien być sterowany przez pi) i na końcu podłączyć pin CS do CS0 (Chip-Select, aby można było podłączyć 2 SD lub inne urządzenia zgodne z SPI).

Zgodnie z pierwszą odpowiedzią na ten wątek , jeśli używasz jądra w wersji wyższej niż 3.2.20, powinien on obsługiwać sprzęt SPI na płycie i powinien zapewniać przepustowość 1 MB / s przy niewielkim obciążeniu procesora, co jest imponujące.

Jeśli twoje jądro jest w wyższej wersji, ale jest skompilowane bez obsługi urządzeń SPI, powinieneś ponownie skompilować je z odpowiednią konfiguracją (zobacz ponownie wspomniany wątek).

Yigal
źródło
2
Dzięki za tę odpowiedź! Ale 1 MB / s jest zdecydowanie za niski (w porównaniu z czytnikiem USB), a dla mojego projektu muszę załadować 100 MB w bardzo krótkim czasie (jest to możliwe z czytnika RPi microSD, możliwe z czytnika kart USB SD, więc Potrzebuję tego samego z tego czytnika PCB SD)
Basj
Dzięki temu czytnikowi SD i kombinacji pi nie zobaczysz szybszego tempa. 1 MB / s jest osiągany przy użyciu specjalistycznego sprzętu interfejsu SPI na pi. Jeśli użyjesz dowolnego innego złącza GPIO, będziesz musiał zaimplementować go z procesorem, uzyskując znacznie niższe prędkości, około 180 KB / s. Jeśli potrzebujesz szybszych prędkości, użyj czytnika USB, jak sugerowali inni, co, jak pamiętam, zapewniło mi około 4 MB / s, ale może inni mogą podać dokładniejsze liczby.
Yigal
1
Arghh ... Tak smutne, że nie możemy uzyskać więcej niż 1 MB / s za pomocą tego czytnika. Czy można zamienić ten czytnik w czytnik USB SD (z dodatkowymi komponentami?)
Basj 30.03.2015
1
Możesz dostać moduł obsługujący SPI (i inne protokoły) na USB taki jak ten za około 20 USD: digikey.co.il/product-search/en?v=768&mpart=VA800A-SPI Ale nie poszedłbym tą drogą. Nie przeczytałem specyfikacji, więc nie wiem, czy moduł identyfikuje się jako klasa pamięci masowej, czy jakaś inna bardziej ogólna klasa USB, w którym to przypadku należy ją owinąć własnym sterownikiem. O wiele łatwiej będzie uzyskać prosty czytnik kart USB SD.
Yigal
1
Jasne, ale potrzebuję czytnika kart USB SD, który można zamontować na płytce drukowanej (nie tylko dla mnie, ale mój projekt samplerbox.org będzie open source, więc chcę, aby każdy mógł łatwo uzyskać dostęp do komponentów)
Basj
1

Nie wiedząc wiele o samym czytniku kart, dam najlepszą odpowiedź, jaką mogę.

Czytnik wydaje się mieć na nim oznaczenia obok styków GPIO. Podłącz je do odpowiednich styków w RPI za pomocą niektórych kabli połączeniowych typu żeńsko-żeńskiego (lub bardziej trwałej metody dla twojej aplikacji). Jeśli nie mają odpowiedniego styku, podłącz je do wolnego styku na pi i zanotuj to.

Interfejs API czytnika może wymagać dodatkowej konfiguracji, aby umożliwić transfer plików przez inne piny, ale nie mogę ci pomóc w tej części.

Mam nadzieję, że to powinno zadziałać!

angussidney
źródło
W pytaniu dodałem etykiety szpilek i zdjęcie. Czy można przejść z tych pinów na GPIO lub USB?
Basj
1

Opierając się na opisie twojej potrzeby i odwiedzeniu strony projektu, alternatywą może być uruchomienie RPi z pamięci USB i użycie wewnętrznego czytnika kart do akceptowania kart od użytkownika.

Bruno Bronosky
źródło
Dziękuję za Twoją odpowiedź. To może być pomysł, musimy o tym pomyśleć. Wkładanie / wyjmowanie karty microSD może być zbyt małe / trudne do codziennego użytku. W moim projekcie muszę być tak przydatny, jak wkładanie / wyjmowanie karty SD z aparatu cyfrowego. Zastanowię się nad tym… PS: czy w swojej odpowiedzi mógłbyś dodać link „jak uruchomić pamięć USB” na RPi?
Basj