Obsługa kart pamięci Flash, część 1


K U R S
Obsługa kart pamięci Flash
za pomocą mikrokontrolerów,
część 1 Karty pamiÍci Flash znajdujÄ… coraz szersze zastosowanie
w elektronice ułytkowej. Cyfrowe aparaty fotograficzne,
Wraz ze wzrostem zapotrzebo-
odtwarzacze MP3, organizery czy palmtopy to urzÄ…dzenia,
wania na tanie i pojemne nośniki
w ktÛrych zastosowanie kart pamiÍci staÅ‚o siÍ wrÍcz
danych niezawierajÄ…cych elementÛw
ruchomych, kilka firm specjalizujÄ…-
niezbÍdne. SpowodowaÅ‚o to znaczny spadek ich cen, a szybki
cych siÍ w elektronice uÅ‚ytkowej
rozwÛj przemysÅ‚u elektronicznego umoÅ‚liwiÅ‚ wzrost pojemnoÅ›ci
rozpoczÍÅ‚o produkcjÍ kart pamiÍcio-
wych opartych na technologii pa- kart do ponad 1 GB!
miÍci FLASH. PowstaÅ‚o kilka od-
Coraz czÍÅ›ciej ulegamy wiÍc pokusie zastosowania kart pamiÍci
miennych rodzajÛw kart, rÛÅ‚niÄ…cych
we własnych projektach. W artykule chciałbym przybliłyĘ
siÍ konstrukcjÄ… mechanicznÄ…, inter-
fejsem i sposobem komunikacji. Na
Czytelnikom budowÍ, sposÛb podÅ‚Ä…czenia oraz wymagane
rynku pojawiÅ‚y siÍ karty: Compact
protokoÅ‚y komunikacji dwÛch najbardziej popularnych
Flash, Multimedia Card, Smart Me-
dia, Secure Digital, Memory Stick
i jednoczeÅ›nie dobrze udokumentowanych typÛw kart pamiÍci:
i kilka innych mniej znanych ro-
Compact Flash (CF) oraz Multimedia Card (MMC).
dzajÛw.
Tab. 1. Opis styków kart CF
KaÅ‚da karta pamiÍci skÅ‚ada siÍ
Numer Typ Nazwa sygnału Nazwa sygnału Nazwa sygnału
z pamiÍci, najczÍÅ›ciej typu NAND
styku w trybie w trybie w trybie
Flash oraz specjalizowanego kontro-
PC Card Memory PC Card I/O True IDE
lera zarzÄ…dzajÄ…cego niÄ… i bÍdÄ…cego
1 P GND GND GND
jednocześnie interfejsem wejściowo-
2... 6 I/O D03...D07 D03...D07 D03...D07
wyjściowym karty (rys. 1).
7 I -CE1 -CE1 -CS0
W zalełności od rodzaju karty,
8 I A10 A10 A10 *GND
interfejs moÅ‚e byĘ typu rÛwnolegÅ‚e-
9 I -OE -OE -ATA SEL go lub szeregowego. Karty typu
10 - 12 I A09...A07 A09...A07 A09...A07 *GND Compact Flash sÄ… kartami z inter-
fejsem rÛwnolegÅ‚ym, mogÄ…cym ko-
13 P VCC VCC VCC
munikowaĘ siÍ z mikrokontrolerem
14 - 17 I A06...A03 A06...A03 A06...A03 *GND
za pomocÄ… 8- lub 16-bitowej magis-
18- 20 I A02...A00 A02...A00 A02...A00
trali danych oraz kilku linii adre-
21 - 23 I/O D00...D02 D00...D02 D00...D02
sowych i sterujÄ…cych. Karty typu
24 O WP -IOS16 -IOS16
25 O -CD1 -CD1 -CD1
26 O -CD2 -CD2 -CD2
27 - 31 I/O D11...D15 D11...D15 D11...D15
32 I -CE2 -CE2 -CS1
33 O -VS1 -VS1 -VS1
34 I -IORD -IORD -IORD
35 I -IOWR -IOWR -IOWR
36 I -WE -WE -WE *VCC
37 O RDY/-BSY -IREQ INTRQ
Rys. 1. Schemat blokowy kart
38 P VCC VCC VCC
pamięci FLASH
39 I -CSEL -CSEL -CSEL
40 O -VS2 -VS2 -VS2
41 I RESET RESET -RESET
42 O -WAIT -WAIT IORDY
43 O -INPACK -INPACK -INPACK
44 I -REG -REG -REG *VCC
45 I/O BVD2 -SPKR -DASP
46 I/O BVD1 -STSCHG -PDIAG
47 - 49 I/O D08...D10 D08...D10 D08...D10
50 P GND GND GND
Fot. 2. WyglÄ…d karty
Legenda: I - wejScie; O - wyjScie; I/O - linia dwukierunkowa (wejScie-wyjScie); P - zasilanie;
*GND - w tym trybie podłączyć do GND; *VCC - w tym trybie podłączyć do VCC Compact Flash
Elektronika Praktyczna 2/2004
85
K U R S
Rys. 3. Schemat przejściówki z karty CF na złącze IDE
Rys. 4. Podłączenie karty CF do mikrokontrolera AVR
Elektronika Praktyczna 2/2004
86
K U R S
Rys. 5. Podłączenie karty CF wraz z dodatkową pamięcią RAM do mikrokontrolera AVR
MMC sÄ… wyposaÅ‚one w interfejs nych. KolejnÄ… zaletÄ… tych kart jest bÛw czÍśĘ sygnaÅ‚Ûw wystÍpujÄ…cych
szeregowy, w ktÛrym zastosowano wbudowany ukÅ‚ad korekcji bÅ‚ÍdÛw na zÅ‚Ä…czu karty ma odmienne fun-
do komunikacji zaledwie 3 linie. Ze oraz wykrywania i omijania ewentu- kcje. W tab. 1 opisano nazwy syg-
wzglÍdu na znaczne rÛÅ‚nice pomiÍ- alnych defektÛw pamiÍci. Ze wzglÍ- naÅ‚Ûw wyprowadzanych na poszcze-
dzy oboma rodzajami kart opiszÍ je du na 16-bitowy, rÛwnolegÅ‚y inter- gÛlne styki zÅ‚Ä…cza CF we wszyst-
oddzielnie. fejs, karty te osiÄ…gajÄ… transfer da- kich trzech trybach pracy, a w tab.
nych o szybkoÅ›ci do 16 MB/s. Øy- 2 funkcje poszczegÛlnych sygnaÅ‚Ûw.
Karty Compact Flash wotnośĘ kart CF okreÅ›la siÍ na po- W trybach Memory oraz I/O, do-
Compact Flash jest najstarszym ziomie 1 miliona zapisÛw lub 1 mi- stÍp do karty moÅ‚e byĘ realizowa-
typem karty. Po raz pierwszy zo- liona godzin pracy, a czas przecho- ny w trybie 8-bitowym - przy
staÅ‚a ona zaprezentowana w 1994 wywania danych - na poziomie 100 wspÛÅ‚pracy z 8-bitowymi mikropro-
roku przez firmÍ SanDisk. Od tego lat. Sama karta ma wymiary cesorami lub w celu przyspieszenia
czasu karty te zyskały dułą popu- 42,8x36,4x3,3 mm i wały około 11 komunikacji z mikroprocesorami 16-
larnośĘ ze wzglÍdu na najwiÍksze gramÛw. bitowymi, karta moÅ‚e pracowaĘ wy-
osiągane pojemności, najlepszy sto- korzystując pełną, 16-bitową magis-
sunek pojemnoÅ›ci do ceny oraz Interfejs tralÍ danych. W celu wykorzystania
mołliwośĘ prawie bezpośredniego Interfejs kart CF jest elektrycz- 16-bitowego trybu wejścia -CE1 i -
podłączenia do komputera PC - nie zgodny z interfejsem PCMCIA, CE2 łączymy razem i wykorzystuje-
szczegÛlnie typu notebook. Potrzeb- powszechnie stosowanym w przenoÅ›- my jako pojedynczy sygnaÅ‚ Chip
na jest jedynie pasywna przejÅ›ciÛw- nych komputerach typu notebook. Select. W trybie True IDE komuni-
ka z 50-stykowego zÅ‚Ä…cza karty na Jest to dwurzÍdowe, 50-stykowe zÅ‚Ä…- kacja odbywa siÍ wyÅ‚Ä…cznie za po-
68-stykowe złącze PCMCIA. cze szpilkowe z rastrem 1,27 mm, mocą interfejsu 16-bitowego.
Karty CF majÄ… obecnie najwiÍk- podobne do 68-stykowego zÅ‚Ä…cza
sze pojemnoÅ›ci - do 1 GB, chociaÅ‚ PCMCIA. W zaleÅ‚noÅ›ci od potrzeb, WybÛr trybu pracy
sÄ… juÅ‚ dostÍpne pierwsze karty karty CF mogÄ… pracowaĘ w jednym BezpoÅ›rednio po zaÅ‚Ä…czeniu zasi-
o pojemnoÅ›ci 4 GB (fot. 2). Karty te z trzech trybÛw komunikacji: PC lania karta moÅ‚e siÍ uruchomiĘ
mogÄ… byĘ zasilane zarÛwno napiÍ- Card w trybie Memory, PC Card w jednym z dwÛch trybÛw. JeÅ›li
ciem 3,3 V, jak i 5 V, co czyni je w trybie I/O oraz True IDE - w tym czasie na wejÅ›ciu -OE bÍ-
idealnymi do zastosowania w bar- zgodnym ze standardowymi dyska- dzie wystÍpowaÅ‚ poziom wysoki, to
dzo wielu urządzeniach przenoś- mi twardymi IDE. W kałdym z try- karta zostanie skonfigurowana do
Elektronika Praktyczna 2/2004
87
K U R S
pracy w trybie PC Card Memory.
Tab. 2. Funkcje poszczególnych sygnałów występujących na złączu karty CF
Aby zmieniĘ tryb na I/O, naleły
Nazwa sygnału Tryb Opis
dokonaĘ odpowiedniego wpisu do
A10...A00 MEM , I/O W trybach PC Card linie adresowe wykorzystywane wraz z sygnałem
rejestru Configuration Option Regis-
-REG do adresowania wewnętrznych rejestrów kontrolera
ter pod adresem 0 w obszarze rejes-
A02...A00 IDE W trybie True IDE wykorzystuje siÄ™ tylko linie A02...A00 do adreso-
trÛw konfiguracyjnych (dostÍp przy
wania jednego z oSmiu rejestrów IDE, a pozostałe linie adresowe
niskim poziomie sygnału -REG).
powinny być połączone z GND
Aby wymusiĘ pracÍ w trybie
BVD1 MEM Nieużywany w tym trybie
True IDE, naleły załączyĘ zasilanie
-STSCHG I/O Zmienia stan na niski w celu poinformowania o zmianie statusu
karty przy niskim poziomie na wej-
(RDY/-BSY, WP)
Å›ciu -OE (ktÛre w tym trybie ma
nazwÍ -ATA SEL). W tym przypad- PDIAG IDE WejScie/WyjScie sygnaÅ‚u informujÄ…cego o poprawnej diagnostyce
dla współpracy 2 urządzeń IDE
ku nie ma dostÍpu do rejestrÛw
konfiguracyjnych karty, a kontroler BVD2 MEM Nieużywany w tym trybie
karty zachowuje siÍ jak standardo- -SPKR I/O Cyfrowe wyjScie dxwiÄ™ku, jeżeli karta posiada takÄ… funkcjÄ™
wy dysk twardy IDE. Ten tryb pra-
-DASP IDE WejScie/WyjScie sygnału informującego o aktywnoSci karty lub obec-
cy wykorzystuje siÍ jedynie w przy-
noSci urządzenia Slave dla współpracy 2 urządzeń IDE
padku podłączenia karty CF do ma-
-CD1, -CD2 MEM, I/O, IDE Detekcja włożenia karty. Styki podłączone wewnątrz karty z GND.
gistrali IDE komputera PC. W tym
Te styki złącza CF są krótsze niż pozostałe
celu niezbÍdna jest odpowiednia
-CE1, -CE2 MEM, I/O Oba sygnały pełnią rolę sygnałów wyboru karty (Chip Select) oraz
przejÅ›ciÛwka, ktÛrej schemat poka-
do wyboru trybu 8- lub 16-bitowego dostępu do karty. -CE2 zawsze
zano na rys. 3.
wybiera starsze 8 bitów słowa. -CE1 wybiera młodszy lub starszy
bajt słowa w zależnoSci od stanu sygnałów A0 i -CE2. Odpowiednia
Podłączenie karty CF do
kombinacja sygnałów A0, -CE1 i -CE2 umożliwia dostęp do 16-bito-
mikrokontrolera wych danych jedynie poprzez 8 linii danych (D00...D07)
PodÅ‚Ä…czajÄ…c kartÍ CF do mikro-
-CS0, -CS1 IDE Linia -CS1 jest używana do wyboru dostępu do Alternatywnego
kontrolera jednoukładowego, najdo-
Rejestru Statusu oraz Rejestru Kontrolnego, linia -CS0 do wyboru
godniej jest wybraĘ tryb PC Card pozostałych rejestrów IDE
Memory. Jeśli ma to byĘ 8-bitowy
-CSEL MEM, I/O Nieużywany w tych trybach
mikrokontroler, to naleły uływaĘ 8-
IDE Wybór trybu IDE Master/Slave. Podłączenie tej linii do masy powodu-
bitowego trybu dostÍpu. W wiÍk-
je skonfigurowanie karty jako dysku Slave. Aby karta zgłaszała się
szoÅ›ci przypadkÛw nie ma potrzeby
jako dysk Master, linia ta powinna pozostać niepodłączona
dokonywania jakichkolwiek zmian
D15 - D00 MEM, I/O, IDE 16 dwukierunkowych linii danych służących do zapisu/odczytu
w obszarze rejestrÛw konfiguracyj-
danych oraz rejestrów konfiguracyjnych. W przypadku wykorzystania
nych karty, co znacznie upraszcza
8-bitowego dostępu, używane są linie D00...D07. Tryb IDE zawsze
ukÅ‚ad i ogranicza liczbÍ pinÛw nie-
wykorzystuje 16-bitowy tryb dostępu
zbÍdnych do komunikacji mikrokon-
-INPACK I/O Sygnał wystawiany przez kartę w momencie potwierdzenia przyjęcia
trolera z kartą. Jeśli ułyty mikro-
danych przez kartę. Może być wykorzystany przez system do stero-
kontroler ma wbudowany interfejs
wania buforów magistrali danych
do obsÅ‚ugi zewnÍtrznej pamiÍci
MEM, IDE Nieużywany w tych trybach
RAM, to mołemy go wykorzystaĘ,
-IORD MEM Nieużywany w tym trybie
co znacznie upraszcza i przyśpiesza
I/O, IDE Sygnał zezwolenia na odczyt z karty
działanie procedur komunikacyjnych.
-IOWR MEM Nieużywany w tym trybie
Oczywiście w przypadku braku ta-
I/O, IDE Sygnał zezwolenia na zapis do karty. Dane są zatrzaskiwane na
kiego interfejsu nic nie stoi na
narastajÄ…cym zboczu
przeszkodzie, aby do komunikacji
-OE MEM Sygnał zezwolenia na odczyt z karty w trybie Memory
uÅ‚yĘ standardowych linii portÛw
wejścia-wyjścia, a odpowiednie kom-
I/O W tym trybie sygnał ten jest używany do odczytu rejestru CIS oraz
binacje sygnaÅ‚Ûw sterujÄ…cych gene-
rejestru konfiguracji
rowaĘ programowo.
Na rys. 4 i rys. 5 pokazano -ATA SEL IDE Aby karta CF pracowała w trybie True IDE, linia ta musi zostać
połączona z GND
przykładowe sposoby podłączenia
RDY/-BSY MEM Sygnał gotowoSci karty do przyjęcia nowych danych. Stan niski
karty CF, skonfigurowanej do pracy
oznacza zajętoSć karty. W trakcie resetu karty sygnał ten utrzymywa-
w trybie PC Card Memory, do mik-
ny jest w stanie niskim aż do zakończenia wewnętrznego zerowania
rokontrolera Atmega161 firmy At-
mel. Mikrokontroler ma wbudowany -IREQ I/O WyjScie żądania przerwania do mikrokontrolera. Aktywne w stanie
niskim lub przy opadajÄ…cym zboczu
interfejs do zewnÍtrznej pamiÍci
RAM, a wiÍc zostaÅ‚ on uÅ‚yty. Do INTRQ IDE WyjScie żądania przerwania dla interfejsu IDE. Aktywne w stanie wy-
peÅ‚nej obsÅ‚ugi rejestrÛw karty odpo- sokim
wiadających za adresowanie, zapis -REG MEM Sygnał wyboru dostępu do rejestrów konfiguracyjnych karty lub
i odczyt caÅ‚ego dostÍpnego obszaru do rejestrów komunikacji (ATA). Niski dla dostÄ™pu do rejestrów
pamiÍci Flash na karcie wystarczy konfiguracyjnych
ułycie tylko jej 4 linii adresowych
I/O Musi być w stanie niskim w czasie wystawiania adresu na magistralę
(adresy od A00 do A03). Pozostałe
IDE Nieużywany w tym trybie. Powinien być podłączony do VCC
linie adresowe Å‚Ä…czymy po prostu
RESET MEM, I/O Sygnał zerujący kontroler karty CF. Aktywny w stanie wysokim
z masÄ….
-RESET IDE Sygnał zerujący kontroler karty CF. Aktywny w stanie niskim
Elektronika Praktyczna 2/2004
88
K U R S
na do linii -CE1 karty CF i pozwala
Tab. 2 - cd.
na dostÍp do niej w 8-bitowym try-
Nazwa sygnału Tryb Opis
bie. W tym przypadku rejestry karty
-VS1, -VS2 MEM, I/O, IDE Sygnał -VS1 jest podłączony wewnątrz karty CF do GND w celu
sÄ… ulokowane w obszarze pamiÍci ze-
poinformowania interfejsu PCMCIA o możliwoSci pracy przy napięciu
wnÍtrznej o adresach poniÅ‚ej 0x8000.
3,3 V. -VS2 jest zarezerwowany przez PCMCIA dla drugiego zasilania
W ukÅ‚adzie z rys. 5, oprÛcz kar-
-WAIT MEM, I/O Sygnał generowany przez kartę w celu przedłużenia cyklu dostępu do
ty CF, do mikrokontrolera podłączo-
IORDY karty. Aktywny w stanie niskim
no dodatkowÄ… pamiÍĘ RAM o po-
IDE Może być wykorzystany do sygnalizacji gotowoSci interfejsu ATA
jemności 32 kB, ulokowaną w ob-
-WE MEM Sygnał zezwolenia na zapis rejestrów karty w trybie Memory.
szarze poniłej 0x8000. Adresy kar-
Używany także do zapisu rejestrów konfiguracyjnych
ty CF muszÄ… siÍ wiÍc znajdowaĘ
I/O Używany do zapisu rejestrów konfiguracyjnych karty
powyłej tego obszaru. W tym celu
IDE Nieużywany w tym trybie. Powinien być podłączony do VCC linia A15 mikrokontrolera doprowa-
dzona jest do inwertera i po zane-
WP MEM Karty CF nie posiadają przełącznika blokady zapisu, którą udostępnia
gowaniu jej sygnału powoduje wy-
specyfikacja PCMCIA, więc po zakończeniu sekwencji inicjalizacji
wyjScie to przyjmuje stan niski bieranie karty CF za pomocÄ… syg-
nału -CE1. W tym przypadku jest
-IOS16 I/O, IDE Przyjmuje stan niski, kiedy wykorzystywany jest 16-bitowy tryb
niezbÍdny zatrzask adresowy, wiÍc
dostępu do danych
linie A00...A03 karty mogą byĘ pod-
GND Masa zasilania i sygnałów I/O
Å‚Ä…czone do linii adresowych A0...A3
VCC Zasilanie karty CF (+5 lub +3,3 V)
i karta CF zajmuje obszar pamiÍci
o adresach od 0x8000 do 0x800F.
W ukÅ‚adzie z rys. 4 nie przewi- trolera. Dlatego teÅ‚ zbÍdny jest za- JeÅ›li mamy juÅ‚ odpowiednio
dziano podÅ‚Ä…czenia dodatkowej, ze- trzask adresowy na liniach podÅ‚Ä…czonÄ… kartÍ CF, musimy napi-
wnÍtrznej pamiÍci statycznej RAM, AD0...AD7 mikrokontrolera, a linie saĘ odpowiednie oprogramowanie
wiÍc moÅ‚e on byĘ maksymalnie A00...A03 karty CF sÄ… poÅ‚Ä…czone z li- umoÅ‚liwiajÄ…ce zapis i odczyt zawar-
uproszczony, a karta CF moÅ‚e byĘ niami A8...A11 mikrokontrolera. Kar- toÅ›ci karty. Ale o tym napiszÍ
umieszczona w dowolnym obszarze ta jest wybierana niskim poziomem w drugiej czÍÅ›ci kursu.
zewnÍtrznej pamiÍci RAM mikrokon- na linii A15, ktÛra jest doprowadzo- Romuald BiaÅ‚y
Elektronika Praktyczna 2/2004
89


Wyszukiwarka

Podobne podstrony:
Obsługa kart pamięci Flash, część 2
Obsługa kart pamięci Flash, część 7
Obsługa kart pamięci Flash, część 4
Obsługa kart pamięci Flash, część 3
Obsługa kart pamięci Flash, część 6
Obsługa kart pamięci Flash, część 5
Obsługa kart pamięciowych SD, cz 2
PAMIECI FLASH
Digital Image Recovery do odzyskiwania danych z kart pamięci fotograficznych
Odczytanie identyfikatorów VID i PID pendrive i pamięci flash
Odczytanie identyfikatorów VID i PID pendrive i pamięci flash
utk2 pamieci flash
Mikrokontrolery STM32 Obsługa kart SD i FatFs
Programowanie pamięci FLASH ROM Jak uruchomić programator FLASH
Instalacja Windows XP z USB, pendrive a lub karty pamięci flash
Programowanie pamięci Flash mikrokontrolerów STM32 – Flash Loader

więcej podobnych podstron