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:
kaczor1000
Inne pliki z tego folderu:
Peczarski M. - Mikrokontrolery STM 32 w sieci Ethernet w przykładach.pdf
(12152 KB)
The Insaider's Guide To The STM32.pdf
(6627 KB)
STM32Butterfly.pdf
(2632 KB)
Reference manual.pdf
(8589 KB)
Alternatywna metoda programowania pamięci Flash mikrokontrolerów STM32(1).pdf
(2108 KB)
Inne foldery tego chomika:
8051
Arduino
Bascom
CNC
DipTrace
Zgłoś jeśli
naruszono regulamin