poniedziałek, 4 kwietnia 2011

Karta SD


Autor: Dondu

Rys. Rodzaje kart SD
źródło: Wikipedia.org
Wszyscy znamy różnego rodzaju karty do aparatów fotograficznych, kamer, telefonów, itp. Są to pamięci wykonane w technologi FLASH, a ich niska cena spowodowała, że są bardzo popularne - a może odwrotnie :-) .

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ą.


Pinologia (wyprowadzenia) karty SD.

Pinologia (wyprowadzenia) karty mini SD.   Pinologia (wyprowadzenia) karty mikro SD.



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 :-)

Wadą takiego rozwiązania, jest niestety wymóg posiadania sporej ilości pamięci programu mikrokontrolera, która jest tracona na zapisanie funkcji obsługi kartę SD. W zależności od wersji i zakresu możliwości, które chcemy, by mikrokontroler mógł wykonywać na karcie SD, objętość ta liczona jest w kB lub nawet dziesiątkach kB.

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:


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:
  • FatFS - pełny dostęp do danych karcie SD,
  • Petit FatFs - ograniczona funkcjonalność, rekompensowana relatywnie małą zajętością pamięci programu..
Biblioteki te są uniwersalne dla mikrokontrolerów wielu producentów AVR, 8051, PIC, ARM, Z80, 68000, itd . Praktycznie każdy, który da się zaprogramować za pomocą języka C.

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

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.

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 :-)


Wykorzystanie złącza stacji dyskietek:
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

2 komentarze:

  1. Lol,nawet nie wiedziałem że jest coś takiego jak mini sd :D

    OdpowiedzUsuń