Làm cách nào tôi có thể kết nối đầu đọc thẻ SD này với RaspberryPi?


11

Tôi cần thêm đầu đọc thẻ SD thứ hai vào Raspberry Pi cho dự án www.samplerbox.org (RPi sẽ được nhúng trong hộp, vì vậy tôi cần đầu đọc thẻ -SD người dùng ).

Đây là những gì tôi muốn sử dụng:

nhập mô tả hình ảnh ở đây

Làm thế nào để nối dây này với RaspberryPi? Qua GPIO? (nếu vậy, làm thế nào?) Qua cổng USB? (nếu vậy, làm thế nào để nối các chân này với phích cắm USB tiêu chuẩn?)

CẬP NHẬT : Dưới đây là các chân 2 * 8 GND, 3V3, 5V, CS, MOSI, SCK, MISO, GND::

nhập mô tả hình ảnh ở đây


Bạn có kế hoạch khởi động từ thẻ SD bên ngoài không? Hoặc là Pi để khởi động từ thẻ SD bên trong. Thẻ SD bên ngoài sẽ được sử dụng để làm gì?
joan

@joan Không Tôi không có kế hoạch khởi động trên nó, thẻ SD bên ngoài sẽ ở đó để cho phép người dùng tải / lưu một số dữ liệu. Người dùng sẽ không truy cập vào thẻ SD nội bộ (RPi được nhúng trong hộp). Dễ hiểu hơn với hình ảnh:
www.samplerbox.org

1
Bạn có thể tự cứu mình rất nhiều rắc rối nếu bạn chỉ cung cấp cho người dùng một thẻ nhớ USB để lấy dữ liệu. Việc thực hiện giao diện thẻ SD thứ hai sẽ rất khó khăn. Chỉ cần mang một cổng USB ra bên ngoài hộp của bạn.
joan

1
Ngoài ra, bạn có thể sử dụng bộ chuyển đổi SDCard sang USB, đây là sự đánh đổi giữa cả hai. Chỉ cần google SDCard USB adapter.
dùng236012

4
Mặc dù tôi đồng ý rằng việc sử dụng thẻ USB có thể dễ dàng hơn, nhưng không khó để giao tiếp với thẻ SD. Tất cả SD đều hỗ trợ SPIvà chạy trên 3.3V (nhiều bo mạch này có bộ chuyển đổi cấp độ để giao diện thành 5V). Tôi đã sử dụng một bộ chuyển đổi tương tự trên Arduino, và tôi sẽ thử Pi. Có phần mềm FAT cho Arduino. (LƯU Ý Tôi không mong đợi truy cập nó thông qua trình điều khiển hạt nhân tiêu chuẩn.)
Milliways 13/03/2015

Câu trả lời:


6

Có vẻ như nó là một thiết bị SPI. Trước tiên bạn cần kích hoạt SPI bằng raspi-config. Sau đó, bạn sẽ cần phải dây:

