Autor: Dondu
Rys. Rodzaje kart SD źródło: Wikipedia.org |
Karty te posługują się standaryzowanymi protokołami komunikacji, przez co łatwo je wykorzystywać w połączeniu z mikrokontrolerami.
Wyróżniamy trzy wersje:
- SD ( podstawowa),
- mini SD,
- micro SD.
Różnią się one wielkością, kształtem oraz ilością pinów. Z punktu widzenia miniaturyzacji urządzeń opartych o mikrokontrolery często stosowane są micro SD.
Pojemności jakie oferują są bardzo przydatne dla projektów z mikrokontrolerami zapewniając magazyn na olbrzymią ilość danych.
Najważniejszą zaletą dla nas jest to, że są to pamięci nieulotne, czyli po zaniku zasilania, dane nie są tracone.
Dlaczego to dla nas takie ważne?
Wynika to z faktu, że mikrokontrolery nie posiadają tak dużych ilości pamięci nieulotnych (EEPROM lub FLASH), w których moglibyśmy przechowywać dane. Jest to właściwe podejście producentów, ponieważ daje swobodę w doborze peryferiów. Stąd karty SD są dobrą alternatywą.
System FAT
Następną bardzo ważną zaletą jest fakt, że dostępne są dla mikrokontrolerów gotowe biblioteki umożliwiające wykorzystanie kart SD zgodnie z systemem plików FAT, a to oznacza, że dane zapisane na karcie SD mogą być odczytywane i zapisywane przez mikrokontroler, komputer, aparat fotograficzny, telefon, GPS, ... tylko nasza inwencja jest tutaj ograniczeniem :-)
Z tego też powodu planując projekt z kartą SD, trzeba dobrze pomyśleć zanim wybierze się rozwiązanie i konkretny mikrokontroler.
Standard SD
Wszelkie informacje o standardzie kart SD znajdziesz na stronie: www.sdcard.org
Najważniejsze dokumenty to:
- SD-CARD-specification-part-A1.pdf
- SD-CARD-specification-part-A2.pdf
- SD-CARD-specification-part-E1.pdf
W części A1 znajdziesz wszelkie niezbędne informacje dot. parametrów kart.
Dla nas najważniejsze są:
Jak wykorzystać kartę SD w projekcie z mikrokontrolerem?
To nie jest trudnym zadaniem, ale trzeba poznać pewien zakres wiedzy zarówno od strony elektronicznej jak i wykorzystania bibliotek.
Wiedzę na ten temat znajdziesz w Drzaśkowym pamiętniku.
Biblioteki obsługi FAT w języku C:
Wiedzę na ten temat znajdziesz w Drzaśkowym pamiętniku.
Biblioteki obsługi FAT w języku C:
- FatFS - pełny dostęp do danych karcie SD,
- Petit FatFs - ograniczona funkcjonalność, rekompensowana relatywnie małą zajętością pamięci programu..
Dla PIC'ów można także korzystać z dostępnych bibliotek z pakietu: Microchip Libraries of Applications
Jak podłączyć do płytki PCB?
To akurat jest bardzo proste - wystarczy zakupić gniazda (ang. SD socket) odpowiednie dla wybranego rodzaju karty. Gniazda te mają oczywiście standardowe rozmieszczenie pinów, ale wielkości i kształty mogą się między sobą różnić (dla tego samego rodzaju karty).
Mogą także zawierać lub nie dodatkowe piny odpowiedzialne za wykrycie włożenia karty oraz manualnej blokady zapisu.
Przykładowe gniazda kart SD: Card Connectors - datasheet
Przykładowe gniazda kart SD: Card Connectors - datasheet
Gniazda mogą być proste, bez bajerów (ang. push-pull). wkładając wsuwamy kartę, wyciągając ciągniemy.
Mogą mieć wyrzutnik, czyli funkcję wyrzucającą kartę po jej ponownym lekkim wciśnięciu (tzw. push-push), z reguły są znacznie droższe.
Są także gniazda zawiasowe (ang. hinge) z odchylaną prowadnicą do zastosowania tam gdzie nie ma miejsca na wyciąganie karty poprzez jej wysunięcie.
Jak podłączyć do płytki stykowej?
Można we własnym zakresie adaptery wykorzystujące goldpiny.
Uniwersalny nie wymagający lutowania, przez co można wymieniać kartę: Cheap DIY SD card breadboard socket
Lutując na stałe bezpośrednio do karty SD lub adaptera kart mini i micro SD: Getto micro-sd socket
Lutując przewody z wtyczką do płytki: CONNECTING THE CARD
Lutowane gniazdo
Nie polecam tego rozwiązania, ponieważ nóżki gniazda są bardzo krótkie i łatwo ulegną uszkodzeniu w dłuższym czasie.
Gniazdo na PCB: Parallax SD Card adapter kit
W tym przypadku można także zastanowić się i od razu umieścić na PCB regulator napięcia 3,3V oraz dzielniki rezystancyjne lub bufor. Tylko od Ciebie zależy jak sobie go zaprojektujesz :-)
SD/MMC card fits in floppy edge-connector
To już bardzo spartańskie rozwiązanie, ale "Gdy się nie ma co się lubi, to się lubi co się ma".
Skoro jesteśmy już przy temacie podłączania do płytki stykowej, to możesz zobaczyć, jak w prosty sposób podłączyć do niej programator: Płytka stykowa
Lol,nawet nie wiedziałem że jest coś takiego jak mini sd :D
OdpowiedzUsuńMini SD wykorzystywane były np. w Nokii N73 ;)
Usuń