Zewnętrzne pamięci statyczne i mikrokontrolery STM32.pdf
(
1596 KB
)
Pobierz
106-109_stm32.indd
Zewnętrzne
pamięci statyczne
i mikrokontrolery STM32
Dodatkowe
materiały na CD
Miesiąc temu przedstawiliśmy
w EP nowe mikrokontrolery
z rodziny STM32, które
charakteryzują się m.in. lepszym
wyposażeniem w peryferia niż
miało to miejsce w przypadku
starszych układów z tej rodziny.
Szczególnie interesującym,
nowym interfejsem, w jaki
wyposażono mikrokontrolery
montowane w obudowach
o dużej liczbie wyprowadzeń
(100 lub 144), jest moduł
FSMC (Flexible Static Memory
Controller), umożliwiający
wygodną obsługę zewnętrznych
wielu typów pamięci Flash
i SRAM.
Nietrudny do zaobserwowania
trend szybkiego obniżania cen pa-
mięci znajduje tylko częściowe od-
bicie w mikrokontrolerach: są one
– co prawda – wyposażane w pa-
mięci SRAM i Flash o coraz więk-
szych pojemnościach (coraz łatwiej
o tani mikrokontroler z 256 lub
512 kB pamięci Flash), ale 1 czy
2 MB takiej pamięci wewnątrz mi-
krokontrolera to nadal rzadki luk-
sus. Z kolei różnego rodzaju karty
pamięciowe osiągają ceny „nie-
przyzwoicie” niskie, co zachęca
konstruktorów do podejmowania
prób stosowania ich we własnych
aplikacjach. Przy odpowiednio sil-
nym zaangażowaniu programisty,
praktycznie każdy rodzaj karty
Flash można obsłużyć korzystając
z odpowiednich procedur progra-
mowych i uniwersalnych linii I/O.
Nie jest to jednak rozwiązanie
wygodne, ani ekonomicznie uza-
sadnione, o czym przekonali się
konstruktorzy próbujący tą drogą
rozwiązać problem dostępu do ze-
wnętrznych pamięci Flash. Firma
STMicroelectronics najwyraźniej
dostrzegła problem, dzięki czemu
niektóre mikrokontrolery z rodziny
STM32 (posiadające nowoczesny
rdzeń Cortex M3) wyposażono
w wyspecjalizowany, konfigurowal-
ny interfejs ułatwiający dostęp do
pamięci SRAM i wielu rodzajów
pamięci Flash i kart z takimi pa-
mięciami „na pokładzie”.
FSMC znaczy wygodnie
Schemat blokowy interfej-
su FSMC (
Flexible Static Memory
Controller
) pokazano na
rys. 1
.
Umożliwia on dostęp mikrokon-
trolera do pamięci z magistralami
106
ELEKTRONIKA PRAKTYCZNA 9/2008
Rys. 1.
daje przestrzeń adresową 64 MB
na pojedynczej stronie), do dyspo-
zycji użytkownika pozostaje także
5 niezależnych od siebie sygna-
łów selekcji aktywnego zespołu
pamięci, obsługę pamięci ułatwiają
sygnały synchronizujące operacje
odczyt i zapis, a także sygnał go-
towości pamięci do pracy – szcze-
gólnie przydatny w szybkich syste-
mach cyfrowych. Interfejs FSMC
jest przystosowany do odczytu
typu
burst
(dłuższe paczki danych
od określonego adresu, przydat-
ne w przypadku pamięci PSRAM
i Flash NOR) i zapewnia „prze-
źroczystą” konwersję 32–bitowych
operacji na magistrali AHB (która
służy jako wewnętrzna magistra-
la komunikacyjna dla FSMC) na
transfery magistralą 8– lub 16–
bitową. Należy pamiętać, że nie
wszystkie rodzaje pamięci mogą
być obsługiwane w trybie AHB
8–, 16– i 32–bitowym, co produ-
cent uwzględnił w dokumentacji
mikrokontrolerów (skrót przedsta-
wiamy w
tab. 1
).
Interfejs FSMC jest konfiguro-
walny, co pozwala nie tylko przy-
pisać określony typ pamięci do
danego obszaru adresowego, ale
także włączać i wyłączać monito-
rowanie sygnału gotowości pamię-
równoległymi następujących ty-
pów: SRAM, PSRAM, Cellular-
RAM, COSMORAM, a także z kla-
sycznymi pamięciami ROM, NOR
Flash (z magistralami multiplekso-
wanymi i rozdzielonymi), NAND
Flash i OneNAND. Za jego pomo-
cą można także obsługiwać karty
PC Card, cardFlash i CardFlash+
wszystkie wyposażone w pamięci
Flash. Magistrala danych obsługi-
wana przez FSMC może mieć sze-
rokość 8 lub 16 bitów, magistrala
adresowa składa się z 26 linii (co
Tab. 1. Dopuszczalne tryby pracy dla pamięci obsługiwanych przez FSMC
Typ pamięci Tryb pracy pamięci
Kierunek
wymiany
danych
Szerokość
magistrali
danych AHB
Szerokość ma-
gistrali danych
pamięci
Możliwy?
Asynchroniczny
R 8
16 +
Asynchroniczny
W 8
16 –
Asynchroniczny
R 16
16 +
Asynchroniczny
W 16
16 +
Flash NOR
Asynchroniczny
R 32
16 +
Asynchroniczny
W 32
16 +
Asynchroniczny (stronami) R –
16 –
Synchroniczny
R 8
16 –
Synchroniczny
R 16
16 +
Synchroniczny
R 32
16 +
Asynchroniczny
R 8
16 +
Asynchroniczny
W 8
16 +
Asynchroniczny
R 16
16 +
Asynchroniczny
W 16
16 +
PSRAM
Asynchroniczny
R 32
16 +
Asynchroniczny
W 32
16 +
Asynchroniczny (stronami) R –
16 –
Synchroniczny
R 8
16 –
Synchroniczny
R 16
16 +
Synchroniczny
R 32
16 +
SRAM, ROM
Asynchroniczny
R 8, 16, 32 8, 16, 32 +
Asynchroniczny
W 8, 16, 32 8, 16, 32 +
Rys. 2.
ELEKTRONIKA PRAKTYCZNA 9/2008
107
Rys. 3.
ci BUSY (i reakcję mikrokontro-
lera na jego zgłoszenie), włączać
i wyłączać sprzętowy kontroler in-
tegralności danych (ECC) przecho-
wywanych w pamięci oraz defi-
niować wielkość bloku pamięci do
obliczania sumy kontrolnej przez
moduł ECC (od 256 do 8192 B).
Użytkownik może także samodziel-
nie definiować parametry czasowe
wymiany danych, poprzez zmianę
częstotliwości taktującej interfejs
oraz ustalanie liczby stanów ocze-
kiwania CPU w trzech krytycz-
nych czasowo miejscach przebie-
gów.
Zastosowane przez producenta
opcjonalne mechanizmy synchroni-
zujące wymianę danych (poprzez
monitorowanie stanu sygnału go-
towości pamięci) pozwalają wyko-
rzystać maksymalną częstotliwość
taktowania mikrokontrolera (syg-
nał HCLK, taktujący także DMA,
rdzeń mikrokontrolera i magistralę
AHB), która w przypadku mikro-
kontrolerów z serii
Performance
(STM32F103) może wynosić aż
72 MHz.
Prędkość wymiany danych po-
między CPU i pamięcią zewnętrz-
ną zwiększa jednokierunkowa (dla
zapisu) pamięć FIFO o pojemności
16 słów 32–bitowych, której zada-
niem jest minimalizowanie obcią-
żenia jednostki centralnej podczas
zapisu do zewnętrznej
pamięci.
Dostęp do zewnętrz-
nych pamięci za pomocą
FSMC jest bankowany,
jak pokazano na
rys. 2
.
Selekcję stron w każdym
banku umożliwiają dwa
bity jednego z rejestrów
konfiguracyjnych FSMC.
Na
rys. 3
pokazano
schemat elektryczny (zaczerpnięty
z dokumentacji zestawu urucho-
mieniowego opracowanego przez
firmę STMicroelectronics) ilustru-
jący sposób dołączenia do mikro-
kontrolerów STM32 trzech rodza-
jów pamięci zewnętrznych: SRAM
(U1), Flash NOR (U2) i Flash
NAND (U3).
Obsługa zewnętrznych pamięci
za pomocą interfejsu FSMC wy-
maga na początku od programi-
sty nieco uwagi, ale jest znacznie
prostsza, niż w przypadku obsługi
„ręcznej”. Zadanie początkującym
znacznie uprościł producent mi-
krokontrolerów, bowiem procedura
108
ELEKTRONIKA PRAKTYCZNA 9/2008
Tab. 2. Mikrokontrolery STM32 wyposażone w interfejs FSMC
Typ
Flash
[kB]
SRAM
[kB]
GPIO Obudowa Seria
STM32F101V8 64
10
80 BGA/LQFP100
STM32F101VB 128 16 80 BGA/LQFP100
STM32F101VC 256 32 80 BGA/LQFP100
STM32F101VD 384 48 80 BGA/LQFP100
STM32F101VE 512 48 80 BGA/LQFP100
STM32F101ZC 256 32 112 BGA/LQFP144
STM32F101ZD 384 48 112 BGA/LQFP144
STM32F101ZE 512 48 112 BGA/LQFP144
STM32F103V8 64
Access Line
20
80 BGA/LQFP100
STM32F103VB 128 20 80 BGA/LQFP100
STM32F103VC 256 48 80 BGA/LQFP100
STM32F103VD 384 64 80 BGA/LQFP100
STM32F103VE 512 64 80 BGA/LQFP100
STM32F103ZC 256 48 112 BGA/LQFP144
STM32F103ZD 384 64 112 BGA/LQFP144
STM32F103ZE 512 64 112 BGA/LQFP144
Performance
Line
Rys. 4.
inicjująca pracę interfejsu i ob-
sługę kilku typów pamięci jest
dostępna na stronie internetowej
firmy (
um0488.zip
), publikujemy
ją także (wraz z kompletną doku-
mentacją) na CD–EP9/2008C.
growano z nim rozwiązania sprzę-
towe umożliwiające zautomatyzo-
waną obsługę kart, ich inicjaliza-
cję itd.
Podsumowanie
Wyposażenie peryferyjne mi-
krokontrolerów STM32 jest – jak
łatwo zauważyć – bardzo bogate.
Producent stara się maksymalnie
pomóc konstruktorom, także po-
czątkującym, którzy mogą ułatwić
sobie pisanie programu nie tyl-
ko dzięki zastosowanym zaawan-
sowanym rozwiązaniom sprzęto-
wym oraz przejrzystej dokumenta-
cji, lecz także dobrze napisanym
i udokumentowanym przykładom.
Dobrze to wróży nowym mi-
krokontrolerom, których kariera –
na co wskazuje wiele znaków na
rynku – pomimo wielu sukcesów,
dopiero się zaczyna.
Andrzej Gawryluk, EP
Można także inaczej
W przypadku, gdy w aplikacji
wystarczy zastosowanie pamięci
nieulotnej ulokowanej na karcie
MMC lub SD, można wykorzy-
stać interfejs SDIO, w który wy-
posażono mikrokontrolery
Perfor-
mance Line
o pojemności pamięci
programu 256, 384 lub 512 kB
(niezależnie od obudowy). Jest on
dołączony do wewnętrznej magi-
strali AHB i umożliwia szeregowy
transfer danych z częstotliwością
taktowania do 48 MHz (MultiMe-
diaCard V4.0/4.2,), przy czym nie
jest obsługiwany tryb SPI wymia-
ny danych z kartą.
Schemat blokowy interfejsu
SDIO pokazano na
rys. 4
. Zinte-
ELEKTRONIKA PRAKTYCZNA 9/2008
109
Plik z chomika:
spraycanart
Inne pliki z tego folderu:
Mikrokontrolery STM32 - Obsługa kart SD i FatFs.pdf
(767 KB)
Implementacja klasy HID interfejsu USB w STM32.pdf
(253 KB)
Gadający STM32 - Zastosowanie kodeka Speex.pdf
(928 KB)
Debugger-programator dla STM32 i STM8.pdf
(1406 KB)
Atollic TrueSTUDIO - Sposób na mikrokontrolery STM32.pdf
(1555 KB)
Inne foldery tego chomika:
- - - - ▉ SUPER HITY FILMY NOWOSCI 2020
- - - - ▉ NAJNOWSZE FILMY 2020 - PREMIERY CHOMIKUJ ---
- - - - ▉ NAJNOWSZE FILMY 2020 - PREMIERY CHOMIKUJ ---(1)
- - ▉ CHOMIKUJ FILMY 2019 - FILMY NOWE
- - ▉ NOWOSCI FILMOWE 2019
Zgłoś jeśli
naruszono regulamin