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ęść 2Obsługa kart pamięci Flash, część 7Obsługa kart pamięci Flash, część 4Obsługa kart pamięci Flash, część 3Obsługa kart pamięci Flash, część 6Obsługa kart pamięci Flash, część 5Obsługa kart pamięciowych SD, cz 2PAMIECI FLASHDigital Image Recovery do odzyskiwania danych z kart pamięci fotograficznychOdczytanie identyfikatorów VID i PID pendrive i pamięci flashOdczytanie identyfikatorów VID i PID pendrive i pamięci flashutk2 pamieci flashMikrokontrolery STM32 Obsługa kart SD i FatFsProgramowanie pamięci FLASH ROM Jak uruchomić programator FLASHInstalacja Windows XP z USB, pendrive a lub karty pamięci flashProgramowanie pamięci Flash mikrokontrolerów STM32 – Flash Loaderwięcej podobnych podstron