Bu SD kart okuyucuyu RaspberryPi'ye nasıl bağlayabilirim?


11

Www.samplerbox.org projesi için Raspberry Pi'ye ikinci bir SD kart okuyucu eklemem gerekiyor (RPi bir kutuya gömülecek, bu yüzden bir kullanıcı -SD kart okuyucuya ihtiyacım var).

İşte ne kullanmak istiyorum:

resim açıklamasını buraya girin

Bunu RaspberryPi'ye nasıl bağlayabilirim? GPIO ile mi? (öyleyse, nasıl?) USB bağlantı noktası üzerinden? (öyleyse, bu pimleri standart bir USB fişine nasıl bağlarsınız?)

GÜNCELLEME : İşte 2 * 8 pim GND, 3V3, 5V, CS, MOSI, SCK, MISO, GND:

resim açıklamasını buraya girin


Harici SD karttan önyükleme yapmayı planlıyor musunuz? Veya Pi, dahili SD karttan önyükleme yapacak. Harici SD kart ne için kullanılacak?
joan

@joan Hayır Önyüklemeyi planlamıyorum, harici SD kart kullanıcının bazı verileri yüklemesine / kaydetmesine izin vermek için orada olacak. Kullanıcı dahili SD karta erişemez (RPi bir kutuya gömülü). Bir resim ile anlaşılması daha kolay: www.samplerbox.org
Basj

1
Kullanıcıya veri için bir USB çubuğu verirseniz, kendinizi çok fazla sorundan kurtarabilirsiniz. İkinci bir SD kart arayüzü uygulamak çok zor olacaktır. USB bağlantı noktasını kutunuzun dışına getirmeniz yeterlidir.
joan

1
Ayrıca, her ikisi arasında bir takas olan bir SDCard - USB adaptörü de kullanabilirsiniz. Sadece google SDCard USB adapter.
user236012

4
Bir USB çubuğu kullanmanın daha kolay olabileceğini kabul etsem de, bir SD Kartı arayüzlemek zor olmamalı. Tüm SD desteği SPIve 3.3V'de çalışır (bu kartların çoğunda 5V'ye arayüz için seviye dönüştürücüler vardır). Arduino'da benzer bir adaptör kullandım ve Pi'yi deneyeceğim. Arduino için FAT yazılımı var. (NOT Standart çekirdek sürücüleri ile erişmeyi beklemiyorum.)
Milliways

Yanıtlar:


6

Bir SPI cihazı gibi görünüyor. İlk olarak raspi-config kullanarak SPI'yı etkinleştirmeniz gerekir. O zaman kablolamanız gerekir:

(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

2
Böyle bir teknikle 1 megabayt / sn'den daha iyi aktarım hızına nasıl sahip olacağınız hakkında bir fikriniz var mı? USB SD okuyucudan 10 MB / sn'ye izin verebilecek başka bir yol var mı?
Basj

yüksek hızlar bir SD kart verileri için birden fazla satırdan
ibarettir

6

Ahududu pi pinout

GND, 5V ve 3V3'ü pi üzerindeki uygun pimlere bağlamalısınız. Daha sonra MOSI ve MISO da resimde işaretlenmiştir, SCK SCLK'ye bağlanmalıdır (bu pi tarafından çalıştırılması gereken 10MHz saattir) ve son olarak CS pinini CS0'a (Chip-Select, bağlamak için 2 SD veya diğer SPI uyumlu cihazlar).

Bu konudaki ilk cevaba göre , 3.2.20'den daha büyük çekirdek sürümünü çalıştırıyorsanız, karttaki SPI donanımını desteklemeli ve etkileyici olan küçük CPU yükü ile size 1MB / s verimi vermelidir.

Çekirdeğiniz daha yüksek bir sürüme sahipse ancak SPI aygıt desteği olmadan derlenmişse, uygun bir yapılandırma ile yeniden derlemeniz gerekir (belirtilen konuya tekrar bakın).


2
Bu cevap için teşekkürler! Ancak 1 MB / s çok düşük (bir USB okuyucu ile karşılaştırıldığında) ve projem için 100MB'ı çok kısa sürede yüklemem gerekiyor (bu, USB SD kart okuyucudan mümkün olan RPi microSD okuyucudan mümkün, bu yüzden Ben bu PCB SD okuyucu aynı ihtiyacım var)
Basj

Bu SD okuyucu ve pi kombinasyonu ile daha hızlı bir oran görmeyeceksiniz. 1MB / s, pi'deki özel SPI arayüz donanımı kullanılarak elde edilir. Başka bir GPIO konektörü kullanıyorsanız, CPU ile birlikte uygulamanız ve 180KB / s civarında çok daha düşük oranlar elde etmeniz gerekir. Daha hızlı oranlara ihtiyacınız varsa, başkalarının önerdiği gibi bir USB okuyucu kullanın, hatırladığım gibi beni 4MB / s civarında buldum, ancak belki de diğerleri daha kesin sayılar verebilir.
Yigal

1
Arghh ... Çok üzücü bu okuyucu ile 1MB / saniyeden fazla alamıyoruz. Bu okuyucuyu bir USB SD okuyucusuna dönüştürmek mümkün mü (ilave bileşenlerle)?
Basj

1
SPI'yi (ve diğer protokolleri) USB'ye 20 $ karşılığında bir tane gibi işleyen bir modül alabilirsiniz: digikey.co.il/product-search/en?v=768&mpart=VA800A-SPI Ama bu şekilde gitmem. Spesifikasyonu okumadım, bu yüzden modülün kendisini Mass Storage sınıfı mı yoksa başka bir daha genel USB sınıfı olarak mı tanımladığını bilmiyorum, bu durumda kendi sürücünüzle sarmanız gerekir. Basit bir USB SD kart okuyucu almak ÇOK daha kolay olacaktır.
Yigal

1
Tabii, ama PCB'ye monte edilebilen bir USB SD kart okuyucusuna ihtiyacım var (sadece benim için değil, benim proje samplerbox.org açık kaynak olacak, bu yüzden herkesin bileşenleri kaynaklamasını kolay istiyorum)
Basj


1

Kart okuyucunun kendisi hakkında fazla bir şey bilmeden elimden gelenin en iyisini yapacağım.

Okuyucunun üzerinde GPIO pinlerinin yanında işaretler var gibi görünüyor. Bazı dişi-dişi jumper kabloları (veya uygulamanız için daha kalıcı bir yöntem) kullanarak RPI'daki ilgili pimlere bağlayın. Karşılık gelen bir pimleri yoksa, pi üzerindeki boş bir pime takın ve not edin.

Okuyucunun API'sının diğer pinler aracılığıyla dosya aktarımına izin vermek için bazı ekstra yapılandırmaya ihtiyacı olabilir, ancak bu kısımda size yardımcı olamam.

Umarım bu işe yarar!


Soruya iğne etiketlerini ve fotoğrafı ekledim. Bu pinlerden GPIO'ya veya USB'ye gitmek mümkün mü?
15'de Bask

1

İhtiyacınızla ilgili açıklamanıza ve proje sayfanızı ziyaret etmenize bağlı olarak, bir alternatif RPi önyüklemenizi bir USB çubuğundan çıkarmak ve dahili kart okuyucusunu kullanıcıdan kart kabul etmek olabilir.


Cevabınız için teşekkür ederim. Bir fikir olabilir, bunu düşünmemiz gerekir. MicroSD kartın takılması / çıkarılması günlük kullanım için çok küçük / zor olabilir. Projem için, bir dijital kameradan SD kart takmak / çıkarmak kadar kullanışlı olması gerekiyor. Bunu düşüneceğim ... PS: Cevabınızda bir RPi'ye "USB çubuğunu nasıl önyükleyebilirim" hakkında bir bağlantı ekleyebilir misiniz?
Basj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.