(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ất kỳ ý tưởng về làm thế nào để có tốc độ truyền tốt hơn 1 megabyte / giây với kỹ thuật như vậy? Có cách nào khác ngoài đầu đọc USB SD có thể cho phép 10 MB / giây không?
Basj

tốc độ cao là khoảng hơn một dòng cho dữ liệu thẻ SD, có vẻ như bạn không có chúng ở đây và đó không phải là thiết lập nối dây đơn giản qua giao diện SPI
Alexey Vesnin

6

Raspberry pi pinout

Bạn nên kết nối GND, 5V và 3V3 với các chân thích hợp trên pi. Sau đó MOSI và MISO cũng được đánh dấu trong hình, SCK nên kết nối với SCLK (đây là đồng hồ 10 MHz nên được điều khiển bởi pi) và cuối cùng kết nối chân CS với CS0 (Chọn chip, để bạn có thể kết nối 2 SD hoặc các thiết bị tuân thủ SPI khác).

Theo câu trả lời đầu tiên về chủ đề này , nếu bạn đang chạy phiên bản kernel lớn hơn 3.2.20 thì nó sẽ hỗ trợ phần cứng SPI trên bo mạch và sẽ cung cấp cho bạn thông lượng 1MB / s với tải CPU ít, rất ấn tượng.

Nếu kernel của bạn là phiên bản cao hơn nhưng được biên dịch mà không có hỗ trợ thiết bị SPI, bạn nên biên dịch lại nó với một cấu hình phù hợp (xem lại chủ đề đã đề cập).


2
Cảm ơn câu trả lời này! Nhưng 1 MB / s là quá thấp (so với đầu đọc USB) và đối với dự án của tôi, tôi cần tải 100 MB trong một thời gian rất ngắn (điều này có thể từ đầu đọc thẻ nhớ RPi, có thể từ đầu đọc thẻ SD USB, vì vậy Tôi cần điều tương tự từ đầu đọc PCB SD này)
Basj 30/03/2015

Bạn sẽ không thấy tốc độ nhanh hơn với đầu đọc SD này và tổ hợp pi. 1MB / s đạt được bằng cách sử dụng phần cứng giao diện SPI chuyên dụng trên pi. Nếu bạn sử dụng bất kỳ trình kết nối GPIO nào khác, bạn sẽ phải triển khai nó với CPU, đạt tốc độ thấp hơn nhiều, khoảng 180KB / giây. Nếu bạn cần tốc độ nhanh hơn, hãy sử dụng đầu đọc USB như những người khác đề xuất, như tôi nhớ đã cho tôi khoảng 4MB / s nhưng có lẽ những người khác có thể đưa ra con số chính xác hơn.
Yigal

1
Arghh ... Thật buồn khi chúng tôi không thể nhận được nhiều hơn 1MB / s với trình đọc này. Có thể biến đầu đọc này thành đầu đọc USB SD (với các thành phần bổ sung không?)
Basj 30/03/2015

1
Bạn có thể nhận một mô-đun xử lý SPI (và các giao thức khác) sang USB như thế này với giá khoảng 20 đô la: digikey.co.il/product-search/en?v=768&mpart=VA800A-SPI Nhưng tôi sẽ không đi theo hướng đó. Tôi đã không đọc thông số kỹ thuật vì vậy tôi không biết liệu mô-đun tự nhận mình là lớp Mass Storage hay một số loại USB chung chung khác trong trường hợp bạn sẽ cần bọc nó bằng trình điều khiển của riêng bạn. Sẽ dễ dàng hơn để có được một đầu đọc thẻ USB SD đơn giản.
Yigal

1
Chắc chắn, nhưng tôi cần một đầu đọc thẻ SD USB có thể được gắn trên PCB (không chỉ đối với tôi, mà samplerbox.org dự án của tôi sẽ là nguồn mở, vì vậy tôi muốn mọi người dễ dàng tìm nguồn linh kiện)
Basj

2

Một bài viết hướng dẫn bài viết tuyệt vời đã được đăng ở đây:

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

Vui lòng xem lại bài đăng chi tiết đó để có câu trả lời đầy đủ để kết nối đầu đọc thẻ SD của bạn với Pi.

Có một video You Tube đồng hành có sẵn ở đây:

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


Thật tuyệt bài viết. Tôi chỉ nhìn nhanh thôi, có điều gì về tỷ lệ chuyển khoản @Kolban không?
Basj

1

Không biết nhiều về đầu đọc thẻ, tôi sẽ đưa ra câu trả lời tốt nhất có thể.

Người đọc dường như có các dấu hiệu trên nó bên cạnh các chân GPIO. Kết nối chúng với các chân tương ứng trên RPI bằng một số cáp nhảy nữ-nữ (hoặc một phương pháp lâu dài hơn cho ứng dụng của bạn). Nếu chúng không có ghim tương ứng, hãy gắn chúng vào ghim miễn phí trên pi và ghi chú lại.

API cho trình đọc có thể cần một số cấu hình bổ sung để cho phép truyền tệp qua các chân khác, nhưng tôi không thể giúp bạn với phần này.

Hy vọng điều này sẽ làm việc!


Tôi đã thêm các nhãn chân và hình ảnh trong câu hỏi. Có thể đi từ các chân này đến GPIO hoặc USB?
Basj

1

Dựa trên mô tả về nhu cầu của bạn và truy cập trang dự án của bạn, một giải pháp thay thế sẽ là làm cho RPi của bạn khởi động một thanh USB và sử dụng đầu đọc thẻ nội bộ để chấp nhận thẻ từ người dùng.


Cảm ơn về câu trả lời của bạn. Nó có thể là một ý tưởng, chúng ta cần phải suy nghĩ về nó. Lắp / tháo thẻ nhớ microSD có thể quá nhỏ / khó sử dụng hàng ngày. Đối với dự án của tôi, tôi cần nó phải tiện dụng như lắp / tháo thẻ SD khỏi máy ảnh kỹ thuật số. Tôi sẽ suy nghĩ về nó ... PS: bạn có thể thêm một liên kết về "cách khởi động một thanh USB" trên RPi trong câu trả lời của bạn, để tham khảo trong tương lai không?
Basj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.