Comment puis-je connecter ce lecteur de carte SD à RaspberryPi?

11

Je dois ajouter un deuxième lecteur de carte SD à mon Raspberry Pi pour le projet www.samplerbox.org (le RPi sera intégré dans une boîte, j'ai donc besoin d'un lecteur de carte SD utilisateur ).

Voici ce que j'aimerais utiliser:

entrez la description de l'image ici

Comment câbler cela au RaspberryPi? Via GPIO? (si oui, comment?) Via le port USB? (si oui, comment câbler ces broches à une prise USB standard?)

MISE À JOUR : Voici les broches 2 * 8 GND, 3V3, 5V, CS, MOSI, SCK, MISO, GND::

entrez la description de l'image ici

Basj
la source
Envisagez-vous de démarrer à partir de la carte SD externe? Ou est le Pi pour démarrer à partir de la carte SD interne. À quoi servira la carte SD externe?
joan
@joan Non, je ne prévois pas de démarrer dessus, la carte SD externe sera là pour permettre à l'utilisateur de charger / enregistrer des données. L'utilisateur ne pourra pas accéder à la carte SD interne (RPi embarquée dans un boîtier). Plus facile à comprendre avec une photo: www.samplerbox.org
Basj
1
Vous pouvez vous épargner beaucoup de problèmes si vous donnez simplement à l'utilisateur une clé USB pour les données. La mise en œuvre d'une deuxième interface de carte SD sera très difficile. Apportez simplement un port USB à l'extérieur de votre boîte.
joan
1
Vous pouvez en outre utiliser un adaptateur SDCard vers USB, qui est un compromis entre les deux. Juste google SDCard USB adapter.
user236012
4
Bien que je convienne qu'il peut être plus facile d'utiliser une clé USB, il ne devrait pas être difficile d'interfacer une carte SD. Tous les SD prennent en charge SPIet fonctionnent sur 3,3V (beaucoup de ces cartes ont des convertisseurs de niveau pour s'interfacer à 5V). J'ai utilisé un adaptateur similaire sur Arduino et je vais essayer sur Pi. Il existe un logiciel FAT pour Arduino. (NOTE Je ne m'attends pas à y accéder via des pilotes de noyau standard.)
Milliways

Réponses:

6

Il semble que ce soit un appareil SPI. Vous devez d'abord avoir besoin d'activer SPI à l'aide de raspi-config. Ensuite, vous devrez câbler:

(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
la source
2
Une idée sur la façon d'avoir un meilleur taux de transfert que 1 mégaoctet / sec avec une telle technique? Existe-t-il un autre moyen que le lecteur SD USB qui peut autoriser 10 Mo / s?
Basj
les vitesses élevées sont d'environ plus d'une ligne pour les données d'une carte SD, il semble que vous ne les ayez pas ici, et ce n'est pas une configuration de câblage simple sur l'interface SPI
Alexey Vesnin
6

Brochage Pi framboise

Vous devez connecter GND, 5V et 3V3 aux broches appropriées sur le pi. Ensuite, MOSI et MISO sont également marqués dans l'image, SCK doit se connecter à SCLK (c'est l'horloge à 10 MHz qui doit être pilotée par le pi) et enfin connecter la broche CS à CS0 (Chip-Select, de sorte que vous pouvez connecter 2 SD ou d'autres appareils compatibles SPI).

Selon la première réponse sur ce fil , si vous exécutez une version du noyau supérieure à 3.2.20, elle devrait prendre en charge le matériel SPI sur la carte et devrait vous donner un débit de 1 Mo / s avec une faible charge CPU, ce qui est impressionnant.

Si votre noyau est d'une version supérieure mais est compilé sans le support de périphérique SPI, vous devez le recompiler avec une configuration appropriée (voir à nouveau le fil mentionné).

Yigal
la source
2
Merci pour cette réponse! Mais 1 Mo / s est beaucoup trop faible (par rapport à un lecteur USB), et pour mon projet, je dois charger 100 Mo en très peu de temps (cela est possible à partir du lecteur microSD RPi, possible à partir d'un lecteur de carte SD USB, donc J'ai besoin de la même chose de ce lecteur de PCB SD)
Basj
Vous ne verrez pas un taux plus rapide avec ce lecteur SD et la combinaison pi. 1 Mo / s est atteint en utilisant le matériel d'interface SPI spécialisé sur le pi. Si vous utilisez d'autres connecteurs GPIO, vous devrez l'implémenter avec le processeur, ce qui permettra d'atteindre des taux bien inférieurs, environ 180 Ko / s. Si vous avez besoin de taux plus rapides, utilisez un lecteur USB comme d'autres l'ont suggéré, ce qui, si je me souviens bien, m'a donné environ 4 Mo / s, mais peut-être que d'autres peuvent donner des chiffres plus précis.
Yigal
1
Arghh ... Si triste, nous ne pouvons pas obtenir plus de 1 Mo / s avec ce lecteur. Est-il possible de transformer ce lecteur en lecteur SD USB (avec des composants supplémentaires?)
Basj
1
Vous pouvez obtenir un module qui gère SPI (et d'autres protocoles) sur USB comme celui-ci pour environ 20 $: digikey.co.il/product-search/en?v=768&mpart=VA800A-SPI Mais je n'irais pas dans ce sens. Je n'ai pas lu la spécification, donc je ne sais pas si le module s'identifie comme classe de stockage de masse, ou une autre classe USB plus générique, auquel cas vous devrez l'encapsuler avec votre propre pilote. Ce sera BEAUCOUP plus facile d'obtenir un simple lecteur de carte SD USB.
Yigal
1
Bien sûr, mais j'ai besoin d'un lecteur de carte SD USB qui peut être monté sur PCB (non seulement pour moi, mais mon projet samplerbox.org sera opensource, donc je veux que ce soit facile pour quiconque de se
procurer
1

Sans en savoir beaucoup sur le lecteur de carte lui-même, je donnerai la meilleure réponse possible.

Le lecteur semble avoir des marques à côté des broches GPIO. Connectez-les aux broches correspondantes du RPI à l'aide de câbles de pontage femelle-femelle (ou une méthode plus permanente pour votre application). S'ils n'ont pas de broche correspondante, fixez-les à une broche libre sur le pi et prenez-en note.

L'API pour le lecteur peut nécessiter une configuration supplémentaire pour permettre le transfert de fichiers via les autres broches, mais je ne peux pas vous aider avec cette partie.

J'espère que cela devrait fonctionner!

angussidney
la source
J'ai ajouté les étiquettes d'épingles et la photo dans la question. Est-il possible de passer de ces broches à GPIO ou à USB?
Basj
1

En fonction de votre description de vos besoins et de la visite de la page de votre projet, une alternative serait de faire démarrer votre RPi sur une clé USB et d'utiliser le lecteur de carte interne pour accepter les cartes de l'utilisateur.

Bruno Bronosky
la source
Merci pour votre réponse. Cela pourrait être une idée, nous devons y réfléchir. L'insertion / le retrait de la carte microSD peut être trop petit / difficile pour une utilisation quotidienne. Pour mon projet, j'ai besoin que ce soit aussi pratique que d'insérer / retirer une carte SD d'un appareil photo numérique. J'y penserai ... PS: pourriez-vous ajouter un lien sur "comment démarrer une clé USB" sur un RPi dans votre réponse, pour référence future?
Basj