このSDカードリーダーをRaspberryPiに配線するにはどうすればよいですか?


11

プロジェクトwww.samplerbox.orgの Raspberry Piに2つ目のSDカードリーダーを追加する必要がありますRPiはボックスに埋め込まれるため、ユーザー -SDカードリーダーが必要です)。

これが私が使いたいものです:

ここに画像の説明を入力してください

これをRaspberryPiに配線する方法は?GPIO経由ですか?(もしそうなら、どうですか?)USBポート経由?(もしそうなら、これらのピンを標準のUSBプラグに配線する方法は?)

更新:2 * 8ピンはここにありますGND, 3V3, 5V, CS, MOSI, SCK, MISO, GND::

ここに画像の説明を入力してください


外付けSDカードから起動する予定はありますか?または、内蔵SDカードから起動するPiです。外部SDカードは何に使用されますか?
ジョーン

@joanいいえ、起動する予定はありません。外部SDカードがあり、ユーザーがデータをロード/保存できます。ユーザーは内部SDカード(ボックスに埋め込まれたRPI)にアクセスできません。写真でわかりやすく:www.samplerbox.org
Basj

1
ユーザーにデータ用のUSBスティックを与えるだけで、多くの問題を回避できます。2番目のSDカードインターフェイスの実装は非常に困難です。USBポートをボックスの外側に持っていきます。
ジョーン2015年

1
さらに、SDCard-USBアダプターを使用することもできます。これは、両方のトレードオフです。ただグーグルSDCard USB adapter
user236012 2015年

4
USBスティックを使用する方が簡単かもしれませんが、SDカードとのインターフェースは難しくありません。すべてのSD SPIは3.3Vでサポートされ、実行されます(これらのボードの多くは5Vにインターフェースするためのレベルコンバーターを備えています)。私はArduinoで同様のアダプターを使用しており、Piを試します。Arduino用のFATソフトウェアがあります。(注意:標準のカーネルドライバーを介してアクセスすることは想定していません。)
Milliways

回答:


6

SPIデバイスのようです。最初に、raspi-configを使用してSPIを有効にする必要があります。次に、配線する必要があります:

(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
そのような手法で1メガバイト/秒よりも優れた転送速度を得る方法について何か考えはありますか?10 MB /秒を許容できるUSB SDリーダー以外の方法はありますか?
Basj

SDカードデータの場合、高速は約1行以上で、ここにはありません
。SPI

6

ラズベリーパイのピン配列

GND、5V、3V3をパイの適切なピンに接続する必要があります。次に、画像にMOSIとMISOもマークされています。SCKはSCLK(これはpiによって駆動される10MHzクロックです)に接続し、最後にCSピンをCS0(チップセレクト、2 SDまたはその他のSPI準拠デバイス)。

このスレッドの最初の回答によると、3.2.20以降のカーネルバージョンを実行している場合、ボード上のSPIハードウェアをサポートし、CPU負荷がほとんどなく、1MB /秒のスループットを提供するはずです。これは印象的です。

カーネルのバージョンがより高いが、SPIデバイスのサポートなしでコンパイルされている場合は、適切な構成で再コンパイルする必要があります(前述のスレッドを再度参照してください)。


2
この回答をありがとう!しかし、1 MB /秒は低すぎ(USBリーダーと比較して)、私のプロジェクトでは、非常に短い時間で100 MBをロードする必要があります(これは、RPi microSDリーダーから可能であり、USB SDカードリーダーから可能です。私はこのPCB SDリーダーから同じものを必要とする)
Basj

このSDリーダーとpiの組み合わせでは、これより速いレートは表示されません。1MB / sは、pi上の特殊なSPIインターフェイスハードウェアを利用して実現されます。他のGPIOコネクタを使用する場合は、CPUで実装する必要があり、はるかに低いレート、約180KB / sを達成する必要があります。より速い速度が必要な場合は、他の人が提案したようにUSBリーダーを使用してください。私が覚えているように、4MB / s前後ですが、他の人がより正確な数値を提供できる場合があります。
Yigal 2015年

1
ああ...残念ながら、このリーダーでは1MB / sを超えることはできません。このリーダーをUSB SDリーダー(追加のコンポーネント付き)に変えることは可能ですか
Basj

1
:あなたはおよそ$ 20チエニルのようなUSBへのハンドルSPI(や他のプロトコル)というモジュールを得ることができますdigikey.co.il/product-search/en?v=768&mpart=VA800A-SPIしかし、私はそのように行かないだろう。仕様を読んでいないので、モジュールがそれ自体をマスストレージクラスとして識別するのか、それとも他のより一般的なUSBクラスとして識別するのかわかりません。この場合、独自のドライバーでラップする必要があります。シンプルなUSB SDカードリーダーを入手する方がはるかに簡単です。
Yigal 2015年

1
もちろん、PCBにマウントできるUSB SDカードリーダーが必要です(私だけでなく、私のプロジェクトsamplerbox.orgもオープンソースになるので、誰でも簡単にコンポーネントを入手できるようにしたい)
Basj

2

優れたブログ投稿チュートリアルがここに投稿されました:

http://blogsmayan.blogspot.com/p/interfacing-sd-card.html

SDカードリーダーをPiに接続するための完全な回答については、その詳細な投稿を確認してください。

ここに利用可能なYou Tubeビデオのコンパニオンがあります。

https://www.youtube.com/watch?v=ihqXzQgaIaw


確かにクールな記事。私はすぐに見ただけですが、@ Kolbanの転送速度について何かありますか?
Basj 2017

1

カードリーダー自体についてはあまり知らないので、できる限りベストな答えを出します。

リーダーには、GPIOピンの横にマークが付いているようです。メスとメスのジャンパーケーブルを使用して、RPIの対応するピンに接続します(または、アプリケーションでより永続的な方法を使用します)。それらに対応するピンがない場合は、それらをpiの空いているピンに接続してメモします。

リーダーのAPIでは、他のピンを介したファイル転送を可能にするために追加の構成が必要になる場合がありますが、この部分についてはお役に立てません。

うまくいけばこれはうまくいくはずです!


質問にピンのラベルと写真を追加しました。これらのピンからGPIOまたはUSBに移動することは可能ですか?
Basj

1

ニーズの説明とプロジェクトページへのアクセスに基づいて、別の方法として、RPiをUSBスティックから起動し、内部カードリーダーを使用してユーザーからのカードを受け付ける方法があります。


お返事ありがとうございます。それはアイデアかもしれません、私たちはそれについて考える必要があります。microSDカードの挿入/取り外しは、日常の使用には小さすぎる/難しい場合があります。私のプロジェクトでは、デジタルカメラからのSDカードの挿入/取り外しと同じくらい便利である必要があります。私はそれについて考えます... PS:RPiの「USBスティックを起動する方法」についてのリンクを回答に追加していただけますか?
Basj 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.