Как я могу подключить этот кард-ридер к RaspberryPi?

11

Мне нужно добавить второе устройство чтения SD-карт в мой Raspberry Pi для проекта www.samplerbox.org (RPI будет встроен в коробку, поэтому мне нужен пользователь -считыватель SD-карт).

Вот что я хотел бы использовать:

введите описание изображения здесь

Как подключить это к RaspberryPi? Через GPIO? (если да, то как?) через USB-порт? (если так, как подключить эти контакты к стандартному USB-разъему?)

ОБНОВЛЕНИЕ : Вот 2 * 8 контактов GND, 3V3, 5V, CS, MOSI, SCK, MISO, GND:

введите описание изображения здесь

Basj
источник
Планируете ли вы загрузиться с внешней SD-карты? Или это Pi для загрузки с внутренней SD-карты. Для чего будет использоваться внешняя SD-карта?
Джоан
@ joan Нет, я не планирую загружаться на нем, внешняя SD-карта будет там, чтобы позволить пользователю загружать / сохранять некоторые данные. Пользователь не получит доступ к внутренней SD-карте (RPi встроен в коробку). Проще понять с помощью картинки: www.samplerbox.org
Basj
1
Вы можете избавить себя от многих проблем, если просто дадите пользователю USB-накопитель для данных. Реализация интерфейса второй SD-карты будет очень сложной. Просто выньте USB-порт снаружи вашей коробки.
Джоан
1
Кроме того, вы можете использовать адаптер SDCard to USB, который является компромиссом между ними. Просто гуглите SDCard USB adapter.
user236012
4
Хотя я согласен, что использовать USB-накопитель может быть проще, интерфейс SD-карты не должен быть сложным. Все SD поддерживают SPIи работают на 3,3 В (многие из этих плат имеют преобразователи уровня для подключения к 5 В). Я использовал аналогичный адаптер на Arduino, и собираюсь попробовать на Pi. Есть программное обеспечение FAT для Arduino. (ПРИМЕЧАНИЕ. Я не ожидаю доступа к нему через стандартные драйверы ядра.)
Milliways,

Ответы:

6

Похоже, это устройство SPI. Сначала вам нужно включить SPI, используя raspi-config. Тогда вам нужно будет подключить:

(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
источник
2
Любая идея о том, как получить лучшую скорость передачи данных, чем 1 мегабайт / сек с такой техникой? Есть ли другой способ, кроме USB SD Reader, который может позволить 10 МБ / с?
Basj
высокая скорость - это больше, чем одна строка для данных SD-карты, кажется, у вас их здесь нет, и это не простая установка по интерфейсу SPI
Алексей Веснин
6

Малиновый пи распиновка

Вы должны подключить GND, 5V и 3V3 к соответствующим контактам на пи. Затем MOSI и MISO также отмечены на рисунке, SCK должен подключиться к SCLK (это тактовая частота 10 МГц, которая должна управляться пи) и, наконец, подключить вывод CS к CS0 (Chip-Select, так что вы можете подключить 2 SD или другие SPI-совместимые устройства).

Согласно первому ответу в этой теме , если вы работаете с версией ядра более 3.2.20, она должна поддерживать аппаратное обеспечение SPI на плате и обеспечивать пропускную способность 1 МБ / с при небольшой загрузке процессора, что впечатляет.

Если ваше ядро ​​имеет более высокую версию, но скомпилировано без поддержки устройства SPI, вам следует перекомпилировать его с соответствующей конфигурацией (см. Упомянутый поток снова).

Игаль
источник
2
Спасибо за этот ответ! Но 1 МБ / с - это слишком мало (по сравнению с USB-ридером), и для моего проекта мне нужно загрузить 100 МБ за очень короткое время (это возможно из RPi microSD-ридера, возможно из USB-кард-ридера, поэтому Мне нужно то же самое от этой PCB SD reader)
Basj
Вы не увидите более высокую скорость с этим устройством для чтения SD и комбинацией пи. 1 МБ / с достигается с использованием специализированного аппаратного интерфейса SPI на пи. Если вы используете какие-либо другие разъемы GPIO, вам придется использовать его с процессором, достигая гораздо более низких скоростей, около 180 КБ / с. Если вам нужны более быстрые скорости, используйте USB-ридер, как предлагали другие, что, как я помню, дало мне около 4 МБ / с, но, возможно, другие могут дать более точные цифры.
Игаль
1
Аааа ... Так жаль, что мы не можем получить более 1 МБ / с с этим читателем. Можно ли превратить этот ридер в считыватель USB SD (с дополнительными компонентами?)
Basj
1
Вы можете получить модуль, который обрабатывает SPI (и другие протоколы) на USB, как этот, примерно за 20 долларов: digikey.co.il/product-search/en?v=768&mpart=VA800A-SPI Но я бы не пошел по этому пути. Я не читал спецификацию, поэтому не знаю, идентифицирует ли модуль себя как класс Mass Storage или какой-то другой более общий класс USB, и в этом случае вам нужно будет обернуть его своим собственным драйвером. Гораздо проще получить простой USB-кардридер.
Игаль
1
Конечно, но мне нужен USB-кардридер, который можно установить на печатной плате (не только для меня, но и мой проект samplerbox.org будет с открытым исходным кодом, поэтому я хочу, чтобы компоненты
легко достались
2

Отличный учебник поста в блоге был размещен здесь:

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

Пожалуйста, просмотрите эту подробную публикацию для полного ответа на подключение вашего устройства чтения карт SD к Pi.

Здесь есть видео-компаньон You Tube:

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

Колбан
источник
Действительно классная статья. Я просто посмотрел быстро, есть что-то о скорости передачи @Kolban?
Basj
1

Не зная много о самом картридере, я дам лучший ответ, который смогу.

Читатель, кажется, имеет маркировку на нем рядом с выводами GPIO. Подключите их к соответствующим контактам на RPI, используя несколько соединительных кабелей типа «женщина-женщина» (или более постоянный метод для вашего приложения). Если у них нет соответствующего контакта, прикрепите их к свободному контакту на пи и запишите его.

API для читателя может потребоваться дополнительная настройка, чтобы разрешить передачу файлов через другие контакты, но я не могу помочь вам с этой частью.

Надеюсь, это должно работать!

angussidney
источник
Я добавил метки контактов и фото в вопросе. Можно ли перейти с этих выводов на GPIO или на USB?
Basj
1

Исходя из вашего описания ваших потребностей и посещения страницы вашего проекта, альтернативой может быть загрузка RPi с USB-накопителя и использование внутреннего устройства чтения карт для приема карт от пользователя.

Бруно Броноски
источник
Спасибо за ваш ответ. Это может быть идея, нам нужно подумать об этом. Установка / извлечение карты microSD может быть слишком маленькой / сложной для повседневного использования. Для моего проекта мне нужно, чтобы это было так же удобно, как вставка / извлечение SD-карты из цифровой камеры. Я подумаю об этом ... PS: не могли бы вы добавить ссылку о том, "как загрузиться с USB-флешки" на RPI в вашем ответе, для дальнейшего использования?
Basj